@charset "UTF-8";
/*==========================================
コンポーネントファイル
===========================================*/
/*
# パンくずリスト
------------------------*/
div .bread {
  font-size: var(--font-size-14);
  position: relative;
  z-index: 100;
}
div .bread .breadcrumbs {
  position: absolute;
  width: var(--site-primary-inbox);
  margin: 0 auto;
  inset: -5rem auto auto 0;
  gap: 1rem 2rem;
}
div .bread li {
  color: var(--color-white);
  position: relative;
}
div .bread li::after {
  content: " > ";
  color: var(--color-white);
  position: absolute;
  inset: 0 -1.5rem 0 auto;
  margin: auto 0;
}
div .bread li:last-child::after {
  content: "";
}
div .bread li a {
  color: var(--color-white);
}
div .bread li a:hover {
  text-decoration: underline;
}

/*
# 一覧ぺージ用カテゴリ(セレクトボックス)
------------------------*/
.global-select {
  width: 30rem;
  margin: 0 0 4.5rem auto;
}
.global-select select {
  padding: 1.5rem 3.7rem 1.5rem 1.5rem;
}

/*
# c-mail__button
------------------------*/
.c-mail__button span {
  padding-left: 4.5rem;
  background: url(../img/common/mail_ic.svg) left center/3rem 2.5rem no-repeat;
}

/*
# c-contact__section
------------------------*/
.c-contact__section {
  padding: 4rem 0;
  margin-bottom: -17rem;
}
.c-contact__section::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 28.6rem;
  inset: -28.4rem 0 auto;
  z-index: 1;
  background: url(../img/common/contact-frame_top.png) bottom center/100% no-repeat;
}
.c-contact__section-inbox {
  position: relative;
}
.c-contact__section-inbox::before, .c-contact__section-inbox::after {
  position: absolute;
  content: "";
}
.c-contact__section-inbox::before {
  width: 26rem;
  height: 33.9rem;
  inset: auto auto 6rem -28.7rem;
  background: url(../img/common/contact-deco_umbrella.png) center/100% no-repeat;
}
.c-contact__section-inbox::after {
  width: 19.2rem;
  height: 15.1rem;
  inset: 9rem -10rem auto auto;
  background: url(../img/common/contact-deco_seagull.png) center/100% no-repeat;
}
.c-contact__section .c-contact__text {
  font-size: var(--font-size-24);
}
.c-contact__section .c-contact__list {
  gap: 5rem;
  margin-top: 6rem;
  position: relative;
  z-index: 2;
}
.c-contact__section .c-contact__item {
  width: 51.5rem;
  padding: 4rem;
  min-height: 25rem;
  text-align: center;
  background: url(../img/common/contact-bg_box.png), var(--color-white);
}
.c-contact__section .c-contact__item-title {
  font-size: var(--font-size-30);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.c-contact__section .c-contact__item-title::before, .c-contact__section .c-contact__item-title::after {
  position: absolute;
  content: "";
  margin: 0 2.5rem;
  width: 2rem;
  height: 0.4rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.c-contact__section .c-contact__item-title::before {
  left: -3.5rem;
}
.c-contact__section .c-contact__item-title::after {
  right: -3.5rem;
}
.c-contact__section .c-contact__item-text {
  margin-top: 0.5rem;
}
.c-contact__section .c-contact__item.contact__item--news .c-contact__item-title::before, .c-contact__section .c-contact__item.contact__item--news .c-contact__item-title::after {
  background: var(--primary-color);
}
.c-contact__section .c-contact__item.contact__item--form .c-contact__item-title::before, .c-contact__section .c-contact__item.contact__item--form .c-contact__item-title::after {
  background: var(--accent-color);
}
.c-contact__section .c-contact__item .button--primary {
  width: 38rem;
  margin: 3rem auto 0;
}
.c-contact__section .c-contact__item .button--primary .instagram-icon {
  width: 57%;
  padding-left: 3rem;
}
.c-contact__section .c-contact__item .button--primary .instagram-icon::before {
  position: absolute;
  content: "";
  width: 3rem;
  height: 3rem;
  inset: 0 auto 0 0;
  margin: auto 0;
  background: url(../img/common/sns/Instagram_Glyph_White.svg) center/100% no-repeat;
}
.c-contact__section .c-contact__item .c-mail__button span {
  width: 76%;
}

/*
# c-pages
------------------------*/
.c-pages {
  padding: 28.7rem 0 23rem;
}
.c-pages::before {
  inset: -12rem 0 auto auto;
  z-index: 2;
}
.c-pages::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 28.6rem;
  background: url(../img/partner/pages-bg_frame.png) top center/100% no-repeat;
  inset: -0.2rem 0 auto;
  z-index: 1;
}
.c-pages__list {
  row-gap: 4rem;
  position: relative;
  z-index: 3;
}
.c-pages__item {
  width: 60rem;
}
.c-pages__item-link {
  height: 32rem;
  padding: 4.5rem 5rem 2.5rem;
  text-align: left;
  z-index: 1;
}
.c-pages__item-link:hover {
  transform: translateY(-1.5rem);
}
.c-pages__item-link::before {
  inset: auto 2rem 2rem auto;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  font-size: var(--font-size-50);
  font-weight: var(--font-weight-regular);
  background: url(../img/common/button-primary_bg.png), var(--accent-color);
}
.c-pages__item:first-child .c-pages__item-link::after {
  position: absolute;
  content: "";
  width: 15rem;
  height: 14.5rem;
  inset: auto auto -5.2rem -9rem;
  background: url(../img/common/com-deco_flower.png) center/100% no-repeat;
  z-index: 1;
}
.c-pages__item .title--primary .title-en {
  font-size: 8rem;
}
.c-pages__item .title--primary .title-ja {
  font-size: var(--font-size-33);
  margin-top: 4rem;
}

/*==========================================
テーブルレイアウト
===========================================*/
.com-table tr {
  display: flex;
}
.com-table tr th {
  padding: 2rem;
  width: 35rem;
  vertical-align: top;
  border-bottom: 2px solid var(--color-white);
  background: var(--primary-color);
  color: var(--color-white);
}
.com-table tr td {
  width: calc(100% - 35rem);
  padding: 2rem;
  border-bottom: 2px solid var(--primary-color);
  background: var(--color-white);
}
.com-table tr td a[href^="mailto:"] {
  text-decoration: underline;
}
.com-table tr td .tel__text {
  display: block;
  line-height: 1.3;
}
.com-table tr:last-child th,
.com-table tr:last-child td {
  border-bottom: none;
}

/*==========================================
共通ブロック・要素
===========================================*/
.com-content p {
  margin-bottom: 3.5rem;
}

.com-text.align-center {
  text-align: center;
}

#g-map .map {
  height: 40rem;
}

.button--primary {
  border-radius: var(--button-radius-pc);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-20);
  text-align: center;
  color: var(--color-white);
  min-height: 6.5rem;
  padding: 0 2rem;
  z-index: 10;
  position: relative;
  background: url(../img/common/button-primary_bg.png) center/cover, var(--accent-color);
}
.button--primary span {
  width: 100%;
}
.button--primary span.bs-icon--arrow-right-short::before {
  font-size: var(--font-size-28);
  inset: 0 0 0 auto;
  font-weight: var(--font-weight-regular);
}

/*
# bg-deco--leaf-lg
------------------------*/
.bg-deco--leaf-lg {
  position: relative;
}
.bg-deco--leaf-lg::before {
  position: absolute;
  content: "";
  width: 37.1rem;
  height: 46.8rem;
  background: url(../img/common/com-deco_leaf.png) center/100% no-repeat;
}

/*==========================================
共通タイトル
===========================================*/
.title--primary {
  margin-bottom: 6rem;
  text-align: center;
}
.title--primary.align-left {
  text-align: left;
}
.title--primary .title-en,
.title--primary .title-ja {
  display: block;
}
.title--primary .title-en {
  font-family: var(--font-secondary);
  font-weight: var(--font-weight-regular);
  font-size: var(--font-size-36);
  line-height: 1;
  color: var(--primary-color);
}
.title--primary .title-en.color-white {
  color: var(--color-white);
}
.title--primary .title-ja {
  margin-top: 1.5rem;
  font-size: var(--font-size-53);
  line-height: 1.5094339623;
}

.title--secondary {
  font-size: var(--font-size-25);
  border-bottom: 1px solid var(--color-white);
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
}

/*==========================================
header
===========================================*/
.logo {
  width: 32.2rem;
}

.l-header {
  top: 3rem;
  padding: 2.5rem 5rem 2.5rem 4.5rem;
  z-index: 1001;
}
.l-header::before, .l-header::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.3rem;
  left: 0;
  right: 0;
  background: rgba(var(--body-font-color-rgb), 0.2);
}
.l-header::before {
  top: 1rem;
}
.l-header::after {
  bottom: 1rem;
}
.l-header__logo {
  line-height: 1;
}
.l-header__nav-item::before {
  position: absolute;
  content: "";
  width: 0.2px;
  height: 3rem;
  background: rgba(var(--body-font-color-rgb), 0.6);
  inset: 0 auto 0 0;
  margin: auto 0;
  z-index: 1;
}
.l-header__nav-item:first-child .l-header__nav-link {
  padding-left: 0;
}
.l-header__nav-item:first-child::before {
  background: none;
}
.l-header__nav-item:last-child .l-header__nav-link {
  padding-right: 0;
}
.l-header__nav-link {
  padding: 0 2.5rem;
  font-size: var(--font-size-26);
  letter-spacing: 0.05em;
}
.l-header .c-mail__button {
  width: 23rem;
}

/*==========================================
mv
===========================================*/
.p-top__mv {
  height: 105rem;
  background: url(../img/top/mv/mv-deco_top-leaf.png) top center/100% no-repeat, url(../img/top/mv/mv_bg.jpg) center/cover no-repeat;
}
.p-top__mv-catch {
  width: 59.84375%;
}

/*==========================================
footer
===========================================*/
.l-footer {
  padding: 18rem 0 0;
  min-height: 68.4rem;
  position: relative;
  z-index: 1;
  background: url(../img/common/ft-deco_left.png) left bottom/16.04166% no-repeat, url(../img/common/ft-deco_fish.png) right 7.2916% top 15rem/16.66666% no-repeat, url(../img/common/ft-deco_btm.png) bottom center/100% no-repeat, url(../img/common/ft_bg.png) bottom center/cover no-repeat;
}
.l-footer__left {
  width: 47rem;
}
.l-footer__logo {
  filter: brightness(0) invert(1);
}
.l-footer__address {
  margin-top: 5rem;
}
.l-footer__address-location {
  font-size: var(--font-size-16);
}
.l-footer__instagram {
  margin-top: 5.5rem;
}
.l-footer__right {
  width: 41.5rem;
}
.l-footer__nav-list {
  /*==========================================
  grid
  ===========================================*/
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(4, 1fr);
  grid-auto-flow: column;
  grid-row-gap: 2rem;
}
.l-footer__nav-link {
  font-size: var(--font-size-19);
}
.l-footer__nav-link:hover {
  transform: translateX(0.5rem);
}

#copyright {
  word-break: normal;
  text-align: right;
  margin-top: 7rem;
}
#copyright small {
  font-size: var(--font-size-12);
}

/*==========================================
sv
===========================================*/
.sv {
  height: 93rem;
  overflow: hidden;
}
.sv::before, .sv::after {
  position: absolute;
  content: "";
}
.sv::before {
  inset: 0 0 auto;
  background: url(../img/top/mv/mv-deco_top-leaf.png) top center/100% no-repeat;
  width: 100%;
  height: 49.8rem;
}
.sv::after {
  inset: auto auto 14.5rem 7.65625%;
  background: url(../img/common/deco_shell-star.png) center/100% no-repeat;
  width: 18.4rem;
  height: 13.2rem;
  z-index: 2;
}
.sv__title {
  font-size: var(--font-size-50);
  letter-spacing: 0.05em;
  background: url(../img/sv/sv-ttl_bg.jpg);
  width: 71rem;
  margin: 0 auto;
  text-align: center;
}
.sv__title::before, .sv__title::after {
  position: absolute;
  content: "";
}
.sv__title::before {
  width: 11.4rem;
  height: 11.6rem;
  background: url(../img/common/com-deco_flower.png) center/100% no-repeat;
  inset: -6.7rem auto auto -5rem;
}
.sv__title::after {
  width: 6rem;
  height: 5.9rem;
  background: url(../img/sv/sv-ttl_deco-r.png) center/100% no-repeat;
  inset: auto -2rem -1.6rem auto;
}
.sv__title span {
  padding: 1.5rem 0;
}
.sv__title span::before {
  position: absolute;
  content: "";
  width: 63.6rem;
  height: 9rem;
  background: url(../img/sv/sv-ttl_bdr.png) center/100% no-repeat;
  inset: auto 0 -6.5rem;
  margin: 0 auto;
}

.p-story__sv {
  background: url(../../img/sv/story-sv_bg.jpg) center/cover no-repeat;
}

.p-partner__sv {
  background: url(../../img/sv/partner-sv_bg.jpg) center/cover no-repeat;
}

.p-works__sv {
  background: url(../../img/sv/works-sv_bg.jpg) center/cover no-repeat;
}

.p-info__sv {
  background: url(../../img/sv/info-sv_bg.jpg) center/cover no-repeat;
}

.p-news__sv {
  background: url(../../img/sv/news-sv_bg.jpg) center/cover no-repeat;
}

.p-contact__sv {
  background: url(../../img/sv/contact-sv_bg.jpg) center/cover no-repeat;
}

.p-complete__sv {
  background: url(../../img/sv/complete-sv_bg.jpg) center/cover no-repeat;
}

.p-privacy__sv {
  background: url(../../img/sv/privacy-sv_bg.jpg) center/cover no-repeat;
}

.p-site__sv {
  background: url(../../img/sv/site-sv_bg.jpg) center/cover no-repeat;
}

.p-e404__sv {
  background: url(../../img/sv/e404-sv_bg.jpg) center/cover no-repeat;
}

/*==========================================
top
===========================================*/
.section-headline {
  margin-top: -21rem;
  padding: 31rem 0;
  position: relative;
  background: url(../img/info/profile_bg.png) top center/cover no-repeat;
}

/*
# p-top-about
------------------------*/
.p-top-about {
  height: 141.5rem;
  padding: 21rem 0 32.5rem;
  background: url(../img/common/com-deco_flower.png) left 16.666% bottom 10rem/7.8125% no-repeat, url(../img/top/about_bg.png) center/cover no-repeat;
}
.p-top-about::before, .p-top-about::after {
  position: absolute;
  content: "";
}
.p-top-about::before {
  width: 9.5833%;
  height: 13.2rem;
  inset: -5.5rem auto auto 7.552%;
  background: url(../img/common/deco_shell-star.png) center/100% no-repeat;
}
.p-top-about::after {
  width: 31.875%;
  height: 80.8rem;
  background: url(../img/top/about-deco_palm.png) center/100% no-repeat;
  inset: auto 0 20.3rem auto;
}
.p-top-about__title {
  margin-bottom: 4.5rem;
}
.p-top-about__content {
  width: 64.4rem;
  height: 86.3rem;
  margin-left: auto;
  padding: 8.5rem 13rem 5rem 8.4rem;
  background: url(../img/top/about-bg_content.png) center/cover no-repeat;
}
.p-top-about__images {
  position: absolute;
  inset: 21rem auto auto -5.5rem;
  width: 51.302%;
  height: 87rem;
}
.p-top-about__image {
  position: absolute;
}
.p-top-about__image.about__image--lg {
  width: 61.1675%;
  inset: auto 0 0 auto;
}
.p-top-about__image.about__image--md {
  width: 62.9441%;
  inset: 0 auto auto 18.213%;
}
.p-top-about__image.about__image--sm {
  width: 27.4116%;
  inset: auto auto 20.919% 0;
}
.p-top-about__button {
  width: 40rem;
  margin-top: 5rem;
  font-size: var(--font-size-20);
}

/*
# p-top-works
------------------------*/
.p-top-works {
  padding: 0 0 10.5rem;
}
.p-top-works__text {
  font-size: var(--font-size-22);
  margin-bottom: 3rem;
}
.p-top-works__text small::before, .p-top-works__text small::after {
  position: absolute;
  content: "";
  width: 0.2rem;
  height: 2rem;
  background: var(--body-font-color);
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.p-top-works__text small::before {
  left: -1.5rem;
  transform: rotate(-25deg);
}
.p-top-works__text small::after {
  right: -1.5rem;
  transform: rotate(25deg);
}
.p-top-works__list {
  min-height: 67.5rem;
  padding-left: 54rem;
  gap: 4rem;
  position: relative;
}
.p-top-works__item {
  width: 25rem;
}
.p-top-works__item:nth-child(1) {
  width: 50rem;
  position: absolute;
  inset: 0 auto auto 0;
}
.p-top-works__item:nth-child(1) .p-top-works__link-image {
  height: 56rem;
}
.p-top-works__link::before {
  display: none;
}
.p-top-works__link-image {
  width: 100%;
  height: 23rem;
  position: relative;
}
.p-top-works__link-image::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  border: 0.3rem solid var(--primary-color);
  inset: 0;
  opacity: 0;
  z-index: 1;
  transition: all 0.3s;
}
.p-top-works__link:hover .p-top-works__link-image::before {
  opacity: 1;
}
.p-top-works__link-tags {
  gap: 0.5rem;
  margin-top: 1.5rem;
}
.p-top-works__link-tag {
  padding: 0 1rem;
}
.p-top-works__link-caption {
  font-size: var(--font-size-23);
  margin-top: 1.5rem;
}
.p-top-works__button {
  width: 23rem;
  margin: 5.5rem auto 0;
}

/*
# p-top-people
------------------------*/
.p-top-people {
  padding: 30rem 0 29.8rem;
  margin-top: -13.8rem;
  background: url(../img/top/people_bg.png) center top/cover no-repeat;
}
.p-top-people::before {
  inset: -8rem 0 auto auto;
}
.p-top-people__inbox {
  position: relative;
  z-index: 2;
}
.p-top-people__inbox::before {
  position: absolute;
  content: "";
  width: 18.4rem;
  height: 13.2rem;
  inset: auto auto -14rem -2.7rem;
  background: url(../img/common/deco_shell-star.png) center/100% no-repeat;
}
.p-top-people__content {
  width: 67.1rem;
  height: 53rem;
  margin-left: auto;
  padding: 8rem 5rem 3rem 8.5rem;
  background: url(../img/top/people-bg_content.png) center/cover no-repeat;
}
.p-top-people__content::before, .p-top-people__content::after {
  position: absolute;
  content: "";
}
.p-top-people__content::before {
  width: 29.5rem;
  height: 21.3rem;
  inset: -8.8rem 0 auto auto;
  background: url(../img/top/people-deco_flowers.png) center/100% no-repeat;
}
.p-top-people__content::after {
  width: 31.5rem;
  height: 27rem;
  inset: auto 0 -19.8rem auto;
  background: url(../img/top/people_illust.png) center/100% no-repeat;
}
.p-top-people__title {
  margin-bottom: 4rem;
}
.p-top-people__text {
  font-size: var(--font-size-26);
}
.p-top-people__button {
  width: 23rem;
}
.p-top-people__images {
  width: 60rem;
  height: 76.5rem;
  position: absolute;
  inset: -7rem auto auto -6rem;
}
.p-top-people__image {
  position: absolute;
}
.p-top-people__image.people__image--top {
  inset: 0 auto auto 0;
  width: 41.5rem;
}
.p-top-people__image.people__image--second {
  width: 33.9rem;
  inset: auto 0 0 auto;
}

/*==========================================
story
===========================================*/
/*
# p-story-about
------------------------*/
.p-story-about {
  height: 141.5rem;
  padding: 21rem 0 32.5rem;
  background: url(../img/top/about_bg.png) center/cover no-repeat;
}
.p-story-about__img {
  width: 61.1rem;
  margin-left: -7.3rem;
}
.p-story-about__content {
  width: 70rem;
  height: 60.8rem;
  background: url(../img/story/about-bg_content.png) center/cover no-repeat;
  padding: 9rem 9rem 3rem;
  font-size: var(--font-size-20);
  z-index: 1;
}
.p-story-about__content::before {
  position: absolute;
  content: "";
  width: 10.6rem;
  height: 16.6rem;
  inset: -2.8rem -9.5rem auto auto;
  background: url(../img/story/about-deco_content.png) center right no-repeat;
  z-index: -1;
}

/*
# p-story-history
------------------------*/
.p-story-history {
  padding: 4rem 0;
  background: url(../img/story/story_decos.png) top 32rem center/100% no-repeat;
}
.p-story-history::before {
  inset: -35.5rem 0 auto auto;
  z-index: 1;
}
.p-story-history__part {
  margin-bottom: 13rem;
  padding: 8.5rem 10rem;
}
.p-story-history__part::before {
  position: absolute;
  inset: -4.5rem 0 auto;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  margin: 0 auto;
  background: var(--primary-color);
  color: var(--color-white);
  font-size: var(--font-size-43);
  display: flex;
  align-items: baseline;
  justify-content: center;
  line-height: 2;
}
.p-story-history__part:nth-child(1)::after {
  position: absolute;
  content: "";
  width: 16.5rem;
  height: 30.8rem;
  background: url(../img/story/history-illust_01.png) center/100% no-repeat;
  inset: auto -8.5rem -1.8rem auto;
}
.p-story-history__part:nth-child(3)::after {
  position: absolute;
  content: "";
  width: 16.5rem;
  height: 31.3rem;
  background: url(../img/story/history-illust_03.png) center/100% no-repeat;
  inset: auto auto -1.5rem -6rem;
}
.p-story-history__part:nth-child(6)::after {
  position: absolute;
  content: "";
  width: 28.7rem;
  height: 21.8rem;
  background: url(../img/story/history-illust_06.png) center/100% no-repeat;
  inset: auto -6rem 0 auto;
}
.p-story-history__part:last-child {
  margin-bottom: 0;
}
.p-story-history__part-title {
  margin-bottom: 3rem;
}
.p-story-history__part-content {
  font-size: var(--font-size-20);
}
.p-story-history__part-text {
  line-height: 2.1875;
}
.p-story-history__part:has(.p-story-history__part-img) .p-story-history__part-content {
  width: 54rem;
  font-size: var(--font-size-16);
}
.p-story-history__part-img {
  width: 50.5rem;
}
.p-story-history__part-button {
  width: 40rem;
  padding: 0 4rem;
  text-align: left;
}

/*
# p-story-msg
------------------------*/
.p-story-msg {
  padding: 41rem 0 29.8rem;
  margin-top: -2.8rem;
  background: url(../img/top/people_bg.png) center top/cover no-repeat;
}
.p-story-msg::before {
  transform: scale(-1, 1);
  inset: -14rem auto auto 0;
}
.p-story-msg__inbox {
  position: relative;
}
.p-story-msg__images {
  position: absolute;
  inset: 17.3rem -15.3rem auto auto;
  width: 79.5rem;
  height: 85rem;
}
.p-story-msg__img-item {
  position: absolute;
}
.p-story-msg__img-item.msg__img-item--lg {
  width: 60.3rem;
  inset: auto 0 0 auto;
}
.p-story-msg__img-item.msg__img-item--sm {
  width: 62rem;
  inset: 0 auto auto 0;
}
.p-story-msg__content {
  width: 64.4rem;
  height: 84.4rem;
  padding: 9.5rem 6rem 8.5rem 11rem;
  margin-left: -2.5rem;
  background: url(../img/story/msg-content_bg.png) center/cover no-repeat;
}
.p-story-msg__content::before, .p-story-msg__content::after {
  position: absolute;
  content: "";
}
.p-story-msg__content::before {
  width: 11.5rem;
  height: 9.4rem;
  inset: -2.1rem auto auto -4.4rem;
  background: url(../img/common/deco_shell.png) center/100% no-repeat;
}
.p-story-msg__content::after {
  width: 7.7rem;
  height: 7.1rem;
  inset: auto 0 -2rem auto;
  background: url(../img/common/deco_starfish.png) center/100% no-repeat;
}
.p-story-msg__content .p-story-msg__text {
  margin-bottom: 1.5rem;
}
.p-story-msg__content .p-story-msg__text:last-child {
  margin-bottom: 0;
}

/*==========================================
partner
===========================================*/
/*
# p-partner-colleague
------------------------*/
.p-partner-colleague {
  padding: 31rem 0 29.8rem;
  margin-top: -22.6rem;
  background: url(../img/partner/colleague_bg.png) center top/cover no-repeat;
}
.p-partner-colleague__inbox {
  background: url(../img/partner/colleague_illust.png) left bottom/31.5rem no-repeat;
}
.p-partner-colleague__title {
  margin-bottom: 0;
}
.p-partner-colleague__content {
  width: 72.8rem;
  height: 65.9rem;
  background: url(../img/partner/colleague-content_bg.png) center/cover no-repeat;
  padding: 8.5rem 9rem;
  margin-right: -10rem;
  font-size: var(--font-size-24);
}

/*
# p-partner-representative
------------------------*/
.p-partner-representative {
  padding-bottom: 30.6rem;
}
.p-partner-representative::before {
  inset: -40rem 0 auto auto;
  z-index: 1;
}
.p-partner-representative::after {
  position: absolute;
  content: "";
  width: 15rem;
  height: 14.5rem;
  background: url(../img/common/com-deco_flower.png) center/100% no-repeat;
  inset: auto auto 16rem 12.5%;
  z-index: 1;
}
.p-partner-representative__content {
  width: 51rem;
}
.p-partner-representative__img {
  width: 54rem;
}

/*
# p-partner-successor
------------------------*/
.p-partner-successor {
  padding: 0 0 14.5rem;
}
.p-partner-successor::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 28.6rem;
  background: url(../img/partner/representative-bg_frame.png) center/100% no-repeat;
  inset: -28.4rem 0 auto;
}
.p-partner-successor__content {
  width: 52.5rem;
}
.p-partner-successor__images {
  width: 62rem;
  margin-left: -10rem;
  background: url(../img/common/deco_shell-star.png) left 8rem bottom 9rem/18.4rem no-repeat;
}
.p-partner-successor__img-item {
  margin-bottom: 3rem;
}
.p-partner-successor__img-item:first-child {
  width: 52.6rem;
}
.p-partner-successor__img-item:last-child {
  width: 25.8rem;
  margin: 0 0 0 auto;
  text-align: right;
}

/*
# p-partner-motto
------------------------*/
.p-partner-motto {
  padding: 24rem 0 29rem;
  background: url(../img/partner/motto_bg.png) top center/cover no-repeat;
  position: relative;
  z-index: 1;
  margin-top: -16rem;
}
.p-partner-motto__list {
  gap: 4.5rem;
}
.p-partner-motto__card {
  width: 33rem;
  padding: 3.5rem 3rem;
}
.p-partner-motto__card::before {
  position: absolute;
  inset: 0 auto auto 0;
  width: 6rem;
  height: 6rem;
  color: var(--color-white);
  background: var(--primary-color);
  font-size: var(--font-size-28);
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-partner-motto__card-icon {
  width: 17rem;
  height: 17rem;
  margin: 0 auto;
}
.p-partner-motto__card-icon img {
  max-width: 65%;
  max-height: 11.1rem;
}
.p-partner-motto__card-title {
  font-size: var(--font-size-28);
  line-height: 1.4285714286;
  margin: 2rem 0;
}
.p-partner-motto__card-text {
  font-size: var(--font-size-16);
}

/*
# p-partner-archive
------------------------*/
.p-partner-archive {
  padding: 2rem 0 0;
}
.p-partner-archive::before {
  transform: scale(-1, 1);
  inset: -40rem auto auto 0;
  z-index: 2;
}
.p-partner-archive::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 28.6rem;
  background: url(../img/partner/representative-bg_frame.png) center/100% no-repeat;
  inset: -28.4rem 0 auto;
  z-index: 1;
}
.p-partner-archive__title {
  margin-bottom: 4rem;
}
.p-partner-archive__list {
  padding: 7rem;
  margin-top: 4rem;
  gap: 3rem;
}
.p-partner-archive__item {
  width: 45.5rem;
  font-size: var(--font-size-22);
  text-align: center;
  padding: 1.5rem;
}
.p-partner-archive__text {
  margin-top: 3.5rem;
}

/*==========================================
works
===========================================*/
/*
# p-works-archive
------------------------*/
.p-works-archive {
  background: url(../img/works/case_bg.jpg);
  margin-top: 0;
  padding: 4rem 0;
}
.p-works-archive::before, .p-works-archive::after {
  position: absolute;
  content: "";
  width: 100%;
  left: 0;
  right: 0;
}
.p-works-archive::before {
  background: url(../img/works/case-frame_top.png) bottom center/100% no-repeat;
  height: 22.5rem;
  top: -22.3rem;
}
.p-works-archive__tags {
  gap: 3rem;
  margin-bottom: 6rem;
}
.p-works-archive__tag {
  min-width: 20rem;
}
.p-works-archive__tag-link {
  background: var(--primary-color-light);
}
.p-works-archive__card {
  padding: 7.5rem 8rem;
  position: relative;
  margin-bottom: 5.5rem;
}
.p-works-archive__card:last-child {
  margin-bottom: 0;
}
.p-works-archive__card-image {
  width: 44rem;
  max-height: 38rem;
  position: absolute;
  overflow: hidden;
  inset: 7.5rem auto auto 8rem;
}
.p-works-archive__card-title {
  font-size: var(--font-size-26);
  margin-bottom: 3rem;
}
.p-works-archive__card-content {
  width: 42rem;
  margin-left: auto;
  min-height: 35rem;
}
.p-works-archive__card-tags {
  gap: 1rem;
}
.p-works-archive__card-tag {
  font-size: var(--font-size-22);
  padding: 0 1.8rem;
}

#works-container .c-pages::after {
  background: url(../img/works/pagelink-frame_top.png) top center/100% no-repeat;
}

/*==========================================
info
===========================================*/
/*
# p-info-company
------------------------*/
.p-info-company {
  padding: 21rem 0 0;
  background: url(../img/info/profile_bg.png) center/cover no-repeat;
}
.p-info-company__inbox {
  padding: 11.5rem 10rem;
}
.p-info-company__service {
  margin: 8rem 0;
  padding: 6rem 8rem 8rem;
}
.p-info-company__service-title {
  font-size: var(--font-size-43);
  text-align: center;
  margin: 0 auto 4rem;
  width: -moz-fit-content;
  width: fit-content;
}
.p-info-company__service-title::before, .p-info-company__service-title::after {
  position: absolute;
  content: "";
  width: 2rem;
  height: 0.4rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  background: var(--primary-color);
}
.p-info-company__service-title::before {
  left: -3.5rem;
}
.p-info-company__service-title::after {
  right: -3.5rem;
}
.p-info-company__service-list {
  gap: 4rem;
}
.p-info-company__service-item {
  width: 44rem;
  padding: 1.5rem 2rem;
  font-size: var(--font-size-22);
  text-align: center;
}

#info-container .c-pages::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 28.6rem;
  background: url(../img/info/company-bg_frame.png) center/100% no-repeat;
  inset: -0.4rem 0 auto;
  z-index: 1;
}

/*==========================================
news
===========================================*/
.column__wrap .column__list .column__post a {
  padding: 4.5rem 0;
}
.column__wrap .column__list .column__post-meta time {
  width: 9.5rem;
}
.column__wrap .column__list .column__post-meta time,
.column__wrap .column__list .column__post-meta .category-label {
  font-size: var(--font-size-16);
}
.column__wrap .column__list .column__post-meta .category-label {
  width: calc(100% - 11.5rem);
  gap: 5px;
}
.column__wrap .column__list .column__post-meta .category-label li {
  padding: 0.2rem 1rem;
}
.column__wrap .column__list .column__post-title {
  font-size: var(--font-size-23);
  margin: 1rem 0;
}
.column__wrap .column__list .column__post:has(.column__post-thumb) a {
  /*==========================================
  Flexbox
  ===========================================*/
  display: flex;
  width: 100%;
  justify-content: space-between;
  box-sizing: border-box;
}
.column__wrap .column__list .column__post:has(.column__post-thumb) .column__post-thumb {
  width: 21rem;
  height: 20rem;
}
.column__wrap .column__list .column__post:has(.column__post-thumb) .column__post-thumb .img-eff {
  width: 100%;
  height: 100%;
  transition-duration: 0.3s;
}
.column__wrap .column__list .column__post:has(.column__post-thumb) .column__post-meta {
  width: 82rem;
}

/*----------------------------------
  詳細ページのカテゴリー表示(タイトル下部)
  ----------------------------------*/
.single__post-meta {
  margin-bottom: 2rem;
}
.single__post-meta time {
  font-size: var(--font-size-14);
  width: 9.5rem;
  padding: 0.3rem 0;
}
.single__post-meta .category-label {
  width: calc(100% - 9.5rem);
  font-size: var(--font-size-14);
  gap: 5px;
  margin-left: 1rem;
}
.single__post-meta .category-label li a {
  padding: 0.3rem 1rem;
}

/*==========================================
  contact
  ===========================================*/
.p-contact__form {
  width: 98rem;
  margin: 0 auto 5.5rem;
}
.p-contact__form-item {
  border-bottom: none !important;
}
.p-contact__form-item .p-contact__form-label .required {
  margin-left: 1rem;
  background: var(--color-white);
}
.p-contact__form-item .p-contact__form-input {
  padding: 1.5rem;
}
.p-contact__form-item .p-contact__form-input .p-contact__form-list {
  gap: 1.5rem;
}
.p-contact__form-item.p-contact__form-privacy .p-contact__form-label {
  text-align: center;
}
.p-contact__form-value {
  padding: 2rem 1.5rem;
}
.p-contact__form-select {
  width: 20rem;
}
.p-contact__form-select::after {
  inset: 0 1.6rem 0 auto;
  width: 0.8rem;
  height: 0.8rem;
}
.p-contact__form-select select {
  padding: 1.5rem 3rem 1.5rem 1rem;
}
.p-contact__form #pc01,
.p-contact__form #pc02 {
  width: 15rem;
}
.p-contact__form #address {
  margin-top: 1.5rem;
}
.p-contact__form #date1,
.p-contact__form #date2,
.p-contact__form #date3 {
  width: 30rem;
}
.p-contact__form textarea {
  height: 26rem;
}
.p-contact__form .upload-item-wrap .thumb {
  width: 20rem;
  margin-right: 2.5rem;
}
.p-contact__form .upload-item-wrap .ancion-btn-wrap {
  width: 13rem;
}
.p-contact__form .upload-item-wrap .ancion-btn-wrap .ancion-btn,
.p-contact__form .upload-item-wrap .ancion-btn-wrap .upload-button {
  font-size: var(--font-size-13);
}
.p-contact input[type=button],
.p-contact input[type=submit],
.p-contact .p-contact__submits-wrap button {
  height: 7.5rem;
}
.p-contact .p-contact__submits-wrap {
  gap: 3.5rem;
}
.p-contact .p-contact__submits-wrap .p-contact__submits-check {
  width: 30.4rem;
}
.p-contact .p-contact__submits-wrap .p-contact__submits-back {
  width: 27rem;
}
.p-contact .p-contact__submits-wrap .p-contact__submits-send {
  width: 24rem;
}

/*==========================================
  privacy
  ===========================================*/
.p-privacy {
  margin-top: -31rem;
}
.p-privacy__content {
  margin-bottom: 7rem;
}
.p-privacy__content:last-child {
  margin-bottom: 0;
}

/*==========================================
  site
  ===========================================*/
.p-sitemap__item-link {
  padding: 2% 0 2% 3%;
}

/*==========================================
  プライバシーポリシー(LPフレーム時)
  ===========================================*/