/*----------------------------------
下層ページ共通
----------------------------------*/

.page-mainvisual {
  padding: 210px 0 120px;
}

.page-mainvisual__title {
  position: relative;
  padding-bottom: 10px;
  font-size: 4.2rem;
  line-height: 1.8;
  text-align: center;
}

.page-mainvisual__title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 80px;
  height: 1px;
  transform: translateX(-50%);
  background-color: #027B60;
  content: "";
}

.flex {
  display: flex;
}

.flex.center {
  align-items: center;
}

.breadcrumb {
  padding: 0 50px;
}

.breadcrumb__items {
  display: flex;
  flex-wrap: wrap;
}

.breadcrumb__items>span {
  color: #027B60;
  font-size: 1.4rem;
  line-height: 1.5;
}

.breadcrumb__items>span a {
  color: #333;
}

.breadcrumb__items>span:not(:first-child) {
  position: relative;
  margin-left: 37px;
}

.breadcrumb__items>span:not(:first-child)::before {
  position: absolute;
  top: 11px;
  left: -27px;
  width: 15px;
  height: 1px;
  background-color: #333;
  content: "";
}

.breadcrumb__items>span:not(:last-child) {
  white-space: nowrap;
}

.intro {
  padding: 140px 0;
  text-align: center;
}

.intro .inner {
  display: flex;
  flex-direction: column;
}

.intro__sub-title+.intro__title .ttl {
  margin-top: -20px;
  padding-top: 40px;
}

.intro__sub-title .sub-ttl {
  display: inline-block;
  padding: 5px 10px 5px 25px;
  background-color: #017B52;
  color: #fff;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5;
}

.intro__title .ttl {
  display: inline-block;
  padding: 25px 40px;
  border-radius: 5px;
  box-shadow: 2px 4px 45px rgba(0, 0, 0, 0.08);
  color: #017B52;
  font-weight: 500;
  font-size: 3.2rem;
}

.intro__title .border {
  display: inline-block;
  padding: 0 4px;
  border: 1px solid;
  border-radius: 2px;
}

.pagination {
  display: flex;
  justify-content: center;
  margin-top: 100px;
}

.pagination * {
  display: inline-block;
  margin-right: 24px;
}

.pagination *:last-child {
  margin-right: 0;
}

.pagination *:last-child .page-numbers {
  border: none;
}

.pagination-link {
  display: inline-block;
}

.pagination-link:last-child {
  margin-right: 0;
}

.pagination-link:last-child .page-numbers {
  border: none;
}

.page-numbers {
  color: #333;
  font-size: 18px;
  font-family: "Lora", serif;
  letter-spacing: 0;
}

.page-numbers.prev,
.page-numbers.next {
  color: #027B60;
  font-family: "Noto Serif JP", serif;
}

.page-numbers.prev {
  margin-right: 48px;
}

.page-numbers.next {
  margin-left: 24px;
}

.page-numbers.next::after {
  content: none;
}

.page-numbers.next .page-numbers {
  width: 36px;
  color: #027B60;
  font-family: "Noto Serif JP", serif;
}

.page-numbers.current {
  color: #027B60;
}

.page-404 {
  padding-top: 160px;
}

.page-404 .button {
  margin-top: 50px;
  text-align: center;
}

.page-404__title {
  font-weight: 700;
  font-size: 4.6rem;
  text-align: center;
}

.page-404__wrap {
  margin-top: 50px;
}

.page-404__text {
  text-align: center;
}

.page-404__text+.page-404__text {
  margin-top: 24px;
}

/*----------------------------------
ムラタについてページ
----------------------------------*/

.about01 .flex {
  padding-left: 60px;
}

.about01__img {
  flex: 0 0 33.333%;
}

.about01__content {
  margin-left: 100px;
}

.about01__title {
  color: #027B60;
  font-size: 3.6rem;
  line-height: 1.6;
}

.about01__text {
  margin-top: 50px;
}

.about02 .flex {
  padding-right: 62px;
}

.about02__title {
  color: #027B60;
  font-size: 2.4rem;
  line-height: 1.6;
}

.about02__text {
  margin-top: 50px;
}

.about02__img {
  flex: 0 0 36.345%;
  margin-left: 140px;
}

.about02__lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 140px;
}

.about02__list {
  position: relative;
  padding: 60px;
  background-color: #fff;
  box-shadow: 4px 4px 25px rgba(66, 77, 75, 0.08);
}

.about02__list:nth-child(-n+2) {
  width: calc(50% - 25px);
}

.about02__list:nth-child(n+3) {
  width: 100%;
  margin-top: 80px;
}

.about02__list>.number {
  z-index: 1;
  position: absolute;
  top: -16px;
  left: 5px;
  color: #fff;
  font-size: 2.8rem;
  line-height: 1.6;
  font-family: "Lora", serif;
}

.about02__list>.number::before {
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 70px;
  height: 70px;
  transform: translate(-50%, -50%);
  background: url(../img/bg_number.svg) no-repeat center left/contain;
  content: "";
}

.about02__list .list__title {
  display: flex;
  align-items: center;
  color: #027B60;
  font-size: 2.4rem;
  line-height: 1.6;
}

.about02__list .list__title::after {
  display: inline-block;
  width: 60px;
  height: 1px;
  margin: 3px 0 0 10px;
  background-color: #75A69B;
  content: "";
}

.about02__list .list__text {
  margin-top: 30px;
}

.about02__list>ul {
  margin-top: 30px;
}

.about02__list>ul>li .ttl {
  position: relative;
  padding-left: 24px;
  font-size: 1.8rem;
}

.about02__list>ul>li .ttl.fz16 {
  font-size: 1.6rem;
}

.about02__list>ul>li .ttl.fz16::before {
  top: 9px;
}

.about02__list>ul>li .ttl::before {
  position: absolute;
  top: 11px;
  left: 0;
  width: 17px;
  height: 17px;
  background: url(../img/list_square.svg) no-repeat center left/contain;
  content: "";
}

.about02__list>ul>li.underline {
  padding-bottom: 20px;
  border-bottom: 1px dashed #CFCFCF;
}

.about02__list>ul>li.underline+li {
  margin-top: 20px;
}

.about02__list>ul>li.underline .txt {
  margin: 10px 0 0 40px;
}

.about02__list>ul>li.underline .label__lists {
  display: flex;
  flex-wrap: wrap;
  margin: 10px 0 0 40px;
  gap: 10px;
}

.about02__list>ul>li.underline .label__list {
  display: flex;
  align-items: center;
  padding: 2px 10px;
  background-color: #EBF2F1;
}

.about02__list>ul>li.underline .label__list .number {
  display: flex;
  align-items: center;
  color: #027B60;
}

.about02__list>ul>li.underline .label__list .number::after {
  display: inline-block;
  width: 12px;
  height: 1px;
  margin: 2px 5px 0 5px;
  background-color: #027B60;
  content: "";
}

.about02-box {
  margin-top: 100px;
  padding: 10px;
  background-color: #EBF2F1;
}

.about02-box .president {
  margin-top: 30px;
}

.about02-box .position {
  font-size: 1.4rem;
}

.about02-box .name {
  color: #027B60;
  font-size: 2rem;
}

.about02-box__inner {
  padding: 40px;
  border: 1px solid #75A69B;
  text-align: center;
}

.about03__img {
  flex: 0 0 41.666%;
}

.about03__content {
  margin-left: 80px;
}

.about03__content .president {
  margin-top: 20px;
  text-align: right;
}

.about03__content .position {
  font-size: 1.4rem;
}

.about03__content .name {
  color: #027B60;
  font-size: 2rem;
}

.about03__text {
  margin-top: 50px;
}

.about03,
.about04 {
  background: url(../img/bg-zentai.png) repeat top center/cover;
}

.about04::before {
  z-index: 0 !important;
}

.about04 .content {
  position: relative;
}

.about04__text {
  text-align: center;
}

.staff__lists {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-top: 50px;
  gap: 50px 30px;
}

.staff__list {
  position: relative;
}

.staff__list::after {
  position: absolute;
  right: 0;
  bottom: 3px;
  width: 36px;
  height: 26px;
  background: url(../img/staff_button.png) no-repeat center left/contain;
  content: "";
}

.staff__list:hover {
  cursor: pointer;
}

.staff__list:hover img {
  transform: scale(1.1);
}

.staff__list .position {
  display: flex;
  align-items: center;
  min-height: 44px;
  margin-top: 10px;
  font-size: 1.4rem;
  line-height: 1.6;
}

.staff__list .name {
  margin-top: 5px;
  padding-right: 40px;
}

#staffModalPosition {
  white-space: pre-line;
}

.staff__img {
  aspect-ratio: 247/255;
  overflow: hidden;
}

.staff__img img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.5s ease 0s, opacity 0.9s cubic-bezier(0.5, 0, 0, 1) 0s;
}

/* モーダル */

.staff-modal {
  visibility: hidden;
  z-index: 9999;
  position: fixed;
  inset: 0;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.staff-modal.is-open {
  visibility: visible;
  opacity: 1;
}

.staff-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
}

.staff-modal__content {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(100% - 40px, 1080px);
  padding: 10px;
  transform: translate(-50%, -50%);
  background: #fff;
}

.staff-modal__inner {
  display: flex;
  position: relative;
  padding: 40px 80px 44px;
  gap: 60px;
  border: 1px solid #75A69B;
}

.staff-modal__close {
  position: absolute;
  top: 0;
  right: -1px;
  cursor: pointer;
}

.staff-modal__left {
  flex: 0 0 27.444%;
}

.staff-modal__img img {
  display: block;
  width: 100%;
  height: auto;
}

.staff-modal__position {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}

.staff-modal__name {
  margin-top: 5px;
  text-align: center;
}

.staff-modal__right {
  flex: 1;
  min-width: 0;
}

body.is-fixed {
  overflow: hidden;
}

.about05 .buttons {
  display: flex;
  justify-content: center;
  margin-top: 80px;
  gap: 80px;
}

.about05 .button-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 380px;
  max-width: 100%;
  height: 79px;
  padding: 0 5px 0 0;
  font-size: 1.8rem;
}

.profile__content {
  width: 960px;
  max-width: 100%;
  margin: auto;
}

.table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.table tr {
  display: block;
  border-bottom: 1px solid #CFCFCF;
  background-color: #fff;
}

.table th,
.table td {
  padding: 20px;
  vertical-align: middle;
}

.table th {
  width: 200px;
  background-color: #F7F7F7;
  color: #027B60;
  text-align: left;
}

.table td ul li {
  position: relative;
  padding-left: 11px;
}

.table td ul li+li {
  margin-top: 5px;
}

.table td ul li::before {
  position: absolute;
  top: 14px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #75A69B;
  content: "";
}

.lists .list {
  position: relative;
  padding-left: 11px;
}

.lists .list+.list {
  margin-top: 5px;
}

.lists .list::before {
  position: absolute;
  top: 14px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #75A69B;
  content: "";
}

.google-map {
  margin-top: 50px;
}

.google-map iframe {
  width: 100%;
  max-width: 100%;
}

.about06 .flex {
  margin-top: 50px;
}

.about06__text {
  text-align: center;
}

.about06__img {
  flex: 0 0 46.666%;
}

.group__items {
  flex: 1;
  margin-left: 80px;
}

.group__item {
  padding-bottom: 30px;
  border-bottom: 1px dashed #CFCFCF;
}

.group__item+.group__item {
  margin-top: 30px;
}

.group__item .lists {
  padding: 10px 0 0 25px;
}

.group__title {
  padding: 2px 10px;
  background-color: #EBF2F1;
  font-size: 1.8rem;
}

.group-address {
  position: relative;
  margin-top: 20px;
  padding-left: 23px;
}

.group-address::before {
  position: absolute;
  top: 4px;
  left: 0;
  width: 18px;
  height: 25px;
  background: url(../img/icon_map.svg) no-repeat center left/contain;
  content: "";
}

.group-address a .d-iblock {
  color: #333;
  text-decoration: underline;
  text-decoration-color: #75A69B;
  text-underline-offset: 8px;
}

/*----------------------------------
お知らせページ
----------------------------------*/

.archive-news .news__item+.news__item {
  margin-top: 25px;
}

.news__wrap {
  display: flex;
  justify-content: space-between;
  padding-left: 60px;
}

.news__content {
  max-width: 750px;
  width: 100%;
}

.latest-articles {
  margin-top: 15px;
}

.latest-article {
  border-bottom: 1px dashed #CFCFCF;
}

.latest-article .info {
  padding: 10px 0;
  background-color: initial;
}

.latest-article .info::after {
  content: none;
}

.latest-article .info__meta {
  display: flex;
  align-items: center;
}

.latest-article .info__published {
  color: #7A7A7A;
  font-size: 1.4rem;
}

.latest-article .info__title {
  margin-top: 5px;
  font-size: 1.4rem;
}

.news-sidebar {
  flex: 0 0 250px;
  margin-left: 50px;
}

.sidebar__item+.sidebar__item {
  margin-top: 50px;
}

.sidebar__item.monthly-archive .sidebar__lists li {
  position: relative;
  padding-left: 13px;
  line-height: 2;
}

.sidebar__item.monthly-archive .sidebar__lists li::before {
  position: absolute;
  top: 13px;
  left: 0;
  width: 8px;
  height: 8px;
  margin: 0;
  border-radius: 0;
  background-color: #027B60;
  content: "";
}

.sidebar__item.monthly-archive .sidebar__lists li+li {
  margin-top: 10px;
}

.sidebar__item.monthly-archive .sidebar__lists li a {
  color: #333;
  font-size: 1.4rem;
}

.sidebar__title {
  padding-bottom: 10px;
  border-bottom: 1px solid #75A69B;
  font-size: 1.8rem;
  line-height: 1.6;
}

.sidebar__lists {
  margin-top: 15px;
}

.sidebar__list {
  display: flex;
  align-items: center;
  line-height: 1.5;
}

.sidebar__list+.sidebar__list {
  margin-top: 10px;
}

.sidebar__list:first-child::before {
  background-color: #017B52;
}

.sidebar__list:first-child a {
  color: #333;
  font-weight: 500;
}

.sidebar__list::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 3px 5px 0 0;
  border-radius: 50%;
  background-color: #333;
  content: "";
}

.sidebar__list a {
  color: #333;
}

.single-news {
  margin-top: 140px;
}

.single-news__title {
  margin: 9px 0 50px;
  padding: 5px 20px;
  background-color: #EBF2F1;
  font-size: 2.4rem;
}

.single-news__content {
  padding-bottom: 100px;
}

.single-news__content figure {
  margin: 20px 0 25px;
}

.single-news__content p {
  margin-top: 20px;
}

.single-news__content h2 {
  margin: 50px 0 16px;
  border-bottom: 2px solid #027B60;
  color: #027B60;
  font-size: 2rem;
}

.single-news__content h3 {
  margin: 40px 0 16px;
  color: #027B60;
  font-size: 1.8rem;
}

.single-news__content ul,
.single-news__content ol {
  margin: 24px 0;
  list-style: initial;
}

.single-news__content ol li {
  list-style-type: decimal;
}

.single-news__content li {
  list-style-type: initial;
}

.single-sidebar {
  flex: 0 0 250px;
  margin-left: 50px;
}

.single__footer {
  position: relative;
  height: 30px;
  padding-top: 10px;
  border-top: 1px solid #CFCFCF;
}

.single__footer-left a,
.single__footer-right a {
  position: relative;
  color: #333;
  font-size: 1.6rem;
}

.single__footer-left a::before,
.single__footer-right a::before {
  position: absolute;
  top: -2px;
  width: 25px;
  height: 30px;
  content: "";
}

.single__footer-left {
  position: absolute;
  top: 10px;
  left: 0;
}

.single__footer-left a {
  padding-left: 35px;
}

.single__footer-left a::before {
  left: 0;
  background: url(../img/arrow_news_prev.svg) no-repeat center left/contain;
}

.single__footer-center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.6rem;
}

.single__footer-center a {
  color: #027B60;
}

.single__footer-right {
  position: absolute;
  top: 10px;
  right: 0;
}

.single__footer-right a {
  padding-right: 35px;
}

.single__footer-right a::before {
  right: 0;
  background: url(../img/arrow_news_next.svg) no-repeat center left/contain;
}

/*----------------------------------
広告一覧ページ
----------------------------------*/

.ad-archive__wrap.movie .ad-archive__img img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ad-archive__wrap.graphic .ad-archive__img {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  background-color: #F7F7F7;
}

.ad-archive__wrap.graphic .ad-archive__img img {
  max-height: 170px;
}

.ad-archive__wrap+.ad-archive__wrap {
  margin-top: 280px;
}

.ad-archive__title {
  padding: 5px 20px;
  border-left: 2px solid #75A69B;
  background-color: #EBF2F1;
  font-size: 2.4rem;
}

.ad-archive__content {
  margin-top: 50px;
}

.ad-archive__content+.ad-archive__content {
  margin-top: 100px;
}

.ad-archive__sub-title {
  padding: 5px 0;
  border-bottom: 1px dashed #75A69B;
  font-size: 1.8rem;
}

.ad-archive__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 30px;
  gap: 50px 30px;
}

.ad-archive__item:nth-of-type(3n + 1) {
  margin-left: 0;
}

.ad-archive-link {
  display: block;
  width: 100%;
}

.ad-archive__img {
  height: 190px;
}

.ad-archive__ttl {
  margin-top: 10px;
  color: #333;
  text-align: center;
}

.ad-single__title {
  padding: 5px 20px;
  background-color: #EBF2F1;
  font-size: 2.4rem;
}

.ad-single__content {
  padding: 50px 0 100px;
}

.ad-single__content p {
  margin-top: 20px;
}

.ad-single-image {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 50px;
}

.ad-single__img {
  max-width: 300px;
}

.ad-youtube-movie {
  padding: 0 40px;
}

.ad-youtube-movie iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
}

/*----------------------------------
お客様の声ページ
----------------------------------*/

.voice-archive .voice__item+.voice__item {
  margin-top: 25px;
}

.voice-single__inner {
  padding: 60px;
  background-color: #fff;
}

.voice-single__title {
  margin: 10px 0 50px;
  padding: 5px 20px;
  background-color: #EBF2F1;
  font-size: 2.4rem;
}

.voice-single__img {
  box-shadow: 4px 4px 25px rgba(66, 77, 75, 0.08);
}

.voice-single__content {
  margin-top: 30px;
}

.voice-single__content p {
  background-image: linear-gradient(transparent calc(100% - 1px), #CFCFCF 1px);
  background-size: 100% 2.4em;
  background-repeat: repeat-y;
  line-height: 2.4;
}

.staff-comment {
  margin: 50px 0 100px;
  padding: 30px 60px;
  background-color: #EBF2F1;
}

.staff-comment__wrap {
  display: flex;
}

.staff-comment__img {
  flex: 0 0 70px;
}

.staff-comment__content {
  margin-left: 30px;
}

.staff-comment__title {
  display: flex;
  align-items: center;
  color: #027B60;
  font-size: 2rem;
}

.staff-comment__title::before,
.staff-comment__title::after {
  display: inline-block;
  width: 40px;
  height: 1px;
  margin-top: 2px;
  background-color: #027B60;
}

.staff-comment__title::before {
  content: none;
}

.staff-comment__title::after {
  margin-left: 10px;
  content: "";
}

.staff-comment__text {
  margin-top: 5px;
}

/*----------------------------------
式場のご案内ページ
----------------------------------*/

.lead {
  position: relative;
  padding-bottom: 70px;
  text-align: center;
}

.lead::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 60px;
  transform: translateX(-50%);
  background-color: #333;
  content: "";
}

.hall-archive__list {
  display: flex;
  padding: 0 60px 80px 0;
  border-bottom: 1px dashed #CFCFCF;
}

.hall-archive__list+.hall-archive__list {
  margin-top: 80px;
}

.hall-archive__list .hall-name {
  color: #333;
}

.hall-archive__list .button {
  margin-top: 20px;
}

.hall-archive__list .button-link {
  width: 100%;
}

.hall-archive__list .hall-name__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.hall-archive__list .hall-name__wrap .hall-name {
  margin-right: 20px;
  margin-bottom: 10px;
  text-align: left;
  white-space: nowrap;
}

.hall-archive-image {
  flex: 0 0 46.8422%;
}

.hall-archive__img {
  height: 340px;
}

.hall-archive__img img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hall-archive__content {
  margin-left: 80px;
}

.hall-archive__content .hall-category__list {
  display: inline-block;
  height: 32px;
  padding: 1px 10px 3px;
  border: 1px solid #75A69B;
  color: #027B60;
  font-size: 1.4rem;
}

.hall-archive__content .hall-tag__lists {
  justify-content: initial;
  margin-top: 0;
}

.hall-name.square {
  display: flex;
  align-items: center;
}

.hall-name.square::before {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 10px;
  background-color: #027B60;
  content: "";
}

.hall-category__lists {
  display: flex;
  margin-bottom: 10px;
  gap: 10px;
}

.hall-category__list a {
  display: block;
  height: 32px;
  padding: 1px 10px 3px;
  border: 1px solid #75A69B;
  color: #027B60;
  font-size: 1.4rem;
}

.hall-tel-number {
  margin-top: 20px;
}

.hall-tel-number .number {
  display: flex;
  align-items: center;
  color: #027B60;
  font-size: 2.2rem;
  line-height: 1.6;
  font-family: "Lora", serif;
}

.hall-tel-number .number::before {
  display: inline-block;
  width: 18px;
  height: 19px;
  margin-right: 10px;
  background: url(../img/icon_tel.svg) no-repeat center left/contain;
  content: "";
}

.hall-address {
  display: flex;
  flex-wrap: wrap;
  margin-top: 5px;
}

.hall-address .address {
  margin-right: 20px;
}

.google-map-link {
  display: flex;
  align-items: center;
}

.google-map-link::before {
  display: inline-block;
  width: 12px;
  height: 17px;
  margin-right: 5px;
  background: url(../img/icon_map_green.svg) no-repeat center left/contain;
  content: "";
}

.google-map-link a {
  color: #333;
  font-size: 1.4rem;
  line-height: 1.6;
  font-family: "Lora", serif;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.hall-traffic {
  margin-top: 20px;
  padding: 20px;
  background-color: #F7F7F7;
}

.hall-traffic__list {
  position: relative;
  padding-left: 11px;
}

.hall-traffic__list::before {
  position: absolute;
  top: 14px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #75A69B;
  content: "";
}

.hall-traffic__list+.hall-traffic__list {
  margin-top: 5px;
}

.hall-traffic-caption {
  margin-top: 5px;
  font-size: 1.4rem;
  text-align: right;
}

.hall-single .hall-name {
  justify-content: center;
  color: #333;
  font-size: 2.8rem;
}

.hall-single .hall-category__lists {
  justify-content: center;
  margin-top: 5px;
}

.hall-single .hall__text {
  margin-top: 20px;
  text-align: center;
}

.hall-single .hall-tag__lists {
  margin-top: 20px;
}

.hall-single__img {
  width: 780px;
  max-width: 100%;
  margin: 0 auto 50px;
}

.hall__wrap {
  padding: 60px 40px;
  background-color: #F7F7F7;
}

.hall__wrap.facility {
  margin-top: 75px;
}

.hall__wrap.floor-map {
  margin-top: 50px;
}

.hall__wrap.floor-map .hall__img img {
  padding: 4px 28px;
  text-align: center;
}

.hall__wrap.floor-map .hall-modal__slide-image img {
  height: 100%;
}

.hall__wrap .item__title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.4rem;
  line-height: 1.6;
}

.hall__wrap .item__title::before {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 10px;
  background-color: #027B60;
  content: "";
}

.hall__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 30px;
  gap: 20px 40px;
}

.hall__item {
  aspect-ratio: 1;
  max-width: 180px;
  background-color: #fff;
}

.hall__item:hover {
  cursor: pointer;
}

.hall__item .hall__img {
  height: calc(100% - 32px);
}

.hall__item .hall__img img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hall__item .hall__title {
  min-height: 32px;
  color: #027B60;
  text-align: center;
}

.hall__item {
  cursor: pointer;
}

.hall-modal {
  visibility: hidden;
  z-index: 9999;
  position: fixed;
  inset: 0;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.hall-modal.is-floor .hall-modal__nav--prev {
  left: -35px;
}

.hall-modal.is-floor .hall-modal__nav--next {
  right: -35px;
}

.hall-modal.is-open {
  visibility: visible;
  opacity: 1;
}

.hall-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
}

.hall-modal__content {
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(1080px, 100% - 40px);
  max-height: 90%;
  padding: 96px 70px 60px;
  overflow: auto;
  transform: translate(-50%, -50%);
  background: #fff;
}

.hall-modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.hall-modal__close img {
  display: block;
  width: 100%;
  height: auto;
}

.hall-modal__header {
  position: relative;
  margin-bottom: 24px;
}

.hall-modal__heading {
  margin: 0;
  font-size: 28px;
  line-height: 1.4;
  text-align: center;
}

.hall-modal__count {
  position: absolute;
  top: -34px;
  right: 0;
  line-height: 1.6;
}

.hall-modal__body {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
}

.hall-modal__slider-area {
  position: relative;
  width: 750px;
  margin: 0 auto;
}

.hall-modal__slider {
  width: 750px;
  margin: 0 auto;
}

.hall-modal__slide-inner {
  width: 100%;
}

.hall-modal__image {
  width: 750px;
  height: 500px;
  overflow: hidden;
  text-align: center;
}

.hall-modal.is-facility .hall-modal__image img,
.hall-modal:not(.is-floor) .hall-modal__image img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* フロアマップだけ全部見せる */

.hall-modal.is-floor .hall-modal__slider-area {
  width: min(900px, 100%);
}

.hall-modal.is-floor .hall-modal__slider {
  width: 100%;
}

.hall-modal.is-floor .hall-modal__image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(90vh - 220px);
  overflow: hidden;
}

.hall-modal.is-floor .hall-modal__image img {
  -o-object-fit: contain;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
}

.hall-modal__image img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hall-modal__title {
  margin-top: 10px;
  text-align: center;
}

.hall-modal__nav {
  z-index: 2;
  position: absolute;
  top: calc((100% - 32px) / 2);
  width: 50px;
  height: 50px;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  background: none;
  cursor: pointer;
}

.hall-modal__nav img {
  display: block;
  width: 100%;
  height: auto;
}

.hall-modal__nav--prev {
  left: 15px;
}

.hall-modal__nav--next {
  right: 15px;
}

body.is-modal-open {
  overflow: hidden;
}

.hall-sec .inner2 {
  padding-left: 60px;
}

.hall-sec__title {
  position: relative;
  font-size: 2.4rem;
  line-height: 1.6;
}

.hall-sec__title.vertical {
  padding-bottom: 70px;
  text-align: center;
}

.hall-sec__title.vertical::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 60px;
  transform: translateX(-50%);
  background-color: #333;
  content: "";
}

.hall-sec__title.beside {
  display: inline-block;
  padding-right: 70px;
}

.hall-sec__title.beside::after {
  position: absolute;
  top: 56%;
  right: 0;
  width: 60px;
  height: 1px;
  transform: translateY(-50%);
  background-color: #333;
  content: "";
}

.hall-sougi {
  margin-top: 30px;
}

.hall-sougi__lists {
  margin-top: 30px;
}

.hall-sougi-static {
  margin-top: 30px;
}

.hall-sougi__title,
.hall-sougi-static__title {
  margin-bottom: 12px;
  padding-left: 9px;
  border-left: 1px solid #027B60;
  color: #027B60;
  font-size: 2rem;
  line-height: 1.6;
}

.hall-sougi__img {
  margin-top: 12px;
}

.hall-sougi__slider {
  overflow: hidden;
}

.hall-sougi__img img,
.hall-sougi-static__img img {
  display: block;
  width: 100%;
  height: auto;
}

.hall-sougi__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 48px;
  gap: 170px;
}

.hall-sougi__progress {
  flex: 1;
  height: 2px;
  overflow: hidden;
  background: #CFCFCF;
}

.hall-sougi__progress-bar {
  display: block;
  width: 0;
  height: 100%;
  background: #027B60;
  transition: width 0.3s ease;
}

.hall-sougi__nav {
  display: flex;
  align-items: center;
  gap: 32px;
}

.hall-sougi__arrow {
  position: relative;
  width: 9px;
  height: 16px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.hall-sougi__arrow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 16px;
  transform: translate(-50%, -50%);
  background: url(../img/arrow_green.svg) no-repeat center left/contain;
  content: "";
}

.hall-sougi__arrow--prev::before {
  transform: translate(-50%, -50%) rotate(180deg);
}

.hall-sougi__arrow.swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}

.hall-sougi-static__lists {
  display: flex;
  justify-content: center;
  gap: 30px;
}

.hall-sougi-static__item {
  width: calc(33.333% - 20px);
}

.access {
  margin-top: 30px;
}

.access__wrapper {
  display: flex;
}

.access__content .table th,
.access__content .table td {
  padding: 9.5px 19px 9.5px 20px;
}

.access__content .table th {
  width: 107px;
}

.access-map {
  flex: 0 0 40.35%;
  max-height: 444px;
  margin-left: 80px;
}

.access-map iframe {
  width: 100%;
  max-width: 100%;
  height: 100%;
}

.access-acordion {
  margin-top: 30px;
}

.access-acordion__item+.access-acordion__item {
  margin-top: 20px;
}

.access-acordion__title {
  position: relative;
  padding: 5px 50px 5px 20px;
  background-color: #EBF2F1;
  font-size: 1.8rem;
}

.access-acordion__title::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 18px;
  height: 10px;
  transform: translateY(-50%);
  background: url(../img/arrow_access_acordion.svg) no-repeat center left/contain;
  content: "";
}

.access-acordion__title:hover {
  cursor: pointer;
}

.access-acordion__title.minus::after {
  transform: translateY(-50%) rotate(180deg);
}

.access-acordion__content {
  display: none;
  padding: 20px;
}

.access-acordion__content a {
  color: #027B60;
}

.access-acordion__wrap {
  padding-left: 11px;
}

.access-acordion__wrap+.access-acordion__wrap {
  margin-top: 20px;
}

.access-acordion__sub-title {
  position: relative;
}

.access-acordion__sub-title::before {
  position: absolute;
  top: 14px;
  left: -11px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #75A69B;
  content: "";
}

.access-acordion__text {
  margin-top: 5px;
}

.access-caption {
  font-size: 1.4rem;
  text-align: right;
}

.hall-about {
  margin-top: 140px;
}

.hall-about .inner {
  background: url(../img/hall_bg.png) no-repeat top center/cover;
}

.hall-about__inner {
  padding: 5px;
}

.hall-about__wrap {
  display: flex;
  padding: 35px 55px;
  border: 1px solid #75A69B;
}

.hall-about__title {
  display: flex;
  font-size: 2.4rem;
  line-height: 1.6;
  white-space: nowrap;
}

.hall-about__title::after {
  display: inline-block;
  width: 60px;
  height: 1px;
  margin: 20px 0 0 10px;
  background-color: #333;
  content: "";
}

.hall-about__text {
  margin-left: 80px;
}

.other-hall {
  position: relative;
}

.other-hall::after {
  z-index: -1;
  position: absolute;
  bottom: -668px;
  left: 0;
  width: 100%;
  height: 1088px;
  background-color: #F7F7F7;
  content: "";
}

.other-hall__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px;
}

.other-hall__item {
  flex: 0 0 42.592%;
}

.other-hall-link:hover {
  opacity: 1;
}

.other-hall-link:hover .other-hall__img::after {
  transform: scale(1);
}

.other-hall-link:hover .other-hall__img::before {
  opacity: 1;
}

.other-hall__img {
  position: relative;
  height: 280px;
  overflow: hidden;
}

.other-hall__img img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.other-hall__img::before {
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "詳しく見る";
  color: #fff;
  font-size: 2rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease 0.08s;
}

.other-hall__img::after {
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  aspect-ratio: 1/1;
  width: 180%;
  transform: scale(0);
  transform-origin: top left;
  background: rgba(3, 96, 75, 0.7);
  content: "";
  clip-path: polygon(0 0, 100% 0, 0 100%);
  pointer-events: none;
  transition: transform 0.3s ease;
}

.other-hall__title {
  position: relative;
  margin-top: 20px;
  padding-bottom: 10px;
  color: #333;
  font-size: 2.4rem;
  line-height: 1.6;
  text-align: center;
}

.other-hall__title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 60px;
  height: 1px;
  transform: translateX(-50%);
  background-color: #75A69B;
  content: "";
}

/*----------------------------------
ご葬儀についてページ
----------------------------------*/

.plan-archive .plan__list a:hover .button-link {
  background-color: #fff;
  color: #027B60;
}

.plan-archive .plan__list a:hover .button-link::after {
  background-image: url(../img/arrow_green.svg);
}

.plan-archive .plan__list .button-link {
  width: 189px;
  height: 50px;
  padding-bottom: 3px;
  padding-left: 40px;
}

.plan-archive .plan-box {
  margin-top: 140px;
}

.plan__lists.col-2 {
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}

.plan__lists.col-2 .plan-label {
  padding: 5px 19px;
  font-size: 1.6rem;
}

.plan__lists.col-1 {
  grid-template-columns: 1fr;
  margin-top: 140px;
  gap: initial;
}

.plan__lists.col-1 .plan__list {
  padding-bottom: 50px;
  border-bottom: 1px solid #CFCFCF;
}

.plan__lists.col-1 .plan__list+.plan__list {
  margin-top: 50px;
}

.plan__lists.col-1 .plan__list a {
  display: flex;
}

.plan__lists.col-1 .plan__list .button {
  margin-top: 30px;
}

.plan__lists.col-1 .plan__list .button-link {
  margin: 0 0 0 auto;
}

.plan__lists.col-1 .plan__img {
  flex: 0 0 35.648%;
}

.plan__lists.col-1 .plan__wrap {
  flex: 1;
  margin-left: 59px;
}

.plan__lists.col-1 .plan__title {
  display: flex;
  align-items: center;
  margin-top: 0;
  text-align: left;
}

.plan__lists.col-1 .plan__title::before {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 2px 10px 0 0;
  background-color: #027B60;
  content: "";
}

.cta {
  margin-top: 80px;
  padding: 40px;
  background: url(../img/cta_bg.jpg) no-repeat top center/cover;
}

.cta .contact-part__lead {
  font-size: 2rem;
}

.cta .contact-part__content {
  width: 530px;
  margin-top: 30px;
  padding: 16.5px 0;
}

.cta .contact-part-buttons {
  margin-top: 30px;
}

.other-plan__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 80px 60px;
  background-color: #F7F7F7;
}

.other-plan__item+.other-plan__item {
  margin-top: 80px;
}

.other-plan__item:nth-of-type(odd) .other-plan__right {
  margin-left: 50px;
}

.other-plan__item:nth-of-type(even) {
  flex-direction: row-reverse;
}

.other-plan__item:nth-of-type(even) .other-plan__right {
  margin-right: 60px;
}

.other-plan__item:first-of-type .other-plan__left {
  flex: 0 0 40.5%;
}

.other-plan__item:first-of-type .button {
  flex: 0 0 246px;
}

.other-plan__item:first-of-type .button-link {
  width: 100%;
}

.other-plan__item:nth-of-type(2) .other-plan__right,
.other-plan__item.if-kyosai .other-plan__right {
  flex: 0 0 44.444%;
}

/*.other-plan__item:nth-of-type(2) .other-plan__left {
  flex: 0 0 48.333%;
}

.other-plan__item:nth-of-type(2) .buttons {
  gap: 30px;
}

.other-plan__item:nth-of-type(2) .button {
  width: calc(50% - 15px);
}*/

.other-plan__item.if-kyosai .small-buttons {
  display: flex;
  margin-top: 30px;
}

.other-plan__item.if-kyosai .small-buttons .button {
  flex: 0 0 152px;
}

.other-plan__item.if-kyosai .small-buttons .button+.button {
  margin-left: 20px;
}

.other-plan__item.if-kyosai .buttons {
  margin-top: 20px;
}

.other-plan__item.if-kyosai .buttons .button {
  flex: 0 0 246px;
}

.other-plan__item.if-kyosai .buttons .button-link {
  width: 100%;
}

.other-plan__item .buttons {
  display: flex;
  margin-top: 30px;
}

.other-plan__item .button-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 0 20px 2px 0;
}

.other-plan__title {
  margin-bottom: 30px;
  padding-left: 9px;
  border-left: 1px solid #027B60;
  color: #027B60;
  font-size: 2.4rem;
  line-height: 1.6;
}

.gift__item {
  display: flex;
}

.gift__item+.gift__item {
  margin-top: 20px;
}

.gift__img {
  flex: 0 0 23.344%;
}

.gift__img img {
  box-shadow: 4px 4px 25px rgba(66, 77, 75, 0.08);
}

.gift__wrap {
  margin-left: 20px;
}

.gift__title {
  display: flex;
  align-items: center;
  font-size: 1.8rem;
}

.gift__title::before {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 2px 10px 0 0;
  background-color: #027B60;
  content: "";
}

.gift__text {
  margin-top: 5px;
  font-size: 1.4rem;
}

.youtube {
  position: relative;
  aspect-ratio: 16/9;
  width: 100%;
  max-width: 480px;
  overflow: hidden;
}

.youtube:hover {
  cursor: pointer;
}

.youtube .thumbnail {
  -o-object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  object-fit: cover;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}

.other-plan__sub-title {
  margin-bottom: 5px;
  font-size: 1.8rem;
}

.contract-corp {
  margin-top: 140px;
}

.contract-corp__text {
  margin-top: 50px;
}

.contract-merit {
  margin-top: 50px;
}

.contract-merit__lists {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 37.5px;
}

.contract-merit__list {
  padding: 20px;
  background-color: #036851;
  color: #fff;
  text-align: center;
}

.contract-merit__title {
  position: relative;
  padding-bottom: 5px;
  font-size: 1.8rem;
}

.contract-merit__title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 30px;
  height: 1px;
  transform: translateX(-50%);
  background-color: #fff;
  content: "";
}

.contract-merit__wrap {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  gap: 5px;
}

.contract-merit__wrap .white-bg span {
  display: inline-block;
  padding: 2px 8px;
  background-color: #fff;
  color: #027B60;
  font-size: 2rem;
}

.contract-corp-box {
  margin-top: 50px;
  padding: 40px 20px;
  background-color: #F7F7F7;
}

.contract-corp-box__title {
  font-size: 2.4rem;
  line-height: 1.6;
  text-align: center;
}

.contract-corp-box__lists {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  width: 820px;
  max-width: 100%;
  margin: 30px auto 0;
  gap: 32px 60px;
}

.contract-corp-box__list {
  display: flex;
  align-items: center;
  justify-content: center;
}

.plan-intro .button {
  margin-top: 50px;
}

.plan-intro .button-link {
  height: 50px;
  padding: 10px 64px 10px 39px;
  line-height: 1.6;
}

.plan-intro__title {
  color: #027B60;
  font-size: 3.6rem;
  line-height: 1.6;
  text-align: center;
}

.plan-intro-label__lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 5px;
  gap: 10px;
}

.plan-intro-label__list {
  padding: 5px 20px;
  background-color: #EBF2F1;
  font-size: 1.4rem;
  line-height: 1.6;
}

.plan-intro__lead {
  margin-top: 20px;
  font-size: 1.8rem;
  text-align: center;
}

.plan-intro__wrap {
  display: flex;
  align-items: center;
  margin-top: 50px;
}

.plan-intro__img {
  flex: 0 0 47.685%;
  height: 333px;
}

.plan-intro__img img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.plan-intro__text {
  margin-left: 80px;
}

.plan__wrapper.plan-feature .plan__items {
  gap: 30px;
}

.plan__wrapper.plan-feature .plan__item {
  width: calc(33.333% - 20px);
}

.plan__wrapper.plan-feature .item-image {
  position: relative;
}

.plan__wrapper.plan-feature .item__img {
  height: 240px;
}

.plan__wrapper.plan-feature .item__title {
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 95%;
  padding: 5px 15px;
  background-color: #F7F7F7;
}

.plan__wrapper.plan-merit {
  margin-top: 140px;
}

.plan__wrapper.plan-merit .plan__items {
  gap: 37.5px;
}

.plan__wrapper.plan-merit .plan__item {
  width: calc(33.333% - 25px);
}

.plan__wrapper.plan-merit .item__img {
  height: 220px;
}

.plan__wrapper.plan-merit .item__title {
  margin-top: 20px;
  text-align: center;
}

.plan__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.plan__item .item__img img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.plan__item .item__title {
  color: #027B60;
  font-size: 2.2rem;
  line-height: 1.6;
}

.plan__item .item__text {
  margin-top: 20px;
}

.plan-sec02__text {
  margin-top: 50px;
}

.plan-example__lists {
  margin-top: 30px;
}

.plan-example__list {
  display: flex;
  min-height: 70px;
}

.plan-example__list+.plan-example__list {
  margin-top: 10px;
}

.plan-example__list .number {
  display: flex;
  flex: 0 0 85px;
  align-items: center;
  justify-content: center;
  background-color: #027B60;
  color: #fff;
  font-size: 2rem;
}

.plan-example__text {
  flex: 1;
  padding: 15px 10px 15px 20px;
  background-color: #F7F7F7;
}

.plan-example__text .price,
.plan-example__text .yen {
  font-size: 2rem;
}

.plan-sec03 {
  background-color: #F7F7F7;
}

.plan-hall__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px;
}

.plan-hall__item {
  width: calc(50% - 30px);
  padding-bottom: 30px;
  background-color: #fff;
}

.plan-hall__item .button-link {
  height: 50px;
  line-height: 1.6;
  pointer-events: none;
  transition: all 0.3s ease 0s;
}

.plan-hall__link {
  display: block;
}

.plan-hall__link:hover .button-link {
  background-color: #fff;
  color: #027B60;
}

.plan-hall__link:hover .button-link::after {
  background-image: url(../img/arrow_green.svg);
}

.plan-hall__link .plan-hall__title {
  color: #333;
}

.plan-hall__img {
  height: 325px;
}

.plan-hall__img img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.plan-hall__title {
  margin: 30px 0 20px;
  font-size: 2.4rem;
  line-height: 1.6;
  text-align: center;
}

.plan-sec04__lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}

.plan-sec04__list {
  position: relative;
  position: relative;
  width: calc(33.333% - 20px);
  padding: 46px 20px;
  background-color: #fff;
  box-shadow: 4px 4px 25px rgba(66, 77, 75, 0.08);
}

.plan-sec04__list .number {
  position: absolute;
  top: -30px;
  left: 10px;
  color: #75A69B;
  font-size: 4.2rem;
  line-height: 1.5;
  font-family: "Lora", serif;
}

.plan-sec04__title {
  position: relative;
  padding-bottom: 5px;
  color: #027B60;
  font-size: 2.4rem;
  line-height: 1.6;
  text-align: center;
}

.plan-sec04__title::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 30px;
  height: 1px;
  transform: translateX(-50%);
  background-color: #027B60;
  content: "";
}

.plan-sec04__text {
  margin-top: 21px;
  text-align: center;
}

.plan-sec05 .button {
  margin-top: 80px;
}

.plan-sec06.bg-gray::before {
  height: calc(100% + 400px);
}

/*----------------------------------
葬儀の基礎知識ページ
----------------------------------*/

.knowledge-archive .artcle__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 50px;
  gap: 50px 30px;
}

.knowledge-archive .artcle__item {
  padding-bottom: 30px;
}

.knowledge-archive .artcle__item .button-link {
  width: 219px;
  height: 48px;
  line-height: 1.5;
}

.knowledge-archive .artcle-image {
  position: relative;
}

.knowledge-archive .artcle__title {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 5px 15px;
  background-color: #fff;
  color: #027B60;
  font-size: 2.2rem;
  line-height: 1.6;
}

.knowledge-archive .artcle__text {
  margin: 30px 0 20px;
  padding-right: 5px;
}

.knowledge-archive__list:not(:first-child) {
  padding-bottom: 40px;
  border-bottom: 1px solid #CFCFCF;
}

.knowledge-archive__list:nth-child(2) {
  margin-top: 140px;
}

.knowledge-archive__list:nth-child(n+3) {
  margin-top: 50px;
}

.knowledge-archive__wrap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 50px;
}

.knowledge-archive__wrap .button {
  flex: 0 0 189px;
  margin-left: 70px;
}

.knowledge-single__lead {
  margin-top: 50px;
  text-align: center;
}

.knowledge-single__inner {
  margin-top: 50px;
  padding: 80px;
  background-color: #F7F7F7;
}

.knowledge-single__content h2 {
  display: flex;
  margin-bottom: 30px;
  color: #027B60;
  font-size: 2.4rem;
}

.knowledge-single__content h2::before {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 20px 10px 0 0;
  background-color: #027B60;
  content: "";
}

.knowledge-single__content h2:not(:first-of-type) {
  margin-top: 60px;
  padding-top: 60px;
  border-top: 1px dashed #CFCFCF;
}

.knowledge-single__content h3 {
  margin: 30px 0 10px 40px;
  padding: 1px 10px 3px;
  background-color: #EBF2F1;
  font-size: 1.8rem;
}

.knowledge-single__content p {
  margin-top: 10px;
  padding-left: 40px;
}

.knowledge-single__content p:last-of-type {
  padding-bottom: 60px;
  border-bottom: 1px dashed #CFCFCF;
}

.knowledge-link {
  width: 942px;
  max-width: 100%;
  margin: 80px auto 0;
}

.manner-link {
  display: flex;
  align-items: stretch;
  background-color: #F7F7F7;
}

.manner-link ul {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  padding: 12px 10px 12px 50px;
}

.manner-link ul li {
  margin-right: 60px;
}

.manner-link ul li:last-child {
  margin-right: 0;
}

.manner-link ul li a {
  position: relative;
  padding-right: 19px;
  color: #333;
}

.manner-link ul li a::after {
  position: absolute;
  top: 53%;
  right: 0;
  width: 6px;
  height: 10px;
  transform: translateY(-50%);
  background: url(../img/arrow_green.svg) no-repeat center left/contain;
  content: "";
}

.manner-category {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(33.333% - 40px);
  height: auto;
  min-height: 63px;
  background-color: #EBF2F1;
  color: #027B60;
  font-size: 1.8rem;
}

.other-link {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
  gap: 20px 60px;
}

.other-link .button {
  width: calc(33.333% - 40px);
}

.other-link .button-link {
  width: 100%;
  padding: 10px 10px 0 0;
}

/*----------------------------------
ご相談・お問い合わせページ
----------------------------------*/

.contact-box {
  position: relative;
  width: 800px;
  max-width: 100%;
  margin: auto;
  padding: 20px;
  background-color: #F7F7F7;
}

.contact-box .contact-part__text {
  display: block;
  margin-top: 10px;
}

.contact-box .contact-part__text .number {
  justify-content: center;
  color: #027B60;
}

.contact-box .contact-part__text .number::before {
  background-image: url(../img/icon_free_dial_green.svg);
}

.contact-box .business-hour {
  margin-left: 0;
  color: #333;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
}

.contact-box__text {
  font-size: 2rem;
  text-align: center;
}

.contact-intro {
  margin-top: 80px;
}

.contact__title {
  font-size: 2rem;
  text-align: center;
}

.contact-intro-buttons {
  display: flex;
  justify-content: center;
  margin-top: 10px;
  gap: 20px;
}

.contact-intro-button {
  flex: 0 0 188px;
}

.contact-intro-button span,
.contact-intro-button a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 54px;
  color: #fff;
  font-size: 1.7rem;
}

.contact-intro-button span {
  background-color: #027B60;
}

.contact-intro-button a {
  background-color: #A8A8A8;
}

.contact-intro__text {
  position: relative;
  margin-top: 20px;
  padding-bottom: 80px;
  text-align: center;
}

.contact-intro__text::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 60px;
  transform: translateX(-50%);
  background-color: #333;
  content: "";
}

.contact-intro__text a {
  color: #027B60;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.contact-line {
  width: 820px;
  max-width: 100%;
  margin: 50px auto 0;
  padding: 30px 60px;
  border: 1px solid #75A69B;
  background-color: #fff;
}

.contact-line__wrap {
  display: flex;
  align-items: center;
}

.contact-line__title {
  color: #027B60;
  font-size: 2rem;
}

.contact-line__text {
  margin-top: 10px;
}

.qr-code {
  margin-left: 19px;
}

.qr-code__title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  background-color: #EBF2F1;
}

.qr-code__img {
  margin-top: 5px;
  width: 120px;
}

.request .contact-row:nth-child(3) {
  margin-bottom: 40px;
}

.request .contact-row:nth-child(3) .contact-title {
  margin-top: 7px;
}

.contact__wrapper {
  margin-top: 50px;
  padding: 80px 100px;
  background-color: #F7F7F7;
}

.contact__wrap {
  margin-top: 50px;
}

.contact-row {
  display: flex;
  margin-bottom: 40px;
}

.contact-row:nth-child(3) {
  margin-bottom: 30px;
}

.contact-row:nth-child(3) .contact-title {
  margin-top: 2px;
}

.contact-row.contact-type .contact-text .flex {
  align-items: initial;
}

.contact-row.contact-type .contact-text .flex .wpcf7-form-control-wrap {
  flex: 0 0 143px;
}

.contact-row.contact-type .contact-text .flex ul {
  margin-left: 30px;
}

.contact-row.contact-type .contact-text .flex ul li {
  position: relative;
  padding-left: 11px;
  font-size: 1.5rem;
}

.contact-row.contact-type .contact-text .flex ul li::before {
  position: absolute;
  top: 13px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #CFCFCF;
  content: "";
}

.contact-row.hurry .form-checkbox+span {
  padding-left: 29px;
}

.contact-title {
  display: flex;
  flex: 0 0 240px;
  margin-top: 7px;
}

.contact-title.mt0 {
  margin-top: 0;
}

.contact-title .required {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 49px;
  height: 24px;
  margin: 4px 0 0 6px;
  padding-bottom: 1px;
  background-color: #D55455;
  color: #fff;
  font-size: 1.4rem;
}

.contact-text {
  flex: 1;
  margin-left: 40px;
}

.contact-text .flex {
  display: flex;
}

.contact-text .flex+.flex {
  margin-top: 20px;
}

.contact-text .flex .date {
  display: flex;
  position: relative;
  flex: 0 0 55.7%;
}

.contact-text .flex .date span {
  flex: 1;
}

.contact-text .flex .date input {
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
  display: block;
  appearance: none;
  width: calc(100% - 10px);
  max-width: 100%;
  height: 44px;
  margin-left: 10px;
  padding-right: 16px;
  padding-left: 50px;
  border: none;
  border-radius: 4px;
  background-color: #fff;
  font-size: 16px;
  font-family: "Noto Serif JP", serif;
}

.contact-text .flex .date__text {
  margin-top: 5px;
}

.contact-text .flex .time {
  flex: 1;
  margin-left: 10px;
}

.contact-text .flex .time select {
  width: 100%;
  height: 44px;
  padding-left: 16px;
  border: none;
  border-radius: 4px;
  background-color: #fff;
  color: #333;
  font-size: 1.6rem;
  font-family: "Noto Serif JP", serif;
}

.contact-text .post {
  display: flex;
}

.contact-text .post input {
  width: 280px;
  margin-left: 10px;
}

.contact-text .post-mark {
  margin-top: 5px;
}

input[type=date] {
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
  display: block;
  appearance: none;
  width: 100%;
  height: 44px;
  padding: 0 16px 0 50px;
  border: none;
  border-radius: 4px;
  background-color: #fff;
  line-height: 44px;
  text-align: left;
}

input[type=date]::-webkit-date-and-time-value {
  text-align: left;
}

input[type=date]::-webkit-datetime-edit {
  padding: 0;
  text-align: left;
}

input[type=date]::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  opacity: 0;
}

/* =========================
   date：標準UIを消す
========================= */

/* 右側のカレンダーアイコンを消す */

.contact-date-input::-webkit-calendar-picker-indicator {
  opacity: 0;
}

/* 「年 / 月 / 日」を消す（未入力時） */

.contact-date-input::-webkit-datetime-edit {
  color: transparent;
}

/* フォーカス or 入力後は表示 */

.contact-date-input:focus::-webkit-datetime-edit,
.contact-date-input:valid::-webkit-datetime-edit {
  color: inherit;
}

/* =========================
   date：左アイコン追加
========================= */

/* ラッパーに relative を付ける */

.date__field {
  position: relative;
  flex: 1;
}

/* 左に独自アイコン */

.date__field::before {
  z-index: 1;
  position: absolute;
  /* 必要なら微調整 */
  top: 14px;
  left: 36px;
  width: 14px;
  height: 15px;
  background: url("../img/icon_date.svg") no-repeat center/contain;
  content: "";
  pointer-events: none;
}

/* =========================
   select：デフォルト矢印削除
========================= */

.contact-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* IE対策 */

.contact-select::-ms-expand {
  display: none;
}

/* =========================
   select：独自矢印
========================= */

.time {
  position: relative;
}

.time::after {
  z-index: 1;
  position: absolute;
  /* 必要なら微調整 */
  top: 17px;
  right: 16px;
  width: 11px;
  height: 10px;
  background: url("../img/icon_arrow_select.svg") no-repeat center/contain;
  content: "";
  pointer-events: none;
}

.contact-date-input {
  color: transparent;
}

.contact-date-input::-webkit-datetime-edit,
.contact-date-input::-webkit-datetime-edit-text,
.contact-date-input::-webkit-datetime-edit-year-field,
.contact-date-input::-webkit-datetime-edit-month-field,
.contact-date-input::-webkit-datetime-edit-day-field,
.contact-date-input::-webkit-datetime-edit-fields-wrapper {
  color: transparent;
}

.contact-date-input.is-selected {
  color: #333;
}

.contact-date-input.is-selected::-webkit-datetime-edit,
.contact-date-input.is-selected::-webkit-datetime-edit-text,
.contact-date-input.is-selected::-webkit-datetime-edit-year-field,
.contact-date-input.is-selected::-webkit-datetime-edit-month-field,
.contact-date-input.is-selected::-webkit-datetime-edit-day-field,
.contact-date-input.is-selected::-webkit-datetime-edit-fields-wrapper {
  color: #333;
}

/* 右の標準アイコンだけ消す */

.contact-date-input::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0;
}

/* フォーカス時も余計な青背景などが出にくいように */

.contact-date-input::-webkit-datetime-edit-fields-wrapper {
  color: transparent;
}

input[type=text],
input[type=email] {
  width: 100%;
  height: 44px;
  padding-left: 25px;
  border: none;
  border-radius: 4px;
  background-color: #fff;
  font-size: 16px;
  font-family: "Noto Serif JP", serif;
}

textarea {
  width: 100%;
  height: 200px;
  padding: 10px 25px;
  border: none;
  border-radius: 4px;
  background-color: #fff;
  font-size: 16px;
  font-family: "Noto Serif JP", serif;
}

::-moz-placeholder {
  color: #B1B1B1;
}

::placeholder {
  color: #B1B1B1;
}

.radio-content .contact-text {
  display: flex;
  flex-wrap: wrap;
}

.radio-content .contact-text .wpcf7-form-control.wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
}

.radio-content .contact-text label {
  display: flex;
  position: relative;
  padding-left: 28px;
}

input[type=radio] {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
  top: 5px;
  left: 0;
  width: 23px;
  height: 23px;
  margin: 0;
  border: 1px solid #7A7A7A;
  border-radius: 50%;
  cursor: pointer;
}

input[type=radio]:checked::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 11px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #fff;
  content: "";
}

input[type=radio]:checked {
  border-color: #027B60;
  background-color: #027B60;
}

input[type=checkbox] {
  display: none;
}

input[type=checkbox]+span {
  display: inline-block;
  position: relative;
  padding-left: 24px;
  cursor: pointer;
}

input[type=checkbox]+span::before,
input[type=checkbox]+span::after {
  position: absolute;
  top: 7px;
  content: "";
}

input[type=checkbox]+span::before {
  display: block;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #CFCFCF;
  background: #fff;
}

input[type=checkbox]+span::after {
  top: 11px;
  left: 3.5px;
  width: 13px;
  height: 8px;
  transform: rotate(-45deg);
  border-bottom: 2px solid #027B60;
  border-left: 2px solid #027B60;
  content: "";
  opacity: 0;
  transition: opacity 0.3s ease 0s;
}

input[type=checkbox]:checked+span::after {
  opacity: 1;
}

.contact__check {
  margin-top: 80px;
  text-align: center;
}

.contact__check .form-checkbox+span {
  padding-left: 29px;
}

.contact__check .form-checkbox+span::before {
  top: 52%;
}

.privacy-policy-link {
  color: #5A91DD;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.submit-button {
  margin-top: 50px;
  text-align: center;
}

.sumit-button__wrap {
  display: inline-block;
  position: relative;
  width: 239px;
  height: 56px;
  transition: all 0.3s ease 0s;
}

.sumit-button__wrap::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 6px;
  height: 10px;
  transform: translateY(-50%);
  background: url(../img/arrow_white.svg) no-repeat center left/contain;
  content: "";
  pointer-events: none;
}

.sumit-button__wrap:hover {
  cursor: pointer;
}

.sumit-button__wrap:hover::after {
  background-image: url(../img/arrow_green.svg);
}

.sumit-button__wrap:hover .button-link {
  background-color: #fff;
  color: #027B60;
}

.sumit-button__wrap .button-link {
  width: 239px;
  padding: 0 0 0 70px;
  border: 1px solid #027B60;
  background-color: #027B60;
  color: #fff;
  font-size: 1.6rem;
  font-family: "Noto Serif JP", serif;
  text-align: left;
  transition: all 0.3s ease 0s;
}

.sumit-button__wrap .button-link:hover {
  cursor: pointer;
}

.wpcf7-list-item {
  margin-left: 0;
}

.contact-thanks__content {
  width: 637px;
  max-width: 100%;
  margin: auto;
  text-align: center;
}

.contact-thanks__content .text__wrap {
  margin-top: 50px;
}

.contact-thanks__content .button {
  margin-top: 70px;
}

.contact-thanks__content .button-link {
  width: 240px;
  padding-top: 13px;
}

.contact-thanks__title {
  color: #EB5917;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.5;
}

.wpcf7-form.sent .wpcf7-response-output {
  display: none;
}

.contact-thanks__wrap {
  text-align: center;
}

.contact-thanks__wrap .button {
  margin-top: 50px;
}

.contact-thanks__text {
  font-size: 2rem;
}

/*----------------------------------
採用情報ページ
----------------------------------*/

.recruit-intro__wrap {
  display: flex;
  align-items: center;
}

.recruit-intro__img {
  flex: 0 0 42.916%;
}

.recruit-intro__content {
  margin-left: 80px;
}

.recruit-intro__title {
  color: #027B60;
  font-size: 3.6rem;
  line-height: 1.6;
}

.recruit-intro__text {
  margin-top: 50px;
}

.recruit-sec01__wrap {
  display: flex;
  flex-direction: row-reverse;
}

.recruit-sec01__img {
  flex: 0 0 42.916%;
}

.recruit-sec01__content {
  margin-right: 80px;
}

.recruit-sec01__content .button {
  margin-top: 30px;
  text-align: left;
}

.recruit-sec01__content .button-link {
  padding-right: 64px;
}

.recruit-sec02 {
  background-color: #F7F7F7;
}

.recruit-sec02 .recruit-sec__title {
  padding-right: 11px;
}

.recruit-sec02__wrap {
  display: flex;
}

.recruit-sec02__movie {
  flex: 0 0 47.685%;
}

.recruit-sec02__movie iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
}

.recruit-sec02__content {
  margin-left: 80px;
}

.recruit-sec__title {
  font-size: 2.4rem;
  line-height: 1.6;
}

.recruit-sec__text {
  margin-top: 30px;
}

.recruitment {
  width: 960px;
  max-width: 100%;
  margin: auto;
}

.recruitment__item+.recruitment__item {
  margin-top: 80px;
}

.recruitment__title {
  padding: 5px 0;
  border-bottom: 1px solid #75A69B;
  font-size: 2.4rem;
}

.recruitment__content {
  margin-top: 30px;
}

.recruitment__content .table td li {
  position: relative;
  padding-left: 11px;
}

.recruitment__content .table td li::before {
  position: absolute;
  top: 14px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #75A69B;
  content: "";
}

.recruitment__content .table td li+li {
  margin-top: 5px;
}

.recruit-sec04__list {
  position: relative;
  padding: 40px 82px;
  background-color: #fff;
  box-shadow: 4px 4px 25px rgba(66, 77, 75, 0.08);
}

.recruit-sec04__list+.recruit-sec04__list {
  margin-top: 50px;
}

.recruit-sec04__list:first-child {
  padding-right: 48px;
}

.recruit-sec04__list .number {
  position: absolute;
  top: 10px;
  left: 20px;
  color: #CFCFCF;
  font-size: 4.2rem;
  line-height: 1.5;
  font-family: "Lora", serif;
}

.recruit-sec04__list ul {
  margin-left: 100px;
}

.recruit-sec04__list ul li {
  position: relative;
  padding-left: 13px;
}

.recruit-sec04__list ul li::before {
  position: absolute;
  top: 13px;
  left: 0;
  width: 8px;
  height: 8px;
  background-color: #027B60;
  content: "";
}

.recruit-sec04__wrap {
  display: flex;
  align-items: center;
}

.recruit-sec04__title {
  flex: 0 0 330px;
  text-align: center;
}

.recruit-sec04__title .ttl {
  padding-bottom: 10px;
  border-bottom: 1px solid #75A69B;
  color: #027B60;
  font-size: 2.4rem;
  line-height: 1.6;
}

.recruit-sec05 {
  background-color: #F7F7F7;
}

.recruit-sec05 .button {
  margin-top: 50px;
}

.youtube__wrap {
  display: flex;
  justify-content: center;
  gap: 80px;
}

.youtube-movie {
  flex: 0 0 calc(50% - 40px);
  aspect-ratio: 16/9;
}

.youtube-movie iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
}

.recruit-sec06 .answer {
  padding-right: 24px;
}

.recruitment__empty {
  text-align: center;
}

/*----------------------------------
プライバシーポリシーページ
----------------------------------*/

.policy__list+.policy__list {
  margin-top: 50px;
}

.policy__title {
  padding: 10px 0;
  border-bottom: 1px solid #75A69B;
  font-size: 2.4rem;
  line-height: 1.6;
}

.policy__text {
  margin-top: 15px;
}

.policy__sub-title {
  display: flex;
  position: relative;
  padding-bottom: 10px;
  border-bottom: 2px solid #E3E3E3;
  color: #027B60;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5;
}

.policy__sub-title::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100px;
  height: 2px;
  background-color: #027B60;
  content: "";
}

.policy__sub-title .number {
  display: inline-block;
  flex: 0 0 24px;
  margin-right: 10px;
}

.text__lists {
  margin-top: 20px;
}

.text__lists+.policy__text {
  margin-top: 10px;
}

.text__list {
  display: flex;
  padding-right: 7px;
}

.text__list::before {
  display: inline-block;
  flex: 0 0 7px;
  height: 7px;
  margin: 11.5px 5px 0 0;
  border-radius: 50%;
  background-color: #027B60;
  content: "";
}

/*----------------------------------
初期化
----------------------------------*/

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

html,
body {
  position: relative;
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #fff;
  background: url(../img/bg-zentai.png) no-repeat top center/cover;
  color: #333;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.06em;
  overflow-wrap: break-word;
}

body.open {
  overflow: auto;
}

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

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

a:hover {
  opacity: 0.8;
}

.d-iblock {
  display: inline-block;
}

/*----------------------------------
補完クラス
----------------------------------*/

.color-main {
  color: #027B60;
}

.color-active {
  color: #F79B22;
}

.font-size-small {
  font-size: 0.9em;
}

.font-em {
  font-weight: 700;
}

/*----------------------------------
共通パーツ
----------------------------------*/

.inner {
  width: min(100% - 100px, 1080px);
  height: inherit;
  margin: auto;
}

.inner2 {
  width: min(100% - 100px, 1200px);
  height: inherit;
  margin: auto;
}

.section__title {
  position: relative;
  font-size: 3.6rem;
  line-height: 1.6;
}

.section__title.vertical {
  padding-bottom: 70px;
  text-align: center;
}

.section__title.vertical::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 60px;
  transform: translateX(-50%);
  background-color: #333;
  content: "";
}

.section__title.beside {
  display: inline-block;
  padding-right: 70px;
}

.section__title.beside::after {
  position: absolute;
  top: 56%;
  right: 0;
  width: 60px;
  height: 1px;
  transform: translateY(-50%);
  background-color: #333;
  content: "";
}

.button {
  text-align: center;
}

.button-link {
  display: inline-block;
  position: relative;
  height: 56px;
  padding: 10px 63px 15px 39px;
}

.button-link::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 6px;
  height: 10px;
  transform: translateY(-50%);
  content: "";
  transition: all 0.3s ease 0s;
}

.button-link.white {
  border: 1px solid #027B60;
  background-color: #fff;
  color: #027B60;
}

.button-link.white::after {
  background: url(../img/arrow_green.svg) no-repeat center left/contain;
}

.button-link.white:hover {
  background-color: #027B60;
  color: #fff;
}

.button-link.white:hover::after {
  background-image: url(../img/arrow_white.svg);
}

.button-link.green {
  border: 1px solid #027B60;
  background-color: #027B60;
  color: #fff;
}

.button-link.green::after {
  background: url(../img/arrow_white.svg) no-repeat center left/contain;
}

.button-link.green:hover {
  background-color: #fff;
  color: #027B60;
}

.button-link.green:hover::after {
  background-image: url(../img/arrow_green.svg);
}

.button-link:hover {
  opacity: 1;
}

.button-link:hover::after {
  right: 10px;
}

/*----------------------------------
スクロールでふわっと
----------------------------------*/

.view {
  transform: translate(0, 10px);
  opacity: 0;
  transition: all 2000ms;
}

.view.scrollin {
  transform: translate(0, 0);
  opacity: 1;
}

/*----------------------------------
ヘッダー
----------------------------------*/

.header {
  z-index: 20;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 90px;
  padding-left: 50px;
  background-color: #fff;
  box-shadow: 4px 4px 25px rgba(66, 77, 75, 0.08);
  transition: all 0.4s ease 0s;
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header__wrap {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
}

.header__nav-items {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
}

.header__nav-items>li {
  margin-right: 30px;
}

.header__nav-items>li:first-child .drop-menu__item {
  flex: 0 0 33%;
}

.header__nav-items>li:nth-child(2) .drop-menu__item,
.header__nav-items>li:nth-child(5) .drop-menu__item {
  flex: 0 0 24%;
}

.header__nav-items>li:nth-child(4) .drop-menu__item {
  flex: 0 0 48%;
}

.header__nav-items>li:last-child {
  margin-right: 39px;
}

.header__nav-items>li>a {
  display: block;
  color: #333;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0;
  white-space: nowrap;
}

.header__nav-items>li>a:hover {
  color: #027B60;
  opacity: 1;
}

.drop-menu {
  display: none;
  z-index: 1;
  position: absolute;
  top: 120px;
  left: 50%;
  width: 1226px;
  max-width: calc(100% - 100px);
  padding: 30px 10px 30px 50px;
  transform: translateX(-50%);
  background-color: #fff;
  box-shadow: 2px 4px 45px rgba(0, 0, 0, 0.15);
  opacity: 0;
  transition: all 0.4s ease 0s;
}

.drop-menu.active {
  display: block;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-name: fadeIn;
  opacity: 1;
}

.drop-menu::before {
  position: absolute;
  top: -17px;
  left: 0;
  width: 100%;
  height: 24px;
  content: "";
}

.drop-menu__wrap {
  display: flex;
  align-items: center;
}

.drop-menu__title * {
  color: #027B60;
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.drop-menu__lists {
  display: flex;
  flex-wrap: wrap;
  margin-left: 80px;
}

.drop-menu__list {
  width: 280px;
  margin-right: 20px;
}

.drop-menu__list:nth-child(3n) {
  margin-right: 0;
}

.drop-menu__list:nth-child(n+4) {
  margin-top: 30px;
}

.drop-menu__list a {
  display: block;
  position: relative;
  padding-bottom: 15px;
  border-bottom: 1px solid #E3E3E3;
  color: #333;
  font-weight: 500;
  line-height: 1.5;
}

.drop-menu__list a::after {
  position: absolute;
  top: 8px;
  right: 20px;
  width: 8px;
  height: 12px;
  background: url(../img/arrow_green.svg) no-repeat center left/contain;
  content: "";
}

.header-tel {
  flex: 0 0 202px;
  margin-right: 30px;
}

.header-tel .number {
  display: inline-block;
  position: relative;
  padding-left: 47px;
  color: #027B60;
  font-size: 2.4rem;
  line-height: 1;
  font-family: "Lora", serif;
  letter-spacing: 0;
}

.header-tel .number::before {
  position: absolute;
  top: 3px;
  left: 0;
  width: 42px;
  height: 27px;
  background: url(../img/icon_free_dial_green.svg) no-repeat center left/contain;
  content: "";
}

.header-tel .business-hour {
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}

.header-button {
  flex: 0 0 187px;
  height: 90px;
}

.header-button>a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #027B60;
}

.header-button span {
  display: block;
}

.header-button .img {
  width: 22px;
  margin: auto;
}

.header-button .txt {
  margin-top: 10px;
  color: #fff;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

/*----------------------------------
ドロワー
----------------------------------*/

.drawer__toggle {
  display: none;
}

.drawer__line--center.active {
  transform: scaleX(0);
}

.drawer__line--bottom.active {
  right: 0;
  bottom: 12px;
  transform: rotate(135deg);
  background: #027B60;
}

/*gnav*/

.drawer__nav {
  display: none;
  z-index: 40;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 15.5px 20px 65px;
  overflow: scroll;
  background-color: #fff;
  transition: all 1s;
}

.drawer__nav.active {
  display: block;
  transition: all 0.6s;
}

.drawer__nav::before {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 177px;
  height: 256px;
  background: url(../img/circle/circle_drawer.svg) no-repeat center left/contain;
  content: "";
}

.drawer__nav .header__logo span {
  display: block;
  color: #fff;
  line-height: 1;
}

.drawer__nav .header-tel {
  display: block;
  margin: 20px 0 0 0;
  text-align: center;
}

.drawer__nav .header-tel .number {
  padding-left: 47px;
  font-size: 2.4rem;
}

.drawer__nav .header-tel .number::before {
  width: 42px;
  height: 27px;
}

.drawer__nav .header-tel .business-hour {
  font-size: 1.2rem;
}

.drawer__nav .mv-link {
  display: block;
  position: static;
  width: 335px;
  max-width: 100%;
  margin: 30px auto 0;
  padding: 5px;
}

.drawer__nav .mv-link__inner {
  padding: 5px 63px 5px 8px;
  border-left: 1px solid #027B60;
}

.drawer__nav .mv-link__inner::after {
  width: 63px;
}

.drawer__nav .mv-link__title {
  padding-left: 0;
  font-size: 2rem;
}

.drawer__nav .mv-link__title .font-small {
  font-size: 1.6rem;
}

.drawer__nav .mv-link__text {
  font-size: 1.2rem;
}

.drawer__nav .button {
  margin-top: 20px;
}

.drawer__nav .button-link {
  display: flex;
  align-items: center;
  width: 288px;
  max-width: 100%;
  height: 57px;
  margin: auto;
  padding: 0 0 0 35px;
}

.drawer__nav .button-link::before {
  display: inline-block;
  width: 20px;
  height: 15px;
  margin-right: 20px;
  background: url(../img/icon_mail_white.svg) no-repeat center left/contain;
  content: "";
}

.drawer__nav .button-link::after {
  content: none;
}

.drawer__nav .button-link:hover::before {
  background-image: url(../img/icon_cta_mail.svg);
}

.drawer__menu {
  width: 100%;
  margin-top: 60px;
  padding: 0 20px;
}

.drawer__menu>li {
  display: block;
  position: relative;
  position: relative;
  padding: 20px 0 15px;
  border-top: 1px solid #E3E3E3;
  font-weight: 500;
  font-size: 1.6rem;
  transition: 0.5s;
}

.drawer__menu>li:first-child {
  padding-top: 0;
  border-top: none;
}

.drawer__menu>li:last-child {
  border-bottom: 1px solid #E3E3E3;
}

.drawer__menu>li>a {
  display: inline-block;
  width: 100%;
  color: #333;
  font-weight: 500;
  line-height: 1.6;
}

.drawer__menu>li.drawer-parent {
  position: relative;
}

.drawer__menu>li.drawer-parent::after {
  position: absolute;
  top: 28px;
  right: 0;
  width: 10px;
  height: 7px;
  background: url(../img/arrow_drawer.svg) no-repeat center left/contain;
  content: "";
}

.drawer__menu>li.drawer-parent.open::after {
  transform: rotate(180deg);
}

.drawer__menu>li.drawer-parent>a {
  width: 80%;
}

.drawer__menu>li ul {
  display: none;
  margin: 10px 0 0 31px;
}

.drawer__menu>li ul li {
  position: relative;
}

.drawer__menu>li ul li+li {
  margin-top: 10px;
}

.drawer__menu>li ul li::before {
  position: absolute;
  top: 12px;
  left: -11px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #027B60;
  content: "";
}

.drawer__menu>li ul li a {
  color: #333;
  font-weight: 300;
}

.drawer-contact-button {
  margin-top: 40px;
}

.drawer-contact-button-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 400px;
  max-width: 100%;
  height: 57px;
  margin: auto;
  padding-bottom: 3px;
  border-radius: 5px;
  background-color: #027B60;
  color: #fff;
  font-weight: 500;
  font-size: 1.8rem;
}

.drawer-contact-button-link::before {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 3px 20px 0 0;
  background: url(../img/icon_mail.svg) no-repeat center left/contain;
  content: "";
}

.drawer-overlay {
  box-sizing: border-box;
  display: none;
  z-index: 39;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.drawer-overlay.open {
  display: block;
}

/*----------------------------------
トップページ：MV
----------------------------------*/

.mainvisual {
  position: relative;
  height: 100vh;
}

.mainvisual__img {
  height: 100%;
}

.mainvisual__img img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mainvisual-copy {
  z-index: 1;
  position: absolute;
  top: calc(50% - 7px);
  left: 120px;
  transform: translateY(-50%);
  color: #fff;
  white-space: nowrap;
}

.mainvisual__title {
  font-size: 4.6rem;
  line-height: 1.8;
}

.mainvisual__title .font-small {
  font-size: 3.8rem;
}

.mainvisual__subtitle {
  display: flex;
  align-items: center;
  margin-top: 10px;
  font-size: 1.8rem;
  line-height: 1.8;
}

.mainvisual__subtitle:before {
  display: inline-block;
  width: 80px;
  height: 1px;
  margin-right: 10px;
  background: #fff;
  content: "";
}

.mv-link {
  display: inline-block;
  position: absolute;
  bottom: 60px;
  left: 0;
  padding: 5px 5px 5px 0;
  background-color: #F7F7F7;
}

.mv-link__inner {
  position: relative;
  padding: 11px 84px 10px 25px;
  border: 1px solid #027B60;
  border-left: none;
}

.mv-link__inner::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 84px;
  height: 100%;
  background: url(../img/mv_banner.png) no-repeat center left/contain;
  content: "";
}

.mv-link__title {
  padding-left: 4px;
  color: #027B60;
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.mv-link__title .font-small {
  font-size: 2rem;
}

.mv-link__text {
  color: #333;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

/*----------------------------------
トップページ：ご葬儀について
----------------------------------*/

.sec {
  padding: 140px 0;
}

.content {
  margin-top: 50px;
}

.top-plan .section__lead {
  text-align: center;
}

.top-plan .button {
  margin-top: 50px;
}

.plan__lists {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 50px;
  gap: 50px 37.5px;
}

.plan__list a {
  display: block;
  position: relative;
}

.plan__list a:hover {
  opacity: 1;
}

.plan__list a:hover img {
  transform: scale(1.05);
}

.plan__list a:hover .button-link {
  background-color: #027B60;
  color: #fff;
}

.plan__list a:hover .button-link::after {
  right: 20px;
  background-image: url(../img/arrow_white.svg);
}

.plan__list .plan__text {
  color: #333;
}

.plan__list .button {
  margin-top: 20px;
}

.plan__list .button-link {
  display: flex;
  align-items: center;
  width: 219px;
  height: 48px;
  margin: auto;
  padding: 0 0 0 60px;
  transition: all 0.3s ease 0s;
}

.plan__list .button-link:hover {
  background-color: #fff;
  color: #027B60;
}

.plan__list .button-link:hover::after {
  right: 20px;
  background-image: url(../img/arrow_green.svg);
}

.plan-label {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  padding: 5px 20px;
  background-color: #fff;
  color: #027B60;
  font-size: 1.4rem;
  line-height: 1.6;
}

.plan__img {
  overflow: hidden;
}

.plan__img img {
  transition: all 0.5s ease 0s, opacity 0.9s cubic-bezier(0.5, 0, 0, 1) 0s;
}

.plan__title {
  margin-top: 20px;
  color: #027B60;
  font-size: 2.4rem;
  line-height: 1.6;
  text-align: center;
}

.plan__text {
  margin-top: 20px;
}

.plan-box {
  width: 800px;
  max-width: 100%;
  margin: 80px auto 0;
  padding: 5px;
  background: url(../img/top_funeral_bg.png) no-repeat top center/cover;
}

.plan-box__inner {
  padding: 30px 20px;
  border: 1px solid #75A69B;
}

.plan-box__title {
  color: #027B60;
  font-size: 2.2rem;
  line-height: 1.6;
  text-align: center;
}

.plan-box__lists {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  width: 564px;
  max-width: 100%;
  margin: 15px auto 0;
  gap: 10px 30px;
}

.plan-box__list {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  background-color: #fff;
}

/*----------------------------------
トップページ：式場のご案内
----------------------------------*/

.top-hall {
  overflow: hidden;
  background-color: #F7F7F7;
}

.top-hall__wrapper {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.top-hall__items {
  margin-top: 50px;
}

.top-hall__item a {
  display: block;
}

.top-hall__item a:hover {
  opacity: 1;
}

.top-hall__item a:hover .top-hall__img::after {
  transform: scale(1);
}

.top-hall__item a:hover .top-hall__img::before {
  opacity: 1;
}

.top-hall-slider {
  position: relative;
  width: 100%;
  margin: 60px auto 0;
  padding-bottom: 80px;
  overflow: visible;
}

.top-hall-slider .swiper-wrapper {
  align-items: stretch;
}

.top-hall-slider .swiper-slide {
  height: auto;
}

.top-hall__item a {
  display: block;
  height: 100%;
  background: #fff;
}

.top-hall__img {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 0;
}

.top-hall__img img {
  display: block;
  width: 100%;
  height: auto;
}

.top-hall__wrap {
  padding: 24px 20px 28px;
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal {
  top: auto;
  bottom: 0;
}

.top-hall-slider .swiper-horizontal>.swiper-pagination-progressbar,
.top-hall-slider .swiper-pagination-progressbar.swiper-pagination-horizontal {
  width: 86.549%;
  height: 2px;
}

.top-hall-slider .custom-nav {
  display: flex;
  z-index: 10;
  position: absolute;
  right: 0px;
  bottom: -15px;
  gap: 32px;
}

.top-hall-slider .custom-nav .swiper-button-next,
.top-hall-slider .custom-nav .swiper-button-prev {
  all: unset;
  width: 12px;
  height: 24px;
  cursor: pointer;
}

.top-hall-slider .custom-nav .swiper-button-prev img {
  transform: rotate(180deg);
}

.top-hall-slider .custom-nav img {
  display: block;
  width: 100%;
  height: auto;
}

.top-hall-slider .swiper-button-next::after,
.top-hall-slider .swiper-button-prev::after {
  display: none;
  content: none;
}

.swiper-pagination {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 79.629%;
  height: 2px;
  background: #CFCFCF;
}

.swiper-pagination-progress {
  width: 0%;
  height: 100%;
  background: #027B60;
  transition: width 0.5s ease;
}

.top-hall__img {
  position: relative;
  overflow: hidden;
}

.top-hall__img img {
  display: block;
  width: 100%;
  height: auto;
}

.top-hall__img::before {
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "詳しく見る";
  color: #fff;
  font-size: 2rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease 0.08s;
}

.top-hall__img::after {
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  aspect-ratio: 1/1;
  width: 180%;
  transform: scale(0);
  transform-origin: top left;
  background: rgba(3, 96, 75, 0.7);
  content: "";
  clip-path: polygon(0 0, 100% 0, 0 100%);
  pointer-events: none;
  transition: transform 0.3s ease;
}

.top-hall__wrap {
  padding: 30px;
}

.hall-name {
  color: #027B60;
  font-size: 2.4rem;
  line-height: 1.6;
  text-align: center;
}

.hall-tag__lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 5px;
}

.hall-tag__list {
  margin: 0 10px 5px 0;
  padding: 2px 10px;
  background-color: #EBF2F1;
  color: #333;
  font-size: 1.4rem;
}

.hall-tag__list:last-child {
  margin-right: 0;
}

.hall__text {
  margin-top: 15px;
  color: #333;
}

/*----------------------------------
トップページ：お客様の声・事例紹介
----------------------------------*/

.top-voice .button {
  margin-top: 80px;
}

.voice__item+.voice__item {
  margin-top: 20px;
}

.voice-link {
  display: block;
  padding: 40px 80px;
  background-color: #F7F7F7;
}

.voice-link:hover {
  opacity: 0.7;
}

.voice-head {
  display: flex;
  align-items: center;
}

.voice-name {
  margin-right: 10px;
  color: #333;
  font-size: 2rem;
  line-height: 1.6;
}

.voice-category {
  padding: 2px 8px;
  background-color: #027B60;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.6;
  min-width: 70px;
  text-align: center;
}

.voice__text {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  margin-top: 20px;
  overflow: hidden;
  color: #333;
  text-overflow: ellipsis;
}

.voice-button {
  position: relative;
  margin-top: 30px;
  padding-right: 54px;
  color: #027B60;
  line-height: 1.6;
  text-align: right;
}

.voice-button::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 10px;
  transform: translateY(-50%);
  background: url(../img/arrow_green.svg) no-repeat center left/contain;
  content: "";
}

/*----------------------------------
トップページ：ムラタの葬儀
----------------------------------*/

.bg-gray {
  position: relative;
}

.bg-gray::before {
  z-index: -1;
  position: absolute;
  top: 175px;
  left: 0;
  width: 100%;
  height: calc(100% - 175px);
  background-color: #F7F7F7;
  content: "";
}

.top-about .button {
  margin-top: 80px;
}

.top-about__item {
  display: flex;
  align-items: center;
}

.top-about__item+.top-about__item {
  margin-top: 80px;
}

.top-about__item:nth-of-type(odd) .top-about__wrap {
  margin-left: 80px;
}

.top-about__item:nth-of-type(even) {
  flex-direction: row-reverse;
}

.top-about__item:nth-of-type(even) .top-about__wrap {
  margin-right: 80px;
}

.top-about__img {
  flex: 0 0 45%;
  overflow: hidden;
}

.top-about__img img {
  transition: all 0.5s ease 0s, opacity 0.9s cubic-bezier(0.5, 0, 0, 1) 0s;
}

.top-about__img a:hover {
  opacity: 1;
}

.top-about__img a:hover img {
  transform: scale(1.05);
}

.top-about__title {
  color: #027B60;
  font-size: 2.4rem;
  line-height: 1.6;
}

.top-about__text {
  margin-top: 30px;
}

/*----------------------------------
トップページ：ご葬儀の流れ
----------------------------------*/

.top-flow .section__lead {
  text-align: center;
}

.top-flow .button {
  margin-top: 80px;
}

.top-flow__inner {
  width: min(100% - 100px, 950px);
  margin: auto;
}

.top-flow__lists {
  margin-top: 50px;
}

.top-flow__list {
  display: flex;
  position: relative;
  align-items: center;
  min-height: 75px;
  background-color: #F7F7F7;
}

.top-flow__list+.top-flow__list {
  margin-top: 68px;
}

.top-flow__list+.top-flow__list::before {
  position: absolute;
  top: -48px;
  left: 50%;
  width: 44px;
  height: 28px;
  transform: translateX(-50%);
  background: url(../img/arrow_flow.svg) no-repeat center left/contain;
  content: "";
}

.top-flow-number {
  display: flex;
  flex: 0 0 70px;
  align-items: center;
  justify-content: center;
  min-height: 75px;
  background-color: #027B60;
  color: #fff;
  font-size: 2.8rem;
  line-height: 1.6;
  font-family: "Lora", serif;
}

.top-flow__title {
  flex: 0 0 251px;
  padding-left: 20px;
  color: #027B60;
  font-size: 2rem;
  line-height: 1.6;
}

.top-flow__text {
  padding: 0 20px;
}

/*----------------------------------
トップページ：よくある質問
----------------------------------*/

.top-faq {
  z-index: 1;
  padding-right: 50px;
  padding-left: 50px;
}

.faq__content {
  width: 850px;
  max-width: 100%;
  margin: auto;
}

.faq__item:first-of-type .question {
  border-top: none;
}

.faq__item:first-of-type .answer {
  display: block;
}

.faq__item:last-of-type {
  border-bottom: 1px solid #E3E3E3;
}

.question {
  position: relative;
  padding: 25px 60px 25px 25px;
  border-top: 1px solid #CFCFCF;
}

.question:hover {
  cursor: pointer;
}

.question::before,
.question::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 25px;
  width: 16px;
  height: 2px;
  transform: translate(-50%, -50%);
  background: #027B60;
  content: "";
  transition: all 0.4s;
}

.question::before {
  transform: translate(-50%, -50%) rotate(90deg);
}

.question.minus::before {
  transform: translate(-50%, -50%) rotate(180deg);
}

.answer {
  display: none;
  padding: 15px 25px 25px 25px;
}

.q-list,
.a-list {
  display: flex;
}

.q-list-left,
.a-list-left {
  display: flex;
  flex: 0 0 36px;
  align-items: center;
  justify-content: center;
  height: 36px;
  margin-right: 20px;
  border-radius: 50%;
  font-family: "Lora", serif;
}

.q-list-left {
  background-color: #027B60;
  color: #fff;
}

.q-list-right {
  margin-top: 3px;
  font-size: 1.8rem;
  line-height: 1.6;
}

.a-list-left {
  border: 1px solid #027B60;
  background-color: #fff;
  color: #027B60;
}

.a-list-right a {
  color: #027B60;
  text-decoration: underline;
  text-decoration-thickness: 0.5px;
  text-underline-offset: 3px;
}

/*----------------------------------
トップページ：お知らせ、葬儀の基礎知識
----------------------------------*/

.section__wrap .inner2 {
  display: flex;
}

.section__wrap .inner2 .sec {
  flex: 0 0 45%;
}

.top-news .button,
.top-knowledge .button {
  margin-top: 50px;
}

.top-news__inner {
  position: relative;
}

.top-news__inner::after {
  position: absolute;
  top: 0;
  right: -60px;
  width: 1px;
  height: 100%;
  background-color: #CFCFCF;
  content: "";
}

.news__item+.news__item {
  margin-top: 20px;
}

.info {
  display: block;
  position: relative;
  padding: 15px 54px 15px 20px;
  background-color: #F7F7F7;
}

.info::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 6px;
  height: 10px;
  transform: translateY(-50%);
  background: url(../img/arrow_green.svg) no-repeat center left/contain;
  content: "";
}

.info:hover {
  opacity: 1;
}

.info:hover .info__title {
  color: #027B60;
}

.info__meta {
  display: flex;
  align-items: center;
}

.info__published {
  margin-right: 16px;
  color: #7A7A7A;
  font-size: 1.4rem;
  line-height: 1.6;
  font-family: "Lora", serif;
}

.new-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 57px;
  height: 27px;
  background-color: #027B60;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.5;
}

.info__title {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  margin-top: 5px;
  overflow: hidden;
  color: #333;
  text-overflow: ellipsis;
  transition: all 0.3s ease 0s;
}

.top-knowledge {
  margin-left: 120px;
}

.top-knowledge__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px 20px;
}

.top-knowledge-link {
  display: block;
}

.top-knowledge-link:hover {
  opacity: 1;
}

.top-knowledge-link:hover .top-knowledge__img::after {
  transform: scale(1);
}

.top-knowledge-link:hover .top-knowledge__img::before {
  opacity: 1;
}

.top-knowledge__img {
  position: relative;
  overflow: hidden;
}

.top-knowledge__img img {
  display: block;
  width: 100%;
  height: auto;
}

.top-knowledge__img::before {
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "詳しく見る";
  color: #fff;
  font-size: 1.8rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease 0.08s;
}

.top-knowledge__img::after {
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  aspect-ratio: 1/1;
  width: 150%;
  transform: scale(0);
  transform-origin: top left;
  background: rgba(3, 96, 75, 0.7);
  content: "";
  clip-path: polygon(0 0, 100% 0, 0 100%);
  pointer-events: none;
  transition: transform 0.3s ease;
}

.top-knowledge__title {
  margin-top: 10px;
  color: #333;
  font-size: 1.8rem;
  line-height: 1.6;
  text-align: center;
}

/*----------------------------------
各ページ：CTA
----------------------------------*/

.contact-part {
  position: relative;
  margin-top: 140px;
}

.contact-part .inner2 {
  padding: 80px 20px;
  background: url(../img/contact_part_bg.jpg) no-repeat top center/cover;
}

.contact-part__lead {
  color: #fff;
  text-align: center;
}

.contact-part__content {
  width: 532px;
  max-width: 100%;
  margin: 50px auto 0;
  padding: 20px 0;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.contact-part__title {
  color: #fff;
  font-size: 2.4rem;
  line-height: 1.6;
}

.contact-part__text {
  display: flex;
  align-items: center;
  margin-top: 5px;
  color: #fff;
}

.contact-part__text .number {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 4.2rem;
  line-height: 1.5;
  font-family: "Lora", serif;
}

.contact-part__text .number::before {
  display: inline-block;
  width: 70px;
  height: 55px;
  margin-right: 15px;
  background: url(../img/icon_free_dial_white.svg) no-repeat center left/contain;
  content: "";
}

.contact-part__text .business-hour {
  margin-left: 15px;
}

.contact-part-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  width: 768px;
  max-width: 100%;
  margin: 50px auto 0;
  gap: 60px;
}

.contact-part-button:first-of-type .contact-part-button-link::before {
  width: 24px;
  height: 19px;
  background: url(../img/icon_cta_mail.svg) no-repeat center left/contain;
}

.contact-part-button:first-of-type .contact-part-button-link:hover::before {
  background-image: url(../img/icon_mail_white.svg);
}

.contact-part-button:nth-of-type(2) .contact-part-button-link::before {
  width: 20px;
  height: 25px;
  background: url(../img/icon_cta_memo.svg) no-repeat center left/contain;
}

.contact-part-button:nth-of-type(2) .contact-part-button-link:hover::before {
  background-image: url(../img/icon_cta_memo_white.svg);
}

.contact-part-button:nth-of-type(3) .contact-part-button-link::before {
  width: 27px;
  height: 25px;
  background: url(../img/icon_cta_comment.svg) no-repeat center left/contain;
}

.contact-part-button:nth-of-type(3) .contact-part-button-link:hover::before {
  background-image: url(../img/icon_cta_comment_white.svg);
}

.contact-part-button-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 66px;
  border: 1px solid #fff;
  background-color: #fff;
  color: #027B60;
}

.contact-part-button-link::before {
  display: inline-block;
  margin-right: 10px;
  content: "";
}

.contact-part-button-link:hover {
  background-color: #027B60;
  color: #fff;
  opacity: 1;
}

/*----------------------------------
フッター
----------------------------------*/

.footer {
  margin-top: -180px;
  padding: 320px 0 30px;
  background-color: #282D2C;
}

.footer__above {
  text-align: center;
}

.footer-info {
  margin-top: 20px;
  color: #fff;
}

.footer-sns {
  margin-top: 20px;
}

.footer-sns a {
  display: inline-block;
}

.footer-sns a+a {
  margin-left: 17px;
}

.footer__bottom {
  margin-top: 80px;
}

.footer__nav {
  display: flex;
  justify-content: center;
}

.footer__nav>ul+ul {
  margin-left: 80px;
}

.footer__nav>ul:nth-of-type(4) li+li {
  margin-top: 10px;
}

.footer__nav>ul>li {
  line-height: 1.6;
}

.footer__nav>ul>li+li {
  margin-top: 20px;
}

.footer__nav>ul>li ul {
  margin-top: 5px;
}

.footer__nav>ul>li ul li {
  display: flex;
  position: relative;
  align-items: center;
  padding-left: 15px;
}

.footer__nav>ul>li ul li+li {
  margin-top: 5px;
}

.footer__nav>ul>li ul li::before {
  display: inline-block;
  width: 15px;
  height: 1px;
  margin-right: 5px;
  background-color: #fff;
  content: "";
}

.footer__nav>ul>li ul li a {
  font-size: 1.4rem;
}

.footer__nav ul li a {
  color: #fff;
  line-height: 1.6;
  letter-spacing: 0;
}

.footer__copy {
  margin-top: 80px;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
}

.fixed-buttons {
  z-index: 1;
  position: fixed;
  right: 20px;
  bottom: 100px;
  opacity: 0;
  transition: all 0.3s ease 0s;
}

.fixed-buttons.fade-in {
  opacity: 1;
}

.fixed-button:first-of-type .fixed-button-link {
  background-color: #423a81;
}

.fixed-button:nth-of-type(2) {
  margin-top: 20px;
}

.fixed-button:nth-of-type(2) .fixed-button-link {
  background-color: #06C755;
}

.fixed-button-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 104px;
  height: 99px;
  border-radius: 5px;
  box-shadow: 4px 4px 25px rgba(58, 71, 68, 0.14);
}

.fixed-button__text {
  margin-top: 5px;
  color: #fff;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0;
  text-align: center;
}

.disable-auto-tel a[href^="tel:"] {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}

.no-post {
  text-align: center;
}

.page-top {
  z-index: 2;
  position: fixed;
  right: 39px;
  bottom: 20px;
  width: 60px;
  height: 60px;
  border: 1px solid #027B60;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0;
  transition: all 0.3s ease 0s;
}

.page-top::after {
  position: absolute;
  top: 46%;
  left: 50%;
  left: 50%;
  width: 15px;
  height: 25px;
  transform: translate(-50%, -50%) rotate(-90deg);
  background: url(../img/arrow_green.svg) no-repeat center left/contain;
  content: "";
}

.page-top.fade-in {
  opacity: 1;
}

.page-top:hover {
  cursor: pointer;
}

@media (min-width: 768px) {

  .hidden-pc {
    display: none;
  }

}

@media (min-width: 768px) and (max-width: 1023px) {

  .hidden-tab {
    display: none;
  }

  .block-tab {
    display: block;
  }

}

@media (min-width: 1366px) {

  .hidden-xl {
    display: none;
  }

}

@media (max-width: 1326px) {

  .drop-menu__lists {
    margin-left: 80px;
    margin-left: 6.0331825038vw;
  }

  .drop-menu__list {
    width: 20vw;
    margin-right: 20px;
    margin-right: 1.5082956259vw;
  }

  .drop-menu__list a::after {
    right: 15px;
    right: 1.1312217195vw;
  }

}

@media (max-width: 1299px) {

  .hall-archive__img {
    height: 340px;
    height: 26.1538461538vw;
  }

  .plan__item .item__title {
    font-size: 2rem;
  }

  .header {
    padding-left: 20px;
  }

  .header__nav-items>li {
    margin-right: 15px;
  }

  .header__nav-items>li:last-child {
    margin-right: 15px;
  }

  .header__nav-items>li>a {
    font-size: 1.4rem;
  }

  .header-tel {
    flex: 0 0 179px;
    margin-right: 10px;
  }

  .header-tel .number {
    padding-left: 43px;
    font-size: 2.1rem;
  }

  .header-button {
    flex: 0 0 160px;
  }

  .header-button .txt {
    font-size: 1.4rem;
  }

}

@media (max-width: 1199px) {

  .other-plan__item.if-kyosai .small-buttons .button {
    flex: 0 0 calc(33.333% - 13.3333333333px);
  }

  .hidden-w1200 {
    display: none;
  }

  .drop-menu.drop-company .drop-menu__list a::after {
    right: 0;
  }

}

@media (max-width: 1179px) {

  .ad-archive__wrap.graphic .ad-archive__img img {
    max-height: 170px;
    max-height: 14.406779661vw;
  }

  .ad-archive__img {
    height: 190px;
    height: 16.1016949153vw;
  }

  .hall-modal__slider-area {
    width: 750px;
    width: 63.5593220339vw;
  }

  .hall-modal__slider {
    width: 750px;
    width: 63.5593220339vw;
  }

  .hall-modal__image {
    width: 750px;
    width: 63.5593220339vw;
    height: 500px;
    height: 42.3728813559vw;
  }

  .other-hall::after {
    height: 1000px;
  }

  .other-hall__img {
    height: 280px;
    height: 23.7288135593vw;
  }

  .plan-intro__img {
    height: 333px;
    height: 28.2203389831vw;
  }

  .plan__wrapper.plan-feature .item__img {
    height: 240px;
    height: 20.3389830508vw;
  }

  .plan__wrapper.plan-merit .item__img {
    height: 220px;
    height: 18.6440677966vw;
  }

  .plan-hall__img {
    height: 325px;
    height: 27.5423728814vw;
  }

}

@media (max-width: 1149px) {

  .recruit-sec02 .recruit-sec__title {
    padding-right: 0;
  }

  .hidden-w1150 {
    display: none;
  }

}

@media (max-width: 1099px) {

  .block-w1100 {
    display: block;
  }

  .display-w1100 {
    display: block;
  }

  .header {
    padding-right: 80px;
  }

  .header__nav {
    display: none;
  }

  .drawer__toggle {
    display: block;
    z-index: 41;
    position: fixed;
    top: 30px;
    right: 20px;
    width: 35px;
    height: 25px;
    cursor: pointer;
  }

  .drawer__wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 35px;
    height: 25px;
    transform: translate(-50%, -50%);
  }

  .drawer__line {
    display: block;
    position: absolute;
    width: 35px;
    height: 3px;
    border-radius: 2px;
    background: #027B60;
    transition: transform 0.3s;
  }

  .drawer__line--center {
    top: 11px;
  }

  .drawer__line--bottom {
    bottom: 0;
  }

  .drawer__line--top.active {
    top: 10.5px;
    right: 0;
    transform: rotate(45deg);
    background: #027B60;
  }

  .footer__nav>ul+ul {
    margin-left: 30px;
  }

}

@media (max-width: 1023px) {

  .about01 .flex {
    padding-left: 0;
  }

  .about01__content {
    margin-left: 40px;
  }

  .about02 .flex {
    padding-right: 0;
  }

  .about02__img {
    margin-left: 50px;
  }

  .about02__list {
    padding: 60px 30px;
  }

  .about02-box__inner {
    padding: 40px 20px;
  }

  .about03__content {
    margin-left: 30px;
  }

  .staff__lists {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .staff-modal__inner {
    padding: 40px;
  }

  .about05 .buttons {
    gap: 30px;
  }

  .about05 .button-link {
    width: 330px;
  }

  .group__items {
    margin-left: 30px;
  }

  .news__wrap {
    padding-left: 0;
  }

  .news__content .news__item .info {
    padding-right: 50px;
  }

  .news-sidebar {
    margin-left: 30px;
  }

  .single-sidebar {
    margin-left: 30px;
  }

  .ad-archive__items {
    gap: 50px 20px;
  }

  .ad-single-image {
    gap: 20px 30px;
  }

  .hall-archive__list {
    padding-right: 0;
  }

  .hall-archive__img {
    height: 280px;
    height: 27.3704789834vw;
  }

  .hall-archive__content {
    margin-left: 30px;
  }

  .hall-tel-number {
    margin-top: 0;
  }

  .hall__wrap {
    padding: 60px 20px;
  }

  .hall-sec .inner2 {
    padding-left: 0;
  }

  .access-map {
    margin-left: 30px;
  }

  .hall-about__wrap {
    padding: 35px 40px;
  }

  .hall-about__text {
    margin-left: 30px;
  }

  .plan__lists.col-2 {
    gap: 50px 30px;
  }

  .plan__lists.col-1 .plan__wrap {
    margin-left: 30px;
  }

  .other-plan__item {
    padding: 80px 30px;
  }

  .other-plan__item:nth-of-type(odd) .other-plan__right {
    margin-left: 30px;
  }

  .other-plan__item:nth-of-type(even) .other-plan__right {
    margin-right: 30px;
  }

  .other-plan__item:nth-of-type(2) .buttons {
    gap: 10px;
  }

  .other-plan__item:nth-of-type(2) .button {
    width: calc(50% - 5px);
  }

  .other-plan__item:nth-of-type(2) .button-link::after {
    right: 10px;
  }

  .other-plan__item.if-kyosai .small-buttons .button {
    flex: 0 0 calc(33.333% - 6.6666666667px);
  }

  .other-plan__item.if-kyosai .small-buttons .button+.button {
    margin-left: 10px;
  }

  .other-plan__item.if-kyosai .small-buttons .button-link::after {
    right: 10px;
  }

  .contract-merit__lists {
    gap: 20px;
  }

  .plan-intro__img {
    height: 291px;
    height: 28.4457478006vw;
  }

  .plan-intro__text {
    margin-left: 30px;
  }

  .plan__wrapper.plan-feature .plan__item {
    width: calc(50% - 15px);
  }

  .plan__wrapper.plan-feature .item__img {
    height: 288px;
    height: 28.1524926686vw;
  }

  .plan__wrapper.plan-merit .plan__items {
    gap: 30px;
  }

  .plan__wrapper.plan-merit .plan__item {
    width: calc(50% - 15px);
  }

  .plan__wrapper.plan-merit .item__img {
    height: 300px;
    height: 29.3255131965vw;
  }

  .plan-hall__img {
    height: 281px;
    height: 27.468230694vw;
  }

  .plan-sec04__lists {
    gap: 20px;
  }

  .plan-sec04__list .number {
    font-size: 3.6rem;
  }

  .plan-sec04__title {
    font-size: 2rem;
  }

  .knowledge-archive__wrap .button {
    margin-left: 30px;
  }

  .knowledge-single__inner {
    padding: 80px 40px;
  }

  .other-link {
    gap: 20px;
  }

  .other-link .button {
    width: calc(33.333% - 13.3333333333px);
  }

  .other-link .button-link::after {
    right: 10px;
  }

  .contact__wrapper {
    padding: 80px 40px;
  }

  .contact-text {
    margin-left: 20px;
  }

  .recruit-intro__content {
    margin-left: 30px;
  }

  .recruit-intro__title {
    font-size: 3.2rem;
  }

  .recruit-sec01__content {
    margin-right: 30px;
  }

  .recruit-sec02__content {
    margin-left: 30px;
  }

  .recruit-sec04__list {
    padding: 40px;
  }

  .recruit-sec04__list:first-child {
    padding-right: 40px;
  }

  .recruit-sec04__list ul {
    margin-left: 40px;
  }

  .recruit-sec04__title {
    flex: 0 0 300px;
  }

  .recruit-sec04__title .ttl {
    font-size: 2.2rem;
  }

  .youtube__wrap {
    gap: 30px;
  }

  .policy__sub-title {
    font-size: 2.1rem;
  }

  .inner {
    width: min(100% - 80px, 1080px);
  }

  .inner2 {
    width: min(100% - 80px, 1200px);
  }

  .drop-menu {
    max-width: calc(100% - 40px);
  }

  .header-tel .number {
    padding-left: 40px;
    font-size: 20px;
  }

  .header-tel .number::before {
    top: 1px;
    width: 39px;
    height: 24px;
  }

  .mainvisual__subtitle {
    font-size: 1.8rem;
  }

  .plan__lists {
    gap: 50px 20px;
  }

  .voice-link {
    padding: 40px;
  }

  .top-about__item:nth-of-type(odd) .top-about__wrap {
    margin-left: 30px;
  }

  .top-about__item:nth-of-type(even) .top-about__wrap {
    margin-right: 30px;
  }

  .top-flow__inner {
    width: min(100% - 80px, 950px);
  }

  .question {
    padding-right: 45px;
  }

  .question::before,
  .question::after {
    right: 5px;
  }

  .footer__nav {
    flex-wrap: wrap;
    width: 600px;
    max-width: 100%;
    margin: auto;
  }

  .footer__nav>ul+ul {
    margin-left: 80px;
  }

  .footer__nav>ul:nth-of-type(n + 3) {
    margin-top: 60px;
  }

  .footer__nav>ul:nth-of-type(3) {
    margin-left: 0;
  }

}

@media (max-width: 899px) {

  .block-w900 {
    display: block;
  }

}

@media (max-width: 767px) {

  .page-mainvisual {
    padding: 130px 0 60px;
  }

  .page-mainvisual__title {
    font-size: 3.2rem;
  }

  .flex {
    display: block;
  }

  .breadcrumb {
    padding: 0 20px;
  }

  .breadcrumb__items>span {
    font-size: 1.2rem;
  }

  .breadcrumb__items>span:nth-child(2) {
    white-space: nowrap;
  }

  .breadcrumb__items>span:not(:first-child) {
    margin-left: 30px;
  }

  .breadcrumb__items>span:not(:first-child)::before {
    top: 9px;
    left: -23px;
  }

  .intro {
    padding: 80px 0;
  }

  .intro__sub-title+.intro__title .ttl {
    margin-top: -10px;
    padding-top: 30px;
  }

  .intro__sub-title .sub-ttl {
    font-size: 1.6rem;
  }

  .intro__title .ttl {
    padding: 20px;
    font-size: 2rem;
  }

  .intro__title .border {
    line-height: 1.6;
  }

  .pagination {
    margin-top: 50px;
  }

  .pagination * {
    margin-right: 20px;
  }

  .page-numbers.prev {
    margin-right: 24px;
  }

  .page-numbers.next {
    margin-left: 4px;
  }

  .page-404 {
    padding-top: 120px;
  }

  .page-404__title {
    font-size: 3.2rem;
  }

  .page-404__wrap {
    margin-top: 30px;
  }

  .page-404__text {
    text-align: left;
  }

  .page-404__text .d-iblock {
    display: inline;
  }

  .about01__img {
    text-align: center;
  }

  .about01__content {
    margin: 30px 0 0 0;
  }

  .about01__title {
    font-size: 2.4rem;
  }

  .about01__text {
    margin-top: 30px;
  }

  .about02__title {
    font-size: 2rem;
  }

  .about02__text {
    margin-top: 30px;
  }

  .about02__img {
    margin: 30px 0 0 0;
    padding: 0 5px;
    text-align: center;
  }

  .about02__list {
    padding: 40px 20px;
  }

  .about02__list:nth-child(-n+2) {
    width: 100%;
  }

  .about02__list:nth-child(n+3) {
    margin-top: 50px;
  }

  .about02__list:nth-child(2) {
    margin-top: 50px;
  }

  .about02__list>.number {
    font-size: 2.2rem;
  }

  .about02__list>.number::before {
    width: 60px;
    height: 60px;
  }

  .about02__list .list__title {
    font-size: 2rem;
  }

  .about02__list .list__title::after {
    width: 40px;
    margin-left: 5px;
  }

  .about02__list .list__text {
    margin-top: 15px;
  }

  .about02__list>ul {
    margin-top: 15px;
  }

  .about02__list>ul>li.underline .txt {
    margin-left: 20px;
  }

  .about02__list>ul>li.underline .label__lists {
    margin-left: 20px;
  }

  .about02-box {
    margin-top: 50px;
  }

  .about02-box__inner {
    padding: 30px 20px;
    text-align: left;
  }

  .about02-box__text .d-iblock {
    display: inline;
  }

  .about03__content {
    margin: 30px 0 0 0;
  }

  .about03__text {
    margin-top: 30px;
  }

  .about04__text {
    text-align: left;
  }

  .about04__text .d-iblock {
    display: inline;
  }

  .staff__lists {
    grid-template-columns: 1fr 1fr;
    margin-top: 30px;
    gap: 30px 10px;
  }

  .staff__list {
    display: flex;
    flex-direction: column;
  }

  .staff__list::after {
    width: 25px;
    height: 18px;
  }

  .staff__list .position {
    flex: 1;
    min-height: initial;
    font-size: 1.3rem;
    line-height: 1.4;
  }

  .staff__list .name {
    padding-right: 27px;
    font-size: 1.5rem;
  }

  .staff-modal__content {
    width: calc(100% - 24px);
    max-height: calc(100vh - 40px);
    overflow-y: auto;
  }

  .staff-modal__inner {
    display: block;
    padding: 40px 20px 24px;
  }

  .staff-modal__left {
    width: 100%;
    max-width: 220px;
    margin: 0 auto 20px;
  }

  .staff-modal__text {
    font-size: 13px;
    line-height: 1.9;
  }

  .about05 .buttons {
    flex-direction: column;
    margin-top: 40px;
    gap: 20px;
  }

  .about05 .button-link {
    height: 65px;
    margin: auto;
    font-size: 1.6rem;
  }

  .table th,
  .table td {
    display: block;
    padding: 15px 5px;
  }

  .table th {
    width: 100%;
  }

  .google-map {
    margin-top: 30px;
  }

  .about06 .flex {
    margin-top: 30px;
  }

  .about06__text {
    text-align: left;
  }

  .group__items {
    margin: 30px 0 0 0;
  }

  .group__item {
    padding-bottom: 20px;
  }

  .group__item+.group__item {
    margin-top: 20px;
  }

  .group-address {
    margin-top: 10px;
  }

  .news__wrap {
    display: block;
  }

  .news__content .news__item .info {
    padding-right: 25px;
  }

  .news-sidebar {
    margin: 80px 0 0 0;
  }

  .single-news {
    margin-top: 70px;
  }

  .single-news__title {
    line-height: 1.8;
  }

  .single-news__content {
    padding-bottom: 60px;
  }

  .single-news__content p {
    margin-top: 10px;
  }

  .single-news__content h2 {
    margin: 30px 0 10px;
    line-height: 1.8;
  }

  .single-news__content h3 {
    margin: 20px 0 10px;
    line-height: 1.8;
  }

  .single-sidebar {
    margin: 80px 0 0 0;
  }

  .single__footer-left a,
  .single__footer-right a {
    font-size: 1.5rem;
  }

  .single__footer-left a::before,
  .single__footer-right a::before {
    width: 20px;
  }

  .single__footer-left a {
    padding-left: 25px;
  }

  .single__footer-center {
    top: 12px;
    font-size: 1.5rem;
  }

  .single__footer-right a {
    padding-right: 25px;
  }

  .ad-archive__wrap.graphic .ad-archive__img img {
    max-height: 170px;
    max-height: 45.3333333333vw;
  }

  .ad-archive__wrap+.ad-archive__wrap {
    margin-top: 100px;
  }

  .ad-archive__title {
    font-size: 2.1rem;
  }

  .ad-archive__content {
    margin-top: 30px;
  }

  .ad-archive__content+.ad-archive__content {
    margin-top: 50px;
  }

  .ad-archive__items {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .ad-archive__img {
    height: 187px;
    height: 49.8666666667vw;
  }

  .ad-single__title {
    padding: 10px;
    line-height: 1.6;
  }

  .ad-single__content {
    padding: 30px 0 60px;
  }

  .ad-single__content p {
    margin-top: 10px;
  }

  .ad-single-image {
    flex-direction: column;
    align-items: center;
    margin-bottom: 30px;
    gap: 20px 30px;
  }

  .voice-archive .voice__item+.voice__item {
    margin-top: 20px;
  }

  .voice-single__inner {
    padding: 30px 20px;
  }

  .voice-single__title {
    padding: 10px;
    font-size: 2.2rem;
    line-height: 1.6;
  }

  .voice-single__content p {
    background-size: 100% 2.5em;
    line-height: 2.5;
  }

  .staff-comment {
    margin: 30px 0 60px;
    padding: 20px 20px 30px;
  }

  .staff-comment__wrap {
    display: block;
  }

  .staff-comment__img {
    text-align: center;
  }

  .staff-comment__content {
    margin: 10px 0 0 0;
  }

  .staff-comment__title {
    justify-content: center;
  }

  .staff-comment__title::before,
  .staff-comment__title::after {
    width: 30px;
  }

  .staff-comment__title::before {
    margin-right: 5px;
    content: "";
  }

  .staff-comment__title::after {
    margin-left: 5px;
  }

  .lead {
    padding-bottom: 50px;
  }

  .lead::after {
    height: 40px;
  }

  .hall-archive__list {
    flex-direction: column;
    padding-bottom: 40px;
  }

  .hall-archive__list+.hall-archive__list {
    margin-top: 40px;
  }

  .hall-archive__list .button {
    order: 3;
  }

  .hall-archive-image {
    display: contents;
  }

  .hall-archive__img {
    height: 213px;
    height: 56.8vw;
  }

  .hall-archive__img {
    order: 1;
  }

  .hall-archive__content {
    order: 2;
    margin: 30px 0 0 0;
  }

  .hall-single .hall-name {
    font-size: 2.2rem;
  }

  .hall-single .hall-category__lists {
    margin-top: 10px;
  }

  .hall-single .hall__text {
    text-align: left;
  }

  .hall__wrap {
    padding: 30px 20px;
  }

  .hall__wrap.facility {
    margin-top: 40px;
  }

  .hall__wrap.floor-map .hall__img img {
    padding: 5px 20px;
  }

  .hall__wrap .item__title {
    font-size: 2.2rem;
  }

  .hall__items {
    gap: 20px 10px;
  }

  .hall__item {
    width: calc(50% - 5px);
    max-width: initial;
  }

  .hall-modal.is-floor .hall-modal__slide-image {
    height: 309px;
    height: 82.4vw;
  }

  .hall-modal.is-floor .hall-modal__nav--prev {
    left: -28px;
  }

  .hall-modal.is-floor .hall-modal__nav--next {
    right: -28px;
  }

  .hall-modal__content {
    padding: 96px 30px 60px;
  }

  .hall-modal__slider-area {
    width: 275px;
    width: 73.3333333333vw;
    max-width: 100%;
  }

  .hall-modal__slider {
    width: 275px;
    width: 73.3333333333vw;
  }

  .hall-modal__image {
    width: 275px;
    width: 73.3333333333vw;
    height: 183px;
    height: 48.8vw;
  }

  .hall-modal.is-floor .hall-modal__image {
    height: calc(100vh - 420px);
  }

  .hall-modal__header {
    margin-bottom: 18px;
  }

  .hall-modal__heading {
    padding-right: 70px;
    font-size: 20px;
    text-align: left;
  }

  .hall-modal__count {
    top: -35px;
    right: 0;
    transform: none;
  }

  .hall-modal__body {
    display: block;
  }

  .hall-modal__slider {
    max-width: 100%;
  }

  .hall-modal__nav {
    top: calc((100% - 28px) / 2);
    width: 36px;
    height: 36px;
  }

  .hall-modal__nav--prev {
    left: -28px;
  }

  .hall-modal__nav--next {
    right: -28px;
  }

  .hall-modal__slide-title {
    font-size: 14px;
  }

  .hall-sec__title.vertical {
    padding-bottom: 50px;
  }

  .hall-sec__title.vertical::after {
    height: 40px;
  }

  .hall-sec__title.beside {
    padding-right: 50px;
  }

  .hall-sec__title.beside::after {
    width: 40px;
  }

  .hall-sougi__title,
  .hall-sougi-static__title {
    font-size: 1.6rem;
  }

  .hall-sougi__img {
    margin-top: 5px;
  }

  .access__wrapper {
    display: block;
  }

  .access__content .table th {
    width: 100%;
  }

  .access-map {
    height: 300px;
    margin: 30px 0 0 0;
  }

  .hall-about {
    margin-top: 70px;
  }

  .hall-about__wrap {
    display: block;
    padding: 30px 20px;
  }

  .hall-about__title {
    font-size: 2.2rem;
  }

  .hall-about__text {
    margin: 20px 0 0 0;
  }

  .other-hall::after {
    height: calc(100% + 300px);
  }

  .other-hall__items {
    flex-direction: column;
    gap: 40px;
  }

  .other-hall__item {
    margin: auto;
  }

  .other-hall__img {
    height: 213px;
    height: 56.8vw;
  }

  .other-hall__title {
    margin-top: 10px;
    font-size: 2rem;
  }

  .plan-archive .plan-box {
    margin-top: 70px;
  }

  .plan__lists.col-2 {
    gap: 40px;
  }

  .plan__lists.col-2 {
    grid-template-columns: 1fr;
  }

  .plan__lists.col-1 {
    margin-top: 70px;
  }

  .plan__lists.col-1 .plan__list {
    padding-bottom: 30px;
  }

  .plan__lists.col-1 .plan__list+.plan__list {
    margin-top: 30px;
  }

  .plan__lists.col-1 .plan__list a {
    display: block;
  }

  .plan__lists.col-1 .plan__list .button-link {
    margin: auto;
  }

  .plan__lists.col-1 .plan__wrap {
    margin: 20px 0 0 0;
  }

  .plan__lists.col-1 .plan__title {
    justify-content: center;
  }

  .cta {
    padding: 40px 20px;
  }

  .cta .contact-part__lead {
    font-size: 1.6rem;
    text-align: center;
  }

  .other-plan__item {
    flex-direction: column;
    align-items: initial;
    padding: 40px 20px;
  }

  .other-plan__item+.other-plan__item {
    margin-top: 40px;
  }

  .other-plan__item:nth-of-type(odd) .other-plan__right {
    margin: 30px 0 0 0;
  }

  .other-plan__item:nth-of-type(even) {
    flex-direction: column;
  }

  .other-plan__item:nth-of-type(even) .other-plan__right {
    margin: 30px 0 0 0;
  }

  .other-plan__item:nth-of-type(2) .button {
    width: 100%;
    margin: auto;
  }

  .other-plan__item:nth-of-type(2) .button+.button {
    margin-top: 10px;
  }

  .other-plan__item:nth-of-type(2) .button-link::after {
    right: 20px;
  }

  .other-plan__item.if-kyosai .small-buttons {
    order: 5;
  }

  .other-plan__item.if-kyosai .small-buttons .button-link::after {
    right: 20px;
  }

  .other-plan__item .buttons {
    display: block;
    order: 6;
  }

  .other-plan__left {
    display: contents;
  }

  .other-plan__title {
    order: 1;
    margin-bottom: 15px;
    font-size: 2rem;
  }

  .other-plan__text {
    order: 3;
  }

  .other-plan__right {
    order: 4;
  }

  .gift__item {
    display: block;
  }

  .gift__item+.gift__item {
    margin-top: 30px;
  }

  .gift__wrap {
    margin: 10px 0 0 0;
  }

  .youtube {
    margin: auto;
  }

  .other-plan__sub-title {
    order: 2;
  }

  .contract-corp {
    margin-top: 70px;
  }

  .contract-corp__text {
    margin-top: 30px;
  }

  .contract-merit {
    margin-top: 30px;
  }

  .contract-merit__lists {
    grid-template-columns: 1fr;
  }

  .contract-merit__list {
    width: 300px;
    max-width: 100%;
    margin: auto;
  }

  .contract-corp-box__title {
    font-size: 2rem;
  }

  .contract-corp-box__lists {
    grid-template-columns: 1fr 1fr;
    width: 340px;
    gap: 20px;
  }

  .plan-intro .button {
    margin-top: 30px;
  }

  .plan-intro__title {
    font-size: 3rem;
  }

  .plan-intro__lead {
    font-size: 1.6rem;
  }

  .plan-intro__wrap {
    display: block;
    margin-top: 30px;
  }

  .plan-intro__img {
    height: 217px;
    height: 57.8666666667vw;
  }

  .plan-intro__text {
    margin: 20px 0 0 0;
  }

  .plan__wrapper.plan-feature .plan__item {
    width: 100%;
  }

  .plan__wrapper.plan-feature .item__img {
    height: 211px;
    height: 56.2666666667vw;
  }

  .plan__wrapper.plan-feature .item__title {
    position: static;
    margin-top: 10px;
    padding: 0;
  }

  .plan__wrapper.plan-merit {
    margin-top: 70px;
  }

  .plan__wrapper.plan-merit .plan__item {
    width: 100%;
  }

  .plan__wrapper.plan-merit .item__img {
    height: 220px;
    height: 58.6666666667vw;
  }

  .plan-sec02 .section__title.beside {
    display: block;
    padding: 0 0 50px 0;
    text-align: center;
  }

  .plan-sec02 .section__title.beside::after {
    top: initial;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 40px;
    transform: translateX(-50%);
  }

  .plan-sec02__text {
    margin-top: 30px;
  }

  .plan-sec02__text br {
    display: none;
  }

  .plan-example__list .number {
    flex: 0 0 60px;
    font-size: 1.6rem;
  }

  .plan-hall__item {
    width: 100%;
  }

  .plan-hall__img {
    height: 213px;
    height: 56.8vw;
  }

  .plan-sec04__lists {
    gap: 30px;
  }

  .plan-sec04__list {
    width: 100%;
    padding: 20px 20px 30px;
  }

  .plan-sec05 .button {
    margin-top: 40px;
  }

  .knowledge-archive .artcle__items {
    grid-template-columns: 1fr;
    margin-top: 30px;
  }

  .knowledge-archive .artcle__text {
    margin: 20px 0;
  }

  .knowledge-archive__list:nth-child(2) {
    margin-top: 70px;
  }

  .knowledge-archive__list .section__title.beside {
    display: block;
    padding: 0 0 50px 0;
    text-align: center;
  }

  .knowledge-archive__list .section__title.beside::after {
    top: initial;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 40px;
    transform: translateX(-50%);
  }

  .knowledge-archive__wrap {
    display: block;
    margin-top: 30px;
  }

  .knowledge-archive__wrap .button {
    margin: 30px 0 0 0;
  }

  .knowledge-single__lead {
    margin-top: 30px;
    text-align: left;
  }

  .knowledge-single__inner {
    margin-top: 30px;
    padding: 40px 20px;
  }

  .knowledge-single__content h2 {
    margin-bottom: 15px;
    font-size: 2rem;
    line-height: 1.6;
  }

  .knowledge-single__content h2::before {
    margin-top: 12px;
  }

  .knowledge-single__content h2:not(:first-of-type) {
    margin-top: 30px;
    padding-top: 30px;
  }

  .knowledge-single__content h3 {
    margin: 20px 0 10px 0;
    padding: 4px 10px 6px;
    line-height: 1.6;
  }

  .knowledge-single__content p {
    padding-left: 0;
  }

  .knowledge-single__content p:last-of-type {
    padding-bottom: 30px;
  }

  .knowledge-link {
    margin-top: 50px;
  }

  .manner-link {
    display: block;
    width: 274px;
    max-width: 100%;
    margin: auto;
  }

  .manner-link ul {
    padding: 20px 5px 20px 40px;
  }

  .manner-link ul li+li {
    margin-top: 5px;
  }

  .manner-category {
    width: 100%;
  }

  .other-link {
    display: block;
  }

  .other-link .button {
    width: 274px;
    max-width: 100%;
    margin: auto;
  }

  .other-link .button+.button {
    margin-top: 10px;
  }

  .other-link .button-link::after {
    right: 20px;
  }

  .contact-box__text {
    font-size: 1.6rem;
  }

  .contact-intro {
    margin-top: 40px;
  }

  .contact-intro-buttons {
    flex-direction: column;
    gap: 10px;
  }

  .contact-intro-button {
    flex: initial;
    width: 188px;
    margin: auto;
  }

  .contact-intro__text {
    padding-bottom: 50px;
    text-align: left;
  }

  .contact-intro__text::after {
    height: 40px;
  }

  .contact-intro__text .d-iblock {
    display: inline;
  }

  .contact-line {
    margin-top: 30px;
    padding: 20px;
  }

  .contact-line__wrap {
    display: block;
  }

  .contact-line__title {
    font-size: 1.8rem;
    text-align: center;
  }

  .qr-code {
    width: 120px;
    margin: 20px auto 0;
  }

  .qr-code__img {
    margin-top: 0;
  }

  .request .contact-row:nth-child(3) {
    margin-bottom: 20px;
  }

  .contact__wrapper {
    margin-top: 30px;
    padding: 40px 20px;
  }

  .contact__wrap {
    margin-top: 30px;
  }

  .contact-row {
    display: block;
    margin-bottom: 20px;
  }

  .contact-row:nth-child(3) {
    margin-bottom: 10px;
  }

  .contact-row.contact-type .contact-text .flex ul {
    margin: 5px 0 0 0;
  }

  .contact-title {
    justify-content: flex-start;
  }

  .contact-text {
    margin: 10px auto 0;
  }

  .contact-text .flex {
    display: block;
  }

  .contact-text .flex .date {
    display: block;
  }

  .contact-text .flex .date input {
    width: 100%;
    max-width: 100%;
    margin: 5px 0 0 0;
  }

  .contact-text .flex .time {
    margin: 10px 0 0 0;
  }

  .contact-text .post input {
    width: 200px;
  }

  .date__field::before {
    top: 18px;
    left: 22px;
  }

  textarea {
    margin: auto;
    line-height: 1.5;
  }

  .radio-content .contact-text {
    padding-bottom: 6px;
  }

  input[type=checkbox]+span {
    font-size: 1.5rem;
  }

  .contact__check {
    margin-top: 40px;
  }

  .privacy-policy-link {
    text-decoration-thickness: 1px;
  }

  .submit-button {
    margin-top: 30px;
  }

  .contact-thanks__content .text__wrap {
    margin-top: 30px;
    text-align: left;
  }

  .contact-thanks__content .button {
    margin-top: 40px;
  }

  .contact-thanks__title {
    font-size: 2.2rem;
  }

  .contact-thanks__wrap .button {
    margin-top: 30px;
  }

  .contact-thanks__text {
    font-size: 1.6rem;
  }

  .recruit-intro__wrap {
    display: block;
  }

  .recruit-intro__content {
    margin: 30px 0 0 0;
  }

  .recruit-intro__title {
    font-size: 2.4rem;
  }

  .recruit-intro__text {
    margin-top: 20px;
  }

  .recruit-sec01 .section__title.beside,
  .recruit-sec04 .section__title.beside {
    display: block;
    padding: 0 0 50px 0;
    text-align: center;
  }

  .recruit-sec01 .section__title.beside::after,
  .recruit-sec04 .section__title.beside::after {
    top: initial;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 40px;
    transform: translateX(-50%);
  }

  .recruit-sec01__wrap {
    display: block;
  }

  .recruit-sec01__content {
    margin: 30px 0 0 0;
  }

  .recruit-sec01__content .button {
    margin-top: 20px;
    text-align: center;
  }

  .recruit-sec02__wrap {
    display: block;
  }

  .recruit-sec02__content {
    margin: 30px 0 0 0;
  }

  .recruit-sec__title {
    font-size: 2rem;
  }

  .recruit-sec__text {
    margin-top: 15px;
  }

  .recruitment__item+.recruitment__item {
    margin-top: 40px;
  }

  .recruitment__title {
    font-size: 2rem;
  }

  .recruitment__content {
    margin-top: 20px;
  }

  .recruit-sec04__list {
    padding: 60px 20px 40px;
  }

  .recruit-sec04__list+.recruit-sec04__list {
    margin-top: 30px;
  }

  .recruit-sec04__list:first-child {
    padding-right: 20px;
  }

  .recruit-sec04__list .number {
    top: 0;
    font-size: 3.6rem;
  }

  .recruit-sec04__list ul {
    margin: 30px 0 0 0;
  }

  .recruit-sec04__wrap {
    display: block;
  }

  .recruit-sec04__title .ttl {
    padding-bottom: 3px;
    font-size: 2rem;
  }

  .recruit-sec05 .button {
    margin-top: 30px;
  }

  .youtube__wrap {
    flex-direction: column;
    gap: 20px;
  }

  .recruit-sec06 .answer {
    padding-right: 0;
  }

  .policy__list+.policy__list {
    margin-top: 30px;
  }

  .policy__title {
    font-size: 2rem;
  }

  .policy__text {
    margin-top: 10px;
  }

  .policy__sub-title {
    font-size: 1.8rem;
  }

  .policy__sub-title .number {
    margin-right: 0;
  }

  .text__lists {
    margin-top: 10px;
  }

  .text__list {
    padding-right: 0;
  }

  .hidden-sp {
    display: none;
  }

  .inner {
    width: min(100% - 40px, 1080px);
  }

  .inner2 {
    width: min(100% - 40px, 1200px);
  }

  .section__title {
    font-size: 3rem;
  }

  .section__title.vertical {
    padding-bottom: 50px;
  }

  .section__title.vertical::after {
    height: 40px;
  }

  .section__title.beside {
    padding-right: 50px;
  }

  .section__title.beside::after {
    width: 40px;
  }

  .button-link {
    font-size: 1.6rem;
  }

  .header {
    height: 70px;
    padding-top: 15px;
  }

  .header__logo {
    width: 120px;
  }

  .header-tel {
    display: none;
  }

  .header-button {
    display: none;
  }

  .drawer__toggle {
    top: 0;
    right: 0;
    width: 75px;
    height: 70px;
    background-color: #027B60;
  }

  .drawer__wrapper {
    height: 22px;
  }

  .drawer__line {
    height: 2px;
    background: #fff;
  }

  .drawer__line--center {
    top: 10px;
  }

  .drawer__line--top.active {
    background: #fff;
  }

  .drawer__line--bottom.active {
    bottom: 9.5px;
    background: #fff;
  }

  .drawer__nav {
    padding-top: 15px;
  }

  .drawer__wrap {
    width: 100%;
  }

  .drawer__menu {
    margin-top: 73px;
  }

  .drawer-contact-button {
    margin-top: 20px;
  }

  .mainvisual-copy {
    top: 301px;
    top: 80.2666666667vw;
    left: 50%;
    transform: translateX(-50%);
  }

  .mainvisual__title {
    font-size: 32px;
    font-size: 8.5333333333vw;
  }

  .mainvisual__title .font-small {
    font-size: 24px;
    font-size: 6.4vw;
  }

  .mainvisual__subtitle {
    display: flex;
    flex-direction: column;
    font-size: 1.6rem;
    text-align: center;
  }

  .mainvisual__subtitle:before {
    width: 1px;
    height: 60px;
    margin: 0 0 10px 0;
  }

  .mv-link {
    display: none;
  }

  .sec {
    padding: 70px 0;
  }

  .content {
    margin-top: 40px;
  }

  .top-plan .section__lead {
    font-size: 1.58rem;
  }

  .top-plan .button {
    margin-top: 30px;
  }

  .plan__lists {
    grid-template-columns: 1fr;
    margin-top: 30px;
    gap: 50px;
  }

  .plan__list .button {
    margin-top: 15px;
  }

  .plan-label {
    height: 32px;
    padding: 5px 9px;
  }

  .plan__title {
    margin-top: 10px;
    font-size: 2.2rem;
  }

  .plan__text {
    margin-top: 10px;
  }

  .plan-box {
    margin-top: 60px;
  }

  .plan-box__inner {
    padding: 25px 7px;
  }

  .plan-box__title {
    font-size: 2rem;
  }

  .plan-box__lists {
    grid-template-columns: 1fr 1fr;
    width: 400px;
    gap: 10px 5px;
  }

  .plan-box__list {
    height: 30px;
    font-size: 1.5rem;
  }

  .top-hall .content {
    display: flex;
    flex-direction: column;
  }

  .top-hall .section__lead {
    order: 1;
  }

  .top-hall .button {
    order: 3;
    margin-top: 48px;
  }

  .top-hall__wrapper {
    display: contents;
  }

  .top-hall__items {
    order: 2;
    margin-top: 30px;
    padding-left: 30px;
    padding-left: 8vw;
  }

  .top-hall-slider {
    max-width: 100%;
    margin-top: 0;
    padding-bottom: 30px;
  }

  .top-hall__wrap {
    padding: 20px 10px;
  }

  .top-hall-slider .swiper-horizontal>.swiper-pagination-progressbar,
  .top-hall-slider .swiper-pagination-progressbar.swiper-pagination-horizontal {
    width: 71.641%;
  }

  .top-hall-slider .custom-nav {
    bottom: -12px;
  }

  .swiper-pagination {
    left: -30px;
    width: 78.7%;
  }

  .hall-tag__list {
    padding: 2px 5px;
  }

  .hall__text {
    margin-top: 10px;
  }

  .top-voice .button {
    margin-top: 40px;
  }

  .voice-head {
    flex-wrap: wrap;
  }

  .voice-link {
    padding: 20px 15px;
  }

  .voice-name {
    font-size: 1.8rem;
  }

  .voice-category {
    margin-left: auto;
  }

  .voice__text {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.4;
  }

  .voice-button {
    margin-top: 20px;
    padding-right: 34px;
  }

  .bg-gray::before {
    top: 98px;
    height: calc(100% - 98px);
  }

  .top-about .button {
    margin-top: 40px;
  }

  .top-about__item {
    display: block;
  }

  .top-about__item+.top-about__item {
    margin-top: 60px;
  }

  .top-about__item:nth-of-type(odd) .top-about__wrap {
    margin: 20px 0 0 0;
  }

  .top-about__item:nth-of-type(even) .top-about__wrap {
    margin: 20px 0 0 0;
  }

  .top-about__title {
    font-size: 2.2rem;
  }

  .top-about__text {
    margin-top: 20px;
  }

  .top-flow .button {
    margin-top: 40px;
  }

  .top-flow__inner {
    width: min(100% - 40px, 950px);
  }

  .top-flow__lists {
    margin-top: 40px;
  }

  .top-flow__list {
    display: block;
    padding: 6.5px 0 5px;
  }

  .top-flow__list+.top-flow__list {
    margin-top: 42px;
  }

  .top-flow__list+.top-flow__list::before {
    top: -34px;
    width: 36px;
  }

  .top-flow-number {
    position: absolute;
    top: 0;
    left: 0;
    width: 48px;
    height: 45px;
    min-height: initial;
    font-size: 2.2rem;
  }

  .top-flow__title {
    padding-left: 58px;
  }

  .top-flow__text {
    padding: 12px 10px 0 58px;
  }

  .top-faq {
    padding-right: 20px;
    padding-left: 20px;
  }

  .question {
    padding: 15.5px 26px 15.5px 0;
    font-size: 16px;
  }

  .question::before,
  .question::after {
    right: -7px;
  }

  .answer {
    padding: 15px 0;
  }

  .q-list {
    align-items: center;
  }

  .q-list-left,
  .a-list-left {
    margin-right: 10px;
  }

  .q-list-right {
    margin-top: 0;
    font-size: 1.6rem;
  }

  .section__wrap .inner2 {
    display: block;
  }

  .top-news .button,
  .top-knowledge .button {
    margin-top: 40px;
  }

  .top-news__inner::after {
    top: initial;
    right: initial;
    bottom: -60px;
    left: 0;
    width: 100%;
    height: 1px;
  }

  .info {
    padding-right: 45px;
  }

  .top-knowledge {
    margin-left: 0;
    padding-top: 60px;
  }

  .top-knowledge__items {
    gap: 20px 11px;
  }

  .top-knowledge__title {
    font-size: 1.6rem;
  }

  .contact-part {
    margin-top: 70px;
  }

  .contact-part .inner2 {
    padding: 60px 20px;
    background-image: url(../img/contact_part_bg_sp.jpg);
  }

  .contact-part__lead {
    text-align: left;
  }

  .contact-part__content {
    margin-top: 30px;
    padding: 10px 0;
  }

  .contact-part__title {
    font-size: 2rem;
    text-align: center;
  }

  .contact-part__text {
    flex-direction: column;
  }

  .contact-part__text .number {
    font-size: 3rem;
  }

  .contact-part__text .number::before {
    width: 56px;
    height: 47px;
    margin-right: 10px;
  }

  .contact-part__text .business-hour {
    margin-left: 0;
    font-size: 1.4rem;
  }

  .contact-part-buttons {
    grid-template-columns: 1fr;
    margin-top: 30px;
    gap: 20px;
  }

  .footer {
    margin-top: -230px;
    padding-top: 300px;
  }

  .footer-logo {
    width: 180px;
    margin: auto;
  }

  .footer-sns a+a {
    margin-left: 10px;
  }

  .footer__bottom {
    margin-top: 60px;
  }

  .footer__nav {
    display: block;
  }

  .footer__nav>ul+ul {
    margin: 25px 0 0 0;
  }

  .footer__nav>ul:nth-of-type(n + 3) {
    margin-top: 25px;
  }

  .footer__nav>ul>li+li {
    margin-top: 15px;
  }

  .footer__nav>ul>li ul li+li {
    margin-top: 5px;
  }

  .footer__copy {
    margin-top: 60px;
  }

  .fixed-buttons {
    right: 10px;
    bottom: 80px;
  }

  .fixed-button:nth-of-type(2) {
    margin-top: 10px;
  }

  .fixed-button-link {
    width: 80px;
    height: 80px;
  }

  .fixed-button-icon {
    width: 31px;
    height: 31px;
    margin: 0 auto;
  }

  .fixed-button__text {
    font-size: 1.2rem;
    line-height: 1.3;
  }

  .page-top {
    right: 22px;
    width: 50px;
    height: 50px;
  }

}

@media screen and (max-width: 767px) {

  .hall-sougi__footer {
    margin-top: 32px;
    gap: 24px;
  }

  .hall-sougi-static__lists {
    flex-direction: column;
    gap: 30px;
  }

  .hall-sougi-static__item {
    width: 100%;
  }

}


@media (max-width: 433px) {

  .hidden-w433 {
    display: none;
  }

}

@media (max-width: 389px) {

  .hidden-w390 {
    display: none;
  }

}

@media (max-width: 380px) {

  .hidden-w380 {
    display: none;
  }

}

@media (max-width: 374px) {

  .contact-intro__text {
    font-size: 1.35rem;
  }

  .hidden-w375 {
    display: none;
  }

  .drawer__nav .mv-link__inner {
    padding-right: 53px;
    text-align: center;
  }

  .drawer__nav .mv-link__inner::after {
    width: 53px;
  }

  .drawer__nav .mv-link__title {
    font-size: 1.8rem;
  }

  .drawer__nav .mv-link__title .font-small {
    font-size: 1.4rem;
  }

  .drawer__nav .mv-link__text {
    font-size: 0.9rem;
  }

  .contact-part__text .number {
    font-size: 30px;
    font-size: 8vw;
  }

  .contact-part__text .number::before {
    width: 56px;
    width: 14.9333333333vw;
    height: 47px;
    height: 12.5333333333vw;
    margin-right: 10px;
    margin-right: 2.6666666667vw;
  }

  .page-top {
    bottom: 200px;
  }

}

@media (max-width: 359px) {

  .about02__title .d-iblock {
    display: inline;
  }

  .single__footer-left a {
    padding-left: 20px;
  }

  .single__footer-right a {
    padding-right: 20px;
  }

  .ad-single__title {
    font-size: 2.2rem;
  }

  .voice-single__title {
    font-size: 2rem;
  }

  .hall__item .hall__title {
    font-size: 1.4rem;
  }

  .contact__check {
    text-align: left;
  }

  .hidden-sm {
    display: none;
  }

  .section__title {
    font-size: 2.7rem;
  }

  .button-link {
    padding: 10px 40px 15px 25px;
  }

  .drawer__nav {
    padding: 30px 20px 40px;
  }

  .plan-box__title {
    font-size: 1.7rem;
  }

  .plan-box__list {
    font-size: 1.25rem;
  }

  .top-hall-slider .custom-nav {
    gap: 15px;
  }

  .footer-sns a+a {
    margin-left: 2px;
  }

}

@keyframes fadeIn {

  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }

}


/*-----------------------------------------
/ 追加分
/----------------------------------------*/

.youtube-icon {
  font-size: 90%;
  color: initial;
  font-weight: 400;
  border-bottom: 1px solid;
  margin-left: 36px;
  position: relative;
}

.youtube-icon::before {
  content: '';
  display: block;
  width: 24px;
  height: 17px;
  background: url(../img/icon-movie.svg) no-repeat center / contain;
  position: absolute;
  left: -35px;
  top: 2px;
}

.tel-icon {
  font-size: 30px;
  color: #007b60;
  padding-left: 32px;
  margin-left: 40px;
  position: relative;
}

.tel-icon::before {
  content: '';
  display: block;
  width: 28px;
  height: 28px;
  background: url(../img/icon-telephone.svg) no-repeat center / contain;
  position: absolute;
  left: 0;
  top: 53%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.about07 .youtube {
  max-width: 550px;
  margin: 0 auto 50px;
}

.about07-box li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.about07-box li:nth-of-type(n+2) {
  margin-top: 50px;
}

.about07-box li:nth-of-type(2n) {
  flex-direction: row-reverse;
}

.about07-box li .group__title {
  width: 100%;
  margin-bottom: 10px;
}

.about07-box__text {
  width: 55%;
}

.about07-box__text p {
  font-size: 14px;
  margin-bottom: 15px;
}

.about07-box__text p:last-of-type {
  margin-bottom: 0;
}

.about07-box__text p.green {
  font-size: 16px;
  color: #027B60;
  margin-bottom: 5px;
}

.about07-box__img {
  width: 40%;
}

.about07-box li:nth-of-type(4) .about07-box__text {
  width: 65%;
}

.about07-box li:nth-of-type(4) .about07-box__img {
  width: 30%;
}

@media (max-width: 768px) {

  .about07-box__text,
  .about07-box__img {
    width: 100% !important;
  }

  .about07-box__img {
    margin-top: 15px;
  }
}

/* 基礎知識 */
.knowledge-single__content ul {
  padding-left: 40px;
  margin-top: 10px;
}

.knowledge-single__content ul li {
  position: relative;
  padding-left: 1.5em;
}

.knowledge-single__content ul li::before {
  content: "";
  width: 6px;
  height: 6px;
  display: block;
  background: #007b60;
  position: absolute;
  left: 8px;
  top: 13px;
}

.knowledge-single__content ol {
  counter-reset: item;
  padding-left: 40px;
  margin-top: 10px;
}

.knowledge-single__content ol li {
  counter-increment: item;
  position: relative;
  padding-left: 20px;
}

.knowledge-single__content ol li::before {
  content: counter(item) ".";
  position: absolute;
  left: 0;
  color: #007b60;
  font-weight: bold;
}

.knowledge-single__content .box {
  background: rgba(255, 255, 255, .6);
  padding: 30px 40px;
  margin: 20px 0 0 40px;
}

.knowledge-single__content .wp-block-group.box p {
  padding-left: 0;
  color: #515151;
  font-size: 15px;
}

.knowledge-single__content .wp-block-group.box p strong {
  font-size: 16px;
}

.knowledge-single__content .wp-block-group.box p:first-of-type {
  margin-top: 0;
}

.knowledge-single__content .wp-block-group.box p:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}

.knowledge-single__content h4 {
  color: #007b60;
  padding-left: 40px;
  font-weight: 700;
  margin-top: 30px;
}

.knowledge-single__content h5 {
  padding-left: 40px;
  margin-top: 20px;
}

.knowledge-single__content a {
  border-bottom: 1px solid;
}

.knowledge-single__content .small {
  font-size: 80%;
}

.knowledge-single__content .mt-4 {
  margin-top: 40px;
}

.knowledge-single__content .red {
  color: #960101;
}

.knowledge-single__content a.tel-icon {
  border-bottom: none;
}

.knowledge-single__content .wp-block-table {
  padding-left: 40px;
  margin-top: 10px;
  font-size: 14px;
}

.knowledge-single__content .wp-block-table th {
  width: 30%;
  background: #EBF2F1;
}

.knowledge-single__content .wp-block-table td {
  width: 70%;
}

.knowledge-single__content .wp-block-table td,
.knowledge-single__content .wp-block-table th {
  border-color: #cdcdcd;
  vertical-align: middle;
  padding-left: 20px;
  line-height: 1.6;
}

.knowledge-single__content .wp-block-image {
  margin-top: 10px;
  margin-left: 40px;
}

.knowledge-single__content .wp-block-image img {
  width: min(100%, 600px);
}

.knowledge-single__content .box .wp-block-image {
  margin-left: 0;
}

.knowledge-single__content .box.owan div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.knowledge-single__content .box.owan .wp-block-image {
  width: 35%;
}

.knowledge-single__content .box.owan .wp-block-group {
  width: 65%;
}

.knowledge-single__content .box.owan .wp-block-group h5 {
  margin-top: 0;
}

@media (max-width: 767px) {

  .knowledge-single__content ul,
  .knowledge-single__content ol {
    padding-left: 0;
    font-size: 15px;
    line-height: 1.8;
  }

  .knowledge-single__content p {
    font-size: 15px;
    line-height: 1.8;
  }

  .knowledge-single__content .box {
    padding: 20px;
    margin: 20px 0 0 0;
  }

  .knowledge-single__content .wp-block-group.box p {
    font-size: 14px;
  }

  .knowledge-single__content h4,
  .knowledge-single__content h5 {
    padding-left: 0;
  }

  .knowledge-single__content .is-layout-flex {
    flex-wrap: wrap;
  }

  .knowledge-single__content a.tel-icon {
    margin-left: 0;
    font-size: 24px;
  }

  .tel-icon::before {
    width: 23px;
    height: 23px;
  }

  .knowledge-single__content .wp-block-table {
    padding-left: 0;
  }

  .knowledge-single__content .wp-block-table td,
  .knowledge-single__content .wp-block-table th {
    padding-left: 10px;
    font-size: 14px;
  }

  .knowledge-single__content .wp-block-image {
    margin-left: 0;
  }

  .knowledge-single__content .box.owan .wp-block-image,
  .knowledge-single__content .box.owan .wp-block-group {
    width: 100%;
  }
}

.plan-sec07 .otherplan-link {
  width: min(100%, 850px);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #007b60;
  border-left: 1px solid #007b60;
  align-items: center;
}

.plan-sec07 .otherplan-link li {
  width: 25%;
  text-align: center;
  height: 60px;
  line-height: 1.4;
  border-right: 1px solid #007b60;
  border-bottom: 1px solid #007b60;
}

.plan-sec07 .otherplan-link li a {
  width: 100%;
  height: 100%;
  color: #007b60;
  display: flex;
  align-items: center;
  justify-content: center;
}

.plan-sec07 .otherplan-link li a:hover {
  background: #007b60;
  color: #F7F7F7;
}

@media (max-width: 767px) {
  .plan-sec07 .otherplan-link li {
    width: 50%;
    height: 50px;
    font-size: 14px;
  }
}

/*プラン詳細*/
.plan-example__list {
  position: relative;
  cursor: pointer;
}

.plan-example__list.has-items::before,
.plan-example__list.has-items::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  width: 21px;
  height: 1px;
  background: #333;
  transition: transform 0.3s ease;
}

.plan-example__list.has-items::before {
  transform: translateY(-50%);
}

.plan-example__list.has-items::after {
  transform:
    translateY(-50%) rotate(90deg);
}

.plan-example__list.is-active::after {
  transform:
    translateY(-50%) rotate(180deg);
}

.plan-example__items-wrap {
  background: #f7f7f7;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  text-align: center;
}

.plan-example__items-wrap.is-active {
  grid-template-rows: 1fr;
}

.plan-example__items-wrap.is-active .plan-example__items-inner {
  opacity: 1;
}

.plan-example__items-inner {
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.plan-example__items {
  padding: 40px 20px;
  display: flex;
  flex-wrap: wrap;
}

.plan-example__item {
  width: 18%;
  margin: 0 1%;
  line-height: 1.5;
}

.plan-example__item:nth-of-type(n+6) {
  margin-top: 30px;
}

.plan-example__item p {
  text-align: center;
  font-size: 14px;
}

.plan-example__item p.plan-example__item-name {
  color: #027B60;
}

.plan-example__item img {
  width: 100px;
}

.plan-example__item p.plan-example__item-memo {
  font-size: 12px;
  color: #8b8b8b;
}

@media (max-width: 1023px) {

  .plan-example__list.has-items::before,
  .plan-example__list.has-items::after {
    top: initial;
    right: 10px;
    bottom: 17px;
    width: 16px;
  }
}

@media (max-width: 767px) {
  .plan-example__item {
    width: 48%;
  }

  .plan-example__item:nth-of-type(n+3) {
    margin-top: 30px;
  }
}

/* 供物・供花カタログ */
.page-catalog .caution {
  color: #960101;
  font-size: 78%;
}

.page-catalog .catalog01 {
  text-align: center;
}

.page-catalog .catalog01 .caution {
  margin-bottom: 20px;
}

.page-catalog .catalog01 .flex {
  margin-top: 30px;
  justify-content: center;
}

.page-catalog .catalog01 .flex .button-link.green {
  width: 300px;
  margin: 0 10px;
}

.page-catalog .catalog02 .flower-lists {
  flex-wrap: wrap;
  border-left: 1px solid #ebebeb;
}

.page-catalog .catalog02 .flower-list {
  width: calc(100% / 3);
  padding: 30px;
  border-right: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
  text-align: center;
}

.page-catalog .catalog02 .flower-list:nth-last-of-type(-n+3) {
  border-bottom: none;
}

.page-catalog .catalog02 .flower-list__title {
  color: #027B60;
  font-size: 120%;
  margin: 20px 0;
}

.page-catalog .catalog02 .flower-list__info {
  font-size: 85%;
  margin-bottom: 20px;
}

@media (max-width: 1023px) {
  .page-catalog .catalog02 .flower-lists {
    border-left: none;
  }

  .page-catalog .catalog02 .flower-list {
    width: 100%;
    border-right: none;
  }

  .page-catalog .catalog02 .flower-list:nth-last-of-type(3),
  .page-catalog .catalog02 .flower-list:nth-last-of-type(2) {
    border-bottom: 1px solid #ebebeb;
  }
}

@media (max-width: 767px) {
  .page-catalog .catalog01 .flex .button-link.green:first-child {
    margin-bottom: 15px;
  }
}

/* 花の人 */
.page-flowershop .caution {
  color: #960101;
  font-size: 78%;
}

.page-flowershop .ttl__heading-mark {
  font-size: 24px;
  position: relative;
  padding-left: 38px;
  margin-bottom: 30px;
  line-height: 1.5;
}

.page-flowershop .ttl__heading-mark::before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: #027B60;
  position: absolute;
  left: 8px;
  top: 9px;
}

.page-flowershop .ttl__greentext {
  font-size: 20px;
  color: #027B60;
  margin-top: 40px;
  margin-bottom: 15px;
}

.page-flowershop .gray-bk {
  margin-top: 40px;
  background: #f9f9f9;
  padding: 70px 60px;
}

.page-flowershop .merit-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-bottom: 1px solid #e9e9e9;
  padding: 15px 0;
}

.page-flowershop .merit-list p:first-child {
  background: #2fa38f;
  color: #fff;
  font-size: 12px;
  padding: 5px 15px;
  margin-right: 15px;
  line-height: 1.2;
}

.page-flowershop .merit-list .red {
  color: #960101;
}

.page-flowershop .merit-list .pink {
  color: #FF7190 !important;
}

.page-flowershop .flowershop01 {
  text-align: center;
}

.page-flowershop .flowershop01 .flex {
  margin-top: 32px;
  justify-content: center;
}

.page-flowershop .flowershop01 .button-link {
  width: 300px;
  margin: 0 10px;
}

.page-flowershop .flowershop02 .flowershop-lead {
  align-items: center;
}

.page-flowershop .flowershop02 .flowershop-lead div {
  width: 50%;
  padding: 20px;
}

.page-flowershop .flowershop02 .flowershop-lead .flowershop-lead__title {
  font-size: 30px;
  margin-bottom: 10px;
}

.page-flowershop .flowershop04 .flex {
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}

.page-flowershop .flowershop04 .flex>div {
  width: 32%;
}

.page-flowershop .flowershop04 .flex-col2 {
  gap: 5%;
}

.page-flowershop .flowershop04 .flex-col3 {
  gap: 2%;
}

.page-flowershop .flowershop04 .flex-col2>div:nth-of-type(n+3) {
  margin-top: 30px;
}

.page-flowershop .flowershop04 .flex>div p {
  margin-top: 10px;
  line-height: 1.5;
  font-size: 15px;
}

.page-flowershop .flowershop04 .flex>div p span {
  color: #960101;
}

.page-flowershop .flowershop05 h2 {
  text-align: center;
  font-size: 24px;
  margin-bottom: 30px;
  letter-spacing: 2px;
}

.page-flowershop .flowershop05 dl dt {
  font-size: 17px;
  color: #027B60;
  margin-bottom: 15px;
}

.page-flowershop .flowershop05 dl dd {
  font-size: 15px;
  line-height: 1.7;
  padding-bottom: 30px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 30px;
}

.page-flowershop .flowershop05 dl dd:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.page-flowershop .flowershop05 .box {
  background: #fff;
  padding: 50px 60px;
  margin-top: 40px;
}

.page-flowershop .flowershop05 .box .ttl__greentext {
  margin-top: 0;
}

.page-flowershop .flowershop05 .box .p-kasen {
  line-height: 2;
  margin-bottom: 40px;
}

.page-flowershop .flowershop05 .box .p-kasen span {
  border-bottom: 2px solid #FF7190;
}

.page-flowershop .flowershop05 .box .flex {
  justify-content: space-between;
  align-items: flex-end;
}

.page-flowershop .flowershop05 .box .flex .button-link {
  width: 300px;
}

.page-flowershop .flowershop05 .box .flex .text .red {
  color: #960101;
}

.page-flowershop .flowershop05 .box .flex .text p {
  line-height: 1.5;
}

.page-flowershop .flowershop05 .box .flex .text p:last-of-type {
  margin-top: 15px;
}

.page-flowershop .flowershop05 .box .flex .text small {
  font-size: 80%;
  color: #6A6A6A;
}

.page-flowershop .flowershop06 .gray-bk.flex {
  align-items: center;
}

.page-flowershop .flowershop06 .gray-bk.flex .img {
  width: 35%;
  padding: 20px;
}

.page-flowershop .flowershop06 .gray-bk.flex .text {
  padding: 20px;
  width: 65%;
  font-size: 13px;
  line-height: 1.5;
}

.page-flowershop .flowershop06 .gray-bk.flex .text .bold {
  font-size: 16px;
  font-weight: 700;
}

.page-flowershop .flowershop06 .gray-bk.flex .text .tel {
  margin: 15px 0;
  font-size: 20px;
  color: #ff7190;
  letter-spacing: 3px;
  padding-left: 36px;
  position: relative;
}

.page-flowershop .flowershop06 .gray-bk.flex .text .tel::before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background: url(../img/flowershop/icon-tel.png) no-repeat center / contain;
  position: absolute;
  left: 8px;
  top: 6px;
}

.page-flowershop .flowershop06 .merit-list p:last-of-type {
  font-size: 18px;
}

.page-flowershop .flowershop06 .merit-list span:first-child {
  position: relative;
  padding-right: 56px;
}

.page-flowershop .flowershop06 .merit-list span:first-child::after {
  content: '';
  display: block;
  width: 35px;
  height: 24px;
  background: url(../img/flowershop/icon-arrow.png) no-repeat center / contain;
  position: absolute;
  right: 10px;
  top: 2px;
}

.page-flowershop .flowershop06 .merit-list .pink a {
  color: #FF7190;
}

@media (max-width: 767px) {

  .page-flowershop .ttl__heading-mark {
    font-size: 18px;
    padding-left: 23px;
    margin-bottom: 15px;
  }

  .page-flowershop .ttl__heading-mark::before {
    width: 14px;
    height: 14px;
    left: 0px;
    top: 7px;
  }

  .page-flowershop .ttl__greentext {
    font-size: 18px;
  }

  .page-flowershop .gray-bk {
    padding: 30px 15px;
  }

  .page-flowershop .merit-list {
    border-bottom: none;
  }

  .page-flowershop .merit-list p:first-child {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }

  .page-flowershop .flowershop01 .button-link {
    margin-bottom: 15px;
  }

  .page-flowershop .flowershop02 .flowershop-lead div {
    width: 100%;
    padding: 0;
  }

  .page-flowershop .flowershop02 .flowershop-lead .flowershop-lead__title {
    font-size: 24px;
    margin-top: 10px;
  }

  .page-flowershop .flowershop02 .flowershop-lead br {
    display: none;
  }

  .page-flowershop .flowershop04 .flex>div {
    width: 100%;
  }

  .page-flowershop .flowershop04 .flex>div:nth-of-type(n+2) {
    margin-top: 40px !important;
  }

  .page-flowershop .flowershop05 h2 {
    font-size: 18px;
    letter-spacing: 0;
  }

  .page-flowershop .flowershop05 .box {
    padding: 30px 15px;
  }

  .page-flowershop .flowershop05 .box .flex .button-link {
    width: 100%;
    margin-top: 30px;
  }

  .page-flowershop .flowershop06 .gray-bk.flex .img,
  .page-flowershop .flowershop06 .gray-bk.flex .text {
    width: 100%;
    padding: 0;
  }

  .page-flowershop .flowershop06 .gray-bk.flex .text {
    margin-top: 20px;
  }

  .page-flowershop .flowershop06 .merit-list p:last-of-type {
    line-height: 1.5;
    font-size: 16px;
  }

  .page-flowershop .flowershop06 .merit-list .pink {
    display: block;
  }
}

/* FV（動画） */
.mainvisual {
  padding-top: 90px;
}

.mainvisual__video {
  position: relative;
  width: 100%;
  height: calc(100vh - 90px);
  overflow: hidden;
}

.mainvisual__video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.fv-message {
  text-align: center;
  margin-top: 50px;
}

.fv-message__title {
  font-size: 24px;
}

.fv-message .mv-link {
  position: initial;
  padding: 5px;
  margin-top: 40px;
}

.fv-message .mv-link__inner {
  border-left: 1px solid #027B60;
}

@media screen and (max-width: 1099px) {
  .mainvisual {
    height: auto;
  }

  .mainvisual__video {
    height: auto;
  }

  .mainvisual__video video {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

}

@media screen and (max-width: 767px) {

  .mainvisual {
    padding-top: 70px;
  }

}

/* 社員紹介修正 */
.staff-modal__staff-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
  padding-left: 25px;
  position: relative;
  line-height: 1.5;
}

.staff-modal__staff-title::before {
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  background: #007b60;
  position: absolute;
  left: 0;
  top: 8px;
}

@media screen and (max-width: 767px) {
  .staff-modal__staff-title {
    font-size: 15px;
    padding-left: 16px;
  }

  .staff-modal__staff-title::before {
    width: 10px;
    height: 10px;
    top: 7px;
  }
}

/*----------------------------------
サイトマップ
----------------------------------*/
.page-sitemap .sitemap-list a {
  color: #282D2C;
}

.page-sitemap .sitemap-list>li {
  padding-bottom: 5px;
  border-bottom: 1px dashed #ccc;
  margin-bottom: 5px;
}

.page-sitemap .sitemap-list li::before {
  content: '・';
}

.page-sitemap .sitemap-list .wp-block-list {
  font-size: 15px;
  margin-left: 20px;
}

.footer__copy p:first-child {
  margin-bottom: 5px;
}

.footer__copy a {
  color: #fff;
}