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

:root {
  --footerHeight: 0;
  --windowHeight: 0;

  --gothic: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Sans W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

  --back_2E3252: #2e3252;
  --back_EAEAEA: #EAEAEA;
  --back_1B1449: #1b1449;

  --colo_2E3252: #2e3252;
  --colo_1B1449: #1b1449;
  --colo_4D4D4D: #4d4d4d;
}

body {
	margin: 0;
	color: var(--colo_1B1449);
	background-color: #fff;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

input {
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

a {
	text-decoration: none;
	color: inherit;
}

input.button {
	font-size: inherit;
}

main.main_login {
	display: flex;
  flex-direction: row;
	align-items: center;
	justify-content: center;
	min-height: calc(100vh - 100px - var(--footerHeight));
  gap: 52px 61px;
	@media screen and (max-width: 1035px) {
    flex-direction: column;
		background-size: contain;
		min-height: calc(100vh - 60px - var(--footerHeight));
	}

  .Title_Content {
    h1 {
      margin: 0;
    }
  }

	& form {
    display: flex;
    flex-direction: column;
    align-items: end;
		width: max-content;
		gap: 10px;
		@media screen and (max-width: 1035px) {
      width: 72.8%;
      min-width: 313px;
      margin: 0 auto;
      align-items: center;
      border: 1px solid #707070;
      padding-block: 42px 34px;
      gap: 24px;
		}

		& > label {
			color: #1b1449;
			display: flex;
			align-items: center;
			@media screen and (max-width: 1035px) {
				flex-direction: column;
        gap: 12px;
			}

			& > input {
        border: none;
        font-family: var(--gothic);
        max-width: 246px;
        min-width: 246px;
				font-size: 22px;
        background: #D3D0D0;
				padding: 9px 10px;
				margin-left: 10px;
        @media screen and (max-width: 1035px) {
          margin-left: 0;
          max-width: 215px;
          min-width: 215px;
          font-size: 18px;
          padding: 3px 10px;
        }
			}
		}

    .form-login__label {
      text-align: center;
      font-family: var(--gothic);
      width: 64px;
      font-size: 22px;
      line-height: 1;
      letter-spacing: 0.038em;
      font-weight: bold;
      color: #1b1449;
      @media screen and (max-width: 1035px) {
        font-size: 20px;
        width: 100%;
      }
    }

    .form-login__btn {
      border: none;
      border-radius: 0;
      width: 111px;
      background: var(--colo_1B1449);
      font-family: var(--gothic);
      font-size: 16px;
      line-height: 1;
      letter-spacing: 0.05em;
      color: #fff;
      padding-block: 17px;
      padding-inline: 5px;
      cursor: pointer;
      transition: all 0.3s ease;
      @media screen and (max-width: 1035px) {
        width: 104px;
        font-size: 13px;
        margin-top: 23px;
        padding-block: 9px;
      }

      &:hover {
        @media screen and (min-width: 769px) {
          opacity: 0.7;
        }
      }
    }
	}
}

main.main_list {
  min-height: calc(100vh - 100px - var(--footerHeight));
  @media screen and (max-width: 1035px) {
    min-height: calc(100vh - 60px - var(--footerHeight));
  }

	& .building_content {
		/* width: 65%;
		max-width: 1200px;
		@media screen and (max-width: 1035px) {
			width: 90%;
		} */

		& > div {
			&.hide {
				& > div {
					/* @media screen and (max-width: 1035px) {
						height: 48vw;
						overflow: hidden;
					} */
				}
			}

			/* padding-bottom: 60px; */
			/* border-bottom: 1px dashed #707070; */

			&:not(:first-child) {
				margin-top: 0;
        @media screen and (max-width: 1035px) {
          margin-top: 0;
        }
			}

      .building_content__bottom {
        display: grid;
        grid-template-columns: 1fr;
        justify-content: flex-start;
        font-family: var(--gothic);
        color: var(--colo_1B1449);
        margin-top: 20px;
        @media screen and (max-width: 1035px) {
          padding-bottom: 33px;
        }

        > p {
          text-align: left;

          &:first-of-type {
            margin: 0;
            text-align: left;
            font-size: 14px;
            line-height: 1.28;
            letter-spacing: 0.05em;
            font-weight: bold;
          }

          &:last-of-type {
            margin: 0;
            font-size: 12px;
            line-height: 2.08;
            letter-spacing: 0.15em;
            font-weight: normal;
          }
        }
      }

			& > div {
				display: grid;
				grid-template-columns: 368px 536px;
        justify-content: space-between;
				gap: 20px;
				@media screen and (max-width: 1035px) {
					grid-template-columns: 40% 1fr;
					grid-gap: 14px;
				}

				& > :first-child {
					font-size: 23px;
					display: flex;
					flex-direction: column;
					align-items: center;
					gap: 20px;
					@media screen and (max-width: 1035px) {
						font-size: max(2.2vw, 10.5px);
						gap: 10px;
            align-items: flex-start;
					}

					& img {
						object-fit: contain;
						max-width: 100%;
						aspect-ratio: 0.75;
					}

					& .button {
						width: 100%;
            background: var(--back_1B1449);
            color: #fff;
						@media screen and (max-width: 1035px) {
							
						}
					}

					& p {
						margin: 0;
						font-size: 18px;
						@media screen and (max-width: 1035px) {
							font-size: 2.2vw;
						}
					}
				}

				& > :last-child {
          @media screen and (max-width: 1035px) {
            margin-top: 13px;
          }

					& > :nth-child(1) {
						& > p {
							margin: 0;
						}

						& :nth-child(1) {
              font-family: var(--gothic);
							font-size: 35px;
              font-weight: bold;
              line-height: 1;
              letter-spacing: 0.05em;
							@media screen and (max-width: 1035px) {
								font-size: clamp(14px, calc(35 / 1035 * 100vw), 35px);
							}
						}

						& :nth-child(2) {
              font-family: var(--gothic);
							font-size: 20px;
              line-height: 1;
              letter-spacing: 0.15em;
              margin-top: 10px;
							@media screen and (max-width: 1035px) {
								font-size: clamp(12px, calc(20 / 1035 * 100vw), 20px);
							}
						}

						& a {
							font-size: 21px;
							margin-top: 10px;
							margin-bottom: 10px;
							@media screen and (max-width: 1035px) {
								font-size: 2.2vw;
								margin-top: 5px;
								margin-bottom: 5px;
								padding: 2px 10px;
							}
						}
					}

					& > :nth-child(2) {
						color: var(--colo_1B1449);
            font-family: var(--gothic);
						font-size: 20px;
						display: grid;
						grid-template-columns: 3fr 7fr;
						margin-top: 20px;
						@media screen and (max-width: 1035px) {
							font-size: clamp(14px, calc(20 / 1035 * 100vw), 20px);
						}
            @media screen and (max-width: 1035px) {
              grid-template-columns: 40% 1fr;
            }
            

						& > div {
							padding-top: 20px;
							padding-bottom: 20px;
							padding-left: 10px;
							@media screen and (max-width: 1035px) {
								padding-top: 5px;
								padding-bottom: 5px;
								padding-left: 3px;
							}
						}

						/* Grid */

						& > div {
							border-top: 1px solid var(--back_1B1449);
						}

						& > div:nth-child(1),
						& > div:nth-child(2) {
							border-top: none;
						}

						& > div:nth-child(odd) {
							border-right: 1px solid var(--back_1B1449);
              @media screen and (max-width: 1035px) {
                border-right: 1px solid var(--back_1B1449);
              }
						}

						& > div:nth-child(even) {
              font-weight: bold;
              padding-left: 27.5px;
              @media screen and (max-width: 1035px) {
                padding-inline: 10px;
              }
						}
					}

					& > :nth-child(3) {
            font-family: var(--gothic);
						color: var(--colo_1B1449);
						font-size: 25px;
						@media screen and (max-width: 1035px) {
							font-size: 3.2vw;
						}

						& > :first-child {
							font-weight: bold;
						}

						& > :last-child {
              border: 1px solid #707070;
              font-size: 0.8em;
              line-height: 1.75;
              letter-spacing: 0.2em;
              padding-block: 30px;
              padding-inline: 24px;
							width: 90%;
						}
					}

					& > .button.detail {
            background: var(--back_1B1449);
            color: #fff;
						@media screen and (max-width: 1035px) {
							transform: translateX(-30%);
							font-size: 3.2vw;
							padding: 3px 15px;
							margin: 20px 0;
						}
					}
				}
			}

			& > a:last-child {
				&::before {
					width: 100%;
					display: block;
					text-align: center;
					background-color: white;
					color: #1b1449;
					content: "さらに詳しく▼";
					margin-top: 10px;
					padding: 5px 0;
				}

				&.opened::before {
					content: "閉じる▲";
					border: 2px solid #d3d0d0;
				}
			}
		}
	}
}

.building_content__box {
  max-width: 1045px;
  width: 100%;
  margin-inline: auto;
}

.building_content__link {
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: all 0.3s ease;

  @media screen and (min-width: 769px) {
    &:hover {
      opacity: 0.7;
    }
  }
}

main {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #fff;
}

.button {
	display: inline-block;
	padding: 5px 30px;
	background-color: #fff;
	color: #1b1449;
  font-family: var(--gothic);
  font-size: 20px;
	font-weight: bold;
  line-height: 1.7;
  letter-spacing: 0.2em;
	border: none;
	text-align: center;
  transition: all 0.3s ease;

  @media screen and (min-width: 769px) {
    &:hover {
      opacity: 0.7;
    }
  }

	@media screen and (max-width: 1035px) {
		padding: 8px 30px;
	}

  &.spFontSmall {
    @media screen and (max-width: 1035px) {
      font-size: 16px;
    }
  }

  &.spFontXSmall {
    @media screen and (max-width: 1035px) {
      font-size: 12px;
      padding: 8px 5px;
    }
  }

  &.paddingBlockSmall {
    padding-block: 2px;
  }

  &.fontNormal {
    font-weight: normal;
  }

  &.radius {
    border-radius: 9999px;
  }

	&.border {
		border: 1px solid #707070;
		background-color: rgba(255, 255, 255, 0);
	}

  &.borderBgWhite {
    border: 1px solid #707070;
    background-color: #fff;
  }

	&.normal {
		font-weight: normal;
	}

	&.square {
		border-radius: 10px;
	}

	&.inheritColor {
		color: inherit;
	}

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

  &.widthLarge {
    max-width: 320px;
    min-width: 320px;
  }

  &.widthSmall {
    max-width: 257px;
    min-width: 257px;
  }

  &.widthXSmall {
    max-width: 152px;
    min-width: 152px;
  }

	&.reverse {
		background-color: #1b1449;
		color: #fff;
	}

  &.mTop {
    margin-top: 57px !important;
    @media screen and (max-width: 1035px) {
      margin-top: 15px !important;
    }
  }

  &.mAuto {
    display: block;
    margin-inline: auto;
  }
}

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

.pc-only {
	@media screen and (max-width: 1035px) {
		display: none !important;
	}
}

header {
	background-color: white;
	height: 100px;
	display: flex;
	justify-content: space-between;
	align-items: center;
  padding-left: 105px;
	@media screen and (max-width: 1035px) {
		height: 60px;
    padding-left: 18.8px;
	}

	& img {
    display: block;
		height: 60px;
		width: auto;
		@media screen and (max-width: 1035px) {
			height: 40px;
		}
	}

	& span {
    height: 100%;
		margin-right: 50px;
		display: flex;
		align-items: center;
		@media screen and (max-width: 1035px) {
			margin-right: 18.8px;
		}

		& > * {
			&.button {
				@media screen and (max-width: 1035px) {
					font-size: 10px;
					padding: 4px 10px;
				}
			}

			margin-left: 33px;
			@media screen and (max-width: 1035px) {
				margin-left: 10px;
				font-size: 12px;
			}
		}

		& :last-child {
      font-family: var(--gothic);
      font-size: 20px;
      line-height: 1;
      letter-spacing: 0.1em;
      font-weight: bold;
			color: #4d4d4d;
      @media screen and (max-width: 1035px) {
        font-size: 12px;
      }
		}

		&.sp-only img {
			width: 30px;
		}
	}
}

.header__logout {
  margin-left: 33px;
  transition: all 0.3s ease;

  @media screen and (min-width: 769px) {
    &:hover {
      opacity: 0.7;
    }
  }

  @media screen and (max-width: 1035px) {
    margin-left: 22px;
  }
}

.Title_Content, .Title_Content--large {
  color: var(--colo_1B1449);
  @media screen and (max-width: 1035px) {
    text-align: center;
  }

	& h1 {
		margin-bottom: 0;
    font-family: "bodoniXT", serif;
		font-size: 60px;
		line-height: 1.2;
    letter-spacing: 0.038em;
		font-weight: bold;
		@media screen and (max-width: 1035px) {
			font-size: 40px;
			letter-spacing: 0;
		}
	}

	& p {
		margin: 0;
    font-family: var(--gothic);
		font-size: 24px;
    line-height: 1.7;
    letter-spacing: 0.05em;
    font-weight: bold;
    margin-top: 0;
		@media screen and (max-width: 1035px) {
			font-size: 18px;
      letter-spacing: 0.1em;
		}
	}
}

.Title_Content--large {
  h1 {
    font-size: 70px;
    margin-top: 80px;
    @media screen and (max-width: 1035px) {
      font-size: 40px;
      margin-top: 40px;
    }
  }
}

.Title_Content__logo {
  max-width: 185px;
  width: 100%;
  margin-top: 10px;
  @media screen and (max-width: 1035px) {
    display: none;
  }
  
  img {
    width: 100%;
  }
}

.Contact_form {
	max-width: 655px;
  width: 100%;
  margin-inline: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
  font-family: var(--gothic);
	font-size: 30px;
  font-weight: bold;
	line-height: 1.8vw;
	gap: 50px;
	color: var(--colo_1B1449);
	@media screen and (max-width: 1035px) {
		width: 80%;
		font-size: 14px;
		line-height: 3.6vw;
    gap: 15px;
	}

	& > p {
		margin-top: 0;
		font-size: 2.2vw;
		font-weight: bold;
		@media screen and (max-width: 1035px) {
			font-size: 4.1vw;
		}
	}

  .tate_title {
    margin: 0;
    font-family: var(--gothic);
    font-size: 35px;
    line-height: 1.71;
    letter-spacing: 1em;
    font-weight: bold;
    color: var(--colo_1B1449);
    margin-top: 10px;
    @media screen and (max-width: 1035px) {
      font-size: 18px;
      letter-spacing: 0.6em;
      margin-top: 3px;
    }
  }

	& > label,
	& .reserve_picker {
		margin-bottom: 0;
		width: 100%;
		line-height: 3vw;
		@media screen and (max-width: 1035px) {
			line-height: 1.7;
		}

		&:has(> input[required]),
		&:has(> textarea[required]) {
			&::before {
				content: "※";
				color: red;
				font-weight: normal;
			}
		}

		& > input,
		& > textarea {
      font-family: var(--gothic);
			width: 100%;
			border: 1px solid #707070;
      border-radius: 0;
			font-size: inherit;
			padding: 0 5px;
      margin-top: 4px;
      @media screen and (max-width: 1035px) {
        padding: 3px 5px;
        font-size: 16px;
      }
		}

		& > textarea {
			height: 300px;
		}

		& > input[type="file"] {
			display: none;
		}

		& > .build_name {
			border: none;
			border-radius: unset;
      font-family: "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
			background-color: #F4F4F4;
			color: black;
			text-align: center;
			font-weight: bold;
      padding-block: 9px;
      margin-bottom: 0px;
			@media screen and (max-width: 1035px) {
				font-size: 4.1vw;
				padding: 7px 0.8vw;
        margin-bottom: 8px;
			}
		}
	}

	& .file {
    text-align: center;
    max-width: 266px;
    width: 100%;
    border-radius: 9999px;
    font-size: 25px;
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: normal;
    color: #222222;
    border: 1px solid #707070;
    padding-block: 12px;
    padding-inline: 5px;
		margin-bottom: 0;
		line-height: unset !important;
    cursor: pointer;
    transition: all 0.3s ease;
    @media screen and (max-width: 1035px) {
      max-width: 139px;
      font-size: 13px;
      padding-block: 5px;
      margin-top: 10px;
    }
    @media screen and (min-width: 769px) {
      &:hover {
        opacity: 0.7;
      }
    }
	}

	& .file_description {
		margin: 0;
		text-align: center;
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: normal;
    color: var(--colo_1B1449);
    margin-top: -30px;
    @media screen and (max-width: 1035px) {
      font-size: 13px;
      margin-top: 0px;
    }
	}

  .Contact_form__submitBtn {
    max-width: 201px;
    width: 100%;
    border-radius: 13px;
    background: var(--back_1B1449);
    font-family: var(--gothic);
    font-size: 35px;
    line-height: 1;
    letter-spacing: 0.2em;
    font-weight: normal;
    color: #fff;
    padding-block: 8px;
    padding-inline: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-block: 10px 70px;
    @media screen and (max-width: 1035px) {
      max-width: 90px;
      font-size: 16px;
      border-radius: 9999px;
      padding-block: 6px;
      padding-inline: 4px;
      margin-block: 30px 40px;
    }
  
    @media screen and (min-width: 769px) {
      &:hover {
        opacity: 0.7;
      }
    }
  }

	& .reserve_picker {
    display: flex;
    flex-direction: column;
    gap: 5px;

		& > :first-child {
			width: 100%;
			display: block;
			margin: 0;
		}

		& > :last-child {
			display: grid;
			align-items: center;
			grid-template-columns: 0.6fr 3fr 2fr 2fr;
      gap: 10px;
			@media screen and (max-width: 1035px) {
				grid-template-columns: 33px calc(50% - 16px) calc(25% - 16px) calc(25% - 16px);
        gap: 5px;
			}

			& > img {
				width: 41.33px;
				@media screen and (max-width: 1035px) {
					width: 30px;
				}
			}

			& > label > * {
				background-color: #fff;
				width: 100%;
				font-size: 30px;
				padding: 0 5px;
				box-sizing: border-box;
				border: 1px solid #707070;
        @media screen and (max-width: 1035px) {
          font-size: 16px;
          min-height: 32px;
        }
			}

      & > label > input[type=date] {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        font-family: var(--gothic);
        display: flex;
        align-items: center;
        border-radius: 0;
        padding-right: 0;
        @media screen and (max-width: 1035px) {
          display: block;
          width: 100%;
          height: 30px;
        }
      }

      & > label > select {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        border-radius: 0;
        font-size: 30px;
        min-height: 51px;
        @media screen and (max-width: 1035px) {
          font-size: 16px;
          min-height: 32px;
        }
      }
		}
	}
}

.partner_floating_bar {
	width: 100%;
	height: 66px;
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	bottom: 0;
	background-color: rgba(211, 208, 208, 0.7);
}

.footer {
	width: 100%;
  padding-inline: clamp(0px, calc(60 / 1320 * 100vw), 60px);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding-block: 80px 39px;
  @media screen and (max-width: 1035px) {
    flex-direction: column;
    align-items: center;
    gap: 9.7px;
    padding-block: 40px 86px;
  }
}

.footer--pBSmall {
  padding-block: 40px 36px;
  @media screen and (max-width: 1035px) {
    padding-block: 40px 22.3px;
  }
}

.footer--center {
  justify-content: center;
}

.footer__logo {
  width: max-content;
}

.footer__link {
  display: flex;
  align-items: center;
  gap: clamp(0px, calc(27.2 / 1320 * 100vw), 27.2px);
  @media screen and (max-width: 1035px) {
    gap: 12.9px;
  }
}

.footer__logoBox {
  height: clamp(0px, calc(62.1 / 1320 * 100vw), 62.1px);
  @media screen and (max-width: 1035px) {
    height: 29.07px;
  }

  img {
    height: 100%;
  }
}

.footer__texts {
  font-size: clamp(0px, calc(32 / 1320 * 100vw), 32px);
  line-height: 1;
  letter-spacing: 0;
  font-weight: normal;
  color: var(--colo_1B1449);
  @media screen and (max-width: 1035px) {
    font-size: 15px;
  }
}

.footer__text {
  display: block;
  font-size: 0.59375em;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--colo_1B1449);
  margin-top: clamp(8px, calc(11 / 1320 * 100vw), 11px);
}

.footer__copyright {
  margin: 0;
  font-size: clamp(0px, calc(20 / 1320 * 100vw), 20px);
  line-height: 1;
  letter-spacing: 0.2em;
  color: var(--colo_1B1449);
  @media screen and (max-width: 1035px) {
    font-size: 10px;
  }
}

/* 2024/03/05 改修分 */
.partner-title {
	width: 100%;
	background-color: #fff;
	color: #1b1449;
	padding: 70px 0;
}

.partner-title__wrap {
	max-width: 1228px;
	margin: 0 auto;
  padding-inline: 34px;
	@media screen and (max-width: 1035px) {
    text-align: center;
		width: 84.2%;
    padding-inline: 0;
	}
}

.partner-title__main,
.partner-title__sub {
	margin: 0;
}

.partner-title__main {
  font-family: var(--gothic);
	font-size: 50px;
  font-weight: bold;
	letter-spacing: 0.1em;
  line-height: 1;
	@media screen and (max-width: 1035px) {
		font-size: 18px;
    letter-spacing: 0.4em;
	}
}

.partner-title__sub {
  font-family: "bodoniXT", serif;
	font-size: 50px;
  line-height: 1.2;
  letter-spacing: 0.038em;
  color: #1b1449;
	@media screen and (max-width: 1035px) {
		font-size: 40px;
	}
}

.partners__inner {
	padding: 60px 20px;
	@media screen and (min-width: 1035px) {
		max-width: 1060px;
		width: 100%;
		padding: 120px 20px;
		margin: 0 auto;
	}
}

.partners__heading {
  text-align: center;
}

.partners__buttons {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
  max-width: 594px;
  min-width: 594px;
  width: 100%;
  margin-inline: auto;
	gap: 31px;
	margin-top: 80px;
	@media screen and (max-width: 768px) {
		gap: 16px;
		margin-top: 70px;
		max-width: 80%;
		min-width: 313px;
		margin-inline: auto;
    margin-top: 52px;
	}
}

.partners-button {
  font-family: var(--gothic);
	background-color: var(--back_2E3252);
	color: #fff;
	font-size: 37px;
  font-weight: bold;
	letter-spacing: 0.1em;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 23.5px 10px;
  transition: all 0.3s ease;

  @media screen and (min-width: 769px) {
    &:hover {
      opacity: 0.7;
    }
  }

	@media screen and (max-width: 768px) {
		font-size: 20px;
		padding: 12px 16px;
	}
}

.partner__section {
	max-width: 1228px;
  width: 100%;
	margin: 0 auto;
  padding-inline: 34px;
	padding-block: 10px 0;
	@media screen and (max-width: 1035px) {
		width: 84.2%;
		padding-top: 0;
    padding-inline: 0;
	}
}

.partner__section + .partner__section {
	padding-bottom: 60px;
}

.partner__section-title {
	margin: 0;
  font-family: var(--gothic);
	font-size: 50px;
  line-height: 2;
	letter-spacing: 0.2em;
	padding-bottom: 20px;
	border-bottom: 6px solid #fff;
  color: var(--colo_1B1449);
	@media screen and (max-width: 1035px) {
		font-size: 32px;
		border-bottom: 3px solid #fff;
	}
}

.building_content__title {
	font-size: 40px;
	cursor: pointer;
	display: flex;
	gap: 16px;
	align-items: center;
	padding: 24px 0;
	border-top: 1px solid #707070;
	border-bottom: 1px solid #707070;
  border-bottom-width: 0;
  margin: 0;
  transition: border-bottom-width 0s 0.4s ease;
	@media screen and (max-width: 1035px) {
		font-size: clamp(1.125rem, 0.957rem + 0.84vw, 1.5rem);
	}

  &.is-open {
    border-bottom-width: 1px;
    transition: border-bottom-width 0s 0s ease;
  }
}

.building_content__title::after {
	content: "";
	width: 25.6px;
  height: 19.2px;
	display: inline-block;
	background-color: var(--back_1B1449);
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	flex-shrink: 0;
}
@media screen and (max-width: 1035px) {
  .building_content__title::after {
    width: 14px;
    height: 12.4px;
  }
}

.building_content__title:first-child {
	margin-top: 0;
}

.building_content__box {
	position: relative;
}

.building_content__inner {
  padding-block: 60px;
  @media screen and (max-width: 1035px) {
    padding-block: 33px 0;
  }
}

.building_content__icon {
	width: 25.6px;
  height: 19.2px;
	display: inline-block;
	background-color: var(--back_1B1449);
	clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	position: absolute;
	bottom: 20px;
	right: 0;
	cursor: pointer;
  @media screen and (max-width: 1035px) {
    width: 14px;
    height: 12.4px;
  }
}

.building_content__btn {
  width: 100%;
  font-family: var(--gothic);
  background-color: var(--back_2E3252);
  color: #fff;
  font-size: 25px;
  font-weight: normal;
  line-height: 1.2;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  transition: all 0.3s ease;

  @media screen and (min-width: 769px) {
    &:hover {
      opacity: 0.7;
    }
  }

  @media screen and (max-width: 768px) {
    font-size: 12px;
    min-height: 36px;
  }
}

.partner_floating_bar__home {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
	max-width: clamp(3.125rem, 2.098rem + 5.13vw, 4.563rem);
	width: 100%;
}

.partner_floating_bar__home-icon {
	max-width: 21px;
	width: 100%;
}

.partner_floating_bar__home-icon img {
	aspect-ratio: 21 / 20;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.partner_floating_bar__home-text {
	font-size: 14px;
	color: #1b1449;
}

.header__home {
	display: inline-block;
}

.header__home-icon {
	max-width: 35px;
	width: 100%;
  transition: all 0.3s ease;

  @media screen and (min-width: 769px) {
    &:hover {
      opacity: 0.7;
    }
  }

  @media screen and (max-width: 768px) {
    max-width: 28px;
  }
}

.header__home-icon img {
	margin-left: 0;
	aspect-ratio: 52 / 51;
	width: 100%;
	height: 50px;
}