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

/* ====================
   社長メッセージ
==================== */
.message{
	background: #1266E5;
	border-radius: 50px;
	margin: 0 80px;
}
.message .inner{
	max-width: 1366px;
	padding: 80px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	grid-row-gap: 40px;
	justify-content: center;
}
.message .inner h3{
	font-family: 'Montserrat', sans-serif;
	font-size: 40px;
	text-align: center;
	color:#fff;
}
.message .inner .message-txt{
	width: 70%;
	margin: 0 auto;
	color:#fff;
}
.message .inner .ceo{
	text-align: center;
	color:#fff;
}

/*タブレット（社長メッセージ）*/
@media screen and (max-width:1024px){
	.message{
		margin: 0 50px;
	}
	.message .inner{
		padding: 50px;
	}
	.message .inner .message-txt{
		width: 100%;
	}
}

/*スマホ（社長メッセージ）*/
@media screen and (max-width:600px){
	.message{
		margin: 0 30px;
	}
	.message .inner{
		padding:60px 30px;
	}
	.message .inner h3{
		font-size: 32px;
	}
}

/* ====================
   会社概要 
==================== */
.outline{
	max-width: 1366px;
	padding:130px 80px;
	margin: 0 auto;
	display: flex;
	flex-wrap: nowrap;
	gap:20px;
}
.outline .outline-title{
	width: 25%;
}
.outline .outline-title h3{
	font-size: 32px;
	font-weight: 500;
	font-family: 'Montserrat', sans-serif;
}
.outline .outline-table{
	width: 75%;
}
.outline .outline-table table{
	width: 100%;
}
.outline .outline-table th{
	width: 250px;
	border:1px solid #C2CAD6;
	padding: 30px 10px;
	background: #F0F4FA;
}
.outline .outline-table td{
	border:1px solid #C2CAD6;
	border-left: none;
	padding: 30px 10px;
}

/* タブレット（社長メッセージ） */
@media screen and (max-width:1024px){
	.outline{
		padding: 50px;
	}
	.outline .outline-table th{
		width: 190px;
	}
}

/* スマホ（社長メッセージ） */
@media screen and (max-width:600px){
	.outline{
		padding:60px 30px;
		flex-wrap: wrap;
	}
	.outline .outline-title{
		width: 100%;
	}
	.outline .outline-table{
		width: 100%;
	}
	.outline .outline-table th{
		display: block;
		width: 100%;
		padding: 18px 10px;
		border-bottom:none;
	}
	.outline .outline-table td{
		display: block;
		width: 100%;
		padding:18px 10px;
		border-left:1px solid #C2CAD6;
		border-bottom:none;
	}
	.outline .outline-table tr:last-child td{
		border-bottom:1px solid #C2CAD6;
	}
}


/* ====================
   アクセス
==================== */
.access{
	background: #F0F4FA;
	border-radius: 50px;
}
.access .inner{
	max-width: 1366px;
	padding: 80px;
	margin: 0 auto;
	display: flex;
	flex-wrap: nowrap;
	gap:20px;
}
.access .inner .access-title{
	width: 25%;
}
.access .inner h3{
	font-size: 32px;
	font-weight: 500;
	font-family: 'Montserrat', sans-serif;
}
.access .inner .access-contents{
	width: 75%;
	margin: 0 auto;
}
.access .inner .access-contents p{
	margin-bottom: 40px;
}
.access .inner .map {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 60%; /* 比率を4:3に固定 */
}
.access .inner .map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 20px;
}

/* タブレット（アクセス） */
@media screen and (max-width:1024px){
	.access .inner{
		padding: 50px;
	}
}

/* スマホ（アクセス） */
@media screen and (max-width:600px){
	.access .inner{
		padding: 60px 30px;
		flex-wrap: wrap;
	}
	.access .inner .access-title{
		width: 100%;
	}
	.access .inner .access-contents{
		width: 100%;
	}
}

/* ====================
   提供サービス
==================== */
.footer-service{
	background-image: url("../comon/img/bg01.svg");
	background-position:top center;
	background-repeat: no-repeat;
	background-size:110%;
}
.footer-service .inner{
	padding: 240px 80px 200px 80px;
	max-width: 1366px;
	margin: 0 auto;
}
.footer-service .flex-container{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	grid-row-gap:60px;
}
.footer-service .flex-container .flex-item {
	width: 31%;
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	align-content: flex-start;
}
.footer-service .flex-container .flex-item img{
	margin-bottom: -20px;
}
.footer-service .flex-container .flex-item .service-card{
	position: relative;
	z-index: 10;
	padding: 30px;
	border:1px solid #E1E9F5;
	border-radius: 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap:20px;
	background: #FFFFFF99;
}
.footer-service .flex-container .flex-item .service-card a{
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	position: relative;
	width: 100%;
	transition: 0.5s;
}
.footer-service .flex-container .flex-item .service-card a span{
	display: block;
	padding-right: 30px;
}
.footer-service .flex-container .flex-item .service-card a:hover{
	opacity: 0.7;
}
.footer-service .flex-container .flex-item .service-card a::after {
	content: "";
	width: 30px;
	height: 30px;
	position: absolute;
	background: url("../comon/img/btn-icon.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	top:50%;
	right:0;
	transform: translateY(-50%);
}
.footer-service .flex-container .flex-item .service-card p{
	color:#121212;
	font-size: 15px;
	text-align: justify;
}
.footer-service .flex-container .flex-item1{
	align-self: center;
}
.footer-service .flex-container .flex-item1 div{
	background: #375079;
	width: 100%;
	text-align: center;
	padding: 80px 20px;
	border-radius: 20px;
}
.footer-service .flex-container .flex-item1 div h4{
	font-size: 32px;
	font-weight: 700;
	color:#fff;
}
.footer-service .flex-container .flex-item1 div span{
	font-family: 'Montserrat', sans-serif;
	color:#fff;
}

/* タブレット（提供サービス） */
@media screen and (max-width:1024px){
	.footer-service{
		padding: 100px 50px 100px 50px;
	}
	.footer-service .flex-container .flex-item .service-card a span{
		padding-right: 24px;
	}
	.footer-service .flex-container .flex-item .service-card a::after {
		width: 24px;
		height: 24px;
	}
	.footer-service .flex-container .flex-item .service-card p{
		font-size: 14px;
	}
	.footer-service .flex-container .flex-item1 div h4{
		font-size: 24px;
	}
}

/* タブレット（提供サービス） */
@media screen and (max-width:600px){
	.footer-service{
		padding: 60px 30px 60px 30px;
		background-size:cover;
	}
	.footer-service .flex-container{
		flex-direction: column;
		grid-row-gap:30px;
}
	.footer-service .flex-container .flex-item {
		width: 100%;
	}
	.footer-service .flex-container .flex-item .service-card a{
		font-size: 16px;
	}
	.footer-service .inner{
		padding: 0;
	}
}
