@charset "utf-8";
/* CSS Document */
@media screen and (max-width: 820px){
	html {
		font-size: 8px;
	}
	body {
		max-width: 820px;
	}
	.page-link {
		width: 300px;
	}
	
	/*------ ヘッダー ------*/
	#header  h1 {
		max-width: 200px;
	}

	/*メインビジュアル*/
	.mainvisual {
		background: url("../img/mainvisual.png");
		background-size: cover;
		background-position: bottom;
		height: 100vh;
		position: relative;
	}
	
	
	/*----- ご挨拶 -----*/
	#greeting {
		padding: 5rem 0;
		background: linear-gradient(-90deg, rgba(209,234,245,0.8) 0%, rgba(209,234,245,0.8) 80%, #fff 20%, #fff 100%);
	}
	#greeting .container {
		width: 95%;
	}
	#greeting .container .inner {
		width: 90%;
		margin: auto;
		align-items: center;
		justify-content: space-between;
	}
	#greeting .container .inner .left {
		width: 36%;
	}
	#greeting .container .inner .right {
		width: 63%;
	}

	
	/*------ 事業内容 ------*/
	#works .works-container01 {
		background: linear-gradient(90deg, rgba(209,234,245,0.8) 0%, rgba(209,234,245,0.8) 90%, #fff 10%, #fff 100%);
	}
	#works .works-container02 {
		background: linear-gradient(-90deg, rgba(209,234,245,0.8) 0%, rgba(209,234,245,0.8) 90%, #fff 10%, #fff 100%);
	}
	#works .container .inner {
		width: 90%;
		margin: auto;
		align-items: center;
		justify-content: space-between;
	}
	
	
	/*------ 料金 ------*/
	#price {
		padding: 3rem 0 5rem 0;
		background: #D8FBEB;
	}
	.price-ttl {
		color: rgba(255,255,255,0.6);
		font-size: 18rem;
		text-align: left;
		font-style: italic;
		letter-spacing: 3px;
		margin-left: 5rem;
	}
	#price .inner {
		width: 70%;
		margin-top: 120px;
		margin-left: auto;
		margin-right: auto;
		position: relative;
	}
	#price .inner::before {
		content: "";
		width: 250px;
		height: 200px;
		background: url("../img/estimate.png");
		background-size: cover;
		position: absolute;
		top: -26rem;
		left: 50%;
		transform: translate(-50%);
	}
	
	
	/*------ 必要な理由 ------*/
	#about .inner {
		width: 98%;
		margin: auto;
		justify-content: space-between;
		align-items: center;
	}
	#about .inner .txt {
		width: 65%;
	}
	#about .inner .pic {
		width: 33%;
	}
	
	
	/*------ 問い合わせへのリンク ------*/
	#contact .inner {
		width: 90%;
		margin: 5rem auto 0 auto;
		justify-content: space-between;
		align-items: center;
	}
	
	
	/*------ フッター ------*/
	#footer {
		background: #185CAA;
		padding-top: 5rem;
	}
	#footer h1 {
		width: 250px;
		margin: auto;
	}
	#footer h1 a {
		display: block;
	}
	#footer .inner {
		width: 80%;
		margin: 3rem auto 0 auto;
		flex-direction: column;
		gap: 3rem;
	}
	#footer .inner .left {
		width: 100%;
	}
	#footer .inner .left p {
		font-size: 2rem;
		margin-top: 1rem;
		text-align: center;
	}
	#footer .inner .right {
		width: 100%;
	}
	#footer .inner iframe {
		width: 100%;
	}
	#footer .copy {
		font-size: 14px;
		text-align: center;
		padding: 8px 0;
	}
	
	
	/*~~~~~~~~~~ 下層ページ ~~~~~~~~~~*/
	/*メインビジュアル*/
	.page-ttl {
		position: absolute;
		top:50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	.page-ttl h2 {
		color: rgba(255,255,255,0.8);
		font-size: 10rem;
		text-align: center;
		font-style: italic;
		letter-spacing: 3px;
	}
	.page-ttl h3 {
		text-align: center;
		font-size: 4rem;
		letter-spacing: 3px;
		margin-top: 1rem;
	}
	.sec-ttl {
		margin: 1rem auto 5rem auto;
		position: relative;
	}
	.sec-ttl::before {
		content: "";
		width: 300px;
		height: 8px;
		border-radius: 30px;
		background: linear-gradient(to right,#C3ECE9,#185CAA);
		position: absolute;
		bottom: -3rem;
		left: 50%;
		transform: translate(-50%);
	}
	.sec-ttl h4 {
		font-size: 5rem;
		text-align: center;
	}
	.top-txt {
		width: 90%;
		margin: 3rem auto;
		z-index: 3;
	}
	.top-txt p {
		font-size: 2.4rem;
		line-height: 2;
	}
	.s-container {
		margin-bottom: 10rem;
	}
	.inner-flex {
		width: 95%;
		margin: 5rem auto;
		justify-content: space-between;
		align-items: center;
	}
	.inner-flex .txt {
		width: 58%;
	}
	.inner-flex .txt .b-txt {
		font-size: 3rem;
		margin-bottom: 2rem;
	}
	.inner-flex .txt .bb-txt {
		font-size: 2.4rem;
		margin-top: 2rem;
		margin-bottom: 1rem;
		color: #185CAA;
	}
	.inner-flex .txt .s-txt {
		font-size: 2rem;
		line-height: 1.6;
	}
	.inner-flex .txt .ss-txt {
		font-size: 2rem;
		line-height: 1.6;
	}
	.inner-flex .pic {
		width: 38%;
	}
	.inner-topic {
		width: 80%;
		margin: 3rem auto 5rem auto;
		background: linear-gradient(#8AFBF7,#DBFBFA);
		padding: 2rem;
	}
	.inner-topic .b-txt {
		font-size: 3rem;
		margin-bottom: 2rem;
		text-align: center;
	}
	.inner-topic .s-txt {
		font-size: 2rem;
		line-height: 1.6;
		text-align: center;
	}
	.inner-topic02 {
		margin: 3rem auto;
	}
	.mini-ttl {
		width: 80%;
		margin: auto;
		padding: 1rem 0;
		border-bottom: 3px dashed #5AC1B6;
		border-top: 3px dashed #5AC1B6;
	}
	.mini-ttl p {
		font-size: 3rem;
		text-align: center;
	}
	.in-topic-flex {
		width: 95%;
		margin: 3rem auto;
		align-items: flex-start;
		justify-content: center;
		gap: 3rem;
	}
	.in-topic-flex .item {
		width: 45%;
		border: 1px solid #5AC1B6;
	}
	.in-topic-flex .item .item-ttl {
		background: #5AC1B6;
		padding: 1rem 0;
	}
	.in-topic-flex .item .item-ttl p {
		font-size: 2.4rem;
		text-align: center;
	}
	.in-topic-flex .item .item-txt {
		width: 95%;
		margin: auto;
		padding: 1rem 0;
	}
	.in-topic-flex .item .item-txt p {
		font-size: 2rem;
		line-height: 2;
	}
	
	/*------ 消防設備点検 ------*/
	#inspection-about {
		padding: 10rem 0 5rem 0;
	}

	/*料金*/
	#s-price {
		padding:10rem 0;
		background: #D8FBEB;
		position: relative;
		border-bottom: 5px solid #185CAA;
		border-top: 5px solid #185CAA;
	}
	#s-price::before {
		content: "PRICE";
		font-family: "Futura PT Medium", "Futura PT Bold", "Futura PT Light";
		font-weight: bold;
		color: rgba(255,255,255,0.6);
		font-size: 18rem;
		font-style: italic;
		letter-spacing: 3px;
		position: absolute;
		top: 1rem;
		left: 1rem;
	}
	#s-price .top-txt {
		margin: 8rem auto;
	}
	.price-table {
		max-width: 750px;
		margin: 5rem auto;
	}
	.price-table table {
		width: 100%;
	}
	.price-table table tr .w35 {
		width: 40%;
		padding: 1rem 0;
	}
	.price-table table tr .w30 {
		width: 20%;
		padding: 1rem 0;
	}
	.price-table table th {
		background: #185CAA;
		font-size: 3rem;
	}
	.price-table table td {
		font-size: 1.8rem;
		background: #fff;
	}
	.price-table table th,
	.price-table table td {
		text-align: center;
		border: 1px solid #D1EAF5;
	}
	.table-memo {
		width: 100%;
		margin: 3rem auto;
		background: #fff;
		border: 1px solid #185CAA;
		padding: 1rem 0;
	}
	.table-memo ul {
		width: 95%;
		margin: auto;
	}
	.table-memo ul li {
		font-size: 2rem;
		list-style: disc;
		list-style-position: inside;
		padding: 0.5rem 0;
	}

	/*種類*/
	#inspection-kinds {
		padding: 10rem 0 0 0;
	}
	#inspection-kinds .sec-ttl {
		margin-bottom: 10rem;
	}
	.inspection-content {
		width: 80%;
		margin: 3rem auto;
		background: rgba(209,234,245,0.8);
		padding: 2rem 0;
	}
	.inspection-content dl {
		width: 90%;
		margin: auto;
	}
	.inspection-content dl dt {
		font-size: 2.4rem;
		color: #185CAA;
		border-bottom: 1px solid #185CAA;
	}
	.inspection-content dl dd {
		font-size: 2rem;
		padding: 1rem 0;
	}
	
	/*------ 消防設備工事 ------*/
	#construction-about,
	#estimate,
	#construction-kinds,
	#construction-flow {
		padding: 10rem 0 5rem 0;
	}
	.scale {
		margin: 8rem auto;
	}
	.scale .b-txt {
		text-align: center;
		font-size: 3rem;
	}
	.scale-images {
		width: 90%;
		margin: 3rem auto;
		align-items: flex-start;
		justify-content: center;
		gap:3rem;
	}
	.scale-images .item {
		width: 45%;
	}
	.scale-img-name {
		font-size: 2.8rem;
		text-align: center;
		padding: 1rem 0;
	} 
	.scale-img-txt {
		font-size: 2rem;
		line-height: 1.5;
	}
	.flow-inner {
		width: 60%;
		margin-left: 30%;
		padding-top: 5rem;
	}
	.flow-inner dl {
		position: relative;
	}
	.flow-inner dl::before {
		content: "";
		width: 18px;
		height: 100%;
		background-color: #E8EBEC;
		margin-left: -8px;
		display: block;
		position: absolute;
		top: 0;
		left: -133px;
		border-radius: 50px;
	}
	.flow-inner dl dt {
		align-items: center;
		gap: 1rem;
		font-size: 2.6rem;
		color:#185CAA;
		position: relative
	}
	.flow-inner dl dt::before {
		content: "";
		display: block;
		position: absolute;
		top: 24px;
		left: -110px;
		width: 100px;
		border-bottom: 3px dashed #7d7d7d;
	}
	.flow-inner dl dt::after {
		content: "";
		display: block;
		position: absolute;
		top: 18px;
		left: -140px;
		width: 18px;
		height: 18px;
		border-radius: 50%;
		background: #185CAA;
	}
	.flow-inner dl dt .flow-no {
		background: #185CAA;
		color: #fff;
		width: 50px;
		height: 50px;
		border-radius: 50%;
		font-size: 2.4rem;
		text-align: center;
		line-height: 50px;
	}
	.flow-inner dl dd {
		font-size: 1.8rem;
		width: 100%;
		margin-top: 2rem;
		margin-bottom: 4rem;
	}
	
	/*------ 会社概要 ------*/

	#company {
		padding: 10rem 0 5rem 0;
	}
	.company-table {
		width: 80%;
		margin: 10rem auto;
	}
	.company-table table {
		width: 100%;
	}
	.company-table table th {
		width: 25%;
		padding: 1rem 0;
		background: #D1EAF5;
		text-align: center;
		font-size: 1.8rem;
	}
	.company-table table td {
		width: 75%;
		padding: 1rem 0 1rem 2rem;
		font-size: 2rem;
		border: 1px solid #D1EAF5;
	}
	.company-map {
		width: 80%;
		margin: 5rem auto;
	}
	.company-map iframe {
		width: 100%;
	}
	
	#contact-form {
		padding: 10rem 0;
		background: rgba(231,243,248,0.8);
	}
	#contact-form .inner {
		background: #fff;
		width: 90%;
		border-radius: 3rem;
		margin: 10rem auto 0 auto;
		padding: 5rem 0;
	}

	/*フォーム*/
	.form {
		width: 90%;
		margin: auto;
		font-size: 2rem;
	}

}






@media screen and (max-width:420px){
	html {
		font-size: 6px;
	}
	body {
		max-width: 420px;
	}
	
	.sp-onliy {
		display: block;
	}
	
	.page-link {
		width: 350px;
	}
	.page-link a {
		display: block;
		text-align: center;
		color: #333;
		font-size: 3rem;
	}
	
	/*------ ヘッダー ------*/
	#header {
		position: fixed;
		top: 0;
		width: 100%;
		height: 70px;
		z-index: 999;
		background: rgba(255,255,255,0.5);
		box-sizing: border-box;
		display: flex;
		justify-content: space-between;
		align-items: center;
		color:#333;
		padding: 1.6rem;
	}
	#header  h1 {
		max-width: 180px;
	}
	#header h1 a {
		display: block;
	}
	#head-g-nav {
		display: none;
	}
	
	/*メインビジュアル*/
	.mainvisual {
		background: url("../img/mainvisual.png");
		background-size: cover;
		background-position: bottom;
		height: 80vh;
		position: relative;
	}
	.catch-copy {
		position: absolute;
		top:50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	.catch-copy h3 {
		text-align: center;
		font-size: 3.2rem;
		letter-spacing: 3px;
		margin-top: 5rem;
	}
	
	/*----- ご挨拶 -----*/
	#greeting .container {
		width: 100%;
		margin-right: auto;
		background: url("../img/greeting-bg.png");
		background-size: cover;
		background-position: center;
		padding-top: 10rem;
		padding-bottom: 5rem;
	}
	#greeting .container .inner {
		width: 95%;
		margin: auto;
		flex-direction: column-reverse;
		gap:3rem;
	}
	#greeting .container .inner .left {
		width: 80%;
		margin: auto;
	}
	#greeting .container .inner .right {
		width: 100%;
	}
	.greeting-ttl {
		text-align: center;
		font-size: 3.2rem;
		margin-bottom: 2rem;
	}
	.greeting-txt {
		font-size: 2.4rem;
		line-height: 1.5;
	}
	
	
	/*------ 事業内容 ------*/
	#works {
		padding: 10rem 0 0 0;
	}
	#works .works-container01 {
		background: rgba(209,234,245,0.8);
	}
	#works .works-container02 {
		background: rgba(209,234,245,0.8);
	}
	#works .container .inner {
		width: 90%;
		margin: auto;
		flex-direction: column;
		gap:3rem;
	}
	#works .container .inner .pic {
		width: 100%;
	}
	#works .container .inner .txt {
		width: 100%;
	}
	#works .container .inner .txt h5 {
		font-size: 3.6rem;
		text-align: center;
	}
	#works .container .inner .txt p {
		font-size: 2.4rem;
	}
	
	
	/*------ 料金 ------*/
	#price {
		padding: 3rem 0 5rem 0;
		background: #D8FBEB;
	}
	.price-ttl {
		color: rgba(255,255,255,0.6);
		font-size: 10rem;
		text-align: left;
		font-style: italic;
		letter-spacing: 3px;
		margin-left: 1rem;
	}
	#price .inner {
		width: 90%;
		margin-top: 50px;
		margin-left: auto;
		margin-right: auto;
		position: relative;
	}
	#price .inner::before {
		content: "";
		width: 100px;
		height: 80px;
		background: url("../img/estimate.png");
		background-size: cover;
		position: absolute;
		top: -16rem;
		left: 50%;
		transform: translate(-50%);
	}
	#price .inner h5 {
		font-size: 3.6rem;
		text-align: center;
		margin-bottom: 3rem;
	}
	#price .inner p {
		font-size: 2.4rem;
		line-height: 2;
	}
	
	/*------ 必要な理由 ------*/
	#about {
		border-top: 5px solid #185CAA;
		border-bottom:  5px solid #185CAA;
		padding: 5rem 0;
	}
	#about .inner {
		width: 90%;
		margin: auto;
		flex-direction: column;
		gap: 3rem;
	}
	#about .inner .txt {
		width: 100%;
	}
	#about .inner .pic {
		width: 80%;
		margin: auto;
	}
	#about .inner .txt h5 {
		font-size: 3.6rem;
		text-align: center;
		margin-bottom: 3rem;
	}
	#about .inner .txt p {
		width: 100%;
		margin: auto;
		font-size: 2.4rem;
		line-height: 2;
	}
	
	
	/*------ 問い合わせへのリンク ------*/
	#contact {
		padding: 5rem 0;
	}
	.contact-ttl {
		color: rgba(90,193,182,0.6);
		font-size: 8rem;
		text-align: center;
		font-style: italic;
		letter-spacing: 3px;
	}
	#contact p {
		font-size: 3rem;
		text-align: center;
		line-height: 2;
		margin-top: 3rem;
	}
	#contact p span {
		font-size: 2.4rem;
		font-family: "游ゴシック";
		font-weight: normal;
	}
	#contact .inner {
		width: 80%;
		margin: 5rem auto 0 auto;
		flex-direction: column;
		gap:5rem;
	}
	.tw-bnr {
		width: 100%;
		background: #185CAA;
		padding: 2rem 0;
	}
	
	
	/*------ フッター ------*/
	#footer {
		background: #185CAA;
		padding-top: 5rem;
	}
	#footer h1 {
		width: 300px;
		margin: auto;
	}
	#footer h1 a {
		display: block;
	}
	#footer .inner {
		width: 90%;
		margin: 3rem auto 0 auto;
		flex-direction: column;
		gap: 3rem;
	}
	#footer .inner .left {
		width: 100%;
	}
	#footer .inner .left p {
		font-size: 2.4rem;
		margin-top: 1rem;
	}
	#footer .inner .right {
		width: 100%;
	}
	#footer .inner iframe {
		width: 100%;
	}
	#footer .copy {
		font-size: 14px;
		text-align: center;
		padding: 8px 0;
	}
	
	
	/*~~~~~~~~~~ 下層ページ ~~~~~~~~~~*/
	/*メインビジュアル*/
	.s-mainvisual {
		height: 50vh;
	}
	.page-ttl {
		position: absolute;
		top:50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	.page-ttl h2 {
		color: rgba(255,255,255,0.8);
		font-size: 7rem;
		text-align: center;
		font-style: italic;
		letter-spacing: 3px;
	}
	.page-ttl h3 {
		text-align: center;
		font-size: 4rem;
		letter-spacing: 3px;
		margin-top: 1rem;
	}
	.sec-ttl {
		margin: 1rem auto 5rem auto;
		position: relative;
	}
	.sec-ttl::before {
		content: "";
		width: 300px;
		height: 8px;
		border-radius: 30px;
		background: linear-gradient(to right,#C3ECE9,#185CAA);
		position: absolute;
		bottom: -3rem;
		left: 50%;
		transform: translate(-50%);
	}
	.sec-ttl h4 {
		font-size: 5rem;
		text-align: center;
	}
	.top-txt {
		width: 90%;
		margin: 5rem auto;
		z-index: 3;
	}
	.top-txt p {
		font-size: 2.4rem;
		line-height: 2;
	}
	.s-container {
		margin-bottom: 10rem;
	}
	.inner-flex {
		width: 95%;
		margin: 5rem auto;
		flex-direction: column;
		gap: 3rem;
	}
	.inner-flex .txt {
		width: 100%;
	}
	.inner-flex .txt .b-txt {
		font-size: 3.6rem;
		margin-bottom: 1rem;
		text-align: center;
	}
	.inner-flex .txt .bb-txt {
		font-size: 2.4rem;
		margin-top: 2rem;
		margin-bottom: 1rem;
		color: #185CAA;
		text-align: center;
	}
	.inner-flex .txt .s-txt {
		font-size: 2.4rem;
		line-height: 1.6;
	}
	.inner-flex .txt .ss-txt {
		font-size: 2.4rem;
		line-height: 1.6;
	}
	.inner-flex .pic {
		width: 100%;
	}
	.inner-topic {
		width: 90%;
		margin: 3rem auto 5rem auto;
		background: linear-gradient(#8AFBF7,#DBFBFA);
		padding: 2rem;
	}
	.inner-topic .b-txt {
		font-size: 3rem;
		margin-bottom: 2rem;
		text-align: center;
	}
	.inner-topic .s-txt {
		font-size: 2.4rem;
		line-height: 1.6;
		text-align: center;
	}
	.inner-topic02 {
		margin: 3rem auto;
	}
	.mini-ttl {
		width: 80%;
		margin: auto;
		padding: 1rem 0;
		border-bottom: 3px dashed #5AC1B6;
		border-top: 3px dashed #5AC1B6;
	}
	.mini-ttl p {
		font-size: 3rem;
		text-align: center;
	}
	.in-topic-flex {
		width: 85%;
		margin: 3rem auto;
		flex-direction: column;
		gap: 3rem;
	}
	.in-topic-flex .item {
		width: 100%;
		border: 1px solid #5AC1B6;
	}
	.in-topic-flex .item .item-ttl {
		background: #5AC1B6;
		padding: 1rem 0;
	}
	.in-topic-flex .item .item-ttl p {
		font-size: 2.8rem;
		text-align: center;
	}
	.in-topic-flex .item .item-txt {
		width: 95%;
		margin: auto;
		padding: 1rem 0;
	}
	.in-topic-flex .item .item-txt p {
		font-size: 2rem;
		line-height: 2;
	}
	
	/*------ 消防設備点検 ------*/
	#inspection-about {
		padding: 10rem 0 5rem 0;
	}

	/*料金*/
	#s-price {
		padding:10rem 0;
		background: #D8FBEB;
		position: relative;
		border-bottom: 5px solid #185CAA;
		border-top: 5px solid #185CAA;
	}
	#s-price::before {
		content: "PRICE";
		font-family: "Futura PT Medium", "Futura PT Bold", "Futura PT Light";
		font-weight: bold;
		color: rgba(255,255,255,0.6);
		font-size: 18rem;
		font-style: italic;
		letter-spacing: 3px;
		position: absolute;
		top: 1rem;
		left: 1rem;
	}
	#s-price .top-txt {
		margin: 8rem auto;
	}
	.price-table {
		max-width: 390px;
		margin: 5rem auto;
	}
	.price-table table {
		width: 100%;
	}
	.price-table table tr .w35 {
		width: 40%;
		padding: 1rem 0;
	}
	.price-table table tr .w30 {
		width: 20%;
		padding: 1rem 0;
	}
	.price-table table th {
		background: #185CAA;
		font-size: 3rem;
	}
	.price-table table td {
		font-size: 1.8rem;
		background: #fff;
	}
	.price-table table th,
	.price-table table td {
		text-align: center;
		border: 1px solid #D1EAF5;
	}
	.table-memo {
		width: 100%;
		margin: 3rem auto;
		background: #fff;
		border: 1px solid #185CAA;
		padding: 1rem 0;
	}
	.table-memo ul {
		width: 95%;
		margin: auto;
	}
	.table-memo ul li {
		font-size: 2rem;
		list-style: disc;
		list-style-position: inside;
		padding: 0.5rem 0;
	}

	/*種類*/
	#inspection-kinds {
		padding: 10rem 0 0 0;
	}
	#inspection-kinds .sec-ttl {
		margin-bottom: 10rem;
	}
	.inspection-content {
		width: 90%;
		margin: 3rem auto;
		background: rgba(209,234,245,0.8);
		padding: 2rem 0;
	}
	.inspection-content dl {
		width: 90%;
		margin: auto;
	}
	.inspection-content dl dt {
		font-size: 2.4rem;
		color: #185CAA;
		border-bottom: 1px solid #185CAA;
	}
	.inspection-content dl dd {
		font-size: 2rem;
		padding: 1rem 0;
	}
	
	
	/*------ 消防設備工事 ------*/
	#construction-about,
	#estimate,
	#construction-kinds,
	#construction-flow {
		padding: 10rem 0 5rem 0;
	}
	.scale {
		margin: 8rem auto;
	}
	.scale .b-txt {
		text-align: center;
		font-size: 4rem;
	}
	.scale-images {
		width: 98%;
		margin: 3rem auto;
		align-items: flex-start;
		justify-content: center;
		gap:1rem;
	}
	.scale-images .item {
		width: 48%;
	}
	.scale-img-name {
		font-size: 2.8rem;
		text-align: center;
		padding: 0.5rem 0;
	} 
	.scale-img-txt {
		font-size: 2.4rem;
		line-height: 1.5;
	}
	.flow-inner {
		width: 60%;
		margin-left: 30%;
		padding-top: 5rem;
	}
	.flow-inner dl {
		position: relative;
	}
	.flow-inner dl::before {
		content: "";
		width: 18px;
		height: 100%;
		background-color: #E8EBEC;
		margin-left: -8px;
		display: block;
		position: absolute;
		top: 0;
		left: -82px;
		border-radius: 50px;
	}
	.flow-inner dl dt {
		align-items: center;
		gap: 1rem;
		font-size: 2.6rem;
		color:#185CAA;
		position: relative
	}
	.flow-inner dl dt::before {
		content: "";
		display: block;
		position: absolute;
		top: 24px;
		left: -85px;
		width: 80px;
		border-bottom: 3px dashed #7d7d7d;
	}
	.flow-inner dl dt::after {
		content: "";
		display: block;
		position: absolute;
		top: 18px;
		left: -90px;
		width: 15px;
		height: 15px;
		border-radius: 50%;
		background: #185CAA;
	}
	.flow-inner dl dt .flow-no {
		background: #185CAA;
		color: #fff;
		width: 30px;
		height: 30px;
		border-radius: 50%;
		font-size: 3rem;
		text-align: center;
		line-height: 30px;
	}
	.flow-inner dl dd {
		font-size: 2rem;
		width: 100%;
		margin-top: 2rem;
		margin-bottom: 4rem;
	}
	
	/*------ 会社概要 ------*/

	#company {
		padding: 10rem 0 5rem 0;
	}
	.company-table {
		width: 98%;
		margin: 10rem auto;
	}
	.company-table table {
		width: 100%;
	}
	.company-table table th {
		width: 25%;
		padding: 1rem 0;
		background: #D1EAF5;
		text-align: center;
		font-size: 1.8rem;
	}
	.company-table table td {
		width: 75%;
		padding: 1rem 0 1rem 2rem;
		font-size: 2rem;
		border: 1px solid #D1EAF5;
	}
	.company-map {
		width: 98%;
		margin: 5rem auto;
	}
	.company-map iframe {
		width: 100%;
		height: 300px;
	}

	#contact-form {
		padding: 10rem 0;
		background: rgba(231,243,248,0.8);
	}
	#contact-form .inner {
		background: #fff;
		width: 98%;
		border-radius: 3rem;
		margin: 10rem auto 0 auto;
		padding: 5rem 0;
	}

	/*フォーム*/
	.form {
		width: 98%;
		margin: auto;
		font-size: 2rem;
	}
	
}
