/*------------------------------------------------------------------------------
  PC or ALL 
------------------------------------------------------------------------------*/
.ja02{
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
}

.header{
	.header-inner{
		.header-logo{
			width: auto;
		}
		.header-nav{
			&>ul{
				&>li{
					.en{
						font-family: "BIZ UDGothic", serif;
						font-weight: 700;
						font-style: normal;
					}
				}
			}
		}
	}
}

.mainvisual2{
	background: #c6d5e7;
}
.swiper-pagination-bullet{
	background: #fff !important;
	opacity: 1;
}
.swiper-pagination-bullet-active{
	background: #16498b !important;
}

.title-type02{
	h2{
		.ja{
			strong{
				color: #16498b;
				font-weight: 700;
			}
		}
		.en{
			color: #687e9b;
			opacity: 1 !important;
		}
	}
	&::before{
		width: 70px;
		height: 5px;
	}
}

.main-gallery{
	.swiper{
		margin-bottom: 30px;
		.image img{
			width: 360px;
			height: 240px;
			object-fit: cover;
		}
		.swiper-pagination-bullet{
			background: #dadada !important;
			opacity: 1;
		}
		.swiper-pagination-bullet-active{
			background: #687e9b !important;
		}
	}
	.btn{
		a{
			position: relative;
			display: block;
			margin: 0 auto;
			width: 180px;
			height: 50px;
			line-height: 50px;
			text-align: center;
			background: #16498b;
			color: #fff;
			font-size: 1.6rem;
			font-weight: 700;
			-webkit-border-radius: 5px;
			-moz-border-radius: 5px;
			border-radius: 5px;
			&::after{
				content: "\e5cc";
				position: absolute;
				top: 50%;
				right: 25px;
				font-family: "Material Symbols Outlined";
				font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
				line-height: 1;
				transform: translateY(-50%);
			}
		}
	}
}

.main-greetings{
	.text{
		margin: -100px calc((19 / 192) * 100vw) 0;
		padding: 60px calc((22 / 192) * 100vw) 0;
		font-size: 1.6rem;
		.copy{
			color: #16498b;
		}
	}
}

.main-reason{
	position: relative;
	padding-bottom: 90px;
	&::before{
		display: block;
		content: '';
		position: absolute;
		top: 40px;
		right: 0;
		left: 0;
		bottom: 0;
		background: #f3f3f3;
	}
	.title-type02{
		position: relative;
		z-index: 10;
		h2{
			.ja{
				strong{
					strong{
						display: inline-block;
						font-size: 6rem;
						transform: scaleX(1.5);
						padding: 0 .1em;
					}
				}
			}
		}
	}
	.list-number-type01{
		margin: 0 auto;
		max-width: 1124px;
		position: relative;
		z-index: 10;
		ol{
			li{
				background: none;
				&::before{
					top: 0;
					left: 35px;
					transform: translateX(0);
					font-size: 5.2rem;
					color: #ec9400;
					font-family: "Roboto Condensed", serif;
					font-weight: 700;
					text-shadow: 2px 2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, -2px -2px 0 #fff, 2px 0px 0 #fff, 0px 2px 0 #fff, -2px 0px 0 #fff, 0px -2px 0 #fff;
				}
				.image{
					margin-bottom: 20px;
					img{
						-webkit-border-radius: 50%;
						-moz-border-radius: 50%;
						border-radius: 50%;
					}
				}
				.text{
					padding: 0;
					font-size: 1.6rem;
					.copy{
						color: #16498b;
						font-size: 3.2rem;
						text-align: center;
						font-weight: 500;
					}
				}
			}
		}
	}
}

.main-goodat{
	.lead-type01{
		margin-bottom: 40px;
		h3{
			display: inline-block;
			font-size: 3.6rem;
			background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(35%, #ffcf7e));
			background: linear-gradient(transparent 65%, #ffcf7e 35%);
		}
	}
	.banner-type02{
		ul{
			flex-wrap: wrap;
			justify-content: center;
			li{
				width: 355px;
				.text{
					text-align: center;
					padding: 40px 0 80px;
					p{
						font-size: 1.6rem;
						font-weight: 400;
					}
					.btn{
						a{
							width: 180px;
							height: 50px;
							-webkit-border-radius: 5px;
							-moz-border-radius: 5px;
							border-radius: 5px;
							background: #fff;
							color: #16498b;
						}
					}
				}
			}
		}
	}
}

.main-recruit{
	padding: 80px 0;
	background: #c6d5e7;
	.image-bg-type02{
		margin: 0 auto;
		max-width: 820px;
		.text{
			padding: 70px 120px;
			max-width: unset;
			p{
				font-size: 1.6rem;
			}
			.btn{
				a{
					width: 180px;
					height: 50px;
					-webkit-border-radius: 5px;
					-moz-border-radius: 5px;
					border-radius: 5px;
					background: #16498b;
					color: #fff;
				}
			}
		}
	}
}

.main-area{
	margin-bottom: 130px;
	.image-text-type03{
		.image{
			width: 674px;
			height: 480px;
			z-index: 20;
		}
		.text{
			width: 450px;
			padding: 100px 0 0 50px;
			.copy{
				color: #16498b;
				font-size: 2.2rem;
			}
			&::before{
				top: 60px;
				left: -200px;
				width: calc(100% + 200px + (50vw - 562px));
				height: 480px;
				background: #f3f3f3;
			}
		}
	}
}

.main-blog{
	.category{
		background: #fff !important;
		color: #16498b !important;
	}
	.btn{
		a{
			position: relative;
			display: block;
			margin: 0 auto;
			width: 180px;
			height: 50px;
			line-height: 50px;
			text-align: center;
			background: #16498b;
			color: #fff;
			font-size: 1.6rem;
			font-weight: 700;
			-webkit-border-radius: 5px;
			-moz-border-radius: 5px;
			border-radius: 5px;
			&::after{
				content: "\e5cc";
				position: absolute;
				top: 50%;
				right: 25px;
				font-family: "Material Symbols Outlined";
				font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
				line-height: 1;
				transform: translateY(-50%);
			}
		}
	}
}

.footer-contact{
	.title{
		.ja{
			font-size: 4.5rem;
		}
		.en{
			font-size: 2.1rem;
		}
		.copy{
			font-size: 3.4rem;
			font-weight: 400;
		}
	}
	.text{
		.tel{
			line-height: 1.2;
			a{
				font-size: 7.1rem;
			}
		}
		.signiture{
			margin-bottom: 1.2em;
			font-size: 1.6rem;
			font-weight: 700;
		}
		.datetime{
			margin: 0 0 1.2em;
			font-size: 1.6rem;
			font-weight: 400;
		}
		.btn{
			a{
				-webkit-border-radius: 5px;
				-moz-border-radius: 5px;
				border-radius: 5px;
				padding: 13px 50px 12px 50px;
				i{
					margin-right: .5em;
				}
				&::after{
					display: none;
				}
			}
		}
	}
}

.footer{
	.about{
		font-size: 1.2rem;
	}
}
.fixed-footer{
	background: #16498b;
	color: #fff;
	.tel{
		a{
			font-size: 3rem;
			&::before{
				color: #ec9400;
			}
		}
		.ja{
			text-align: center;
			font-size: 1.3rem;
			font-weight: 700;
		}
	}
	.contact{
		a{
			background: #ec9400;
			font-size: 1.6rem;
			-webkit-border-radius: 5px;
			-moz-border-radius: 5px;
			border-radius: 5px;
		}
	}
}

.gallery-detail-meta{
	margin: 0 10px 25px;
}
.gallery-detail-meta td,
.gallery-detail-meta th{
	padding: 0.75rem;
	border: 1px solid #c7c7c7;
}
.gallery-detail-meta .table th{
	width: 25%;
	background: #edf1f6;
}


/* 20250111 added by Fabo */
.mt-0 { margin-top: 0 !important;}
.mt-s { margin-top: 4vh !important;}
.mt-m { margin-top: 7vh !important;}
.mt-l { margin-top: 10vh !important;}

.mb-0 { margin-bottom: 0 !important;}
.mb-s { margin-bottom: 4vh !important;}
.mb-m { margin-bottom: 7vh !important;}
.mb-l { margin-bottom: 10vh !important;}

.page-content h2:not([class]),
.page-content h3:not([class]),
.page-content h4:not([class]) {
    margin-bottom: 3vh;
}

.box-color {
    margin: 0 0 6vh;
    padding: 35px;
    background: #f7f7f7;
}
.box-color :first-child {
    margin-top: 0 !important;
}
.box-color :last-child {
    margin-bottom: 0 !important;
}

.page-content .image-text-type01 .text {
    overflow: hidden;
}
.page-content  .list-check-type01 {
    display: flex;
    justify-content: flex-start;
}

.align-center {
    text-align: center;
}

.table-type02 table th {
	font-weight: normal;
}
.table-type02 table td strong {
	color: #e30000;
}

.box-table-fixed {
	table-layout: fixed;
	width: 100%;
	margin: 0 0 1em 0;
	border-collapse: separate;
    border-spacing: 3px;
}
.box-table-fixed th,
.box-table-fixed td {
	padding: 13px 10px;
	text-align: center;
	vertical-align: middle;
}
.box-table-fixed th {
	background: var(--main-color);
	color: #fff;
}
.box-table-fixed td {
	background: var(--sub-color);
}

.strong {
	color: #ec940a;
}

.img-border {
	padding: 2px;
    border: 1px solid #ddd;
}

.box-btnbox {
	display: flex; 
	justify-content: start;
	flex-wrap: wrap;
	gap: 13px;
}
.box-btn a {
	display: inline-block;
	position: relative;
	min-width: 260px;
	height: 56px;
	padding: 0 15px;
	background: #ec940a;
	line-height: 56px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	border-radius: 6px;
}
.box-btn a:after {
	content: "\e5cc";
	position: absolute;
	top: 0;
	right: 18px;
    font-family: "Material Symbols Outlined";
}

/* 求人情報 */
.page-id-4059 .list-flow-type01 > ul > li .icon {
	font-size: 1.7rem;
}
.list-flow-type01 > ul > li .text:before {
	top: 14px;
}
.list-flow-type01 > ul > li .text h3.box-h3 {
    font-size: 2rem;
	margin: 0.5rem 0 0 0;
}

/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {

.main-greetings{
	.text{
		margin: -10vw 5vw 0;
		padding: 4vw 4vw 0;
		font-size: 1.6rem;
		.copy{
			color: #16498b;
		}
	}
}
.main-reason{
	padding: 0 4vw;
}

.main-recruit{
	padding: 10vw 0;
	.image-bg-type02{
		.text{
			padding: 5vw;
			max-width: unset;
		}
	}
}

.main-area{
	margin-bottom: 130px;
	.image-text-type03{
		.image{
			width: 100%;
			height: auto;
			z-index: 20;
		}
		.text{
			width: 100%;
			margin: 0;
			padding: 4vw;
			background: #f3f3f3;
			&::before{
				display: none;
			}
		}
	}
}

.footer-contact{
	.title{
		.ja{
			font-size: 3.8rem;
		}
		.en{
			font-size: 1.8rem;
		}
		.copy{
			font-size: 2.8rem;
		}
	}
	.text{
		.tel{
			line-height: 1.2;
			a{
				font-size: 7.1rem;
			}
		}
		.signiture{
			margin-bottom: 1.2em;
			font-size: 1.6rem;
			font-weight: 700;
		}
		.datetime{
			margin: 0 0 1.2em;
			font-size: 1.6rem;
			font-weight: 400;
		}
		.btn{
			a{
				-webkit-border-radius: 5px;
				-moz-border-radius: 5px;
				border-radius: 5px;
				padding: 13px 50px 12px 50px;
				i{
					margin-right: .5em;
				}
				&::after{
					display: none;
				}
			}
		}
	}
}

.box-btn a {
	min-width: auto;
}

}
