@charset "utf-8";


/*
	Theme Name: 加藤工業
	Description: 加藤工業
	Theme URI: https://www.katokogyouchibiashiba.com
	Author: オフィス谷口
	Author URI: https://www.officetaniguchi.com
	Version: 0.0.1
*/



/* 共通設定 */

body {
	background-color: #fff;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, Verdana, Arial, sans-serif, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 100%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin: 0;
	padding: 0;
}
aside, header, nav, footer {
	display: block;
}
nav, main, footer, #header_content {
	clear: both;
	overflow: auto;
	margin: 0 auto;
	padding: 0;
	width: 1200px;
}
hr {
	background-color: #cf576e;
	border: none;
	height: 10px;
}
img {
	border: 0;
	margin: 0;
	vertical-align: bottom;
}
table {
	border-collapse: collapse;
}
.boldfont {
	font-weight: bold;
}
.caption {
	padding-left: 1.1em;
	text-indent: -1.1em;
}
.mob_br {
	display: none;
}
.redfont {
	color: #f00;
}
.smallfont {
	font-size: 80%;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
.textcenter {
	text-align: center;
}


/* ヘッダー */

header {
	overflow: hidden;
}
header h1 {
	background-color: #000;
	box-sizing: border-box;
	color: #fff;
	font-size: 1.2em;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin: 0 0 0.5em;
	padding: 0.5em 0;
	text-align: center;
	width: 100%;
}
header h1 br {
	display: none;
}
#header_content {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 55% 1fr;
}
#header_content div h3, #header_content div h4 {
	color: #932674;
	font-size: 2.7em;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin: 0.3em 0;
	padding: 0;
}
#header_content div h3 span::before {
	content: '\f87b';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 0.1em;
	margin-right: 0.2em;
}
#header_content div h4 span::before {
	content: '\f1ac';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 0.2em;
}
#header_content div p {
	color: #aaa;
	font-size: 1.5em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin: 0.5em 0;
	padding: 0;
	text-align: center;
}
#header_content div:first-child p {
	text-align: left;
}
#header_content div p span {
	margin-left: 1em;
}
#header_content div h2 {
	box-sizing: border-box;
	margin: 0;
	padding: 0.5em 0;
}
#header_content div h2 img {
	height: auto;
	width: 50%;
}



/* メインメニュー */

nav {
	background-color: #cf576e;
	clear: both;
	height: 50px;
	margin-top: 1em;
	width: 100%;
}
nav ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	height: 50px;
	list-style: none;
	margin: 0 auto;
	padding: 0;
	width: 1200px;
}
nav li {
	border-left: 2px solid #fff;
	height: 100%;
	padding: 0;
	margin: 0;
	text-align: center;
}
nav li:last-child {
	border-right: 2px solid #fff;
}
nav li a {
	color: #fff;
	display: block;
	font-weight: bold;
	height: 100%;
	line-height: 50px;
	text-decoration: none;
	width: 100%;
}
nav li a:hover {
	background-color: #e7a5c9;
}
nav input, nav label {
	display: none;
}



/* フッター */

footer {
	background-color: #f5f5f5;
	font-size: 0.8em;
	letter-spacing: 0;
	line-height: 1.5em;
	padding: 0 0 5px;
	text-align: center;
	width: 100%;
}
footer ul {
	list-style-type: none;
	margin: 0 auto;
	padding: 15px 0 40px;
	width: 1200px;
}
footer ul li {
	display: inline;
	letter-spacing: 0.1em;
	padding: 0 1em;
}
footer p {
	margin: 1em auto;
	width: 100%;
}
footer p a {
	letter-spacing: 0.1em;
}



/* メインコンテンツ */

main {
	overflow: auto;
	margin: 2em auto;
	padding: 0;
	width: 1200px;
}
article section {
	margin: 4em 0;
}
article section h2 {
	background-color: #cf576e;
	color: #fff;
	margin: 0 0 2em;
	padding: 1em;
}
article section > p {
	margin-left: 1em;
	margin-right: 1em;
}
#breadcrumb {
	list-style-type: none;
	margin: 1em auto;
	padding: 0;
	width: 80%;
}
#breadcrumb li {
	display: inline;
}
#breadcrumb li:not(:last-child) {
	margin-right: 1em;
}
#breadcrumb li:not(:last-child)::after {
	content: '\f054';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 1em;
}
#business dl {
	margin: 1em auto;
	padding: 0;
	width: 90%;
}
#business dd, #business dt {
	border: 1px solid #ccc;
	margin: 0;
	padding: 0;
}
#business dd {
	border-top: none;
	margin-bottom: 2em;
	padding: 1em 5%;
}
#business dt {
	background-color: #da6272;
	border-bottom: none;
	color: #fff;
	font-size: 1.2em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1em;
	padding: 0.7em 1em;
}
#business h3, #flow h3, #works h3 {
	background-color: #45a1cf;
	color: #fff;
	font-size: 1.7em;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin: 3em auto 1em;
	padding: 0.7em 1em;
	width: 90%;
}
#business p {
	margin-left: auto;
	margin-right: auto;
	width: 90%;
}
#catch {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#catch li img {
	height: auto;
	width: 100%;
}
#example {
	display: grid;
	grid-row-gap: 3em;
	grid-template-columns: 30% 30% 30%;
	justify-content: space-around;
	list-style-type: none;
	margin: 5em auto 0;
	padding: 0;
	width: 90%;
}
#example li {
	text-align: center;
}
#example li a > span {
	display: block;
	position: relative;
}
#example li a > span > span {
	background-color: #f00;
	color: #fff;
	font-weight: bold;
	left: 3px;
	padding: 3px 5px;
	position: absolute;
	text-decoration: none;
	top: 3px;
}
#example li img {
	height: auto;
	width: 100%;
}
#faq #contact {
	background-color: #eee;
	list-style-type: none;
	margin: 2em auto;
	overflow: hidden;
	padding: 0;
	width: 80%;
}
#faq #contact li {
	font-size: 1.5em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin: 1em 2em;
	padding-left: 1.1em;
	text-indent: -1.1em;
}
#faq #contact li::before {
	color: #f00;
	content: '\f058';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding: 0.2em 0;
}
#faq #contact li a {
	margin-left: 0.5em;
}
#faq > div, #privacy > div, #to_privacy > div {
	margin: 0 auto;
	width: 90%;
}
#faq_step ol {
	list-style-type: none;
	margin: 5em 0;
	overflow: hidden;
	padding: 0;
	width: 100%;
}
#faq_step ol li {
	border: 1px solid #000;
	float: left;
	font-size: 2em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin: 0;
	padding: 0.5em 0;
	position: relative;
	text-align: center;
	width: 20%;
}
#faq_step ol li:first-child {
	margin-left: 15%;
}
#faq_step ol li:nth-child(2) {
	margin: 0 6%;
}
#faq_step ol li:first-child::after, #faq_step ol li:nth-child(2)::after {
	border: 1em solid transparent;
	border-left: 40px solid #fff;
	content: "";
	height: 0;
	position: absolute;
	right: -72px;
	top: 0;
	width: 0;
}
#faq_step ol li:first-child::before, #faq_step ol li:nth-child(2)::before {
	border: 1em solid transparent;
	border-left: 40px solid #000;
	content: "";
	height: 0;
	position: absolute;
	right: -73px;
	top: 0;
	width: 0;
}
#faq_step ol li#on_state {
	background-color: #eee;
}
#faq_step ol li#on_state:first-child::after, #faq_step ol li#on_state:nth-child(2)::after {
	border-left-color: #eee;
}
#flow > div {
	margin: 0 auto;
	width: 85%;
}
#flow > div:not(:last-child) {
	display: grid;
	grid-template-columns: 15% 1fr;
}
#flow > div:not(:last-child)::before {
	color: #ccc;
	content: '\f309';
	display: block;
	font-size: 12em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 1em;
}
#flow #contact_info {
	background-color: #eee;
	display: grid;
	grid-row-gap: 1em;
	grid-template-columns: 23% 75%;
	justify-content: space-around;
	margin: 0;
	padding: 1em 0;
}
#flow #contact_info dd, #flow #contact_info dt {
	font-weight: bold;
	margin: 0;
	padding: 0;
}
#flow #contact_info dt {
	text-align: right;
}
#flow #contact_info a {
	margin-left: 0.7em;
	margin-right: 0.7em;
}
#gaiyo, #map {
	margin-top: 12em;
}
#gaiyo table {
	margin: 1em auto;
	width: 90%;
}
#gaiyo td, #gaiyo th {
	border: 1px solid #ccc;
	padding: 0.7em 1em;
}
#gaiyo th {
	background-color: #eee;
}
#mail_form input, #mail_form textarea {
	border-radius: 5px;
	font-size: 1em;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	padding: 2px 8px;
}
#mail_form table {
	margin: 2em auto;
	width: 90%;
}
#mail_form td, #mail_form th {
	border: 1px solid #ccc;
	padding: 1em 1.2em;
}
#mail_form td span {
	color: #999;
	font-size: 0.8em;
	letter-spacing: 0.1em;
	line-height: 1em;
}
#mail_form td span.error {
	color: #f00;
	font-size: 1.3em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin-bottom: 0;
	margin-top: 1em;
}
#mail_form th {
	background-color: #eee;
	text-align: left;
	width: 30%;
}
#mail_form #buttom_area {
	margin: 3em 0;
	text-align: center;
}
#mail_form #buttom_area input {
	background-color: #ffa500;
	color: #fff;
	cursor: pointer;
	font-size: 1.5em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1em;
	padding: 1em 2em;
}
#mail_form .mw_wp_form_confirm td span {
	display: none;
}
#mail_form .need {
	background-color: #fff;
	border: 1px solid #f00;
	color: #f00;
	font-size: 0.8em;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin-left: 0.5em;
	margin-right: 0.5em;
	padding: 0.3em 0.5em;
	
}
#map p iframe {
	border: none;
	width: 100%;
}
#no_example {
	font-size: 2em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1em;
	text-align: center;
}
#no_example::before {
	color: #ccc;
	content: '\e070';
	display: block;
	font-family: "Font Awesome 5 Free";
	font-size: 10em;
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 1em;
	padding: 0.2em 0;
}
#no_recruit {
	color: #bbb;
	font-size: 2em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin-bottom: 4em;
	text-align: center;
}
#not_found {
	overflow: hidden;
	text-align: center;
}
#not_found h3 {
	font-size: 10em;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin: 0.5em 0;
}
#not_found h3 span {
	display: block;
	font-size: 0.1em;
	letter-spacing: 0.1em;
	line-height: 1em;
}
#pagination {
	margin: 3em 0 1em;
}
#pagination ul {
	list-style-type: none;
	margin: 1em 0;
	overflow: hidden;
	padding: 5px 0;
	text-align: center;
}
#pagination li {
	border: 1px solid #ccc;
	display: inline;
	margin: 0 0.5em;
	padding: 0.5em;
}
#pagination li a {
	text-decoration: none;
}
#pagination {
	text-align: center;
}
#pagination a {
	color: #333;
	text-decoration: none;
}
#pagination .page-numbers {
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 5px 7px;
}
#pagination .current {
	background-color: #ccc;
}
#pagination a:hover {
	background-color: #f5f5f5;
}
#post_area div:nth-child(2) {
	margin: 1em auto;
	width: 90%;
}
#post_area div:nth-child(2) p {
	margin-bottom: 2em;
	margin-top: 2em;
}
#post_navi {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 0 auto;
	width: 90%;
}
#post_navi p:first-child a::before {
	content: '\f137';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 0.5em;
}
#post_navi p:last-child {
	text-align: right;
}
#post_navi p:last-child a::after {
	content: '\f138';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-left: 0.5em;
}
#privacy ol {
	margin-top: 3em;
}
#privacy ol li {
	margin-bottom: 3em;
}
#privacy ol li h3 {
	font-size: 1em;
	letter-spacing: 0.1em;
	line-height: 1.4em;
}
#privacy ol li ul {
	list-style-type: disc;
}
#privacy ol li ul li {
	margin-bottom: 0.5em;
	margin-top: 0.5em;
}
#share_area {
	border: 1px solid #ccc;
	margin: 5em auto;
	text-align: center;
	width: 70%;
}
#share_area ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	list-style-type: none;
	margin: 2em auto;
	padding: 0;
	width: 60%;
}
#share_area ul li {
	margin: 0;
	padding: 0;
	text-align: center;
}
#share_area ul a img {
	height: auto;
	width: 64px;
}
#to_faq {
	background-image: url(img/faq_back.png);
	background-repeat: no-repeat;
	background-position: 3% 80px;
	background-size: auto 90%;
	border: 1px solid #ccc;
	margin: 12em auto 6em;
	width: 95%;
}
#to_faq > div {
	margin-left: 30%;
}
#to_faq > h3 {
	background-color: #000;
	color: #fff;
	font-size: 1.5em;
	letter-spacing: 0.1em;
	line-height: 1em;
	margin: 0;
	padding: 0.7em 0;
	text-align: center;
}
#to_faq > h3 br {
	display: none;
}
#to_faq > div p:nth-child(2) {
	maegin-bottom: 2em;
	text-align: center;
}
#to_faq > div p:last-child {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 90%;
}
#to_faq > div p:last-child a {
	background-color: #0c0;
	color: #fff;
	display: block;
	font-size: 2em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	padding: 0.7em 0;
	text-align: center;
	text-decoration: none;
}
#to_faq > div p:last-child a:hover {
	background-color: #6c6;
}
#to_faq > div p:last-child a span {
	display: block;
	font-size: 0.5em;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
#to_faq > div p:last-child > span {
	background-color: #f00;
	color: #fff;
	font-weight: bold;
	position: absolute;
	padding: 0.5em 1em;
	left: 3%;
	top: 18%;
	transform: rotate(-45deg);
}
#to_faq ul {
	color: #932674;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#to_faq ul li {
	margin: 0.7em 0;
	text-align: center;
}
#to_faq ul li span {
	font-size: 3em;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1em;
}
#to_faq ul li:first-child span::before {
	content: '\f87b';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 0.1em;
	margin-right: 0.2em;
}
#to_faq ul li:last-child span::before {
	content: '\f1ac';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 0.2em;
}
#to_faq1 ul li:nth-child(2) span:first-child::before {
	content: '\f3cd';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 0.2em;
}
#to_faq1 ul li:nth-child(2) span:last-child {
	display: block;
	font-size: 1em;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
#works p:nth-child(2), #works div:nth-child(3) {
	margin: 3em auto;
	padding: 0;
	width: 90%;
}
#works div:nth-child(3) {
	border: 1px solid #ccc;
	border-radius: 10px;
}
#works div:nth-child(3) p {
	margin-left: 1.5em;
	margin-right: 1.5em;
}
#works p:nth-child(2) {
	text-align: center;
}
#works p:nth-child(2) img {
	margin-bottom: 1em;
}
.info {
	border: 1px solid #ccc;
	height: 250px;
	margin: 1em auto;
	overflow: auto;
	width: 95%;
}
.info table {
	font-size: 1.2em;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin: 0 auto;
	width: 90%;
}
.info td, .info th {
	border-bottom: 1px dashed #ccc;
	padding: 1em 0 0.4em;
}
.info td {
	padding-left: 1em;
	width: 80%;
}
.info th {
	font-weight: normal;
	vertical-align: top;
	width: auto;
}



/* 画面サイズ 1200px用 */
@media screen and (max-width: 1200px) {
	nav, footer, footer ul, nav ul {
		width: 100%;
	}
	main, #header_content {
		width: 95%;
	}
}
/* 画面サイズ 1024px用 */
@media screen and (max-width: 1024px) {
	#header_content {
		grid-template-columns: 1fr 1fr;
	}
	#to_faq {
		background-position: 3% 100%;
		background-size: auto 70%;
	}
}
/* 画面サイズ 999px用 */
@media screen and (max-width: 999px) {
	#to_faq {
		background-size: auto 65%;
	}
}
/* 画面サイズ 896px用 */
@media screen and (max-width: 896px) {
	#to_faq {
		background-size: auto 60%;
	}
	#to_faq ul li span {
		font-size: 2.5em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#to_faq ul li span .mob_br {
		display: inline;
	}
}
/* 画面サイズ 846px用 */
@media screen and (max-width: 846px) {
	#mail_form table {
		margin: 2em auto;
		width: 80%;
	}
	#mail_form td, #mail_form th, #mail_form tr {
		display: block;
		width: auto;
	}
	#mail_form td {
		padding: 2em 2em 3em;
	}
}
/* 画面サイズ 823px用 */
@media screen and (max-width: 823px) {
	#example {
		width: 100%;
	}
	#header_content div h3, #header_content div h4 {
		font-size: 2em;
		letter-spacing: 0.1em;
		line-height: 1em;
		text-align: center;
	}
	#header_content div h2 img {
		height: auto;
		width: 80%;
	}
	#to_faq {
		background-image: none;
	}
	#to_faq > div {
		margin-left: 0;
	}
	#to_faq > h3 {
		font-size: 1.2em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#to_faq ul li span {
		font-size: 3em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#to_faq ul li span .mob_br {
		display: none;
	}
}
/* 画面サイズ 800px用 */
@media screen and (max-width: 800px) {
	header h1 {
		font-size: 1em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
}
/* 画面サイズ 768px用 */
@media screen and (max-width: 768px) {
	body {
		counter-reset: number 0;
	}
	#flow > div:not(:last-child) {
		display: block;
	}
	#flow > div:not(:last-child)::before {
		content: none;
	}
	#flow > h3::before {
		counter-increment: number 1;
		content: "Step" counter(number);
		margin-right: 1em;
	}
}
/* 画面サイズ 740px用 */
@media screen and (max-width: 740px) {
	#example {
		grid-template-columns: 47% 47%;
	}
}
/* 画面サイズ 667px用 */
@media screen and (max-width: 667px) {
	header h1 {
		line-height: 1.5em;
	}
	header h1 br {
		display: inline;
	}
	nav li a {
		font-size: 0.9em;
	}
	#faq_step ol li:first-child {
		margin-left: 10%;
	}
	#faq_step ol li:nth-child(2) {
		margin: 0 10%;
	}
	#header_content div:first-child p {
		font-size: 1.2em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#share_area {
		width: 90%;
	}
	#to_faq > h3 {
		font-size: 1em;
		letter-spacing: 0.1em;
		line-height: 1em;
		text-align: center;
	}
	#works p:nth-child(2) img {
		display: block;
		height: auto;
		margin: 0 auto;
		width: 90%;
	}
}
/* 画面サイズ 640px用 */
@media screen and (max-width: 640px) {
	#flow #contact_info {
		grid-template-columns: 26% 72%;
	}
	#to_faq > div p:last-child > span {
		background-color: #f00;
		color: #fff;
		font-weight: bold;
		position: absolute;
		padding: 0.5em 1em;
		left: 3px;
		top: 3px;
		transform: none;
	}
	#to_faq > div p:last-child > span br {
		display: none;
	}
}
/* 画面サイズ 600px用 */
@media screen and (max-width: 600px) {
	header {
		padding-top: 42px;
	}
	nav {
		border-bottom: 2px solid #000;
		height: 45px;
		left: 0;
		margin-top: 0;
		overflow: visible;
		position: fixed;
		top: 0;
		z-index: 10;
	}
	nav label {
		cursor: pointer;
		display: block;
		float: left;
		height: 30px;
		margin-left: 10px;
		margin-top: 7px;
		position: relative;
		width: 30px;
		z-index: 11;
	}
	nav label::before {
		box-shadow: #fff 0 12px 0;
		-webkit-box-shadow: #fff 0 12px 0;
	}
	nav label::after {
		bottom: 0;
	}
	nav label::before, nav label::after {
		background: #fff;
		content: '';
		display: block;
		height: 6px;
		position: absolute;
		transition: box-shadow 0.2s linear, transform 0.2s 0.2s;
		-webkit-transition: -webkit-box-shadow 0.2s linear, -webkit-transform 0.2s 0.2s;
		width: 30px;
	}
	nav input:checked ~ label::before {
		-webkit-box-shadow: transparent 0 0 0;
		box-shadow: transparent 0 0 0;
		-webkit-transform: rotate(45deg) translate3d(6px, 11px, 0);
		transform: rotate(45deg) translate3d(6px, 11px, 0);
	}
	nav input:checked ~ label::after {
		-webkit-transform: rotate(-45deg) translate3d(6px, -11px, 0);
		transform: rotate(-45deg) translate3d(6px, -11px, 0);
	}
	nav input:checked ~ ul {
		left: 0;
	}
	nav ul {
		background-color: #fff;
		box-shadow: 8px 0px 8px -1px rgba(0,0,0,0.31);
		-webkit-box-shadow: 8px 0px 8px -1px rgba(0,0,0,0.31);
		-moz-box-shadow: 8px 0px 8px -1px rgba(0,0,0,0.31);
		display: block;
		height : 900px;
		left: -100%;
		margin-top: 45px;
		position: absolute;
		top: 0;
		transition: left 0.4s;
		-webkit-transition: left 0.4s;
		width : 50%;
		z-index: 999;
	}
	nav ul li, nav li:last-child {
		border: 0;
	}
	nav li {
		background: #499bea;
		background: -moz-linear-gradient(top, #499bea 0%, #207ce5 100%);
		background: -webkit-linear-gradient(top, #499bea 0%, #207ce5 100%);
		background: linear-gradient(to bottom, #499bea 0%, #207ce5 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#499bea', endColorstr='#207ce5', GradientType=0);
		height: auto;
	}
	nav li a {
		border-bottom: 2px solid #fff;
		font-size: 1em;
		height: auto;
		letter-spacing: 0.1em;
		line-height: 4em;
	}
	#faq #contact {
		width: 95%;
	}
	#faq #contact li {
		font-size: 1.2em;
		letter-spacing: 0.1em;
		line-height: 1.5em;
	}
	#header_content {
		display: block;
	}
	#header_content div, #header_content div:first-child p {
		text-align: center;
	}
	#header_content div:last-child {
		margin-top: 2em;
	}
	#header_content div h3, #header_content div h4 {
		font-size: 2.7em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#mail_form td textarea {
		width: 90%;
	}
	#to_faq ul li span {
		font-size: 2.5em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#to_faq ul li span .mob_br {
		display: inline;
	}
}
/* 画面サイズ 568px用 */
@media screen and (max-width: 568px) {
	footer ul {
		width: 80%;
	}
	footer ul li {
		display: block;
		margin: 1em 0;
	}
	footer ul li a {
		background: #499bea;
		background: -moz-linear-gradient(top, #499bea 0%, #207ce5 100%);
		background: -webkit-linear-gradient(top, #499bea 0%, #207ce5 100%);
		background: linear-gradient(to bottom, #499bea 0%, #207ce5 100%);
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#499bea', endColorstr='#207ce5', GradientType=0);
		color: #fff;
		font-size: 1.5em;
		font-weight: bold;
		display: flex;
		letter-spacing: 0.1em;
		justify-content: center;
		padding: 2em 0;
		text-decoration: none;
	}
	footer ul li a::before {
		content: '\f138';
		font-family: "Font Awesome 5 Free";
		font-size: 2em;
		font-weight: 900;
		padding-right: 0.2em;
	}
	#business h3, #flow h3, #works h3 {
		font-size: 1.5em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#gaiyo td, #gaiyo th, #gaiyo tr {
		display: block;
		padding-left: 0;
		padding-right: 0;
	}
	#gaiyo td {
		padding: 1em 2em 3em;
	}
	#flow #contact_info {
		grid-template-columns: 29% 69%;
	}
	#mail_form table {
		width: 95%;
	}
	#mail_form tr:nth-child(3) input {
		width: 90%;
	}
}
/* 画面サイズ 428px用 */
@media screen and (max-width: 428px) {
	#share_area ul {
		width: 100%;
	}
}
/* 画面サイズ 414px用 */
@media screen and (max-width: 414px) {
	#business h3, #flow h3, #works h3 {
		font-size: 1.2em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#example {
		grid-template-columns: 90%;
	}
	#faq_step ol li {
		font-size: 1.2em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#faq_step ol li:first-child::after, #faq_step ol li:nth-child(2)::after {
		border-left: 30px solid #fff;
		right: -49px;
	}
	#faq_step ol li:first-child::before, #faq_step ol li:nth-child(2)::before {
		border-left: 30px solid #000;
		right: -50px;
	}
	#flow #contact_info {
		box-sizing: border-box;
		display: block;
		padding: 1px 0;
	}
	#flow #contact_info dd, #flow #contact_info dt {
		display: block;
		margin: 1em auto;
		padding: 0;
		width: 90%;
	}
	#flow #contact_info dd {
		margin-bottom: 2em;
	}
	#flow #contact_info dd:nth-child(2), #flow #contact_info dd:nth-child(4), #flow #contact_info dd:nth-child(6) {
		text-align: center;
	}
	#flow #contact_info dt {
		background-color: #bbb;
		padding-bottom: 0.3em;
		padding-top: 0.3em;
		text-align: center;
	}
	#header_content div h3, #header_content div h4 {
		font-size: 2em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#mail_form td {
		padding-left: 1em;
		padding-right: 1em;
	}
	#mail_form tr:nth-child(1) input {
		width: 90%;
	}
	#no_example::before {
	font-size: 6em;
	}
	#to_faq > div p:last-child a {
		font-size: 1.5em;
		letter-spacing: 0.1em;
		line-height: 1em;
		padding-top: 1.5em;
	}
	#to_faq > h3 {
		line-height: 1.5em;
	}
	#to_faq > h3 br {
		display: inline;
	}
	#to_faq ul li span {
		font-size: 2em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
}
/* 画面サイズ 384px用 */
@media screen and (max-width: 384px) {
	#share_area ul {
		grid-row-gap: 1.5em;
		grid-template-columns: 1fr 1fr;
		width: 70%;
	}
}
/* 画面サイズ 375px用 */
@media screen and (max-width: 375px) {
	#business h3, #flow h3, #works h3 {
		box-sizing: border-box;
	}
	#gaiyo td {
		padding-left: 0.5em;
		padding-right: 0.5em;
	}
	#gaiyo tr:nth-child(8) td {
		font-size: 0.8em;
		letter-space: 0.1em;
		line-height: 1em;
	}
	#to_faq ul li span {
		font-size: 1.5em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
}
/* 画面サイズ 360px用 */
@media screen and (max-width: 360px) {
	#to_faq > div p:last-child > span {
		padding: 0.2em 1em;
	}
}
/* 画面サイズ 320px用 */
@media screen and (max-width: 320px) {
	#header_content div h3, #header_content div h4 {
		font-size: 1.7em;
		letter-spacing: 0.1em;
		line-height: 1em;
	}
	#mail_form tr:nth-child(2) input {
		width: 4em;
	}
}
