@charset "utf-8";
/* CSS Document */



/*--------------------------------------
	基本設定
---------------------------------------*/

*{
	margin: 0;
	padding: 0;
}
body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
	-webkit-text-size-adjust:100%;
	line-height: 1.6;
	font-size: 14px;
	margin: 0 auto;
	min-width: 1400px;
}
img {
	vertical-align: bottom;
	border: 0;
}
li {
	color: #333;
}
p {
	color: #333;
}
dl dt, dl dd {
	color: #333;
}
article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary
{
	display: block;
}

.pc_none {
	display: none;
}

@media only screen and (max-width: 767px) {
	
	body {
		min-width: 100%;
	}
	.pc_none {
		display: block;
	}
	.sp_none {
		display: none;
	}
	
}

@font-face {
  font-family: "noto";
  src: url("NotoSansJP-Black.woff") format("woff");
}
@font-face {
  font-family: "mplus";
  src: url("mplus-2p-black.woff") format("woff");
}



/*--------------------------------------
	ヘッダー
---------------------------------------*/

.header_area {
	padding: 10px 0 5px;
	border-bottom: solid 2px #b30000;
}
.header_area .inner {
	width: 1000px;
	margin: 0 auto;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.header_area .header_logo_area {
	text-align: center;
}
.header_area .header_logo_area .header_logo_txt {
	margin: 0 auto 10px;
	font-weight: bold;
}
.header_area .header_logo_area h1 {
	margin: 0 auto 15px;
}
.header_area .header_logo_area h1 img {
	width: 270px;
	height: auto;
}
.header_area .header_inquiry_area {
	text-align: center;
	margin: 5px 0 0;
}
.header_area .header_inquiry_telarea {
	display: flex;
	margin: 0 auto 5px;
}
.header_area .header_inquiry_area .header_inquiry_ttl {
	font-size: 22px;
	font-weight: bold;
	color: #b30000;
	line-height: 1;
}
.header_area .header_inquiry_area .header_inquiry_tel {
	margin: 5px auto 0;
}
.header_area .header_inquiry_area .header_inquiry_tel a {
	pointer-events: none;
	text-decoration: none;
	color: #b30000;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
}
.header_area .header_inquiry_area .header_inquiry_mail {
	margin: 0 0 0 10px;
}
.header_area .header_inquiry_area .header_inquiry_mail a {
	display: block;
	text-decoration: none;
	background: #b30000;
	border-radius: 5px;
	padding: 14px 20px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	-webkit-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
}
.header_area .header_inquiry_area .header_inquiry_mail a:hover {
	opacity: 0.8;
}
.header_area .header_inquiry_area .header_inquiry_txt {
	font-size: 16px;
}

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

	.header_area {
		padding: 20px;
	}
	.header_area .inner {
		width: 100%;
		display: block;
	}
	.header_area .header_logo_area {
		margin: 0 auto 20px;
	}
	.header_area .header_logo_area h1 {
		margin: 0 auto 10px;
	}
	.header_area .header_logo_area h1 img {
		width: 90%;
	}
	.header_area .header_logo_area p {
		line-height: 1.3;
	}
	.header_area .header_inquiry_area {
		margin: 0;
		display: block;
	}
	.header_area .header_inquiry_telarea {
		display: block;
		margin: 0 auto 5px;
	}
	.header_area .header_inquiry_area .header_inquiry_ttl {
		font-size: 4vw;
		line-height: 1.5;
	}
	.header_area .header_inquiry_area > div {
		width: 70%;
		margin: 0 auto 2vw;
	}
	.header_area .header_inquiry_area .header_inquiry_tel {
		margin: 0 auto;
	}
	.header_area .header_inquiry_area .header_inquiry_tel a {
		font-size: 6vw;
	}
	.header_area .header_inquiry_area .header_inquiry_mail {
		margin: 0 4vw;
	}
	.header_area .header_inquiry_area .header_inquiry_mail a {
		padding: 2vw 0;
		font-size: 4vw;
	}
	.header_area .header_inquiry_area .header_inquiry_txt {
		font-size: 12px;
	}
}


/*--------------------------------------
	コンテンツ
---------------------------------------*/

.main_area {
	padding: 20px 0;
	box-sizing: border-box;
}
.main_area .inner {
	width: 1200px;
	margin: 0 auto;
	padding: 20px;
	box-sizing: border-box;
}
.main_area .contents_box {
}
.main_area .contents_box > dt {
	color: #b30000;
	font-size: 36px;
	font-weight: bold;
	border-bottom: solid 2px #b30000;
	text-align: center;
}
.main_area .contents_box > dt span {
	font-size: 24px;
}
.main_area .contents_box > dd {
	padding: 15px 0;
	margin: 0 0 80px;
}
.policy_problem_wrap {
	background-color: #fff2f2;
	background-image: repeating-linear-gradient(135deg, transparent, transparent 15px, rgba(255,255,255,.5) 15px, rgba(255,255,255,.5) 30px);
	padding: 30px 0;
}
.main_area .policy_problem {
	width: 1400px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.main_area .policy_problem li {
	list-style: none;
	font-family: "mplus", sans-serif;
	font-size: 44px;
	text-align: center;
	margin: 10px 20px 20px;
}
.main_area .policy_problem li div {
	background:linear-gradient(transparent 50%, #faffb1 50%, #faffb1 85%, transparent 85%);
	display: inline;
}
.main_area .policy_problem li span {
	font-size: 54px;
}
.main_area .policy_problem li span.red {
	color: #b90000;
	letter-spacing : 3px;
	text-shadow: 1px  1px 0px #ffffff,
		-1px  1px 0px #ffffff,
		1px -1px 0px #ffffff,
		-1px -1px 0px #ffffff,
		1px  0px 0px #ffffff,
		0px  1px 0px #ffffff,
		-1px  0px 0px #ffffff,
		0px -1px 0px #ffffff;
}
.main_area .policy_problem li span.blue {
	color: #2e47c5;
	letter-spacing : 3px;
	text-shadow: 1px  1px 0px #ffffff,
		-1px  1px 0px #ffffff,
		1px -1px 0px #ffffff,
		-1px -1px 0px #ffffff,
		1px  0px 0px #ffffff,
		0px  1px 0px #ffffff,
		-1px  0px 0px #ffffff,
		0px -1px 0px #ffffff;
}
.main_area .policy_problem li span.green {
	color: #119309;
	letter-spacing : 3px;
	text-shadow: 1px  1px 0px #ffffff,
		-1px  1px 0px #ffffff,
		1px -1px 0px #ffffff,
		-1px -1px 0px #ffffff,
		1px  0px 0px #ffffff,
		0px  1px 0px #ffffff,
		-1px  0px 0px #ffffff,
		0px -1px 0px #ffffff;
}
.main_area .policy_problem li span.orange {
	color: #e57506;
	letter-spacing : 3px;
	text-shadow: 1px  1px 0px #ffffff,
		-1px  1px 0px #ffffff,
		1px -1px 0px #ffffff,
		-1px -1px 0px #ffffff,
		1px  0px 0px #ffffff,
		0px  1px 0px #ffffff,
		-1px  0px 0px #ffffff,
		0px -1px 0px #ffffff;
}
.main_area .policy_problem li span.purple {
	color: #8f56ad;
	letter-spacing : 3px;
	text-shadow: 1px  1px 0px #ffffff,
		-1px  1px 0px #ffffff,
		1px -1px 0px #ffffff,
		-1px -1px 0px #ffffff,
		1px  0px 0px #ffffff,
		0px  1px 0px #ffffff,
		-1px  0px 0px #ffffff,
		0px -1px 0px #ffffff;
}
.main_area .policy_problem li:nth-child(1) {
	transform:translate(0, 0) rotate(3deg);
}
.main_area .policy_problem li:nth-child(2) {
	transform:translate(0, 0) rotate(-2deg);
}
.main_area .policy_problem li:nth-child(3) {
	transform:translate(0, 0) rotate(-2deg);
}
.main_area .policy_problem li:nth-child(4) {
	transform:translate(0, 0) rotate(-4deg);
}
.main_area .policy_problem li:nth-child(5) {
	transform:translate(0, 0) rotate(1deg);
}
.main_area .policy_arrows {
	position: relative;
	height: 100px;
	margin: 0 auto 30px;
}
.main_area .policy_arrows .arrow {
	position: absolute;
	top: 70%;
	left: 0;
	right: 0;
	margin: 0 auto;
	opacity: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 50px 0 50px;
	border-color: #b30000 transparent transparent transparent;
}
.main_area .policy_arrows .arrow1 {
	animation: arrows 2s ease-in-out infinite;
}
.main_area .policy_arrows .arrow2 {
	animation: arrows 2s 1s ease-in-out infinite;
}
@keyframes arrows {
	0% {top: 0%; opacity: 0;}
	50% {opacity: 1;}
	100% {opacity: 0;}
}
.main_area .policy_catch_area {
	text-align: center;
	margin: 0 auto 20px;
}
.main_area .policy_catch_area .policy_catch {
	background: url(../img/txt_policy_catch_pc.svg) no-repeat center center #b30000;
	border-radius: 10px;
	padding: 40px 0;
	line-height: 1;
	margin: 0 auto 20px;
	width: 1084px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.main_area .policy_catch_area .policy_catch2 {
	font-family: "noto", sans-serif;
	font-size: 36px;
	margin: 0 auto 20px;
	line-height: 1.4;
}
.main_area .policy_catch_area .policy_catch2 span {
	color: #e90000;
	font-size: 60px;
	letter-spacing : 3px;
	text-shadow: 0.02em 0.02em 0.02em rgba(0,0,0,1);
}
.main_area .policy_catch_area .policy_catch {
}
.main_area .policy_catch_area .policy_catch_txt {
	font-family: "noto", sans-serif;
	font-size: 36px;
	color: #fff;
	margin: 10px auto 20px;
	padding: 10px 20px;
	background: #b30000;
	display: inline-block;
	border-radius: 10px;
}
.main_area .policy_catch_area .policy_catch_txt span {
	color: #ffff23;
}
.main_area .policy_catch_area .policy_catch_txt2 {
	font-family: "noto", sans-serif;
	font-size: 28px;
}
.main_area .policy_catch_area .policy_catch_txt2 a {
	color: #b30000;
}
.main_area .policy_catch_area .policy_catch_txt2 a:hover {
	text-decoration: none;
}
.main_area .point_area {
	background: #b30000;
	padding: 40px 0;
}
.main_area .point_area .point_ttl {
	font-size: 40px;
	font-family: "noto", sans-serif;
	color: #fff;
	text-align: center;
	letter-spacing : 3px;
	line-height: 1;
	margin: 0 auto 30px;
}
.main_area .point_area .point_list {
	width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.main_area .point_area .point_list li {
	list-style: none;
	background: #fff;
	padding: 30px 20px 20px;
	box-sizing: border-box;
	margin: 0 auto 20px;
	position: relative;
	width: 450px;
	margin: 30px auto;
	z-index: 1;
	display: flex;
	align-items: flex-end;
}
.main_area .point_area .point_list li::before,
.main_area .point_area .point_list li::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.main_area .point_area .point_list li::before {
	background-color: rgba(255, 255, 255, 0.2);
	left: 0;
	top: 0;
	z-index: -1;
}
.main_area .point_area .point_list li::after {
	background-color: #ffffc6;
	top: 5px;
	left: 5px;
	z-index: -2;
}
.main_area .point_area .point_list .point {
	background: #ffff23;
	color: #333;
	font-family: "mplus", sans-serif;
	font-size: 26px;
	border: solid 2px #e9bc19;
	border-radius: 24px;
	display: inline-block;
	line-height: 1;
	padding: 8px 20px 8px;
	position: absolute;
	top: -25px;
	left: 5px;
}
.main_area .point_area .point_list .point1 {
	background: url(../img/point_txt1.svg) no-repeat center bottom;
	background-size: contain;
	width: 400px;
	height: 170px;
	margin: 0 auto;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.main_area .point_area .point_list .point2 {
	background: url(../img/point_txt2.svg) no-repeat center bottom;
	background-size: contain;
	width: 400px;
	height: 170px;
	margin: 0 auto;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.main_area .point_area .point_list .point3 {
	background: url(../img/point_txt3.svg) no-repeat center bottom;
	background-size: contain;
	width: 400px;
	height: 170px;
	margin: 0 auto;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.main_area .point_area .point_list .point4 {
	background: url(../img/point_txt4.svg) no-repeat center bottom;
	background-size: contain;
	width: 400px;
	height: 180px;
	margin: 0 auto;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.main_area .point_area .point_txt {
	width: 1200px;
	margin: 0 auto;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}
.main_area .policy_img_area {
	margin: 0 auto;
	background: #e5e5e5;
}
.main_area .policy_img_area .img_policy {
	width: 1200px;
	margin: 0 auto 10px;
	padding: 30px 0 0;
}
.main_area .policy_img_area .img_policy img {
	width: 100%;
	height: auto;
}
.main_area .policy_txt {
	width: 1200px;
	margin: 0 auto;
	padding: 0 0 30px;
	font-size: 18px;
	font-weight: bold;
	text-align: right;
	line-height: 1;
}
.main_area .company_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.main_area .company_list li {
	font-size: 28px;
	list-style: none;
	margin: 0 1em 1em 0;
	line-height: 1;
}
.main_area .company_list li::after {
	content: "/";
	margin: 0 0 0 1em;
}
.main_area .company_list li:last-child::after {
	content: "　他多数";
	margin: 0;
}
.main_area .results_area {
	text-align: center;
}
.main_area .results_area .company_list {
	margin: 0 auto 2em;
}
.main_area .results_txt {
	font-family: "noto", sans-serif;
	font-size: 32px;
	margin: 2em auto;
	display: inline;
	background:linear-gradient(transparent 65%, #ffbbbb 65%, #ffbbbb 95%, transparent 95%);
	line-height: 1.8;
}
.main_area .company_list2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 5em auto 3em;
}
.main_area .company_list2 li {
	font-size: 18px;
	list-style: none;
	width: 49%;
	margin: 0 0 2em;
}
.main_area .company_list2 li img {
	width: 50%;
	height: auto;
	margin-top: 3px;
}
.main_area .program_area .program {
	display: flex;
	justify-content: center;
	margin: 40px auto 0;
}
.main_area .program_area .program li {
	font-size: 20px;
	font-weight: bold;
	list-style: none;
	width: 300px;
	text-align: center;
	margin: 0 20px;
}
.main_area .program_area .program li img {
	width: 100%;
	height: auto;
	border: solid 1px #ddd;
	box-sizing: border-box;
}
.main_area .contact_area .inner {
	width: 1000px;
}
.main_area .flow_ttl {
	background: #b30000;
	color: #fff;
	line-height: 1;
	padding: 12px 0 8px;
	text-align: center;
	font-size: 24px;
	margin: 0 auto 20px;
}
.main_area .flow_list {
	text-align: center;
}
.main_area .flow_list li {
	list-style: none;
	margin: 0 auto 50px;
}
.main_area .flow_list li::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-top: 15px solid #b30000;
	border-right: 25px solid transparent;
	border-left: 25px solid transparent;
	margin: 15px auto 0;
}
.main_area .flow_list li:last-child::after {
	display: none;
}
.main_area .flow_list li .flow_list_ttl {
	font-size: 22px;
	font-weight: bold;
	color: #b30000;
	margin: 0 auto 0.3em;
}
.main_area .flow_list li .flow_list_ttl span {
	display: inline-block;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	line-height: 22px;
	text-align: center;
	background: #b30000;
	font-size: 20px;
	font-weight: normal;
	color: #fff;
	padding: 4px 3px 2px;
	margin: 0 0.4em 0 0;
}
.main_area .request_ttl {
	background: #b30000;
	color: #fff;
	line-height: 1;
	padding: 12px 0 8px;
	text-align: center;
	font-size: 24px;
}
.main_area .request_box {
	padding: 20px 10px;
	margin: 0 auto 40px;
	text-align: center;
}
.main_area .request_box p {
	margin-bottom: 1em;
	font-size: 20px;
}
.main_area .request_box p:last-child {
	margin-bottom: 0;
}
.main_area .request_box .request_cost {
	font-weight: bold;
	text-indent: -1em;
}
.main_area .request_box .request_txt {
	font-family: "noto", sans-serif;
	font-size: 28px;
	display: inline;
	background: linear-gradient(transparent 50%, #faffb1 50%, #faffb1 95%, transparent 95%);
}
.main_area .contact_box {
	padding: 20px 10px;
	display: flex;
	justify-content: space-around;
	margin: 0 auto 50px;
}
.main_area .contact_box div {
	padding: 20px 30px;
	text-align: center;
}
.main_area .contact_box .contact_ttl {
	font-size: 26px;
	font-weight: bold;
}
.main_area .contact_box .contact_tel {
	margin: 5px auto;
}
.main_area .contact_box .contact_tel a {
	pointer-events: none;
	text-decoration: none;
	color: #b30000;
	font-size: 32px;
	font-weight: bold;
	line-height: 1;
}
.main_area .contact_box .contact_charge {
	text-align: right;
	font-size: 16px;
}
.main_area .contact_box .contact_link {
	margin: 10px auto 0;
}
.main_area .contact_box .contact_link a {
	display: block;
	text-decoration: none;
	background: #b30000;
	border-radius: 5px;
	padding: 10px 15px;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	-webkit-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
}
.main_area .contact_box .contact_link a:hover {
	opacity: 0.8;
}
.main_area #form_area {
	padding-top: 10px;
}
.main_area .notice {
	color: #b30000;
	font-weight: bold;
}
.main_area .form_txt {
	margin: 0 auto 5px;
	font-size: 24px;
	font-weight: bold;
}
.main_area .form_table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 auto 20px;
}
.main_area .form_table th {
	width: 30%;
	border: solid 1px #ccc;
	text-align: left;
	vertical-align: top;
	padding: 10px;
	background: #eee;
}
.main_area .form_table td {
	border: solid 1px #ccc;
	padding: 10px;
}
.main_area .form_table td input {
	padding: 3px;
	width: 100%;
	box-sizing: border-box;
	border: solid 1px #ccc;
}
.main_area .form_table td textarea {
	padding: 3px;
	width: 100%;
	height: 10em;
	box-sizing: border-box;
	border: solid 1px #ccc;
	resize: vertical;
}
.main_area .btn_area {
	text-align: center;
}

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

	.main_area {
		padding: 2vw 0;
	}
	.main_area .inner {
		width: 100%;
		padding: 0 2vw;
	}
	.main_area .contents_box > dt {
		font-size: 16px;
	}
	.main_area .contents_box > dt span {
		font-size: 14px;
	}
	.main_area .contents_box > dd {
		padding: 2vw 0;
		margin: 0 0 4vw;
	}
	.policy_problem_wrap {
		background-color: #fff2f2;
		background-image: repeating-linear-gradient(135deg, transparent, transparent 15px, rgba(255,255,255,.5) 15px, rgba(255,255,255,.5) 30px);
		padding: 2vw 0;
		margin: 0 auto 4vw;
	}
	.main_area .policy_problem {
		width: 100%;
		margin: 2vw auto;
	}
	.main_area .policy_problem li {
		font-size: 4.5vw;
		margin: 0 0 2vw;
		line-height: 1.2;
	}
	.main_area .policy_problem li span {
		font-size: 5.5vw;
	}
	.main_area .policy_problem li:nth-child(1) {
		transform:translate(0, 0) rotate(-1deg);
	}
	.main_area .policy_problem li:nth-child(2) {
		transform:translate(0, 0) rotate(0.5deg);
	}
	.main_area .policy_problem li:nth-child(3) {
		transform:translate(0, 0) rotate(-0.5deg);
	}
	.main_area .policy_problem li:nth-child(4) {
		transform:translate(0, 0) rotate(-1deg);
	}
	.main_area .policy_problem li:nth-child(5) {
		transform:translate(0, 0) rotate(1deg);
	}
	.main_area .policy_arrows {
		height: 50px;
		margin: 0 auto 4vw;
	}
	.main_area .policy_arrows .arrow {
		border-width: 18px 30px 0 30px;
	}
	.main_area .policy_catch_area {
		margin: 0 auto 8vw;
	}
	.main_area .policy_catch_area .policy_catch {
		background: url(../img/txt_policy_catch_sp.svg) no-repeat center center #b30000;
		background-size: 70% auto;
		padding: 13vw 0;
		margin: 0 auto 4vw;
		width: auto;
		
	}
	.main_area .policy_catch_area .policy_catch_txt {
		font-size: 4.5vw;
		line-height: 1.6;
		padding: 1.5vw 3vw;
		box-sizing: border-box;
		width: 100%;
	}
	.main_area .policy_catch_area .policy_catch_txt2 {
		font-size: 16px;
	}
	.main_area .policy_catch_area .policy_catch2 {
		font-size: 18px;
		margin: 0 auto 2vw;
	}
	.main_area .policy_catch_area .policy_catch2 span {
		font-size: 30px;
	}
	.main_area .point_area {
		padding: 4vw 0;
	}
	.main_area .point_area .point_ttl {
		font-size: 20px;
		margin: 0 auto;
	}
	.main_area .point_area .point_list {
		width: 100%;
		display: block;
	}
	.main_area .point_area .point_list li {
		padding: 5vw 2vw 3vw;
		margin: 0 auto 2vw;
		width: 90%;
		margin: 40px auto 0;
	}
	.main_area .point_area .point_list .point {
		font-size: 16px;
		border-radius: 16px;
		padding: 5px 10px 5px;
		position: absolute;
		top: -20px;
		left: 5px;
	}
	.main_area .point_area .point_list .point1 {
		width: 100%;
		height: 26vw;
	}
	.main_area .point_area .point_list .point2 {
		width: 100%;
		height: 26vw;
	}
	.main_area .point_area .point_list .point3 {
		width: 100%;
		height: 26vw;
	}
	.main_area .point_area .point_list .point4 {
		width: 100%;
		height: 28vw;
	}
	.main_area .point_area .point_txt {
		width: 100%;
		font-size: 14px;
		padding: 0 1em;
		box-sizing: border-box;
		margin: 1em auto 0;
	}
	.main_area .policy_img_area {
		margin: 0 auto 8vw;
	}
	.main_area .policy_img_area .img_policy {
		width: 100%;
		margin: 0 auto 2vw;
		padding: 3vw 0 0;
	}
	.main_area .policy_txt {
		width: 100%;
		padding: 0 0 3vw;
		font-size: 12px;
	}
	.main_area .company_list li {
		font-size: 12px;
		margin: 0 1em 1em 0;
	}
	.main_area .results_txt {
		font-size: 5vw;
		margin: 2em auto;
	}
	.main_area .company_list2 {
		margin: 3em auto 2em;
	}
	.main_area .company_list2 li {
		font-size: 14px;
		width: 100%;
	}
	.main_area .program_area .program {
		justify-content: space-between;
		margin: 4vw 2% 0;
	}
	.main_area .program_area .program li {
		font-size: 14px;
		width: 49%;
		margin: 0;
		text-align: center;
	}
	.main_area .contact_area .inner {
		width: 100%;
	}
	.main_area .flow_ttl {
		padding: 6px 0 4px;
		font-size: 14px;
		margin: 0 auto 4vw;
	}
	.main_area .flow_list li {
		margin: 0 auto 8vw;
	}
	.main_area .flow_list li::after {
		margin: 2vw auto 0;
	}
	.main_area .flow_list li .flow_list_ttl {
		font-size: 14px;
	}
	.main_area .flow_list li .flow_list_ttl span {
		width: 16px;
		height: 16px;
		line-height: 16px;
		font-size: 14px;
		padding: 4px 3px 2px;
	}
	.main_area .request_ttl {
		padding: 6px 0 4px;
		font-size: 14px;
	}
	.main_area .request_box {
		padding: 4vw 2vw;
		display: block;
		margin: 0 auto 4vw;
	}
	.main_area .request_box p {
		font-size: 16px;
	}
	.main_area .request_box div {
		margin: 0 auto 4vw;
		padding: 0 2vw;
		box-sizing: border-box;
	}
	.main_area .request_box .request_txt {
		font-size: 5vw;
	}
	.main_area .contact_box {
		padding: 4vw 2vw;
		display: block;
		margin: 0 auto 4vw;
	}
	.main_area .contact_box div {
		padding: 4vw 0;
	}
	.main_area .contact_box .contact_ttl {
		font-size: 16px;
	}
	.main_area .contact_box .contact_tel {
		margin: 0 auto;
	}
	.main_area .contact_box .contact_tel a {
		font-size: 24px;
	}
	.main_area .contact_box .contact_charge {
		text-align: center;
	}
	.main_area .contact_box .contact_link {
		margin: 2vw auto 0;
	}
	.main_area .contact_box .contact_link a {
		padding: 2vw 6vw;
		font-size: 16px;
		line-height: 1.3;
		display: inline-block;
	}
	.main_area .form_txt {
		margin: 0 auto 2vw;
		font-size: 16px;
	}
	.main_area .form_table {
		margin: 0 auto 4vw;
		border-bottom: solid 1px #ccc;
	}
	.main_area .form_table th {
		width: 100%;
		padding: 2vw;
		display: block;
		box-sizing: border-box;
		border-bottom: none;
	}
	.main_area .form_table td {
		padding: 2vw;
		display: block;
		box-sizing: border-box;
		border-bottom: none;
	}
}



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

.footer_area {
	padding: 20px 0;
	background: #b30000;
}
.footer_area .footer_txt_area {
	width: 1000px;
	margin: 0 auto 20px;
}
.footer_area .footer_txt_area p {
	color: #fff;
	font-size: 16px;
}
.footer_area .copyright {
	font-size: 14px;
	text-align: center;
	color: #fff;
}

@media only screen and (max-width: 767px) {
	.footer_area {
		padding: 2vw 0;
	}
	.footer_area .footer_txt_area {
		width: 100%;
		margin: 0 auto 2vw;
		padding: 0 2vw;
		box-sizing: border-box;
	}
	.footer_area .footer_txt_area p {
		font-size: 3.5vw;
	}
	.footer_area .copyright {
		font-size: 2vw;
	}
}



/*--------------------------------------
	start
---------------------------------------*/
.start {
	background: #b30000;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 100;
}
.start .start_txt {
	position: fixed;
	left: 50%;
	top: 30%;
	transform: translate(-50%, 0);
	display: none;
	z-index: 101;
	font-size: 100px;
	font-family: "noto", sans-serif;
	color: #fff;
	width: 100%;
	text-align: center;
}
.start .start_logo {
	position: fixed;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 0);
	display: none;
	z-index: 101;
	width: 100%;
	background: #fff;
	text-align: center;
	padding: 40px 0;
}
.start .start_logo img {
	width: 270px;
	height: auto;
}
@media only screen and (max-width: 1200px) {
  .start .start_txt {
      font-size: 8vw;
  }
}
@media only screen and (max-width: 767px) {
	.start .start_txt {
		top: 45%;
		font-size: 8vw;
	}
	.start .start_logo {
		padding: 5vw 0;
	}
	.start .start_logo img {
		width: 40vw;
		height: auto;
	}
}



/*
 * wsformmailer CSS ここから
 */
.wsm * {
  box-sizing: border-box;
  font-size: 18px;
}

.wsm_loading,
.wsm_input .wsm_confirmitem:not(.wsm_confirmarea-thumb),
.wsm_input .wsm_backbtn,
.wsm_input .wsm_confirmarea-thumb,
.wsm_confirm .wsm_notinconfirm,
.wsm_confirm .wsm_inputarea:not(.wsm_fieldset),
.wsm_confirm .wsm_erroritem,
.wsm_confirm .wsm_fieldset label,
.wsm_confirm.wsm_inputonce .wsm_written::before,
.wsm_confirm.wsm_inputonce .wsm_written::after,
.wsm_sending #wsm,
.wsm_sending .wsm_notinconfirm,
.wsm_done #wsm,
.wsm_done .wsm_notinconfirm{
  display: none !important;
}
.wsm_confirmarea,
.wsm_sendingarea,
.wsm_donearea{
  display: none !important;
}
.wsm_confirm .wsm_confirmarea,
.wsm_sending .wsm_sendingarea,
.wsm_done .wsm_donearea{
  display: block !important;
}

/* button */
.wsm_btn:disabled{
  opacity: 0.15;
}
.wsm_btn{
  display: inline-block;
  margin: 0.75em 0.75em 0.75em 0;
  padding: 0.5em 1.5em;
  min-width: 10em;
  border: none;
  border-radius: 0.5em;
  background: #b30000;
  color: #fff;
  -webkit-appearance: none;
  appearance: none;
  font-size: inherit;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
}
.wsm_backbtn{
  background: #ddd;
  color: inherit;
}

/* input */

.wsm_hidden{
  display: none;
}
.wsm_fieldset{
  border:none;
  margin: 0;
  padding: 0;
}
.wsm_required{
  display: inline-block;
  margin-left: 0.5em;
  padding: 0.15em 0.5em;
   background: #c00;
   color: #fff;
   border-radius: 0.25em;
   font-size: 0.8rem;
}
.wsm_inputarea{
  position: relative;
  margin: 0;
  padding: 0 2em 0 0;
  border: none;
}
.wsm_inputarea-file{
  width: 20em;
  max-width: 100%;
}
.wsm_label{
  display: block;
  border: none;
  padding: 0;
  font-weight: bold;
}

.wsm input[type="text"],
.wsm input[type="email"],
.wsm input[type="tel"],
.wsm input[type="url"],
.wsm input[type="time"],
.wsm input[type="datetime"],
.wsm input[type="number"],
.wsm textarea,
.wsm select {
  padding: 0.5em;
  border: solid thin #999;
  border-radius: 0.25em;
  font-size: 16px;
}
.wsm_inputonce .wsm_written input,
.wsm_inputonce .wsm_written textarea,
.wsm_inputonce .wsm_written select {
  border-color: #5c5;
}
.wsm_inputonce .wsm_haserror input,
.wsm_inputonce .wsm_haserror textarea,
.wsm_inputonce .wsm_haserror select {
  border-color: #c00;
}

.wsm_radio,
.wsm_check{
  display: inline-block;
  margin: 0;
  padding: 0;
}
.wsm_radio_btn,
.wsm_check_btn{
  display: none;
}
.wsm_radio_label,
.wsm_check_label{
  position: relative;
  display: inline-block;
  margin: 0.25em 0.25em 0.25em 0;
  padding: 0.25em 1em 0.25em 2rem;
  border: solid thin #ccc;
  border-radius: 0.25em;
}
.wsm_radio_label::before,
.wsm_check_label::before{
  content: "";
  position: absolute;
  left: 0.45em;
  top: 0.4em;
  width: 0.8em;
  height: 0.8em;
  border: solid 0.2em #999;
  border-radius: 50%;
  font-size: 1rem;
}
.wsm_check_label::before{
  border-radius: 0.25em;
}
.wsm_radio_btn:checked + .wsm_radio_label,
.wsm_check_btn:checked + .wsm_check_label{
  border-color: #9d9;
}
.wsm_radio_btn:checked + .wsm_radio_label::before{
  left: 0.65em;
  top: 0.55em;
  width: 0.45em;
  height: 0.45em;
  border: solid 0.2em #fff;
  border-radius: 50%;
  background: #5c5;
  box-shadow: 0 0 0 0.2em #ccc;
  font-size: 1rem;
}
.wsm_check_btn:checked + .wsm_check_label::after{
  content: "";
  position: absolute;
  left: 0.7em;
  top: 0.5em;
  width: 0.7em;
  height: 0.4em;
  border-left: solid 0.23em #5c5;
  border-bottom: solid 0.23em #5c5;
  transform: rotate(-45deg);
  font-size: 1rem;
}

.wsm_erroritem{
  visibility: hidden;
  position: relative;
  color: #c00;
  font-size: 0.85em;
}
.wsm_inputonce .wsm_erroritem.shown{
  visibility: visible;
}
.wsm_inputonce .wsm_written::before{
  content: "";
  position: absolute;
  top: 0.5em;
  right: 0;
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  background: #5c5;
}
.wsm_inputonce .wsm_written::after{
  content: "";
  position: absolute;
  top: 0.75em;
  right: 0.25em;
  width: 0.6em;
  height: 0.3em;
  border-left: solid 0.23em #fff;
  border-bottom: solid 0.23em #fff;
  transform: rotate(-45deg);
}
.wsm_inputonce .wsm_haserror::before{
  content: "";
  position: absolute;
  top: 0.5em;
  right: 0;
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  background: #c00;
}
.wsm_inputonce .wsm_haserror::after{
  content: "";
  position: absolute;
  top: 1em;
  right: 0.25em;
  width: 0.75em;
  height: 0;
  border-top:solid 0.3em #fff;
  border-left: none;
  border-bottom: none;
  transform: none;
}
.wsm_selectarea select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    margin:  0;
    padding: 0.5em 2.5em 0.5em 0.5em;
    background: transparent;
    position: relative;
    z-index: 1;
    border: solid thin #a6a69a;
    border-radius: 0.25em;
}
.wsm_selectarea select::-ms-expand {
    display: none;
}
.wsm_selectarea{
  position: relative;
  display: inline-block;
  max-width: calc(87vw - 2em);
  margin: 0;
}

.wsm_selectarea::after{
    content: '';
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 0.6em;
    width: 0;
    height: 0;
    border-top: solid 0.6em #e0007f;
    border-left: solid 0.4em transparent;
    border-right: solid 0.4em transparent;
}

.wsm_spinner {
  margin: 100px auto 0;
  width: 70px;
  text-align: center;
  opacity: 0.15;
}

.wsm_spinner > div {
  width: 18px;
  height: 18px;
  background-color: #333;

  border-radius: 100%;
  display: inline-block;
  -webkit-animation: wsm_bouncedelay 1.4s infinite ease-in-out both;
  animation: wsm_bouncedelay 1.4s infinite ease-in-out both;
}

.wsm_spinner .wsm_bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.wsm_spinner .wsm_bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes wsm_bouncedelay {
  0%, 80%, 100% { -webkit-transform: scale(0) }
  40% { -webkit-transform: scale(1.0) }
}

@keyframes wsm_bouncedelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  } 40% {
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
  }
}

@media only screen and (max-width: 767px) {
	.wsm * {
	  font-size: 16px;
	}
}

/*
 * wsformmailer CSS ここまで
 */
