@charset "utf-8";

/*--------------------------------------------------------------
1.0 - TOP
--------------------------------------------------------------*/
.topSection {
	width: 100%;
	margin: 0 auto;
	padding: 6% 0;
	line-height: 1.8;
	letter-spacing: 0.08em;
}
.topSection h2 {
	position: relative;
	width: fit-content;
	margin: 0 auto;
	padding: 0 4%;
	font-size: 1.6vw;
	font-weight: 600;
}
.topSection h2::before,
.topSection h2::after {
	position: absolute;
	content: '';
	width: 12%;
	height: 1px;
	background: #aaa;
	top: 50%;
	transform: translateY(-50%);
}
.topSection h2::before {
	left: 0;
}
.topSection h2::after {
	right: 0;
}

.ts_1st {
	width: 100%;
	padding: 0;
	position: relative;
	box-sizing: border-box;
	background: url(/wp-content/uploads/2025/10/fvimg_pc.jpg) center center no-repeat;
	background-size: cover;
	padding-top: 44.27%;
}
.ts_1st p {
	position: absolute;
	width: 100%;
	top: 8.8%;
	left: 6%;
	color: #000;
	font-size: 2.6vw;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.1em;
	text-shadow: 2px 2px 3px rgba(255, 255, 255, 0.5), -2px 2px 3px rgba(255, 255, 255, 0.5), -2px -2px 3px rgba(255, 255, 255, 0.5), 2px -2px 3px rgba(255, 255, 255, 0.5);
}
.ts_1st p span {
	padding-left: 0.6%;
	color: #ee0000;
	font-size: 120%;
	font-weight: 800;
}

.ts_2nd {
	text-align: center;
	background-color: rgba(47, 136, 176, 0.15);
}
.ts_2nd h2 {
	width: auto;
	margin: 0 auto;
	padding: 0;
}
.ts_2nd h2::before,
.ts_2nd h2::after {
	display: none;
}
.ts_2nd h2 img {
	width: 20%;
	padding: 0 1% 0 0;
	vertical-align: top;
}
.reason_col {
	width: 80%;
	margin: 3% auto 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.circle {
	width: 21%;
	border-radius: 50%;
	border: solid 1px #fff;
	background: #fff;
}
.circle_inner {
	position: relative;
	height: 0;
	padding-top: 100%;
}
.circle_inner .circle_box {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	line-height: 1.6;
}
.circle_inner .circle_box p {
	margin: 0;
	padding: 0;
	font-size: 1.4vw;
	font-weight: 500;
	letter-spacing: 0.09em;
}
.circle_inner .circle_box p span {
	font-size: 155%;
	font-weight: 800;
	color: #ee0000;
	line-height: 1.4;
}
.circle_inner .circle_box p .reason1 {
	padding-right: 2%;
	position: relative;
}
.circle_inner .circle_box p .reason1::after {
	position: absolute;
	content: attr(data-en);
	top: 0;
	right: -7%;
	font-size: 40%;
	font-weight: 500;
}
.circle_inner .circle_box p .smltxt {
	padding: 0 0.6%;
	font-size: 80%;
	font-weight: 600;
	color: #333;
	line-height: 1.6;
}
.ts_2nd .atten {
	margin: 2% 0 0 0;
	padding: 0;
	font-size: 0.85vw;
}
.ts_2nd .atten span {
	padding: 0 0.8% 0 0;
	color: #ee0000;
}

.price_box {
	width: 42%;
	margin: 3% auto 0;
	padding: 2% 3%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	background: #fff;
	border-radius: 1.0vw;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
}
.p_box_left {
	width: 39%;
	margin: 0;
	padding: 0;
	text-align: left;
}
.p_box_left h2 {
	margin: 0 0 3%;
	padding: 0;
	font-size: 1.3vw;
	font-weight: 500;
	display: block;
	line-height: 1.2;
}
.p_box_left p {
	margin: 0;
	padding: 0 0 0 2%;
	font-size: 1.3vw;
	color: #000;
}
.p_box_left p span {
	font-size: 80%;
	color: #333;
	display: block;
}
.p_box_right {
	width: 61%;
	margin: 0;
	padding: 0;
}
.p_box_right p {
	margin: 0;
	padding: 0;
	font-size: 1.3vw;
	color: #000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.p_box_right p span {
	margin-top: -3%;
	padding: 0 3% 0 5%;
	color: #ee0000;
	font-size: 3.2vw;
	font-weight: 700;
}

.operator {
	text-align: center;
}
.op_inner {
	width: 45%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.op_inner .opi_left {
	width: 76%;
	margin: 0 2% 0 0;
	padding: 0;
	text-align: center;
}
.op_inner .opi_left h2 {
	margin: 0 auto 3%;
	padding: 0 10% 0 9.2%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center; 
	align-items: center;
	font-size: 2.2vw;
	font-weight: 600;
}
.op_inner .opi_left h2::before,
.op_inner .opi_left h2::after {
	content: '';
	width: 10%;
	height: 1px;
	background-color: #555;
	display: inline;
}
.op_inner .opi_left h2::before {
	left: 0;
	transform: rotate(50deg);
}
.op_inner .opi_left h2::after {
	right: 0;
	transform: rotate(-50deg);
}
.op_inner img {
	width: 22%;
	margin: 0;
	padding: 0;
	display: block;
	border-radius: 50%;
}
.btn_op {
	width: fit-content;
	margin: 0 auto;
	padding: 1.2% 8% 1.8% 8%;
	border: 1px solid #333;
	background-color: #333;
	color: #fff;
	font-size: 1.5vw;
	font-weight: 600;
	text-align: center;
	transition: 0.8s;
	border-radius: 1.0vw;
	display: block;
}
.btn_op:hover {
	border: 1px solid #fff;
	opacity: .7;
	color: #fff;
}

.ts_3rd {
	padding: 6% 0 7%;
	text-align: center;
	background-color: rgba(47, 136, 176, 0.15);
}
.voice_inner {
	width: 80%;
	margin: 3% auto 0;
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	justify-content: space-between;
}
.voice_box {
	width: 31%;
	margin: 0 3.5% 0 0;
	padding: 2% 1.5%;
	box-sizing: border-box;
	color: #fff;
	background: #2f88b0;
	border-radius: 1.0vw;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
}
.voice_inner .end {
	margin: 0;
}
.voice_box h3 {
	margin: 0;
	padding: 0 0 2%;
	color: #fff;
	font-size: 1.2vw;
	font-weight: 700;
	line-height: 1.6;
}
.voice_box .txt {
	width: 100%;
	aspect-ratio: 106/33;
	margin: 2% 0 4% 0;
	color: #2f88b0;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.voice_box .txt p {
	margin: 0;
	padding: 0;
	font-size: 1.05vw;
	font-weight: 600;
	line-height: 1.6;
	text-align: center;
}
.voice_box p {
	margin: 0;
	padding: 0 2%;
	font-size: 0.95vw;
	font-weight: 400;
	text-align: left;
	line-height: 1.7;
	letter-spacing: 0.06em;
}
.voice_box p span {
	font-size: 1.05vw;
	font-weight: 600;
}

.ts_4th {
	padding: 6% 0 3.5%;
	text-align: center;
	background-color: rgba(255, 119, 0, 0.7);
}
.cp_head {
	margin: 0;
	padding: 0;
}
.cp_head .sarani {
	margin: 0 0 0.8%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center; 
	align-items: center;
	font-size: 2.2vw;
	font-weight: 600;
}
.cp_head .sarani::before,
.cp_head .sarani::after {
	content: '';
	width: 2.5%;
	height: 1px;
	background-color: #fff;
	display: inline;
}
.cp_head .sarani::before {
	margin-right: 1%;
	transform: rotate(50deg);
}
.cp_head .sarani::after {
	margin-left: 0.5%;
	transform: rotate(-50deg);
}
.cp_head p {
	margin: 0 0 2%;
	padding: 0;
	font-size: 1.7vw;
	font-weight: 500;
	line-height: 1.6;
	color: #fff;
}
.ts_4th h2 {
	margin: 2% auto 0;
	font-size: 2.8vw;
	font-weight: 700;
}
.ts_4th h2::before,
.ts_4th h2::after {
	display: none;
}
.ts_4th p {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.7vw;
	font-weight: 500;
	line-height: 1.6;
}
.ts_4th p .number {
	padding: 0 0.5% 1.3% 1%;
	font-size: 6.0vw;
	font-weight: 700;
}
.ts_4th p span {
	padding: 0;
	font-size: 4.0vw;
	font-weight: 600;
	font-style: italic;
	color: #ee0000;
	font-family: "Fira Sans", sans-serif;
	line-height: 1.4;
}

.ts_5th {
	padding: 6% 0 14%;
	text-align: center;
}
.fuan {
	width: 45%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.fuan img {
	width: 29%;
	margin: 0 6% 0 0;
	display: block;
	border-radius: 50%;
}
.balloon {
	position: relative;
	width: 65%;
	margin: 0;
	padding: 2% 0 2% 2%;
	font-size: 1.4vw;
	font-weight: 500;
	color: #fff;
	background: #333;
	text-align: center;
	border-radius: 0.8vw;
	display: inline-block;
	box-sizing: border-box;
}
.balloon::before {
	position: absolute;
	margin: auto;
	content: "";
	width: 4%;
	min-width: 0;
	aspect-ratio: 1/1;
	background: #333;
	top: 0;
	bottom: 0;
	left: -3.8%;
	clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.ts_5th h2 {
	width: 100%;
	margin: 2% auto 0;
	padding: 0;
	color: #2f88b0;
	font-size: 2.4vw;
	font-weight: 700;
}
.ts_5th h2::before,
.ts_5th h2::after {
	display: none;
}
.ts_5th h2 span {
	padding: 0 0 0 0.4%;
	color: #000;
	font-size: 2.0vw;
}
.support_col {
	width: 60%;
	margin: 3% auto 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.circle2 {
	width: 30%;
	border-radius: 50%;
	border: solid 1px #fff;
	background: #2f88b0;
}
.circle2_inner {
	position: relative;
	height: 0;
	padding-top: 100%;
}
.circle2_inner .circle_box2 {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	line-height: 1.6;
}
.circle2_inner .circle_box2 p {
	margin: 0;
	padding: 0;
	font-size: 1.4vw;
	font-weight: 500;
	letter-spacing: 0.09em;
	color: #fff;
}





/*--------------------------------------------------------------
2.0 - Responsive
--------------------------------------------------------------*/
@media screen and (max-width: 1280px) {
	.topSection h2 {
		font-size: 1.8vw;
	}
	.ts_1st p {
		font-size: 2.8vw;
	}
	.ts_2nd h2 img {
		width: 24%;
	}
	.reason_col {
		width: 90%;
	}
	.circle {
		width: 22%;
	}
	.circle_inner .circle_box p {
		font-size: 1.6vw;
	}
	.ts_2nd .atten {
		font-size: 1.05vw;
	}
	.price_box {
		width: 48%;
	}
	.p_box_left h2 {
		font-size: 1.5vw;
	}
	.p_box_left p {
		font-size: 1.5vw;
	}
	.p_box_right p {
		font-size: 1.5vw;
	}
	.p_box_right p span {
		font-size: 3.4vw;
	}
	.op_inner {
		width: 50%;
	}
	.op_inner .opi_left h2 {
		font-size: 2.4vw;
	}
	.btn_op {
		font-size: 1.7vw;
	}
	.voice_inner {
		width: 90%;
	}
	.voice_box h3 {
		font-size: 1.4vw;
	}
	.voice_box .txt p {
		font-size: 1.25vw;
	}
	.voice_box p {
		font-size: 1.05vw;
	}
	.voice_box p span {
		font-size: 1.25vw;
	}
	.cp_head .sarani {
		font-size: 2.4vw;
	}
	.cp_head p {
		font-size: 1.9vw;
	}
	.ts_4th h2 {
		font-size: 3.0vw;
	}
	.ts_4th p {
		font-size: 1.9vw;
	}
	.ts_4th p .number {
		font-size: 6.2vw;
	}
	.ts_4th p span {
		font-size: 4.2vw;
	}
	.fuan {
		width: 55%;
	}
	.balloon {
		font-size: 1.6vw;
		border-radius: 1.0vw;
	}
	.ts_5th h2 {
		font-size: 2.6vw;
	}
	.ts_5th h2 span {
		font-size: 2.2vw;
	}
	.support_col {
		width: 70%;
	}
	.circle2_inner .circle_box2 p {
		font-size: 1.6vw;
	}
	
	
	
	
}


@media screen and (max-width: 1024px) {
	.ts_1st p {
		left: 4.2%;
		font-size: 3.1vw;
	}
	.ts_2nd .atten {
		font-size: 1.25vw;
	}
	.price_box {
		width: 55%;
	}
	.p_box_left h2 {
		font-size: 1.8vw;
	}
	.p_box_left p {
		font-size: 1.8vw;
	}
	.p_box_right p {
		font-size: 1.8vw;
	}
	.p_box_right p span {
		font-size: 3.7vw;
	}
	.op_inner {
		width: 53%;
	}
	
}


@media screen and (max-width: 768px) {
	.topSection h2 {
		padding: 0 8%;
		font-size: 3.0vw;
	}
	.ts_1st {
		width: 100%;
		padding: 0;
		position: relative;
		box-sizing: border-box;
		background: url(/wp-content/uploads/2025/10/fvimg_sp.jpg) center center no-repeat;
		background-size: cover;
		padding-top: 104.16%;
	}
	.ts_1st p {
		width: 82%;
		top: 6%;
		left: 8%;
		font-size: 4.6vw;
		line-height: 1.9;
		text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8), -1px 1px 2px rgba(255, 255, 255, 0.8), -1px -1px 2px rgba(255, 255, 255, 0.8), 1px -1px 2px rgba(255, 255, 255, 0.8);
		box-sizing: border-box;
	}
	.ts_2nd {
		padding: 8% 0;
	}
	.ts_2nd h2 img {
		width: 35%;
		padding: 0 2% 0 0;
		vertical-align: -20%;
	}
	.reason_col {
		width: 72%;
		margin: 0 auto;
	}
	.circle {
		width: 45%;
		margin-top: 6%;
	}
	.circle_inner .circle_box p {
		font-size: 2.5vw;
	}
	.circle_inner .circle_box p span {
		font-size: 145%;
	}
	.ts_2nd .atten {
		margin: 3.5% auto 0;
		font-size: 2.05vw;
	}
	.ts_2nd .atten span {
		padding: 0 1.2% 0 0;
	}
	.price_box {
		width: 67%;
		padding: 3% 2.5% 3% 3.5%;
	}
	.p_box_left h2 {
		padding: 0;
		font-size: 2.4vw;
	}
	.p_box_left p {
		font-size: 2.4vw;
	}
	.p_box_right p {
		font-size: 2.4vw;
	}
	.p_box_right p span {
		font-size: 4.3vw;
	}
	.operator {
		padding: 8% 0;
	}
	.op_inner {
		width: 74%;
	}
	.op_inner .opi_left {
		width: 72%;
		margin: 0 2% 0 0;
	}
	.op_inner .opi_left h2 {
		margin: 0 auto 4%;
		font-size: 3.3vw;
	}
	.op_inner img {
		width: 26%;
	}
	.btn_op {
		font-size: 2.6vw;
	}
	.ts_3rd {
		padding: 8% 0 9%;
	}
	.voice_inner {
		width: 72%;
		margin: 0 auto;
		display: block;
	}
	.voice_box {
		width: 100%;
		margin: 6% 0 0;
		padding: 4%;
		border-radius: 1.2vw;
	}
	.voice_inner .end {
		margin: 6% 0 0;
	}
	.voice_box h3 {
		font-size: 2.3vw;
	}
	.voice_box .txt {
		aspect-ratio: auto;
		margin: 1% 0 3% 0;
		padding: 2% 0;
	}
	.voice_box .txt p {
		font-size: 2.15vw;
	}
	.voice_box p {
		padding: 0 1%;
		font-size: 2.05vw;
	}
	.voice_box p span {
		font-size: 2.15vw;
	}
	.ts_4th {
		padding: 8% 0 5.5%;
	}
	.cp_head .sarani {
		font-size: 3.3vw;
	}
	.cp_head .sarani::before,
	.cp_head .sarani::after {
		width: 4%;
	}
	.cp_head .sarani::before {
		margin-right: 2%;
	}
	.cp_head .sarani::after {
		margin-left: 1.5%;
	}
	.cp_head p {
		font-size: 2.8vw;
	}
	.ts_4th h2 {
		font-size: 3.9vw;
	}
	.ts_4th p {
		font-size: 2.8vw;
	}
	.ts_4th p .number {
		font-size: 7.1vw;
	}
	.ts_4th p span {
		font-size: 5.1vw;
	}
	.ts_5th {
		padding: 8% 0 28%;
	}
	.fuan {
		width: 75%;
	}
	.balloon {
		font-size: 2.5vw;
	}
	.ts_5th h2 {
		margin: 3% auto 0;
		padding: 0;
		font-size: 3.5vw;
	}
	.ts_5th h2 span {
		font-size: 3.1vw;
	}
	.support_col {
		width: 90%;
		margin: 4% auto 0;
	}
	.circle2 {
		width: 31%;
	}
	.circle2_inner .circle_box2 p {
		font-size: 2.4vw;
		letter-spacing: 0.06em;
	}
	
	
}


@media screen and (max-width: 580px) {
	.topSection h2 {
		font-size: 3.6vw;
	}
	.ts_1st p {
		top: 5%;
		left: 7%;
		font-size: 5.2vw;
		line-height: 1.8;
	}
	.ts_2nd h2 img {
		width: 42%;
	}
	.reason_col {
		width: 82%;
	}
	.circle {
		width: 46%;
	}
	.circle_inner .circle_box p {
		font-size: 3.1vw;
	}
	.ts_2nd .atten {
		margin: 4% auto 0;
		font-size: 2.65vw;
	}
	.price_box {
		width: 80%;
		padding: 3% 2.3% 3% 3.5%;
	}
	.p_box_left h2 {
		padding: 0;
		font-size: 3.0vw;
	}
	.p_box_left p {
		font-size: 3.0vw;
	}
	.p_box_right p {
		font-size: 3.0vw;
	}
	.p_box_right p span {
		font-size: 4.9vw;
	}
	.op_inner {
		width: 90%;
	}
	.op_inner .opi_left h2 {
		font-size: 3.9vw;
	}
	.voice_inner {
		width: 82%;
	}
	.voice_box {
		border-radius: 1.5vw;
	}
	.voice_box h3 {
		font-size: 3.1vw;
	}
	.voice_box .txt p {
		font-size: 2.95vw;
	}
	.voice_box p {
		padding: 0 1%;
		font-size: 2.85vw;
	}
	.voice_box p span {
		font-size: 2.95vw;
	}
	.cp_head .sarani {
		font-size: 3.9vw;
	}
	.cp_head .sarani::before,
	.cp_head .sarani::after {
		width: 4.5%;
	}
	.cp_head .sarani::before {
		margin-right: 1.8%;
	}
	.cp_head .sarani::after {
		margin-left: 1%;
	}
	.cp_head p {
		font-size: 3.4vw;
	}
	.ts_4th h2 {
		font-size: 4.7vw;
	}
	.ts_4th p {
		font-size: 3.4vw;
	}
	.ts_4th p .number {
		font-size: 7.9vw;
	}
	.ts_4th p span {
		font-size: 5.9vw;
	}
	.ts_5th {
		padding: 8% 0 32%;
	}
	.fuan {
		width: 90%;
	}
	.fuan img {
		width: 28%;
		margin: 0 5% 0 0;
	}
	.balloon {
		width: 67%;
		padding: 2% 0 2% 1%;
		font-size: 3.1vw;
	}
	.ts_5th h2 {
		font-size: 4.1vw;
	}
	.ts_5th h2 span {
		font-size: 3.7vw;
	}
	.support_col {
		width: 95%;
	}
	.circle2_inner .circle_box2 p {
		font-size: 2.6vw;
		letter-spacing: 0.04em;
	}
	
	
	
	
}


@media screen and (max-width: 390px) {
	.topSection h2 {
		font-size: 4.2vw;
	}
	.ts_1st p {
		top: 5%;
		left: 9%;
		font-size: 5.6vw;
		line-height: 1.7;
	}
	.ts_2nd h2 img {
		width: 42%;
	}
	.reason_col {
		width: 90%;
	}
	.circle {
		width: 47%;
	}
	.circle_inner .circle_box p {
		font-size: 3.6vw;
	}
	.ts_2nd .atten {
		font-size: 3.1vw;
		letter-spacing: 0.06em;
	}
	.price_box {
		width: 92%;
		padding: 3% 1.2% 3% 3.5%;
	}
	.p_box_left h2 {
		padding: 0;
		font-size: 3.5vw;
	}
	.p_box_left p {
		font-size: 3.5vw;
	}
	.p_box_right p {
		font-size: 3.5vw;
	}
	.p_box_right p span {
		padding: 0 2% 0 3%;
		font-size: 5.4vw;
	}
	.op_inner .opi_left {
		width: 74%;
	}
	.op_inner img {
		width: 24%;
	}
	.voice_inner {
		width: 90%;
	}
	.voice_box {
		border-radius: 2.0vw;
	}
	.voice_box h3 {
		font-size: 3.6vw;
	}
	.voice_box .txt p {
		font-size: 3.45vw;
	}
	.voice_box p {
		padding: 0 1%;
		font-size: 3.35vw;
	}
	.voice_box p span {
		font-size: 3.45vw;
	}
	.cp_head .sarani {
		font-size: 4.2vw;
	}
	.cp_head p {
		font-size: 3.7vw;
	}
	.ts_4th h2 {
		font-size: 5.2vw;
	}
	.ts_4th p {
		font-size: 3.7vw;
		letter-spacing: 0.06em;
	}
	.ts_4th p .number {
		font-size: 8.4vw;
	}
	.ts_4th p span {
		font-size: 6.5vw;
	}
	
	
}