@charset "utf-8";

/* =========================================================
 TOP
========================================================= */

/* --------------------------------
 MV
-------------------------------- */

section.top-mv {
	margin-top: 12vh;
}

#top-page .top-mv {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #f3f3f1;
}

#top-page .top-mv-inner {
	position: relative;
	width: 100%;
	height: 43.5vw;
	overflow: hidden;
}

#top-page .top-mv-img {
	position: absolute;
	    right: -2vw;
	bottom: 0;
	z-index: 1;
	display: block;
	    width: 65%;
	max-width: none;
	height: auto;
	margin: 0;
	object-fit: contain;
}

#top-page .top-mv-copy {
	position: absolute;
	top: 50%;
	    left: 3.5vw;
	z-index: 2;
	width: 36vw;
	transform: translateY(-50%);
}

#top-page .top-mv-lead {
	margin-bottom: .5vw;
	padding: 0;
	color: #005bbb;
	    font-size: 1.7vw;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .1vw;
	white-space: nowrap;
	transform: skewX(-6deg);
}

#top-page .top-mv-lead .comma {
	letter-spacing: -.5vw;
}

#top-page .top-mv-heading {
	margin: 0;
	padding: 0;
	color: #005bbb;
	font-weight: 700;
	line-height: 1;
}

#top-page .top-mv-title {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 8vw;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .1vw;
	white-space: nowrap;
	transform: skewX(-6deg);
}

#top-page .top-mv-sub {
	display: block;
	    margin-top: 1.5vw;
	padding: 0;
	font-size: 3.4vw;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: .1vw;
	white-space: nowrap;
	transform: skewX(-6deg);
}

#top-page .top-mv-label {
	display: inline-block;
	margin-top: 2vw;
	padding: 1vw 2.5vw;
	border-radius: 10vw;
	background: #005bbb;
	color: #fff;
	font-size: 1.9vw;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .1vw;
	white-space: nowrap;
}

/* =========================================================
 SP
========================================================= */

@media only screen and (max-width: 743px) {

	/* --------------------------------
	 MV
	-------------------------------- */

	    #top-page .top-mv-inner {
               height: 125vw;
    }

	#top-page .top-mv-copy {
		top: 8vw;
		left: 4vw;
		width: 92%;
		transform: none;
	}

	    #top-page .top-mv-lead {
        margin-bottom: 1.5vw;
        font-size: 4vw;
        text-align: center;
			        position: relative;
        left: 2vw;
    }
	
	#top-page .top-mv-heading {
		text-align: center;}

	    #top-page .top-mv-title {
        font-size: 18vw;
    }
	#top-page .top-mv-sub {
		        font-size: 8vw;
        margin-top: 4vw;
	}

	#top-page .top-mv-label {
		        padding: 1.5vw 10vw 2vw;
        font-size: 4vw;
        text-align: center;
        display: block;
        width: fit-content;
        margin: 4vw auto 0;
	}

	#top-page .top-mv-img {
		right: 0;
		width: 100%;
	}

}


/* --------------------------------
 pro
-------------------------------- */

#top-page .pro {
	width: 100%;
	overflow: hidden;
	padding: 1.5vw 0 2vw;
	background: #005bbb;
}

#top-page .pro-title {
	margin: 0;
	margin-bottom: 1.5vw;
	color: #fff;
	font-size: 2vw;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

#top-page .pro-row {
	width: 100%;
	overflow: hidden;
}

#top-page .pro-row + .pro-row {
	margin-top: 1vw;
}

#top-page .pro-track {
	display: flex;
	width: max-content;
	will-change: transform;
}

#top-page .pro-set {
	display: flex;
	flex-shrink: 0;
	gap: 1vw;
	padding-right: 1vw;
}

#top-page .pro-item {
	flex-shrink: 0;
	width: 10.5vw;
	background: #fff;
}

#top-page .pro-item img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

#top-page .pro-role {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 3.5vw;
	margin: 0;
	padding: .5vw 1vw;
	box-sizing: border-box;
	color: #000;
	font-size: .95vw;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
}

#top-page .pro-role span {
	white-space: nowrap;
}

#top-page .pro-role-long {
	font-size: .8vw;
}

#top-page .pro-row-left .pro-track {
	animation: pro-left 55s linear infinite;
}

#top-page .pro-row-right .pro-track {
	animation: pro-right 55s linear infinite;
}

@keyframes pro-left {

	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}

}

@keyframes pro-right {

	from {
		transform: translateX(-50%);
	}

	to {
		transform: translateX(0);
	}

}


/* =========================================================
 SP
========================================================= */

@media only screen and (max-width: 743px) {

	/* --------------------------------
	 pro
	-------------------------------- */

	#top-page .pro {
		padding: 4vw 0 5vw;
	}

	#top-page .pro-title {
		margin-bottom: 3vw;
		font-size: 4.5vw;
	}

	#top-page .pro-row + .pro-row {
		margin-top: 2vw;
	}

	#top-page .pro-set {
		gap: 2vw;
		padding-right: 2vw;
	}

	#top-page .pro-item {
		width: 23vw;
	}

	#top-page .pro-role {
		min-height: 7vw;
		padding: 1vw 1.5vw;
		font-size: 2.5vw;
	}

	#top-page .pro-row-left .pro-track,
	#top-page .pro-row-right .pro-track {
		animation-duration: 45s;
	}

}

/* --------------------------------
 message
-------------------------------- */

#top-page .message {
	position: relative;
	overflow: hidden;
	padding-top: 7vw;
	padding-bottom: 5vw;
	background: #fff;
}

#top-page .message::before {
    position: absolute;
    top: -1.5vw;
    left: -.5vw;
    z-index: 0;
    content: "MESSAGE";
    color: rgba(0, 90, 170, .16);
    font-size: 10vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .2vw;
    pointer-events: none;
    font-family: "Rethink Sans", sans-serif;
}

#top-page .message .cols {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 5vw;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0;
}

#top-page .message .left {
    flex-basis: 44% !important;
    text-align: center;
}

#top-page .message figure img {
    position: relative;
    left: 2vw;
	    width: 81%;
}

#top-page .message .right {
	    flex-basis: 51% !important;
    position: relative;
    left: -2vw;
}

#top-page .message .img {
	margin-bottom: 0;
}

#top-page .message .img img {
	display: block;
	width: 100%;
	height: auto;
}

#top-page .message .right h2 {
	    margin-top: 0;
    margin-bottom: 1.5vw;
    color: #005bbb;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

#top-page .message .text {
	text-align: center;
}

#top-page .message .text p {
	margin-top: 0;
	color: #111;
	    font-size: 1.15vw;
	font-weight: 600;
	line-height: 1.9;
}

#top-page .message .text p:not(:last-child) {
	    margin-bottom: 1vw;
}

#top-page .message .text p:last-child {
	margin-bottom: 0;
}

#top-page .message .btns {
       width: 85%;
        margin: 2vw auto 0;
}

#top-page .message .btns > .wp-block-group__inner-container {
	display: flex;
	gap: 1.5vw;
}

#top-page .message .btns .wp-block-buttons {
	width: 50%;
}

#top-page .message .btns .wp-block-button {
	width: 100%;
}

#top-page .message .btns .wp-block-button__link {
	display: block;
	width: 100%;
	padding: 1vw 2vw;
	box-sizing: border-box;
	border-radius: 10vw;
	background: #005bbb;
	color: #fff;
	    font-size: 1.1vw;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	letter-spacing: .1vw;
}


/* =========================================================
 SP
========================================================= */

@media only screen and (max-width: 743px) {

	/* --------------------------------
	 message
	-------------------------------- */

	#top-page .message {
		padding-top: 12vw;
		padding-bottom: 8vw;
	}

	#top-page .message::before {
		top: -1.5vw;
		left: -1.5vw;
		font-size: 20vw;
	}

	#top-page .message .cols {
		display: block;
		width: 92%;
	}

	#top-page .message .left,
	#top-page .message .right {
		width: 100% !important;
		flex-basis: auto !important;
	}

	#top-page .message .left {
		margin-bottom: 6vw;
	}

	#top-page .message .img {
		width: 85%;
		margin-left: auto;
		margin-right: auto;
	}

	#top-page .message .right h2 {
		margin-bottom: 4vw;
		font-size: 6vw;
	}

	#top-page .message .text p {
		font-size: 4vw;
	}

	#top-page .message .text p:not(:last-child) {
		margin-bottom: 4vw;
	}

	#top-page .message .btns {
		display: block;
		margin-top: 6vw;
	}

	#top-page .message .btns .wp-block-button {
		width: 100%;
	}

	#top-page .message .btns .wp-block-button + .wp-block-button {
		margin-top: 2vw;
	}

	#top-page .message .btns .wp-block-button__link {
		padding: 3vw 4vw;
		font-size: 4.5vw;
	}

}


/* --------------------------------
 support
-------------------------------- */

#top-page .support {
	padding-top: 4.5vw;
	padding-bottom: 4.5vw;
	background: #005bbb;
	margin-bottom: 0 !important;
}

#top-page .support .cols {
	display: flex;
	align-items: center;
	gap: 4.5vw;
	width: 88%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0;
}

#top-page .support .left {
	flex-basis: 48% !important;
}

#top-page .support .right {
	position: relative;
	left: -2vw;
	flex-basis: 46% !important;
}

#top-page .support .left h2 {
	    margin-top: 0;
    margin-bottom: 1.5vw;
    color: #fff;
    font-size: 2.3vw;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
}

#top-page .support .text {
	width: 90%;
	margin-left: auto;
}

#top-page .support .text p {
	margin-top: 0;
	color: #fff;
	font-size: 1.1vw;
	font-weight: 600;
	line-height: 1.9;
}

#top-page .support .text p:not(:last-child) {
	margin-bottom: 2vw;
}

#top-page .support .text p:last-child {
	margin-bottom: 0;
}

#top-page .support .right img {
    max-width: 90%;
}

#top-page .support .img {
	position: relative;
	left: -2vw;
	margin-bottom: 0;
	padding: 1.5vw;
	background: #fff;
}

#top-page .support .img img {
	display: block;
	width: 100%;
	height: auto;
}

@media only screen and (max-width: 743px) {
	/* --------------------------------
 support
-------------------------------- */

#top-page .support {
	padding-top: 8vw;
	padding-bottom: 8vw;
}

#top-page .support .cols {
	display: block;
	width: 92%;
}

#top-page .support .left,
#top-page .support .right {
	width: 100% !important;
	flex-basis: auto !important;
}

#top-page .support .left h2 {
	margin-bottom: 5vw;
	font-size: 6vw;
	line-height: 1.6;
}

#top-page .support .text p {
	font-size: 4vw;
}

#top-page .support .text p:not(:last-child) {
	margin-bottom: 4vw;
}

#top-page .support .right {
	margin-top: 6vw;
}

#top-page .support .img {
	padding: 3vw;
}
}


/* --------------------------------
 service
-------------------------------- */

body #top-page .support .wp-block-columns.cols {
	margin-bottom: 0 !important;
}

#top-page .service {
	position: relative;
	overflow: hidden;
	padding-top: 4.5vw;
	padding-bottom: 4.5vw;
	background: #fff;
}

#top-page .service::before {
	position: absolute;
	    top: -1.4vw;
	right: -1vw;
	z-index: 0;
	content: "SERVICE";
	color: rgba(0, 90, 170, .16);
	font-family: "Rethink Sans", sans-serif;
	font-size: 10vw;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .2vw;
	pointer-events: none;
}

#top-page .service::after {
	position: absolute;
	top: 26.5vw;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	content: "";
	background: #005bbb;
	    border-radius: 0 0 0 5vw;
}

#top-page .service > .wp-block-group__inner-container {
	position: relative;
	z-index: 1;
	width: 94%;
	margin-left: auto;
	margin-right: auto;
}

#top-page .service h2 {
	margin-top: 0;
	margin-bottom: 1.5vw;
	color: #005bbb;
	font-size: 3.4vw;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .1vw;
}

#top-page .service .lead {
	margin-top: 0;
	margin-bottom: 4vw;
	color: #111;
	font-size: 1.2vw;
	font-weight: 600;
	line-height: 1.8;
}

#top-page .service .cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5vw;
	margin-top: 0;
	margin-bottom: 0 !important;
}

#top-page .service .card {
	min-width: 0;
	overflow: hidden;
	background: #f5f5f5;
}

#top-page .service .card figure {
	margin-top: 0;
	margin-bottom: 0;
}

#top-page .service .card figure a {
	display: block;
}

#top-page .service .card figure img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

#top-page .service .name {
	display: flex;
	align-items: center;
	justify-content: center;
	    height: 3vw;
	margin-top: 0;
	margin-bottom: 0;
	padding-right: 1vw;
	padding-left: 1vw;
	box-sizing: border-box;
	color: #111;
	font-size: 1.2vw;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	    background: #F5F5F5;
}

#top-page .service .name a {
	color: inherit;
	text-decoration: none;
}

#top-page .service .more {
	width: 28vw;
	margin-top: 2.5vw;
	margin-left: auto;
	margin-right: auto;
}

#top-page .service .more .wp-block-button {
	width: 100%;
}

#top-page .service .more .wp-block-button__link {
	display: block;
	width: 100%;
	padding: 1vw 2vw;
	box-sizing: border-box;
	border-radius: 10vw;
	background: #fff;
	color: #111;
	font-size: 1.1vw;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .1vw;
	text-align: center;
}


/* =========================================================
 SP
========================================================= */

@media only screen and (max-width: 743px) {

	/* --------------------------------
	 service
	-------------------------------- */

	#top-page .service {
		padding-top: 10vw;
		padding-bottom: 10vw;
	}

	#top-page .service::before {
		top: 0;
		right: -2vw;
		font-size: 20vw;
	}

	#top-page .service::after {
		top: 61vw;
		border-radius: 0 0 0 6vw;
	}

	#top-page .service > .wp-block-group__inner-container {
		width: 92%;
	}

	#top-page .service h2 {
		margin-bottom: 3vw;
		font-size: 7vw;
	}

	#top-page .service .lead {
		margin-bottom: 6vw;
		font-size: 4vw;
	}

	#top-page .service .cards {
		grid-template-columns: repeat(2, 1fr);
		gap: 3vw 2vw;
	}

	#top-page .service .name {
		height: 10vw;
		padding-right: 2vw;
		padding-left: 2vw;
		font-size: 3.2vw;
	}

	#top-page .service .more {
		width: 75%;
		margin-top: 6vw;
	}

	#top-page .service .more .wp-block-button__link {
		padding: 3vw 4vw;
		font-size: 4vw;
	}

}

/* --------------------------------
 improve
-------------------------------- */

#top-page .improve {
	position: relative;
	overflow: hidden;
	padding-top: 4.5vw;
	padding-bottom: 4.5vw;
	background: #fff;
}

#top-page .improve::after {
	position: absolute;
	top: 30vw;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	content: "";
	background: #005bbb;
	border-radius: 0 0 0 5vw;
}

#top-page .improve > .wp-block-group__inner-container {
	position: relative;
	z-index: 1;
	width: 94%;
	margin-left: auto;
	margin-right: auto;
}

#top-page .improve .mark {
	    position: absolute;
    top: -2vw;
    right: 1.5vw;
    z-index: 0;
    width: 20vw;
    margin-bottom: 0;
}

#top-page .improve .mark img {
	display: block;
	width: 100%;
	height: auto;
}

#top-page .improve h2 {
	position: relative;
	z-index: 1;
	margin-top: 0;
	margin-bottom: 1.5vw;
	color: #005bbb;
	font-size: 3.4vw;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .1vw;
}

#top-page .improve .lead {
	position: relative;
	z-index: 1;
	margin-top: 0;
	margin-bottom: 4vw;
	color: #111;
	font-size: 1.2vw;
	font-weight: 600;
	line-height: 1.8;
}

#top-page .improve .cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5vw;
	margin-top: 0;
	margin-bottom: 0 !important;
	position: relative;
	z-index: 1;
}

#top-page .improve .card {
	min-width: 0;
	overflow: hidden;
	background: #f5f5f5;
}

#top-page .improve .card figure {
	margin-top: 0;
	margin-bottom: 0;
}

#top-page .improve .card figure img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

#top-page .improve .name {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 3vw;
	margin-top: 0;
	margin-bottom: 0;
	padding-right: 1vw;
	padding-left: 1vw;
	box-sizing: border-box;
	background: #f5f5f5;
	color: #111;
	font-size: 1.15vw;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
}

#top-page .improve .name a {
	color: inherit;
	text-decoration: none;
}

#top-page .improve .more {
	width: 28vw;
	margin-top: 2.5vw;
	margin-left: auto;
	margin-right: auto;
}

#top-page .improve .more .wp-block-button {
	width: 100%;
}

#top-page .improve .more .wp-block-button__link {
	display: block;
	width: 100%;
	padding-top: 1vw;
	padding-right: 2vw;
	padding-bottom: 1vw;
	padding-left: 2vw;
	box-sizing: border-box;
	border-radius: 10vw;
	background: #fff;
	color: #111;
	font-size: 1.1vw;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .1vw;
	text-align: center;
}

/* =========================================================
 SP
========================================================= */

@media only screen and (max-width: 743px) {

	/* --------------------------------
	 improve
	-------------------------------- */

	#top-page .improve {
		padding-top: 10vw;
		padding-bottom: 10vw;
	}

	#top-page .improve::after {
		top: 105vw;
		border-radius: 0 0 0 6vw;
	}

	#top-page .improve > .wp-block-group__inner-container {
		width: 92%;
	}

	#top-page .improve .mark {
		top: 5vw;
		right: -5vw;
		width: 45vw;
	}

	#top-page .improve h2 {
		margin-bottom: 3vw;
		font-size: 7vw;
	}

	#top-page .improve .lead {
		margin-bottom: 6vw;
		font-size: 4vw;
	}

	#top-page .improve .cards {
		grid-template-columns: repeat(2, 1fr);
		gap: 3vw 2vw;
	}

	#top-page .improve .name {
		height: 12vw;
		padding-right: 2vw;
		padding-left: 2vw;
		font-size: 3.2vw;
	}

	#top-page .improve .more {
		width: 75%;
		margin-top: 6vw;
	}

	#top-page .improve .more .wp-block-button__link {
		padding-top: 3vw;
		padding-right: 4vw;
		padding-bottom: 3vw;
		padding-left: 4vw;
		font-size: 4vw;
	}

}


/* --------------------------------
 case
-------------------------------- */

#top-page .case {
	position: relative;
	overflow: hidden;
	padding-top: 4.5vw;
	padding-bottom: 4.5vw;
	background: #fff;
}

#top-page .case::before {
	position: absolute;
	top: -1.5vw;
	right: -1vw;
	z-index: 0;
	content: "CASE";
	color: rgba(0, 90, 170, .16);
	font-family: "Rethink Sans", sans-serif;
	font-size: 10vw;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .2vw;
	pointer-events: none;
}

#top-page .case > .wp-block-group__inner-container {
	position: relative;
	z-index: 1;
	width: 97%;
	margin-left: auto;
	margin-right: auto;
}

#top-page .case h2 {
	margin-top: 0;
	margin-bottom: 4vw;
	color: #005bbb;
	font-size: 3.4vw;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .1vw;
}

body #top-page .case .wp-block-columns.cards {
	margin-bottom: 0 !important;
}

#top-page .case .cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5vw;
}

#top-page .case .card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid #bbb;
	background: #fff;
}

#top-page .case h3.company {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: .5vw;
	padding-right: 1vw;
	padding-bottom: .5vw;
	padding-left: 1vw;
	background: #171c61;
	color: #fff;
	font-size: 1.2vw;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}

#top-page .case .card figure {
	margin-top: 0;
	margin-bottom: 0;
}

#top-page .case .card figure img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

#top-page .case .meta {
	border-top: 1px solid #bbb;
	border-bottom: 1px solid #bbb;
}

#top-page .case .meta > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 40% 60%;
	    background: #F5F5F5;
}

#top-page .case .label,
#top-page .case .service-name {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: .5vw;
	padding-right: .5vw;
	padding-bottom: .5vw;
	padding-left: .5vw;
	box-sizing: border-box;
	color: #111;
	    font-size: 1vw;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
}

#top-page .case .label {
	border-right: 1px solid #bbb;
}

#top-page .case .text {
	    flex-grow: 1;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 1vw;
    padding-right: 1vw;
    padding-bottom: 1vw;
    padding-left: 1vw;
    color: #333;
    font-size: 1vw;
    font-weight: 500;
    line-height: 1.7;
}

#top-page .case .more {
	width: 28vw;
	margin-top: 3.5vw;
	margin-left: auto;
	margin-right: auto;
}

#top-page .case .more .wp-block-button {
	width: 100%;
}

#top-page .case .more .wp-block-button__link {
	display: block;
	width: 100%;
	padding-top: 1vw;
	padding-right: 2vw;
	padding-bottom: 1vw;
	padding-left: 2vw;
	box-sizing: border-box;
	border-radius: 10vw;
	background: #005bbb;
	color: #fff;
	font-size: 1.1vw;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .1vw;
	text-align: center;
}


/* =========================================================
 SP
========================================================= */

@media only screen and (max-width: 743px) {

	/* --------------------------------
	 case
	-------------------------------- */

	#top-page .case {
		padding-top: 10vw;
		padding-bottom: 10vw;
	}

	#top-page .case::before {
		top: -1vw;
		right: -2vw;
		font-size: 20vw;
	}

	#top-page .case > .wp-block-group__inner-container {
		width: 92%;
	}

	#top-page .case h2 {
		margin-bottom: 6vw;
		font-size: 7vw;
	}

	#top-page .case .cards {
		grid-template-columns: 1fr;
		gap: 5vw;
	}

	#top-page .case h3.company {
		padding-top: 2vw;
		padding-right: 2vw;
		padding-bottom: 2vw;
		padding-left: 2vw;
		font-size: 4.5vw;
	}

	#top-page .case .meta > .wp-block-group__inner-container {
		grid-template-columns: 40% 60%;
	}

	#top-page .case .label,
	#top-page .case .service-name {
		padding-top: 2vw;
		padding-right: 1.5vw;
		padding-bottom: 2vw;
		padding-left: 1.5vw;
		font-size: 3.5vw;
	}

	#top-page .case .text {
		padding-top: 3vw;
		padding-right: 3vw;
		padding-bottom: 3vw;
		padding-left: 3vw;
		font-size: 4vw;
	}

	#top-page .case .more {
		width: 75%;
		margin-top: 6vw;
	}

	#top-page .case .more .wp-block-button__link {
		padding-top: 3vw;
		padding-right: 4vw;
		padding-bottom: 3vw;
		padding-left: 4vw;
		font-size: 4.5vw;
	}

}


/* --------------------------------
 news
-------------------------------- */

#top-page .news {
	position: relative;
	overflow: hidden;
	padding-top: 4.5vw;
	padding-bottom: 4.5vw;
	background: #f5f5f5;
}

#top-page .news::before {
	position: absolute;
	top: -1.5vw;
	right: -1vw;
	z-index: 0;
	content: "NEWS";
	color: rgba(0, 90, 170, .16);
	font-family: "Rethink Sans", sans-serif;
	font-size: 10vw;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .2vw;
	pointer-events: none;
}

#top-page .news > .wp-block-group__inner-container {
	position: relative;
	z-index: 1;
	width: 96%;
	margin-left: auto;
	margin-right: auto;
}

#top-page .news h2 {
	margin-top: 0;
	margin-bottom: 4vw;
	color: #005bbb;
	font-size: 3.4vw;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .1vw;
}

#top-page .news .news-list {
	margin-bottom: 0;
}

#top-page .news .news-list .wp-block-post-template {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5vw;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}

#top-page .news .news-list .wp-block-post {
	flex: 0 0 calc((100% - 4.5vw) / 4);
	min-width: 0;
	margin: 0;
	background: #fff;
}

#top-page .news .news-list .wp-block-post {
	min-width: 0;
	margin: 0;
	background: #fff;
}

#top-page .news .wp-block-post-featured-image {
	margin-top: 0;
	margin-bottom: 0;
}

#top-page .news .wp-block-post-featured-image a {
	display: block;
}

#top-page .news .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
#top-page .news .wp-block-post-date {
    margin-top: .5vw;
    margin-bottom: .5vw;
    padding-right: 1vw;
    padding-left: 1vw;
    font-size: .9vw;
    font-weight: 500;
    line-height: 1.4;
    text-align: right;
}

#top-page .news .wp-block-post-title {
	    margin-top: 0;
    margin-bottom: 0;
    padding-right: 1vw;
    padding-bottom: 1.5vw;
    padding-left: 1vw;
    font-size: 1vw;
    font-weight: 600;
    line-height: 1.6;
}

#top-page .news .wp-block-post-title a {
	color: #111;
	text-decoration: none;
}

#top-page .news .more {
	width: 28vw;
	margin-top: 3.5vw;
	margin-left: auto;
	margin-right: auto;
}

#top-page .news .more .wp-block-button {
	width: 100%;
}

#top-page .news .more .wp-block-button__link {
	display: block;
	width: 100%;
	padding: 1vw 2vw;
	box-sizing: border-box;
	border-radius: 10vw;
	background: #005bbb;
	color: #fff;
	font-size: 1.1vw;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .1vw;
	text-align: center;
}


/* =========================================================
 SP
========================================================= */

@media only screen and (max-width: 743px) {

	/* --------------------------------
	 news
	-------------------------------- */

	#top-page .news {
		padding-top: 10vw;
		padding-bottom: 10vw;
	}

	#top-page .news::before {
		top: -1vw;
		right: -2vw;
		font-size: 20vw;
	}

	#top-page .news > .wp-block-group__inner-container {
		width: 92%;
	}

	#top-page .news h2 {
		margin-bottom: 6vw;
		font-size: 7vw;
	}

	#top-page .news .news-list .wp-block-post-template {
		display: flex;
		gap: 3vw;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		padding-right: 10vw;
	}

	#top-page .news .news-list .wp-block-post-template::-webkit-scrollbar {
		display: none;
	}

	#top-page .news .news-list .wp-block-post {
		flex: 0 0 78vw;
		scroll-snap-align: start;
	}

	#top-page .news .wp-block-post-date {
		margin-top: 2vw;
		margin-bottom: 1vw;
		padding-right: 2vw;
		padding-left: 2vw;
		font-size: 3vw;
	}

	#top-page .news .wp-block-post-title {
		padding-right: 2vw;
		padding-bottom: 3vw;
		padding-left: 2vw;
		font-size: 4vw;
	}

	#top-page .news .more {
		width: 75%;
		margin-top: 6vw;
	}

	#top-page .news .more .wp-block-button__link {
		padding: 3vw 4vw;
		font-size: 4.5vw;
	}

}

/* --------------------------------
 CTA
-------------------------------- */

.cta {
	position: relative;
	overflow: hidden;
	min-height: 42vw !important;
	padding-top: 4.5vw;
	padding-bottom: 4.5vw;
	box-sizing: border-box;
	background-image:
		linear-gradient(
			rgba(0, 91, 187, .88),
			rgba(0, 91, 187, .88)
		),
		url("https://hp2.veronica9.com/wp-content/uploads/2026/08/pixta_66101070.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.cta .wp-block-cover__background,
.cta .wp-block-cover__image-background {
	display: none !important;
}

.cta::after {
	position: absolute;
	top: 50%;
	left: 2.5vw;
	z-index: 2;
	content: "CONTACT";
	color: #fff;
	font-family: "Rethink Sans", sans-serif;
	font-size: 7vw;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .3vw;
	white-space: nowrap;
	transform: translate(-50%, -50%) rotate(90deg);
	transform-origin: center center;
	pointer-events: none;
}

.cta > .wp-block-cover__inner-container {
	position: relative;
	z-index: 3;
	width: 78% !important;
	max-width: none !important;
	margin-left: auto;
	margin-right: auto;
}

.cta h2 {
	margin-top: 0;
	margin-bottom: 2.5vw;
	color: #fff;
	font-size: 3vw;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .1vw;
	text-align: center;
}

.cta p {
	margin-top: 0;
	color: #fff;
	font-size: 1.2vw;
	font-weight: 600;
	line-height: 1.9;
	text-align: center;
}

.cta p:not(:last-child) {
	margin-bottom: 2vw;
}

.cta p:last-child {
	margin-bottom: 0;
}

.cta-btns {
	margin-top: 3vw;
}

.cta-btns .wp-block-group__inner-container {
	display: flex;
	justify-content: space-between;
	width: 50%;
	margin: 0 auto;
}

.cta-btns .wp-block-buttons {
	width: 48%;
	margin-bottom: 0 !important;
}

.cta-btns .wp-block-button {
	width: 100%;
}

.cta-btns .wp-block-button__link {
	display: block;
	width: 100%;
	padding: 1vw 2vw;
	box-sizing: border-box;
	border-radius: 10vw;
	background: #fff;
	color: #111;
	font-size: 1.2vw;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .1vw;
	text-align: center;
	white-space: nowrap;
}

.cta-btns .line .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5vw;
	background: #06c755;
	color: #fff;
}

.cta-btns .line .wp-block-button__link::before {
	display: block;
	flex-shrink: 0;
	content: "";
	width: 1.5vw;
	height: 1.5vw;
	background-image: url("https://tnpartners.jp/wp-content/uploads/2024/09/line-icon-w.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}


/* =========================================================
 SP
========================================================= */

@media only screen and (max-width: 743px) {

	/* --------------------------------
	 CTA
	-------------------------------- */

	.cta {
		min-height: 0 !important;
		padding-top: 12vw;
		padding-bottom: 10vw;
	}

	.cta::after {
		top: 0;
		left: -2vw;
		font-size: 10vw;
		letter-spacing: -.5vw;
	}

	.cta > .wp-block-cover__inner-container {
		width: 86% !important;
	}

	.cta h2 {
		margin-bottom: 6vw;
		font-size: 7vw;
	}

	.cta p {
		font-size: 4vw;
	}

	.cta p:not(:last-child) {
		margin-bottom: 5vw;
	}

	.cta-btns {
		margin-top: 8vw;
	}

	.cta-btns .wp-block-group__inner-container {
		display: block;
		width: 85%;
	}

	.cta-btns .wp-block-buttons {
		width: 100%;
	}

	.cta-btns .wp-block-buttons + .wp-block-buttons {
		margin-top: 3vw;
	}

	.cta-btns .wp-block-button__link {
		padding: 3.5vw 4vw;
		font-size: 4.5vw;
	}

	.cta-btns .line .wp-block-button__link {
		gap: 2vw;
	}

	.cta-btns .line .wp-block-button__link::before {
		width: 5vw;
		height: 5vw;
	}

}


/*---------------------------------------------------------
フッター
---------------------------------------------------------*/

footer#footer {
    background: #fff;
}

.footer-inner {
    padding: 4vw 0;
    margin: 0 auto;
}

.footer_logo {
        width: 30%;
    margin: 0 auto;
}

.footer_logo a {
    text-decoration: none;
    color: #fff;
}


#footer .adress {
    text-align: center;
    margin-top: 2vw;
}

#footer .adress p {
    font-size: 1vw;
    font-weight: 500;
}

button.topBtn {
    display: -ms-grid;
    display: grid;
    place-content: center;
    width: 3.5vw;
    height: 3.5vw;
    cursor: pointer;
    position: fixed;
        bottom: 2.5vw;
    right: 1vw;
    z-index: 9999;
    transition: opacity .5s ease-out, visibility .5s ease-out;
    border: 0;
    padding: 0;
    background: 0 0;
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    color: inherit;
    opacity: 0;
    visibility: hidden;
}

button.topBtn::before {
    position: absolute;
    inset: 0;
    content: "";
    background: #9e9e9e;
    opacity: .5;
}

button.topBtn::after {
    width: 1vw;
    height: 1vw;
    content: "";
    border: solid #fff;
    border-width: 2.5px 2.5px 0 0;
    margin-top: .7vw;
    transform: rotate(-45deg);
}

button.topBtn.is-visible {
	opacity: 1;
	visibility: visible;
}

ul.footer-manu {
    display: flex;
    justify-content: space-between;
    width: 90%;
    margin: 3vh auto 0;
}

ul.footer-manu li {
    list-style: none;
    text-align: center;
    width: inherit;
    border-right: 1px solid #333;
}

ul.footer-manu li:last-of-type {
    border-right: none;
}

ul.footer-manu li a {
    color: #ffffff;
    text-decoration: none;
    font-size: 1rem;
    display: block;
    font-weight: 600;
}


#topBtn {
    font-family: "Cormorant Infant", serif;
    letter-spacing: 2px;
    position: fixed;
    right: 1.5vw;
    bottom: 2vh;
    height: 5vh;
    text-decoration: none;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    font-size: 90%;
    line-height: 1.8;
    color: #9E9E9E;
    padding: 0 0 0 20px;
    border-top: solid 1px #9E9E9E;
    z-index: 100;
}

#topBtn:before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0;
    width: 10px;
    border-top: solid 1px;
    -webkit-transform: rotate(35deg);
    -ms-transform: rotate(35deg);
    transform: rotate(35deg);
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
}

a#topBtn:hover {
    opacity: 0.6;
}
.copyright {
    background: #005bbb;
}

.copyright p {
    text-align: center;
    font-weight: 400;
    font-size: .9vw;
    color: #ffffff;
}

/* =========================================================
   subsidy-support LP
========================================================= */

/* --------------------------------
   common
-------------------------------- */

main#subsidy-support .pro-wrap {
	padding: 1.5vw 3vw;}

.has-vivid-red-color {
    font-style: normal;
}

@media screen and (min-width: 64rem) and (max-width: 96rem) {

    .site-title-wrap {
        width: 25%;
        flex-shrink: 0;
    }

    nav#g-nav {
        width: 75%;
    }

    nav ul li a {
            padding: 0 1.5vw;
                font-size: 1.05vw;
        letter-spacing: .08em;
        white-space: nowrap;
    }

    nav ul li.blog a {
        padding: 0 1.2vw 0 .8vw;
    }

    nav ul li.contact {
        width: 18%;
        flex-shrink: 0;
    }

    nav ul li.contact a {
                font-size: 1.05vw;
    }
}

/* --------------------------------
   MV
-------------------------------- */

.subsidy-support-mv {
    width: 100%;
    height: 88vh;
    margin-top: 12vh;
    padding: 0;
    position: relative;
    overflow: hidden;
    background: #fff;
    box-sizing: border-box;
}

.subsidy-support-mv *,
.subsidy-support-mv *::before,
.subsidy-support-mv *::after {
    box-sizing: border-box;
}

.subsidy-support-mv::before {
    content: "";
    width: 60%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: linear-gradient(90deg, #ffffff 0%, #ffffff 58%, rgb(255 255 255 / 85%) 78%, rgb(255 255 255 / 0%) 100%);
    pointer-events: none;
}

.subsidy-support-mv__visual {
    width: 58%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

.subsidy-support-mv__visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: -12% center;
}

.subsidy-support-mv__inner {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 3;
}

.subsidy-support-mv__content {
    width: 56%;
    height: 100%;
    padding: 2.5vw 0 2vw 3.5vw;
    position: relative;
    z-index: 4;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.subsidy-support-mv__badge {
        width: 42vw;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: .5vw;
    margin-bottom: 1vw;
    padding: 1vw 2vw;
    border: 3px solid #e1c371;
    border-radius: 50px;
    background: #fffdf7;
    color: #e91e63;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.subsidy-support-mv__badge-year {
    display: flex;
    align-items: center;
    color: #E91E63;
    font-size: 2.5vw;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.subsidy-support-mv__badge-number {
    display: inline-block;
    color: #e91e63;
    font-size: 2.8vw;
    font-weight: 800;
    line-height: 1;
    margin-right: .2vw;
}

.subsidy-support-mv__badge strong {
    display: inline-block;
    color: #E91E63;
    font-size: 2.8vw;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

.subsidy-support-mv__badge-tail {
    display: inline-block;
    color: #005bbb;
    font-size: 2vw;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.subsidy-support-mv__title {
    margin: 0;
    color: #005bbb;
    font-weight: 800;
    letter-spacing: 0;
}

.subsidy-support-mv__title-small {
    display: block;
    color: #005bbb;
    font-size: 2.3vw;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .1vw;
}

.subsidy-support-mv__title-main {
    display: block;
    color: #005bbb;
    font-size: 4vw;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .2vw;
    font-feature-settings: "palt";
}

span.knna {
       font-size: .87em;
}

.subsidy-support-mv__title-accent {
    color: #e91e63;
    font-size: 5vw;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 .5vw;
}

.subsidy-support-mv__title-zero {
   color: #e91e63;
    font-size: 5.5vw;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 0 .5vw;
    line-height: 1;
}

.subsidy-support-mv__title-yen {
    color: #e91e63;
    font-size: 3.3vw;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 .5vw 0;
}

.subsidy-support-mv__lead {
    margin: 1vw 0 0;
    color: #111;
    font-size: 1.4vw;
    line-height: 1.8;
    font-weight: 500;
}

.subsidy-support-mv__points {
    display: flex;
    gap: .8vw;
    margin-top: 1.2vw;
}

.subsidy-support-mv__point {
        width: 21vw;
    min-height: 4.5vw;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5vw 1vw;
    border-radius: .5vw;
    background: #F5F5F5;
    color: #005bbb;
}
#subsidy-support span.tax {
	    font-size: 1.2vw;
    font-weight: 600;
    font-feature-settings: "palt";
    position: relative;
    top: .3vw;
    margin-left: .2vw;
}

.subsidy-support-mv__point-label {
        color: #005bbb;
    font-size: 2vw;
    font-weight: 600;
    line-height: 1.5;
    margin-right: .5vw;
}

.subsidy-support-mv__point strong {
    color: #005bbb;
    font-size: 2vw;
    font-weight: 800;
    line-height: 1;
}

.subsidy-support-mv__point:nth-child(2) strong {
    color: #E91E63;
}

.subsidy-support-mv__cta-wrap {
    margin-top: 1.5vw;
}

.subsidy-support-mv__cta {
    width: 40.5vw;
    min-height: 4.5vw;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5vw 2vw;
    border-radius: 50px;
    background: linear-gradient(223deg, #ff3ba1, #ff1766);
    color: #fff;
    font-size: 2vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-decoration: none;
    transition: .5s;
}

.subsidy-support-mv__cta::before {
        content: "🔍";
    margin-right: .5vw;
    font-size: 2.5vw;
    line-height: 1;
    position: relative;
    top: -.1vw;
}

.subsidy-support-mv__cta::after {
        content: "›";
    margin-left: 1.5vw;
    font-size: 3.5vw;
    line-height: 1;
    position: relative;
    top: -.4vw;
}

.subsidy-support-mv__cta:hover {
    color: #fff;
    opacity: 0.8;
    transform: translateY(-.5vw);
}

.subsidy-support-mv__note {
        width: 40.5vw;
    margin: .5vw 0 0;
    color: #111;
    font-size: 1.2vw;
    line-height: 1.5;
    font-weight: 500;
    text-align: center;
}

@media screen and (min-width: 64rem) and (min-aspect-ratio: 2/1) {
    .subsidy-support-mv__content {
        transform: scale(.84);
        transform-origin: left center;
    }
}

/* --------------------------------
   fit
-------------------------------- */

#subsidy-support .fit h2 {
    background: #005bbb;
    padding: 1.5vw 0;
    font-size: 2.5vw;
    letter-spacing: .05vw;
    font-weight: 600;
    color: #fff;
    line-height: 1.7;
    text-align: center;
}

#subsidy-support .fit h3 {
    text-align: center;
    margin-top: 3vw;
    font-size: 2.2vw;
    font-weight: 700;
    color: #005bbb;
}

#subsidy-support .fit .cols {
    width: 70%;
        margin: 2.5vw auto;
    align-items: center !important;
}

#subsidy-support .fit .box.balloon {
    display: block;
    padding: 3vw 4vw;
}

#subsidy-support .fit .box h3 {
    font-size: 1.3vw;
    margin: 0 0 1vw;
    font-weight: 600;
    line-height: 1.6;
}

#subsidy-support .fit .box.balloon ul {
    margin: 0;
    padding-left: 1.5em;
}

#subsidy-support .fit .box.balloon li {
    font-size: 1.3vw;
    font-weight: 600;
    margin-left: 0;
    line-height: 1.8;
	    margin-bottom: .2vw;
}

#subsidy-support .fit p.bottom {
    text-align: center;
    font-size: 1.3vw;
    font-weight: 600;
}

#subsidy-support .fit {
    margin-bottom: 3vw;
}


/* --------------------------------
   problem
-------------------------------- */

#subsidy-support .problem {
    width: 70%;
    margin: 0 auto;
}
#subsidy-support .problem h2 {
    background: #005bbb;
    color: #fff;
    padding: .5vh 0;
    font-size: 2vw;
letter-spacing: .1vw;
text-align: center;}

#subsidy-support .problem .lead p {
    text-align: center;
    font-size: 1.4vw;
    font-weight: 600;
}

#subsidy-support .problem .lead {
    margin-bottom: 2vw;
}

#subsidy-support .problem .pro-wrap dt {
    font-size: 1.7vw;
    font-weight: 600;
}

#subsidy-support .problem .pro-wrap dt span.yellow {
    background: #FFEB3B;
    padding: .5vw 1vw;
    margin-right: 1vw;
    border-left: .3vw solid #005bbb;
}

#subsidy-support .problem .pro-wrap dd {
        font-size: 1.3vw;
    line-height: 1.8;
    margin-top: 2vw;
    margin-bottom: 3vw;
	font-weight: 500;
}

#subsidy-support .problem .bottom p {
    text-align: center;
    font-size: 1.3vw;
    font-weight: 500;
}

#subsidy-support .problem .bottom {
    margin-top: 3vw;
}

/* --------------------------------
   solve
-------------------------------- */

#subsidy-support .solve h2 {
    font-size: 2vw;
    font-weight: 600;
    color: #005bbb;
    text-align: center;
    margin-bottom: 3vw;
}

#subsidy-support .solve .text-wrap {
    background: #f5f5f5;
    display: flex;
    justify-content: center;
    align-items: center;
}

#subsidy-support .solve .text-wrap p {
    font-weight: 500;
    color: #005bbb;
        font-size: 1.5vw;
}

#subsidy-support .solve .wrap {
        padding: 3vw 3vw 3vw 5vw;
}

#subsidy-support .solve .img-wrap {
   text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

#subsidy-support .solve .img-wrap img {
        width: 65%;
}

#subsidy-support .solve .has-vivid-red-color {
    background: linear-gradient(transparent 60%, #ffeb3b 50%);
}

/* --------------------------------
   future
-------------------------------- */

#subsidy-support .future {
    width: 70%;
        margin: 5vw auto 3vw;
}

#subsidy-support .future h2 {
    background: #005bbb;
    color: #fff;
    padding: .5vw 0;
    font-size: 2vw;
    letter-spacing: .1vw;
    text-align: center;
}
#subsidy-support .future .lead {
    margin-bottom: 3vw;
    text-align: center;
}


#subsidy-support .future .lead p {
    font-size: 1.3vw;
    font-weight: 500;
}

#subsidy-support .future .pro-wrap dt {
    font-size: 1.7vw;
    font-weight: 600;
}

#subsidy-support .future .pro-wrap dt span.yellow {
    background: #FFEB3B;
    padding: .5vw 1vw;
    margin-right: 1vw;
    border-left: .3vw solid #005bbb;
}

#subsidy-support .future .pro-wrap dd {
        font-size: 1.3vw;
    line-height: 1.6;
    margin-top: 2vw;
    margin-bottom: 3vw;
	font-weight: 500;
}

/* --------------------------------
   service
-------------------------------- */

#subsidy-support .service h2 {
    background: #005bbb;
    padding: 1.5vw 0;
    font-size: 2.5vw;
    letter-spacing: .05vw;
    font-weight: 600;
    color: #fff;
    line-height: 1.7;
    text-align: center;
	    margin-top: 3vw;
}

.service p.title {
    text-align: center;
    font-size: 2.5vw;
    margin-top: 2vw;
    font-weight: 600;
    color: #005bbb;
    letter-spacing: .2vw;
}

#subsidy-support .service .lead {
    text-align: center;
    margin: 1vw auto;
}

#subsidy-support .service .lead p {
    font-size: 1.3vw;
    font-weight: 500;
}

.service figure.map {
    width: 70%;
    margin: 3vw auto 0;
}

#subsidy-support .service .cards {
    width: 95%;
    margin: 0 auto;
}

#subsidy-support .service .cards.one {
    margin: 3vw auto;
}

#subsidy-support .service .card {
    border: .2vw solid #005bbb;
    padding: 1.5vw;
    border-radius: .7vw;
    position: relative;
}

#subsidy-support .service .card h3 {
   font-size: 1.5vw;
    white-space: nowrap;
    font-weight: 600;
    color: #005bbb;
    margin-bottom: 1vw;
    background: #f5f5f5;
    text-align: left;
    padding: 1vw 0 1vw 5vw;
    line-height: 1;
}

#subsidy-support .service .card p {
    font-size: 1.1vw;
	    font-weight: 500;
}

#subsidy-support .service .number {
    position: absolute;
        top: 1vw;
    left: 1vw;
    background: #005bbb;
    color: #fff;
    width: 4vw;
    height: 4vw;
    border-radius: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2vw;
    font-weight: 700;
    line-height: 1;
}

#subsidy-support .service .scope {
    width: 95%;
    margin: 3vw auto;
    background: #f5f5f5;
    padding-bottom: 2.5vw;
}

#subsidy-support .service .scope h3 {
    background: #005bbb;
    color: #fff;
    padding: .5vw 0;
    font-size: 2vw;
    letter-spacing: .1vw;
    text-align: center;
    margin-bottom: 2vw;
}

#subsidy-support .service .scope-lead {
    width: 86%;
    margin: 0 auto 2vw;
    text-align: center;
}

#subsidy-support .service .scope-lead p {
    margin: 0 0 .7vw;
    color: #333;
    font-size: 1.2vw;
    font-weight: 500;
    line-height: 1.8;
}

#subsidy-support .service .scope-lead p:last-child {
    margin-bottom: 0;
}

#subsidy-support .service .scope-table {
    width: 90%;
    margin: 0 auto;
}

#subsidy-support .service .scope-table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
}

#subsidy-support .service .scope-table th,
#subsidy-support .service .scope-table td {
    border: .1vw solid #bdbdbd;
    padding: 1vw 1.2vw;
    vertical-align: middle;
}

#subsidy-support .service .scope-table th {
    background: #005bbb;
    color: #fff;
    font-size: 1.25vw;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    letter-spacing: .08vw;
}
#subsidy-support .service .scope-table td{
	font-size: 1.2vw;
    font-weight: 500;
}
#subsidy-support .service .scope-table th:first-child {
    width: 22%;
}

#subsidy-support .service .scope-table th:nth-child(2) {
    width: 39%;
}

#subsidy-support .service .scope-table th:nth-child(3) {
    width: 39%;
}

#subsidy-support .service .scope-table td:first-child {
    background: #eef3fb;
    color: #005bbb;
    font-size: 1.45vw;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    letter-spacing: .08vw;
}

#subsidy-support .service .scope-table ul {
    margin: 0;
    padding-left: 1.3em;
}

#subsidy-support .service .scope-table li {
    margin-bottom: .35vw;
    color: #333;
    font-size: 1.1vw;
    font-weight: 500;
    line-height: 1.65;
}

#subsidy-support .service .scope-table li:last-child {
    margin-bottom: 0;
}
/* --------------------------------
   reason
-------------------------------- */

#subsidy-support .reason h2 {
    background: #005bbb;
    padding: 1.5vw 0;
    font-size: 2.5vw;
    letter-spacing: .05vw;
    font-weight: 600;
    color: #fff;
    line-height: 1.7;
    text-align: center;
	    margin-top: 3vw;
}

#subsidy-support .reason .lead, #subsidy-support .reason p.text {
    text-align: center;
    margin: 2vw auto;
    font-size: 1.4vw;
    font-weight: 500;
}

#subsidy-support .reason .cards {
    margin: 3vw auto;
    width: 95%;
}

#subsidy-support .reason .card {
    border: .2vw solid #005bbb;
    padding: 1.5vw;
    border-radius: .7vw;
    position: relative;
}

#subsidy-support .reason .cards h3 {
        font-size: 1.5vw;
    font-weight: 600;
    color: #005bbb;
    margin-bottom: 1vw;
    background: #f5f5f5;
    padding: 1vw 0;
    line-height: 1.6;
    text-align: center;
    min-height: 2em;
    display: flex;
    justify-content: center;
    align-items: center;
}

#subsidy-support .reason .card ul {
    margin-left: 2em;
}

#subsidy-support .reason .card li {
    font-size: 1.2vw;
    font-weight: 500;
    margin-bottom: .7em;
}
#subsidy-support .reason .card li:last-of-type {
    margin-bottom: 0;
}

#subsidy-support .reason .number {
    position: absolute;
         top: -2vw;
    left: -.2vw;
    background: #005bbb;
    color: #fff;
    width: 4vw;
    height: 4vw;
    border-radius: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2vw;
    font-weight: 700;
    line-height: 1;
}

#subsidy-support .wp-block-button {
    width: 50%;
}

#subsidy-support .btn.service a {
    background: #e91e63;
    display: block;
    padding: .5vw;
    text-decoration: none;
    font-size: 1.4vw;
    font-weight: 500;
    color: #fff;
    letter-spacing: .2vw;
    position: relative;
    margin: 0 auto;
    box-sizing: border-box;
       width: 70%;
    border-radius: 0;
}

#subsidy-support .reason .btn a {
       background: #e91e63;
    display: block;
    padding: .5vw;
    text-decoration: none;
    font-size: 1.4vw;
    font-weight: 500;
    color: #fff;
    letter-spacing: .2vw;
    position: relative;
    margin: 0 auto;
    box-sizing: border-box;
        width: 70%;
	border-radius: 0;
}


#subsidy-support .reason .btn a::after, #subsidy-support .btn.service a::after, #subsidy-support .grant .btn a::after, #subsidy-support .price .btn a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3vw;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: .5em;
    height: .5em;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* --------------------------------
   result
-------------------------------- */

#subsidy-support .result {
    width: 100%;
    background: #f5f5f5;
    margin-top: 3vw;
    padding-bottom: 4vw;
    overflow: hidden;
}

#subsidy-support .result > .wp-block-group__inner-container {
    width: 90%;
    margin: 0 auto;
}

#subsidy-support .result h2 {
    width: 100vw;
    margin: 0 0 2.5vw calc(50% - 50vw);
    background: #005bbb;
    padding: 1.5vw 0;
    font-size: 2.5vw;
    letter-spacing: .05vw;
    font-weight: 600;
    color: #fff;
    line-height: 1.7;
    text-align: center;
}

#subsidy-support .result-lead {
    width: 80%;
    margin: 0 auto 3vw;
    text-align: center;
}

#subsidy-support .result-lead p {
    color: #333;
    font-size: 1.4vw;
    font-weight: 500;
}

#subsidy-support .result-lead p:last-child {
    margin-bottom: 0;
}

#subsidy-support .result-cards {
    width: 100%;
    gap: 2vw;
    margin: 0 auto 3vw;
    align-items: stretch !important;
}

#subsidy-support .result-card {
    background: #fff;
    border: .2vw solid #005bbb;
    border-radius: .7vw;
    padding: 1.5vw;
    text-align: center;
    box-sizing: border-box;
}

#subsidy-support .result-card h3 {
    background: #f5f5f5;
    color: #005bbb;
    font-size: 1.5vw;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .1vw;
    text-align: center;
    padding: .8vw 0;
    margin: 0 0 1vw;
}

#subsidy-support .result-num {
    margin: 0 0 1.2vw;
    padding-bottom: 1.2vw;
    border-bottom: .1vw solid #9E9E9E;
    color: #e91e63;
    font-weight: 800;
    line-height: 1;
    text-align: center;
}

#subsidy-support .result-num .num {
    font-size: 4.5vw;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}

#subsidy-support .result-num .unit {
    margin-left: .3vw;
    font-size: 2.2vw;
    font-weight: 800;
    line-height: 1;
    vertical-align: baseline;
}

#subsidy-support .result-caption {
    margin: 0;
    color: #333;
    font-size: 1.2vw;
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
}

#subsidy-support .result-detail {
    width: 100%;
    gap: 2vw;
    margin: 0 auto;
    align-items: stretch !important;
}

#subsidy-support .result-highlight {
    background: #005bbb;
    border-radius: .7vw;
    padding: 2vw;
    box-sizing: border-box;
}

#subsidy-support .result-highlight h3 {
    background: #fff;
    color: #005bbb;
    font-size: 1.5vw;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: .05vw;
    text-align: center;
    padding: .8vw 1vw;
    margin: 0 0 1.5vw;
}

#subsidy-support .result-highlight p {
    margin-bottom: .7em;
    color: #fff;
    font-size: 1.15vw;
    font-weight: 500;
    line-height: 1.8;
}

#subsidy-support .result-highlight p:last-child {
    margin-bottom: 0;
}

#subsidy-support .result-support {
    background: #fff;
    border: .2vw solid #005bbb;
    border-radius: .7vw;
    padding: 2vw;
    box-sizing: border-box;
}

#subsidy-support .result-support h3 {
    background: #f5f5f5;
    color: #005bbb;
    font-size: 1.5vw;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: .08vw;
    text-align: center;
    padding: .8vw 1vw;
    margin: 0 0 1.5vw;
}

#subsidy-support .result-support ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#subsidy-support .result-support li {
    position: relative;
    margin: 0 0 1vw;
    padding: 0 0 1vw 2.4vw;
    border-bottom: .1vw solid #ddd;
    color: #333;
    font-size: 1.15vw;
    font-weight: 500;
    line-height: 1.7;
}

#subsidy-support .result-support li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

#subsidy-support .result-support li::before {
    content: "✓";
    position: absolute;
    top: .1vw;
    left: 0;
    width: 1.5vw;
    height: 1.5vw;
    border-radius: 100vw;
    background: #e91e63;
    color: #fff;
    font-size: 1vw;
    font-weight: 700;
    line-height: 1.5vw;
    text-align: center;
}

#subsidy-support .result-note {
    width: 100%;
    margin: 2vw auto 0;
    color: #333;
    font-size: 1vw;
    font-weight: 500;
    line-height: 1.7;
    text-align: center;
}
/* --------------------------------
   case
-------------------------------- */

#subsidy-support .case {
    position: relative;
    background-image: url(https://tnpartners.jp/wp-content/uploads/2024/10/gs-back.jpg);
    background-size: cover;
}

#subsidy-support .case .wp-block-group__inner-container{
	width: 95%;
    padding: 3.5vw 0 5vw;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

#subsidy-support .case::after {
    width: 100%;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgb(23 28 97 / 80%);
}

#subsidy-support .case h2 {
    font-size: 2.3vw;
    margin-bottom: 2vw;
    letter-spacing: .5vw;
    color: #fff;
    text-align: center;
}


#subsidy-support .case .cards {
    align-items: stretch !important;
}

#subsidy-support .case .card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

#subsidy-support .case .card .wp-block-image {
    width: 100%;
    height: 14vw;
    margin: 0;
    overflow: hidden;
}

#subsidy-support .case .card .wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

#subsidy-support .case .card .wp-block-table {
    width: 100%;
    margin: 0;
}

#subsidy-support .case table {
    width: 100%;
    height: 12.6vw;
    table-layout: fixed;
    border-collapse: collapse;
    margin: 0;
}

#subsidy-support .case tr {
    height: 4.2vw;
}

#subsidy-support .case td {
    border: 1px solid #ccc;
    line-height: 1.5;
    vertical-align: middle;
}

#subsidy-support .case td:first-child {
    width: 17%;
    padding: .5vw 0;
    text-align: center;
    background: #f5f5f5;
    font-weight: 600;
    vertical-align: middle;
    font-size: 1vw;
}

#subsidy-support .case td:nth-child(2) {
    width: 34%;
    padding: .5vw .8vw;
    text-align: left;
    background: #fff;
    font-weight: 500;
    font-size: 1vw;
}

#subsidy-support .case :where(.wp-block-columns) {
    margin-bottom: 0 !important;
}

/* --------------------------------
   voice
-------------------------------- */

#subsidy-support .voice {
    margin: 3.5vw auto 5vw;
    width: 70%;
}


#subsidy-support .voice h2 {
        font-size: 2.3vw;
    margin-bottom: 2vw;
    letter-spacing: .5vw;
    color: #005bbb;
    text-align: center;
}

#subsidy-support .voice .cols:where(.wp-block-columns.is-layout-flex) {
    gap: 0;
}

#subsidy-support .voice .cols .right {
    width: 60%;
    background: #f5f5f5;
    padding: 0 3vw;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}

#subsidy-support .voice .cols .right p {
    font-size: 1.1vw;
}

#subsidy-support .voice .cols .info {
    border: 1px solid #333;
    padding: .5vh 0;
}

#subsidy-support .voice .cols .info {
    font-size: 1.2vw;
	text-align: center;
    font-weight: 500;
}

#subsidy-support .voice .cols:not(:first-of-type) {
    margin-top: 3.5vw;
}

#subsidy-support .voice .btn a {
    text-align: center;
    vertical-align: middle;
    display: block;
    padding: .5vw;
    text-decoration: none;
    font-size: 1.4vw;
    font-weight: 500;
    color: #fff;
    letter-spacing: .2vw;
    position: relative;
    margin: 0 auto;
    box-sizing: border-box;
    width: 100%;
    border-radius: 0;
}

/* --------------------------------
   grant
-------------------------------- */

#subsidy-support .grant {
    background: #f5f5f5;
}

#subsidy-support .grant .wp-block-group__inner-container{
	    width: 80%;
    padding: 3.5vw 0;
    margin: 0 auto;
}
#subsidy-support .grant h2 {
    font-size: 2.3vw;
    margin-bottom: 2vw;
    letter-spacing: .5vw;
    color: #005bbb;
	text-align: center;
}

#subsidy-support .grant p.txt {
    text-align: center;
    margin: 2vw auto;
    font-size: 1.3vw;
    font-weight: 500;
}

#subsidy-support .grant h3 {
    background: #005bbb;
    text-align: center;
    color: #fff;
    font-size: 1.4vw;
    padding: .5vh 0;
    letter-spacing: .1vw;
}

figure.wp-block-table.first table {
    min-height: 33.7vw;
}

#subsidy-support .grant td:first-child {
    padding: .5vw 0;
    font-weight: 500;
    background: #f5f5f5;
    width: 25%;
    vertical-align: middle;
    text-align: center;
	        font-size: 1vw;
}

#subsidy-support .grant td:nth-child(2) {
    padding: .5vw .5vw;
    line-height: 1.6;
    font-weight: 500;
    background: #fff;
    vertical-align: middle;
	        font-size: 1vw;
}

#subsidy-support .grant p.bottom {
    text-align: center;
    font-size: 1.3vw;
    font-weight: 500;
	    margin-bottom: 2vw;
}

#subsidy-support .grant .btn a{
	background: #e91e63;
    display: block;
    padding: .5vw;
    text-decoration: none;
    font-size: 1.4vw;
    font-weight: 500;
    color: #fff;
    letter-spacing: .2vw;
    position: relative;
    margin: 0 auto;
    box-sizing: border-box;
        width: 100%;
    border-radius: 0;
}

body .is-layout-flex:where(.wp-block-columns) {
    margin-bottom: 2vw;
}

/* --------------------------------
   price
-------------------------------- */

#subsidy-support .price h2 {
        background: #005bbb;
    padding: 1.5vw 0;
    font-size: 2.5vw;
    letter-spacing: .05vw;
    font-weight: 600;
    color: #fff;
    line-height: 1.7;
    text-align: center;
}

#subsidy-support .price .lead {
    text-align: center;
    font-size: 1.4vw;
    font-weight: 500;
    line-height: 1.8;
    margin: 2vw auto;
}

#subsidy-support .price .plans {
       width: 90%;
    margin: 3vw auto;
    align-items: stretch !important;
}

#subsidy-support .price .plan {
    background: #fff;
    border: .2vw solid #005bbb;
    padding: 1.5vw;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
	    border-radius: .7vw;
}

#subsidy-support .price .plan h3 {
        letter-spacing: .1vw;
    font-size: 1.5vw;
    font-weight: 600;
    color: #fff;
    margin-bottom: 1vw;
    background: #005bbb;
    padding: .5vw 0;
    text-align: center;
}

#subsidy-support .price .amount {
    text-align: center;
    color: #005bbb;
    font-weight: 800;
    line-height: 1;
    margin: 0 0 1.5vw;
}

#subsidy-support .price .amount .num {
    font-size: 7vw;
    font-weight: 800;
    line-height: 1;
}

#subsidy-support .price .amount .unit {
    font-size: 2.3vw;
    font-weight: 800;
    line-height: 1;
    margin-left: .3vw;
}

#subsidy-support .price .amount.pink .num,
#subsidy-support .price .amount.pink .unit {
    color: #E91E63;
}

#subsidy-support .price .amount.guarantee {
        display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .5vw;
    min-height: 5vw;
    margin: 0 0 1vw;
}

#subsidy-support .price .amount.guarantee .small {
    color: #005bbb;
    font-size: 2vw;
    font-weight: 800;
    line-height: 1.3;
}

#subsidy-support .price .amount.guarantee .main {
    color: #E91E63;
        font-size: 3vw;
    font-weight: 800;
    line-height: 1.3;
}

#subsidy-support .price .plan .txt {
        text-align: center;
    font-size: 1.3vw;
    font-weight: 500;
    line-height: 1.7;
}

#subsidy-support .price .included {
    background: #fff;
    border: .2vw solid #005bbb;
    padding: 2.5vw;
    margin: 3vw auto;
    width: 90%;
    border-radius: .7vw;
    box-sizing: border-box;
}

#subsidy-support .price .included h3 {
    margin-bottom: 2vw;
    font-size: 1.6vw;
    font-weight: 600;
    color: #005bbb;
    background: #f5f5f5;
    padding: .8vw 0;
    text-align: center;
    letter-spacing: .1vw;
}

#subsidy-support .price .items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1vw;
    margin: 0;
    padding: 0;
    list-style: none;
}

#subsidy-support .price .items li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 3.2vw;
    padding: .9vw 1.5vw .9vw 3.2vw;
    border: .1vw solid #005bbb;
    border-radius: .5vw;
    background: #fff;
    box-sizing: border-box;
    color: #005bbb;
    font-size: 1.25vw;
    font-weight: 600;
    line-height: 1.5;
}

#subsidy-support .price .items li::before {
    content: "✓";
    position: absolute;
    left: 1vw;
    top: 50%;
    transform: translateY(-50%);
    width: 1.6vw;
    height: 1.6vw;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #005bbb;
    color: #fff;
    font-size: .9vw;
    font-weight: 700;
    line-height: 1;
}

.price .price-notes {
    width: 90%;
    margin: 2vw auto 0;
    padding: 2vw 5vw;
    border-radius: .4vw;
    background: #f5f5f5;
}

.price .price-notes h3 {
         margin-bottom: 1vw;
    font-size: 1.6vw;
    font-weight: 600;
    color: #005bbb;
    background: #f5f5f5;
    padding: .8vw 0;
    text-align: center;
    letter-spacing: .1vw;
    border-bottom: .1vw solid #9E9E9E;
}


.price .price-note-block {
       margin-bottom: 1.4vw;
    margin-left: 1em;
}

.price .price-note-block.last {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.price .price-note-block .price-note-title {
    color: #e91e63;
    font-size: 1.3vw;
    font-weight: 600;
    letter-spacing: .1vw;
}

.price .price-note-block p {
        margin: 0 0 .45vw;
    color: #333;
    font-size: 1.2vw;
    font-weight: 500;
    line-height: 1.75;
}

.price .price-note-block p:last-child {
    margin-bottom: 0;
}

.price .price-note-block ul {
    margin: .5vw 0 0 1.2em;
    padding: 0;
}

.price .price-note-block li {
    margin-bottom: .35vw;
    color: #333;
    font-size: 1.2vw;
    font-weight: 500;
    line-height: 1.65;
}

.price .price-note-example {
    margin-top: .45vw;
    padding-left: 1em;
    font-size: 1.2vw;
    line-height: 1.7;
}

.price .btn {
    margin-top: 2.2vw;
}

.price .note {
    margin-top: 1vw;
}

#subsidy-support .price .banner {
    width: 50%;
    margin: 3vw auto 0;
}
#subsidy-support .price .btn a{
    background: #e91e63;
    display: block;
    padding: .5vw;
    text-decoration: none;
    font-size: 1.4vw;
    font-weight: 500;
    color: #fff;
    letter-spacing: .2vw;
    position: relative;
    margin: 0 auto;
    box-sizing: border-box;
        width: 80%;
    border-radius: 0;
}

#subsidy-support .price .note {
    text-align: center;
    font-size: 1.2vw;
    font-weight: 500;
    line-height: 1.6;
    margin-top: 1vw;
    margin-bottom: 3vw;
}

/* --------------------------------
   flow
-------------------------------- */

#subsidy-support .flow {
    background: #f5f5f5;
}

#subsidy-support .flow h2 {
    background: #005bbb;
    padding: 1.5vw 0;
    font-size: 2.5vw;
    letter-spacing: .05vw;
    font-weight: 600;
    color: #fff;
    line-height: 1.7;
    text-align: center;
}

#subsidy-support .flow .lead {
    text-align: center;
    font-size: 1.4vw;
    font-weight: 500;
    line-height: 1.8;
    margin: 2.5vw auto 3vw;
}


#subsidy-support .flow .steps {
       width: 70%;
    margin: 0 auto 0;
    padding-bottom: 5vw;
}


#subsidy-support .flow .step {
    background: #fff;
    border: .2vw solid #005bbb;
    border-radius: .7vw;
    box-sizing: border-box;
}


#subsidy-support .flow .step > .wp-block-group__inner-container {
    display: flex;
    align-items: center;
    gap: 2vw;
    padding: 1.5vw 2vw;
    box-sizing: border-box;
    min-height: 8vw;
}

#subsidy-support .flow .num {
    width: 5vw;
    height: 5vw;
    flex-shrink: 0;
    background: #005bbb;
    color: #fff;
    border-radius: 100vw;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2vw;
    font-weight: 700;
    line-height: 1;
    margin: 0;
}


#subsidy-support .flow .body {
    flex: 1;
}

#subsidy-support .flow .body > .wp-block-group__inner-container {
    padding: 0;
}

#subsidy-support .flow .body h3 {
    color: #005bbb;
    font-size: 1.8vw;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 .5vw;
}

#subsidy-support .flow .txt {
    color: #333;
    font-size: 1.2vw;
    font-weight: 500;
    line-height: 1.8;
    margin: 0;
}


#subsidy-support .flow .btn {
    width: 50%;
    margin: 3vw auto 0;
}

#subsidy-support .flow .btn a,
#subsidy-support .flow .wp-block-button.btn .wp-block-button__link {
    background: #e91e63;
    display: block;
    padding: .7vw;
    text-decoration: none;
    font-size: 1.4vw;
    font-weight: 500;
    color: #fff;
    letter-spacing: .2vw;
    position: relative;
    margin: 0 auto;
    box-sizing: border-box;
    width: 80%;
    border-radius: 0;
}

#subsidy-support .flow .btn a::after,
#subsidy-support .flow .wp-block-button.btn .wp-block-button__link::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.5vw;
    margin: auto;
    content: "";
    width: .6vw;
    height: .6vw;
    border-top: .2vw solid #fff;
    border-right: .2vw solid #fff;
    transform: rotate(45deg);
}


#subsidy-support .flow .note {
    text-align: center;
    font-size: 1.1vw;
    font-weight: 500;
    line-height: 1.6;
    margin-top: 1vw;
    margin-bottom: 0;
}

/* --------------------------------
   FAQ
-------------------------------- */

#subsidy-support .faq {
    background: #fff;
}

#subsidy-support .faq > .wp-block-group__inner-container {
    width: 70%;
    margin: 0 auto;
    padding: 4vw 0 5vw;
}

#subsidy-support .faq h2 {
    font-size: 2.3vw;
    margin-bottom: 3vw;
    letter-spacing: .5vw;
    color: #005bbb;
    text-align: center;
}

#subsidy-support .faq .wp-block-accordion {
    width: 80%;
    margin: 0 auto;
}

#subsidy-support .faq .wp-block-accordion-item {
    margin-bottom: 2vw;
}

#subsidy-support .faq .wp-block-accordion-heading {
    margin: 0;
}
#subsidy-support .faq .wp-block-accordion-heading__toggle {
    width: 100%;
    position: relative;
    display: block;
    padding: 1.2vw 4vw 1.2vw 2.5vw;
    background: #f5f5f5;
    border: none;
    border-radius: .2vw;
    color: #333;
    font-size: 1.3vw;
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: .1vw;
    text-align: left;
    cursor: pointer;
}

#subsidy-support .faq .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
    text-decoration: unset !important;
}

#subsidy-support .faq .wp-block-accordion-heading__toggle-title::before {
    content: "Q";
    display: inline-block;
    margin-right: .8vw;
    color: #005bbb;
    font-size: 1.5vw;
    font-weight: 700;
    line-height: 1;
}

#subsidy-support .faq .wp-block-accordion-heading__toggle-icon {
    position: absolute;
    top: 50%;
    right: 1.5vw;
    transform: translateY(-50%);
    width: 1.2vw;
    height: 1.2vw;
    font-size: 0;
    line-height: 1;
}

#subsidy-support .faq .wp-block-accordion-heading__toggle-icon::before,
#subsidy-support .faq .wp-block-accordion-heading__toggle-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: .12vw;
    background: #005bbb;
    transition: .3s;
}

#subsidy-support .faq .wp-block-accordion-heading__toggle-icon::before {
    transform: translateY(-50%);
}

#subsidy-support .faq .wp-block-accordion-heading__toggle-icon::after {
    transform: translateY(-50%) rotate(90deg);
}

#subsidy-support .faq .wp-block-accordion-heading__toggle[aria-expanded="true"] .wp-block-accordion-heading__toggle-icon::after {
    transform: translateY(-50%) rotate(0);
    opacity: 0;
}

#subsidy-support .faq .wp-block-accordion-panel {
    overflow: hidden;
    padding: 1.5vw 1vw 0 2.5vw;
}

#subsidy-support .faq .wp-block-accordion-panel p {
    margin: 0;
    color: #333;
    font-size: 1.3vw;
    font-weight: 500;
    line-height: 1.9;
    letter-spacing: .1vw;
}

#subsidy-support .faq .wp-block-accordion-panel p::before {
    content: "A";
    display: inline-block;
    margin-right: .8vw;
    color: #E91E63;
    font-size: 1.5vw;
    font-weight: 700;
    line-height: 1;
}
#subsidy-support .faq {
    margin-bottom: 0;
}

#subsidy-support .faq .wp-block-accordion-item:last-of-type {
    margin-bottom: 0;
}

/* --------------------------------
   CTA
-------------------------------- */

#subsidy-support .cta {
    background: #f5f5f5;
}

#subsidy-support .cta > .wp-block-group__inner-container {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

#subsidy-support .cta .cols {
    width: 100%;
    margin: 0;
    gap: 0;
    align-items: stretch !important;
}

#subsidy-support .cta .left {
    background: #f5f5f5;
}

#subsidy-support .cta h2 {
    width: 100%;
    margin: 0 0 2vw;
    padding: 1vw 0;
    background: #005bbb;
    color: #fff;
    text-align: center;
    font-size: 2.3vw;
    font-weight: 600;
    letter-spacing: .2vw;
    line-height: 1.6;
}

#subsidy-support .cta .catch {
        margin: 2vw auto 1vw;
    color: #e91e63;
    text-align: center;
    font-size: 2vw;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .1vw;
}

#subsidy-support .cta .catch span {
   display: block;
    padding: .4vw 2vw;
    background: #e91e63;
    color: #fff;
    line-height: 1.3;
    width: 50%;
    margin: 0 auto 1vw;
    letter-spacing: .2vw;
}

#subsidy-support .cta .lead {
    margin: 0 auto 1vw;
    color: #005bbb;
    font-size: 1.7vw;
    font-weight: 600;
    line-height: 1.8;
    text-align: center;
}

#subsidy-support .cta .text {
    margin: 0 auto 2vw;
}

#subsidy-support .cta .text>.wp-block-group__inner-container {
    width: 90%;
    padding: 0;
    margin: 0 auto;
}

#subsidy-support .cta .text p {
    color: #333;
    font-size: 1.2vw;
    font-weight: 500;
    line-height: 1.9;
    margin-bottom: .7em;
}

#subsidy-support .cta .text p:last-child {
    margin-bottom: 0;
}

#subsidy-support .cta .buttons {
    display: flex;
    justify-content: space-between;
    gap: 2vw;
    width: 90%;
    margin: 2vw auto 0;
    padding-bottom: 2.5vw;
}

#subsidy-support .cta .buttons .wp-block-button {
    width: calc((100% - 2vw) / 2);
}

#subsidy-support .cta .buttons .wp-block-button__link {
    display: block;
    width: 100%;
    padding: .9vw 1vw;
    border-radius: 0;
    color: #fff;
    text-align: center;
    text-decoration: none;
        font-size: 1.6vw;
    font-weight: 600;
    letter-spacing: .1vw;
    line-height: 1.5;
    box-sizing: border-box;
}

#subsidy-support .cta .buttons .form .wp-block-button__link {
    background: #005bbb;
}

#subsidy-support .cta .buttons .line .wp-block-button__link {
    background: #06c755;
}

#subsidy-support .cta .buttons .form .wp-block-button__link::before {
        background: no-repeat;
    width: 2vw;
    height: 1.5vw;
    background-image: url(https://tnpartners.jp/wp-content/uploads/2024/09/mail-white.svg);
    content: '';
    margin-right: .5vw;
    display: inline-block;
    top: .3vh;
    position: relative;
}

#subsidy-support .cta .buttons .line .wp-block-button__link::before {
        background: no-repeat;
    width: 2vw;
    height: 2vw;
    background-image: url(https://tnpartners.jp/wp-content/uploads/2024/09/line-icon-w.svg);
    content: '';
    margin-right: .5vw;
    display: inline-block;
        top: .4vw;
    position: relative;
}

#subsidy-support .cta .right {
    background-image: url(https://tnpartners.jp/wp-content/uploads/2024/11/cta-img.jpg);
    background-position: right 12% top 82%;
    background-size: cover;
    background-repeat: no-repeat;
}

/* =========================================================
   subsidy-support SP
========================================================= */

@media only screen and (max-width: 743px) {

    /* --------------------------------
       common
    -------------------------------- */

/*     #subsidy-support br {
        display: none;
    } */

    #subsidy-support .wp-block-columns {
        display: block;
    }

    #subsidy-support .wp-block-column {
        flex-basis: auto !important;
    }

    #subsidy-support .wp-block-button {
        width: 100%;
    }

    main#subsidy-support .pro-wrap {
                padding: 4vw 3vw 5vw;
    }

    #subsidy-support .mb {
        margin-bottom: 3vw;
    }

    #subsidy-support h2,
    #subsidy-support .fit h2,
    #subsidy-support .service h2,
    #subsidy-support .reason h2,
    #subsidy-support .price h2,
    #subsidy-support .flow h2,
    #subsidy-support .faq h2,
    #subsidy-support .cta h2 {
        font-size: 6vw;
        line-height: 1.6;
        letter-spacing: .5vw;
    }

    #subsidy-support p,
    #subsidy-support li,
    #subsidy-support td,
    #subsidy-support th {
        font-size: 4vw;
        line-height: 1.8;
    }


    /* --------------------------------
       MV
    -------------------------------- */

    .subsidy-support-mv {
        height: auto;
        margin-top: 12vh;
        padding: 0 0 8vw;
        overflow: hidden;
                background: #F5F5F5;
    }

    .subsidy-support-mv::before {
        display: none;
    }

    .subsidy-support-mv__inner {
        width: 92%;
        height: auto;
        margin: 0 auto;
                padding: 5vw 0 0;
    }

    .subsidy-support-mv__content {
        width: 100%;
        height: auto;
        padding: 0;
        display: block;
    }

    .subsidy-support-mv__badge {
        width: 100%;
        gap: 1vw;
                margin: 0 auto 3vw;
        padding: 2.5vw 2vw;
        border: .4vw solid #d8a93b;
        border-radius: 100vw;
    }

    .subsidy-support-mv__badge-year {
        font-size: 5vw;
    }

    .subsidy-support-mv__badge-number {
        font-size: 6vw;
    }

    .subsidy-support-mv__badge strong {
        font-size: 5.5vw;
    }

    .subsidy-support-mv__badge-tail {
        font-size: 4.5vw;
    }

    .subsidy-support-mv__title-small {
       font-size: 5vw;
        line-height: 1.5;
        letter-spacing: .1vw;
        white-space: nowrap;
        text-align: center;
    }

    .subsidy-support-mv__title-main {
        font-size: 8.5vw;
        line-height: 1.45;
        letter-spacing: .2vw;
        text-align: center;
        border-top: 1.5px solid #005bbb;
        border-bottom: 1.5px solid #005bbb;
        margin: 4vw auto 2vw;
        padding: 1vw 0 2vw;
    }

    .subsidy-support-mv__title-zero {
                font-size: 12vw;
        margin-left: 1vw;
    }

    .subsidy-support-mv__title-yen {
        font-size: 7vw;
        margin-right: 1vw;
    }

    .subsidy-support-mv__lead {
               margin-top: 2vw;
        font-size: 4vw;
        line-height: 1.8;
        text-align: left;
		    padding: 0 2vw;
    }

    .subsidy-support-mv__points {
        display: flex;
        justify-content: space-between;
        gap: 0;
                margin-top: 3vw;
    }

    .subsidy-support-mv__point {
                width: 48.5%;
        min-height: 14vw;
                padding: 3vw 0;
        border-radius: 1.5vw;
        background: #fff;
		border: 1px solid #005bbb;
    }



    .subsidy-support-mv__point-label {
        font-size: 5vw;
		        margin-right: 1vw;
    }

    .subsidy-support-mv__point strong {
        font-size: 5.5vw;
		    font-weight: 700;
    }
#subsidy-support span.tax {
    font-size: 2.5vw;
    top: 1.3vw;
    margin-left: 0;
}
    .subsidy-support-mv__cta-wrap {
        margin-top: 5vw;
    }

    .subsidy-support-mv__cta {
        width: 100%;
        min-height: 14vw;
        padding: 3vw 2vw;
        font-size: 5vw;
    }

    .subsidy-support-mv__cta::before {
        margin-right: 2vw;
        font-size: 5vw;
    }

    .subsidy-support-mv__cta::after {
       margin-left: 3vw;
        font-size: 9vw;
        top: -1vw;
    }

    .subsidy-support-mv__note {
        width: 100%;
        margin-top: 2.5vw;
        font-size: 3.5vw;
    }

    .subsidy-support-mv__visual {
        width: 100%;
               height: 74vw;
        position: relative;
        top: auto;
        right: auto;
        margin-top: 0;
        overflow: hidden;
    }

    .subsidy-support-mv__visual img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        display: block;
    }


    /* --------------------------------
       fit
    -------------------------------- */

    #subsidy-support .fit {
        margin-bottom: 8vw;
    }

    #subsidy-support .fit h2 {
        padding: 4vw 0;
    }

    #subsidy-support .fit h3 {
        width: 92%;
        margin: 6vw auto 4vw;
        font-size: 5vw;
        line-height: 1.6;
    }

    #subsidy-support .fit .cols {
        width: 92%;
        margin: 0 auto 5vw;
    }

    #subsidy-support .fit .img {
        margin: 0 0 3vw;
    }

    #subsidy-support .fit .img img {
        width: 100%;
        height: auto;
        display: block;
    }

    #subsidy-support .fit .box.balloon {
        padding: 4vw 5vw;
        margin-top: 5vw;
    }

    #subsidy-support .fit .box.balloon li {
        font-size: 4vw;
        line-height: 1.8;
        margin-bottom: 1vw;
    }

    #subsidy-support .fit p.bottom {
        width: 92%;
        margin: 0 auto;
        font-size: 4vw;
        line-height: 1.8;
        text-align: left;
		        font-weight: 500;
    }


    /* --------------------------------
       problem / future
    -------------------------------- */

    #subsidy-support .problem {
        width: 92%;
        margin: 0 auto 8vw;
    }
	
    #subsidy-support .future {
        width: 92%;
        margin: 0 auto 5vw;
    }

    #subsidy-support .problem h2,
    #subsidy-support .future h2 {
        padding: 3vw 2vw;
        font-size: 5vw;
        line-height: 1.6;
    }

    #subsidy-support .problem .lead,
    #subsidy-support .future .lead {
        margin-bottom: 5vw;
    }

    #subsidy-support .problem .lead p,
    #subsidy-support .future .lead p {
        font-size: 4vw;
        line-height: 1.8;
        text-align: left;
    }

    #subsidy-support .problem .pro-wrap dt,
    #subsidy-support .future .pro-wrap dt {
        font-size: 5vw;
        line-height: 1.6;
        text-align: center;
    }

    #subsidy-support .problem .pro-wrap dt span.yellow,
    #subsidy-support .future .pro-wrap dt span.yellow {
        display: block;
        padding: 1.5vw 2vw;
        margin: 0 0 3vw;
        border-left: 1.5vw solid #005bbb;
        line-height: 1.8;
        box-sizing: border-box;
    }

    #subsidy-support .problem .pro-wrap dd,
    #subsidy-support .future .pro-wrap dd {
        margin: 4vw 0 6vw;
        font-size: 4vw;
        line-height: 1.8;
    }
	
	#subsidy-support .future .pro-wrap dd:last-of-type {
    margin-bottom: 0;
}

    #subsidy-support .problem .bottom p {
        font-size: 4vw;
        line-height: 1.8;
        text-align: left;
    }
#subsidy-support .problem .bottom {
    border-top: 1px solid #333;
    padding-top: 4vw;
}

    /* --------------------------------
       solve
    -------------------------------- */

    #subsidy-support .solve {
        width: 92%;
        margin: 0 auto 8vw;
    }

    #subsidy-support .solve h2 {
        font-size: 5vw;
        line-height: 1.6;
        margin-bottom: 5vw;
    }

    #subsidy-support .solve .wrap {
        padding: 4vw 5vw;
    }

    #subsidy-support .solve .text-wrap p {
        font-size: 4vw;
        line-height: 1.8;
    }

    #subsidy-support .solve .img-wrap {
        margin-top: 3vw;
    }

    #subsidy-support .solve .img-wrap img {
        width: 100%;
    }


    /* --------------------------------
       service
    -------------------------------- */

    #subsidy-support .service h2 {
        padding: 4vw 0;
		        margin-top: 7vw;
    }

    #subsidy-support .service .lead {
        width: 92%;
        margin: 5vw auto;
    }

    #subsidy-support .service .lead p {
        font-size: 4vw;
        line-height: 1.8;
        text-align: left;
    }

    .service figure.map {
        width: 100%;
        margin: 5vw auto 0;
    }

    #subsidy-support .service .cards {
        width: 92%;
        margin: 0 auto;
    }

    #subsidy-support .service .cards.one {
        margin: 6vw auto 0;
    }

    #subsidy-support .service .cards.two {
        margin: 0 auto;
    }

    #subsidy-support .service .card {
        margin-bottom: 4vw;
        padding: 4vw;
        border: .5vw solid #005bbb;
        border-radius: 2vw;
    }

    #subsidy-support .service .card h3 {
        font-size: 4.5vw;
        white-space: normal;
        margin-bottom: 3vw;
        padding: 3vw 3vw 3vw 12vw;
        line-height: 1.4;
    }

    #subsidy-support .service .card p {
        font-size: 4vw;
        line-height: 1.8;
    }

    #subsidy-support .service .number {
        top: 5vw;
        left: 3vw;
        width: 10vw;
        height: 10vw;
        font-size: 5vw;
    }

    #subsidy-support .service .scope {
        width: 92%;
        margin: 5vw auto 8vw;
        padding-bottom: 5vw;
    }

    #subsidy-support .service .scope h3 {
        padding: 3vw 2vw;
        font-size: 5vw;
        line-height: 1.5;
        margin-bottom: 4vw;
    }

    #subsidy-support .service .scope-lead {
        width: 92%;
        margin: 0 auto 5vw;
        text-align: left;
    }

    #subsidy-support .service .scope-lead p {
        margin: 0 0 3vw;
        font-size: 4vw;
        line-height: 1.8;
    }

    #subsidy-support .service .scope-table {
        width: 92%;
        margin: 0 auto;
        overflow-x: auto;
    }

    #subsidy-support .service .scope-table table {
        min-width: 135vw;
        table-layout: fixed;
    }

    #subsidy-support .service .scope-table th,
    #subsidy-support .service .scope-table td {
        padding: 3vw 2.5vw;
        border: .3vw solid #bdbdbd;
    }

    #subsidy-support .service .scope-table th {
        font-size: 4vw;
        line-height: 1.5;
        letter-spacing: .1vw;
    }

        #subsidy-support .service .scope-table th:first-child {
        width: 18%;
    }

    #subsidy-support .service .scope-table th:nth-child(2),
    #subsidy-support .service .scope-table th:nth-child(3) {
        width: 38%;
    }

    #subsidy-support .service .scope-table td:first-child {
        font-size: 4vw;
        line-height: 1.5;
    }

#subsidy-support .service .scope-table td {
    font-size: 3.8vw;
}

    /* --------------------------------
       reason
    -------------------------------- */

    #subsidy-support .reason h2 {
        padding: 4vw 3vw;
        font-size: 5vw;
        line-height: 1.6;
		        margin-top: 7vw;
    }

    #subsidy-support .reason .lead,
    #subsidy-support .reason p.text {
        width: 92%;
        margin: 5vw auto;
        font-size: 4vw;
        line-height: 1.8;
		text-align: center;
    }

    #subsidy-support .reason .cards {
        width: 92%;
        margin: 0 auto;
    }

    #subsidy-support .reason .card {
        margin-bottom: 6vw;
        padding: 6vw 4vw 4vw;
        border: .5vw solid #005bbb;
        border-radius: 2vw;
    }

    #subsidy-support .reason .cards h3 {
        min-height: auto;
        padding: 3vw;
        font-size: 4.5vw;
        line-height: 1.6;
		margin-bottom: 3vw;
    }

    #subsidy-support .reason .card ul {
        margin-left: 1.3em;
    }

    #subsidy-support .reason .card li {
        font-size: 4vw;
        line-height: 1.8;
    }

    #subsidy-support .reason .number {
       top: 1vw;
        left: 1vw;
        width: 10vw;
        height: 10vw;
        font-size: 5vw;
    }

    #subsidy-support .reason .btn a, #subsidy-support .btn.service a {
        width: 92%;
        padding: 1.5vw;
        font-size: 4vw;
    }
#subsidy-support .reason .btn a::after, #subsidy-support .btn.service a::after {
    right: 3.5vw;
    border-top: 2px solid #fff;
	border-right: 2px solid #fff;}
	
	.reason .lead p {
    text-align: left;
}

	/* --------------------------------
       result
    -------------------------------- */

    #subsidy-support .result {
        width: 100%;
        margin-top: 8vw;
        padding-bottom: 8vw;
        background: #f5f5f5;
        overflow: hidden;
    }

    #subsidy-support .result > .wp-block-group__inner-container {
        width: 92%;
        margin: 0 auto;
    }

    #subsidy-support .result h2 {
        width: 100vw;
        margin: 0 0 5vw calc(50% - 50vw);
        padding: 4vw 0;
        background: #005bbb;
        color: #fff;
        font-size: 6vw;
        font-weight: 600;
        line-height: 1.6;
        letter-spacing: .5vw;
        text-align: center;
    }

    #subsidy-support .result-lead {
        width: 100%;
        margin: 0 auto 6vw;
        text-align: left;
    }

    #subsidy-support .result-lead p {
        margin: 0 0 3vw;
        color: #333;
        font-size: 4vw;
        font-weight: 500;
        line-height: 1.8;
    }

    #subsidy-support .result-lead p:last-child {
        margin-bottom: 0;
    }

    #subsidy-support .result-cards {
        display: block;
        width: 100%;
        margin: 0 auto 6vw;
    }

    #subsidy-support .result-card {
        margin-bottom: 5vw;
        padding: 4vw;
        border: 2.5px solid #005bbb;
        border-radius: 2vw;
        background: #fff;
        text-align: center;
        box-sizing: border-box;
    }

    #subsidy-support .result-card:last-child {
        margin-bottom: 0;
    }

    #subsidy-support .result-card h3 {
        padding: 2vw 0;
        margin: 0 0 3vw;
        background: #f5f5f5;
        color: #005bbb;
        font-size: 4.5vw;
        font-weight: 600;
        line-height: 1.5;
        letter-spacing: .2vw;
        text-align: center;
    }

    #subsidy-support .result-num {
                margin: 0 0 3vw;
        padding-bottom: 0;
        border-bottom: unset;
        color: #e91e63;
        font-weight: 800;
        line-height: 1;
        text-align: center;
    }

    #subsidy-support .result-num .num {
        font-size: 14vw;
        font-weight: 800;
        line-height: 1;
    }

    #subsidy-support .result-num .unit {
        margin-left: 1vw;
        font-size: 7vw;
        font-weight: 800;
        line-height: 1;
        vertical-align: baseline;
    }

    #subsidy-support .result-caption {
        margin: 0;
        color: #333;
        font-size: 4vw;
        font-weight: 500;
        line-height: 1.7;
        text-align: center;
    }

    #subsidy-support .result-detail {
        display: block;
        width: 100%;
        margin: 0 auto;
    }

    #subsidy-support .result-highlight {
        margin-bottom: 5vw;
        padding: 5vw 4vw;
        border-radius: 2vw;
        background: #005bbb;
        box-sizing: border-box;
    }

    #subsidy-support .result-highlight h3 {
        padding: 2.5vw 3vw;
        margin: 0 0 4vw;
        background: #fff;
        color: #005bbb;
        font-size: 4.5vw;
        font-weight: 600;
        line-height: 1.6;
        letter-spacing: .1vw;
        text-align: center;
    }

    #subsidy-support .result-highlight p {
        margin: 0 0 3vw;
        color: #fff;
        font-size: 4vw;
        font-weight: 500;
        line-height: 1.8;
    }

    #subsidy-support .result-support {
        padding: 4vw;
        border: 2.5px solid #005bbb;
        border-radius: 2vw;
        background: #fff;
        box-sizing: border-box;
    }

    #subsidy-support .result-support h3 {
        padding: 2vw 1vw;
        margin: 0 0 4vw;
        background: #f5f5f5;
        color: #005bbb;
        font-size: 4.5vw;
        font-weight: 600;
        line-height: 1.6;
        letter-spacing: .1vw;
        text-align: center;
    }

    #subsidy-support .result-support ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    #subsidy-support .result-support li {
        position: relative;
        margin-bottom: 3vw;
        padding: 0 0 3vw 8vw;
        border-bottom: 1.5px solid #ddd;
        color: #333;
        font-size: 4vw;
        font-weight: 500;
        line-height: 1.8;
    }

    #subsidy-support .result-support li:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
    }

    #subsidy-support .result-support li::before {
        content: "✓";
        position: absolute;
        top: .6vw;
        left: 0;
        width: 5vw;
        height: 5vw;
        border-radius: 100vw;
        background: #e91e63;
        color: #fff;
        font-size: 3.5vw;
        font-weight: 700;
        line-height: 5vw;
        text-align: center;
    }

   #subsidy-support .result-note {
        margin: 3vw auto 0;
        font-size: 3.5vw;
        text-align: center;
    }
	
	.wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-8f761849.wp-block-columns-is-layout-flex {
    margin-bottom: 3vw;
}
	
    /* --------------------------------
       case
    -------------------------------- */

    #subsidy-support .case .wp-block-group__inner-container {
        width: 92%;
        padding: 7vw 0 8vw;
    }

    #subsidy-support .case h2 {
        font-size: 6vw;
        margin-bottom: 5vw;
    }

    #subsidy-support .case .card {
        margin-bottom: 5vw;
    }

    #subsidy-support .case .card .wp-block-image {
        height: 50vw;
    }

    #subsidy-support .case table,
    #subsidy-support .case tr {
        height: auto;
    }

    #subsidy-support .case td:first-child {
        width: 28%;
        padding: 2vw 1vw;
        font-size: 4vw;
    }

    #subsidy-support .case td:nth-child(2) {
        width: 72%;
        padding: 2vw;
        font-size: 4vw;
    }


    /* --------------------------------
       voice
    -------------------------------- */

    #subsidy-support .voice {
        width: 92%;
        margin: 7vw auto 8vw;
    }

    #subsidy-support .voice h2 {
        font-size: 6vw;
        margin-bottom: 5vw;
    }

    #subsidy-support .voice .cols .right {
        width: 100%;
        padding: 4vw;
    }

    #subsidy-support .voice .cols .right p {
        font-size: 4vw;
        line-height: 1.8;
    }

    #subsidy-support .voice .cols .info {
        padding: 2vw;
        font-size: 4vw;
        line-height: 1.7;
    }

    #subsidy-support .voice .cols:not(:first-of-type) {
        margin-top: 5vw;
    }

    #subsidy-support .voice .btn a {
               margin: 0;
        padding: 1.5vw 0;
        font-size: 4vw;
    }


    /* --------------------------------
       grant
    -------------------------------- */

    #subsidy-support .grant .wp-block-group__inner-container {
        width: 92%;
        padding: 7vw 0;
    }

    #subsidy-support .grant h2 {
        font-size: 6vw;
        margin-bottom: 5vw;
    }

	#subsidy-support .grant p.txt {
    text-align: left;
    margin: 2vw auto 5vw;
    font-size: 4vw;
}
	
    #subsidy-support .grant h3 {
        padding: 2vw 1vw;
        font-size: 4.5vw;
    }

    #subsidy-support .grant .wp-block-column {
        margin-bottom: 5vw;
    }

    #subsidy-support .grant td:first-child {
        width: 28%;
        padding: 2vw 1vw;
        font-size: 4vw;
    }

    #subsidy-support .grant td:nth-child(2) {
        padding: 2vw;
        font-size: 4vw;
        line-height: 1.7;
    }

    #subsidy-support .grant p.bottom {
        font-size: 4vw;
        line-height: 1.8;
        text-align: left;
        margin-bottom: 5vw;
    }

    #subsidy-support .grant .btn a {
        padding: 1.5vw;
        font-size: 4vw;
    }


    /* --------------------------------
       price
    -------------------------------- */

    #subsidy-support .price h2 {
        padding: 3vw 0;
        font-size: 6vw;
    }

    #subsidy-support .price .lead {
        width: 92%;
        margin: 5vw auto;
        font-size: 4vw;
        text-align: left;
    }

    #subsidy-support .price .plans {
        width: 92%;
        margin: 0 auto;
    }

    #subsidy-support .price .plan {
        margin-bottom: 5vw;
        padding: 4vw;
                border: 2.5px solid #005bbb;
        border-radius: 2vw;
    }

    #subsidy-support .price .plan h3 {
        padding: 2vw 0;
        font-size: 4.5vw;
    }

    #subsidy-support .price .amount .num {
        font-size: 14vw;
    }

    #subsidy-support .price .amount .unit {
        font-size: 7vw;
    }
	
	    #subsidy-support .price span.tax {
        font-size: 4vw;
        top: 0;
        margin-left: 0.5vw;
    }

    #subsidy-support .price .amount.guarantee {
        gap: 1.5vw;
        min-height: auto;
        margin-bottom: 3vw;
		        margin-top: 3vw;
    }

    #subsidy-support .price .amount.guarantee .small {
        font-size: 5vw;
    }

    #subsidy-support .price .amount.guarantee .main {
        font-size: 9vw;
    }

    #subsidy-support .price .plan .txt {
        font-size: 4vw;
    }

    #subsidy-support .price .included {
        width: 92%;
        margin: 5vw auto;
        padding: 4vw;
                border: 2.5px solid #005bbb;
        border-radius: 2vw;
    }

    #subsidy-support .price .included h3 {
        padding: 2vw 1vw;
        font-size: 4.5vw;
		    margin-bottom: 4vw;
    }

    #subsidy-support .price .items {
        gap: 3vw;
    }

    #subsidy-support .price .items li {
        width: 100%;
        min-height: auto;
        padding: 2vw 3vw 2vw 10vw;
        border-radius: 1.5vw;
        font-size: 4vw;
		border: 1.5px solid #005bbb;
    }

    #subsidy-support .price .items li::before {
        left: 3vw;
        width: 5vw;
        height: 5vw;
        font-size: 3.5vw;
    }
	
	#subsidy-support .price .price-notes {
        width: 92%;
        margin: 5vw auto 0;
        padding: 5vw 4vw;
        border-radius: 2vw;
        background: #f5f5f5;
        box-sizing: border-box;
    }

    #subsidy-support .price .price-notes h3 {
        margin-bottom: 4vw;
        padding: 2vw 0;
        border-bottom: .5vw solid #9E9E9E;
        color: #005bbb;
        background: #f5f5f5;
        font-size: 4.5vw;
        font-weight: 600;
        line-height: 1.5;
        letter-spacing: .2vw;
        text-align: center;
    }

    #subsidy-support .price .price-note-block {
        margin-bottom: 5vw;
        margin-left: 0;
    }

    #subsidy-support .price .price-note-block.last {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
    }

    #subsidy-support .price .price-note-block .price-note-title {
        margin-bottom: 2vw;
        color: #e91e63;
        font-size: 4.2vw;
        font-weight: 600;
        line-height: 1.6;
        letter-spacing: .2vw;
    }

    #subsidy-support .price .price-note-block p {
        margin: 0 0 2vw;
        color: #333;
        font-size: 3.8vw;
        font-weight: 500;
        line-height: 1.8;
        text-align: left;
    }

    #subsidy-support .price .price-note-block p:last-child {
        margin-bottom: 0;
    }

    #subsidy-support .price .price-note-block ul {
        margin: 2vw 0 0 1.3em;
        padding: 0;
    }

    #subsidy-support .price .price-note-block li {
        margin-bottom: 1.5vw;
        color: #333;
        font-size: 3.8vw;
        font-weight: 500;
        line-height: 1.8;
        text-align: left;
    }

    #subsidy-support .price .price-note-example {
        margin-top: 2vw;
        padding-left: 0;
        font-size: 3.6vw;
        line-height: 1.8;
    }

    #subsidy-support .price .btn {
        margin-top: 5vw;
    }

    #subsidy-support .price .btn a {
                width: 92%;
        padding: 1.5vw;
        font-size: 4vw;
    }

    #subsidy-support .price .note {
        width: 92%;
        margin: 3vw auto 7vw;
        font-size: 3.8vw;
    }


    /* --------------------------------
       flow
    -------------------------------- */

   #subsidy-support .flow h2 {
    padding: 3vw 0;
    font-size: 6vw;
    line-height: 1.6;
    letter-spacing: .2vw;
}

#subsidy-support .flow .lead {
    width: 92%;
    margin: 5vw auto;
    font-size: 4vw;
    font-weight: 500;
    line-height: 1.8;
    text-align: left;
}

#subsidy-support .flow .steps {
    width: 92%;
    margin: 0 auto;
    padding-bottom: 7vw;
}

#subsidy-support .flow .step {
    border: .5vw solid #005bbb;
    border-radius: 2vw;
    background: #fff;
    box-sizing: border-box;
}

#subsidy-support .flow .step > .wp-block-group__inner-container {
    display: flex;
    align-items: flex-start;
    gap: 3vw;
    padding: 4vw;
    min-height: auto;
    box-sizing: border-box;
}

#subsidy-support .flow .num {
    width: 11vw;
    height: 11vw;
    flex-shrink: 0;
    margin: 0;
    border-radius: 100vw;
    background: #005bbb;
    color: #fff;
    font-size: 4.8vw;
    font-weight: 700;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

#subsidy-support .flow .body {
    flex: 1;
    min-width: 0;
}

#subsidy-support .flow .body > .wp-block-group__inner-container {
    padding: 0;
}

#subsidy-support .flow .body h3 {
    margin: 0 0 2vw;
    color: #005bbb;
    font-size: 4.5vw;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .05vw;
    text-align: left;
}

#subsidy-support .flow .txt {
    margin: 0;
    color: #333;
    font-size: 4vw;
    font-weight: 500;
    line-height: 1.8;
    text-align: left;
}

#subsidy-support .flow .flow-arrow {
    width: 100%;
    height: 4vw;
    margin: 2vw 0;
    padding: 0;
    font-size: 0;
    line-height: 1;
    text-align: center;
    position: relative;
    background: none !important;
}

#subsidy-support .flow .flow-arrow::before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4vw solid transparent;
    border-right: 4vw solid transparent;
    border-top: 3vw solid #e91e63;
}

    /* --------------------------------
       FAQ
    -------------------------------- */

   #subsidy-support .faq > .wp-block-group__inner-container {
    width: 92%;
    padding: 7vw 0;
}

#subsidy-support .faq h2 {
    font-size: 6vw;
    margin-bottom: 5vw;
}

#subsidy-support .faq .wp-block-accordion {
    width: 100%;
}

#subsidy-support .faq .wp-block-accordion-item {
    margin-bottom: 3vw;
}

#subsidy-support .faq .wp-block-accordion-heading__toggle {
    position: relative;
    padding: 3vw 10vw 3vw 10vw;
    font-size: 4vw;
    line-height: 1.7;
    text-indent: 0 !important;
    text-align: left;
}

#subsidy-support .faq .wp-block-accordion-heading__toggle-title {
    display: block;
}

#subsidy-support .faq .wp-block-accordion-heading__toggle-title::before {
    content: "Q";
    position: absolute;
    top: 3.1vw;
    left: 4vw;
    display: block !important;
    margin: 0;
    color: #005bbb;
    font-size: 4.5vw;
    font-weight: 700;
    line-height: 1.4;
}

#subsidy-support .faq .wp-block-accordion-heading__toggle-icon {
    right: 3.5vw;
    width: 4vw;
    height: 4vw;
}

#subsidy-support .faq .wp-block-accordion-heading__toggle-icon::before,
#subsidy-support .faq .wp-block-accordion-heading__toggle-icon::after {
    height: .4vw;
}

#subsidy-support .faq .wp-block-accordion-panel {
    position: relative;
    padding: 3vw 2vw 3vw 10vw !important;
}

#subsidy-support .faq .wp-block-accordion-panel p {
    font-size: 4vw;
    line-height: 1.8;
    text-indent: 0 !important;
    text-align: left;
}

#subsidy-support .faq .wp-block-accordion-panel p::before {
    content: "A";
    position: absolute;
    top: 3vw;
    left: 4vw;
    display: block !important;
    margin: 0;
    color: #E91E63;
    font-size: 4.5vw;
    font-weight: 700;
    line-height: 1.4;
}


    /* --------------------------------
       CTA
    -------------------------------- */

    #subsidy-support .cta .cols {
        display: flex;
        flex-direction: column;
    }

    #subsidy-support .cta .left,
    #subsidy-support .cta .right {
        width: 100% !important;
        flex-basis: auto !important;
    }

    #subsidy-support .cta h2 {
        padding: 4vw 0;
        font-size: 6vw;
        letter-spacing: .2vw;
    }

    #subsidy-support .cta .catch {
        width: 92%;
        margin: 5vw auto 0;
        font-size: 6vw;
        line-height: 1.6;
    }
	    #subsidy-support .cta .catch span {
        padding: 2.5vw 2vw;
        margin: 0 auto 2vw;
        letter-spacing: .5vw;}
	
	div#cta .sp_block.img {
    width: 92%;
    margin: 0 auto 3vw;
}

    #subsidy-support .cta .lead {
                width: 92%;
        margin: 0 auto 4vw;
        font-size: 4.5vw;
        line-height: 1.8;
        text-align: center;
    }

    #subsidy-support .cta .text > .wp-block-group__inner-container {
        width: 92%;
    }

    #subsidy-support .cta .text p {
        font-size: 4vw;
        line-height: 1.8;
        margin-bottom: 3vw;
    }

    #subsidy-support .cta .buttons {
        flex-direction: column;
        gap: 3vw;
        width: 92%;
        margin: 5vw auto 0;
        padding-bottom: 7vw;
    }

    #subsidy-support .cta .buttons .wp-block-button {
        width: 100%;
    }

    #subsidy-support .cta .buttons .wp-block-button__link {
        padding: 3vw;
        font-size: 4.5vw;
    }

    #subsidy-support .cta .buttons .form .wp-block-button__link::before {
        width: 7vw;
        height: 5vw;
        margin-right: 1vw;
        top: .8vw;
    }

    #subsidy-support .cta .buttons .line .wp-block-button__link::before {
        width: 6vw;
        height: 6vw;
        margin-right: 1vw;
        top: 1.2vw;
    }

    #subsidy-support .cta .right {
                display: none;
    }

}

@media screen and (min-width: 48rem) and (max-width: 48.8125rem) {
    #subsidy-support .cta .cols {
        flex-wrap: nowrap !important;
    }

    #subsidy-support .cta .cols > .left {
        flex-basis: 60% !important;
    }

    #subsidy-support .cta .cols > .right {
        flex-basis: 40% !important;
    }
}

 /*---------------------------------------------------------
  i pad all portrait
  ---------------------------------------------------------*/
  @media only screen and (min-device-width: 743px) and (max-device-width: 1024px) and (orientation: portrait) {
	  .subsidy-support-mv {
    height: 44vw;
		  margin-top: 6vh;}
	  
	  #subsidy-support .fit .cols {
		  width: 80%;}
}

 /*---------------------------------------------------------
  i pad pro landscape
  ---------------------------------------------------------*/
  @media only screen and (min-device-width: 744px) and (max-device-width: 1400px) and (orientation: landscape) {
	  .subsidy-support-mv {
		  height: 44vw;}
}
