/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Common / 共通
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

html {
  overflow-y: scroll;
  font-size: 62.5%;
}

:root {
  --BaseFont: 'Zen Kaku Gothic New', sans-serif;
  --TitleFont: 'Roboto', sans-serif;
  --ColorBg: rgba(247, 251, 252, 1);

  --ColorBlue: #016298;
  --ColorLightGray: #ccc;
  --ColorGray: #969899;
  --ColorBlack: #000;
  --ColorWhite: #fff;

  /* 1218px基準 */
  --FontSize12: 1.2rem;
  --FontSize14: min(14px, 1.14vw);
  --FontSize16: min(16px, 1.31vw);
  --FontSize18: min(18px, 1.47vw);
  --FontSize20: min(20px, 1.64vw);
  --FontSize24: min(24px, 1.97vw);
  --FontSize28: min(28px, 2.29vw);
  --FontSize32: min(32px, 2.62vw);
  --FontSize36: min(36px, 2.95vw);
  --FontSize48: min(48px, 3.94vw);
  --FontSize52: min(52px, 4.26vw);
  --FontSize64: min(64px, 5.25vw);
  --FontSize72: min(72px, 5.91vw);
  --FontSize92: min(92px, 7.55vw);

  /* 1352px基準 */
  --FontSizeMedium14: min(14px, 1.03vw);
  --FontSizeMedium16: min(16px, 1.18vw);
  --FontSizeMedium18: min(18px, 1.33vw);
  --FontSizeMedium20: min(20px, 1.47vw);
  --FontSizeMedium24: min(24px, 1.77vw);
  --FontSizeMedium36: min(36px, 2.66vw);
  --FontSizeMedium40: min(40px, 2.95vw);

  /* 1440px基準 */
  --FontSizeLarge20: min(20px, 1.38vw);
  --FontSizeLarge36: min(36px, 2.5vw);

  /* 375px基準 */
  --FontSizeSp11: 2.93vw;
  --FontSizeSp12: 3.2vw;
  --FontSizeSp14: 3.73vw;
  --FontSizeSp15: 4vw;
  --FontSizeSp16: 4.26vw;
  --FontSizeSp18: 4.8vw;
  --FontSizeSp20: 5.33vw;
  --FontSizeSp22: 5.86vw;
  --FontSizeSp24: 6.4vw;
  --FontSizeSp26: 6.93vw;
  --FontSizeSp28: 7.46vw;
  --FontSizeSp32: 8.53vw;
  --FontSizeSp40: 10.66vw;
  --FontSizeSp48: 12.8vw;
  --FontSizeSp54: 14.39vw;

  --BaseFontLight: 300;
  --BaseFontRegular: 400;
  --BaseFontMedium: 500;
  --BaseFontBold: 700;
  --BaseFontBlack: 900;

  --LineHeight100: 100%;
  --LineHeight140: 140%;
  --LineHeight150: 150%;
  --LineHeight170: 170%;
  --LineHeight175: 175%;
  --LineHeight200: 200%;
}

body {
  font-family: var(--BaseFont);
  font-size: var(--FontSize20);
  font-weight: var(--BaseFontMedium);
  background-color: var(--ColorBg);
  width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  margin: 0;
  position: relative;
}

.s body {
  font-size: var(--FontSizeSp14);
}

a {
  text-decoration: none;
  transition: all 0.2s ease-out;
  text-decoration: none;
}

a:hover {
  transition: all 0.2s ease-out;
  cursor: pointer;
  opacity: 0.7;
}

a:focus-visible {
  outline: 1px dashed var(--MainColor) !important;
}

div:focus-visible {
  outline: 1px dashed var(--MainColor) !important;
}

/* --------------
	White Border
-----------------*/
.TextLink a {
  text-decoration: none;
  position: relative;
  color: inherit;
  transition: 0.3s;
}

.TextLink a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: var(--ColorWhite);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.TextLink a:hover {
  opacity: 1;
}

.TextLink a:hover::after {
  transform: scaleX(1);
}

/* --------------
	BlackBorder
-----------------*/
.TextLink._black a::after {
  background: var(--ColorBlack);
}

ol,
ul,
li {
  list-style: none;
  padding: 0;
}

img {
  max-width: 100%;
  width: 100%;
  height: auto;
}

.l ._pc {
  display: block;
}

._pc {
  display: none;
}

.l ._sp {
  display: none;
}

._sp {
  display: block;
}

/* ================================
  共通パーツ
================================ */
#Partnership .Center {
  width: 100%;
  max-width: 1218px;
  margin-inline: auto;
  padding-left: min(20px, 1.64vw);
  padding-right: min(20px, 1.64vw);
  position: relative;
}

.s #Partnership .Center {
  padding-left: 5.333vw;
  padding-right: 5.333vw;
}

/* --------------
	CommonBtn
-----------------*/
#Partnership .CommonBtn {
  display: inline-block;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-inline: auto;
}

#Partnership .CommonBtn a {
  position: relative;
  color: inherit;
  border: 1px solid var(--ColorBlack);
  padding: 16px 64px 16px 32px;
}

.s #Partnership .CommonBtn a {
  width: 82.93vw;
  font-size: var(--FontSizeSp18);
  padding: 5.33vw 12.8vw 5.33vw 6.4vw;
}

#Partnership .CommonBtn a:hover {
  text-decoration: none;
  opacity: 1;
}

#Partnership .CommonBtn a::after {
  position: absolute;
  content: '';
  width: 20px;
  height: 19px;
  background: url(../img/icon-arrow-black.svg) no-repeat center center;
  background-size: contain;
  top: 0;
  bottom: 0;
  right: 24px;
  transition: 0.3s;
  margin: auto;
}

.s #Partnership .CommonBtn a::after {
  width: 4.26vw;
  height: 4vw;
  right: 4.26vw;
}

#Partnership .CommonBtn a:hover::after {
  right: 12px;
}

/* --------------
  CommonContact
-----------------*/
#Partnership .CommonContact {
  background:
    linear-gradient(45deg, #1d80c2 0%, #186ca3 100%) left / 50% 100% no-repeat,
    linear-gradient(45deg, #064266 0%, #01131f 100%) right / 50% 100% no-repeat;
}

.s #Partnership .CommonContact {
  background: none;
}

#Partnership .CommonContactArea {
  max-width: 1440px;
  margin-inline: auto;
  color: var(--ColorWhite);
}

#Partnership .CommonContactArea ul {
  display: flex;
}

.s #Partnership .CommonContactArea ul {
  flex-wrap: wrap;
}

#Partnership .CommonContact ul li {
  width: 50%;
  padding: min(52px, 3.61vw) min(64px, 4.44vw);
}

.s #Partnership .CommonContact ul li {
  width: 100%;
  padding: 8.53vw 9.6vw 10.666vw 9.6vw;
}

.s #Partnership .CommonContact ul > li:nth-of-type(1) {
  background: linear-gradient(45deg, #1d80c2 0%, #186ca3 100%);
}
.s #Partnership .CommonContact ul > li:nth-of-type(2) {
  background: linear-gradient(45deg, #064266 0%, #01131f 100%);
}

#Partnership .CommonContact h2 {
  font-size: var(--FontSize48);
  font-weight: var(--BaseFontBold);
  padding-bottom: 24px;
}

.s #Partnership .CommonContact h2 {
  font-size: var(--FontSizeSp32);
  padding-bottom: 4.26vw;
}

#Partnership .CommonContact p {
  font-size: var(--FontSizeLarge20);
  padding-bottom: 40px;
}

.s #Partnership .CommonContact p {
  font-size: var(--FontSizeSp15);
  padding-bottom: 7.46vw;
}

#Partnership .CommonContactBtn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-left: auto;
  margin-right: 0;
  color: inherit;
  max-width: 340px;
  width: 100%;
  margin-right: 0;
  border: 1px solid var(--ColorWhite);
  padding: 16px 64px 16px 32px;
}

.s #Partnership .CommonContactBtn a {
  font-size: var(--FontSizeSp18);
  max-width: 80.8vw;
  margin-right: auto;
  margin-left: auto;
  padding: 5.33vw 12.8vw 5.33vw 6.4vw;
}

#Partnership .CommonContactBtn a:hover {
  text-decoration: none;
  opacity: 1;
}

#Partnership .CommonContactBtn a::after {
  position: absolute;
  content: '';
  width: 20px;
  height: 19px;
  background: url(../img/icon-arrow-white.svg) no-repeat center center;
  background-size: contain;
  top: 0;
  bottom: 0;
  right: 24px;
  margin: auto;
  transition: 0.3s;
}

.s #Partnership .CommonContactBtn a::after {
  width: 4.26vw;
  height: 4vw;
  right: 4.26vw;
}

#Partnership .CommonContactBtn a:hover::after {
  right: 12px;
}

/* --------------
	CommonRadius
-----------------*/
#Partnership .CommonRadiusAreaTitle {
  font-size: var(--FontSize36);
  font-weight: var(--BaseFontBold);
  text-align: center;
  padding-bottom: 80px;
}

.s #Partnership .CommonRadiusAreaTitle {
  font-size: var(--FontSizeSp24);
  padding-bottom: 10.66vw;
}

#Partnership .CommonRadius {
  display: flex;
  flex-wrap: wrap;
  gap: min(40px, 3.28vw);
  text-align: center;
}

.s #Partnership .CommonRadius {
  gap: 5.33vw;
}

#Partnership .CommonRadius > li {
  width: calc((100% - min(80px, 6.56vw)) / 3);
  border: 1px solid var(--ColorBlack);
  border-radius: 8px;
  padding: 36px min(30px, 2.46vw);
}

.s #Partnership .CommonRadius > li {
  width: 100%;
  padding: 8.53vw 6.4vw;
}

#Partnership .CommonRadiusTitle {
  font-size: var(--FontSize32);
  font-weight: var(--BaseFontBold);
  padding-bottom: 24px;
  line-height: 1;
}

.s #Partnership .CommonRadiusTitle {
  font-size: var(--FontSizeSp22);
  padding-bottom: 4.26vw;
}

#Partnership .CommonRadiusImg {
  max-width: min(160px, 13.13vw);
  margin-inline: auto;
  padding-bottom: 20px;
}

.s #Partnership .CommonRadiusImg {
  max-width: 32vw;
  padding-bottom: 4.26vw;
}

#Partnership .CommonRadiusText {
  font-size: var(--FontSize24);
  font-weight: var(--BaseFontMedium);
  letter-spacing: -1px;
}

.s #Partnership .CommonRadiusText {
  font-size: var(--FontSizeSp18);
}

#Partnership .CommonRadiusText span {
  font-family: var(--TitleFont);
  font-size: var(--FontSize64);
  font-weight: var(--BaseFontBold);
  color: var(--ColorBlue);
}

.s #Partnership .CommonRadiusText span {
  font-size: var(--FontSizeSp48);
  line-height: var(--LineHeight140);
}

/* --------------
	CommonCard
-----------------*/
#Partnership .CommonCard {
  display: flex;
  flex-wrap: wrap;
  gap: min(40px, 3.28vw);
}

.s #Partnership .CommonCard {
  gap: 8.53vw 4vw;
}

#Partnership .CommonCard li {
  width: calc((100% - min(80px, 6.56vw)) / 3);
}

.s #Partnership .CommonCard li {
  width: calc((100% - 4vw) / 2);
}

#Partnership .CommonCard li a {
  color: inherit;
  opacity: 1;
}

#Partnership .CommonCardImg {
  overflow: hidden;
}

#Partnership .CommonCardImg img {
  display: block;
  transition: transform 0.3s;
}

#Partnership .CommonCard li a:hover .CommonCardImg img {
  transform: scale(1.1);
}

#Partnership .CommonCardText {
  font-size: var(--FontSize16);
  font-weight: var(--BaseFontMedium);
  line-height: var(--LineHeight175);
}

.s #Partnership .CommonCardText {
  font-size: var(--FontSizeSp12);
}

#Partnership .CommonCardTitle {
  font-size: var(--FontSize28);
  font-weight: var(--BaseFontBold);
  padding: 24px 0 12px;
}

.s #Partnership .CommonCardTitle {
  font-size: var(--FontSizeSp16);
  padding: 3.2vw 0 1.066vw;
}

/* --------------
	CommonCase
-----------------*/
#Partnership .CommonCase {
  display: flex;
  flex-wrap: wrap;
  gap: 72px min(40px, 3.28vw);
  color: var(--ColorWhite);
}

.s #Partnership .CommonCase {
  gap: 8.53vw;
}

#Partnership .CommonCase > li {
  width: calc((100% - min(80px, 6.56vw)) / 3);
  background: linear-gradient(90deg, #106b9e 0%, #0976b2 100%);
  padding: 24px min(28px, 2.29vw) 28px;
  display: flex;
  flex-direction: column;
}

.s #Partnership .CommonCase > li {
  width: 100%;
  padding: 6.4vw 5.33vw 7.46vw 5.33vw;
}

#Partnership .CommonCaseTitle {
  font-weight: var(--BaseFontBold);
  padding: 16px 0;
}

.s #Partnership .CommonCaseTitle {
  font-size: var(--FontSizeSp18);
  padding: 3.2vw 0 4.26vw;
}

#Partnership .CommonCaseTag {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.s #Partnership .CommonCaseTag {
  gap: 3.2vw;
}

#Partnership .CommonCaseTag > li {
  font-size: var(--FontSize12);
  border: 1px solid var(--ColorWhite);
  padding: 4px 12px;
  border-radius: 50px;
}

.s #Partnership .CommonCaseTag > li {
  font-size: var(--FontSizeSp12);
  padding: 1.06vw 3.2vw;
}

#Partnership .CommonCaseLogo {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  font-size: var(--FontSize16);
  padding-top: 36px;
  margin-top: auto;
}

.s #Partnership .CommonCaseLogo {
  gap: 3.2vw;
  font-size: var(--FontSizeSp14);
  padding-top: 7.46vw;
}

#Partnership .CommonCaseLogoImg {
  flex: 0 0 min(124px, 10.18vw);
}

.s #Partnership .CommonCaseLogoImg {
  flex: 0 0 33vw;
}

#Partnership .CommonCaseLogo._adjust li:nth-of-type(2) {
  transform: translateX(10px);
}

.s #Partnership .CommonCaseLogo._adjust li:nth-of-type(2) {
  transform: translateX(2vw);
}

/* --------------
	CommonBanner
-----------------*/
#Partnership .CommonBanner {
  color: var(--ColorWhite);
  max-width: 1352px;
  margin-inline: auto;
  padding: 0 20px;
  position: relative;
}

.s #Partnership .CommonBanner {
  padding: 0;
}

#Partnership .CommonBannerItem {
  display: flex;
  justify-content: space-between;
  gap: min(36px, 2.74vw);
  background: url(../img/commonbanner-bg.png) no-repeat center;
  background-size: cover;
  padding: min(64px, 4.87vw) min(56px, 4.1vw);
  position: sticky;
}

.s #Partnership .CommonBannerItem {
  background: url(../img/commonbanner-bg-sp.png) no-repeat center;
  background-size: cover;
  gap: 0;
  padding: 10.66vw 6.4vw 12.8vw 6.4vw;
  flex-direction: column;
}

#Partnership .CommonBannerItem:last-child {
  margin-bottom: 0;
}

#Partnership .CommonBanner h3 {
  font-size: var(--FontSizeLarge36);
  font-weight: var(--BaseFontBold);
  line-height: var(--LineHeight140);
  margin-bottom: 32px;
}

.s #Partnership .CommonBanner h3 {
  font-size: var(--FontSizeSp20);
  margin-bottom: 6.4vw;
}

#Partnership .CommonBanner h3 span {
  font-size: var(--FontSize24);
  font-weight: var(--BaseFontMedium);
  display: inline-flex;
  align-items: center;
  width: 100%;
}

.s #Partnership .CommonBanner h3 span {
  font-size: var(--FontSizeSp20);
  margin-bottom: 2.13vw;
}

#Partnership .CommonBanner h3 span::after {
  content: '';
  width: 120px;
  height: 2px;
  background: var(--ColorWhite);
  margin-left: 8px;
}

.s #Partnership .CommonBanner h3 span::after {
  content: '';
  width: 21.33vw;
  height: 1px;
  margin-left: 2.13vw;
}

#Partnership .CommonBannerText {
  font-size: var(--FontSizeLarge20);
  flex: 0 1 min(535px, 40.77vw);
  line-height: var(--LineHeight170);
}

.s #Partnership .CommonBannerText {
  font-size: var(--FontSizeSp14);
  display: contents;
  flex: unset;
  order: 1;
}

#Partnership .CommonBannerText > p span {
  display: block;
  font-size: var(--FontSize16);
  font-weight: var(--BaseFontRegular);
  padding-top: 5px;
  line-height: var(--LineHeight150);
}

.s #Partnership .CommonBannerText > p span {
  font-size: var(--FontSizeSp12);
  padding-top: 1.33vw;
}

#Partnership .CommonBannerImg {
  flex: 0 0 min(588px, 44.8vw);
}

.s #Partnership .CommonBannerImg {
  flex: unset;
  padding-top: 9.6vw;
  order: 2;
}

#Partnership .CommonBannerBtnArea {
  padding-top: min(36px, 2.95vw);
}

.s #Partnership .CommonBannerBtnArea {
  padding-top: 7.46vw;
  order: 3;
}

#Partnership .CommonBannerBtn {
  display: flex;
  align-items: center;
  text-align: center;
  padding-bottom: 16px;
}

.s #Partnership .CommonBannerBtn {
  font-size: var(--FontSizeSp18);
  padding-bottom: 6.4vw;
}

#Partnership .CommonBannerBtn._smallfont {
  font-size: var(--FontSize16);
}

.s #Partnership .CommonBannerBtn._smallfont {
  font-size: var(--FontSizeSp18);
}

#Partnership .CommonBannerBtn:last-child {
  padding-bottom: 0;
}

#Partnership .CommonBannerBtn a {
  position: relative;
  color: inherit;
  border: 1px solid var(--ColorWhite);
  padding: 8px min(56px, 4.59vw) 8px 16px;
  letter-spacing: -1px;
}

.s #Partnership .CommonBannerBtn a {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 18.13vw;
  padding: 0 10.66vw 0 4.26vw;
}

#Partnership .CommonBannerBtn a:hover {
  text-decoration: none;
  opacity: 1;
}

#Partnership .CommonBannerBtn a::after {
  position: absolute;
  content: '';
  width: min(20px, 1.64vw);
  height: min(19px, 1.55vw);
  background: url(../img/icon-arrow-white.svg) no-repeat center center;
  background-size: contain;
  top: 0;
  bottom: 0;
  right: min(24px, 1.97vw);
  transition: 0.3s;
  margin: auto;
}

.s #Partnership .CommonBannerBtn a::after {
  width: 4.26vw;
  height: 4vw;
  right: 4.26vw;
}

#Partnership .CommonBannerBtn a:hover::after {
  right: min(12px, 0.98vw);
}

.s #Partnership .CommonBannerBtn a:hover::after {
  right: 4.26vw;
}

/* Navy Background
-----------------*/
#Partnership ._navy .CommonBannerItem {
  background: url(../img/commonbanner-navy-bg.png) no-repeat center;
  background-size: cover;
}

.s #Partnership ._navy .CommonBannerItem {
  background: url(../img/commonbanner-navy-bg-sp.png) no-repeat center;
}

/* --------------
	CommonSeasonSeat
-----------------*/
#Partnership .CommonSeasonSeat {
  margin-top: min(120px, 9.85vw);
}
.s #Partnership .CommonSeasonSeat {
  margin-top: 24vw;
}

#Partnership .CommonSeasonSeat h2 {
  text-align: center;
  padding-bottom: 0;
}
.s #Partnership .CommonSeasonSeat h2 {
  font-size: var(--FontSizeSp22);
  padding-bottom: 0;
}

#Partnership .CommonSeasonSeat p {
  width: min(960px, 78.81vw);
  margin-inline: auto;
}

.s #Partnership .CommonSeasonSeat p {
  width: 100%;
  padding: 8vw 0;
}

/* ================================
        Title
================================ */
#Partnership .CommonTitleArea {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 1218px;
  margin-inline: auto;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 80px;
}

.s #Partnership .CommonTitleArea {
  display: block;
  padding-left: 5.33vw;
  padding-right: 5.33vw;
  padding-bottom: 12.8vw;
}

#Partnership .CommonTitleArea p {
  text-align: right;
}

.s #Partnership .CommonTitleArea p {
  text-align: left;
}

#Partnership h2 {
  font-size: var(--FontSize32);
  font-weight: var(--BaseFontBold);
}

.s #Partnership h2 {
  font-size: var(--FontSizeSp24);
  padding-bottom: 6.4vw;
}

.s #Partnership .CommonTitleArea:not(:has(p)) h2 {
  padding-bottom: 0;
}

#Partnership h2 span {
  font-size: var(--FontSize16);
  font-family: var(--TitleFont);
  font-weight: var(--BaseFontRegular);
  display: block;
}

.s #Partnership h2 span {
  font-size: var(--FontSizeSp12);
}

#Partnership h3 {
  font-size: var(--FontSize24);
  font-weight: var(--BaseFontBold);
}

.s #Partnership h3 {
  font-size: var(--FontSizeSp16);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Top / トップページ
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ================================
        Common
================================ */
#Partnership #TopPage .CommonSeasonSeat {
  margin-bottom: min(120px, 9.85vw);
}
.s #Partnership #TopPage .CommonSeasonSeat {
  margin-top: 12vw;
  margin-bottom: 12vw;
}

/* ================================
        Header
================================ */
/* 1440px基準 */
#Partnership .HeaderInner {
  position: fixed;
  padding: min(28px, 1.94vw) clamp(10px, -31.42px + 5.5152vw, 48px);
  top: 0;
  width: 100%;
  z-index: 120;
  font-weight: var(--BaseFontMedium);
  transition: 0.3s;
}

.s #Partnership .HeaderInner {
  padding: 4.26vw 4.26vw;
}

#Partnership .HeaderInner._isChange {
  background-color: var(--ColorBlack);
}

#Partnership .HeaderArea {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  font-size: clamp(11px, 5.55px + 0.7257vw, 16px);
}

#Partnership .HeaderLogo {
  width: min(200px, 13.88vw);
  margin-right: auto;
}

.s #Partnership .HeaderLogo {
  width: 30.4vw;
}

#Partnership .HeaderArea > li:not(.HeaderLogo):not(.HeaderBtn) {
  padding-right: clamp(10px, -18.34px + 3.7736vw, 36px);
}

.s #Partnership .HeaderArea > li:not(.HeaderBtn) {
  padding-right: 0;
}

#Partnership .HeaderArea > li > a {
  display: block;
  color: var(--ColorWhite);
}

#Partnership .HeaderArea > li a:hover {
  text-decoration: none;
}

#Partnership .HeaderBtn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid var(--ColorWhite);
  padding: 10px min(40px, 2.77vw) 10px min(16px, 1.11vw);
}

.s #Partnership .HeaderBtn a {
  width: 100%;
  margin-inline: auto;
  font-size: var(--FontSizeSp18);
  padding: 5.33vw 12.8vw 5.33vw 6.4vw;
}

#Partnership .HeaderBtn._dl a {
  margin-left: clamp(10px, -0.9px + 1.4514vw, 20px);
  border: none;
  background: linear-gradient(45deg, #208dd6 0%, #186ca3 100%);
}

.s #Partnership .HeaderBtn._dl a {
  margin-left: auto;
}

#Partnership .HeaderBtn a:hover {
  text-decoration: none;
  opacity: 1;
}

#Partnership .HeaderBtn a::after {
  position: absolute;
  content: '';
  width: min(12px, 0.83vw);
  height: min(12px, 0.83vw);
  background: url(../img/icon-arrow-white.svg) no-repeat center center;
  background-size: contain;
  top: 0;
  bottom: 0;
  right: min(15px, 1.04vw);
  margin: auto;
  transition: 0.3s;
}

.s #Partnership .HeaderBtn a::after {
  width: 4.26vw;
  height: 4vw;
  right: 4.26vw;
}

#Partnership .HeaderBtn a:hover::after {
  right: min(9px, 0.625vw);
}

.s #Partnership .HeaderBtn a:hover::after {
  right: 4.26vw;
}

.HeaderToggle {
  display: none;
}

.s .HeaderToggle {
  display: block;
}

#Partnership .HeaderArea > li:not(:first-child):not(:last-child) {
  display: block;
}

.s #Partnership .HeaderArea > li:not(:first-child):not(:last-child) {
  display: none;
}

/* --------------
  HeaderToggle
-----------------*/
#Partnership .HeaderToggle {
  border: 1px solid var(--ColorWhite);
  padding: 2.4vw !important;
  transition: 0.3s;
}

#Partnership .HeaderToggle > a {
  width: 5.33vw;
  height: 4.33vw;
  display: inline-block;
  vertical-align: top;
  position: relative;
}

#Partnership .MenuLine {
  background: var(--ColorWhite);
  display: block;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  transition: transform 0.3s;
}

#Partnership .MenuLineTop {
  transform: translateY(-2.165vw);
}

#Partnership .MenuLineCenter {
  transform: translateY(-50%);
}

#Partnership .MenuLineBottom {
  transform: translateY(2.165vw);
}

#Partnership .MenuLineTop.active {
  transform: translateY(0) rotate(45deg);
}

#Partnership .MenuLineCenter.active {
  transform: translateY(-50%) scaleX(0);
}

#Partnership .MenuLineBottom.active {
  transform: translateY(0) rotate(-45deg);
}

/* --------------
  Gnav
-----------------*/
#Partnership .Gnav {
  background: url(../img/gnav-bg.png) no-repeat center center;
  background-size: cover;
  display: none;
  top: 0;
  left: 0;
  height: 100%;
  position: fixed;
  width: 100%;
  z-index: 90;
  overflow-y: scroll;
}

#Partnership .GnavMenu {
  align-items: center;
  display: flex;
  height: auto;
  justify-content: flex-start;
  flex-direction: column;
  text-align: left;
  position: absolute;
  top: 100px;
  width: 100%;
  padding: 0 6.4vw;
}

#Partnership .GnavMenu li {
  margin: 4.8vw 0;
  padding: 0;
  list-style: none;
  width: 100%;
  text-align: left;
}

#Partnership .GnavMenu li._faq {
  margin: 10.66vw 0 5.33vw;
}

#Partnership .GnavMenu li._dl {
  margin: 0;
}

#Partnership .GnavMenu li > a {
  color: var(--ColorWhite);
  font-size: var(--FontSizeSp20);
  text-decoration: none;
  transition: 0.5s;
  position: relative;
  z-index: 100;
}

#Partnership .GnavMenu li > a:hover {
  opacity: 1;
}

/* ================================
        Mv
================================ */
#Partnership .Mv {
  color: var(--ColorWhite);
  line-height: var(--LineHeight170);
  background: url(../img/mv-bg.png?r1) no-repeat center;
  background-size: 100%;
  aspect-ratio: 2880 / 1640;
  width: 100%;
  position: relative;
}

.s #Partnership .Mv {
  background: url(../img/mv-bg-sp.png?r1) no-repeat center;
  background-size: 100%;
  aspect-ratio: 750 / 1396;
}

#Partnership .MvTitle {
  position: absolute;
  left: min(64px, 4.44vw); /* 1440px基準 */
  bottom: min(116px, 8.05vw); /* 1440px基準 */
  line-height: var(--LineHeight170);
}

.s #Partnership .MvTitle {
  left: 5.33vw;
  bottom: 21.33vw;
  font-size: var(--FontSizeSp16);
}

#Partnership .Mv h1 {
  font-size: var(--FontSize72);
  font-weight: var(--BaseFontBold);
  line-height: var(--LineHeight140);
}

.s #Partnership .Mv h1 {
  font-size: var(--FontSizeSp40);
  padding-bottom: 3.2vw;
}

/* --------------
	Scroll Down
-----------------*/
#Partnership .MvScroll {
  position: absolute;
  bottom: 0;
  right: min(50px, 3.47vw);
  display: flex;
  align-items: flex-start;
  height: min(160px, 11.11vw);
}

.s #Partnership .MvScroll {
  right: 3.23vw;
  height: 21.3vw;
}

#Partnership .MvScrollText {
  font-family: var(--TitleFont);
  font-size: var(--FontSize16);
  font-weight: var(--BaseFontRegular);
  writing-mode: vertical-lr;
}

.s #Partnership .MvScrollText {
  font-size: var(--FontSizeSp12);
}

#Partnership .MvScrollBar::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1px;
  height: min(160px, 11.11vw);
  background: var(--ColorWhite);
}

.s #Partnership .MvScrollBar::after {
  height: 21.3vw;
}

/* ================================
        Logo
================================ */
#Partnership .Logo {
  margin: min(52px, 4.26vw) 0 min(147px, 12.06vw);
  width: 100%;
}

.s #Partnership .Logo {
  margin: 10.6vw 0 24vw;
}

#Partnership .LogoTextWrap {
  overflow: hidden;
}

#Partnership .LogoImg + .LogoImg {
  padding-top: min(58px, 4.76vw);
  margin-left: -100px;
}

#Partnership .LogoImg + .LogoImg {
  padding-top: 4.8vw;
  margin-left: -26.66vw;
}

#Partnership .LogoImg li {
  flex-shrink: 0;
  width: min(256px, 21.01vw);
  padding: 0 10px;
}

.s #Partnership .LogoImg li {
  width: 34.13vw;
  padding: 0 1.333vw;
}

#Partnership .LogoImg img {
  display: block;
  width: 100%;
  height: auto;
}

#Partnership .LogoImg {
  display: flex;
  width: max-content;
  animation: marqueeLogo 30s linear infinite;
}

@keyframes marqueeLogo {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(var(--move));
  }
}

/* ================================
        Message
================================ */
#Partnership .Message {
  color: var(--ColorBlack);
  margin-bottom: min(129px, 10.59vw);
  position: relative;
}

.s #Partnership .Message {
  margin-bottom: 25.6vw;
}

#Partnership .MessageArea {
  display: flex;
  justify-content: space-between;
  padding-bottom: min(140px, 11.49vw);
}

.s #Partnership .MessageArea {
  display: block;
  padding-bottom: 24vw;
}

#Partnership .Message h2 {
  font-size: var(--FontSize36);
  font-weight: var(--BaseFontBold);
  line-height: var(--LineHeight150);
  padding-bottom: 40px;
}

.s #Partnership .Message h2 {
  padding-bottom: 6.4vw;
}

/* #Partnership .Message h3 {
  font-size: var(--FontSize52);
  font-weight: var(--BaseFontBold);
  line-height: var(--LineHeight150);
  padding-bottom: 40px;
}

.s #Partnership .Message h3 {
  font-size: var(--FontSizeSp28);
  padding-bottom: 6.4vw;
} */

#Partnership .MessageAreaRight div {
  line-height: var(--LineHeight175);
}

#Partnership .MessageAreaRight div:not(:last-child) {
  padding-bottom: 30px;
}

#Partnership .MessageTextWrap {
  overflow: hidden;
  margin-bottom: min(160px, 13.13vw);
}

.s #Partnership .MessageTextWrap {
  margin-bottom: 24vw;
}

#Partnership .MessageText li {
  flex-shrink: 0;
  width: min(1880px, 154.3vw);
}

.s #Partnership .MessageText li {
  width: 159vw;
}

#Partnership .MessageText img {
  display: block;
  width: 100%;
  height: auto;
}

#Partnership .MessageText {
  display: flex;
  width: max-content;
  gap: 30px;
  animation: marqueeText 50s linear infinite;
}

@keyframes marqueeText {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc((min(1880px, 154.3vw) + 30px) * -2));
  }
}

#Partnership .MessageText {
  gap: 4vw;
  animation: marqueeTextSp 50s linear infinite;
}
@keyframes marqueeTextSp {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc((159vw + 4vw) * -2));
  }
}

/* ================================
        Features
================================ */
#Partnership .Features {
  color: var(--ColorBlack);
  margin-bottom: min(160px, 13.13vw);
  position: relative;
}

.s #Partnership .Features {
  margin-bottom: 25.6vw;
}

/* ================================
        Sponsorship
================================ */
#Partnership .Sponsorship {
  color: var(--ColorBlack);
  margin-bottom: min(160px, 13.13vw);
}

.s #Partnership .Sponsorship {
  margin-bottom: 25.6vw;
}

#Partnership .SponsorshipList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 34px;
}

.s #Partnership .SponsorshipList {
  gap: 8.53vw;
}

#Partnership .SponsorshipList > li {
  width: calc((100% - 34px) / 2);
}

.s #Partnership .SponsorshipList > li {
  width: 100%;
}

#Partnership .SponsorshipListImg {
  padding-bottom: 24px;
}

.s #Partnership .SponsorshipListImg {
  padding-bottom: 3.2vw;
}

/* ================================
        Program
================================ */
#Partnership .Program {
  color: var(--ColorBlack);
  margin-bottom: min(154px, 12.64vw);
}

.s #Partnership .Program .Center {
  padding-left: 4.26vw;
  padding-right: 4.26vw;
}

/* ================================
        Case
================================ */
#Partnership .Case {
  margin-bottom: min(160px, 13.13vw);
}

.s #Partnership .Case {
  margin-bottom: 25.6vw;
}

.s #Partnership .Case .Center {
  padding-left: 4.26vw;
  padding-right: 4.26vw;
}

#Partnership .Case .CommonBtn {
  padding-top: min(80px, 6.56vw);
}

.s #Partnership .Case .CommonBtn {
  padding-top: 12.8vw;
}

/* ================================
        PS
================================ */
#Partnership .PS {
  color: var(--ColorBlack);
  margin: min(173px, 14.2vw) 0 min(160px, 13.13vw);
}

.s #Partnership .PS {
  margin: 25.6vw 0;
}

#Partnership .PS .CommonBtn {
  padding-top: 96px;
}

.s #Partnership .PS .CommonBtn {
  padding-top: 12.8vw;
}

/* ================================
        Performance
================================ */
#Partnership .Performance {
  background: var(--ColorBlack);
  color: var(--ColorWhite);
  padding: min(140px, 11.49vw) 0;
}

.s #Partnership .Performance {
  padding: 12.8vw 0;
}

#Partnership .PerformanceBox {
  padding-bottom: min(124px, 10.18vw);
}

.s #Partnership .PerformanceBox {
  padding-bottom: 17.06vw;
}

.PerformanceBox:last-of-type {
  padding-bottom: 0;
}

#Partnership .Performance h3 {
  font-size: var(--FontSize28);
  font-weight: var(--BaseFontBold);
  border-left: 4px solid var(--ColorBlue);
  height: 32px;
  display: flex;
  align-items: center;
  padding-left: 12px;
  margin-bottom: 10px;
}

#Partnership .PerformanceTitle {
  margin-bottom: 52px;
}
.s #Partnership .PerformanceTitle {
  margin-bottom: 7.46vw;
}

.s #Partnership .Performance h3 {
  font-size: var(--FontSizeSp20);
  height: 6.93vw;
  padding-left: 3.13vw;
  margin-bottom: 2.66vw;
}
#Partnership .PerformanceNote {
  font-size: var(--FontSize16);
  font-weight: var(--BaseFontRegular);
  line-height: var(--LineHeight150);
}
.s #Partnership .PerformanceNote {
  font-size: var(--FontSizeSp12);
}

#Partnership .PerformanceBoxList {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: min(40px, 3.28vw);
}

.s #Partnership .PerformanceBoxList {
  gap: 4.26vw;
}

#Partnership .PerformanceBoxList li {
  width: calc((100% - min(40px, 3.28vw)) / 2);
  background: var(--ColorBlue);
  padding: 32px min(48px, 3.94vw);
  height: min(280px, 22.98vw);
  position: relative;
}

.s #Partnership .PerformanceBoxList li {
  width: 100%;
  padding: 5.33vw 6.4vw 7.46vw 6.4vw;
  height: auto;
}

#Partnership .PerformanceBoxList li p {
  font-size: var(--FontSize24);
  padding-bottom: 20px;
}

.s #Partnership .PerformanceBoxList li p {
  font-size: var(--FontSizeSp16);
  padding-bottom: 7.46vw;
}

#Partnership .PerformanceBoxList li._plural p {
  padding-bottom: 0;
}

#Partnership .PerformanceNumberArea {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

#Partnership .Performance h4 {
  font-family: var(--TitleFont);
  font-size: var(--FontSize92);
  font-weight: var(--BaseFontBold);
  line-height: 1;
}

.s #Partnership .Performance h4 {
  font-size: var(--FontSizeSp54);
}

#Partnership .Performance h4 span {
  font-family: var(--BaseFont);
  font-size: var(--FontSize48);
}

.s #Partnership .Performance h4 span {
  font-size: var(--FontSizeSp26);
}

#Partnership .PerformanceNumberIcon {
  width: min(150px, 12.3vw);
}

.s #Partnership .PerformanceNumberIcon {
  width: 26.66vw;
}

/* ================================
        Footer
================================ */
/* 1440px基準 */
#Partnership .Footer {
  background: var(--ColorBlack);
  color: var(--ColorWhite);
  padding: min(125px, 8.68vw) 0 24px;
}

.s #Partnership .Footer {
  padding: 17.06vw 2.13vw 6.4vw;
}

#Partnership .FooterList {
  display: flex;
  justify-content: space-between;
  gap: clamp(30px, -2.7px + 4.3541vw, 60px);
  margin-bottom: min(80px, 5.555vw);
}

.s #Partnership .FooterList {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8.53vw 5.3vw;
  margin-bottom: 12.8vw;
}

#Partnership .FooterList > li:nth-of-type(1) {
  width: min(200px, 13.88vw);
}

.s #Partnership .FooterList > li:nth-of-type(1) {
  width: 45.33vw;
  margin-bottom: 4.26vw;
}

.s #Partnership .FooterList > li:not(:nth-of-type(1)) {
  width: calc((100% - 5.3vw) / 2);
}

#Partnership .FooterListTitle {
  font-weight: var(--BaseFontBold);
  display: flex;
  align-items: center;
  padding-left: 12px;
  margin-bottom: 32px;
  position: relative;
}

.s #Partnership .FooterListTitle {
  font-size: 3.733vw;
  padding-left: 3.13vw;
  margin-bottom: 0;
  align-items: flex-start;
  line-height: 1.4;
}

#Partnership .FooterListTitle a {
  color: inherit;
}

.s #Partnership .FooterList > li:nth-of-type(2) .FooterListTitle,
.s #Partnership .FooterList > li:nth-of-type(3) .FooterListTitle {
  height: 9.6vw;
}

#Partnership .FooterListTitle::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 4px;
  height: 28px;
  background: var(--ColorBlue);
  transform: translateY(-50%);
}

.s #Partnership .FooterListTitle::before {
  top: 0;
  transform: none;
  height: 1.4em;
}

.s #Partnership .FooterList > li:nth-of-type(2) .FooterListTitle::before {
  height: 9.6vw;
}

.s #Partnership .FooterItemList {
  padding-top: 4.26vw;
}

#Partnership .FooterItemList li {
  font-size: var(--FontSize16);
}

.s #Partnership .FooterItemList li {
  font-size: var(--FontSizeSp12);
}

#Partnership .FooterItemList li:not(:last-child) {
  padding-bottom: 16px;
}

.s #Partnership .FooterItemList li:not(:last-child) {
  padding-bottom: 2.133vw;
}

#Partnership .FooterItemList li:last-child {
  padding-bottom: 0;
}

#Partnership .FooterCopyright {
  font-family: var(--TitleFont);
  font-size: var(--FontSize16);
  font-weight: var(--BaseFontLight);
  text-align: center;
}

.s #Partnership .FooterCopyright {
  font-size: var(--FontSizeSp12);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  SubPage / 下層ページ
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  共通パーツ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#Partnership .SubPage {
  margin-top: 124px;
}

.s #Partnership .SubPage {
  margin-top: 19.2vw;
}

.s #Partnership .SubPage .Center {
  padding-left: 4.26vw;
  padding-right: 4.26vw;
}

.s #Partnership .SubPage .CommonTitleArea {
  display: block;
  padding-left: 4.26vw;
  padding-right: 4.26vw;
  padding-bottom: 10.66vw;
}

/* --------------
	CommonRadius
-----------------*/
#Partnership #SubPage .CommonRadius > li {
  border: 1px solid var(--ColorWhite);
}

#Partnership #SubPage .CommonRadiusImg {
  max-width: min(150px, 12.31vw);
}

.s #Partnership #SubPage .CommonRadiusImg {
  max-width: 32vw;
}

/* ================================
        Header
================================ */
/* 1440px基準 */
#Partnership #SubPage .HeaderInner._isChange {
  background-color: var(--ColorBg);
}

#Partnership #SubPage .HeaderArea > li > a {
  color: var(--ColorBlack);
}

#Partnership #SubPage .HeaderBtn a {
  border: 1px solid var(--ColorBlack);
}

#Partnership #SubPage .HeaderBtn a {
  border: 1px solid var(--ColorBlack);
}

#Partnership #SubPage .HeaderBtn._faq a::after {
  background: url(../img/icon-arrow-black.svg) no-repeat center center;
  background-size: contain;
}

#Partnership #SubPage .HeaderBtn.active a {
  border: 1px solid var(--ColorWhite);
}

#Partnership #SubPage .HeaderBtn._dl a {
  border: none;
  color: var(--ColorWhite);
}

/* --------------
  HeaderToggle
-----------------*/
#Partnership #SubPage .HeaderToggle {
  border: 1px solid var(--ColorBlack);
}
#Partnership #SubPage .HeaderToggle.active {
  border: 1px solid var(--ColorWhite);
}

#Partnership #SubPage .MenuLine {
  background: var(--ColorBlack);
}
#Partnership #SubPage .MenuLine.active {
  background: var(--ColorWhite);
}

/* --------------
  Gnav
-----------------*/
#Partnership #SubPage .Gnav {
  background: url(../img/gnav-bg.png) no-repeat center center;
  background-size: cover;
}

#Partnership #SubPage .GnavMenu li > a {
  color: var(--ColorWhite);
}

/* ================================
      Breadclumb
================================ */
#Partnership #SubPage .Breadcrumb {
  max-width: 1350px;
  padding-left: min(20px, 1.64vw);
  padding-right: min(20px, 1.64vw);
  margin-inline: auto;
}
.s #Partnership #SubPage .Breadcrumb {
  padding-left: 4.26vw;
  padding-right: 4.26vw;
}

#Partnership #SubPage .Breadcrumb ul {
  max-width: 1310px;
  margin-inline: auto;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--ColorLightGray);
}
.s #Partnership #SubPage .Breadcrumb ul {
  padding-bottom: 2.13vw;
}

#Partnership #SubPage .Breadcrumb ul {
  display: flex;
  align-items: center;
  font-size: var(--FontSize14);
  gap: 30px;
}

.s #Partnership #SubPage .Breadcrumb ul {
  font-size: var(--FontSizeSp12);
}

#Partnership #SubPage .Breadcrumb ul li a {
  color: var(--ColorGray);
}

#Partnership #SubPage .Breadcrumb ul li + li {
  position: relative;
}

#Partnership #SubPage .Breadcrumb ul li + li::before {
  content: '';
  position: absolute;
  top: 50%;
  left: -21px;
  transform: translateY(-50%);
  width: 12.5px;
  height: 12.5px;
  background: url(../img/icon-slash.png) no-repeat center / contain;
}

#Partnership #SubPage .Breadcrumb a:hover {
  cursor: pointer;
  text-decoration: underline;
  opacity: 1;
}

/* ================================
        Kv Tag
================================ */
#Partnership #SubPage .CommonKvTag {
  font-size: var(--FontSize16);
  font-weight: var(--BaseFontBold);
  line-height: var(--LineHeight150);
  color: var(--ColorBlue);
  padding: 8px 28px;
  border: 1px solid var(--ColorBlue);
  border-radius: 50px;
  margin-bottom: min(36px, 2.95vw);
  display: inline-block;
}

.s #Partnership #SubPage .CommonKvTag {
  font-size: var(--FontSizeSp11);
  padding: 2.13vw 6.4vw;
  margin-bottom: 4.26vw;
}

/* ================================
        Kv
================================ */
#Partnership .SubPage .Kv {
  color: var(--ColorBlack);
  padding: min(72px, 5.91vw) 0 min(200px, 16.4vw);
}

.s #Partnership .SubPage .Kv {
  padding: 6.4vw 0 25.6vw;
}

#Partnership .SubPage .KvArea {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* gap: min(100px, 8.21vw); */
}

.s #Partnership .SubPage .KvArea {
  display: block;
  /* gap: min(140px, 11.49vw); */
}

#Partnership .SubPage .Kv h1 {
  font-size: var(--FontSize52);
  font-weight: var(--BaseFontBold);
  line-height: var(--LineHeight150);
  margin-bottom: 32px;
  width: min(560px, 45.97vw);
  letter-spacing: -2px;
}

.s #Partnership .SubPage .Kv h1 {
  font-size: var(--FontSizeSp28);
  margin-bottom: 6.4vw;
  width: 100%;
}

#Partnership .SubPage .KvImg {
  width: min(530px, 43.5vw);
}

.s #Partnership .SubPage .KvImg {
  width: 100%;
}

/* ================================
        Lead
================================ */
#Partnership .SubPage .Lead {
  margin-bottom: min(180px, 14.77vw);
}

.s #Partnership .SubPage .Lead {
  margin-bottom: 25.6vw;
}

#Partnership .SubPage .LeadArea {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* gap:; */
}

.s #Partnership .SubPage .LeadArea {
  display: block;
}

#Partnership .SubPage .Lead h2 {
  font-size: var(--FontSize32);
  font-weight: var(--BaseFontBold);
  line-height: var(--LineHeight150);
}

.s #Partnership .SubPage .Lead h2 {
  font-size: var(--FontSizeSp24);
}

#Partnership .SubPage .Lead p {
  text-align: left;
  flex: 0 0 min(600px, 49.26vw);
}

/* ================================
        Use
================================ */
#Partnership .SubPage .Use {
  color: var(--ColorBlack);
  margin-bottom: min(154px, 12.64vw);
  position: relative;
}

/* ================================
        Needs
================================ */
#Partnership .SubPage .Needs {
  background: var(--ColorBlue);
  color: var(--ColorWhite);
  padding: min(120px, 9.85vw) 0 min(140px, 11.49vw);
  margin-bottom: min(180px, 14.77vw);
}

.s #Partnership .SubPage .Needs {
  padding: 12.8vw 0 12.8vw;
  margin-bottom: 25.6vw;
}

/* ================================
        Case
================================ */
#Partnership .SubPage .Case {
  margin-bottom: min(120px, 9.85vw);
}

.s #Partnership .SubPage .Case {
  margin-bottom: 25.6vw;
}

/* ================================
        Howto
================================ */
#Partnership .SubPage .Howto {
  margin-bottom: min(160px, 13.13vw);
}

.s #Partnership .SubPage .Howto {
  margin-bottom: 25.6vw;
}

#Partnership .SubPage .Howto {
  margin-bottom: min(160px, 13.13vw);
}

#Partnership .SubPage .Howto .CommonTitleArea {
  padding-bottom: 46px;
}

.s #Partnership .SubPage .Howto .CommonTitleArea {
  padding-bottom: 10.66vw;
}

.s #Partnership .SubPage .HowtoBorder {
  margin-bottom: 9.6vw;
}

#Partnership .SubPage .Howto h3 {
  font-size: var(--FontSize28);
  font-weight: var(--BaseFontBold);
  color: var(--ColorBlue);
}

.s #Partnership .SubPage .Howto h3 {
  font-size: var(--FontSizeSp22);
}

#Partnership .SubPage .Howto h3 span {
  display: block;
  font-size: var(--FontSize16);
  font-weight: var(--BaseFontLight);
}

.s #Partnership .SubPage .Howto h3 span {
  font-size: var(--FontSizeSp12);
}

#Partnership .SubPage .HowtoBorder:before,
#Partnership .SubPage .HowtoBorder:after {
  content: '';
  height: 2px;
  flex-grow: 1;
  background-color: var(--ColorBlue);
}

#Partnership .SubPage .HowtoBorder:before {
  margin-right: min(36px, 2.95vw);
}

#Partnership .SubPage .HowtoBorder:after {
  margin-left: min(36px, 2.95vw);
}

#Partnership .SubPage .HowtoFlowList {
  margin-bottom: min(48px, 3.94vw);
}

.s #Partnership .SubPage .HowtoFlowList {
  margin-bottom: 6.93vw;
}

#Partnership .SubPage .HowtoFlowItem {
  display: flex;
  align-items: stretch;
  gap: 32px;
}

.s #Partnership .SubPage .HowtoFlowItem {
  gap: 4.26vw;
}

#Partnership .SubPage .HowtoFlowLeft {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}

#Partnership .SubPage .HowtoFlowLeft::before,
#Partnership .SubPage .HowtoFlowLeft::after {
  content: '';
  width: 2px;
  flex: 1;
  background-image: repeating-linear-gradient(
    to bottom,
    var(--ColorBlue) -1px,
    var(--ColorBlue) 6px,
    transparent 6px,
    transparent 12px
  );
}

.s #Partnership .SubPage .HowtoFlowLeft::before,
.s #Partnership .SubPage .HowtoFlowLeft::after {
  background-image: repeating-linear-gradient(
    to bottom,
    var(--ColorBlue) -0.26vw,
    var(--ColorBlue) 1.6vw,
    transparent 1.6vw,
    transparent 3.2vw
  );
}

.s #Partnership .SubPage .HowtoFlowLeft::before {
  flex: 0 0 0;
}

#Partnership .SubPage .HowtoFlowItem:first-child .HowtoFlowLeft::before,
#Partnership .SubPage .HowtoFlowItem:last-child .HowtoFlowLeft::after {
  visibility: hidden;
}

#Partnership .SubPage .HowtoFlowCircle {
  font-style: var(--TitleFont);
  font-weight: var(--BaseFontBold);
  font-size: var(--FontSize24);
  width: min(112px, 9.19vw);
  height: min(112px, 9.19vw);
  border-radius: 50%;
  background: var(--ColorBlue);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--ColorWhite);
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  line-height: var(--LineHeight100);
}

.s #Partnership .SubPage .HowtoFlowCircle {
  font-size: var(--FontSizeSp16);
  width: 18.13vw;
  height: 18.13vw;
}

#Partnership .SubPage .HowtoFlowRight {
  flex: 1;
  padding: min(34px, 2.79vw) 0;
}

.s #Partnership .SubPage .HowtoFlowRight {
  padding: 0 0 11.73vw 0;
}

#Partnership .SubPage .HowtoFlowCard {
  display: flex;
  align-items: center;
  gap: min(24px, 1.97vw);
  border: 1px solid var(--ColorBlack);
  padding: min(24px, 1.97vw) min(28px, 2.29vw);
  position: relative;
  line-height: var(--LineHeight170);
}

.s #Partnership .SubPage .HowtoFlowCard {
  gap: 0;
  padding: 5.6vw 6.4vw;
}

#Partnership .SubPage .HowtoFlowCard::after {
  content: '';
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 30px;
  height: 30px;
  border-right: 1px solid var(--ColorBlack);
  border-bottom: 1px solid var(--ColorBlack);
  background: var(--ColorWhite);
}

.s #Partnership .SubPage .HowtoFlowCard::after {
  content: '';
  position: absolute;
  bottom: -2.8vw;
  width: 5.33vw;
  height: 5.33vw;
}

#Partnership .SubPage .HowtoFlowItem:last-child .HowtoFlowCard::after {
  display: none;
}

#Partnership .SubPage .HowtoFlowIcon {
  width: min(72px, 5.91vw);
}

.s #Partnership .SubPage .HowtoFlowIcon {
  display: none;
}

#Partnership .SubPage .HowtoFlowText h4 {
  font-size: var(--FontSize24);
  font-weight: var(--BaseFontBold);
  padding-bottom: 5px;
}

.s #Partnership .SubPage .HowtoFlowText h4 {
  font-size: var(--FontSizeSp20);
  position: relative;
  margin-bottom: 3.73vw;
  padding-bottom: 0;
  padding-left: 13.86vw;
}

.s #Partnership .SubPage .HowtoFlowText h4::before {
  position: absolute;
  content: '';
  width: 10.66vw;
  height: 10.66vw;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.s #Partnership .SubPage .HowtoFlowText._faq h4::before {
  background: url(../img/icon-faq.png) no-repeat center center;
  background-size: contain;
}
.s #Partnership .SubPage .HowtoFlowText._conference h4::before {
  background: url(../img/icon-conference.png) no-repeat center center;
  background-size: contain;
}
.s #Partnership .SubPage .HowtoFlowText._contract h4::before {
  background: url(../img/icon-contract.png) no-repeat center center;
  background-size: contain;
}
.s #Partnership .SubPage .HowtoFlowText._draft h4::before {
  background: url(../img/icon-draft.png) no-repeat center center;
  background-size: contain;
}
.s #Partnership .SubPage .HowtoFlowText._post h4::before {
  background: url(../img/icon-post.png) no-repeat center center;
  background-size: contain;
}

/* ================================
        Program
================================ */
#Partnership .SubPage .Program {
  margin-bottom: min(240px, 19.7vw);
}

.s #Partnership .SubPage .Program {
  margin-bottom: 44.8vw;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  商品・サービスページ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ================================
        Common
================================ */
#Partnership #ProductService .CommonSeasonSeat {
  margin-top: min(60px, 4.925vw);
}
.s #Partnership #ProductService .CommonSeasonSeat {
  margin-top: 20vw;
}

#Partnership #ProductService .CommonSeasonSeat p {
  width: 100%;
  padding: 0;
}

/* 1352px基準 */
#ProductService .ProduceServiceWrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: min(104px, 7.69vw);
  max-width: 1352px;
  margin-inline: auto;
  padding-left: min(20px, 1.47vw);
  padding-right: min(20px, 1.47vw);
}

.s #ProductService .ProduceServiceWrap {
  gap: 21.33vw;
  flex-direction: column;
  padding-left: 0;
  padding-right: 0;
}

/* ================================
        Anchor
================================ */
#ProductService .ProduceServiceAnchor {
  flex: 0 0 min(240px, 17.75vw);
  position: sticky;
  top: 103px;
  padding-bottom: min(160px, 11.83vw);
  background: var(--ColorBg);
  z-index: 10;
}

.s #ProductService .ProduceServiceAnchor {
  flex: unset;
  width: 100%;
  top: 17.8vw;
  padding-bottom: 6.4vw;
  padding-left: 4.26vw;
  padding-right: 4.26vw;
  border-bottom: 1px solid var(--ColorBlue);
}

#ProductService .ProduceServiceAnchor p {
  font-size: var(--FontSizeMedium20);
  color: var(--ColorBlue);
  line-height: 1;
  padding-bottom: 40px;
}

.s #ProductService .ProduceServiceAnchor p {
  font-size: var(--FontSizeSp16);
  padding-bottom: 6.4vw;
  position: relative;
}

.s #ProductService .ProduceServiceAnchor::after {
  border-right: solid 2px var(--ColorBlue);
  border-top: solid 2px var(--ColorBlue);
  content: '';
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4.53vw;
  margin: auto;
  transform: rotate(135deg);
  transition:
    transform 0.3s ease-in-out,
    top 0.3s ease-in-out;
  height: 2.66vw;
  width: 2.66vw;
}
.s #ProductService .ProduceServiceAnchor._isShow::after {
  transform: rotate(-45deg);
}

#ProductService .ProduceServiceAnchor p span {
  display: flex;
  align-items: center;
}

#ProductService .ProduceServiceAnchor p span::after {
  content: '';
  width: min(120px, 8.875vw);
  height: 1px;
  background: var(--ColorBlue);
  margin-left: 24px;
  line-height: 1;
}

.s #ProductService .ProduceServiceAnchor p span::after {
  width: 21.33vw;
  margin-left: 4.26vw;
}

#ProductService .ProduceServiceAnchor ul li a {
  margin-bottom: 16px;
}

.s #ProductService .ProduceServiceAnchor ul li a {
  margin-bottom: 4.26vw;
}

#ProductService .ProduceServiceAnchor ul li a {
  font-size: var(--FontSizeMedium14);
  color: var(--ColorBlack);
  transition: 0.3s;
  position: relative;
  display: block;
}

.s #ProductService .ProduceServiceAnchor ul li a {
  font-size: var(--FontSizeSp14);
}

.s #ProductService .ProduceServiceAnchor ul li:first-child a {
  font-weight: bold;
  color: var(--ColorBlue);
}

#ProductService .ProduceServiceAnchor ul li a:hover {
  color: var(--ColorBlue);
  opacity: 1;
}

#ProductService .ProduceServiceAnchor ul li a::after {
  position: absolute;
  content: '';
  width: min(20px, 1.47vw);
  height: min(20px, 1.47vw);
  background: url(../img/ps/icon-arrow-down-dis.png) no-repeat center center;
  background-size: contain;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  transition: 0.3s;
}

.s #ProductService .ProduceServiceAnchor ul li a::after {
  width: 5.33vw;
  height: 5.33vw;
}

#ProductService .ProduceServiceAnchor ul li a:hover::after {
  background: url(../img/ps/icon-arrow-down.png) no-repeat center center;
  background-size: contain;
}

.s #ProductService .ProduceServiceAnchor ul li:first-child a::after {
  background: url(../img/ps/icon-arrow-down.png) no-repeat center center;
  background-size: contain;
}

/* --------------
	 Accordion
-----------------*/
.s .ProduceServiceAnchorList li:not(:first-child) {
  display: none;
}

/* ================================
        Kv
================================ */
#Partnership .ProductService .Kv {
  padding: min(72px, 5.32vw) 0 min(160px, 11.83vw);
}

.s #Partnership .ProductService .Kv {
  padding: 6.4vw 0 24vw;
}

.s #Partnership .ProductService .KvArea p {
  padding-bottom: 10.66vw;
}

/* ================================
        Content
================================ */
#ProductService .ProduceServiceInner {
  flex: 0 0 min(960px, 71vw);
}

.s #ProductService .ProduceServiceInner {
  flex: unset;
  width: 100%;
  padding-left: 4.26vw;
  padding-right: 4.26vw;
}

#ProductService .ProduceServiceInner section {
  padding-bottom: min(160px, 11.83vw);
}

.s #ProductService .ProduceServiceInner section {
  padding-bottom: 25.6vw;
}

#ProductService .ProduceServiceInner h2 {
  font-size: var(--FontSizeMedium40);
  font-weight: var(--BaseFontBold);
  line-height: var(--LineHeight150);
  padding-top: 24px;
  padding-bottom: 32px;
  position: relative;
}

.s #ProductService .ProduceServiceInner h2 {
  font-size: var(--FontSizeSp24);
  padding-top: 4.26vw;
  padding-bottom: 6.4vw;
}

#ProductService .ProduceServiceInner h2::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: min(80px, 5.91vw);
  height: 6px;
  background: var(--ColorBlue);
}

.s #ProductService .ProduceServiceInner h2::after {
  width: 10.66vw;
  height: 3px;
}

#ProductService .ProduceServiceInner h3 {
  font-size: var(--FontSizeMedium36);
  font-weight: var(--BaseFontBold);
  padding-bottom: min(64px, 4.73vw);
}

.s #ProductService .ProduceServiceInner h3 {
  font-size: var(--FontSizeSp24);
  padding-bottom: 10.66vw;
}

#ProductService .ProduceServiceInner h3 span {
  font-size: var(--FontSizeMedium16);
  font-family: var(--TitleFont);
  font-weight: var(--BaseFontRegular);
  display: block;
}

.s #ProductService .ProduceServiceInner h3 span {
  font-size: var(--FontSizeSp12);
}

/* --------------
  ProduceServiceLead
-----------------*/
#ProductService .ProduceServiceLead {
  padding-bottom: min(120px, 8.875vw);
}

.s #ProductService .ProduceServiceLead {
  padding-bottom: 17.06vw;
}

#ProductService .ProduceServiceLeadText {
  font-size: var(--FontSizeMedium20);
  line-height: var(--LineHeight175);
  padding-bottom: 32px;
}

.s #ProductService .ProduceServiceLeadText {
  font-size: var(--FontSizeSp14);
  padding-bottom: 10.66vw;
}

/* --------------
  ProduceServiceIdeal
-----------------*/
#ProductService .ProduceServiceIdeal {
  padding-bottom: min(120px, 8.875vw);
}

.s #ProductService .ProduceServiceIdeal {
  padding-bottom: 17.06vw;
}

#ProductService .ProduceServiceIdeal ul {
  border: 1px solid var(--ColorBlack);
  border-radius: 12px;
  padding: min(56px, 4.14vw) min(48px, 3.55vw);
}

.s #ProductService .ProduceServiceIdeal ul {
  padding: 10.66vw 4.8vw;
}

#ProductService .ProduceServiceIdeal ul li {
  font-size: var(--FontSizeMedium24);
  font-weight: var(--BaseFontBold);
  padding-bottom: 29px;
  position: relative;
  padding-left: 52px;
}

.s #ProductService .ProduceServiceIdeal ul li {
  font-size: var(--FontSizeSp18);
  padding-bottom: 6.4vw;
  padding-left: 8.06vw;
  letter-spacing: -1px;
}

#ProductService .ProduceServiceIdeal ul li:last-child {
  padding-bottom: 0;
}

#ProductService .ProduceServiceIdeal ul li:before {
  position: absolute;
  content: '';
  width: min(40px, 2.95vw);
  height: min(40px, 2.95vw);
  background: url(../img/ps/icon-check.png) no-repeat center center;
  background-size: contain;
  top: 0;
  left: 0;
  margin: auto;
}

.s #ProductService .ProduceServiceIdeal ul li:before {
  width: 6.4vw;
  height: 6.4vw;
  transform: translateY(1vw);
}

/* --------------
  ProduceServiceOverview
-----------------*/

#ProductService .ProduceServiceOverviewBanner {
  position: relative;
}

#ProductService .ProduceServiceOverviewItem {
  display: flex;
  justify-content: space-between;
  gap: min(48px, 3.55vw);
  margin-bottom: min(80px, 5.917vw);
}

.s #ProductService .ProduceServiceOverviewItem {
  flex-direction: column;
  gap: 9.6vw;
  margin-bottom: 16.8vw;
}

#ProductService .ProduceServiceOverviewItem:last-child {
  margin-bottom: 0;
}

#ProductService .ProduceServiceOverview h4 {
  font-size: var(--FontSizeMedium36);
  font-weight: var(--BaseFontBold);
  line-height: var(--LineHeight140);
  margin-bottom: 32px;
  margin-top: -20px;
}

.s #ProductService .ProduceServiceOverview h4 {
  font-size: var(--FontSizeSp20);
  margin-bottom: 6.4vw;
}

#ProductService .ProduceServiceOverview h4 span {
  font-size: var(--FontSizeMedium24);
  font-weight: var(--BaseFontMedium);
  font-family: var(--TitleFont);
  display: inline-flex;
  align-items: center;
  width: 100%;
}

.s #ProductService .ProduceServiceOverview h4 span {
  font-size: var(--FontSizeSp20);
  margin-bottom: 1.13vw;
}

#ProductService .ProduceServiceOverview h4 span::after {
  content: '';
  width: min(120px, 8.875vw);
  height: 2px;
  background: var(--ColorBlack);
  margin-left: 8px;
}

.s #ProductService .ProduceServiceOverview h4 span::after {
  width: 21.33vw;
  height: 1px;
  margin-left: 2.13vw;
}

#ProductService .ProduceServiceOverviewText {
  font-size: var(--FontSizeMedium20);
  flex: 0 1 min(500px, 36.98vw);
  line-height: var(--LineHeight170);
}

.s #ProductService .ProduceServiceOverviewText {
  font-size: var(--FontSizeSp14);
}

#ProductService .ProduceServiceOverviewImg {
  flex: 0 0 min(420px, 31.06vw);
}

.s #ProductService .ProduceServiceOverviewImg {
  flex: unset;
}

/* --------------
  ProduceServiceCase
-----------------*/

/* 	CommonTitleArea
-----------------*/
#ProductService .ProduceServiceCase .CommonTitleArea {
  padding: 0;
}

.s #ProductService .ProduceServiceCase .CommonTitleArea {
  padding-bottom: 10.66vw;
}

.s #ProductService .ProduceServiceCase .CommonTitleArea h3 {
  padding-bottom: 6.4vw;
}

#ProductService .ProduceServiceCase .CommonTitleArea p {
  font-size: var(--FontSizeMedium20);
}

.s #ProductService .ProduceServiceCase .CommonTitleArea p {
  font-size: var(--FontSizeSp14);
}

/* 	CommonCase
-----------------*/
#ProductService .ProduceServiceCase .CommonCase {
  gap: min(16px, 1.18vw);
  color: var(--ColorBlack);
}

.s #ProductService .ProduceServiceCase .CommonCase {
  gap: 8.53vw;
}

#ProductService .ProduceServiceCase .CommonCase > li {
  width: calc((100% - min(32px, 2.36vw)) / 3);
  background: var(--ColorWhite);
  padding: min(20px, 1.47vw) min(20px, 1.47vw) min(24px, 1.77vw) min(20px, 1.47vw);
}

.s #ProductService .ProduceServiceCase .CommonCase > li {
  width: 100%;
  padding: 6.4vw 5.33vw 7.46vw 5.33vw;
}

#ProductService .ProduceServiceCase .CommonCaseTitle {
  font-size: var(--FontSizeMedium18);
  font-weight: var(--BaseFontBold);
}

.s #ProductService .ProduceServiceCase .CommonCaseTitle {
  font-size: var(--FontSizeSp18);
  padding: 3.2vw 0 4.26vw;
}

#ProductService .ProduceServiceCase .CommonCaseLogo {
  gap: 0;
  font-size: var(--FontSizeMedium14);
  padding-top: 12px;
  font-weight: var(--BaseFontRegular);
}

.s #ProductService .ProduceServiceCase .CommonCaseLogo {
  font-size: var(--FontSizeSp14);
  padding-top: 3.26vw;
  line-height: var(--LineHeight140);
}

#ProductService .ProduceServiceCase .CommonCaseLogoImg {
  flex: 0 0 min(120px, 8.87vw);
}

.s #ProductService .ProduceServiceCase .CommonCaseLogoImg {
  flex: 0 0 32vw;
}
