@charset "UTF-8";

/* ========================================
  @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px),print {
#openhouse .c-main__ttl02-wrap {
  background: url(../images/openhouse/header_bg.jpg) no-repeat top center/cover;
  margin-inline: auto;
  max-width: 1920px;
  width: 100%;
  margin-bottom: 8.75rem;
}

.p-fv {
  margin-bottom: -2rem;
}

.l-inner.l-fv {
  overflow: hidden;
}

.p-fv__ttl {
  text-align: center;
  font-size: 48px;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 3.5rem;
}

.p-fv__txt {
  text-align: center;
  font-size: 20px;
  line-height: 1.6;
  font-weight: 700;
  margin-bottom: 1.3125rem;
  width: min(95%,1100px);
  margin-inline: auto;
}

.p-fv__txt02 {
  text-align: center;
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: 5rem;
  width: min(95%,1100px);
  margin-inline: auto;
}

.p-fv__img {
  width: 2240px;
  margin-inline: auto;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.p-fv__img img {
  width: 100%;
  height: auto;        
}

.p-confirm {
  margin-bottom: -24.5rem;
}

.l-inner .l-confirm {

}

.p-confirm__content {
  width: min(95%,1500px);
  margin-inline: auto;
  padding: 6rem 6.875rem 6.25rem 7.5rem;
  position: relative;
  z-index: 10;
  background: #fff;
}

.p-confirm__ttl {
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 1rem 0;
  margin-bottom: 1.5rem;
}

.p-confirm__ttl span.top {
  font-size: 23px;
  line-height: 1.6;
  font-weight: 700;
}

.p-confirm__ttl span.bottom {
  font-size: 36px;
  line-height: 1.6;
  font-weight: 700;
}

.p-confirm__img {
  position: absolute;
  right: -7rem;
  top: 11.25rem;
  text-align: right;
}

.p-confirm__img img {
  width: 52.083vw;
  height: auto;        
}

.p-confirm__items {
  width: min(95%,37.5rem);
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 2.3rem 0;
  padding-inline: 2rem;
  padding-block: 3rem 0rem;
  background: #fff;
  position: relative;
  z-index: 10;
}

.p-confirm__item {
  font-size: 19px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  padding-bottom: 1.25rem;
  padding-left: 2.9375rem;
  border-bottom: 1px solid #B3B3B3;
  position: relative;
}

.p-confirm__item::before {
  position: absolute;
  content: "";
  background: url(../images/openhouse/check.svg) no-repeat center center / contain;
  width: 25px;
  height: 26px;
  top: 0px;
  left: 0;
}

.p-confirm__txt {
  text-align: right;
  font-size: 32px;
  line-height: 1.6;
  font-weight: 700;
}

.p-flow {
  background: linear-gradient(#fff 0%, #f2f2f2 51.04%, #dfcfae 100%);
  margin-bottom: 11.5rem;
}

.l-inner.l-flow {
  padding-block: 33.75rem 7.5rem;
  width: min(95%,1450px);
  margin-inline: auto;
}

.p-flow__contents {
  display: flex;
  align-items: center;
  gap: 0 9.5rem;
  margin-bottom: 3.75rem;
}

.p-flow__contents-left {
  font-size: 36px;
  line-height: 1.6;
  font-weight: 700;
}

.p-flow__contents-right {
  font-size: 20px;
  line-height: 1.8;
  font-weight: 700;
}

.p-flow__contents02 {
  display: grid;
  grid-template-columns: 18% minmax(0, 1fr);
  gap: 0 12.375rem;
  align-items: center;
  margin-bottom: 5rem;
}

.p-flow__contents02-left {
  font-size: 36px;
  line-height: 1.6;
  font-weight: 700;
  position: relative;
  top: -140px;
  white-space: nowrap;
}

.p-flow__contents02-right {
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 2.4rem 0;
  position: relative;
}

.p-flow__contents02-right::after {
  position: absolute;
  content: "";
  background: #BAA477;
  width: 0.375rem;
  height: 100%;
  bottom: 0;
  left: 3.1875rem;
  z-index: 1;
}

.p-flow__contents02-right li {
  display: flex;
  gap: 0 4rem;
  background: #fff;
  padding: 1.875rem 2rem 2.5rem;
  align-items: flex-start;
  position: relative;
  z-index: 10;
}

.p-flow__contents02-right li img {
  width: 43px;
  height: auto;
  position: relative;
  top: 0.5rem;
}

.p-flow__contents02-right li div.right {
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 1rem 0;
}

.p-flow__contents02-right li div.right h3 {
  font-size: 23px;
  line-height: 1.6;
  font-weight: 700;
}

.p-flow__contents02-right li div.right p {
  font-size: 17px;
  line-height: 1.6;
}

.p-flow__contents02 li div.right div.contents {
  width: 750px;
  background: #F2F2F2;
  padding-block: 1.25rem 1.25rem;
  padding-inline: 2rem 1rem;
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 0.625rem 0;
}

.p-flow__contents02 li div.right div.contents .contents_top {
  font-size: 17px;
  line-height: 1.6;
  font-weight: 600;
}

.p-flow__contents02 li div.right div.contents .contents_bottom {
  font-size: 15px;
  line-height: 1.8;
}

.p-flow__contents03 {
  width: min(95%,1200px);
  margin-inline: auto;
  background: #B8A274;
  padding: 3.375rem 5rem 4.375rem;
  color: #fff;
  display: grid;
  grid-template-columns: 12.5rem minmax(0, 1fr);
  gap: 0 6.5rem;
}

.p-flow__contents03-left {
  font-size: 36px;
  line-height: 1.6;
  font-weight: 700;
  white-space: nowrap;
}

.p-flow__contents03-right {

}

.p-flow__contents03-right p.top {
  font-size: 20px;
  line-height: 1.6;
  margin-bottom: 1.875rem;
}

.p-flow__contents03-right p.bottom {
  margin-bottom: 1rem;
  font-size: 17px;
  line-height: 1.6;
}

.p-flow__contents03-right div.btn {
  width: 27.5rem;
  background: #fff;
  border: 1px solid #333;
}

.p-flow__contents03-right div.btn a {
  display: block;
  padding: 1.1875rem 1.625rem 1.1875rem 1.9375rem;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 700;
  color: #333333;
  position: relative;
}

.p-flow__contents03-right div.btn a::after {
  position: absolute;
  content: "→";
  font-size: 13px;
  line-height: 1.6;
  font-weight: 700;
  color: #333333;
  right: 26px;
  top: 50%;
  transform: translateY(-50%);
}

.p-welcome {
	margin-bottom: 12.5rem;
}

.l-inner.l-welcome {
	margin-inline: auto;
	width: min(95%, 1200px);
}

.p-welcome__en {
  margin-bottom: 1.4375rem;
	text-align: center;
}

.p-welcome__ttl {
	font-size: 27px;
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1.6666666667;
	margin-bottom: 36px;
	text-align: center;
}

.p-welcome__ttl02 {
	font-size: 23px;
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1.6666666667;
	margin-bottom: 1.75rem;
  text-align: center;
}

.p-welcome__line {
	margin-bottom: 0.5625rem;
  margin-inline: auto;
	text-align: center;
	width: min(95%, 800px);
}

.p-welcome__line img {
	height: auto;
	width: 100%;
}

#event .system-list {
	display: grid;
	gap: 0 1.875rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 5rem;
}

#event .system-pic {
	height: 15.625rem;
	margin-bottom: 1.0625rem;
}

#event .system-pic img {
	height: 100%;
	width: 100%;
}

#event .icon {
	aspect-ratio: 1/1;
	border-radius: 50%;
	color: #ffffff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1.7;
	margin-bottom: -25px;
	margin-left: auto;
	padding: 16px 10px;
	position: relative;
	right: 10px;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 10;
}

#event .icon.icon01 {
	background: #CD371F;
}

#event .icon.icon02 {
	background: #145179;
	padding: 16px 15px;
}

#event .icon.icon03 {
	background: #333333;
	padding: 16px 15px;
}

#event .system-category {
	align-items: center;
	color: #B3B3B3;
	display: flex;
	flex-wrap: wrap;
	font-size: 12px;
	font-weight: 400;
	gap: 0 8px;
	letter-spacing: 0em;
	line-height: 2.3333333333;
}

#event .system-ttl {
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 1.75;
	margin-bottom: 1.25rem;
}

#event .system-date {
	display: flex;
	gap: 0 1.125rem;
}

#event .date-ttl {
	color: #B3B3B3;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 2.1538461538;
	white-space: nowrap;
}

#event .start_text {
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 2.1538461538;
}

.p-event__btn {
	margin-inline: auto;
	text-align: center;
	width: min(95%, 640px);
}

.p-event__btn a {
	background: #BAA477;
	color: #ffffff;
	display: inline-block;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1.4736842105;
	padding: 27px 0 27px;
	position: relative;
	width: 100%;
}

.p-event__btn a::after {
	content: "→";
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0em;
	line-height: 1.4736842105;
	position: absolute;
	right: 37px;
	top: 50%;
	transform: translateY(-50%);
}

}


/* ========================================
@media screen and (min-width:768px) and ( max-width:1730px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1730px) {
.p-confirm__img {
  right: -2rem;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1450px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1450px) {
.p-flow__contents02 li div.right div.contents {
  width: 46.414vw;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1350px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1350px) {
.p-confirm__items {
  margin-bottom: 2.5rem;
}

.p-confirm__ttl span.bottom {
  font-size: 32px;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1150px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1150px) {
.p-confirm__content {
  padding: 6rem 2.8rem 6.25rem 2.8rem;
}

.p-flow__contents02 li div.right div.contents {
  width: 100%;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:900px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:900px) {
.p-confirm__ttl span.top {
  font-size: 21px;
}

.p-flow__contents03 {
  padding: 3.375rem 2.5rem 4.375rem;
}
}

/* ========================================
@media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
#openhouse .c-main__ttl02-wrap {
  background: url(../images/openhouse/sp_header_bg.jpg) no-repeat top center/cover;
  margin-bottom: 14vw;
}

.p-fv {
  margin-bottom: -9.662vw;
}

.l-inner.l-fv {

}

.p-fv__ttl {
  text-align: center;
  font-size: 6.28vw;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 8.072vw;
}

.p-fv__txt {
  text-align: center;
  font-size: 4.348vw;
  line-height: 1.6;
  font-weight: 700;
  margin-bottom: 6.072vw;
}

.p-fv__txt02 {
  text-align: center;
  font-size: 3.623vw;
  line-height: 2;
  margin-bottom: 11.324vw;
}

.p-fv__img {
  width: 231.884vw;
  margin-inline: auto;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 4vw;
}

.p-fv__img img {
  width: 100%;
  height: auto;        
}

.p-confirm {
  margin-bottom: 0vw;
}

.l-inner .l-confirm {
}

.p-confirm__content {
  width: min(95%,91.7vw);
  margin-inline: auto;
  padding-block: 24.155vw 0vw;
  background: #fff;
}

.p-confirm__ttl {
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 4.831vw 0;
  margin-bottom: 6.324vw;
}

.p-confirm__ttl span.top {
  font-size: 4.348vw;
  line-height: 1.6;
  font-weight: 700;
  text-align: center;
}

.p-confirm__ttl span.bottom {
  font-size: 6.28vw;
  line-height: 1.6;
  font-weight: 700;
  text-align: center;
}

.p-confirm__img {
  margin-bottom: 7.729vw;
}

.p-confirm__img img {
  width: 100%;
  height: auto;        
}

.p-confirm__items {
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 5.28vw 0;
  margin-bottom: 12.077vw;
}

.p-confirm__item {
  font-size: 3.865vw;
  line-height: 1.6;
  letter-spacing: 0.05em;
  padding-bottom: 4.831vw;
  padding-left: 11.353vw;
  border-bottom: 0.2vw solid #B3B3B3;
  position: relative;
}

.p-confirm__item::before {
  position: absolute;
  content: "";
  background: url(../images/openhouse/check.svg) no-repeat center center / contain;
  width: 6.039vw;
  height: 6.28vw;
  top: 0px;
  left: 0;
}

.p-confirm__txt {
  text-align: center;
  font-size: 5.556vw;
  line-height: 1.6;
  font-weight: 700;
}

.p-flow {
  background: linear-gradient(#fff 0%, #f2f2f2 51.04%, #dfcfae 100%);
  margin-bottom: 23vw;
}

.l-inner.l-flow {
  padding-block: 35vw 14.986vw;
  width: min(95%,86.9vw);
  margin-inline: auto;
}

.p-flow__contents {
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 3.831vw 0;
  margin-bottom: 9.662vw;
}

.p-flow__contents-left {
  font-size: 6.28vw;
  line-height: 1.6;
  font-weight: 700;
}

.p-flow__contents-right {
  font-size: 4.106vw;
  line-height: 1.8;
  font-weight: 700;
}

.p-flow__contents02 {
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 5.246vw 0;
  margin-bottom: 10.324vw;
}

.p-flow__contents02-left {
  font-size: 6.28vw;
  line-height: 1.6;
  font-weight: 700;
  order: 4;
}

.p-flow__contents02-right {
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 9.662vw 0;
  display: contents;
}

.p-flow__contents02-right li {
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  background: #fff;
  padding: 7.831vw 4.831vw 8.662vw;
  align-items: flex-start;
  position: relative;
}

.p-flow__contents02-right li::after {
  position: absolute;
  content: "";
  background: #BAA477;
  width: 1.449vw;
  height: 9.662vw;
  bottom: -9.662vw;
  left: 50%;
  transform: translateX(-50%);
}

.p-flow__contents02-right li:nth-child(1) {
  order: 1;
}

.p-flow__contents02-right li:nth-child(2) {
  order: 2;
}

.p-flow__contents02-right li:nth-child(3) {
  order: 3;
  margin-bottom: 7vw;
}

.p-flow__contents02-right li:nth-child(3)::after {
  content: none;
}

.p-flow__contents02-right li:nth-child(4) {
  order: 5;
}

.p-flow__contents02-right li:nth-child(5) {
  order: 6;
}

.p-flow__contents02-right li:nth-child(6) {
  order: 7;
}

.p-flow__contents02-right li:nth-child(7) {
  order: 8;
}

.p-flow__contents02-right li:nth-child(7)::after {
  content: none;
}

.p-flow__contents02-right li img {
  margin-bottom: 3.623vw;
}

.p-flow__contents02-right li div.right {
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 3.865vw 0;
}

.p-flow__contents02-right li div.right h3 {
  font-size: 4.83vw;
  line-height: 1.6;
  font-weight: 700;
}

.p-flow__contents02-right li div.right p {
  font-size: 3.14vw;
  line-height: 2;
}

.p-flow__contents02 li div.right div.contents {
  width: 77.2vw;
  margin-inline: auto;
  background: #F2F2F2;
  padding-block: 4.831vw 6.831vw;
  padding-inline: 3.865vw;
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
  gap: 2.415vw 0;
}

.p-flow__contents02 li div.right div.contents .contents_top {
  font-size: 3.623vw;
  line-height: 1.6;
  font-weight: 600;
}

.p-flow__contents02 li div.right div.contents .contents_bottom {
  font-size: 3.14vw;
  line-height: 1.8;
}

.p-flow__contents03 {
  background: #B8A274;
  padding: 8.908vw 4.831vw 16.908vw;
  color: #fff;
  display: grid;
  grid-template-columns: repeat(1,minmax(0, 1fr));
}

.p-flow__contents03-left {
  font-size: 6.28vw;
  line-height: 1.88;
  font-weight: 700;
  margin-bottom: 4vw;
}

.p-flow__contents03-right {

}

.p-flow__contents03-right p.top {
  font-size: 4.106vw;
  line-height: 1.6;
  margin-bottom: 7.246vw;
}

.p-flow__contents03-right p.bottom {
  margin-bottom: 3.865vw;
  font-size: 4.106vw;
  line-height: 1.6;
}

.p-flow__contents03-right div.btn {
  width: 100%;
  background: #fff;
  border: 1px solid #333;
}

.p-flow__contents03-right div.btn a {
  display: block;
  padding: 4.589vw 6.28vw 4.589vw 7.488vw;
  font-size: 3.14vw;
  line-height: 1.6;
  font-weight: 700;
  color: #333333;
  position: relative;
}

.p-flow__contents03-right div.btn a::after {
  position: absolute;
  content: "→";
  font-size: 3.14vw;
  line-height: 1.6;
  font-weight: 700;
  color: #333333;
  right: 6.28vw;
  top: 50%;
  transform: translateY(-50%);
}

.p-welcome {
  margin-bottom: 29.154589372vw;
}

.l-inner.l-welcome {
  width: 100%;
}

.p-welcome__en {
  margin-bottom: 3.864734vw;
  text-align: center;
  width: 54vw;
  margin-inline: auto;
}

.p-welcome__ttl {
  font-size: 4.831vw;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.8;
  text-align: center;
  margin-bottom: 7vw;
}

.p-welcome__line {
  margin-bottom: 1.657005vw;
  margin-inline: auto;
  text-align: center;
  width: min(95%, 86.9vw);
}

.p-welcome__line img {
  height: auto;
  width: 100%;
}

#event .system-list {
  display: grid;
  gap: 9.1787439614vw 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-inline: auto;
  width: min(95%, 94.2vw);
  margin-bottom: 13vw;
}

#event .system-pic {
  height: 61.5942028986vw;
  margin-bottom: 0.932367vw;
}

#event .system-pic img {
  height: 100%;
  width: 100%;
}

#event .icon {
  aspect-ratio: 1/1;
  border-radius: 50%;
  color: #ffffff;
  font-size: 2.415vw;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.7;
  margin-bottom: -6.039vw;
  margin-left: auto;
  padding: 3.865vw 2.415vw;
  position: relative;
  right: 2.831vw;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 10;
}

#event .icon.icon01 {
  background: #CD371F;
}

#event .icon.icon02 {
  background: #145179;
  padding: 3.865vw 3.623vw;
}

#event .icon.icon03 {
  background: #333333;
  padding: 3.865vw 3.623vw;
}

#event .system-category {
  align-items: center;
  color: #B3B3B3;
  display: flex;
  flex-wrap: wrap;
  font-size: 2.899vw;
  font-weight: 400;
  gap: 0 1.932vw;
  letter-spacing: 0em;
  line-height: 2.3333333333;
}

#event .system-ttl {
  font-size: 4.348vw;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.9444444444;
  margin-bottom: 2.347826vw;
}

#event .system-date {
  display: flex;
  gap: 0 3.6231884058vw;
}

#event .date-ttl {
  color: #B3B3B3;
  font-size: 3.14vw;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 2.1538461538;
  white-space: wrap;
}

#event .start_text {
  font-size: 3.14vw;
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 2.1538461538;
}

.p-event__btn {
  margin-inline: auto;
  text-align: center;
  width: min(95%, 86.9vw);
}

.p-event__btn a {
  background: #BAA477;
  color: #ffffff;
  display: inline-block;
  font-size: 4.348vw;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.5555555556;
  padding: 6.039vw 0 6.039vw;
  position: relative;
  width: 100%;
}

.p-event__btn a::after {
  content: "→";
  font-size: 4.348vw;
  font-weight: 700;
  letter-spacing: 0em;
  line-height: 1.5555555556;
  position: absolute;
  right: 6.937vw;
  top: 50%;
  transform: translateY(-50%);
}


}