@charset "utf-8";
/* CSS Document */
.popup-container{
	width: 100%;
	background: #FFF;
	margin: auto;
}
/* デフォルト（スマホ基準） */
.popup-step-header {
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	font-size: 25px;
	font-weight: 700;
	font-family: "Inter", sans-serif;
	gap: 5px;
	margin: 15px 0px 15px;
}
@media (min-width: 768px) {
.popup-step-header {
	flex-direction: row;
	align-items: center;
	justify-content: center;
	font-size: 40px;
	gap: 36px;
	margin: 28px 0px 26px;
}
}
@media (max-width: 767px){
span.sp-none {
    display: none;
}
}
.popup-step-row {
	display: flex;
	align-items: center;
	gap: 20px;
}
.popup-step-label {
	font-size: 40px;
	font-weight: 700;
	font-family: "Inter", sans-serif;
}
.popup-step-circles {
	display: flex;
	align-items: center;
}
/* 丸は初期グレー、現在のSTEPのみオレンジ */
.popup-circle {
	border-radius: 28.193px;
	width: 40px;
	height: 40px;
	font-size: 20px;
	color: #FFF;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #D9D9D9;
}
@media (min-width: 768px) {
.popup-circle {
	width: 50px;
	height: 50px;
	font-size: 29px;
}
}
.popup-circle.active {
  background: #F50;
}
.popup-active {
	background: #F50;
}
.popup-inactive {
	background: #D9D9D9;
}
.popup-line {
	width: 15px;
	height: 3px;
	background: #D9D9D9;
}
.popup-title-bar {
	background: #2EA7E0;
	padding: 10px 0px;
	color: #FFF;
	font-size: 4.5vw;
	font-weight: 700;
	text-align: center;
	font-family: "Inter", sans-serif;
	letter-spacing: 5.783px;
}
@media (min-width: 768px) {
.popup-title-bar {
	font-size: 25px;
}
}
.popup-option-box-container {
    display: flex;
    justify-content: center;
    gap: 10px;
}
@media (min-width: 767px){
.popup-option-box-container {
    gap: 50px;
}
}
.popup-content {
	margin: 30px 20px 0px;
	text-align: center;
}
@media (min-width: 767px){
.popup-content {
	margin: 50px 65px 0px;
}
}
p.popup-q-title {
	font-size: 4.2vw;
  font-weight: 700;
  letter-spacing: 1.68px;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 20px;
}
@media (min-width: 430px) {
p.popup-q-title {
        font-size: 2.9vw;
}
}
@media (min-width: 768px) {
p.popup-q-title {
  font-size: 24px;
	margin-bottom: 20px;
}
}
span.step2-title-red {
    color: #F50;
}
.popup-option-box {
	width: 35.6%;
	border: 4px solid #000;
	cursor: pointer;
	border-radius: 10px;
	background: #FFF;
    padding: 15px;
}
@media (max-width: 768px){
.popup-option-box{
	height: auto;
	width: 50%;
	border: 2px solid #000;
}
}
@media (max-width: 818px){
.popup-option-box{
	height: auto;
	width: 50%;
	border: 2px solid #000;
}
}
.popup-option-box img {
    width: 100%;
	height: auto;
}
@media (min-width: 576px){
.popup-option-box img {
	width: 54%;
}
}
@media (min-width: 818px){
.popup-option-box img {
	width: 54%;
}
}
/*.popup-option-box:hover{
	  background: rgba(227, 106, 79, 0.20);
	border: 4px solid #f50;
}*/



img.popup-budget-img{
    width: 30%;
}
p.popup-a-title,.popup-budget-label,.popup-loc-label{
	font-size: 4.5vw;
	font-weight: 400;
    margin-bottom: 0rem;
}
@media (min-width: 576px){
p.popup-a-title,.popup-budget-label,.popup-loc-label{
	font-size: 18px;
}
}
@media (min-width: 818px){
p.popup-a-title,.popup-budget-label,.popup-loc-label{
	font-size: 24px;
}
}
.popup-btn {
	background: #F50;
	color: white;
	padding: 10px 20px;
	font-weight: bold;
	cursor: pointer;
	border: none;
}
.popup-hidden {
	display: none;
}
/*ボタン*/
.popup-footer-btns {
    font-size: 13px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
}
@media (min-width: 768px){
.popup-footer-btns {
    font-size: 16px;
}
}
.popup-nav-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	border: none;
	background: none;
	cursor: pointer;
	font-weight: 400;
	color: #000!important;
}
.popup-svg-icon {
	display: inline-flex;
	align-items: center;
}
/* STEP2：4択グリッド */
.popup-budget-grid{
	display: grid;
	grid-template-columns: 1fr 1fr; /* 2列 */
	grid-template-rows: auto auto;  /* 2行 */
	gap: 10px;
	justify-items: center;
	align-items: center;
	margin: 0 auto;
	padding: 0px;
}
@media (min-width: 768px){
.popup-budget-grid{
	gap: 20px;
	padding: 0px 70px;
}
}
/*共通 */
#step2-budget-35 .popup-option-box,
#step2-budget-60 .popup-option-box,
#step2-location .popup-loc-card,
#step2b-size .popup-option-box {
  width: 100% !important;
  height: 68px;
  border:2px solid #000;
  border-radius:10px;
  background:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .15s ease;
  padding: 0px;
}

/*#step2-budget-35 .popup-option-box:hover,
#step2-budget-60 .popup-option-box:hover,
#step2-location .popup-loc-card:hover,
#step2b-size .popup-option-box:hover
{background: rgba(227, 106, 79, 0.20);
border:4px solid #f50;}*/



@media (min-width: 450px){
#step2-budget-35 .popup-option-box,
#step2-budget-60 .popup-option-box,
#step2-location .popup-loc-card,
#step2b-size .popup-option-box{
  border:2px solid #000;
    height: 110px;
	padding: 10px;
}
}
@media (min-width: 818px){
#step2-budget-35 .popup-option-box,
#step2-budget-60 .popup-option-box,
#step2-location .popup-loc-card,
#step2b-size .popup-option-box{
	width: 100%;
	height: 140px;
	border:4px solid #000;
	border-radius:10px;
	background:#fff;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	transition:background .15s ease;
}

}
/* ホバー時背景色 */
/*#step2-budget-35 .popup-option-box:hover,
#step2-budget-60 .popup-option-box:hover,
#step2b-size .popup-option-box:hover,
#step2b-size .popup-option-box:hover{
  background: rgba(227, 106, 79, 0.20);
	border: 4px solid #f50;
}*/
/* 選択時（STEP3へ遷移直前/再表示用） */
#step2-budget-35 .popup-option-box.is-selected,
#step2-budget-60 .popup-option-box.is-selected,
#step2b-size .popup-option-box.is-selected{
  background: rgba(227, 106, 79, 0.20);
	border: 4px solid #f50;
}
.popup-budget-img,.popup-loc-img{
	width: 35%;
	display:block;
}
/* STEP3 ラッパー */
.popup-plan-wrap{
    max-width: 100%;
}
.popup-plan-list {
    display: grid;
    gap: 10px;
}
@media (min-width: 768px){
.popup-plan-list{
	gap: 20px;
    display: grid;
}
}
.popup-plan-card{
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 5px;
	padding: 5px 10px;
	font-size: 22px;
	border: 2px solid #000;
	background: #F3F4F5;
	font-family: "Inter", sans-serif;
	border-radius: 10px;
}
@media (min-width: 768px){
.popup-plan-card{
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 0px;
	padding: 5px 10px;
	font-size: 22px;
}
}
@media (min-width: 818px){
.popup-plan-card{
	display: grid;
	grid-template-columns: 180px 1fr;
	align-items: center;
	padding: 15px 30px;
	gap: 50px;
}
}
.popup-plan-card.is-primary{
	border: 4px solid #FF6A3F;
	background: rgba(227,106,79,0.10);
}
/* 金額（左側） */
.popup-plan-price {
    font-size: 6.11vw;
	font-weight: 700;
}
@media (min-width: 430px){
.popup-plan-price{
	font-size: 25px;
}
}
@media (min-width: 818px){
.popup-plan-price{
	font-size: 33px;
	text-align: center;
	justify-self: center;
}
}
/* 内訳（右側） */
.popup-plan-detail{
	font-size: 3.9vw;
	line-height: 1.45;
	text-align: left;
	justify-self: start;
	white-space: pre-line;
}
@media (min-width: 576px){
.popup-plan-detail {
	font-size: 16px;
	line-height: 1.65!important;
}
}
@media (min-width: 818px){
.popup-plan-detail {
	font-size: 20px;
	white-space: pre-line;
	font-weight: 400;
	letter-spacing: 1.68px;
}
}
#step3 .popup-q-title{
	margin-bottom: 1rem;
}
.popup-location-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	justify-items: center;
	align-items: center;
	margin: 0 auto;
	gap: 10px;
	padding: 0px;
}
@media (min-width: 768px){
.popup-location-grid{
	gap: 20px 50px;
	padding: 0px 70px;
}
}
.popup-loc-label{
	font-weight:400;
}
/* 選択中（1回押すと固定／もう一度で解除） */
#step2-location .popup-loc-card.is-selected{
	background: rgba(227, 106, 79, 0.20);
	border: 4px solid #f50;
}
/* 「次に進む」ボタン */
.popup-next-primary{
	font-size: 4.65vw;
	padding: 5px 0px 5px 7px;
}
.popup-next-primary{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding: 5px 2px 5px 10px;
	border:none;
	background:#F50;
	color:#fff;
	font-size: 15px;
	font-weight:400;
	cursor:pointer;
	margin-top: 20px;
}
@media (min-width: 768px){
.popup-next-primary{
	padding: 10px 74px;
	font-size: 20px;
}
}
.popup-next-primary:disabled{
  opacity:.5;
  cursor:not-allowed;
}
/* レイアウト：左にプラン名→金額、右に内訳 */
#step3 .popup-q-title {
	display:block;
}
/* 左カラム（プラン名 + 金額） */
.popup-plan-left {
	gap: 0px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}
@media (min-width: 768px){
.popup-plan-left {
	align-items: baseline;
	gap: 0px;
}
}
@media (min-width: 818px){
.popup-plan-left {
    align-items: center;
	gap: 6px;
}
}
.popup-plan-tag {
	font-size: 13px;
}
@media (min-width: 768px){
.popup-plan-tag {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
}
}


#step2b-size .popup-option-box{ height: 200px; line-height: 1.3; padding: 15px;}
#step2b-size .popup-option-box small { display: block;}
.appearForSP {display: none;}

img.popup-floor-img_01 { margin: 0 0 20px 0; width: 35%;}
img.popup-floor-img_02 { margin: 0 0 20px 0; width: 50%;}

@media (max-width: 768px){
#step2b-size .popup-option-box{ height: 160px; padding: 10px;}
img.popup-floor-img_01 { margin: 0 0 20px 0; width: 25%;}
img.popup-floor-img_02 { margin: 0 0 20px 0; width: 40%;}
}
@media (max-width: 425px){
#step2b-size .popup-option-box{ height: auto; padding: 15px;}
.appearForSP {display: block;}
img.popup-floor-img_01 { margin: 0 0 10px 0; width: 30%;}
img.popup-floor-img_02 { margin: 0 0 10px 0; width: 50%;}
}
