@charset "UTF-8";

/**
 * Reset
 */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  margin: 0;
  padding: 0;
  line-height: 1.5;
}

ul,
ol {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

img,
svg,
video,
canvas,
audio,
iframe {
  display: block;
  max-width: 100%;
  height: auto;
}

img,
video {
  vertical-align: middle;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}

button {
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
 * Variables
 */
:root {
  --color-primary: #0162b1;
  --color-primary-dark: #0052a2;
  --color-primary-light: #0066cc;
  --color-blue-light: #49a1ff;
  --color-accent: #f17c5a;
  --color-text: #222222;
  --color-text-secondary: #666666;
  --color-white: #ffffff;
  --color-border: #d9d9d9;
  --color-bg-gray: #eef2f5;
  --color-bg-beige: #faf8ee;
  --color-bg-yellow: #fff1c7;
  --color-bg-orange: #ffdbb6;
  --font-family-base: "Zen Kaku Gothic New", sans-serif;
  font-feature-settings: "palt";
}

/**
 * Base
 */
body {
  font-family: var(--font-family-base);
}

/**
 * Utility
 */
.u-text-accent {
  color: var(--color-accent);
}

.visible-pc {
  display: block;
}
.visible-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .visible-pc {
    display: none;
  }
  .visible-sp {
    display: block;
  }
}

/**
 * Component: Button
 */
.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: opacity 0.3s;
}

.c-btn:hover {
  opacity: 0.8;
}

.c-btn.-primary {
  background-color: var(--color-primary-dark);
  color: var(--color-white);
  border-radius: 999px;
  padding: 1.429vw;
  width: 34.071vw;
  max-width: 100%;
}

.c-btn__icon {
  width: 4.061vw;
  height: 3.782vw;
  margin-right: 0.714vw;
}

.c-btn__text {
  font-size: 1.286vw;
  font-weight: 700;
  line-height: 2;
  letter-spacing: -0.064vw;
  flex: 1;
  text-align: center;
  padding-left: 3.357vw;
}

.c-btn__arrow {
  position: relative;
  width: 2.696vw;
  height: 2.696vw;
  border: 2px solid var(--color-white);
  margin-left: 0.714vw;
  border-radius: 50%;
}

.c-btn__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.571vw;
  height: 0.571vw;
  border-top: 2px solid var(--color-white);
  border-right: 2px solid var(--color-white);
  transform: translate(-70%, -50%) rotate(45deg);
}

.c-btn__arrow.-blank {
  border: none;
}
.c-btn__arrow.-blank::after {
  border: none;
  background: url("/company/lp/brand-partner/images/icon_external_link.svg")
    no-repeat center center / contain;
  width: 2.643vw;
  height: 2.643vw;
  transform: translate(-50%, -50%) rotate(0);
}

@media screen and (max-width: 767px) {
  .c-btn.-primary {
    width: 73.07vw;
    padding: 4.27vw;
  }

  .c-btn__icon {
    width: 8.53vw;
    height: 7.73vw;
    margin-right: 2.13vw;
  }

  .c-btn__text {
    font-size: 3.73vw;
    line-height: 1.6;
    letter-spacing: -0.187vw;
    padding-left: 7.47vw;
  }

  .c-btn__arrow {
    width: 6.4vw;
    height: 6.4vw;
    margin-left: 4px;
  }

  .c-btn__arrow.-blank::after {
    width: 6.4vw;
    height: 6.4vw;
  }

  .c-btn__arrow::after {
    width: 1.6vw;
    height: 1.6vw;
  }
}

/**
 * Component: Heading
 */
.c-heading.-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.429vw;
  font-size: 3vw;
  font-weight: 700;
  color: var(--color-accent);
  line-height: 1.5;
  letter-spacing: -0.45vw;
  margin-bottom: 1.143vw;
  padding-bottom: 0.571vw;
}

.c-heading.-line::before,
.c-heading.-line::after {
  content: "";
  width: 3vw;
  height: 0.429vw;
  background-color: var(--color-accent);
}

@media screen and (max-width: 767px) {
  .c-heading.-line {
    font-size: 7.47vw;
    gap: 5.33vw;
    margin-bottom: 0;
  }

  .c-heading.-line::before,
  .c-heading.-line::after {
    width: 6.4vw;
    height: 2px;
  }
}

/**
 * Component: Link
 */
.c-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.286vw;
  color: var(--color-primary);
  font-size: 1.143vw;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.3s;
}

.c-link:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.c-link-arrow {
	flex-shrink: 0;
  display: block;
  width: 2vw;
  height: 2vw;
  position: relative;
  border-radius: 50%;
}

.c-link-arrow::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left:50%;
  background: url('/company/lp/brand-partner/images/icon_circle_right.svg') no-repeat center center / contain;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
}

.c-link-arrow.-blank::before {
  background: url("/company/lp/brand-partner/images/icon_external_link_blue.svg")
    no-repeat center center / contain;
}

@media screen and (max-width: 767px) {
  .c-link {
    letter-spacing: -0.7px;
    gap: 1.067vw;
    font-size: 4.267vw;
    color: var(--color-primary-light);
  }
  .c-link:has(.-small) {
    font-size: 3.73vw;
  }

  .c-link-arrow {
    width: 7.467vw;
    height: 7.467vw;
  }

  .c-link-arrow.-small {
    width: 6.4vw;
    height: 6.4vw;
  }
}

/**
 * Layout: Inner
 */
.l-inner {
  position: relative;
  width: 100%;
  max-width: 85.714vw;
  margin: 0 auto;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .l-inner {
    max-width: 100%;
    padding: 0 5.33vw;
  }
}

/**
 * Layout: Main Visual
 */
.l-mv {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.l-mv__inner {
  position: relative;
  width: 100%;
  max-width: 94vw;
  height: 72.5vw;
  margin: 0 auto;
}

.l-mv__bg {
  position: absolute;
  inset: 0;
  width: 100vw;
  height: 100%;
  left: 50%;
  top: -1px;
  transform: translateX(-50%);
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
}

.l-mv__bg img {
  width: 100vw;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center bottom;
}

.l-mv__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  padding: 1.643vw 2.857vw;
}

/**
 * Layout: Header
 */
.l-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  padding: 1.643vw 2.857vw;
}

.l-header__inner {
  display: flex;
  width: 100%;
  max-width: 100vw;
  justify-content: space-between;
  align-items: center;
  margin-inline: auto;
}

.l-header__logo {
  display: flex;
  align-items: center;
  gap: 2.857vw;
}

.l-mv__title {
  margin-top: 13.5vw;
  width: 44.5vw;
}

.l-mv__mainCopy img {
  width: 100%;
  height: auto;
}

.l-mv__subCopy {
  margin-top: 3.429vw;
  color: var(--color-primary);
  font-family: var(--font-family-base);
  font-size: 1.143vw;
  font-weight: 500;
  line-height: 2;
}

.l-mv__image {
  position: absolute;
  top: -6.4vw;
  right: 0;
  width: 59.143vw;
  z-index: 2;
}

.l-mv__image img {
  width: 100%;
  height: auto;
}

/* Mobile styles */
@media screen and (max-width: 767px) {
  .l-mv__inner {
    max-width: 100%;
    height: 161.87vw;
  }

  .l-mv__content {
    padding: 0;
  }

  .l-header {
    padding: 4.27vw 5.33vw;
  }

  .l-header__logo {
    gap: 5.87vw;
  }

  .l-header__logo__link.-nagoya {
    width: 21.067vw;
  }

  .l-header__logo__link.-nissho {
    width: 26.874vw;
  }

  .l-mv__title {
    position: absolute;
    top: 50.8vw;
    left: 5.33vw;
    width: 89.33vw;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    gap: 10.67vw;
  }

  .l-mv__mainCopy {
    width: 70.93vw;
  }

  .l-mv__subCopy {
    margin-top: 0;
    color: var(--color-white);
    font-size: 3.2vw;
    line-height: 2;
    letter-spacing: -0.6px;
  }

  .l-mv__image {
    top: 12.8vw;
    width: 77.867vw;
  }
}

/**
 * Component: Concept Area
 */
.p-concept {
  position: relative;
  text-align: center;
  margin-top: -22.929vw;
  padding-bottom: 11.429vw;
}

.p-concept__bg {
  position: absolute;
  top: 17.857vw;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 82.643vw;
  background: url("/company/lp/brand-partner/images/bg_white.png") no-repeat
    center center / cover;
  z-index: 1;
}

.p-concept__visual {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2.857vw;
}

.p-concept__title {
  font-size: 3vw;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-text);
  margin-bottom: 5.143vw;
  letter-spacing: -0.18vw;
}

.p-concept__logoCard {
  display: flex;
  justify-content: center;
  margin-bottom: 5.143vw;
}

.p-concept__logoCardInner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4.5vw;
  width: 71vw;
  height: 22.571vw;
  padding: 1.429vw 2.857vw;
  background-color: var(--color-white);
  box-shadow: 0px 0.286vw 1.714vw 0.357vw rgba(0, 0, 0, 0.12);
  border-radius: 11.286vw;
}

.p-concept__logoCardInner img {
  width: 43.714vw;
  height: auto;
  object-fit: cover;
}

.p-concept__lead {
  font-size: 1.143vw;
  line-height: 2;
  color: var(--color-text);
  margin-bottom: 3.429vw;
  letter-spacing: -0.8px;
  font-weight: 500;
}

.p-concept__btn {
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-concept {
    padding-bottom: 32vw;
    margin-top: -32.8vw;
  }

  .p-concept__bg {
    top: 25.33vw;
    height: 82.4vw;
  }

  .p-concept__visual {
    margin-bottom: 8.53vw;
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }

  .p-concept__character {
    margin-top: -10.67vw;
  }

  .p-concept__title {
    font-size: 7.47vw;
    margin-bottom: 10.67vw;
    letter-spacing: -0.613vw;
  }

  .p-concept__logoCard {
    margin-bottom: 10.67vw;
  }

  .p-concept__logoCardInner {
    width: 89.33vw;
    height: 35.2vw;
    padding: 5.33vw;
    gap: 5.07vw;
    border-radius: 42.13vw;
  }

  .p-concept__logoCardInner img {
    width: 65.07vw;
  }

  .p-concept__lead {
    font-size: 3.73vw;
    letter-spacing: -0.187vw;
    text-align: left;
    margin-bottom: 10.67vw;
  }
}

/**
 * Component: Room Search Area
 */
.p-roomSearch {
  overflow: hidden;
  position: relative;
  padding-bottom: 17.714vw;
}

.p-roomSearch::before {
  content: "";
  position: absolute;
  top: 35.714vw;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("/company/lp/brand-partner/images/bg-dot-area.png") no-repeat
    center center / cover;
  z-index: -1;
}
.p-roomSearch::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 29.786vw;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) -3%, #fff 100%);
  z-index: -1;
}

.p-roomSearch__bg {
  position: absolute;
  top: 31.786vw;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 82.643vw;
  background: url("/company/lp/brand-partner/images/bg_orange_gradation.png")
    no-repeat center center / cover;
  z-index: 1;
}

.p-roomSearch__intro {
  position: relative;
  z-index: 2;
  text-align: center;
  margin-bottom: 3.429vw;
}

.p-roomSearch__intro:before {
  content: "";
  position: absolute;
  top: 15.643vw;
  left: calc(50% - 50vw);
  width: 100vw;
  height: 71.571vw;
  background: url("/company/lp/brand-partner/images/bg-room-search.png")
    no-repeat center center / contain;
  z-index: -1;
}

.p-roomSearch__introVisual {
  margin-bottom: 2.857vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.429vw;
  position: relative;
  z-index: 2;
}

.p-roomSearch__introVisual img {
  max-width: 100%;
  height: auto;
}

.p-roomSearch__introVisual_bg {
  position: absolute;
  top: 17.214vw;
  left: -3.571vw;
  width: 97.357vw;
  overflow: hidden;
  pointer-events: none;
  z-index: 2;
}

.p-roomSearch__introVisual_bg img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
}

@media screen and (max-width: 767px) {
  .p-roomSearch__introVisual_bg {
    top: 45.33vw;
    width: calc(100vw + 8vw);
    left: -8vw;
  }
}

.p-roomSearch__introText {
  font-size: 1.143vw;
  line-height: 2;
  color: var(--color-text);
  letter-spacing: -0.8px;
  font-weight: 500;
}

.p-roomSearch__list {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  padding-bottom: 8.571vw;
}

.p-roomSearch__list::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(50% + 0.857vw);
  transform: translate(-50%, -50%);
  width: calc(100vw - 1.643vw);
  height: 100%;
  background: url("/company/lp/brand-partner/images/bg_room_search_list.png")
    no-repeat center center / contain;
}

.p-roomSearch__item {
  position: relative;
  width: 85.714vw;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  height: 55vw;
}

.p-roomSearch__item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 7.857vw);
  height: 100%;
}

.p-roomSearch__item:nth-child(odd):before {
  background: url("/company/lp/brand-partner/images/roomSearch_items_bg_left.png")
    no-repeat center center / contain;
}
.p-roomSearch__item:nth-child(even):before {
  background: url("/company/lp/brand-partner/images/roomSearch_items_bg_right.png")
    no-repeat center center / contain;
}

.p-roomSearch__item + .p-roomSearch__item {
  margin-top: -5.714vw;
}

.p-roomSearch__item.-reverse .p-roomSearch__itemBg {
  left: auto;
  right: -50.437vw;
  transform: rotate(138deg);
  background: linear-gradient(
    179deg,
    var(--color-bg-orange) 0%,
    var(--color-bg-yellow) 21%
  );
}

.p-roomSearch__itemInner {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  padding: 0 8.571vw;
}

.p-roomSearch__item.-reverse .p-roomSearch__itemInner {
  flex-direction: row;
}

.p-roomSearch__itemContent {
  width: 34.286vw;
}

.p-roomSearch__itemTitle {
  font-size: 2.571vw;
  font-weight: 700;
  line-height: 2;
  margin-bottom: 1.143vw;
}

.p-roomSearch__itemLead {
  font-size: 1.143vw;
  line-height: 1.6;
  margin-bottom: 2.286vw;
  font-weight: 500;
  letter-spacing: -0.8px;
}

.p-roomSearch__itemLinks {
  display: flex;
  flex-direction: column;
  gap: 0.571vw;
}

.p-roomSearch__itemLinkGroup {
  display: flex;
  flex-direction: column;
  gap: 0.286vw;
}

.p-roomSearch__itemLinkLabel {
  font-size: 1.143vw;
  font-weight: 500;
  line-height: 1.6;
}

.p-roomSearch__itemLinkFlex {
  display: flex;
  flex-direction: column;
  gap: 0.286vw;
}

.p-roomSearch__itemImage {
  width: 29.5vw;
  margin-inline: auto;
}

.p-roomSearch__itemImage img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-roomSearch {
    padding-bottom: 32vw;
  }

  .p-roomSearch::before {
    top: 50.67vw;
  }

  .p-roomSearch::after {
    height: 133.33vw;
  }

  .p-roomSearch__bg {
    top: 50.67vw;
    height: 82.67vw;
  }

  .p-roomSearch__intro {
    margin-bottom: 10.67vw;
  }

  .p-roomSearch__itemLinkFlex {
    gap: 2px;
  }

  .p-roomSearch__introVisual {
    margin-bottom: 10.67vw;
  }

  .p-roomSearch__introText {
    font-size: 4.27vw;
    letter-spacing: -0.213vw;
    text-align: left;
  }

  .p-roomSearch__intro:before {
    height: 68vw;
    top: 33.6vw;
    background-size: cover;
  }

  .p-roomSearch__item {
    width: 100%;
    height: auto;
    padding: 10.67vw 0 5.33vw;
  }

  .p-roomSearch__item + .p-roomSearch__item {
    margin-top: 0;
  }

  .p-roomSearch__itemBg {
    top: 0.19px;
    left: 0;
    width: 99.73vw;
    height: 136.27vw;
    transform: none;
    background: none; /* Resetting PC bg */
  }

  .p-roomSearch__list {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-bottom: 19.2vw;
  }

  .p-roomSearch__list::before {
    content: none;
  }

  .p-roomSearch__item:before {
    width: calc(100vw + 10.67vw);
    top: -9.33vw;
  }

  .p-roomSearch__item.-friendly__work:before {
    top: -2.667vw;
  }

  .p-roomSearch__item:nth-child(even):before {
    background: url("/company/lp/brand-partner/images/roomSearch_items_bg_left.png")
      no-repeat center center / contain;
  }

  .p-roomSearch__itemBg::after {
    content: "";
    position: absolute;
    width: 100.2vw;
    height: 93.77vw;
    left: -21.57vw;
    top: 69.5vw;
    transform: rotate(-40deg);
    background: var(--color-bg-yellow);
  }

  .p-roomSearch__itemInner {
    flex-direction: column !important;
    padding: 0 5.33vw;
  }

  .p-roomSearch__itemImage {
    width: 62.67vw;
    margin-bottom: 0;
    order: -1;
  }

  .p-roomSearch__itemContent {
    width: 100%;
  }

  .p-roomSearch__itemTitle {
    font-size: 6.93vw;
    line-height: 2;
    margin-bottom: 2.13vw;
    margin-top: 2.133vw;
    letter-spacing: -0.693vw;
  }

  .p-roomSearch__itemLead {
    font-size: 3.73vw;
    margin-bottom: 4.27vw;
    letter-spacing: 0;
  }

  .p-roomSearch__itemLinkGroup {
    gap: 1px;
  }

  .p-roomSearch__itemLinks {
    gap: 4px;
    background: var(--color-white);
    padding: 4.27vw 6.4vw;
    border-radius: 3.2vw;
    border: 1px solid var(--color-border);
  }

  .p-roomSearch__itemLinkLabel {
    font-size: 3.73vw;
  }
}

/**
 * Component: QA Area
 */

.p-qa__header {
  text-align: center;
  margin-bottom: 2.857vw;
}

.p-qa__title {
  font-size: 3vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.1vw;
  color: var(--color-text);
  margin-bottom: 2.857vw;
}

.p-qa__lead {
  font-size: 1.143vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: -0.8px;
  color: var(--color-text);
}

.p-qa__cards {
  display: flex;
  flex-direction: column;
  gap: 0.571vw;
  margin-bottom: 5.143vw;
}

.p-qa__card {
  padding: 4.571vw 8.571vw;
  border-radius: 1.429vw;
  position: relative;
}

.p-qa__card.-beginner {
  background-color: var(--color-bg-gray);
}

.p-qa__card.-expert {
  background-color: var(--color-bg-beige);
}

.p-qa__cardDecoration::before,
.p-qa__cardDecoration::after {
  content: "";
  position: absolute;
  width: 5.429vw;
  height: 5.429vw;
  background: url("/company/lp/brand-partner/images/qaCard_decoration.svg")
    no-repeat center center / contain;
}

.p-qa__cardDecoration.-decoration01::before {
  top: 1.143vw;
  left: 1.143vw;
}

.p-qa__cardDecoration.-decoration01::after {
  top: 1.143vw;
  right: 1.143vw;
  transform: rotate(90deg);
}

.p-qa__cardDecoration.-decoration02::before {
  bottom: 1.143vw;
  left: 1.143vw;
  transform: rotate(270deg);
}

.p-qa__cardDecoration.-decoration02::after {
  bottom: 1.143vw;
  right: 1.143vw;
  transform: rotate(180deg);
}

.p-qa__cardInner {
  display: flex;
  align-items: center;
  gap: 5.143vw;
}

.p-qa__cardImage {
  width: 14.286vw;
}

.p-qa__cardImage img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-qa__cardContent {
  flex: 1;
}

.p-qa__cardTag {
  display: inline-block;
  padding: 2px 0.857vw;
  background-color: var(--color-white);
  border: 1px solid var(--color-text-secondary);
  border-radius: 0.286vw;
  font-size: 1.143vw;
  font-weight: 700;
  margin-bottom: 1.143vw;
  letter-spacing: -0.8px;
  line-height: 2;
}

.p-qa__cardTitle {
  font-size: 1.714vw;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 1.714vw;
}

.p-qa__cardPoints {
  margin-bottom: 1.714vw;
}

.p-qa__cardPointsTitle {
  font-size: 1vw;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.05vw;
}

.p-qa__cardPointsList {
  font-size: 1vw;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: -0.05vw;
  list-style: disc;
  padding-left: 1.429vw;
}

.p-qa__magazine {
  display: flex;
  justify-content: center;
}

.p-qa__magazineInner {
  display: flex;
  align-items: center;
  gap: 5.143vw;
  width: 71vw;
}

.p-qa__magazineContent {
  flex: 1;
}

.p-qa__magazineTitle {
  font-size: 2.571vw;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.129vw;
  margin-bottom: 2.286vw;
}

.p-qa__magazineText {
  font-size: 1.143vw;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: -0.8px;
  margin-bottom: 2.286vw;
}

.p-qa__magazineImage {
  position: relative;
  width: 35.5vw;
  height: 23.714vw;
  background-color: var(--color-white);
  border-radius: 1.143vw;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-qa__magazineBadge {
  position: absolute;
  top: -2.429vw;
  left: -7.786vw;
  width: 15.571vw;
  height: 7.714vw;
}

.p-qa__magazineBadge img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .p-qa__header {
    margin-bottom: 8.53vw;
  }

  .p-qa__title {
    font-size: 6.93vw;
    margin-bottom: 8.53vw;
  }

  .p-qa__lead {
    font-size: 4.27vw;
    text-align: left;
  }

  .p-qa__cards {
    gap: 2.13vw;
    margin-bottom: 12.8vw;
  }

  .p-qa__card {
    padding: 10.67vw;
  }

  .p-qa__cardInner {
    flex-direction: column;
    gap: 4.27vw;
  }

  .p-qa__cardImage {
    width: 43.73vw;
  }

  .p-qa__cardTitle {
    font-size: 5.87vw;
    letter-spacing: -0.293vw;
    margin-bottom: 4.27vw;
  }

  .p-qa__cardDecoration::before,
  .p-qa__cardDecoration::after {
    width: 11.47vw;
    height: 11.47vw;
  }

  .p-qa__cardDecoration.-decoration01::before {
    top: 2.4vw;
    left: 2.4vw;
  }

  .p-qa__cardDecoration.-decoration01::after {
    top: 2.4vw;
    right: 2.4vw;
  }

  .p-qa__cardDecoration.-decoration02::before {
    bottom: 2.4vw;
    left: 2.4vw;
  }

  .p-qa__cardDecoration.-decoration02::after {
    bottom: 2.4vw;
    right: 2.4vw;
  }

  .p-qa__magazineInner {
    flex-direction: column-reverse;
    gap: 6.4vw;
    width: 100%;
  }

  .p-qa__magazineTitle {
    font-size: 6.93vw;
    line-height: 1.45;
    margin-bottom: 6.4vw;
    letter-spacing: -0.347vw;
  }

  .p-qa__magazineImage {
    width: 89.33vw;
    height: 59.47vw;
    margin-top: 26.67vw;
  }

  .p-qa__magazineBadge {
    top: -24.53vw;
    left: 50%;
    transform: translateX(-50%);
    width: 46.93vw;
    height: 25.33vw;
    font-size: 3.87vw;
  }

  .p-qa__magazineText {
    font-size: 4.27vw;
    margin-bottom: 6.4vw;
    letter-spacing: -0.187vw;
  }

  .p-qa__cardTag {
    padding: 2px 3.2vw;
    border-radius: 4px;
    font-size: 4.27vw;
    margin-bottom: 2.13vw;
  }

  .p-qa__cardPoints {
    margin-bottom: 4.27vw;
  }

  .p-qa__cardPointsTitle {
    font-size: 3.73vw;
    letter-spacing: -0.187vw;
  }

  .p-qa__cardPointsList {
    font-size: 3.73vw;
    letter-spacing: -0.187vw;
    padding-left: 4vw;
  }
}

/**
 * Component: and Room Area
 */
.p-andRoom {
  padding-bottom: 11.643vw;
  overflow: hidden;
  margin-top: -6.286vw;
}

.p-andRoom__images {
}

.p-andRoom__images img {
  width: 100%;
  height: auto;
}

.p-andRoom__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.p-andRoom__logo {
  width: 12.357vw;
  margin-bottom: 2.857vw;
  margin-top: -10.571vw;
}

.p-andRoom__logo img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-andRoom__title {
  font-size: 3vw;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.15vw;
  margin-bottom: 1.714vw;
}

.u-text-dot {
  display: inline-block;
  position: relative;
}

.u-text-dot::before {
  content: "";
  position: absolute;
  bottom: calc(100% - 0.357vw);
  left: 50%;
  transform: translateX(-50%);
  width: 0.5vw;
  height: 0.5vw;
  background: url("/company/lp/brand-partner/images/icon-dot-text.svg")
    no-repeat center center / contain;
}
.p-andRoom__text {
  font-size: 1.143vw;
  line-height: 1.6;
  letter-spacing: -0.8px;
  color: var(--color-text-secondary);
  margin-bottom: 3.429vw;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .p-andRoom {
    padding-bottom: 32vw;
    margin-top: 0;
  }

  .p-andRoom__images {
    margin-bottom: 0;
    width: 100%;
  }

  .p-andRoom__image.-side {
    width: 40.27vw;
  }

  .p-andRoom__image.-side img {
    border-radius: 64.13vw;
    height: 39.73vw;
    object-fit: cover;
  }

  .p-andRoom__image.-main {
    width: 64.8vw;
  }

  .p-andRoom__image.-main img {
    border-radius: 32.4vw;
    height: 96.53vw;
    object-fit: cover;
  }

  .p-andRoom__logo {
    width: 31.2vw;
    margin-bottom: 8.53vw;
    margin-top: -24vw;
  }

  .p-andRoom__title {
    font-size: 7.47vw;
    margin-bottom: 4.27vw;
    letter-spacing: -0.373vw;
  }

  .p-andRoom__text {
    text-align: left;
    font-size: 4.27vw;
    letter-spacing: -0.187vw;
    margin-bottom: 10.67vw;
  }

  .p-andRoom__dots {
    gap: 4.8vw;
    margin-bottom: 8.53vw;
  }

  .u-text-dot::before {
    width: 1.87vw;
    height: 1.87vw;
    bottom: calc(100% - 2.4vw);
  }
}

/**
 * Component: Efforts Area
 */
.p-efforts {
  padding-bottom: 11.429vw;
}

.p-efforts__top {
  text-align: center;
}

.p-efforts__top img {
  width: 100%;
  height: auto;
}

.p-efforts__header {
  margin-top: -13.929vw;
  margin-bottom: 5.143vw;
  text-align: center;
}

.p-efforts__title {
  font-size: 3vw;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 2.857vw;
}

.p-efforts__lead {
  font-size: 1.143vw;
  font-weight: 500;
  letter-spacing: -0.8px;
  line-height: 1.6;
  color: var(--color-text-secondary);
}

.p-efforts__list {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.143vw;
}

.p-efforts__item {
  display: flex;
  align-items: center;
  position: relative;
}

.p-efforts__item + .p-efforts__item {
  margin-top: -0.286vw;
}

.p-efforts__item.-reverse {
  flex-direction: row-reverse;
}

.p-efforts__itemContent {
  display: flex;
  align-items: center;
  gap: 1.429vw;
  background-color: var(--color-white);
  border: 4px solid var(--color-blue-light);
  border-radius: 999px;
  padding: 1.714vw 6.857vw 1.714vw 2.857vw;
  width: 71vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-efforts__item.-reverse .p-efforts__itemContent.-reverse {
    flex-direction: row-reverse;
    padding: 1.714vw 2.857vw 1.714vw  6.357vw;
  }
}

.p-efforts__itemContent::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -3.429vw;
  width: 7.429vw;
  height: 100%;
  background: url("/company/lp/brand-partner/images/efforts_decoration_right.png")
    no-repeat center center / contain;
}

.p-efforts__item.-reverse .p-efforts__itemContent::after {
  right: auto;
  left: -3.429vw;
  background: url("/company/lp/brand-partner/images/efforts_decoration_left.png")
    no-repeat center center / contain;
}

.p-efforts__item.-reverse .p-efforts__itemContent {
  padding: 1.714vw 2.857vw 1.714vw 6.857vw;
}

.p-efforts__itemImage {
  width: 34.071vw;
  flex-shrink: 0;
  margin-inline: auto;
}

.p-efforts__itemImage img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 477/358;
}

.p-efforts__itemBody {
  flex: 1;
}

.p-efforts__itemTitle {
  font-size: 1.714vw;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1.143vw;
}

.p-efforts__itemText {
  font-size: 1.143vw;
  line-height: 1.6;
  color: var(--color-text-secondary);
  margin-bottom: 1.143vw;
  letter-spacing: -0.8px;
}

.p-efforts__itemNumber {
  margin-left: 1.786vw;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 11.5vw;
  height: 11.5vw;
  font-family: "New York", serif;
  font-size: 9.179vw;
  font-weight: 400;
  letter-spacing: -0.459vw;
  line-height: 1.2;
  color: var(--color-blue-light);
}

.p-efforts__item.-reverse .p-efforts__itemNumber {
  margin-left: 0;
  margin-right: 2.857vw;
}

.p-efforts__sdgs {
  position: relative;
  padding-top: 7vw;
  max-width: 71vw;
  margin: 0 auto;
}

.p-efforts__sdgsTitle {
  font-size: 1.714vw;
  font-weight: 700;
  text-align: center;
  margin-bottom: 5.143vw;
  position: relative;
}

.p-efforts__sdgsTitle::before {
  content: "";
  position: absolute;
  top: 0.714vw;
  left: 33.357vw;
  transform: translate(-50%, -50%);
  width: 41.714vw;
  height: 13.714vw;
  z-index: -1;
  background: url("/company/lp/brand-partner/images/efforts_sdgs_title.png")
    no-repeat center center / contain;
}

.p-efforts__sdgsContent {
  display: flex;
  align-items: center;
  gap: 2.857vw;
}

.p-efforts__sdgsText {
  flex: 1;
  font-size: 1.143vw;
  line-height: 1.6;
  color: var(--color-text-secondary);
}

.p-efforts__sdgsImage {
  width: 34.143vw;
  padding: 1.714vw 2.857vw;
  background-color: var(--color-white);
  border-radius: 1.143vw;
  box-shadow: 0 0.286vw 1.257vw rgba(0, 0, 0, 0.12);
}

.p-efforts__sdgsImage img {
  width: 100%;
  height: auto;
  aspect-ratio: 86/51;
}

@media screen and (max-width: 767px) {
  .p-efforts {
    padding-bottom: 32vw;
  }

  .p-efforts__header {
    margin-bottom: 12.8vw;
    margin-top: -5.87vw;
  }

  .p-efforts__title {
    font-size: 7.2vw;
    margin-bottom: 8.53vw;
    letter-spacing: -0.373vw;
  }

  .p-efforts__lead {
    text-align: left;
    font-size: 4.27vw;
    letter-spacing: -0.187vw;
  }

  .p-efforts__sdgs {
    max-width: 100%;
    padding-top: 0;
  }

  .p-efforts__sdgsTitle::before {
    background-image: url("/company/lp/brand-partner/images/efforts_sdgs_title_sp.png");
    width: 100%;
    height: 50.67vw;
    left: 44%;
    top: 13.33vw;
  }

  .p-efforts__sdgsText {
    font-size: 3.73vw;
    letter-spacing: -0.187vw;
  }

  .p-efforts__list {
    margin-bottom: 2.13vw;
  }

  .p-efforts__item,
  .p-efforts__item.-reverse {
    flex-direction: column;
    align-items: flex-start;
  }

  .p-efforts__itemContent,
  .p-efforts__item.-reverse .p-efforts__itemContent {
    width: 100%;
    flex-direction: column;
    border-radius: 999px;
    padding: 28vw 10.67vw 19.2vw;
    gap: 5.33vw;
  }

  .p-efforts__itemImage {
    width: 68vw;
    height: 51vw;
  }

  .p-efforts__itemImage img {
    aspect-ratio: 4/3;
  }

  .p-efforts__itemTitle {
    font-size: 5.33vw;
    line-height: 1.5;
    margin-bottom: 2.13vw;
  }

  .p-efforts__itemText {
    font-size: 3.73vw;
    margin-bottom: 2.13vw;
    letter-spacing: -0.187vw;
  }

  .p-efforts__itemContent::after {
    content: none;
  }

  .p-efforts__itemNumber {
    width: 21.6vw;
    height: 21.33vw;
    letter-spacing: -0.864vw;
    font-size: 17.28vw;
    margin: 0;
    order: -1;
    position: absolute;
    top: 6.4vw;
    left: 50%;
    transform: translateX(-50%);
  }

  .p-efforts__item.-reverse .p-efforts__itemNumber {
    margin-right: 0;
  }

  .p-efforts__item + .p-efforts__item {
    margin-top: -4px;
  }

  .p-efforts__sdgsTitle {
    font-size: 6.4vw;
    margin-bottom: 6.4vw;
    padding-top: 33.6vw;
    letter-spacing: -1px;
    line-height: 2;
  }

  .p-efforts__sdgsContent {
    flex-direction: column;
    gap: 8.53vw;
  }

  .p-efforts__sdgsImage {
    width: 89.33vw;
    height: 53.07vw;
    padding: 4.74vw 7.91vw;
    box-shadow: 0 2.96px 3.48vw rgba(0, 0, 0, 0.12);
    border-radius: 3.16vw;
  }
}

/**
 * Component: Characters Area
 */
.p-characters {
  position: relative;
  padding-bottom: 11.429vw;
  overflow: hidden;
}

.p-characters__bg::before {
  content: "";
  position: absolute;
  top: 3.929vw;
  left: 0;
  width: 100%;
  height: 82.643vw;
  z-index: -1;
  background: url("/company/lp/brand-partner/images/bg_blue_gradation.png")
    no-repeat center center / cover;
}

.p-characters__header {
  text-align: center;
  margin-bottom: 2.857vw;
}

.p-characters__engTitle {
  font-size: 6.871vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.344vw;
  margin-bottom: 1.714vw;
  display: flex;
  justify-content: center;
}

.p-characters__engTitle span:nth-child(odd) {
  color: var(--color-blue-light);
}

.p-characters__engTitle span:nth-child(even) {
  color: var(--color-primary-dark);
}

.p-characters__title {
  font-size: 1.714vw;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: -0.257vw;
  margin-bottom: 1.714vw;
}

.p-characters__lead {
  font-size: 1.143vw;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text-secondary);
}

.p-characters__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-characters__visual {
  margin-bottom: 3.429vw;
}

@media screen and (max-width: 767px) {
  .p-characters {
    padding-bottom: 32vw;
  }

  .p-characters__engTitle {
    font-size: 11.2vw;
    margin-bottom: 3.52vw;
    letter-spacing: -0.56vw;
  }

  .p-characters__title {
    font-size: 3.52vw;
    letter-spacing: -0.529vw;
    margin-bottom: 4.27vw;
  }

  .p-characters__lead {
    font-size: 3.73vw;
    text-align: left;
  }

  .p-characters__header {
    margin-bottom: 8.53vw;
  }

  .p-characters__names {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.67vw;
    margin-bottom: 0;
  }

  .p-characters__names li {
    font-size: 3.22vw;
    line-height: 2;
    padding: 0 2.67vw;
  }

  .p-characters__visual {
    margin-bottom: 10.67vw;
  }

  .p-characters__visual img {
    width: 87.47vw;
    height: 46.93vw;
  }

  .p-characters__bg::before {
    top: 8vw;
    height: 82.67vw;
  }
}

/**
 * Component: Footer Concept Area
 */
.p-footerConcept {
  position: relative;
  padding-bottom: 11.429vw;
  overflow: hidden;
  text-align: center;
}

.p-footerConcept__bg {
  position: relative;
  width: 100%;
  height: 82.643vw;
  z-index: -1;
  background: url("/company/lp/brand-partner/images/bg_city.png") no-repeat
    center center / cover;
}

.p-footerConcept__inner {
  position: relative;
  z-index: 2;
  margin-top: -34.286vw;
}

.p-footerConcept__inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 82.643vw;
  background: url("/company/lp/brand-partner/images/bg_white.png") no-repeat
    center center / cover;
}

.p-footerConcept__content {
  padding-top: 3.429vw;
  margin-top: -7.143vw;
}

.p-footerConcept__visual {
  top: -7.143vw;
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  display: flex;
  justify-content: center;
}

.p-footerConcept__illust {
  position: absolute;
}

.p-footerConcept__title {
  font-size: 4.783vw;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 1.714vw;
}

.p-footerConcept__text {
  font-size: 1.143vw;
  line-height: 2;
  font-weight: 500;
  letter-spacing: -0.8px;
  color: var(--color-text-secondary);
  margin-bottom: 3.429vw;
}

.p-footerConcept__btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.286vw;
}

.p-footerConcept__btnMain {
  width: 100%;
  max-width: 34.071vw;
}

@media screen and (max-width: 767px) {
  .p-footerConcept {
    padding: 1.87vw 0 45.07vw;
  }

  .p-footerConcept__inner {
    margin-top: -8vw;
  }

  .p-footerConcept__bg {
    height: 100vw;
    background-image: url("/company/lp/brand-partner/images/bg_city_sp.png");
  }

  .p-footerConcept__inner::before {
    height: 82.67vw;
  }

  .p-footerConcept__bgTop {
    left: -36.93vw;
    width: 173.87vw;
    height: 82.67vw;
  }

  .p-footerConcept__bgBottom {
    left: -36.93vw;
    width: 173.87vw;
    height: 82.67vw;
    top: 93.33vw;
  }

  .p-footerConcept__visual {
    top: -19.2vw;
    left: 50%;
    width: 50.4vw;
    transform: translateX(-50%);
  }

  .p-footerConcept__content {
    padding-top: 10.667vw;
    margin-top: -19.2vw;
  }

  .p-footerConcept__title {
    font-size: 7.47vw;
    line-height: 1.6;
    margin-bottom: 4.27vw;
    letter-spacing: -0.133vw;
  }

  .p-footerConcept__text {
    font-size: 3.73vw;
    margin-bottom: 10.67vw;
    line-height: 2;
    text-align: left;
  }

  .p-footerConcept__btnMain {
    max-width: 73.07vw;
  }

  .p-footerConcept__btns {
    gap: 6.4vw;
  }
}

/**
 * Layout: Footer
 */
.l-footer {
  position: relative;
  z-index: 5;
  color: var(--color-white);
}

.l-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 82.643vw;
  background: url("/company/lp/brand-partner/images/bg_blue.png") no-repeat
    center center / cover;
  z-index: -1;
}

.l-footer__pagetop {
  position: relative;
  margin-bottom: 8.571vw;
}

.l-footer__pagetop::after {
  content: "";
  position: absolute;
  top: -3.571vw;
  left: 50%;
  transform: translateX(-50%);
  height: 6.714vw;
  width: 1.786vw;
  background: url("/company/lp/brand-partner/images/icon-arrow-top.svg")
    no-repeat center center / contain;
}

.l-footer__pagetop a {
  position: relative;
  z-index: 1;
  display: block;
  text-align: center;
  padding-top: 3.571vw;
  font-size: 1.286vw;
  font-weight: 700;
  text-decoration: none;
  line-height: 2;
}

.l-footer__inner {
  padding: 0 0 5.143vw;
  text-align: center;
  background-color: var(--color-primary-dark);
}

.l-footer__links {
  display: flex;
  justify-content: center;
  gap: 2.857vw;
  margin-bottom: 5.143vw;
}

.l-footer__links a {
  color: var(--color-white);
  font-size: 1.143vw;
  font-weight: 700;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.286vw;
}

.l-footer__links a::before {
  content: "";
  width: 2vw;
  height: 2vw;
  border: 2px solid var(--color-white);
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9,6 15,12 9,18' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: 1vw 1vw;
  background-position: center;
  background-repeat: no-repeat;
}

.l-footer__logo {
  margin-bottom: 2.286vw;
  display: flex;
  justify-content: center;
}

.l-footer__copyright {
  font-size: 1vw;
  line-height: 1.6;
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .l-footer::before {
    height: 82.67vw;
  }

  .l-footer__pagetop {
    margin-bottom: 19.2vw;
  }

  .l-footer__pagetop::after {
    width: 8vw;
    height: 25.07vw;
    top: -12.27vw;
  }

  .l-footer__pagetop a {
    padding-top: 16vw;
    font-size: 4.8vw;
  }

  .l-footer__inner {
    padding: 0 5.33vw 19.2vw;
  }

  .l-footer__links {
    flex-direction: row;
    justify-content: center;
    gap: 8.53vw;
    margin-bottom: 12.8vw;
  }

  .l-footer__links a {
    font-size: 3.73vw;
    gap: 4px;
  }

  .l-footer__links a::before {
    width: 6.4vw;
    height: 6.4vw;
    border-radius: 50%;
    background-size: 3.73vw;
  }

  .l-footer__logo {
    width: 38.13vw;
    margin: 0 auto 6.4vw;
  }

  .l-footer__copyright {
    font-size: 3.2vw;
  }
}
