@charset "UTF-8";

@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese");
@import url('https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');

body {
	min-width: 1240px;
	color: #333333;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.75;
	font-family: "Noto Sans JP", sans-serif;
	outline: none;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	background: url(/img/cmn/bg-body.png);
	background-size: auto;
}

.inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 40px;
}

.vis-hidden {
	display: block;
	visibility: visible;
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 4px;
	height: 4px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: none;
}

.vis-sp,
.vis-tb {
	display: none;
}

main {
	padding-top: 150px;
}

.-ubuntu {
	font-family: "Ubuntu", sans-serif;
}

/* header */

.cmnhd {
	padding: 22px 33px;
	position: fixed;
	z-index: 1000;
	width: 100%;
	top: 0;
	left: 0;
	/* background: #fff; */
	transition-duration: 0.5;
	transition-duration: .5s;
}

.cmnhd.-scroll {
	background: #fff;
}

.cmnhd_wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}

.cmnhd_list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}

.cmnhd_list li a {
	transition-duration: 0.5s;
}

.cmnhd_list li a:hover {
	opacity: 0.7;
}

.cmnhd_list .contact a {
	color: #fff;
	background: #0097BA;
	border-radius: 30px;
	padding: 10px 30px;
	text-align: center;
	transition-duration: 0.5s;
}

.cmnhd_list .contact a:hover {
	background: #036C84;
	opacity: 1;
}

.cmnhd_icon .vis-open {
	display: none;
}

.cmnnav {
	display: none;
}

/* cmnbtn */

.link_btn {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cmn_btn {
    background: #0097BA;
    width: 90px;
    height: 30px;
    border-radius: 30px;
    display: block;
    position: relative;
}

.cmn_btn.-white {
	background: #fff;
}

.cmn_btn::after {
    content: '';
    width: 15px;
    height: 15px;
    background: url(/img/cmn/icon-arrow.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    transform: translateY(50%);
    bottom: 50%;
    left: 20px;
    transition: all 0.3s;
}

.cmn_btn.-white::after {
	background: url(/img/cmn/icon-arrow_blue.svg);
	background-size: cover;
    background-repeat: no-repeat;
}

.link_btn:hover .cmn_btn::after {
    left: 60px;
}


/* footer */

.cmnft {
	padding: 100px 0;
}

.contact_ttl {
	text-align: center;
}

.contact_ttl.-en {
	color: #0097BA;
	font-size: 60px;
	line-height: 60px;
	font-weight: normal;
}

.contact_ttl.-ja {
	margin-bottom: 20px;
	font-size: 24px;
}

.contact_txt {
	text-align: center;
	margin-bottom: 50px;
}

.contact_list {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-bottom: 80px;
}

.contact_list_item {
	border: solid 1px #333333;
	border-radius: 10px;
	width: 100%;
	max-width: 560px;
	padding: 35px 30px;
	text-align: center;
	transition-duration: 0.5s;
}

.contact_list_item:hover {
	background: #0097BA;
	color: #fff;
}

.tel {
	font-size: 50px;
	font-weight: normal;
}

.mail {
	font-size: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}

.contact_list_item.-contact .cmn_btn {
	transition-duration: 0.5s;
}

.contact_list_item.-contact:hover .cmn_btn {
	background: #fff;
}

.contact_list_item.-contact:hover .cmn_btn::after {
	background: url(/img/cmn/icon-arrow_hover.svg);
	background-size: cover;
	background-repeat: no-repeat;
	left: 60px;
}

.contact_list_item.-contact .contact_list_item_ttl {
	margin-bottom: 40px;
}

.cmnft_info {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 20px;
}

.icon_cmnft {
	display: block;
	margin-bottom: 20px;
}

.address {
	margin-bottom: 20px;
}

.cmnft_link {
	display: flex;
	justify-content: center;
	gap: 30px;
	margin-bottom: 20px;
}

.cmnft_link li a {
	transition-duration: 0.5s;
}

.cmnft_link li a:hover {
	opacity: 0.7;
}

.cmnft_info_item .contact {
	display: block;
	text-align: center;
	color: #fff;
	background: #0097BA;
	border-radius: 5px;
	width: 100%;
	padding: 15px 20px;
	transition-duration: 0.5s;
}

.cmnft_info_item .contact:hover {
	background: #036C84;
}



/* シングルページ */

.sec {
	padding: 50px 0;
}

.hero_single {
	width: 90%;
	margin: 0 auto 50px;
	height: 450px;
	border-radius: 20px;
	display: flex;
    flex-flow: column;
    justify-content: center;
    padding: 0 5%;
    color: #fff;
}

.hero_single_ttl.-en {
	font-size: 60px;
	line-height: 80px;
	font-weight: normal;
}

.hero_single_ttl.-ja {
	font-size: 24px;
}

.sec_ttl {
	color: #333333;
	font-size: 34px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	margin-bottom: 60px;
	position: relative;
}

.sec_ttl::after {
	content: '';
	width: 260px;
	height: 5px;
	background: #0097BA;
	position: absolute;
	bottom: -15px;
	left: 0;
}

/* recruit_bnr */

.recruit_bnr {
	background: linear-gradient(to bottom right, #0097BA 50%, #004C5D);
	border-radius: 20px;
	padding: 86px 60px 34px;
	display: block;
	max-width: 1160px;
	margin: 0 auto;
	position: relative;
	margin-top: 50px;
}

.recruit_bnr_hd_ttl {
	display: flex;
	gap: 30px;
	align-items: end;
	margin-bottom: 40px;
}

.recruit_bnr_ttl {
	color: #fff;
}

.recruit_bnr_ttl.-en {
	font-size: 60px;
	line-height: 70px;
	font-weight: normal;
}

.recruit_bnr_ttl.-ja {
	font-size: 24px;
}

.recruit_bnr_ttl_big {
	font-size: 32px;
	color: #fff;
}

.recruit_bnr_ttl_big span {
	font-size: 73px;
	line-height: 60px;
}

.recruit_bnr .link_btn {
	color: #fff;
	transition-duration: 0.5s;
	justify-content: right;
}

.recruit_bnr .link_btn p {
	transition-duration: 0.5s;
	font-size: 20px;
}

.recruit_bnr:hover .link_btn p {
	opacity: 0.7;
}

.recruit_bnr:hover .cmn_btn::after {
	left: 60px;
	opacity: 1;
}

.img-recruit_bnr {
	position: absolute;
	top: 0;
	right: 0;
}

@media screen and (max-width:1240px) {
	.vis-tb {
		display: block;
	}

	.hide-tb {
		display: none;
	}
/* 
	main {
		padding-top: 80px;
	} */
}

@media screen and (max-width:767px) {
	body {
		min-width: 0;
	}

	main {
		padding-top: 80px;
	}

	.inner {
		padding: 0 20px;
	}

	.vis-sp {
		display: block;
	}

	.hide-sp {
		display: none;
	}

	/* header */

	.cmnhd_list {
		display: none;
	}

	.menu {
		background: #0097BA;
		width: 48px;
		height: 48px;
		border-radius: 100px;
		position: relative;
	}

	.menu span {
        display: block;
        position: absolute;
        right: 50%;
        bottom: 50%;
        width: 23px;
        height: 2px;
        background: #ffffff;
        transition: all 0.4s;
    }

	.menu span:first-child {
        transform: translate(50%, calc(50% - 6px));
    }

	.menu span:nth-child(2) {
        transform: translate(50%, 50%);
    }

	.menu span:last-child {
        transform: translate(50%, calc(50% + 6px));
    }

	.menu.-open span:first-child {
        transform: translate(50%, 50%) rotate(45deg);
    }

	.menu.-open span:nth-child(2) {
        opacity: 0;
    }

	.menu.-open span:last-child {
        transform: translate(50%, 50%) rotate(-45deg);
    }

	.cmnnav {
		display: none;
		width: 100%;
		height: 100vh;
		overflow: scroll;
		background: #0097BA;
		position: fixed;
        top: 0;
        left: 0;
		z-index: 100;
	}

	.cmnnav .contact_list_item {
		width: 90%;
		margin: 0 auto;
		background: #fff;
	}

	.cmnnav .contact_list_item:hover {
		background: #0097BA;
	}

	.cmnnav .contact_list_item .contact_list_item_ttl {
		margin-bottom: 20px;
	}

	/* .cmnnav .cmnhd_icon {
		padding: 22px 33px;
	} */

	.cmnhd_icon {
		width: 50%;
	}

	.cmnhd .vis-open {
		display: none;
	}

	.cmnhd {
		transition-duration: 0.4s;
		padding: 7px 10px;
	}

	.cmnhd.-open {
		background: #0097BA;
		transition-duration: 0.5s;
	}

	.cmnhd.-open .hide-open {
		display: none;
	}
	.cmnhd.-open .vis-open {
		display: block;
	}


	.cmnnav .cmnhd_list {
		display: flex;
		flex-flow: column;
		color: #fff;
		padding: 100px 30px 70px;
	}

	.cmnnav .cmnhd_list li a {
		font-size: 24px;
	}


	/* section */

	.sec {
		padding: 35px 0;
	}

	.sec_ttl {
		font-size: 24px;
		margin-bottom: 40px;
	}

	.sec_ttl::after {
		width: 150px;
		bottom: -10px;
	}

	.hero_single {
		height: 226px;
		margin-bottom: 20px;
	}

	.hero_single_ttl.-en {
		font-size: 40px;
		line-height: 50px;
	}

	.hero_single_ttl.-ja {
		font-size: 20px;
	}


	/* footer */

	.contact_list {
		flex-flow: column;
		gap: 10px;
		margin-bottom: 60px;
	}

	.contact_list_item.-contact .contact_list_item_ttl {
		margin-bottom: 10px;
	}

	.recruit_bnr {
		width: 90%;
		padding: 36px 0;
		margin-top: 40px;
	}

	.recruit_bnr_hd {
		padding: 0 20px;
	}

	.recruit_bnr_hd_ttl {
		flex-flow: column;
		gap: 0;
		align-items: start;
		margin-bottom: 20px;
	}

	.recruit_bnr_ttl.-en {
		font-size: 40px;
		line-height: 40px;
	}

	.recruit_bnr_ttl.-ja {
		font-size: 20px;
	}

	.recruit_bnr_ttl_big {
		font-size: 20px;
	}

	.recruit_bnr_ttl_big span {
		font-size: 46px;
	}

	.img-recruit_bnr {
		position: unset;
		margin-bottom: 20px;
	}

	.img-recruit_bnr img {
		width: 100%;
	}

	.recruit_bnr .link_btn {
		justify-content: center;
	}

	.contact_txt {
		text-align: left;
	}

	.tel {
		font-size: 40px;
		line-height: 50px;
	}

	.mail {
		font-size: 20px;
	}

	.cmnft {
		padding: 60px 0;
	}

	.cmnft_info {
		flex-flow: column-reverse;
		align-items: center;
	}

	.cmnft_info_item {
		text-align: center;
	}

	.cmnft_info .cmnft_info_item:nth-child(2) {
		margin-bottom: 20px;
	}

	.cmnft_link {
		gap: 20px;
	}

	.cmnft_link li a {
		font-size: 14px;
	}


}

@media print {
}
