/***********************
* Responsive Breakpoints
* 1025px +          PC
* 768px - 1024px    Tablet - PC
* 0px - 767px       SmartPhone
************************/

@font-face {
	font-family: "bodyFont";
	src: url("fonts/NotoSansJP.woff2") format("woff2");
	font-display: swap;
}

html {
	height: -webkit-fill-available;
}
body {
	font-family: "bodyFont", serif;
	min-height: 100vh;
}

/*********************
* common
***********************/
:root {
	--color-main: 234, 85, 20;
	--color-sub: 255, 215, 0;
	--color-sub2: 190, 51, 130;
	--color-bg: 245, 245, 245;
	--distance: 50px;
	--distance-s: 30px;
	--distance-l: 100px;
	--distance-xl: 150px;
	--radius: 15px;
	--radius-s: 5px;
	--radius-l: 20px;
	--radius-xl: 30px;
	--fnt-xs: 12px;
	--fnt-s: 14px;
	--fnt-l: 36px;
	--fnt-xl: 48px;
	--linear-gradient-o: linear-gradient(
		120deg,
		rgba(234, 130, 50, 1) 30.026041666666667%,
		rgba(234, 95, 30, 1) 50.026041666666667%,
		rgba(240, 75, 81, 1) 70.01866319444445%,
		rgba(243, 72, 104, 1) 80.26692708333333%,
		rgba(158, 0, 236, 1) 101.234375%
	);
	--linear-gradient-b: linear-gradient(120deg, #58c6ff 0%, #076ad9 40%);

	--wp--style--block-gap: 0;
	--swiper-navigation-size: 64px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
	:root {
		--distance: 35px;
		--distance-s: 25px;
		--distance-l: 65px;
		--distance-xl: 95px;
		--radius: 12px;
		--radius-s: 4px;
		--radius-l: 18px;
		--radius-xl: 24px;
		--fnt-xs: 10px;
		--fnt-s: 12px;
		--fnt-l: 28px;
		--fnt-xl: 36px;
	}
}
@media screen and (max-width: 767px) {
	:root {
		--distance: 20px;
		--distance-s: 15px;
		--distance-l: 40px;
		--distance-xl: 65px;
		--radius: 10px;
		--radius-s: 3px;
		--radius-l: 15px;
		--radius-xl: 20px;
		--fnt-xs: 9px;
		--fnt-s: 11px;
		--fnt-l: 21px;
		--fnt-xl: 24px;

		--swiper-navigation-size: 48px;
	}
}

/* svg - logo */
img[src*=".svg"] {
	width: 100%;
	height: auto;
}

#masthead {
	background-color: unset;
}
.scrolled #masthead {
	background-color: rgba(255, 255, 255, 0.75) !important;
}
#masthead .site-info a img {
	width: 100%;
	max-height: 60px;
}

h2 {
	border: none !important;
}

.wp-block-nishiki-blocks-pro-section2.alignfull .inner-container,
.wp-block-nishiki-blocks-pro-section2.alignwide .inner-container,
.is-layout-constrained:where(
		:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)
	)
	> * {
	max-width: unset !important;
}
.alignfull [class*="inner-container"] > .alignwide,
.alignwide [class*="inner-container"] > .alignwide {
	width: revert;
	max-width: var(--nishiki-pro-site-wide-width) !important;
}
/* Decoration  Other */
.b {
	font-weight: 900;
}

/* youtube & Google Map */
.youtube,
.gmap {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.youtube iframe,
.gmap iframe {
	width: 100%;
	height: 100%;
}

.overlay-inner {
	display: flex;
	ul.menu-items a {
		flex-direction: column;
		justify-content: center;
		background-color: unset !important;
		background: unset;
		color: #000 !important;
		font-weight: 900;
		letter-spacing: 0.2rem;
		font-size: 12px;
		line-height: 1.2;
		transition: color 0.3s;
		&::before {
			content: attr(data-nav);
			font-size: 20px;
		}
		&:hover {
			color: #ff9900 !important;
		}
	}
	ul.utilityNav a {
		display: flex;
		align-items: center;
		height: 50px;
		margin: 10px;
		padding: 0 1.5rem;
		background: var(--linear-gradient-o);
		border-radius: var(--radius-xl);
		color: #fff !important;
		font-weight: 900;
		text-decoration: none;
		transition: filter 0.5s;
		&:hover {
			filter: brightness(110%);
		}
		&::before {
			margin: 0 0.5rem 0 0;
			font-family: "dashicons";
			content: "\f465";
			transition: margin 0.5s;
		}
		&:hover::before {
			margin: 0 0.2rem 0 0.3rem;
		}
	}
}

.toContact {
	margin-top: calc(var(--distance-l) * -2);
	padding: calc(var(--distance-l) * 2) 0 var(--distance-l) !important;
	background: rgb(var(--color-sub)) !important;

	#ctaBox {
		flex-wrap: wrap !important;
		.toDiagnosis {
			flex-basis: unset !important;
			figure {
				margin-top: 0;

				img {
					width: 100%;
					height: auto;
				}
			}
		}
	}
	hgroup.headingTitle {
		text-align: center;
		letter-spacing: 0.4rem;
		h2 {
			width: unset;
			margin: 0;
			padding: 0;
			font-size: var(--fnt-s);
		}
		p {
			display: inline-block;
			margin: 0;
			background: var(--linear-gradient-o);
			-webkit-background-clip: text;
			background-clip: text;
			-webkit-text-fill-color: transparent;
			font-size: var(--fnt-xl);
			font-weight: 900;
		}
	}
	h2 {
		margin: auto;
		text-align: center;
		font-size: var(--fnt-s);
		letter-spacing: 0.4rem;

		span {
			display: block;
			background: var(--linear-gradient-o);
			-webkit-background-clip: text;
			background-clip: text;
			-webkit-text-fill-color: transparent;
			font-size: var(--fnt-xl);
		}
	}

	h3 {
		text-align: center;
	}

	figure {
		margin-top: 0;

		img {
			display: block;
			margin: auto;
			width: 128px;
			height: auto;
		}
	}

	h4 {
		margin-top: 0;
		text-align: center;
		font-size: var(--fnt-s);

		span {
			font-size: var(--fnt-l);
		}

		& + p {
			margin-top: 0;
		}
	}

	.toDiagnosis {
		width: 100%;
		margin: var(--distance-s) !important;
		padding: var(--distance);
		border-radius: var(--radius);
		background: #fff;
		box-shadow: 5px 5px 20px rgb(254, 154, 40),
			-5px -5px 20px rgb(255, 245, 0);
	}
	.mail,
	.phone {
		margin: var(--distance-s) !important;
		padding: var(--distance);
		border-radius: var(--radius);
		background: #fff;
		box-shadow: 5px 5px 20px rgb(254, 154, 40),
			-5px -5px 20px rgb(255, 245, 0);

		.contactInfo span {
			font-size: var(--fnt-l);
			font-weight: 900;
		}
		.btn-wrap {
			margin: 50px 0;
			text-align: center;

			a {
				position: relative;
				display: inline-block;
				padding: 0.6rem 2rem 0.5rem 2rem;
				transition: all 0.3s;
				letter-spacing: 0.1em;
				border-radius: 0.5rem;
				font-size: 1.3rem;
				font-weight: 900;
				line-height: 1.5;
				color: #fff;
				text-align: center;
				vertical-align: middle;
				text-decoration: none;

				span {
					position: absolute;
					top: -1.25rem;
					left: calc(50% - 160px);
					display: block;
					width: fit-content;
					padding: 0.2rem 0.5rem;
					background: #fff;
					border-radius: 100vh;
					box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
					font-size: var(--fnt-s);

					&::before,
					&::after {
						position: absolute;
						left: calc(50% - 10px);
						content: "";
					}

					&::before {
						bottom: -10px;
						border-width: 10px 10px 0 10px;
						border-style: solid;
					}

					&::after {
						bottom: -7px;
						border-width: 10px 10px 0 10px;
						border-style: solid;
						border-color: #fff transparent transparent transparent;
					}
				}
				&:hover {
					transform: translate(0, 3px);
					color: #fff;
				}
			}
		}
	}

	.mail {
		.btn-wrap {
			a {
				background: #22ffd5;
				box-shadow: 0 5px 0 #20d3b0;

				span {
					border: 2px solid #20d3b0;
					color: #20d3b0;

					&::before,
					&::after {
						left: calc(50% - 10px);
					}

					&::before {
						border-color: #20d3b0 transparent transparent
							transparent;
					}
				}
				&:hover {
					background: #25f2ca;
					box-shadow: 0 2px 0 #20d3b0;
				}
			}
		}
	}

	.phone {
		.btn-wrap {
			a {
				background: #00bdff;
				box-shadow: 0 5px 0 #0094d8;

				span {
					border: 2px solid #0094d8;
					color: #0094d8;

					&::before,
					&::after {
						left: calc(50% - 10px);
					}

					&::before {
						border-color: #0094d8 transparent transparent
							transparent;
					}
				}
				&:hover {
					background: #00ace8;
					box-shadow: 0 2px 0 #0094d8;
				}
			}
		}
	}
}

#footer {
	padding-top: var(--distance-l) !important;
	background: var(--linear-gradient-o) !important;

	.footer-inner {
		background: #000;
		padding: var(--distance-l);
		border-radius: var(--radius-xl) var(--radius-xl) 0 0;

		.footer-widget {
			color: #fff;

			.widget ul,
			.widget ol {
				display: table;
				li {
					border: none;
				}
			}

			.officeInfo {
				li::before {
					margin-right: 0.5rem;
					font-family: "icomoon";
					background: var(--linear-gradient-o);
					-webkit-background-clip: text;
					background-clip: text;
					-webkit-text-fill-color: transparent;
				}
				li:nth-child(1)::before {
					content: "\e911";
				}
				li:nth-child(2)::before {
					content: "\e949";
				}
				li:nth-child(3):before {
					content: "\e963";
				}
				#map {
					height: auto;
					width: 100%;
					aspect-ratio: 16 / 9;
					border-radius: var(--radius);
					overflow: hidden;
				}
			}
		}

		.relation {
			margin-top: var(--distance-l);

			.wp-block-columns {
				margin-bottom: var(--distance);
				padding-top: var(--distance);
				border-top: 1px solid #090909;

				h3 {
					margin: 0;
					padding: 0;
					width: fit-content;
					font-size: var(--fnt-s);
					font-weight: 900;
					letter-spacing: 0.4rem;
					line-height: 1.5;

					span {
						display: block;
						background: var(--linear-gradient-b);
						-webkit-background-clip: text;
						background-clip: text;
						-webkit-text-fill-color: transparent;
						font-size: 18px;
					}
				}
				li {
					float: left;
					margin-left: 0.5rem;

					&::before {
						display: inline-block;
						content: "/";
						margin-right: 0.5rem;
						color: #333;
					}
					&:first-of-type {
						margin-left: 0;
						&::before {
							display: none;
						}
					}
					ul li {
						margin-left: 1rem !important;
						float: none;
						padding-bottom: 0;
						&::before {
							display: none;
						}
					}
				}
			}
		}
	}

	.copyright {
		color: #fff;

		span {
			display: block;
			margin-bottom: 1rem;
			color: #777;
			font-weight: 900;
		}

		a {
			color: #fff !important;
		}
	}
}

/*********************
* PC+
1025px +
***********************/
@media only screen and (min-width: 1025px) {
}

/*********************
* Tablet - PC
769px - 1024px
***********************/
@media only screen and (min-width: 768px) and (max-width: 1024px) {
}

/*********************
* SmartPhone
0px - 768px
***********************/
@media only screen and (max-width: 767px) {
	#masthead .site-info a img {
		max-width: 180px;
	}
	.toContact {
		& .mail,
		& .phone {
			& .btn-wrap {
				a {
					width: 100%;
					padding: 0.6rem 0 0.5rem 0;
					transition: all 0.3s;
					font-size: 1rem;
					span {
						left: calc(50% - 125px);
					}
				}
			}
		}

		& .toDiagnosis {
			.wp-block-nishiki-blocks-pro-button.alignright {
				width: 100%;
				margin: 0;
				margin-inline-start: 0;
			}
			.btn {
				padding: 0.7rem 1rem;
			}
		}
	}

	.overlay-inner {
		display: flex;
		flex-direction: column;
		ul.menu-items a {
			color: #fff !important;
		}
	}
	#footer {
		.footer-inner {
			padding: var(--distance);
		}
	}
}

/* End Common */

/*********************
LP
***********************/
:root {
	--content-inner: 1300px;
	--content-text: 1200px;
	--content-img: 1100px;
	--text-copy-m: 1.9rem !important;
	--text-copy-s: 1.5rem !important;
	--text-p: 1rem;
	--bg-blue: rgba(104, 179, 204, 0.15);
	--bg-dblue: rgba(104, 179, 204, 0.5);
	--deep-orange: #de4e1e;
}

body {
	font-family: "bodyFont";
}

.text-copy-m {
	font-size: var(--text-copy-m) !important;
	line-height: 3.5rem;
}

@media screen and (max-width: 780px) {
	.text-copy-m {
		font-size: 2rem;
	}
}

.text-copy-s {
	font-size: var(--text-copy-s) !important;
}

.content-inner {
	max-width: var(--content-inner) !important;
}

.content-text {
	max-width: var(--content-text) !important;
}

@media screen and (max-width: 780px) {
	.content-text {
		padding: 0 1rem !important;
	}
}

.content-img {
	max-width: var(--content-img) !important;
}

.section_space {
	padding: 2rem;
}

@media screen and (max-width: 780px) {
	.section_space {
		padding: 2rem 5%;
		margin: 0;
	}
}

@media screen and (max-width: 480px) {
	.section_space {
		padding: 2rem 5px;
		margin: 0;
	}
}

.mb0 {
	margin-bottom: 0 !important;
}

.mt0 {
	margin-top: 0 !important;
}

.no_gap {
	gap: 0 !important;
}

/*responsive*/
.sp_none {
	display: block !important;
}

.pc_none {
	display: none !important;
}

@media screen and (max-width: 768px) {
	.pc_none {
		display: block !important;
	}

	.sp_none {
		display: none !important;
	}
}

/*header logo*/
#masthead .site-info a img {
	max-width: 200px;
}

@media screen and (max-width: 480px) {
	#masthead .site-info a img {
		max-width: 120px;
	}
}

/*fv*/
.fv_column {
	max-width: 1000px;
}

@media screen and (max-width: 480px) {
	.fv-leftcolumn {
		height: 85vh;
	}
}

.fv-leftcolumn {
	padding: 1rem;
}

.fv_copy_upper {
	font-size: 2rem;
	letter-spacing: -0.01rem;
	font-weight: 900;
	line-height: 1.2;
}

.fv_copy_under {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.6;
}

@media screen and (max-width: 480px) {
	.fv_logo {
		width: 250px;
	}
}

.fv_mailimg_pc {
	padding-left: 3rem;
	padding-bottom: 3rem;
}

.to_contact_btn a {
	background: linear-gradient(135deg, #ea8700 40%, #e44c0c 60%, #bf247d 100%);
}

.to_contact_btn a,
.to_contact_btn.wp-block-nishiki-blocks-pro-button.horizon i {
	font-size: 1.6rem;
	font-weight: bold;
}

@media (max-width: 1020px) and (min-width: 780px) {
	.fv_copy_under {
		font-size: 3vw;
	}

	.fv_mailimg_pc {
		width: 90%;
		padding-left: 0;
	}

	.to_contact_btn a,
	.to_contact_btn.wp-block-nishiki-blocks-pro-button.horizon i {
		font-size: 2.2vw;
	}
}

@media screen and (max-width: 780px) {
	.fv_logo {
		max-width: 80%;
		margin: 0 auto;
	}

	.fv_mailimg_sp {
		padding: 3rem 2rem;
	}

	.fv-leftcolumn {
		text-align: center;
	}
}

@media screen and (max-width: 779px) {
	.fv_copy_under {
		font-size: 6vw;
	}

	.to_contact_btn a,
	.to_contact_btn.wp-block-nishiki-blocks-pro-button.horizon i {
		font-size: 5vw;
	}
}

/*about*/
.about_title_countainer {
	max-width: var(--content-inner) !important;
	gap: 0;
	margin-top: 2rem !important;
}

.about_title {
	display: flex;
	align-items: center;
	min-width: 400px;
}

.about_title img {
	width: 300px;
}

@media screen and (max-width: 480px) {
	.about_title {
		min-width: 98%;
	}

	.about_title .about_title_text {
		width: 30%;
		padding: 0 !important;
	}

	.about_title_text {
		padding: 0 !important;
		text-align: center;
		line-height: 1.4;
		padding-top: 0.5rem !important;
	}
}

.about_copy {
	font-size: 1.8rem !important;
	line-height: 1;
	margin: 3rem auto !important;
}

@media screen and (max-width: 680px) {
	.about_copy {
		font-size: 4.5vw !important;
		padding: 0 !important;
		margin: 1rem 0 !important;
		font-weight: bold !important;
	}
}

.br0 {
	display: none;
}

@media screen and (max-width: 1130px) {
	.br0 {
		display: block;
	}
}

.about_title_text {
	font-size: 1.8rem !important;
	margin: 0 !important;
}

/*phishing*/
.br1 {
	display: none;
}

@media screen and (max-width: 980px) {
	.br1 {
		display: block;
	}
}

.section_space p:not(.text-copy-m) {
	max-width: var(--content-inner);
	font-size: var(--text-p);
	padding: 0 1rem;
}

@media screen and (max-width: 480px) {
	.section_space p:not(.text-copy-m) {
		padding: 0 5px;
		font-size: 1rem;
	}
}

.title_phishing {
	font-size: 2rem;
	line-height: 1.5rem;
}

@media screen and (max-width: 480px) {
	.title_phishing {
		font-size: 6vw;
		line-height: 0.9;
	}
}

.description_img {
	max-width: 800px;
	padding: 3rem 0;
}

@media screen and (max-width: 480px) {
	.description_img {
		max-width: 800px;
		padding: 1rem 0;
	}
}

.description_img .wp-element-caption {
	position: relative;
	top: -3rem;
	line-height: 1.6;
}

@media screen and (max-width: 480px) {
	.description_img .wp-element-caption {
		top: -5px;
		font-size: 0.8rem;
		line-height: 1.3;
	}
}

.blue_textbox {
	max-width: var(--content-img) !important;
	background-color: var(--bg-blue);
	border-radius: 1rem;
	padding: 2rem;
}

@media screen and (max-width: 780px) {
	.blue_textbox {
		padding: 1rem 5px !important;
	}
}

.blue_textbox p {
	font-size: 1.1rem !important;
	line-height: 1.5;
}

.blue_textbox h3 {
	line-height: 0;
	margin-bottom: 2rem;
	font-size: 1.4rem !important;
}

@media screen and (max-width: 480px) {
	.blue_textbox h3 {
		line-height: 1;
		font-size: 1.4rem !important;
		padding-left: 1.5rem;
	}
}

.blue_textbox p {
	line-height: 1.6;
	font-size: 1.1rem !important;
}

.entry-content blockquote::before,
.entry-content blockquote::after,
.nishiki-pro-content blockquote::before,
.nishiki-pro-content blockquote::after {
	font-size: 1rem;
	padding: 0 1rem;
}

.entry-content blockquote,
.nishiki-pro-content blockquote {
	padding: 2rem !important;
}

@media screen and (max-width: 480px) {
	blockquote a {
		font-size: 0.8rem;
		line-height: 0.7;
	}
}

/*trap*/
.trap h2 {
	line-height: 0.9;
	font-size: 2rem;
}

@media screen and (max-width: 780px) {
	.trap h2 {
		padding-top: 3rem;
		font-size: 5vw;
	}

	.trap {
		padding: 0;
	}
}

.br2 {
	display: none;
}

@media screen and (max-width: 1010px) {
	.br2 {
		display: block;
	}
}

.trap .wp-block-columns {
	margin: 4rem;
}

@media screen and (max-width: 480px) {
	.trap .wp-block-columns {
		margin: 2rem;
	}
}

.trap_flame {
	border: 3px solid var(--bg-dblue);
	border-radius: 0.5rem;
	padding: 2rem !important;
}

@media screen and (max-width: 480px) {
	.trap_flame {
		padding: 1.5rem 0 !important;
	}
}

.trap .subtitle,
.trap .subcopy {
	font-size: 1.6rem !important;
}

.br4 {
	display: none;
}

@media screen and (max-width: 570px) {
	.trap .subtitle {
		line-height: 0.8;
		font-size: 5vw !important;
		text-align: left;
		padding-left: 2rem !important;
	}

	.trap .subcopy {
		font-size: 4vw !important;
		padding-top: 1rem;
	}

	.br4 {
		display: block;
	}

	.trap .mt0 {
		margin-top: 1rem !important;
	}

	.trap p:not(.subcopy):not(.subtitle) {
		padding: 0 2rem !important;
	}
}

.cyberattack_title {
	font-size: 2rem;
}

@media screen and (max-width: 600px) {
	.cyberattack_title {
		font-size: 5.5vw !important;
		padding-top: 4rem !important;
	}
}

/*table*/
.lp_table,
.lp_table2 {
	max-width: var(--content-text) !important;
	border: none !important;
}

.lp_table table,
.lp_table2 table {
	border: 1px solid var(--bg-dblue);
}

.lp_table th,
.lp_table2 th {
	background-color: var(--bg-dblue);
}

.lp_table thead,
.lp_table2 thead {
	border-bottom-color: white !important;
}

.lp_table.wp-block-table.is-style-stripes tbody tr:nth-child(odd),
.lp_table2.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: white;
}

.lp_table.wp-block-table.is-style-stripes tbody tr:nth-child(even),
.lp_table2.wp-block-table.is-style-stripes tbody tr:nth-child(even) {
	background-color: var(--bg-blue);
}

.lp_table th,
.lp_table td,
.lp_table2 th,
.lp_table2 td {
	border-right: 1px solid white !important;
}

.lp_table td:last-child,
.lp_table2 td:last-child {
	border-right: 1px solid var(--bg-dblue) !important;
}

.lp_table th,
.lp_table2 th {
	text-align: center;
}

.lp_table td:first-child,
.lp_table td:first-child {
	text-align: center;
	font-weight: bold;
	width: 150px;
}

.lp_table td:nth-child(2) {
	text-align: center;
	font-weight: bold;
	width: 90px;
}

.lp_table2 td:first-child {
	font-weight: bold;
	width: 280px;
}

.lp_table .wp-element-caption {
	text-align: center;
}

@media screen and (max-width: 480px) {
	.lp_table {
		padding-bottom: 4rem !important;
	}

	.lp_table2 {
		padding: 0 1rem !important;
	}
}

@media screen and (max-width: 780px) {
	.lp_table2 td {
		font-size: 1rem !important;
	}
}

.onemail-copy {
	font-size: 1.6rem;
	line-height: 1.6rem;
	margin-top: 4rem !important;
}

.br3 {
	display: none;
}

@media screen and (max-width: 1010px) {
	.br3 {
		display: block;
	}
}

/*AI*/
.titele_AI {
	font-size: 2rem !important;
	line-height: 1.8rem;
}

@media screen and (max-width: 510px) {
	.titele_AI {
		font-size: 6vw !important;
		line-height: 1.2rem;
	}
}

.proofpoint_graph {
	border: 3px solid var(--bg-dblue);
	padding: 0.5rem;
}

.br5 {
	display: none;
}

@media screen and (max-width: 780px) {
	.br5 {
		display: block;
	}
}

.title_spammail {
	font-size: 2rem !important;
}

.onemail-copy {
	font-size: 1.6rem !important;
}

@media screen and (max-width: 480px) {
	.title_spammail {
		font-size: 6vw !important;
	}

	.onemail-copy {
		font-size: 4.5vw !important;
		font-weight: bold;
		line-height: 1.2;
	}
}

/*cta*/
.cta {
	margin: 5rem;
	border-radius: 1rem;
	background-color: var(--bg-blue);
}

@media screen and (max-width: 780px) {
	.cta {
		margin: 2rem;
		width: 90%;
	}
}

.cta_messeage {
	font-size: 1.4rem !important;
}

.br6 {
	display: none;
}

@media screen and (max-width: 1000px) {
	.cta_messeage {
		line-height: 1.6;
	}

	.br6 {
		display: inline;
	}
}

@media screen and (max-width: 480px) {
	.cta_messeage {
		font-size: 4.5vw !important;
		margin-bottom: 0 !important;
		padding: 0.5rem 0 !important;
	}

	.cta {
		padding: 1rem 0;
	}
}

/*functions*/
.functions_title_countainer {
	gap: 0;
	margin-top: 2rem !important;
}

@media screen and (max-width: 480px) {
	.functions_title_countainer {
		width: 450px !important;
		padding-left: 10%;
	}
}

.functions_title {
	max-width: 300px;
}

.functions_title img {
	max-width: 300px;
}

.functions_title_countainer .functions_text p {
	line-height: 1.1;
	font-size: 2rem !important;
}

@media screen and (max-width: 510px) {
	.functions_title_countainer .functions_text p {
		font-size: 6vw !important;
	}
}

@media screen and (max-width: 780px) {
	.lp_table2 {
		padding-bottom: 4rem !important;
	}

	.lp_table2 thead {
		display: none;
	}

	.lp_table2 tbody {
		border-top: 2px solid var(--bg-dblue);
	}

	.lp_table2 tr {
		border: 2px solid var(--bg-dblue);
	}

	.lp_table2 tr td:nth-child(2) {
		border-top: 1px dotted var(--bg-dblue);
		padding: 1rem;
	}
}

/*features*/
.features_colmuns {
	row-gap: 0;
	gap: 0;
}

.features img {
	padding: 1rem;
}

@media screen and (max-width: 780px) {
	.features img {
		display: block;
		margin: auto;
	}
}

.features h4 {
	font-size: 1.6rem !important;
}

.features_colmuns p {
	padding: 1rem;
}

@media screen and (max-width: 780px) {
	.features {
		padding: 0 2rem !important;
	}

	.features_colmuns p {
		padding: 3rem !important;
	}
}

/*faq*/
.faq {
	padding: 0 2rem;
}

.faq_title {
	font-size: 2rem !important;
	margin-top: 5rem !important;
}

@media screen and (max-width: 780px) {
	.faq h2 {
		text-align: center !important;
	}

	.faq_title {
		margin-top: 4rem !important;
	}
}

.faq p {
	font-size: 1.1rem !important;
	line-height: 1.6;
}

.ea-header {
	padding: 0 !important;
	font-size: 1rem !important;
}

.ea-header a::before {
	content: "Q";
	font-weight: bold;
	color: white;
	background-color: #de4e1d;
	display: inline-block;
	width: 3rem;
	height: 3rem;
	line-height: 2.5rem;
	text-align: center;
	border-radius: 50%;
	margin-right: 8px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 2rem !important;
}

.ea-header a {
	line-height: 3rem !important;
}

.ea-icon-expand-plus {
	line-height: 3rem !important;
}

.faq p {
	margin-bottom: 1rem !important;
}

.competitive_table th {
	height: 80px;
}

/*competitive*/
.competitive_table tr th:nth-child(3),
.competitive_table tr th:nth-child(4) {
	background-color: #f5f5f5;
}

.competitive_table tr td:first-child {
	font-weight: bold;
	background-color: var(--bg-blue);
	font-size: 1rem;
}

.competitive_table {
	text-align: center;
}

.competitive_table tr:nth-child(n + 1):nth-child(-n + 10) td:nth-child(2) {
	font-weight: bold;
	border-right: 5px solid var(--deep-orange);
	border-left: 5px solid var(--deep-orange);
	background-color: #fef0db;
	font-size: 1.2rem;
}

.competitive_table tr:nth-child(1) td:nth-child(2) {
	border-top: 5px solid var(--deep-orange);
}

.competitive_table tr:nth-child(10) td:nth-child(2) {
	border-bottom: 5px solid var(--deep-orange);
}

/*price*/
.price_title {
	padding-top: 4rem !important;
	font-size: 2rem;
}

@media screen and (max-width: 480px) {
	.price_title {
		text-align: center;
	}
}

.price .has-large-font-size {
	font-size: 1.8rem !important;
}

@media screen and (max-width: 480px) {
	.price .has-large-font-size {
		font-size: 1.4rem !important;
	}
}

.price_table {
	text-align: center;
	font-weight: bold;
}

.price_table td,
.price_table th {
	font-size: 0.8rem !important;
}

.price_table tr td:first-child {
	background-color: var(--bg-blue);
}

.price_table tr:first-child th:nth-child(2) {
	background-color: #ffffe0;
}

.price_table tr:first-child th:nth-child(3) {
	background-color: #fef0db;
}

.price_table tr:nth-child(2) td:nth-child(2),
.price_table tr:nth-child(2) td:nth-child(3),
.price_table tr:nth-child(4) td:nth-child(3),
.price_table tr:nth-child(4) td:nth-child(2) {
	color: var(--deep-orange);
	font-size: 1.7rem !important;
	letter-spacing: 0;
}

@media screen and (max-width: 480px) {
	.price_table tr:nth-child(2) td:nth-child(2),
	.price_table tr:nth-child(2) td:nth-child(3),
	.price_table tr:nth-child(4) td:nth-child(3),
	.price_table tr:nth-child(4) td:nth-child(2) {
		font-size: 5vw !important;
	}
}

/*process*/
.process_title {
	font-size: 2rem !important;
}

@media screen and (max-width: 480px) {
	.process_title {
		text-align: center;
		margin-top: 4rem !important;
	}

	.process {
		padding: 0 3rem !important;
	}
}

.process h4 {
	font-size: 1.4rem;
}

.process1 h4::before {
	content: "1";
	font-weight: bold;
	color: white;
	background-color: #de4e1d;
	display: inline-block;
	width: 3rem;
	height: 3rem;
	line-height: 2.5rem;
	text-align: center;
	border-radius: 50%;
	margin-right: 8px;
	font-size: 2rem !important;
}

.process2 h4::before {
	content: "2";
	font-weight: bold;
	color: white;
	background-color: #de4e1d;
	display: inline-block;
	width: 3rem;
	height: 3rem;
	line-height: 2.5rem;
	text-align: center;
	border-radius: 50%;
	margin-right: 8px;
	font-size: 2rem !important;
}

.process3 h4::before {
	content: "3";
	font-weight: bold;
	color: white;
	background-color: #de4e1d;
	display: inline-block;
	width: 3rem;
	height: 3rem;
	line-height: 2.5rem;
	text-align: center;
	border-radius: 50%;
	margin-right: 8px;
	font-size: 2rem !important;
}

.process img {
	padding: 1rem;
}

.process_colmuns {
	display: flex;
	flex-wrap: wrap;
}

.process_colmuns p {
	font-size: 1rem !important;
	margin-bottom: 2rem !important;
	background-color: #fef0db;
	padding: 1.5rem !important;
	height: 11rem;
	border-radius: 0.5rem;
	line-height: 1.5;
}

@media screen and (max-width: 780px) {
	.process_colmuns p {
		display: flex;
		align-items: center;
		justify-content: center;
		height: auto;
	}
}

/*contact*/
.contact_section .snow-monkey-form {
	padding: 4rem 2rem;
}

.smf-form {
	font-weight: bold;
}

.smf-form--letter {
	padding-top: 2rem;
}

.smf-item {
	margin: 1rem 0 !important;
}

[data-screen="back"]
	.smf-progress-tracker__item--input
	.smf-progress-tracker__item__number,
[data-screen="complete"]
	.smf-progress-tracker__item--complete
	.smf-progress-tracker__item__number,
[data-screen="confirm"]
	.smf-progress-tracker__item--confirm
	.smf-progress-tracker__item__number,
[data-screen="input"]
	.smf-progress-tracker__item--input
	.smf-progress-tracker__item__number,
[data-screen="invalid"]
	.smf-progress-tracker__item--input
	.smf-progress-tracker__item__number {
	background-color: var(--deep-orange);
}

.smf-progress-tracker__item__number {
	background-color: #fef0db;
}

.LP-sm-form.smf-form .smf-item .smf-text-control__control,
.LP-sm-form.smf-form .smf-item .smf-textarea-control__control {
	background-color: var(--bg-blue);
	border: none;
}

.smf-checkboxes-control__control {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 0 auto;
	width: 600px;
}

.smf-label {
	margin: 0 auto;
	width: 45%;
	line-height: 1.5rem;
}

@media screen and (max-width: 480px) {
	.smf-checkboxes-control__control {
		display: flex;
		flex-direction: column;
		gap: 1rem;
		margin: 0 auto;
		width: 100%;
	}

	.smf-label {
		margin: 0 auto;
		width: 100%;
		line-height: 1.5rem;
	}
}

.smf-action .smf-button-control__control {
	background: linear-gradient(135deg, #ea8700 40%, #e44c0c 60%, #bf247d 100%);
	color: white;
	font-weight: bold;
	font-size: 1.5rem;
	border: none;
	border-radius: 0.5rem;
	padding: 0.8rem 2rem;
}

.smf-action .smf-button-control__control:hover {
	background: linear-gradient(-45deg, #ea8700 40%, #e44c0c 60%, #bf247d 100%);
}

@media screen and (max-width: 780px) {
	.smf-progress-tracker {
		padding-left: 0 !important;
	}
}

.smf-placeholder {
	color: #1d67ab;
}

.smf-complete-content {
	border-radius: 1rem;
	background-color: var(--bg-blue);
	padding: 1rem;
	font-size: 1rem !important;
}

/* fotter */
.nishiki-pro-content-9 figure {
	width: 600px;
	margin: 0 auto;
}

@media screen and (max-width: 1080px) {
	.nishiki-pro-content-9 figure {
		width: 70%;
	}
}

@media screen and (max-width: 480px) {
	.nishiki-pro-content-9 figure {
		width: 90%;
	}
}

#footer .copyright {
	padding: 0;
	font-size: 1rem;
}

#footer .footer-inner {
	padding-top: 0.5rem;
}
