@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

@media screen and (min-width:800px){
	.no-pc{
		display:none!important;
	}
}
@media screen and (max-width:799px){
	.no-sp{
		display:none!important;
	}
}

/* ==========================================================================================
	CSS reset
=========================================================================================== */
:root {
	--body-fore:#333;
	--body-back:#fff;

	--color-title:#444;
	--color-subtitle:#0069bf;
	--color-navi:#3f7db1;

	--header-bg:rgba(255,255,255,0.95);
	--sp-navi-bg:rgba(247,251,255,0.9);

	--bg1:#dde6f7;
	--bg2:#ddeefe;
	--bg3:#ebeffa;
	--bg4:#d0e6f4;
	--bg-top:#335875;
	--bg-top-hover:#3f7db1;
	--bg-gra:linear-gradient(#303b61,#335875,#3fadb1);
	--bg-glass:rgba(0,94,174,0.7);

	--font:'Noto Sans JP',sans-serif;

	--size-l6:300%;
	--size-l5:250%;
	--size-l4:200%;
	--size-l3:175%;
	--size-l2:150%;
	--size-l1:125%;
	--size-l0:110%;
	--size-form:125%;
	--size-default:100%;
	--size-body:20px;
	--size-s1:90%;
	--size-s2:80%;
	--size-s3:75%;
	--size-s4:70%;
	--size-s5:60%;

}

/* ==========================================================================================
	CSS reset
=========================================================================================== */
* ,*:before ,*:after {
	box-sizing:border-box;
	text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
}
html ,body ,div ,p ,span ,iframe ,a ,img ,
h1 ,h2 ,h3 ,h4 ,h5 ,h6 ,
dl ,dt ,dd ,ol ,ul ,li ,
form ,label ,
table ,thead ,tbody ,tfoot ,tr ,th ,td ,
blockquote ,q ,pre ,em ,strong ,i ,small ,
header ,footer ,nav ,article ,section ,aside {
	margin:0;
	padding:0;
	border:0 none;
	line-height:inherit;
	color:inherit;
	font-size:inherit;
	font-weight:inherit;
	font-style:inherit;
	text-decoration:inherit;
	vertical-align:baseline;
	font-family:inherit;
}
button ,input ,textarea ,select {
	padding:0.3em;
	line-height:1.6;
	font-family:inherit;
	font-size:inherit;
	border-radius:0.3em;
}
input[type="submit"] ,button {
	padding:0.5em 2em;
	font-family:inherit;
}
a ,.anchorLink {
	cursor:pointer;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
img {
	vertical-align:top;
	max-width:100%;
	max-height:100%;
	backface-visibility:hidden;
}
ol ,ul ,li {
	list-style:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}




/* ========================================================================================
	base
=========================================================================================== */
html{
	scroll-behavior: smooth;
}

body{
	position:relative;
	line-height:1.8;
	font-size:var(--size-body);
	color:var(--body-fore);
	background:var(--body-back);
	font-family:var(--font);
}

.innerFrame {
	width:1200px;
	margin:0 auto;
}

main > section {
	scroll-margin-top:72px;
}

@media screen and (min-width:800px){
	#bgLayer{
		min-width: 1200px;
		max-width: 1920px;
		width:100%;
		margin:0 auto;
	}
}

@media screen and (max-width:799px){
	#bgLayer{
		width:480px;
		margin:0 auto;
	}
	.innerFrame {
		width:480px;
	}

}



/* ========================================================================================
	common
=========================================================================================== */
.bg1 {
	background:var(--bg1);
}
.bg2 {
	background:var(--bg2);
}
.bg3 {
	background:var(--bg3);
}
.bg4 {
	background:var(--bg4);
}
.bg-gra {
	color:#fff;
	background:var(--bg-gra);
}



main > section {
	padding:6em 0;
}

.section-title {
	margin-bottom:4em;
	color:var(--color-title);
	border-bottom:4px solid var(--color-title);
	text-align:center;
}

.section-title > span {
	font-size:var(--size-l5);
	font-weight:bold;
}

.section-subtitle {
	color:var(--color-subtitle);
	border-bottom:2px solid var(--color-subtitle);
	text-align:center;
}

.section-subtitle > span {
	font-size:var(--size-l3);
	font-weight:bold;
}

@media screen and (max-width:799px){
	main > section {
		padding:4em 0;
	}
	.section-title {
		margin-bottom:3em;
	}
	.section-title > span {
	line-height:1.6;
		font-size:var(--size-l3);
	}

	.section-subtitle > span {
		font-size:var(--size-l2);
	}
}


/* =====================================================================
	header
======================================================================== */
header{
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:1000;
	background:var(--header-bg);
	box-shadow:0 1px 3px var(--color-navi);
}
header .innerFrame{
	display:flex;
	justify-content:center;
	align-items:center;
}
header .logo {
	margin-right:auto;
	padding:0.4em 0;
}
header .logo img  {
	height:3.2em;
}

@media screen and (max-width:799px){
	header .logo img  {
		height:2.4em;
	}
}


/* ==================================
	navi
================================== */
.nav-ul{
	padding:0.3em 0;
	display:flex;
	justify-content:center;
	align-items:center;
}
.nav-li {
	padding: 0 0.5em;
}

.nav-li a{
	padding:0.2em 0.5em 0;
	color:var(--color-navi);
	border-bottom:solid 0.2em transparent;
	display:flex;
	justify-content:center;
	align-items:center;
}
.nav-li a .text{
	padding-left:0.2em;
	font-weight:bold;
}

@media screen and (min-width:800px){
	.nav-li a:hover {
		border-bottom-color:var(--color-navi);
	}
}

@media screen and (max-width:799px){
}



/* ==================================
	menu icon
================================== */
#navi-flag {
	display: none;
}
#menu {
	padding-right:0.3em;
}

#menu-icon {
	position:relative;
	display:block;
	width:3em;
	aspect-ratio:1/1;
}

#menu-icon > span ,
#menu-icon:before ,
#menu-icon:after {
	position:absolute;
	top:50%;
	left:0.5em;
	right:0.5em;
	display:block;
	height:3px;
	background:#000;
	border-radius:0.5em;
	transform:translateY(-50%);

	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
#menu-icon:before ,
#menu-icon:after {
	content:"";
}
#menu-icon:before {
	top:30%;
}
#menu-icon:after {
	top:70%;
}

#navi-flag:checked ~ header #menu-icon > span {
	background:transparent;
}
#navi-flag:checked ~ header #menu-icon:before {
	transform: rotate(45deg);
	top:50%;
}
#navi-flag:checked ~ header #menu-icon:after {
	transform: rotate(-45deg);
	top:50%;
}


/* ==============================================================
	sp menu
================================================================= */
@media screen and (max-width:799px){
	header .innerFrame {
		background:var(--body-bg);
	}
	header nav {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index:-1;
		width: 100%;
		height: 100%;
		background:var(--sp-navi-bg);
		display:flex;
		flex-direction:column;
		align-items:center;

		transition: all 0.3s;
		-webkit-transition:all 0.3s;
		margin-top: -110vh;
	}
	#navi-flag:checked ~ header nav {
		margin-top:0;
		backdrop-filter:blur(0.2em);
	}

	.nav-ul {
		align-items:flex-start;
		flex-direction:column;
		padding-top:4em;
	}
	.nav-li {
		padding:0.6em;
	}
	.nav-li a {
	}

	.nav-li a .material-symbols-outlined {
		font-size:var(--size-l3);
	}
	.nav-li a .text{
		font-size:var(--size-l1);
	}


	.nav-info {
		padding-top:2em;
		line-height:1.6;
		text-align:center;
	}
	header .nav-info .logo img  {
		height:8em;
	}
	.nav-info .name {
		padding-top:0.5em;
	}
	.nav-info .address p {
		font-size:var(--size-s1);
	}

	.nav-info .address {
		padding-top:0.5em;
	}
	.nav-info .address p {
		font-size:var(--size-s2);
	}
	.nav-info .tel {
		padding-top:0.5em;
	}

}



/* =====================================================================
	footer
======================================================================== */
footer {
	padding-top:4em;
	text-align:center;
}

footer .logo img {
	width:20em;
}

footer .address {
	padding-top:1em;
}
footer .address p {
	font-size:var(--size-s2);
	line-height:1.6;
}

footer .tel {
	padding-top:0.5em;
}

footer .time p {
	font-size:var(--size-s2);
	line-height:1.6;
}

.copyright {
	font-size:var(--size-s3);
	padding:4em 0 1em;
}



/* ==========================================================
	pagetop button
============================================================= */

#pagetopButton {
	display:none;
	position: fixed;
	bottom: 1em;
	right: 1em;
	width:3em;
	height:3em;
	z-index: 10000;
}

#pagetopButton .anchorLink {
	width:100%;
	height:100%;
	line-height:1.2;
	font-weight:bold;
	color:#fff;
	background:var(--bg-top);
	border:2px solid #fff;
	border-radius:0.3em;
	cursor:pointer;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
}

#pagetopButton .top1 {
	font-size:var(--size-l2);
}

@media screen and (min-width:800px){
	#pagetopButton .anchorLink:hover {
		background:var(--bg-top-hover);
	}
}
@media screen and (max-width:799px){
	#pagetopButton {
		bottom: 0.2em;
		right: 0.2em;
		width:3.5em;
		height:3.5em;
		z-index: 10;
	}

	#pagetopButton .anchorLink:active {
		background-color: #006c0c;
	}
}


/* ========================================================================================
	fv
=========================================================================================== */
#fv {
	padding-bottom:0;
	background:url(images/common/fv.jpg) 50% 50% no-repeat;
	background-size:cover;
}
.fv-info {
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	text-align:center;
}

.fv-info .fv-main {
	height:calc(100vh - 4em);
	min-height:640px;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	filter:drop-shadow(0 0 0.1em #fff) drop-shadow(0 0 0.2em #fff) drop-shadow(0 0 0.3em #fff) drop-shadow(0 0 0.3em #fff);
}

.fv-main .logo img {
	width:20em;
}

.fv-main .catch {
	padding:1em 0;
	border-bottom:4px solid var(--body-fore);
}
.fv-main .catch span {
	line-height:1.4;
	font-size:var(--size-l5);
	font-weight:bold;
}

.fv-main .sub-catch {
	padding-top:0.5em;
}
.fv-main .sub-catch span {
	font-size:var(--size-l3);
	font-weight:bold;
}

.fv-main .button {
	padding-top:3em;
}
.fv-main .button .anchorLink {
	padding:0.5em 3em;
	border:1px solid var(--body-fore);
	background:rgba(255,255,255,0.05);
}
.fv-main .button .anchorLink span {
	font-size:var(--size-l1);
	font-weight:bold;
}

@media screen and (min-width:800px){
	.fv-main .button .anchorLink:hover {
		background:rgba(255,255,255,0.1);
	}
}
@media screen and (max-width:799px){
	.fv-main .logo img {
		width:15em;
	}
	.fv-main .catch {
		width:100%;
		padding:4em 0 2em;
	}
	.fv-main .catch span {
		font-size:var(--size-l2);
	}
	.fv-main .sub-catch {
		padding-top:2em;
	}
	.fv-main .sub-catch span {
		font-size:var(--size-l1);
	}
}




/* ========================================================================================
	fv-sub
=========================================================================================== */
.fv-sub-text {
	margin-top:auto;
	width:100%;
	padding:3em 0;
	background:rgba(255,255,255,0.8);
	backdrop-filter:blur(0.3em);
	text-align:center;
}
.fv-sub-text span{
	line-height:2.4;
	font-size:var(--size-l1);
	font-weight:500;
}

@media screen and (min-width:800px){
}
@media screen and (max-width:799px){
	.fv-sub-text span{
		line-height:2;
		font-size:var(--size-l0);
	}
}




/* ========================================================================================
	concept
=========================================================================================== */
.concept-catch-block {
	padding:0 1em;
}
.concept-catch {
	width:100%;
	height:16em;
	padding-top:2em;
	background:url(images/common/concept.jpg) 50% 50% no-repeat;
	background-size:cover;
	display:flex;
	align-items:flex-start;
}
.concept-catch p {
	padding:0.5em 2em;
	color:#fff;
	background:var(--bg-glass);
}
.concept-catch p span {
	display:block;
	padding-left:7em;
	text-indent:-7em;
	font-size:var(--size-l2);
	letter-spacing:0.2em;
	text-shadow:0px 0px 1px #fff;
}

.concept-text {
	width:1000px;
	margin:0 auto;
	padding-top:3em;
}
.concept-text p {
	text-align:justify;
}
.concept-text p span {
	line-height:2;
	font-size:var(--size-l0);
	letter-spacing:0.05em;
}

@media screen and (min-width:800px){
}
@media screen and (max-width:799px){
	.concept-catch-block {
		padding:0;
	}
	.concept-catch p {
		padding:0.5em 1em;
	}
	.concept-catch p span {
		padding-left:1em;
		text-indent:-1em;
		font-size:var(--size-l0);
		letter-spacing:0.1em;
	}

	.concept-text {
		width:100%;
		padding:2em 1em 0;
	}
	.concept-text p span {
		line-height:inherit;
		font-size:var(--size-default);
		letter-spacing:0;
	}
}




/* ========================================================================================
	service
=========================================================================================== */
.service-list {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
.service-list > * {
	width:calc(100% / 3);
	padding:0 0.5em;
}

.service-list h3 {
	color:var(--color-subtitle);
	text-align:center;
}
.service-list h3 span {
	font-size:var(--size-l1);
	font-weight:bold;
}

.service-list .image {
	padding-top:0.5em;
	text-align:center;
}

.service-list p {
	padding:0.5em 0.5em 0;
	text-align:justify;
	display:flex;
}
.service-list p span {
	font-size:var(--size-s3);
	letter-spacing:0.01em;
}




@media screen and (min-width:800px){
	.service-list > *:nth-child(n + 4) {
		padding-top:3em;
	}
}
@media screen and (max-width:799px){
	.service-list > * {
		width:100%;
		padding:0 1em;
	}
	.service-list > * + * {
		padding-top:2em;
	}
	.service-list .image {
		padding:0.5em 3em;
	}
	.service-list p span {
		font-size:var(--size-s2);
	}
}




/* ========================================================================================
	reason
=========================================================================================== */
.reason-text {
	text-align:center;
}
.reason-text p {
	color:var(--color-subtitle);
}
.reason-text p span {
	font-size:var(--size-l1);
	font-weight:bold;
}

.reason-list {
	padding-top:3em;
	display:flex;
	justify-content:center;
}
.reason-list > * {
	width:calc(100% / 3);
	padding:0 0.5em;
}
.reason-list h3 {
	text-align:center;
}
.reason-list p {
	padding:1em 0.5em 0;
	text-align:justify;
	display:flex;
}
.reason-list p span {
	font-size:var(--size-s3);
	letter-spacing:0.01em;
}


@media screen and (min-width:800px){
}
@media screen and (max-width:799px){
	.reason-text p {
		text-align:justify;
		padding:0 1em;
	}
	.reason-text p span {
		font-size:var(--size-l0);
	}
	.reason-list {
		flex-wrap:wrap;
	}
	.reason-list > * {
		width:100%;
		padding:0 1em;
	}
	.reason-list > * + * {
		padding-top:2em;
	}
	.reason-list h3 img {
		width:60%;
	}
	.reason-list p span {
		font-size:var(--size-s2);
	}
}




/* ========================================================================================
	vision
=========================================================================================== */
.vision-list {
	padding:0 1em;
}
.vision-list > * + * {
	padding-top:4em;
}

.vision-list > * {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
.vision-list > *:nth-child(even) {
	flex-direction:row-reverse;
}

.vision-list > * > h3 {
	width:100%;
}
.vision-list > * > p {
	width:50%;
	padding:2em 1em 0;
	line-height:2.4;
	text-align:justify;
}
.vision-list > * > p span {
	letter-spacing:0.01em;
}
.vision-list > * > .image {
	width:50%;
	padding:2em 1em 0;
	text-align:center;
}





@media screen and (min-width:800px){
}
@media screen and (max-width:799px){
	.vision-list > * > h3 {
		order:1;
	}
	.vision-list > * > p {
		order:3;
		width:100%;
		padding:1.5em 0.5em;
		line-height:inherit;
	}
	.vision-list > * > p span{
		font-size:var(--size-s1);
	}
	.vision-list > * > .image {
		order:2;
		width:100%;
	}
}




/* ========================================================================================
	caveat
=========================================================================================== */
#caveat {
	padding-top:0;
}
.caveat-main {
	background:url(images/common/caveat.jpg) 50% 50% no-repeat;
	background-size:cover;
}
.caveat-main .innerFrame {
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
}
.caveat-main .innerFrame > * {
	width:50%;
}
.caveat-main .innerFrame > h2 {
	color:var(--color-subtitle);
	filter:drop-shadow(0 0 0.1em #fff) drop-shadow(0 0 0.2em #fff) drop-shadow(0 0 0.3em #fff);
}
.caveat-main .innerFrame > h2 span {
	font-size:var(--size-l3);
	font-weight:bold;
}

.caveat-main .innerFrame > ul {
	height:30em;
	padding-top:16em;
	line-height:2;
	color:#fff;
	background:url(images/common/fv_logo_w.png) 50% 15% no-repeat var(--bg-glass);
	background-size:50%;
}
.caveat-main .innerFrame > ul span {
	font-weight:bold;
	letter-spacing:0.2em;
	text-indent:0.2em;
}



@media screen and (min-width:800px){
}
@media screen and (max-width:799px){
	.caveat-main .innerFrame {
		flex-direction:column;
	}
	.caveat-main .innerFrame > * {
		width:100%;
	}

	.caveat-main .innerFrame > h2 {
		padding:3em 0;
	}
	.caveat-main .innerFrame > h2 span {
		font-size:var(--size-l1);
	}
	.caveat-main .innerFrame > ul {
		height:auto;
		padding:10em 0 2em;
		line-height:inherit;
		background-position:50% 10%;
		background-size:40%;
	}
	.caveat-main .innerFrame > ul span {
		font-size:var(--siz-s1);
		letter-spacing:0.1em;
		text-indent:0.1em;
	}
}




/* ====================================================================
	to-partners
==================================================================== */
.to-partners {
	padding-top:6em;
}

.to-partners-frame {
	padding:2em;
	border:2px solid var(--color-subtitle);
	border-radius:1em;
	text-align:center;
}

.to-partners-frame .title {
	margin-bottom:3em;
	color:var(--color-title);
	border-bottom:3px solid var(--color-title);
	text-align: center;
}
.to-partners-frame .title span {
	font-size:var(--size-l4);
	font-weight:bold;
}

.to-partners-frame h4 {
	margin:3em auto 1em;
	width:40%;
	border:2px solid var(--color-subtitle);
	border-radius:2em;
}
.to-partners-frame h4 span {
	font-size:var(--size-l1);
}

.to-partners-frame p {
}


@media screen and (min-width:800px){
}
@media screen and (max-width:799px){
	.to-partners {
		padding:4em 1em 0;
	}
	.to-partners-frame {
		padding:1em;
	}
	.to-partners-frame .title {
		margin-bottom:2em;
	}
	.to-partners-frame .title span {
		font-size:var(--size-l2);
	}
	.to-partners-frame h4 {
		width:80%;
	}
	.to-partners-frame p {
		text-align:justify;
	}
	.to-partners-frame p > span {
		font-size:var(--size-s1);
	}
}



/* ========================================================================================
	company
=========================================================================================== */
#company .section-title {
	margin-bottom:2em;
}

.company-table {
	width:50em;
	margin:0 auto;
}
.company-table tr > * {
	padding:1em;
	border-bottom:1px solid var(--body-fore);
}

.company-table tr > th {
	width:30%;
	text-align:right;
}


@media screen and (min-width:800px){
}
@media screen and (max-width:799px){
	.company-table {
		width:96%;
		font-size:var(--size-s1);
	}
	.company-table tr > * {
		padding:1em 0.5em;
	}
	.company-table tr > th {
		width:20%;
		white-space:nowrap;
	}
}



/* ============================================================================================
	form
============================================================================================= */
#form-table {
	width:50em;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}

#form-table dt {
	width:30% !important;
	border-top: none !important;
	text-align:right;
}
#form-table > * {
	font-size:var(--size-l0) !important;
}

#form-table dd {
	width:calc(100% - 30%);
	padding: 0.8em 1.5em !important;
	border-top: none !important;
}


@media screen and (max-width:799px){
	#form-table {
		width:100%;
	}
	#form-table dt{
		width:100% !important;
		padding-bottom:0.5em;
	}

	#form-table dd{
		width:100%;
		padding:0 1em 0.5em;
	}
}


/* ====================================================================
	form - optional / required
==================================================================== */
.optional,
.required{
	display:flex;
	justify-content:flex-start;
	flex-direction:row-reverse;
	align-items:center;
}

.optional:before{
	content:attr(data-text);
	display:inline-block;
	margin-left:0.5em;
	margin-right: 0.5em;
	padding:0 0.3em;
	border-radius:0.3em;
	color:#fff;
	font-size:var(--size-s1);
	line-height:1.6;
}

.required:before{
	content:attr(data-text);
	display:inline-block;
	margin-left:0.5em;
	padding:0 0.3em;
	background-color: #f00;
	border-radius:0.3em;
	color:#fff;
	line-height:1.6;
	font-size:var(--size-s1);
	margin-right: 0.5em;
}

.optional:before{
	background-color: #004099;
}

@media screen and (max-width:799px){
	.optional,
	.required{
		flex-direction:row;
	}
}

/* ====================================================================
form - field
==================================================================== */
input ,textarea{
	-webkit-appearance:none; 
	appearance:none;
}

input:not([type="submit"]){
	border:1px solid #999;
	padding:0.3em 0.5em;
	width: 100% !important;
}

.textarea-text{
	padding:2.5em 5em !important;
}

textarea{
	resize:none;
	height:8em !important;
	padding:0.5em;
	border:1px solid #999;
	width: 100% !important;
}

@media screen and (max-width:799px){
	input[type="submit"]{
		width:auto;
		padding:0.5em 1em;
	}

	input:focus ,textarea:focus{
		border:solid 2px #000000;
		outline:none;
		background-color:#99e5ff;
	}

	input:focus[type="submit"]{
		opacity:0.8;
		border:none;
		outline:none;
		background-color:#000f4c;
	}
}

/* ====================================================================
	form - button
==================================================================== */
.formButton{
	padding-top:3em;
	text-align:center;
}

input[type="submit"] ,.formButton a{
	width:auto;
	padding:1em 3em;
	line-height:1;
	font-size:var(--size-l1);
	text-indent:0.3em;
	letter-spacing:0.3em;
	color:#fff;
	background: var(--color-subtitle) !important;
	border: 2px solid var(--color-subtitle) !important;
	outline:none;
	transition:all 0.2s ease;
	-webkit-transition:all 0.2s ease;
	cursor:pointer;
	border: 2px solid transparent;
}

.formButton a{
	text-indent:0.1em;
	letter-spacing:0.1em;
}


@media screen and (min-width:800px){
	input[type="submit"]:hover ,.formButton a:hover{
		background: #fff !important;
		color: var(--color-subtitle);
	}
}
@media screen and (max-width:799px){
	input[type="submit"],.formButton a {
		padding: 1em 1.5em;
	}
}

/* ====================================================================
	form - error
==================================================================== */
.error{
	margin:0.3em 0 0.5em;
	display:inline-block;
	padding:0.2em 1em;
	color:#f00;
	border:1px solid #f00;
	border-radius:0.2em;
	font-size:var(--size-s1);
}

/* ==================================
	confirm
================================== */
form#mailformpro label {
	margin:0 !important;
	font-size:var(--size-l1) !important;
	padding-bottom: 0.1em !important;
}

div.mfp_err {
	padding: 0px 0px 5px 17px !important;
	color: #f00 !important
	font-size:var(--size-s3) !important;
	background-position:0px 6px !important;
}

table#mfp_confirm_table {
	color: #000;
}

.mfp_element_submit {
	background: gradient(linear, center top, center bottom, from(#666), to(#666)) !important;
	background: -webkit-gradient(linear, center top, center bottom, from(#666), to(#666)) !important;
	background: -moz-linear-gradient(top, #666, #666) !important;
	background: -ms-linear-gradient(top, #666 0%, #666 100%) !important;
	text-shadow: 0px 0px 0px #FFF !important;
}

@media screen and (max-width:799px){
	.mfp_element_all {
		max-width: 100% !important;
	}
}


/* ==================================
	thanks
================================== */
#thanks .section-title span {
	font-size:var(--size-l4);
}
div.mfp_thanks {
	padding:0 !important;
	text-align: center;
}

div#mfp_thanks {
	padding-top:0 !important;
	padding-bottom:0 !important;
	font-size:var(--size-default) !important;
}
div#mfp_thanks strong {
	color: #f00 !important;
	font-size:var(--size-l2) !important;
	font-weight:bold;
}

div.mfp_thanks p,
div.mfp_thanks ul.mfp_caution li  {
	line-height: 1.8em !important;
}

#ThanksComment{
	padding-top:1em;
}

.mfp_thanks {
	font-size:var(--size-l0);
}
.mfp_thanks .text + .text {
	padding-top:1em;
}

div.mfp_thanks ul.mfp_caution li {
	padding: 0 !important;
}

.home-return{
	padding: 3em 0 1em;
	text-align: center;
}

.home-return .button {
	padding:0.2em 3em 0.3em;
	color:var(--color-subtitle);
	border:1px solid var(--color-subtitle);
	border-radius:0.3em;
}
.home-return .button span {
	font-size:var(--size-l0);
}


@media screen and (min-width:800px){
	.home-return .button:hover{
		color:#fff;
		background:var(--color-subtitle);
	}
}
@media screen and (max-width:799px){
	#thanks .section-title span {
		line-height:1.4;
		font-size:var(--size-l3);
	}

	div#mfp_thanks {
		max-width: 100% !important;
		padding:0.5em 1em 0!important;
	}

	.mfp_thanks {
		font-size:var(--size-default);
	}

	.home-return {
		padding-top:2em;
	}
}














