/*
  LP style
*/
/* var */
:root {
  /* color */
  --color-text: #666464;
  --color-text-blue: #0054a7;
  --color-blue-gray: #EEF5F9;
  --color-blue-gray2: #EEEFEF;
  --color-orange-gray: #F8F7F6;
  --color-green-gray: #F5FAF5;
  --color-gray: #F3F4F4;
  --color-black: #231815;
  --color-category-newlife: #33BBD2;
  --color-category-wedding: #ECAF6E;
  --color-category-baby: #E0969E;
  /* font */
  --font-size-9: 0.5625rem;
  --font-size-10: 0.625rem;
  --font-size-11: 0.6875rem;
  --font-size-12: 0.75rem;
  --font-size-13: 0.8125rem;
  --font-size-14: 0.875rem;
  --font-size-15: 0.9375rem;
  --font-size-16: 1rem;
  --font-size-17: 1.0625rem;
  --font-size-18: 1.125rem;
  --font-size-19: 1.1875rem;
  --font-size-20: 1.25rem;
  --font-size-21: 1.3125rem;
  --font-size-22: 1.375rem;
  --font-size-23: 1.4375rem;
  --font-size-24: 1.5rem;
  --font-size-25: 1.5625rem;
  --font-size-26: 1.625rem;
  --font-size-27: 1.6875rem;
  --font-size-28: 1.75rem;
  --font-size-29: 1.8125rem;
  --font-size-30: 1.875rem;
  --font-size-31: 1.9375rem;
  --font-size-32: 2rem;
  --font-size-33: 2.0625rem;
  --font-size-34: 2.125rem;
  --font-size-35: 2.1875rem;
  --font-size-36: 2.25rem;
  --font-size-37: 2.3125rem;
  --font-size-38: 2.375rem;
  --font-size-39: 2.4375rem;
  --font-size-40: 2.5rem;
  --font-size-41: 2.5625rem;
  --font-size-42: 2.625rem;
  --font-size-43: 2.6875rem;
  --font-size-44: 2.75rem;
  --font-size-45: 2.8125rem;
  --font-size-46: 2.875rem;
  --font-size-47: 2.9375rem;
  --font-size-48: 3rem;
  --font-size-49: 3.0625rem;
  --font-size-50: 3.125rem;
  --font-size-51: 3.1875rem;
  --font-size-52: 3.25rem;
  --font-size-53: 3.3125rem;
  --font-size-54: 3.375rem;
  --font-size-55: 3.4375rem;
  --font-size-56: 3.5rem;
  --font-size-57: 3.5625rem;
  --font-size-58: 3.625rem;
  --font-size-59: 3.6875rem;
  --font-size-60: 3.75rem;
  --font-family-serif: "Zen Old Mincho", serif;
  /* transition */
  --transition-base: all .2s ease;
  /* shadow */
  --shadow-base: 0 0 30px rgba(0, 0, 0, .16);
}

/* base */
body {
  color: var(--color-text);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: 16px;
  font-style: normal;
}

img {
  max-width: 100%;
}

a {
  color: var(--color-text);
}
a:hover {
  text-decoration: none;
}

/* utility */
.u-font-zenmincho {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.u-hide {
  display: none;
}

@media screen and (min-width: 1024px) {
  .u-show-sp {
    display: none !important;
  }
}

@media screen and (max-width: 1023px) {
  .u-hide-sp {
    display: none !important;
  }
}

.u-mt4 {
  margin-top: min(4px, 1.2307692308vw) !important;
}

.u-mt8 {
  margin-top: min(8px, 2.4615384615vw) !important;
}

.u-mt12 {
  margin-top: min(12px, 3.6923076923vw) !important;
}

.u-mt16 {
  margin-top: min(16px, 4.9230769231vw) !important;
}

.u-mt20 {
  margin-top: min(20px, 6.1538461538vw) !important;
}

.u-mt24 {
  margin-top: min(24px, 7.3846153846vw) !important;
}

.u-mt28 {
  margin-top: min(28px, 8.6153846154vw) !important;
}

.u-mt32 {
  margin-top: min(32px, 9.8461538462vw) !important;
}

.u-mt36 {
  margin-top: min(36px, 11.0769230769vw) !important;
}

.u-mt40 {
  margin-top: min(40px, 12.3076923077vw) !important;
}

.u-mt44 {
  margin-top: min(44px, 13.5384615385vw) !important;
}

.u-mt48 {
  margin-top: min(48px, 14.7692307692vw) !important;
}

.u-mt52 {
  margin-top: min(52px, 16vw) !important;
}

.u-mt56 {
  margin-top: min(56px, 17.2307692308vw) !important;
}

.u-mt60 {
  margin-top: min(60px, 18.4615384615vw) !important;
}

.u-mt64 {
  margin-top: min(64px, 19.6923076923vw) !important;
}

.u-mt68 {
  margin-top: min(68px, 20.9230769231vw) !important;
}

.u-mt72 {
  margin-top: min(72px, 22.1538461538vw) !important;
}

.u-mt76 {
  margin-top: min(76px, 23.3846153846vw) !important;
}

.u-mt80 {
  margin-top: min(80px, 24.6153846154vw) !important;
}

.u-link-line span {
  display: inline-block;
  line-height: 1;
  position: relative;
}
.u-link-line span:after {
  background-color: var(--color-text);
  bottom: -3px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.2s ease;
  width: 100%;
}
.u-link-line:hover {
  text-decoration: none;
}
.u-link-line:hover span:after {
  transform: scale(1, 1);
  transform-origin: left top;
}

.u-zindex-1 {
  z-index: 1;
}

.u-zindex-2 {
  z-index: 2;
}

.u-zindex-3 {
  z-index: 3;
}

.u-zindex-4 {
  z-index: 4;
}

.u-zindex-5 {
  z-index: 5;
}

.u-zindex-6 {
  z-index: 6;
}

.u-zindex-7 {
  z-index: 7;
}

.u-zindex-8 {
  z-index: 8;
}

.u-zindex-9 {
  z-index: 9;
}

.u-zindex-10 {
  z-index: 10;
}

/* contents */
/* pc contents */
.l-nav-pc {
  left: 5.2%;
  position: fixed;
  top: 50%;
  translate: 0 -50%;
  width: 375px;
}
.l-nav-pc .c-nav-pc-heading img {
  width: 336px;
}

.l-pc-side {
  position: fixed;
  right: 20px;
  top: 50%;
  translate: 0 -50%;
}
.l-pc-side img {
  width: 12px;
}

.l-pc-sns {
  bottom: 40px;
  display: flex;
  gap: 24px;
  justify-content: center;
  list-style: none;
  margin: 0;
  position: fixed;
  right: 40px;
  padding: 0;
}
.l-pc-sns li a {
  transition: var(--transition-base);
}
.l-pc-sns li a img {
  height: 34px;
}
.l-pc-sns li a:hover {
  opacity: 0.5;
}

.l-wrapper {
  background: url(../img/bg-pc.jpg) no-repeat center top #ccc;
  background-size: cover;
  background-attachment: fixed;
  display: flex;
  justify-content: flex-end;
}

.l-contents-wrapper {
  background-color: #FFF;
  margin-right: 13.8%;
  max-width: 375px;
  overflow: hidden;
}

@media screen and (max-width: 1023px) {
  .l-wrapper {
    justify-content: center;
  }
  .l-contents-wrapper {
    margin-right: 0;
  }
}
@media screen and (max-width: 499px) {
  .l-contents-wrapper {
    max-width: 100%;
  }
}
.c-inner {
  margin: 0 auto;
  padding: 0 24px;
}

/* btn */
.c-btn {
  align-items: center;
  background-color: rgba(0, 0, 0, 0.65);
  border: 1px solid #FFF;
  border-radius: 25px;
  color: #FFF;
  cursor: pointer;
  display: flex;
  font-size: 13px;
  height: 50px;
  justify-content: center;
  letter-spacing: 1px;
  margin: 40px auto;
  max-width: 246px;
  position: relative;
  text-decoration: none;
  transition: var(--transition-base);
  width: 100%;
}
.c-btn:hover {
  background-color: rgba(0, 0, 0, 0.9);
  scale: 1.05;
}
.c-btn i[class^=c-icon] {
  height: 14px;
  position: absolute;
  right: 24px;
  top: 50%;
  translate: 0 -50%;
  width: 14px;
}
.c-btn i[class^=c-icon].c-icon-plus:before, .c-btn i[class^=c-icon].c-icon-plus:after {
  background-color: #FFF;
  content: "";
  height: 1px;
  position: absolute;
  top: 50%;
  translate: 0 0;
  width: 100%;
}
.c-btn i[class^=c-icon].c-icon-plus:after {
  rotate: 90deg;
}
.c-btn i[class^=c-icon].c-icon-times:before, .c-btn i[class^=c-icon].c-icon-times:after {
  background-color: #FFF;
  content: "";
  height: 1px;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 100%;
}
.c-btn i[class^=c-icon].c-icon-times:before {
  rotate: 45deg;
}
.c-btn i[class^=c-icon].c-icon-times:after {
  rotate: -45deg;
}
.c-btn i[class^=c-icon].c-icon-chervon-right {
  border-right: 1px solid #FFF;
  border-top: 1px solid #FFF;
  height: 8px;
  rotate: 45deg;
  width: 8px;
}

/* toggle menu */
.c-btn-toggle-menu {
  background-color: var(--color-text);
  border: none;
  cursor: pointer;
  height: 46px;
  margin-right: -187px;
  position: fixed;
  right: 50%;
  top: 0;
  width: 46px;
  z-index: 999;
}
.c-btn-toggle-menu i {
  background-color: #FFF;
  height: 2px;
  left: 50%;
  position: absolute;
  top: 50%;
  transition: var(--transition-base);
  translate: -50% -50%;
  width: 22px;
}
.c-btn-toggle-menu i:before, .c-btn-toggle-menu i:after {
  background-color: #FFF;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transition: var(--transition-base);
  width: 22px;
}
.c-btn-toggle-menu i:before {
  top: -9px;
}
.c-btn-toggle-menu i:after {
  top: 9px;
}
.c-btn-toggle-menu.is-open i {
  background-color: transparent;
}
.c-btn-toggle-menu.is-open i:before {
  rotate: 45deg;
  top: 0;
}
.c-btn-toggle-menu.is-open i:after {
  rotate: -45deg;
  top: 0;
}

.c-toggle-menu-wrapper {
  background-color: #FFF;
  height: 100vh;
  height: 100dvh;
  left: 50%;
  opacity: 0;
  overflow-y: auto;
  pointer-events: none;
  position: fixed;
  scroll-behavior: smooth;
  top: 0;
  transition: var(--transition-base);
  translate: -50% 0;
  width: 375px;
  z-index: 99;
}
.c-toggle-menu-wrapper.is-open {
  opacity: 1;
  pointer-events: visible;
}

@media screen and (max-width: 499px) {
  .c-btn-toggle-menu {
    margin-right: 0;
    right: 0;
  }
  .c-toggle-menu-wrapper {
    left: 0;
    translate: 0 0;
    width: 100%;
  }
}
/* mv */
.c-mv {
  align-items: center;
  background-color: var(--color-blue-gray);
  display: flex;
  height: 100vh;
  height: 100dvh;
  min-height: 660px;
  position: relative;
  text-align: center;
}
.c-mv .c-mv-contents .c-mv-heading {
  margin: 0 32px;
}
.c-mv .c-mv-contents .c-mv-heading2 {
  font-family: var(--font-family-serif);
  font-weight: 400;
  margin: 16px 0;
}
.c-mv .c-mv-contents p {
  margin: 8px auto;
  position: relative;
  z-index: 1;
}
.c-mv .c-mv-contents p img {
  width: 188px;
}
.c-mv .c-mv-contents .c-mv-img {
  margin: -24px 20px 0;
}
.c-mv .c-mv-contents .c-mv-lead {
  font-family: var(--font-family-serif);
  font-size: var(--font-size-17);
  margin: 12px 0 0;
}

.c-icon-scroll {
  bottom: 24px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%) translateY(6px);
}
.c-icon-scroll .c-icon-scroll-icon {
  display: block;
  height: 24px;
  margin: 0 auto;
  position: relative;
  width: 15px;
}
.c-icon-scroll .c-icon-scroll-icon:before {
  -webkit-animation: scroll-down 2s infinite;
          animation: scroll-down 2s infinite;
  background-color: var(--color-text);
  content: "";
  height: 100%;
  left: 6px;
  position: absolute;
  top: 0;
  width: 1px;
}
.c-icon-scroll .c-icon-scroll-icon:after {
  background-color: var(--color-text);
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  rotate: -45deg;
  transform-origin: left bottom;
  translate: -1px 0;
  width: 50%;
}
.c-icon-scroll span {
  font-family: var(--font-family-serif);
  font-size: 9px;
}
.c-icon-scroll.-white .c-icon-scroll-icon:before, .c-icon-scroll.-white .c-icon-scroll-icon:after {
  background-color: #FFF;
}
.c-icon-scroll.-white span {
  color: #FFF;
}

@-webkit-keyframes scroll-down {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

@keyframes scroll-down {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
/* menu */
.c-menu {
  background-color: #FFF;
  padding: 40px 0 0;
}
.c-menu .c-menu-title {
  font-size: var(--font-size-28);
  font-weight: 900;
  margin: 0 0 8px;
  padding: 0 24px;
}
.c-menu .c-menu-list .c-menu-item {
  border-bottom: 1px solid var(--color-text);
}
.c-menu .c-menu-list .c-menu-item:first-of-type {
  border-top: 1px solid var(--color-text);
}
.c-menu .c-menu-list .c-menu-item .c-menu-heading {
  color: var(--color-text);
  display: flex;
  gap: 20px;
  padding: 12px 24px;
  position: relative;
  text-decoration: none;
  transition: var(--transition-base);
}
.c-menu .c-menu-list .c-menu-item .c-menu-heading:after {
  border-right: 1px solid var(--color-text);
  border-top: 1px solid var(--color-text);
  content: "";
  height: 10px;
  position: absolute;
  right: 20px;
  rotate: 45deg;
  top: 50%;
  translate: 0 -50%;
  width: 10px;
}
.c-menu .c-menu-list .c-menu-item .c-menu-heading .c-menu-heading-num {
  font-style: normal;
  font-weight: 700;
}
.c-menu .c-menu-list .c-menu-item .c-menu-heading .c-menu-heading-body {
  font-weight: 700;
}
.c-menu .c-menu-list .c-menu-item .c-menu-heading .c-menu-heading-body div span {
  font-size: var(--font-size-10);
  font-weight: 400;
}
.c-menu .c-menu-list .c-menu-item .c-menu-heading:hover {
  background-color: var(--color-gray);
}
.c-menu .c-menu-list .c-menu-item .c-menu-child-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 10px 24px 24px 60px;
}
.c-menu .c-menu-list .c-menu-item .c-menu-child-list li {
  display: flex;
  gap: 4px;
  width: 100%;
}
.c-menu .c-menu-list .c-menu-item .c-menu-child-list li:before {
  background-color: var(--color-text);
  content: "";
  display: block;
  height: 1px;
  position: relative;
  top: 7px;
  width: 12px;
}
.c-menu .c-menu-list .c-menu-item .c-menu-child-list li a {
  color: var(--color-text);
  font-size: var(--font-size-13);
  font-weight: 600;
  text-decoration: none;
}
.c-menu.-white {
  background-color: transparent;
  color: #FFF;
}
.c-menu.-white .c-menu-list .c-menu-item {
  border-color: #FFF;
}
.c-menu.-white .c-menu-list .c-menu-item:first-of-type {
  border-color: #FFF;
}
.c-menu.-white .c-menu-list .c-menu-item .c-menu-heading {
  color: #FFF;
}
.c-menu.-white .c-menu-list .c-menu-item .c-menu-heading:after {
  border-color: #FFF;
}
.c-menu.-white .c-menu-list .c-menu-item .c-menu-heading:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
.c-menu.-white .c-menu-list .c-menu-item .c-menu-child-list li:before {
  background-color: #FFF;
}
.c-menu.-white .c-menu-list .c-menu-item .c-menu-child-list li a {
  color: #FFF;
}
.c-menu.-white .c-menu-list .c-menu-item .c-menu-child-list li .u-link-line span:after {
  background-color: #FFF;
}

/* 01 */
.c-contents1-wrapper {
  overflow: hidden;
  position: relative;
}
.c-contents1-wrapper .c-contents1-bg {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.c-contents1-wrapper .c-contents1-bg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.c-contents1-header {
  background-size: cover;
  color: #FFF;
  height: 100vh;
  height: 100dvh;
  min-height: 820px;
  position: relative;
}
.c-contents1-header .c-contents1-heading {
  align-items: flex-end;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin: 0;
  padding: 11.1vh 0 0;
}
.c-contents1-header .c-contents1-heading .c-contents1-heading-text {
  font-size: var(--font-size-9);
  font-weight: 400;
  line-height: 1.4;
}
.c-contents1-header .c-contents1-heading .c-contents1-heading-floor img {
  width: 120px;
}
.c-contents1-header .c-contents1-header-body {
  font-family: var(--font-family-serif);
  margin-top: 16.2vh;
  padding: 0 24px;
}
.c-contents1-header .c-contents1-header-body h3 {
  font-size: var(--font-size-30);
  font-weight: 400;
  line-height: 1.7;
  margin: 0;
}
.c-contents1-header .c-contents1-header-body h3 span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-contents1-header .c-contents1-header-body p {
  font-weight: 400;
  line-height: 2;
  margin: 5vh 0 0;
}
.c-contents1-header .c-contents1-header-body p span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
/* 02 */
.c-contents2-wrapper {
  background-color: var(--color-orange-gray);
  box-shadow: var(--shadow-base);
  position: relative;
  z-index: 10;
}

.c-contents2-top {
  background-color: #FFF;
  font-size: var(--font-size-14);
  letter-spacing: 4px;
  margin: 0;
  padding: 52px 24px 8px;
}

.c-contents2-header {
  background: url(../img/c2-img.jpg) no-repeat right top;
  background-size: 230px auto;
  height: calc(100vh - 76px);
  height: calc(100dvh - 76px);
  min-height: 720px;
}
.c-contents2-header .c-contents2-header-copy {
  font-family: var(--font-family-serif);
  font-size: var(--font-size-36);
  font-weight: 500;
  margin: 0 0 0 20.53%;
  padding-top: 12.5vh;
  writing-mode: vertical-rl;
}
.c-contents2-header .c-contents2-header-body {
  padding: 0 24px;
}
.c-contents2-header .c-contents2-header-body .c-contents2-header-heading {
  font-family: var(--font-family-serif);
  font-size: var(--font-size-58);
  font-weight: 400;
  line-height: 1;
  margin: 9.5vh 0 0;
}
.c-contents2-header .c-contents2-header-body .c-contents2-header-heading span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-contents2-header .c-contents2-header-body p {
  font-family: var(--font-family-serif);
  font-size: var(--font-size-15);
  line-height: 1.8;
  margin: 2vh 0 0;
}

.c-contents2-body .c-contents2-body-heading {
  margin: 0 0 24px;
}
.c-contents2-body .c-contents2-body-heading img {
  width: 100%;
}

.c-contents2-slide-item {
  padding: 0 24px;
}
.c-contents2-slide-item .c-contents2-slide-body p {
  font-size: var(--font-size-13);
  line-height: 1.6;
  margin: 0;
}

.c-contents2-bottom {
  padding: 24px 0 40px;
}
.c-contents2-bottom img {
  width: 100%;
}

/* swiper */
.swiper {
  padding-bottom: 48px;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  border-radius: 5px;
  height: 10px;
  margin: 0 6px;
  width: 10px;
}

.swiper-pagination-bullet-active {
  background-color: var(--color-text);
}

.swiper-button-next,
.swiper-button-prev {
  background-color: transparent;
  color: transparent;
  height: 30px;
  position: absolute;
  width: 30px;
}
.swiper-button-next:before,
.swiper-button-prev:before {
  background: no-repeat 0 0;
  background-size: contain;
  content: "";
  height: 100%;
  position: absolute;
  width: 100%;
}

.swiper-button-next:before {
  background-image: url(../img/icon-next.svg);
}

.swiper-button-prev:before {
  background-image: url(../img/icon-prev.svg);
}

/* 03 */
.c-contents3-wrapper {
  background-color: #FFF;
  padding: 80px 0 0;
  position: relative;
  z-index: 9;
}

.c-contents3-header .c-contents3-heading {
  margin: 0 0 32px;
}
.c-contents3-header .c-contents3-heading span {
  display: block;
  margin-bottom: 12px;
}
.c-contents3-header p {
  font-family: var(--font-family-serif);
  font-size: var(--font-size-13);
  line-height: 1.7;
  margin: 0;
}
.c-contents3-header .c-contents3-header-index {
  margin: 56px 0;
}
.c-contents3-header .c-contents3-header-index h3 {
  margin: 0 40px;
}
.c-contents3-header .c-contents3-header-index h3 img {
  display: block;
}
.c-contents3-header .c-contents3-header-index .c-contents3-header-index-body {
  border: 1px solid var(--color-text);
}
.c-contents3-header .c-contents3-header-index .c-contents3-header-index-body h4 {
  background-color: var(--color-gray);
  border-bottom: 1px solid var(--color-text);
  font-size: var(--font-size-14);
  font-weight: 400;
  margin: 0;
  padding: 8px 16px;
  text-align: center;
}
.c-contents3-header .c-contents3-header-index .c-contents3-header-index-body ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  list-style: none;
  margin: 0;
  padding: 20px;
}
.c-contents3-header .c-contents3-header-index .c-contents3-header-index-body ol li {
  font-size: var(--font-size-13);
}

.c-contents3-body {
  border-top: 1px solid var(--color-text);
}

.c-contents3-item {
  border-bottom: 1px solid var(--color-text);
}
.c-contents3-item .c-contents3-item-header {
  position: relative;
}
.c-contents3-item .c-contents3-item-header .c-contents3-item-heading {
  margin: 0;
  padding: 40px 24px 52px;
}
.c-contents3-item .c-contents3-item-header .c-contents3-item-heading .c-contents3-item-heading-num img {
  display: block;
  height: 48px;
}
.c-contents3-item .c-contents3-item-header .c-contents3-item-heading .c-contents3-item-heading-name {
  display: block;
  margin: -16px 0 0 12px;
}
.c-contents3-item .c-contents3-item-header .c-contents3-item-heading .c-contents3-item-heading-name img {
  display: block;
  height: 26px;
}
.c-contents3-item .c-contents3-item-header .c-contents3-item-lead {
  align-items: flex-start;
  display: flex;
  flex-direction: row-reverse;
  gap: 12px;
  position: absolute;
  right: 24px;
  top: 40px;
  z-index: 1;
}
.c-contents3-item .c-contents3-item-header .c-contents3-item-lead span {
  background-color: var(--color-gray);
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-contents3-item .c-contents3-item-header .c-contents3-item-lead span img {
  width: 18px;
}
.c-contents3-item .c-contents3-item-header .c-contents3-item-img img {
  display: block;
}
.c-contents3-item .c-contents3-item-header .c-btn {
  bottom: 24px;
  left: 50%;
  margin: 0;
  position: absolute;
  translate: -50% 0;
}
.c-contents3-item .c-contents3-item-header .c-btn.is-open {
  opacity: 0;
  pointer-events: none;
}
.c-contents3-item .c-contents3-item-body .c-contents3-item-body-inner .c-contents3-item-name {
  font-size: var(--font-size-14);
  margin: 24px 0;
}
.c-contents3-item .c-contents3-item-body .c-contents3-item-body-inner .c-contents3-item-name span {
  font-size: var(--font-size-12);
}
.c-contents3-item .c-contents3-item-body .c-contents3-item-body-inner .c-contents3-item-voice-heading {
  margin: 0 0 24px;
}
.c-contents3-item .c-contents3-item-body .c-contents3-item-body-inner .c-contents3-item-detail p {
  font-size: var(--font-size-13);
  line-height: 1.6;
  margin: 0;
}
.c-contents3-item .c-contents3-item-body .c-contents3-item-body-inner .c-contents3-item-detail p span {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}
.c-contents3-item .c-contents3-item-body .c-contents3-item-body-inner .c-shop-info {
  margin-top: 40px;
}
.c-contents3-item:nth-of-type(3) .c-contents3-item-header .c-contents3-item-heading .c-contents3-item-heading-name img {
  height: 56px;
}
.c-contents3-item:nth-of-type(4) .c-contents3-item-header .c-contents3-item-heading .c-contents3-item-heading-name img {
  height: 36px;
}
.c-contents3-item:nth-of-type(7) .c-contents3-item-header .c-contents3-item-heading .c-contents3-item-heading-name img {
  height: 56px;
}

/* shop info */
.c-shop-info p {
  font-size: var(--font-size-12);
  line-height: 1.3;
  margin: 0;
}
.c-shop-info p a {
  font-size: var(--font-size-15);
  font-weight: 500;
}

/* 04 */
.c-contents4-wrapper {
  background-color: var(--color-green-gray);
  border-bottom: 1px solid var(--color-text);
  box-shadow: var(--shadow-base);
  padding-bottom: 64px;
  position: relative;
  z-index: 8;
}

.c-contents4-header .c-contents4-heading-wrapper {
  background: url(../img/c4-mainimg.jpg) no-repeat 0 0;
  background-size: cover;
  height: 596px;
}
.c-contents4-header .c-contents4-heading-wrapper .c-contents4-heading {
  padding-top: 72px;
  margin: 0;
}
.c-contents4-header .c-contents4-heading-wrapper .c-contents4-heading span {
  display: block;
  text-align: center;
}
.c-contents4-header .c-contents4-heading-wrapper .c-contents4-heading .c-contents4-heading-01 img {
  height: 9px;
}
.c-contents4-header .c-contents4-heading-wrapper .c-contents4-heading .c-contents4-heading-02 {
  margin-top: 10px;
}
.c-contents4-header .c-contents4-heading-wrapper .c-contents4-heading .c-contents4-heading-02 img {
  height: 25px;
}
.c-contents4-header .c-contents4-heading-wrapper .c-contents4-heading-sub {
  margin: 0;
  padding-top: 32px;
  text-align: center;
}
.c-contents4-header .c-contents4-heading-wrapper .c-contents4-heading-sub span img {
  width: 52px;
}
.c-contents4-header .c-contents4-header-body .c-contents4-header-body-heading {
  margin: 48px 0 40px;
}
.c-contents4-header .c-contents4-header-body .c-contents4-header-body-heading span {
  display: block;
  text-align: center;
}
.c-contents4-header .c-contents4-header-body .c-contents4-header-body-heading .c-contents4-header-body-heading-sub img {
  height: 14px;
}
.c-contents4-header .c-contents4-header-body .c-contents4-header-body-heading .c-contents4-header-body-heading-main {
  display: block;
  margin: 8px auto 0;
  padding: 0 20px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-contents4-header .c-contents4-header-body .c-contents4-header-body-heading .c-contents4-header-body-heading-main img {
  height: 50px;
  position: relative;
}
.c-contents4-header .c-contents4-header-body .c-contents4-header-body-heading .c-contents4-header-body-heading-main:before {
  background: url(../img/c4-heading2-bg.jpg) no-repeat center center;
  background-size: cover;
  bottom: 0;
  content: "";
  height: 58%;
  left: 0;
  position: absolute;
  width: 100%;
}
.c-contents4-header .c-contents4-header-body .c-contents4-member {
  display: flex;
  justify-content: space-between;
  margin: 0 32px 64px;
  position: relative;
}
.c-contents4-header .c-contents4-header-body .c-contents4-member:before {
  background-color: var(--color-text);
  bottom: 12px;
  content: "";
  height: 2px;
  left: 50%;
  position: absolute;
  translate: -50% 0;
  width: 64px;
}
.c-contents4-header .c-contents4-header-body .c-contents4-member div {
  line-height: 1.6;
  text-align: center;
}
.c-contents4-header .c-contents4-header-body .c-contents4-member div span {
  display: block;
  font-size: var(--font-size-12);
}
.c-contents4-header .c-contents4-header-body .c-contents4-heading2 {
  font-family: var(--font-family-serif);
  font-size: var(--font-size-18);
  font-weight: 500;
  margin: 0 0 24px;
  text-align: center;
}
.c-contents4-header .c-contents4-header-body p {
  font-size: var(--font-size-13);
  line-height: 1.8;
  margin: 0;
}
.c-contents4-header .c-btn.is-open {
  opacity: 0 !important;
  pointer-events: none;
}

.c-contents4-body .c-contents4-body-img {
  margin: 56px 0 32px;
  padding: 0;
  width: calc(100% + 24px);
}
.c-contents4-body .c-contents4-body-img:first-child {
  margin-top: 0;
}
.c-contents4-body .c-contents4-body-img figcaption {
  display: block;
  font-size: var(--font-size-11);
  margin: 8px 24px 0 0;
  text-align: right;
}
.c-contents4-body .c-contents4-body-img.-left {
  left: -24px;
  position: relative;
}
.c-contents4-body .c-contents4-body-img.-left figcaption {
  margin: 8px 0 0 24px;
  text-align: left;
}
.c-contents4-body h4 {
  color: var(--color-text-blue);
  font-family: var(--font-family-serif);
  font-size: var(--font-size-21);
  font-weight: 500;
  line-height: 1.5;
  margin: 32px 0 4px;
}
.c-contents4-body dl {
  font-family: var(--font-family-serif);
  font-size: var(--font-size-14);
  line-height: 1.7;
  margin: 0;
}
.c-contents4-body dl dt {
  clear: both;
  float: left;
  font-weight: 700;
}
.c-contents4-body dl dd {
  margin: 0;
}

.c-contents4-bottom {
  background-color: #FFF;
  margin-top: 56px;
  padding: 6px;
  position: relative;
}
.c-contents4-bottom:before {
  border: 1px solid var(--color-black);
  content: "";
  height: calc(100% - 12px);
  left: 6px;
  pointer-events: none;
  position: absolute;
  top: 6px;
  width: calc(100% - 12px);
}
.c-contents4-bottom .c-contents4-bottom-heading {
  align-items: center;
  border-bottom: 1px solid var(--color-black);
  display: flex;
  font-size: var(--font-size-17);
  font-weight: 400;
  justify-content: space-between;
  line-height: 1.6;
  margin: 0;
  padding: 12px 20px;
}
.c-contents4-bottom .c-contents4-bottom-heading i {
  width: 74px;
}
.c-contents4-bottom .c-contents4-bottom-heading i img {
  display: block;
}
.c-contents4-bottom .c-contents4-bottom-body {
  padding: 20px;
}
.c-contents4-bottom .c-contents4-bottom-body p {
  font-size: var(--font-size-13);
  line-height: 1.6;
  margin: 0;
}
.c-contents4-bottom .c-contents4-bottom-body .c-shop-info {
  margin-top: 24px;
}

/* 05 */
.c-contents5-wrapper {
  background-color: var(--color-green-gray);
  box-shadow: var(--shadow-base);
  padding-top: 64px;
  position: relative;
  z-index: 7;
}

.c-contents5-header .c-contents5-heading {
  display: flex;
  justify-content: space-between;
}
.c-contents5-header .c-contents5-heading div span img {
  height: 158px;
}
.c-contents5-header .c-contents5-lead p {
  margin: 40px 88px 56px;
}
.c-contents5-item {
  padding: 40px 0;
}
.c-contents5-item:not(:last-of-type) {
  border-bottom: 1px solid var(--color-text);
}
.c-contents5-item .c-contents5-item-heading {
  font-family: var(--font-family-serif);
  font-size: var(--font-size-40);
  font-weight: 400;
  letter-spacing: -1px;
  line-height: 0.95;
  margin: 0 0 40px;
}
.c-contents5-item .c-contents5-item-detail {
  padding: 32px 0 16px;
}
.c-contents5-item .c-contents5-item-detail p {
  font-size: var(--font-size-13);
  line-height: 1.7;
  margin: 0;
}
.c-contents5-item .c-contents5-item-bottom {
  border-top: 1px dotted var(--color-text);
  padding-top: 16px;
}
.c-contents5-item .c-contents5-item-bottom > p {
  font-family: var(--font-family-serif);
  font-size: var(--font-size-13);
  line-height: 1.7;
  margin: 0;
}
.c-contents5-item .c-shop-info {
  margin-top: 24px;
}

/* 06 */
.c-contents6-wrapper {
  background-color: #FFF;
  border-bottom: 1px solid var(--color-text);
  box-shadow: var(--shadow-base);
  padding: 56px 0;
  position: relative;
}

.c-contents6-header {
  text-align: center;
}
.c-contents6-header .c-contents6-header-line {
  background-color: var(--color-text);
  border: none;
  height: 2px;
  margin: 0;
}
.c-contents6-header .c-contents6-header-line.-head {
  margin-bottom: 24px;
}
.c-contents6-header .c-contents6-header-line.-bottom {
  margin-top: 24px;
}
.c-contents6-header .c-contents6-lead {
  font-size: var(--font-size-19);
  font-weight: 500;
  letter-spacing: 2px;
  margin: 0;
}
.c-contents6-header .c-contents6-heading {
  font-size: var(--font-size-60);
  letter-spacing: 2px;
  margin: 8px 0;
}
.c-contents6-header .c-contents6-heading-sub {
  font-size: var(--font-size-24);
  font-weight: 700;
  margin: 0;
}
.c-contents6-heading-bottom {
  font-size: var(--font-size-11);
  margin: 8px 0 0;
}

.c-contents6-body {
  padding-top: 32px;
}

.c-contents6-slide-item {
  padding: 0 24px;
}
.c-contents6-slide-item .c-contents6-slide-body .c-contents6-item-category {
  color: #FFF;
  font-size: var(--font-size-13);
  height: 22px;
  line-height: 21px;
  margin-bottom: 12px;
  text-align: center;
  width: 86px;
}
.c-contents6-slide-item .c-contents6-slide-body .c-contents6-item-category.-newlife {
  background-color: var(--color-category-newlife);
}
.c-contents6-slide-item .c-contents6-slide-body .c-contents6-item-category.-wedding {
  background-color: var(--color-category-wedding);
}
.c-contents6-slide-item .c-contents6-slide-body .c-contents6-item-category.-baby {
  background-color: var(--color-category-baby);
}
.c-contents6-slide-item .c-contents6-slide-body p {
  font-size: var(--font-size-13);
  line-height: 1.7;
  margin: 0;
}
.c-contents6-bottom {
  border-top: 2px solid var(--color-text);
  margin-top: 64px;
  padding-top: 20px;
}

/* attention */
.c-attention {
  font-size: var(--font-size-10);
  line-height: 1.6;
  margin: 0;
}

/* footer */
.l-footer {
  background-color: var(--color-gray);
  padding: 48px 0;
}

.c-footer-header {
  background-color: #FFF;
  padding: 6px;
}
.c-footer-header .c-footer-header-inner {
  border: 1px solid var(--color-text);
  padding: 24px 16px;
}
.c-footer-header .c-footer-header-inner .c-footer-header-heading {
  margin: 0 52px;
}
.c-footer-header .c-footer-header-inner p {
  font-size: var(--font-size-13);
  line-height: 1.6;
  margin: 24px 0 0;
}
.c-footer-header .c-footer-header-inner p.c-footer-header-lead {
  font-size: var(--font-size-15);
  font-weight: 500;
}

.c-footer-info .c-footer-info-header {
  font-size: var(--font-size-28);
  font-weight: 700;
}
.c-footer-info .c-footer-info-header span {
  font-size: var(--font-size-11);
  font-weight: 400;
  margin-left: 1em;
}
.c-footer-info .c-footer-info-body {
  border-bottom: 1px solid var(--color-text);
  border-top: 1px solid var(--color-text);
  font-size: var(--font-size-12);
  line-height: 1.6;
  margin: 8px 0;
  padding: 12px 0;
}
.c-footer-info .c-footer-info-bottom p {
  font-size: var(--font-size-10);
}

.c-footer-sns {
  display: flex;
  gap: 24px;
  justify-content: center;
  list-style: none;
  margin: 40px 0 64px;
  padding: 0;
}
.c-footer-sns li a img {
  height: 34px;
}

.c-footer-copy {
  text-align: center;
}
.c-footer-copy img {
  width: 100px;
}
/*# sourceMappingURL=style.css.map */