@charset "UTF-8";
/* -----------------------------------------
first/カード詳細用CSS
2026/10/14
----------------------------------------- */
/* 吹き出し */
.balloon-bottom {
	box-sizing: border-box;
	position: relative;
	display: block;
	margin: min(6.8359375vw, 70px) auto min(3.515625vw, 36px);
	border-radius: min(1.46484375vw, 15px);
	border: solid 1px #d80000;
	padding: min(3.41796875vw, 35px);
	width: min(83.984375vw, 860px);
	text-align: center;
	line-height: 1.6;
	font-size: min(1.7578125vw, 18px);
}
.balloon-bottom::before {
	-webkit-clip-path: polygon(50% 100%, 0% 50%, 100% 50%);
			clip-path: polygon(50% 100%, 0% 50%, 100% 50%);
	content: "";
	position: absolute;
	bottom: -15px;
	left: 50%;
	margin-left: -10px;
	width: 26px;
	height: 32px;
	background-color: #fff;
	z-index: 2;
}
.balloon-bottom::after {
	-webkit-clip-path: polygon(50% 100%, 0% 50%, 100% 50%);
			clip-path: polygon(50% 100%, 0% 50%, 100% 50%);
	content: "";
	position: absolute;
	bottom: -16px;
	left: 50%;
	margin-left: -10px;
	width: 26px;
	height: 32px;
	background-color: #d80000;
	z-index: 1;
}

@media only screen and (max-width: 750px) {
	.balloon-bottom {
	margin: 9.3333333vw auto 6.6666666vw;
	border-radius: 2.6666666vw;
	padding: 5.3333333vw;
	width: 100%;
	font-size: 3.7333333vw;
	}
}
.cardDetailTable thead th {
	background-color: #fff;
}
.cardDetailTable .cardType {
	padding: 0 1.2820512821vw 7.6923076923vw;
	vertical-align: top;
}
.cardDetailTable .cardType:first-child {
	padding-left: 0;
	padding-right: 2.5641025641vw;
}
.cardDetailTable .cardType:last-child {
	padding-left: 2.5641025641vw;
	padding-right: 0;
}
.cardDetailTable .cardType .singleBtnHolder_item {
	min-width: 100%;
}
.cardDetailTable .cardType .cardType_name {
	margin-bottom: min(0.9765625vw, 10px);
	border-radius: min(0.9765625vw, 10px);
	padding: min(2.44140625vw, 25px) min(0.48828125vw, 5px);
	background-color: #f5f6f7;
	line-height: 1.3;
	font-size: min(2.34375vw, 24px);
}
.cardDetailTable .cardType .cardType_name .hosoku {
	font-size: min(1.953125vw, 20px);
}
.cardDetailTable .adjust3col {
	padding: 5.1282051282vw 0;
}

@media (min-width: 751px) {
	.cardDetailTable .cardType {
	padding: 0 min(0.48828125vw, 5px) min(3.41796875vw, 35px);
	}
	.cardDetailTable .cardType:first-child {
	padding-left: 0;
	padding-right: min(0.9765625vw, 10px);
	}
	.cardDetailTable .cardType:last-child {
	padding-left: min(0.9765625vw, 10px);
	padding-right: 0;
	}
}
@media only screen and (max-width: 750px) {
	.cardType_btn {
	padding: 2vw 1.5384615385vw 2vw 0;
	line-height: 1.2;
	font-size: 3.6vw !important;
	}
}
@media only screen and (max-width: 750px) {
	.cardType_btn[target=_blank]::after {
	right: 2.0512820513vw;
	background-size: 2.0512820513vw auto;
	}
}

/*カードの詳細 2種類*/
.cardDetailLogos2 {
	flex-direction: column;
}

.cardDetailLogos2_item:not(:first-child) {
	margin-top: 3.8461538462vw;
}
@media print, screen and (min-width: 751px) {
	.cardDetailLogos2_item:not(:first-child) {
	margin-top: min(1.953125vw, 20px);
	}
}
.cardDetailTable .adjust2col {
	padding: 7.6923076923vw 0;
}
.cardDetailTable .adjust2col:not(:first-child),
.cardDetailTable .adjust3col:not(:first-child) {
	position: relative;
}
.cardDetailTable .adjust2col:not(:first-child)::before,
.cardDetailTable .adjust3col:not(:first-child)::before {
	position: absolute;
	top: 5.1282051282vw;
	left: 0;
	width: 1px;
	height: calc(100% - 10.2564102564vw);
	background: #e8e8e8;
	content: "";
}
@media print, screen and (min-width: 751px) {
	.cardDetailTable .cardType:nth-of-type(odd), .cardDetailTable .cardType:nth-of-type(even) {
	padding: 0 min(4.8828125vw, 30px) min(3.41796875vw, 35px);
	}
	.cardDetailTable .adjust2col {
	padding: min(3.41796875vw, 35px) 0;
	}
	.cardDetailTable .adjust2col:not(:first-child) {
	position: relative;
	}
	.cardDetailTable .adjust2col:not(:first-child)::before {
	top: min(2.44140625vw, 25px);
	height: calc(100% - min(4.8828125vw, 50px));
	}
}

.spFlowEntry {
	z-index: 10;
}


.cardDetailTable .td-left-border {
	border-left: 1px solid #ddd;
}

.cardType_imgcard img {
	width: 66.66vw;
	height: auto;
	margin-bottom: 1.33vw;
}
@media print, screen and (min-width: 751px) {
	.cardType_imgcard img {
		width: min(45.91vw, 450px);
		height: auto;
		margin-bottom: min(1.53vw, 15px);
	}
}

.cardType_balloon02 {
	display: inline-block;
	position: relative;
	width: 100%;
	padding: 3.0769230769vw;
	margin-bottom: 3.5vw;
	border: 1px solid #222;
	border-radius: 12px;
	text-align: center;
	font-weight: 500;
	line-height: 1.4;
}

.cardType_balloon02::before,
.cardType_balloon02::after {
	position: absolute;
	bottom: -2.8205128205vw;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 2.8205128205vw 2.3076923077vw 0 2.3076923077vw;
	border-color: #222 transparent transparent transparent;
	content: "";
}

.cardType_balloon02::after {
	margin-bottom: 1px;
	border-color: #fff transparent transparent transparent;
}

.cardType_balloon02 div {
	display: flex;
	align-items: normal;
	justify-content: center;
	gap: min(1.02vw, 10px);
}
@media only screen and (max-width: 750px) {
	.cardType_balloon02 div {
		display: block;
	}
}
.cardType_balloon02 div + div {
	margin-top: min(1.02vw, 10px);
	padding-top: min(1.02vw, 10px);
	border-top: 1px solid #e7e7e7;
}
@media only screen and (max-width: 750px) {
	.cardType_balloon02 div + div {
		margin-top: 2.66vw;
		padding-top: 2.66vw;
	}
}
.cardType_balloon02 div figure {
	width: 33%;
	text-align: center;
}
@media only screen and (max-width: 750px) {
	.cardType_balloon02 div figure {
		width: auto;
	}
}
.cardType_balloon02 div figure img {
	height: min(4.08vw, 40px);
	width: auto;
}
@media only screen and (max-width: 750px) {
	.cardType_balloon02 div figure img {
		height: 8vw;
	}
}
.cardType_balloon02 div p {
	width: 57%;
	font-size: min(1.83vw, 18px);
	text-align: left;
}
@media only screen and (max-width: 750px) {
	.cardType_balloon02 div p {
		width: auto;
		font-size: 3.2vw;
		text-align: center;
	}
}
@media print, screen and (min-width: 751px) {
	.cardType_balloon02 {
		padding: min(2.55vw, 20px) min(3.57vw, 20px);
		margin-bottom: min(1.3vw, 18px);
		border-radius: 16px;
	}
	.cardType_balloon02::before,
	.cardType_balloon02::after {
		bottom: clamp(-10px, -0.9765625vw, -7px);
		border-width: min(1.07421875vw, 11px) min(0.87890625vw, 9px) 0 min(0.87890625vw, 9px);
	}
}
@media only screen and (max-width: 750px) {
	.cardType_btn02 {
		font-size: 3.2vw !important;
	}
}
