@charset "utf-8";
@media screen and (min-width: 600px) and (max-width: 1024px) {

/* iPadのSafariだけで適用 
.mac.safari .CLASS{
	
}
/* Chrome 
.iPad.safari .CLASS{
	
}
*/
/* アンドロイドタブレットだけで適用 
.android .CLASS{
	
}
*/


/* ////////////////////////////////////////////
 *                 base & layout
 * //////////////////////////////////////////// */

/* Typography
------------------------------------------*/
html {
	font-size: 1.6vw;
}

/* Layout
------------------------------------------*/
body {
	min-width: unset;
}

.pc-parts{
	display: none !important;
}
.tab-parts{
	display: block;
}

/* general
------------------------------------------*/
.common{
	padding: 5vw 2vw;
	h2{
		margin-bottom: 2vw;
		span{
			display: block;
			&.ja{
				font-size: 6vw;
			}
			&.en{
				font-size: 3vw;
			}
		}
	}
	.main{
		.btns{
			a{
				margin-top: 4vw;
				padding-right: 60px;
				font-size: 2.5vw;
			}
		}
	}
}

/* drawer
------------------------------------------*/
.drawer-bg,
.drawer-menu{
	display: none;
}
.is-drawer-open {
	.drawer-menu {
		z-index: 99999;
		position: fixed !important;
		top: 10vw !important;
		right: 0 !important;
		left: auto !important;
		width: 50vw;
		padding: 4vw 2vw;
		background: var(--keyColor);
		text-align: left;
		color: var(--bodyBgColor);

		a {
			color: inherit;
		}

		> ul {
			line-height: 2;

			> li {
				> a {
					.ja{
						font-size: 2.5vw;
					}
					&:before {
						content: '\f138';
						padding-right: 2vw;
						color: #62c0b4;
						font-size: 2vw;
						font-weight: bold;
						font-family: 'Font Awesome 5 Free';
						line-height: 1;
						-webkit-font-smoothing: antialiased;
						-moz-osx-font-smoothing: grayscale;
					}
				}

				> ul {
					padding: 0.2em 0 1em 2vw;

					> li {
						> a {
							font-size: 2.3vw;
							&:before {
								content: '\f105';
								padding-right: 2vw;
								color: #62c0b4;
								font-size: 2vw;
								font-weight: bold;
								font-family: 'Font Awesome 5 Free';
								line-height: 1;
								-webkit-font-smoothing: antialiased;
								-moz-osx-font-smoothing: grayscale;
							}
						}
					}
				}
			}
		}
	}
}

.simple-accordion-is-animation {
	.simple-accordion-btn {
		&::after,
		&::before {
			background: var(--bodyBgColor);
		}
	}
}


/* fixed
------------------------------------------
.fixed-btn{
	top: 15vw;
	right: 1vw;
	ul{
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 1vw;
		li{
			a{
				font-size: 1.8vw;
				width: 5vw;
				&.instagram{
					background: var(--instaColor);
					-webkit-border-radius: .3vw;
					-moz-border-radius: .3vw;
					border-radius: .3vw;
				}
				&.x{
					font-size: 2.5vw;
					height: 5vw;
					line-height: 5vw;
				}
				&:not(.x){
					padding: 1.0em .5em 1.5em;
					-ms-writing-mode: tb-rl;
					writing-mode: vertical-rl;
				}
			}
		}
	}
}
*/


/* header
------------------------------------------*/
#header {
	padding: 0 0 0 0;
	.main{
		height: 15vw;
		.logo {
			width: auto;
			a{
				width: 26.7vw;
				height: 20vw;
				img {
					display: block;
					width: auto !important;
					height: 4vw;
				}
			}
		}
		.hnav{
			gap: 3vw;
			.gnav{
				.gnav-list {
					gap: 1vw;
					li{
						a{
							span{
								display: block;
								&.ja{
									font-size: 1.5vw;
								}
								&.en{
									font-size: 1.2vw;
								}
							}
						}
						ul {
							display: none;
							position: absolute;
							top: calc(100% + 15px);
							left: 0;
							width: 150%;
							background: rgba(255,255,255,.8);
							li{
								a{
									display: block;
									padding: 5px 10px;
									color: inherit;
									font-size: 14px;
									text-align: left;
									zoom: 1;
									&:hover {
										text-decoration: none;
										background: #fff;
									}
								}
								ul {
									top: 0;
									left: 100%;
									width: 100%;
								}
							}
						}
					}
				}
			}
			.contact{
				gap: 2vw;
				.tel{
					a{
						font-size: 3vw;
						i{
							font-size: 2.5vw;
						}
					}
				}
				.btns{
					a{
						width: 25vw;
						height: 4vw;
						line-height: 4vw;
						font-size: 2vw;
						i{
							font-size: 2.1vw;
						}
						&::before{
							right: 1vw;
						}
					}
				}
			}
		}
	}
	&.scrolled{
		.main{
			height: 15vw;
			.logo {
				a{
					width: 26.7vw;
					height: 20vw;
				}
			}
		}
	}
}

/* header-btn */
.header-btn-group {
	margin-left: auto;
	.drawer-btn {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
		width:  15vw;
		height: 15vw;
		background: var(--noticeColor);
		-webkit-border-top-left-radius: 0;
		-webkit-border-top-right-radius: 0;
		-webkit-border-bottom-right-radius: 0;
		-webkit-border-bottom-left-radius: 2vw;
		-moz-border-radius-topleft: 0;
		-moz-border-radius-topright: 0;
		-moz-border-radius-bottomright: 0;
		-moz-border-radius-bottomleft: 2vw;
		.drawer-btn-bar {
			margin: 0 0 0 -3vw;
			width: 6vw;
			height: .7vw;
			background-color: var(--bodyBgColor);
			&:nth-child(1) {
				-webkit-transform: translateY(-2vw);
				transform: translateY(-2vw);
			}
			&:nth-child(3) {
				-webkit-transform: translateY(2vw);
				transform: translateY(2vw);
			}
		}
	}
}
.is-drawer-open{
	.drawer-btn {
		.drawer-btn-bar {
			&:nth-child(1) {
				-webkit-transform: translateY(0) rotate(45deg);
				transform: translateY(0) rotate(45deg);
			}
			&:nth-child(3) {
				-webkit-transform: translateY(0) rotate(-45deg);
				transform: translateY(0) rotate(-45deg);
			}
		}
	}
}

/* mainimage
------------------------------------------*/
/* 横スライド
.slideshow .slick-list {overflow: visible;}
*/

/* mainimage
------------------------------------------*/
#mainimage {
	margin: 0 0 10vw;
	padding: 15vw 0 0 0;
	.main{
		img{
			width: 100%;
		}
	}
	.mv-text{
		position: absolute;
		bottom: 26.7vw;
		left: 5.3vw;
		.copy{
			font-size: 4.3vw;
			color: var(--bodyBgColor);
			margin-bottom: .8em;
			padding-bottom: .5em;
			position: relative;
			display: inline-block;
			>span{
				background: var(--textColorSub);
				height: 6vw;
				line-height: 5vw;
				display: inline-block;
				padding: .1em .5em .5em;
			}
			&::after{
				content: '';
				position: absolute;
				bottom: 0;
				right: 0;
				left: 0;
				border-bottom: var(--textColorSub) 1px solid;
			}
		}
		h2{
			font-size: 6.4vw;
			>span{
				background: var(--bodyBgColor);
				height: 9.6vw;
				line-height: 9.6vw;
			}
		}
	}
	&::before{
		bottom: -2vw;
	}
	.mv-news{
		left: 0;
		right: 0;
		bottom: -10vw;
		width: 100%;
		height: 10vw;
		padding: 0 2vw;
		h2{
			font-size: 3vw;
			width: 15vw;
		}
		.main{
			width: calc(100% - 15vw);
			h3{
				.date{
					font-size: 2vw;
					-webkit-border-radius: 2vw;
					-moz-border-radius: 2vw;
					border-radius: 2vw;
				}
				a{
					font-size: 2.2vw;
				}
			}
		}
		.btns{
			width: calc((1 / 192) * 100vw);
			a{
				color: var(--textColorSub);
			}
		}
	}
}


/* content main
------------------------------------------*/
/* main */
/*banner*/
.main-banner{
	padding: 2vw;
	.main{
		ul{
			gap: 3vw;
			li{
				a{
					width: 46.5vw;
					height: 12vw;
					line-height: 12vw;
					padding: 0 2vw;
					font-size: 3vw;
					-webkit-border-radius: 1vw;
					-moz-border-radius: 1vw;
					border-radius: 1vw;
					&::after{
						right: 2vw;
						width: 3vw;
						height: 3vw;
						line-height: 3vw;
						font-size: 1.5vw;
					}
				}
			}
		}
	}
}

.main-message-group{
	margin-bottom: 9vw;
	padding-bottom: 20vw;
	background-image: url(/images/sp/bg01.png);
	.main-message{
		h2{
			margin-bottom: 5vw;
			font-size: 5vw;
			br{
				display: block;
			}
		}
		.main{
			display: block;
			.text{
				font-size: 3vw;
			}
		}
	}
	.main-president{
		padding: 8vw 2vw 0;
		.main{
			-webkit-border-radius: 5vw;
			-moz-border-radius: 5vw;
			border-radius: 5vw;
			display: block;
			.image{
				width: 100%;
				img{
					width: 100%;
				}
			}
			.texts{
				width: 100%;
				text-align: left;
				padding: 3vw 4vw 8vw;
				h2{
					font-size: 5.3vw;
					&::before{
						display: none;
					}
				}
				.text{
					font-size: 3vw;
				}
				.btns{
					text-align: left;
				}
			}
		}
	}
}


.main-about-group{
	padding: 12vw 2vw 0;
	&::before{
		top: -25vw;
		left: 0;
		width: 79.2vw;
		height: 35.5vw;
	}
	.main-about{
		padding: 0 0 20vw;
		.main{
			display: block;
			.texts{
				width: 100%;
				margin-bottom: 7vw;
				h2{
					margin-bottom: 5vw;
					&::after{
						left: -2vw;
						top: -1vw;
						bottom: -1vw;
					}
				}
				.text{
					margin-bottom: 10.7vw;
					font-size: 3vw;
				}
				.btns{
					text-align: right;
					a{
						margin: 0;
					}
				}
			}
			.images{
				position: relative;
				margin: 0;
				width: 100%;
				aspect-ratio: 1 / 1;
				div{
					position: absolute;
					img{
						width: 100%;
					}
					&:nth-child(1){
						top: 0;
						left: 0;
						width: 50vw;
					}
					&:nth-child(2){
						bottom: 0;
						right: 10vw;
						width: 40vw;
					}
					&:nth-child(3){
						top: 15.7vw;
						right: -2vw;
						width: 40vw;
					}
				}
			}
		}
	}
	.main-recruit{
		margin-bottom: 10vw;
		padding: 0 3vw 24vw;
		height: 61.1vw;
		-webkit-box-shadow: 0 0 3vw 3vw rgba(70,204,234,.1);
		-moz-box-shadow: 0 0 3vw 3vw rgba(70,204,234,.1);
		box-shadow: 0 0 3vw 3vw rgba(70,204,234,.1);
		-webkit-border-radius: 6vw;
		-moz-border-radius: 6vw;
		border-radius: 6vw;
		.image{
			position: absolute;
			top: -20vw;
			left: 50%;
			transform: translateX(-50%);
			width: 40vw;
			img{
				width: 100%;
			}
		}
		.texts{
			position: absolute;
			top: 15.7vw;
			right: 0;
			bottom: 0;
			left: 0;
			display: block;
			h2{
				font-size: 5.3vw;
				line-height: 1.3;
				br{
					display: block;
				}
				&::before,
				&::after{
					width: 6.4vw;
					height: 12vw;
				}
				&::before{
					left: -10vw;
				}
				&::after{
					right: -10vw;
				}
			}
			.btns{
				a{
					width: 78.7vw;
					height: 19.7vw;
					line-height: 19.7vw;
					font-size: 5.3vw;
					-webkit-border-radius: 4vw;
					-moz-border-radius: 4vw;
					border-radius: 4vw;
					&::after {
						right: 4vw;
						width: 9.1vw;
						height: 9.1vw;
						line-height: 9.1vw;
						font-size: 5vw;
					}
				}
			}
		}
	}

	.main-services{
		margin: 0 -5.3vw 0;
		padding: 0 5.3vw 82.7vw;
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		border-radius: 0;
		-webkit-box-shadow:unset;
		-moz-box-shadow: unset;
		box-shadow: inset unset;
		h2{
			margin-bottom: 18.7vw;
		}
		.main{
			>ul{
				display: grid;
				grid-template-columns: repeat(1, 1fr);
				gap: 18.7vw;
				>li{
					position: relative;
					padding: 13.3vw 5.3vw 24vw;
					-webkit-box-shadow: 0 0 3vw 3vw rgba(70,204,234,.2);
					-moz-box-shadow: 0 0 3vw 3vw rgba(70,204,234,.2);
					box-shadow: 0 0 3vw 3vw rgba(70,204,234,.2);
					-webkit-border-radius: 3vw;
					-moz-border-radius: 3vw;
					border-radius: 3vw;
					h3{
						padding-top: .3em;
						top: -7.6vw;
						left: 50%;
						width: 60.8vw;
						height: 18.4vw;
						background-image: url(/images/sp/balloon01.png);
						a{
							font-size: 5.3vw;
							span{
								font-size: 2.7vw;
								strong{
									font-size: 3.7vw;
								}
							}
						}
					}
					.image{
						margin-bottom: 6.9vw;
					}
					.text{
						font-size: 3vw;
					}
					.links{
						ul{
							gap: 2.7vw;
							flex-wrap: wrap;
							li{
								a{
									display: block;
									height: 6vw;
									line-height: calc(6vw - 4px);
									font-size: 3vw;
									-webkit-border-radius: 6vw;
									-moz-border-radius: 6vw;
									border-radius: 6vw;
								}
							}
						}
					}
					.link{
						position: absolute;
						bottom: 9.6vw;
						right: 5.3vw;
						a{
							width: 7.5vw;
							height: 7.5vw;
							line-height: 7.5vw;
							font-size: 4vw;
						}
					}
				}
			}
		}
		&::before{
			top: auto;
			right: auto;
			left: 50%;
			transform: translateX(-50%);
			bottom: 24vw;
			width: 60vw;
			height: 40vw;
		}
	}
}


.main-strengths-wrapper{
	margin-top: -5vw;
	.main-strengths{
		padding: 0 2vw 10vw;
		display: block;
		.header{
			text-align: left;
			position: relative;
			top: auto;
			h2{
				margin-bottom: 14.7vw;
				&::after{
					left: -5.3vw;
					top: -1vw;
					bottom: -1vw;
				}
			}
		}
		.main{
			max-width: unset;
			ul{
				gap: 7vw;
				li{
					.image{
						margin-bottom: 6.4vw;
						img{
							width: 100%;
						}
						.count{
							top: -.5em;
							font-size: 16vw;
						}
					}
					.texts{
						h3{
							font-size: 5.3vw;
						}
						.text{
							font-weight: 500;
							font-size: 3vw;
						}
					}
				}
			}
			.btns{
				text-align: right;
			}
		}
	}
}

.main-voice {
	padding: 5vw;
	.main{
		ul{
			display: block;
			li{				
				display: grid;
				grid-template-columns: repeat(1, 1fr);
				gap: 8vw;
				.image{
					text-align: center;
					img{
						width: auto !important;
						height: 50vw;
						max-width: unset;
						margin: 0 auto;
					}
				}
				.texts{
					width: 70%;
					margin: 0 auto;
					height: auto;
					aspect-ratio: 335 / 347;
					padding: 13.3vw 5.3vw 8.0vw ;
					background-image: url(/images/sp/balloon02.png);
					h3{
						font-size: 5.3vw;
					}
					.text{
						font-size: 3vw;
					}
				}
			}
			.slick-arrow{
				margin: 0;
				top: 30.7vw;
				width: 11.7vw;
				height: 11.7vw;
				&::before{
					color: var(--keyColorSub);
					font-size: 4vw;
					width: 11.7vw;
					height: 11.7vw;
					line-height: calc(11.7vw - 4px);
					text-align: center;
					-webkit-border-radius: 50%;
					-moz-border-radius: 50%;
					border-radius: 50%;
					border: var(--keyColorSub) 2px solid;
				}
				&.slick-prev{
					left: -2vw;
					&::before{
						content: '\f30a';
					}
				}
				&.slick-next{
					right: -2vw;
					&::before{
						content: '\f30b';
					}
				}
			}
		}
		.btns{
			text-align: right;
			margin-top: 60px;
		}
	}
}


.main-banner02{
	ul{
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 2vw;
		li{
			a{
				span{
					display: block;
					&.image{
						width: 42.5%;
						img{
							width: 100%;
						}
					}
					&.text{
						width: 57.5%;
						font-size: 5vw;
						&::before,
						&::after{
							width: 4.5vw;
							height: 3.5vw;
						}
					}
				}
			}
		}
	}
}

.main-column {
	margin-bottom: -10vw;
	padding: 10vw 2vw 15vw;
	background: url(/images/sp/main-column-bg.png) repeat 0 0;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	.main{
		ul{
			margin: 0 -1vw 10.7vw;
			display: block;
			li{
				width: 100%;
				.image{
					margin: 0 1vw 3vw;
					img{
						width: 100%;
					}
				}
				h3{
					.date{
						height: 4vw;
						line-height: calc((4vw - 4px));
						font-size: 2.5vw;
						-webkit-border-radius: 6vw;
						-moz-border-radius: 6vw;
						border-radius: 6vw;
					}
					a{
						font-size: 3vw;
						-webkit-line-clamp: 2;
					}
				}
			}
			.slick-arrow{
				margin: 0;
				top: 15vw;
				width: 11.7vw;
				height: 11.7vw;
				&::before{
					color: var(--keyColorSub);
					font-size: 4vw;
					width: 9vw;
					height: 9vw;
					line-height: calc(9vw - 4px);
					text-align: center;
					-webkit-border-radius: 50%;
					-moz-border-radius: 50%;
					border-radius: 50%;
					border: var(--keyColorSub) 2px solid;
					background: var(--bodyBgColor);
				}
				&.slick-prev{
					left: -1vw;
					&::before{
						content: '\f30a';
					}
				}
				&.slick-next{
					right: -3vw;
					&::before{
						content: '\f30b';
					}
				}
			}
		}
		.btn{
			text-align: right;
		}
	}
}
/* content sidebar
------------------------------------------*/
.template-type-blog #sidebar {
	padding: 0 2vw;
	max-width: 100%;
}

/* footer
------------------------------------------*/
#footer {
	padding: 10vw 2vw;
	-webkit-border-top-left-radius: 10vw;
	-webkit-border-top-right-radius: 10vw;
	-moz-border-radius-topleft: 10vw;
	-moz-border-radius-topright: 10vw;
	-webkit-box-shadow: 0 -5vw 5vw 5vw rgba(70, 204, 234, .2);
    -moz-box-shadow: 0 -5vw 5vw 5vw rgba(70,204,234,.2);
    box-shadow: 0 -5vw 5vw 5vw rgba(70, 204, 234, .2);
	.main{
		margin: 0 auto 5vw;
		display: block;
		.info{
			margin-bottom: 5vw;
			text-align: left;
			.logo{
				margin-bottom: 5vw;
			}
			.tel{
				a{
					font-size: 5vw;
					i{
						font-size: 4vw;
					}
				}
			}
			.hours{
				margin-bottom: 5vw;
				font-size: 3vw;
				font-weight: 500;
			}
			.sns{
				ul{
					display: flex;
					justify-content: flex-start;
					align-items: center;
					gap: 3vw;
					li{
						a{
							width: 10vw;
							height: 10vw;
							-webkit-border-radius: 2vw;
							-moz-border-radius: 2vw;
							border-radius: 2vw;
						}
						&:first-child{
							a{
								background: var(--instaColor);
								font-size: 6vw;
							}
						}
						&:last-child{
							a{
								background: var(--lineColor);
								font-size: 5vw;
							}
						}
					}
				}
			}
		}
		.nav-group{
			.fnav{
				display: grid;
				grid-template-columns: repeat(1, 1fr);
				margin-bottom: 6vw;
				.once{
					>ul{
						>li{
							font-size: 4.3vw;
							>ul{
								>li{
									font-size: 3vw;
								}
							}
						}
					}
					&:nth-child(3){
					}
				}
			}
			.banner{
				ul{
					display: grid;
					grid-template-columns: repeat(2, 1fr);
					gap: 3vw;
					li{
						a{
							width: 46.5vw;
							height: 12vw;
							line-height: 12vw;
							padding: 0 2vw;
							font-size: 3vw;
							-webkit-border-radius: 1vw;
							-moz-border-radius: 1vw;
							border-radius: 1vw;
							i{
								margin-right: .5em;
							}
							&::after{
								right: 2vw;
								width: 3vw;
								height: 3vw;
								line-height: 3vw;
								font-size: 1.5vw;
							}
						}
						&:first-child{
							a{
								background: var(--keyColor);
								&::after{
									color: var(--keyColor);
								}
							}
						}
						&:last-child{
							a{
								background: var(--noticeColor);
							}
						}
					}
				}
			}
		}
	}
	.copyright{
		font-size: 2vw;
	}
}

.pagetop-btn-wrap {
	bottom: 7vw;
	right: 2vw;
	.pagetop-btn{
		width: 10vw;
		height: 10vw;
		font-size: 3vw;
	}
}


/* Lower
------------------------------------------*/
.entry{
	padding: 0 2vw;
}
/* blog-nav
------------------------------------------*/
.blog-nav-group {
	display: flex;
	justify-content: space-between;
	margin-top: 10vw;
}
.blog-nav {width: 23%;}
.blog-nav-title{text-align: center;}








































}