@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Oswald:wght@200..700&display=swap');

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0;min-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type="number"]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}

html {
	/*初期値サイズ10px*/
  font-size: calc(10 / 16 * 1rem);
  -webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-overflow-scrolling: touch;
	scroll-padding-top: 0;
	scroll-behavior: smooth;
}
body {
	font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
	/*最小値:1.4rem → 可変（0.9rem + 0.625vw（画面幅320px:2px, 800px:5px, 1200px:7.5px））→ 最大値:1.5rem*/
	font-size: clamp(1.4rem, calc(0.9rem + 0.625vw), 1.5rem);
	font-optical-sizing: auto;
  line-height: 1.86;
  color: #000;
  background-color: #FAFAFA;
  -webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {/* -[iPad]- */
	body {
		width: 100%;
		min-width: 1300px;
		overflow-x: hidden;
	}
}	
img {
  max-width: 100%;
}
a,
a::after,
a::before,
a.hover,
a.hover::after,
a.hover::before,
a.hoactivever,
a.active::after,
a.active::before,
button,
button.hover,
button.active,
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="submit"].hover,
input[type="reset"].hover,
input[type="button"].hover,
input[type="submit"].active,
input[type="reset"].active,
input[type="button"].active,
a img,
a svg,
a.hover img,
a.hover svg,
a.active img,
a.active svg {
	-webkit-transition: transform 0.2s ease;
	transition: transform 0.2s ease;
}
input {
	outline: none;
}
input::placeholder {
	opacity: 0.5;
}
@media (min-width: 751px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

.floatNone {
	float: none!important;
  margin: auto;
}
.clearfix:after {
	display: block;
	clear: both;
	content: "";
}
/***********************************************************
bass
************************************************************/
main {
	position: relative;
}
.warp {
  width: 100%;
	max-width: calc(1200px + 30px);
	min-width: 980px;
  margin: 0 auto;
	padding: 0 15px;
}
@media screen and (max-width: 1280px) {
	.warp {
		max-width: calc(980px + 30px);
	}
}
@media screen and (max-width:768px) {
	.warp {
		max-width: 100%;
		padding: 0 25px;
		min-width: 100%;
	}
}	
main {
	margin-bottom: 150px;
}
@media screen and (max-width: 1280px) {
	main {
		margin-bottom: 120px;
	}
}
@media screen and (max-width:768px) {
	main {
		margin-bottom: 50px;
		padding-top: 65px;
	}
  main#home {
    padding-top: 115px;
  }
}


/* ----------------------------------
parts
----------------------------------- */
#navtoggle,
.header-bnr,
.smart	{
	display: none;
}
#header {
	position: fixed;
	width: calc(100% - 30px);
	height: 80px;
	border-radius: 15px;
	background-color: #fff;
	box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
	margin: 15px 15px 0;
	transition: height 0.2s ease;
	z-index: 1001;
}
@media (hover: hover) {
	#header:has(.unfold) {
		height: 300px;
	}
}
.header-logo {
	position: relative;
	float: left;
	margin: 18px 0 0 20px;
}
.header-suzuken {
	position: relative;
	float: right;
	margin: 26px 20px 0 0;
}
#subnav {
	position: relative;
	display: flex;
	float: right;
	margin-right: 38px;
	font-weight: 600;
}
#subnav a {
	height: 50px;
	width: 130px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	transition: height 0.2s ease-in-out, border-radius 0.3s ease;
}
#subnav a.subnav-recruit {
	background-color: #0B6DB3;
	border-bottom-left-radius: 15px;
}
#subnav a.subnav-inquiry {
	background-color: #122DA2;
	border-bottom-right-radius: 15px;
}
@media (hover: hover) {
	#subnav a:hover {
		height:65px;
		border-bottom-left-radius: 15px;
		border-bottom-right-radius: 15px;
	}
}
#gnav {
	position: relative;
	float: left;
	margin-left: clamp(30px, calc(2rem + 0.625vw), 67px);
	margin-left: min(1.65vw, 45px);
	height: 100%;
}
#gnav > ul {
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.gnav-list {
	height: 80px;
}
.gnav-list__link {
	height: calc(100% - 25px);
	color: #333;
	display: block;
	padding: 25px clamp(10px, 1vw, 22px) 0;
	position: relative;
	z-index: 1;
	border-bottom: none;
	transition: transform 0.2s ease-in-out, color 0.2s ease-in-out;
}
.gnav-list__link:not(.down)::after {
	content: '';
	border-bottom: solid 3px #0075C2;
	display: block;
	margin-top: 0.2em;
	margin-left: -0.2em;
	margin-right: -0.2em;
	transform: scaleX(0);
	transition: transform 0.2s ease-in-out;
	transform-origin: 100% 50%;
}
@media (hover: hover) {
	.gnav-list__link:hover {
		text-decoration: none;
		color: #0075C2;
	}
	.gnav-list__link:not(.down):hover::after {
		transform: scalex(1);
		transform-origin: 0 50%;
	}
}
.gnav-list__link.down::after {
	position: absolute;
	content: "";
	bottom: -8px;
	left: 46.5%;
	width: 7px;
	height: 7px;
	border-top: 1.6px solid #0B6DB3;
	border-right: 1.6px solid #0B6DB3;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	transition: transform 0.2s ease-in-out;
}	
@media (hover: hover) {
	.gnav-list__link.down:hover::after {
		-webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
	}
}
.gnav-list__link.down:has( + .unfold)::after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.gnav-list__cont {
	position: fixed;
	left: 0;
	right: 0;
	padding-top: 30px;
	opacity: 0;
	visibility: hidden;
	transform-origin: center top;
	transition: visibility 0s 0s ease-in, opacity 0s ease-in, transform 0s ease-in;
	width: calc(100% - 30px - 120px);
	margin: 0 15px;
	padding-left: 120px;
}
@media (hover: hover) {
	.gnav-list:hover .gnav-list__link.down + .gnav-list__cont {
		opacity: 1;
		visibility: visible;
		transition: visibility 0s ease, opacity 0.3s ease, transform 0.3s ease;
	}	
}	
.gnav-list__cont section {
	width: 572px;
	height: 190px;
	display: flex;
	align-items: stretch;
}
.gnav-list__cont section p {
	display: flex;
	align-items: center;
	font-size: 2.5rem;
	position: relative;
	padding-right: 62px;
}
.gnav-list__cont section p a {
	font-size: 2.5rem;
	position: relative;
	word-break: keep-all;
	transition: color 0.2s ease-in-out;
}
@media (hover: hover) {
	.gnav-list__cont section p a:hover {
		color: #0B6DB3;
	}	
}	
.gnav-list__cont section p a b {
	position: relative;
  display: inline-block;
  width: 19px;
  height: 2px;
  margin: 6px 0 6px 15px;
  border-radius: 9999px;
  background-color: #0b6db3;
	transition: margin 0.2s ease;
}
@media (hover: hover) {
	.gnav-list__cont section p a:hover b {
		margin: 6px -2px 6px 17px;
	}	
}	
.gnav-list__cont section p a b::before,
.gnav-list__cont section p a b::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 11.2px;
  height: 2px;
  border-radius: 9999px;
  background-color: #0b6db3;
  transform-origin: calc(100% - 1px) 50%;
}
.gnav-list__cont section p a b::before {
  transform: rotate(39.8deg);
}
.gnav-list__cont section p a b::after {
  transform: rotate(-39.8deg);
}	
.gnav-list__cont section ul {
	width: calc(100% - 236px);
	border-left: 1px solid #0B6DB3;
	padding-left: 35px;
}
.gnav-list__cont section ul li {
	width: 100%;
}
.gnav-list__cont section ul li a {
	position: relative;
	display: block;
	border-bottom: 1px solid #BFBFBF;
	padding: 7px 5px;
	transition: color 0.2s ease-in-out;
}
.gnav-list__cont section ul li a::after {
	position: absolute;
	content: "";
	top: 46%;
	right: 3px;
	width: 7px;
	height: 7px;
	border-top: 1.6px solid #0B6DB3;
	border-right: 1.6px solid #0B6DB3;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: right 0.2s ease;
}
@media (hover: hover) {
	.gnav-list__cont section ul li a:hover {
		color: #0B6DB3;
	}	
	.gnav-list__cont section ul li a:hover::after {
		right: 1px;
	}	
}	
@media screen and (max-width: 1280px) {
	.smart {
		display: inline-block;
	}
	.smart-none,
	.gnav-list .smart-none {
		display: none;
	}
	.header-bnr {
		position: relative;
		max-width: 183px;
		width: 100%;
		display: inline-block;
	}	
	.header-bnr a {
		display: block;
		width: 100%;
		margin-bottom: 20px;
	}	
	.header-bnr a img {
    max-width: 100%;
    height: auto;
		transition: opacity 0.2s ease-in;
	}
	@media (hover: hover) {
		.header-bnr a:hover img {
			opacity: 0.7;
		}
	}
	.header-bnr p {
		position: absolute;
		bottom: 55px;
		right: 0;
		width: 206px;
	}
	.header-bnr p img {
		width: 100%;
	}
	#header:has(.unfold) {
		height: 60px;
	}
	#navtoggle {
		display: block;
		position: fixed;
		right: 15px;
		top: 15px;
		width: 60px;
		height: 60px;
		padding: 5px;
		cursor: pointer;
		z-index: 1000;
		border-radius: 15px;
		background: #fff;
	}
	#navtoggle span {
		display: block;
		position: absolute;
		height: 2px;
		width: 25px;
		margin: 0 calc((100% - 25px) / 2);
		background: #707070;
		left: 0;
		transition: all 0.2s;
	}
	#navtoggle span:nth-child(1) {
		top: 21px;
	}
	#navtoggle span:nth-child(2) {
		top: 30px;
	}
	#navtoggle span:nth-child(3) {
		top: 39px;
	}
	.open #navtoggle span:nth-child(1) {
		top: 28px;
		transform: rotate(135deg);
	}	
	.open #navtoggle span:nth-child(2) {
		visibility: hidden;
		opacity: 0;
	}
	.open #navtoggle span:nth-child(3) {
		top: 28px;
		transform: rotate(-135deg);
	}
	#header {
		height: 60px;
	}
	.open #header {
		height: auto;
	}
	.header-logo {
		width: 144px;
		margin: 13px 0 0 20px;
	}
	.header-suzuken {
		display: none;
	}
	.header-suzuken img {
		width: 100%;
	}
	#nav {
		display: flex;
		justify-content: space-between;
    max-width: 980px;
    width: auto;
    margin: 105px auto 0;
		padding: 0 15px;
		opacity: 0;
		visibility: hidden;
		transform-origin: center top;
		transition: visibility 0s 0s ease-in, opacity 0s ease-in, transform 0s ease-in;
	}
	.open #nav {
		opacity: 1;
		visibility: visible;
		transition: visibility 0s ease, opacity 0.3s ease, transform 0.3s ease;
	}
	#gnav {
    width: calc(100% - 183px);
		margin-left: 0;
		margin-right: 0;
    float: none;
		line-height: 1.4;
	}
	#gnav > ul {
		width: 100%;
		display: flex;
		flex-flow: wrap column;
		justify-content: flex-start;
		text-align: left;
		height: 0;
		padding-bottom: 10px;
	}
	.open #gnav > ul {
		height: 444px;
	}
	.gnav-list {
		width: 30.333333%;
		height: auto;
		margin-right: 3%;
	}
	.gnav-list__link {
		height: auto;
		display: block;
		padding: 0;
		color: #285091;
		font-size: clamp(1.2rem, 1.35vw, 1.5rem);
		font-weight: 700;
		border-bottom: 1px solid #284F91;
		padding-bottom: 15px;
		margin-bottom: 30px;
		padding-left: 0.8em;
		transition: padding 0.2s ease;
	}
	@media (hover: hover) {
    .gnav-list__link:hover {
			text-decoration: none;
			color: #0075C2;
			padding-left: 1.0em;
    }
	}
	.gnav-list__link::after,
	.gnav-list__link.down::after,
	.gnav-list__link:not(.down)::after {
    content: none;
	}
	.gnav-list__link::before {
    content: "-";
		position: absolute;
		left: 0;
	}
	.gnav-list__cont {
		position: relative;
		transition: none;
		width: 100%;
		padding: 0;
		margin: 0;
		height: 0;
	}
	.open .gnav-list__cont {
		height: auto;
		opacity: 1;
		visibility: visible;
	}
	.gnav-list__cont section {
    width: 100%;
    height: auto;
    display: block;
	}
	.gnav-list__cont section ul {
    width: auto;
    border-left: none;
    padding-left: 0;
		margin-top: -15px;
		margin-bottom: 25px;
	}
	.gnav-list__cont section ul li a {
		color: #333333;
		font-size: 1.3rem;
		font-size: clamp(1.1rem, 1.35vw, 1.3rem);
    border-bottom: none;
    padding: 6px 5px 6px 1.5em;
		transition: padding 0.2s ease;
		white-space: nowrap;
	}
	@media (hover: hover) {
		.gnav-list__cont section ul li a:hover {
			padding-left: 1.7em;
    }
	}
	.gnav-list__cont section ul li a::after {
		position: absolute;
		content: "";
		left: 0;
		width: 5px;
		height: 5px;
		border-top: 1.6px solid #0B6DB3;
		border-right: 1.6px solid #0B6DB3;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		transition: right 0.2s ease;
	}
	#subnav {
		margin-right: 65px;
	}
	@media (hover: hover) {
		#subnav a:hover {
			height: 50px;
		}
		#subnav a.subnav-recruit:hover {
			border-bottom-right-radius: 0;
		}
		#subnav a.subnav-inquiry:hover {
			border-bottom-left-radius: 0;
		}
	}
	.gnav-list.inquiry,
	.gnav-list.privacypolicy {
		position: relative;
		display: block;
		color: #333333;
		font-size: 1.3rem;
		font-size: clamp(1.1rem, 1.35vw, 1.3rem);
		border-bottom: none;
		padding: 6px 5px 6px 0;
		transition: padding 0.2s ease;
		white-space: nowrap;	
	}
	.gnav-list.inquiry {
		padding-top: 20px;
		margin-top: 2.75em;
		border-top: 1px solid #284F91;
	}
	@media (hover: hover) {
		.gnav-list.inquiry:hover,
		.gnav-list.privacypolicy:hover {
			color: #0075C2;
			padding-left: 0.2em;
		}
	}	
}	
@media screen and (max-width:768px) {
	#head {
		position: fixed;
		width: 100%;
		height: 65px;
		background: linear-gradient(90deg, #005fb1 0%, #7f93d8 51.23%, #00d9d1 100%);
		z-index: 1;
	}
	#header {
		margin: 5px 5px 0;
		height: 50px;
		width: calc(100% - 10px);
		border-radius: 6px;
	}
	.header-logo {
		width: 128px;
		margin: 9px 0 0 13px;
	}
	#navtoggle {
		height: 50px;
		width: 50px;
		right: 5px;
		top: 5px;
		padding: 5px;
		border-radius: 6px;
	}
	#navtoggle span:nth-child(1) {
		top: 16px;
	}
	#navtoggle span:nth-child(2) {
		top: 24px;
	}
	#navtoggle span:nth-child(3) {
		top: 32px;
	}	
	.open #navtoggle span:nth-child(1) {
		top: 25px;
	}
	.open #navtoggle span:nth-child(3) {
		top: 25px;
	}
	.open #header {
		height: calc(100svh - 10px);
	}
	.header-bnr {
		display: none;
	}
	#nav {
		max-width: 330px;
		width: 330px;
		height: 0;
		overflow-y: auto;
		margin: 20px auto 0;
		padding: 0;
		transition: height .2s ease;
	}
	.open #nav {
		height: calc(100svh - 160px);
		transition: height .2s ease;
	}
	#gnav {
		width: 100%;
		float: none;
	}	
	#gnav > ul {
		width: 100%;
		flex-flow: wrap;
		flex-wrap: wrap;
		max-height: 100%;
		padding: 15px;
	}	
	.gnav-list {
		width: 100%;
		margin-right: 0;
	}
	.gnav-list__link {
		display: inline-block;
		font-size: 1.5rem;
		border-bottom: none;
		padding-bottom: 13px;
		margin-bottom: 0;
		padding-left: 0.8em;
		transition: padding 0.2s ease;
	}	
	.gnav-list__cont section ul {
		padding-left: 1em;
		margin-top: -5px;
		margin-bottom: 13px;
	}
	.gnav-list__cont section ul li a {
		font-size: 1.3rem;
	}	
	.smart.inquiry {
		display: none;
	}
	.gnav-list.inquiry {
		display: none;
	}
	.gnav-list.privacypolicy {
		font-size: 1.3rem;
		padding:0 5px 20px 0;
	}
	#subnav {
		margin: 70px auto 0;
		width: 300px;
		float: none;
		display: flex;
		justify-content: space-between;
		opacity: 0;
		visibility: hidden;
		transform-origin: center top;
		transition: visibility 0s 0s ease-in, opacity 0s ease-in, transform 0s ease-in;		
	}
	.open #subnav {
		opacity: 1;
		visibility: visible;
		transition: visibility 0s ease, opacity 0.3s ease, transform 0.3s ease;	
	}
	#subnav a,
	#subnav a.subnav-recruit,
	#subnav a.subnav-inquiry {
		width: 48%;
		height: 40px;
		border-radius: 25px;
	}
}	
/* ----------------------------------
#breadcrumb
----------------------------------- */
#breadcrumb {
	height: 140px;
	background: url("../images/hed_bg.png") no-repeat left top;
	background-size: cover;
	padding: 0 2em;
}
#breadcrumb ul {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding-top: 105px;
}
#breadcrumb li {
	display: flex;
	align-items: center;
	position: relative;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 700;
}
#breadcrumb li:has(a) {
	font-weight: 400;
	text-decoration: underline;
}
#breadcrumb li:has(a)::after {
	display: inline-block;
	content: "";
	width: 0.4em;
	height: 0.4em;
	margin: 0 12px 0 10px;
	font-weight: 400;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
@media (hover: hover) {
	#breadcrumb li:has(a):hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 1280px) {
	#breadcrumb {
		height: 110px;
		padding: 0 0.5em;
	}
	#breadcrumb ul {
		max-width: 100%;
		padding: 80px 20px 0;
	}
}
@media screen and (max-width:768px) {
	#breadcrumb {
		display: none;
	}
}
/* ----------------------------------
#lower-bnr 
----------------------------------- */
body:has(#voice) #lower-bnr {
	display: none;
}
#lower-bnr {
	padding: 80px 0;
	background-color: #CDE0ED;
}
@media screen and (max-width:768px) {
	#lower-bnr {
		padding: 30px 0;
	}
}
#lower-bnr ul {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
}
@media screen and (max-width:768px) {
	#lower-bnr ul {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		gap: 0;
	}
}
#lower-bnr ul li {
	max-width: 570px;
	margin: 0 auto;
}
@media screen and (max-width:768px) {
	#lower-bnr ul li:first-of-type {
		margin-bottom: 10px;
	}
}
#lower-bnr ul li a img {
	transition: opacity 0.2s ease;
}
@media (hover: hover) {
	#lower-bnr ul li a:hover img {
		opacity: 0.7;
	}
}
/* ----------------------------------
#footer
----------------------------------- */
.footer-inner {
	position: relative;
	display: flex;
	justify-content: space-around;
	padding: 90px 4vw;
}
.footer-inner__info {
	position: relative;
	width: auto;
	padding-right: clamp(10px, 3.25vw, 60px);
	margin-right:  clamp(10px, 3.25vw, 60px);
	padding-right: min(3%, 40px);
	margin-right:  min(3%, 40px);
	border-right: 1px solid #707070;
}
.footer-inner__info img {
	width: 100%;
}
.footer-inner__info .logo {
	max-width: 247px;
	width: 100%;
	margin-bottom: 17px;
}
.footer-inner__info .address {
	color: #333;
	margin-bottom: 40px;
	display: inline-block;
	word-break: keep-all;
}
.footer-inner__info .suzuken {
	max-width: 206px;
	width: 100%;
}
.footer-inner__nav {
	width: calc(100% - 325px - 3.25vw - 183px);
	display: flex;
	justify-content: space-between;
	text-align: left;
}
.footer-inner__nav > ul {
	width: 30.333333%;
	height: auto;
	margin-right: 3%;
}
.footer-inner__nav > ul > li > a {
	position: relative;
	height: auto;
	display: block;
	padding: 0;
	color: #285091;
	font-size: 1.8rem;
	font-weight: 700;
	border-bottom: 1px solid #284F91;
	padding-bottom: 10px;
	margin-bottom: 20px;
	padding-left: 0.8em;
	transition: padding 0.2s ease, color 0.2s ease-in-out;
}
.footer-inner__nav > ul > li > a::before {
		content: "-";
		position: absolute;
		left: 0;
	}
@media (hover: hover) {
	.footer-inner__nav > ul > li > a:hover {
		color: #0075C2;
		padding-left: 1.0em;
	}
}
.footer-inner__nav > ul > li > ul > li a {
	position: relative;
	display: inline-block;
	color: #333333;
	font-size: 1.5rem;
	font-size: clamp(1.2rem, 0.935vw, 1.5rem);
	border-bottom: none;
	padding: 6px 5px 6px 1.2em;
	transition: padding 0.2s ease;
	white-space: nowrap;
}
.footer-inner__nav > ul > li > ul {
	margin-top: -10px;
	margin-bottom: 20px;
}
.footer-inner__nav > ul > li > ul > li a::after {
	position: absolute;
	content: "";
	top: 43%;
	left: 0;
	width: 7px;
	height: 7px;
	border-top: 1.6px solid #0B6DB3;
	border-right: 1.6px solid #0B6DB3;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: right 0.2s ease;
}
.footer-inner__nav > .footer-inner__nav-other {
	margin-top: 2.9em;
	padding-top: 9px;
	border-top: 1px solid #284F91;
}		
.footer-inner__nav > .footer-inner__nav-other > li > a {
	position: relative;
	display: inline-block;
	color: #333333;
	font-size: 1.5rem;
	font-size: clamp(1.2rem, 0.935vw, 1.5rem);
	font-weight: 400;
	border-bottom: none;
	padding-left: 0;
	padding: 6px 5px 6px 0;
	margin-bottom: 0;
	white-space: nowrap;
}		
.footer-inner__nav > .footer-inner__nav-other > li > a::before,
.footer-inner__nav > .footer-inner__nav-other > li > a::after {
	content: none;
}		
@media (hover: hover) {
	.footer-inner__nav > ul > li > ul > li a:hover {
		color: #0075C2;
		padding-left: 1.5em;
	}
	.footer-inner__nav > ul > li > a:hover {
		color: #0075C2;
		padding-left: 1.0em;
	}
	.footer-inner__nav > ul.footer-inner__nav-other > li > a:hover {
		padding-left: 0.2em;
	}
}
.footer-inner__bnr {
	width: 183px;
}
.footer-inner__bnr a {
	display: block;
	margin-bottom: 20px;
}
.footer-inner__bnr a img {
	transition: opacity 0.2s ease-in;
}
@media (hover: hover) {
	.footer-inner__bnr a:hover img {
		opacity: 0.7;
	}
}
@media screen and (max-width: 1280px) {
	.footer-inner {
		flex-wrap: wrap;
		padding-bottom: 50px;
		padding-top: 80px;
	}
	.footer-inner__info {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #707070;
		padding-right: 0;
		margin-right: 0;
		margin-bottom: 25px;
		padding-bottom: 20px;
		display: flex;
		align-items: center;
	}
	.footer-inner__info .logo {
		margin-bottom: 0;
		margin-right: 30px;
	}
	.footer-inner__info .address {
		margin-bottom: 0;
	}
	.footer-inner__info .suzuken {
		position: absolute;
		right: 0;
		width: 206px;
	}
	.footer-inner__nav {
		width: calc(100%  - 183px);
	}	
	.footer-inner__nav > ul > li > a {
    font-size: 1.5rem;
	}
	.footer-inner__nav > ul > li > ul > li a {
    font-size: 1.3rem;
	}
	.footer-inner__nav > .footer-inner__nav-other {
		margin-top: 2.55em;
	}		
}
@media screen and (max-width:768px) {
	.footer-inner {
		padding: 45px 25px 35px;
	}
	.footer-inner__info {
		display: block;
		margin-bottom: 30px;
		padding-bottom: 30px;
	}
	.footer-inner__info .logo {
		margin-bottom: 10px;
		margin-right: 0;
		max-width: 180px;
		display: block;
	}
	.footer-inner__info .address {
		display: block;
		margin-bottom: 20px;
		white-space: nowrap;
	}
	.footer-inner__info .address br {
		display: none;
	}
	.footer-inner__info .suzuken {
		position: relative;
		right: 0;
		width: 180px;
	}	
	.footer-inner__nav {
		display: none;
	}
	.footer-inner__bnr {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}	
	.footer-inner__bnr a {
		width: 48%;
		max-width: 183px;
		margin-bottom: 15px;
	}	
}
.footer-copyright {
	height: 54px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #0075C2;
}
@media screen and (max-width: 1280px) {
	.footer-copyright {
		height: 35px;
	}
}
.footer-copyright small {
	color: #fff;
	font-size: 1.3rem;
}
@media screen and (max-width: 1280px) {
	.footer-copyright small {
		font-size: 1.1rem;
	}
}
/* ----------------------------------
#pagetop
----------------------------------- */
#pagetop {
	position: fixed;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 45px;
	border-radius: 5px;
	background: rgb(0 0 0 / 0.6);
	right: 25px;
	bottom: 25px;
	color: #fff;
	transition: background 0.2s ease;
}
@media (hover: hover) {
	#pagetop:hover {
		background: rgb(0 0 0 / 1);
	}
}
@media screen and (max-width:768px) {
	#pagetop {
		right: 10px;
		bottom: 10px;
	}
}	
/* ----------------------------------
.read-more
----------------------------------- */
.read-more {
	color: #0075C2;
	text-align: right;
	display: flex;
	align-items: center;
}	
.read-more img {
	margin-left: 10px;
}		

/* ----------------------------------
トップページ
----------------------------------- */
:has(#top-kv) #lower-bnr {
	display: none;
}
:has(#top-kv) main {
	margin-bottom: 0;
}
/* --- kv メインビジュアル --- */
#top-kv {
	position: relative;
  width: 100%;   /* 画面の横幅いっぱいに設定 */
  height: 100svh;/* 画面の高さいっぱいに設定 */
	overflow: hidden;
}
.top-kv__slider {
  width: 100%;
  height: 100%;
  position: relative;
}
.slider-photo {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.slider-photo__box {
  width: 100%;
  height: 100%;
  position: relative;
}
.slider-photo__box figure {
  position: absolute;
  width: 115%;
  height: 100%;
  object-fit: cover;
  top: 0;  
  left: 0;
  opacity: 0;
  animation: crossFade 30s linear infinite;
  animation-fill-mode: both;
}
.slider-photo__box figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.slider-photo__box figure img:last-of-type {
	display: none;
}
/* 6秒ごとに順番に再生 */
.slider-photo__box figure:nth-child(1) { animation-delay: 0s; }
.slider-photo__box figure:nth-child(2) { animation-delay: 6s; }
.slider-photo__box figure:nth-child(3) { animation-delay: 12s; }
.slider-photo__box figure:nth-child(4) { animation-delay: 18s; }
.slider-photo__box figure:nth-child(5) { animation-delay: 24s; }
/* フェードアニメーション */
@keyframes crossFade {
  0% { opacity: 0; }
  5% { opacity: 1; }   /* すぐに表示 */
  25% { opacity: 1; }  /* 表示をキープ */
  30% { opacity: 0; }  /* フェードアウト */
  100% { opacity: 0; }
}
.slider-photo__cover {
  position: absolute;
  width: 100%;
  height: 100%;
}
.slider-photo__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}	
.top-kv__box {
	position: absolute;
	left: 4vw;
	top: 40%;
}
.top-kv__copy,
.top-kv__lead {
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
}	
.top-kv__copy br.sp,
.top-kv__lead br.sp {
	display: none;
}	
.top-kv__copy {
	font-size: 4.3rem;
	/* 768px以下で2.0rem 〜 1280pxで2.8rem 〜 最大4.3rem まで滑らかに変化 */
	font-size: clamp(2.0rem, 0.8rem + 1.56vw, clamp(2.8rem, -0.95rem + 2.93vw, 4.3rem));
	line-height: 1.35;
}	
.top-kv__copy strong {
	font-size: 8.7rem;
	/* 768px以下で3.5rem 〜 1280pxで5.7rem 〜 最大8.7rem まで滑らかに変化 */
	font-size: clamp(3.5rem, 0.2rem + 4.3vw, clamp(5.7rem, -1.8rem + 5.86vw, 8.7rem));
	font-weight: 600;
	margin-left: -0.5em;
}	
.top-kv__lead {
	margin-top: 2em;
	font-size: 2.5rem;
	/* 768px以下で1.4rem 〜 1280pxで2.0rem 〜 最大2.5rem まで滑らかに変化 */
	font-size: clamp(1.4rem, 0.5rem + 1.17vw, clamp(2.0rem, 0.75rem + 0.98vw, 2.5rem));
}	
.top-kv__box:has(+ .top-kv__important) {
	top: calc(40% - 4vw);
}
@media screen and (max-width: 1280px) {
	.top-kv__copy {
		font-size: 2.8rem;
	}	
	.top-kv__copy strong {
		font-size: 5.7rem;
	}	
	.top-kv__lead {
		font-size: 1.6rem;
		top: calc(40% + 11vw);
	}	
}
@media screen and (max-width:768px) {
	:has(#top-kv) #head {
		z-index: 2;
		background: none;
	}
	#top-kv {
		height: 100svh;
		overflow: visible;
	}
	.top-kv__slider img {
		object-position: top center;
	}
	.slider-photo__box figure img:first-of-type {
		display: none;
	}
	.slider-photo__box figure img:last-of-type {
		display: block;
	}
	.slider-photo__box figure {
		width: 100%;
	}
	.slider-photo__cover {
		display: none;
	}
	.top-kv__box {
		width: 100%;
		left: 0;
		top: 28vw;
	}
	.top-kv__copy,
	.top-kv__lead {
		left: inherit;
	}
	.top-kv__copy br.sp,
	.top-kv__lead br.sp {
		display: inline-block;
	}	
	.top-kv__copy {
		font-size: 2rem;
		text-align: center;
		width: 100%;
		top: 28vw;
	}	
	.top-kv__copy strong {
		font-size: 3.5rem;
	}	
	.top-kv__lead {
		font-size: 1.4rem;
		text-align: center;
		width: 100%;
		top: 58vw;
	}	
	.top-kv__box:has(+ .top-kv__important) {
		top: 48vw;
		left: 0;
	}
}
/* --- kv 重要なお知らせ --- */
.top-kv__important {
	position: absolute;
	left: 4vw;
	bottom: 30px;
	max-width: 815px;
	width: 55%;
	height: auto;
	min-height: 170px;
	background-color: #fff;
	border-radius: 15px;
	padding: 30px 35px;
}	
.top-kv__important dt {
	display: flex;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 700;
	border-bottom: 1px solid #707070;
	margin-bottom: 1.2em;
	padding-bottom: 1.2em;
}	
.top-kv__important dt img {
	margin-right: 8px;
}	
.top-kv__important dd {
	display: flex;
	align-items: baseline;
}	
.top-kv__important dd time {
	font-weight: 700;
	width: 7em;
}	
.top-kv__important dd p {
	width: calc(100% - 7em);
	word-break: break-all;
	transition: all 0.2s ease;
}	
@media (hover: hover) {
	.top-kv__important dd p a:hover {
		color: #0075C2;
		text-decoration: underline;
	}
}
@media screen and (max-width: 1280px) {
	.top-kv__important {
		max-width: 680px;
		min-height: 120px;
		padding: 20px;
	}	
	.top-kv__important dt {
    font-size: 1.5rem;
    margin-bottom: 1em;
    padding-bottom: 1em;
	}
	.top-kv__important dd {
    font-size: 1.3rem;
	}
}
@media screen and (max-width:768px) {
	.top-kv__important {
		left: 5px;
		top: 62px;
		bottom: inherit;
		width: calc(100% - 10px);
		min-height: auto;
		padding: 12px 15px;
	}	
	.top-kv__important dt {
		font-size: 1.4rem;
		border-bottom: 1px solid #707070;
		margin-bottom: 0.6em;
		padding-bottom: 0.6em;
	}	
	.top-kv__important dd {
		line-height: 1.6;
	}	
	.top-kv__important dd time {
    position: absolute;
    right: 0;
    top: 1em;
	}	
	.top-kv__important dd p {
    width: 100%;
	}
}
/* --- kv 最新のお知らせ --- */
.top-kv__news {
	position: absolute;
	right: 0;
	bottom: 30px;
	max-width: 660px;
	width: 40%;
	height: 130px;
	border-radius: 15px 0 0 15px;
	background: rgba(255, 255, 255, 0.75);
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(15px);
	--webkit-backdrop-filter: blur(15px);
	display: flex;
	align-items: center;
	justify-content: space-between;
}	
.top-kv__news dt {
	font-size: 1.5rem;
	font-weight: 700;
	width: 11em;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}	
.top-kv__news dt span {
	color: #777;
	font-size: 1.1rem;
	font-weight: 400;
	width: 100%;
	text-align: center;
}	
.top-kv__news dd {
	width: calc(100% - 11em);
	display: flex;
	align-items: center;
	justify-content: center;
	padding-right: 15px;
}	
.top-kv__news-window {
	width: 100%;
	height: 88px;
	padding-left: 28px;
	border-left: 1px solid #989898;
	position: relative;
	overflow: hidden;
}
/* 上下送りボタン */
.top-kv__news-control {
	width: 55px;
	height: 88px;
	text-align: center;
}
.top-kv__news-button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	height: 50%;
	cursor: pointer;
	color: #989898;
	-webkit-text-stroke: 1px #707070;
	paint-order: stroke;
	transition: all 0.2s ease;
}
.top-kv__news-button--next {
	border-top: 1px solid #989898;
	align-items: flex-end;
}
/* お知らせリスト */
.top-kv__news-list {
	width: 100%;
	transform: translate3d(0, 0, 0);
	will-change: transform;
}
.top-kv__news-list li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	align-content: center;
	padding: 9px 1em 9px 0;
}
.top-kv__news-list time {
	display: block;
	font-weight: 700;
	line-height: 1;
	padding-bottom: 10px
}
.top-kv__news-list p,
.top-kv__news-list a {
	display: block;
	overflow: hidden;
	line-height: 1.5;
	text-overflow: ellipsis;
	width: 100%;
}
@media (hover: hover) {
	.top-kv__news-button:hover {
		-webkit-text-stroke: 1px #0075C2;
		color: #0075C2;
	}
	.top-kv__news-list a:hover {
		color: #0075C2;
		text-decoration: underline;
	}
}
.top-kv__news-list a img {
	width: 17px;
	margin-left: 7px;
}
@media screen and (max-width: 1280px) {
	.top-kv__news {
		flex-wrap: wrap;
		bottom: 30px;
		max-width: 417px;
		padding: 10px 10px 10px 25px;
	}	
	.top-kv__news dt {
		width: calc(100% - 50px);
		justify-content: flex-start;
		border-bottom: 1px solid #989898;
		padding-bottom: 8px;
		margin-bottom: 8px;
	}
	.top-kv__news dt span {
    color: #777;
    width: auto;
    text-align: left;
		padding-left: 1em;
	}
	.top-kv__news dd {
		width: 100%;
		padding-right: 0;
		align-items: flex-start;
	}	
	.top-kv__news-window {
    height: 5em;
    padding-left: 0;
    border-left: none;
		font-size: 1.3rem;
	}	
	.top-kv__news-list li {
		align-content: center;
		padding: 0 1em 0 0;
	}	
	.top-kv__news-list time {
		font-size: 1.3rem;
		padding-bottom: 6px;
	}
	.top-kv__news-control {
		width: 45px;
		height: 90px;
		margin-top: -2em;
	}
}
@media screen and (max-width:768px) {
	.top-kv__news {
		bottom: -8em;
		width: 100%;
		max-width: 100%;
		border-radius: 0;
		padding: 20px 25px;
		height: 190px;
		background: rgba(255, 255, 255, 0.85);
		box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
		z-index: 1;
	}
	.top-kv__news dt {
		width: 100%;
		padding-bottom: 12px;
		margin-bottom: 12px;
	}
	.top-kv__news-window {
		height: 90px;
		font-size: 1.5rem;
	}
	.top-kv__news-control {
		margin-top: 0;
	}
}
/* --- a.top-btnボタン h2.top-subttlサブタイトル --- */
a.top-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 700;
	width: 400px;
	height: 50px;
	border-radius: 50px;
	line-height: 1;
	background-color: #0075C2;
	border: 1px solid #0075C2;
	margin: 0 auto;
	transition: all 0.2s ease;
}	
a.top-btn::after {
	position: absolute;
	content: "";
	top: 43%;
	right: 25px;
	width: 7px;
	height: 7px;
	border-top: 1.6px solid #fff;
	border-right: 1.6px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: right 0.2s ease;
}
@media (hover: hover) {
	a.top-btn:hover {
		background-color: #fff;
		color: #0075C2;
	}
	a.top-btn:hover::after {
		right: 22px;
		border-top-color: #0075C2;
		border-right-color: #0075C2;
	}
}
@media screen and (max-width: 1280px) {
	a.top-btn {
		width: 326px;
		height: 40px;
		font-size: 1.2rem;
	}	
}
@media screen and (max-width:768px) {
	a.top-btn {
		width: 100%;
		height: 50px;
		font-size: 1.5rem;
	}	
}
h2.top-subttl {
	color: #0075C2;
	font-family: "Noto Serif JP", serif;
	font-size: 3.5rem;
	font-weight: 600;
	margin-bottom: 80px;
}	
h2.top-subttl span {
	display: block;
	font-size: 1.5rem;
}	
@media screen and (max-width: 1280px) {
	h2.top-subttl {
    font-size: 2.8rem;
    margin-bottom: 65px;
	}
	h2.top-subttl span {
    font-size: 1.2rem;
	}
}
@media screen and (max-width:768px) {
	h2.top-subttl {
    font-size: 2.5rem;
    margin-bottom: 40px;
	}
	h2.top-subttl span {
    font-size: 1.1rem;
	}
}
/* --- 私たちのミッション --- */
#top-mission {
	background: url("../images/top_mission_img.svg") no-repeat center center;
	padding-top: 80px;
	padding-bottom: 100px;
	height: 737px;
	text-align: center;
}	
#top-mission h3 {
	font-family: "Noto Serif JP", serif;
	font-size: 3.5rem;
	font-weight: 600;
	line-height: 1.48;
	margin-bottom: 55px;
}	
#top-mission h3 br.sp {
	display: none;
}	
#top-mission p {
	font-size: 1.8rem;
	line-height: 2;
	margin-bottom: 95px;
}	
@media screen and (max-width: 1280px) {
	#top-mission {
		height: 650px;
		background-size: auto 88%;
	}	
	#top-mission h3 {
    font-size: 2.8rem;
    margin-bottom: 46px;
	}
	#top-mission p {
    margin-bottom: 30px;
	}
}
@media screen and (max-width:768px) {
	#top-mission {
		height: auto;
		padding-top: 80px;
		background-size: auto 59%;
		background-position: center 30px;
	}
	#top-mission h3 {
    font-size: 2.1rem;
    margin-bottom: 37px;
	}
	#top-mission h3 br.sp {
		display: inline-block;
	}	
	#top-mission p {
		font-size: 1.5rem;
		text-align: left;
	}
}
/* --- 事業案内 --- */
#top-works {
	padding: 80px 2vw;
	background:
	linear-gradient(
		to bottom,
		#d4ecfe 0%,
		#99aef7 45.4%,
		#f1f2ef 45.4%,
		#f1f2ef 100%
	);
}
#top-works h2 {
	text-align: center;
}
.top-works__list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px;
	max-width: 1700px;
	margin: 0 auto 80px;
}	
.top-works__list li {
	width: 100%;
	max-width: 410px;
	max-height: 373px;
	align-content: stretch;
}	
.top-works__list li a {
	height: 100%;
	background-color: #fff;
	border-radius: 15px;
	display: inline-block;
	overflow: hidden;
	box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
}	
.top-works__list li a figure {
	overflow: hidden;
}	
.top-works__list li a figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.2s ease;
}	
.top-works__list li a p {
	font-size:  clamp(1.5rem, calc(1rem + 0.625vw), 2.0rem);
	line-height: 1.4;
	font-weight: 700;
	padding: 25px 30px 30px;
	transition: color 0.2s ease;
}	
.top-works__list li a p span {
	display: inline-block;
	color: #0075C2;
	width: 100%;
	font-size: 1.3rem;
}	
@media (hover: hover) {
	.top-works__list li a:hover {
		box-shadow: none;
	}	
	.top-works__list li a:hover figure img {
		opacity: 0.7;
		filter: brightness(106%);
		transform: scale(1.05);
	}
	.top-works__list li a:hover p {
		color: #0075C2;
	}	
}
@media screen and (max-width: 1280px) {
	#top-works {
		padding: 100px 2vw 80px;
	}
	.top-works__list {
		margin: 0 auto 45px;
	}	
}
@media screen and (max-width:768px) {
		#top-works {
			padding: 50px 25px 30px;
			background:
			linear-gradient(
				to bottom,
				#d4ecfe 0%,
				#99aef7 85%,
				#f1f2ef 85%,
				#f1f2ef 100%
			);
		}
	.top-works__list {
		grid-template-columns: 1fr;
		gap: 0;
		margin: 0 auto 70px;
	}	
	.top-works__list li {
    max-height: auto;
    align-content: flex-start;
		margin-bottom: 10px;
		min-height: 100px;
	}
	.top-works__list li a {
    border-radius: 10px;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.top-works__list li a figure {
		width: 40%;
		height: 100%;
	}	
	.top-works__list li a p {
    font-size: 1.4rem;
    padding: 15px;
		width: 60%;
	}	
	.top-works__list li a p span {
    font-size: 0.9rem;
	}
}
/* --- デジタルサービス --- */
#top-service {
	text-align: center;
	padding: 80px 2vw 100px;
}
#top-service h2.top-subttl {
	position: relative;
	display: inline-block;
	margin-bottom: 50px;
	line-height: 1;
}
#top-service h2.top-subttl::before,
#top-service h2.top-subttl::after {
	content: "";
	position: absolute;
	width: 2em;
	height: 1px;
	background-color: #0075C2;
	top: 50%;
}
#top-service h2.top-subttl::before  {
	left: -3em;
}
#top-service h2.top-subttl::after  {
	right: -3em;
}
.top-service__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	max-width: 1700px;
	margin: 0 auto;
}
.top-service__list li {
	width: 100%;
	max-width: 840px;
}
.top-service__list li img:last-of-type {
	display: none;
}
.top-service__list li a {
	display: inline-block;
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.16);
	transition: all 0.2s ease;
}
@media (hover: hover) {
	.top-service__list li a:hover {
		box-shadow: none;
		opacity: 0.7;
		filter: brightness(106%);
	}
}
@media screen and (max-width:768px) {
	#top-service {
		text-align: center;
		padding: 50px 25px
	}
	#top-service h2.top-subttl::before,
	#top-service h2.top-subttl::after {
		width: 1em;
	}
	#top-service h2.top-subttl::before  {
		left: -1.5em;
	}
	#top-service h2.top-subttl::after  {
		right: -1.5em;
	}
	.top-service__list {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.top-service__list li a {
		box-shadow: none;
	}
	.top-service__list li img:first-of-type {
		display: none;
	}
	.top-service__list li img:last-of-type {
		display: inline-block;
	}
}
/* --- 会社案内 --- */
#top-about {
	color: #fff;
	background-color: #0075C2;
	display: flex;
	justify-content: flex-end;
}
#top-about > figure {
	width: 50%;
}
#top-about > figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left;
}
#top-about div {
	width: 50%;
	max-width: 805px;
	margin: 100px 0 80px;
	padding: 0 50px;
}
#top-about h2.top-subttl {
	color: #fff;
	width: 100%;
	margin: 0 auto 50px;;
}
.top-about__intro {
	width: 100%;
	margin: 0 auto 40px;
}	
.top-about__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	width: 100%;
	max-width: 730px;
}
.top-about__list li {
	width: 100%;
	max-width: 350px;
}
.top-about__list li a {
	display: inline-block;
	width: 100%;
}
.top-about__list li figure {
	width: 100%;
	overflow: hidden;
	margin-bottom: 15px;
}
.top-about__list li figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.2s ease;
}
.top-about__list li p {
	position: relative;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.3;
	display: flex;
	align-items: center;
	padding-right: 1em;
}
.top-about__list li p span {
	color: #95D4FF;
	font-size: 1.3rem;
	font-weight: 400;
	padding-left: 1.2em;
}
.top-about__list li p b {
	position: absolute;
	right: 3px;
	display: inline-block;
	width: 19px;
	height: 1px;
	margin: 6px 0 6px 15px;
	border-radius: 9999px;
	background-color: #fff;
	transition: all 0.2s ease;
}
.top-about__list li p b::before,
.top-about__list li p b::after {
	content: "";
	position: absolute;
	top: calc(50% - 0.5px);
	right: 0;
	width: 8px;
	height: 1px;
	border-radius: 9999px;
	background-color: #fff;
	transform-origin: 100% 50%;
}	
.top-about__list li p b::before {
	transform: rotate(39.8deg);
}
.top-about__list li p b::after {
	transform: rotate(-39.8deg);
}
@media (hover: hover) {
	.top-about__list li a:hover figure img {
		filter: brightness(108%);
		transform: scale(1.05);
	}
	.top-about__list li a:hover p b {
		right: 0;
	}
}
@media screen and (max-width: 1280px) {
	#top-about div {
    margin: 55px 0 50px;
		padding: 2vw;
	}
	.top-about__intro {
		font-size: 1.3rem;
    width: 100%;
		margin-bottom: 35px;
	}
	.top-about__list li figure {
    margin-bottom: 10px;
	}
	.top-about__list li p {
    font-size: 1.4rem;
	}
	.top-about__list li p span {
    font-size: 0.9rem;
		padding-left: 1em;
	}
	.top-about__list li p b {
		width: 11px;
	}
	.top-about__list li p b::before,
	.top-about__list li p b::after {
		width: 5px;
	}	
}
@media screen and (max-width:768px) {
	#top-about {
		flex-wrap: wrap;
	}
	#top-about h2.top-subttl {
		text-align: center;
		margin-bottom: 40px;
	}	
	#top-about > figure {
		width: 100%;
	}
	#top-about div {
		width: 100%;
		margin: 50px 25px;
		padding: 0;
	}
	.top-about__intro {
		font-size: 1.6rem;
		margin-bottom: 40px;
		text-align: justify;
	}
	.top-about__list {
    grid-template-columns: 1fr;
    gap: 0;
	}
	.top-about__list li {
    max-width: 100%;
	}
	.top-about__list li figure {
		display: none;
	}
	.top-about__list li p {
		font-size: 1.8rem;
		flex-wrap: wrap;
		padding: 15px 0;
		border-top: 1px solid #fff;
	}
	.top-about__list li:last-of-type p {
		border-bottom: 1px solid #fff;
	}
	.top-about__list li p span {
		font-size: 1.3rem;
		padding-left: 1.2em;
	}
	.top-about__list li:last-of-type p span {
		width: 100%;
		padding: 0;
	}
	.top-about__list li p b {
		width: 17px;
	}
	.top-about__list li p b::before,
	.top-about__list li p b::after {
		width: 7px;
	}	
}
/* --- 採用情報 --- */
#top-recruit {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}
#top-recruit > figure {
	width: 50%;
}
#top-recruit > figure img {
	width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: cover;
	object-position: right; 
}
#top-recruit > figure img:last-of-type {
	display: none;
}
#top-recruit div {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	width: 50%;
	max-width: 855px;
	padding: 55px 2vw 50px 0
}
#top-recruit h2.top-subttl {
	width: 100%;
	margin-bottom: 35px;
}	
#top-recruit h3 {
	font-family: "Noto Serif JP", serif;
	font-size: 3.8rem;
	font-size: clamp(2.4rem, calc(2rem + 0.625vw), 2.8rem);
	font-size: clamp(2.4rem, calc(2.4rem + 0.625vw), 3.6rem);
	font-weight: 600;
	margin-bottom: 40px;
	line-height: 1.4;
	width: 100%;
}
#top-recruit h3 br.sp {
	display: none;
}
#top-recruit h3 span {
	display: block;
	color: #0075C2;
	font-size: 1.8rem;
	padding-top: 6px;
}	
#top-recruit p {
	line-height: 2;
	width: 100%;
}	
#top-recruit p.top-recruit__intro {
	font-family: "Noto Serif JP", serif;
	font-size: 2.1rem;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 1em;
}	
#top-recruit a.top-btn {
	margin: 40px 0 0;
}	
@media screen and (max-width: 1280px) {
	#top-recruit h3 {
		margin-bottom: 30px;
	}	
	#top-recruit h3 span {
		font-size: 1.3rem;
	}	
	#top-recruit p {
		font-size: 1.3rem;
	}	
	#top-recruit p.top-recruit__intro {
		font-size: 2.1rem;
	}	
}
@media screen and (max-width:768px) {
	#top-recruit {
		flex-wrap: wrap;
	}
	#top-recruit > figure {
    width: 100%;
	}
	#top-recruit > figure img:first-of-type {
		display: none;
	}
	#top-recruit > figure img:last-of-type {
		display: inline-block;;
	}
	#top-recruit div {
		align-content: center;
		justify-content: center;
		align-items: center;
		text-align: center;    
		width: 100%;
    padding: 30px 25px 50px;
	}
	#top-recruit h3 {
		font-size: 2.1rem;
		margin-bottom: 25px;
	}
	#top-recruit h3 br.sp {
		display: inline-block;
	}
	#top-recruit h3 span {
		font-size: 1.1rem;
	}
	#top-recruit p {
		font-size: 1.5rem;
		text-align: left;
	}
	#top-recruit p.top-recruit__intro {
		font-size: 2.0rem;
		line-height: 1.6;
	}
	#top-recruit a.top-btn {
    margin: 30px 0 0;
	}
}
/* --- ニュースリリース --- */
#top-news {
	padding: 80px 0;
	background-color: #DEE8EF;
}
#top-news .warp {
	position: relative;
	max-width: calc(1700px + 5vw);
	padding: 0 2.5vw;
}
#top-news h3 {
	font-size: 2.5rem;
	margin-bottom: 30px;
}
#top-news .news-nav .tab {
	cursor: pointer;
}
#top-news .news-nav .active {
	border-bottom-color: #074538;
}
#top-news .news-box .content {
	display: none;
}
#top-news .news-box .content.show {
	display: block;
}
.top-news__link {
	position: absolute;
	right: 2.5vw;
	top: 10px;
	padding-right: 1.3em;
	line-height: 1;
	transition: all 0.2s ease;
}	
.top-news__link::after {
	position: absolute;
	content: "";
	top: calc(50% - 2.5px);
	right: 4px;
	width: 5px;
	height: 5px;
	border-top: 1.6px solid #fff;
	border-right: 1.6px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: all 0.2s ease;
}	
.top-news__link::before {
	position: absolute;
	content: "";
	top: calc(50% - 6px);
	right: 0;
	width: 12px;
	height: 12px;
	border-radius: 12px;
	background-color: #074538;
	transition: all 0.2s ease;
}	
@media (hover: hover) {
	.top-news__link:hover {
		color: #0075C2;
		text-decoration: underline;
	}
	.top-news__link:hover::before {
		background-color: #0075C2;
	}	
}
@media screen and (max-width: 1280px) {
	#top-news .warp {
		padding: 0 3vw;
	}
}
@media screen and (max-width:768px) {
	#top-news {
		padding: 55px 0 45px;
	}
	#top-news .warp {
		padding: 0 25px;
	}
	.top-news__link {
		position: relative;
		right: inherit;
		top: inherit;
		display: inline-block;
		font-size: 1.5rem;
		width: 11.2em;
		margin: 30px calc(50% - 5.6em) 0;
	}	
}

/* ----------------------------------
index 扉ページ
----------------------------------- */
.index-ttl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	padding: 50px 0 120px;
}
.index-ttl h1 {
	position: relative;
	width: 25%;
	color: #0B6DB3;
	font-size: 4.5rem;
	font-weight: 500;
	text-align: right;
	padding-right: 4vw;
}
.index-ttl h1::before {
	content: "";
	position: absolute;
	width: calc(100% - 4.6em - 4vw);
	height: 1px;
	left: 0;
	top: 50%;
	background-color: #0B6DB3;
}
.index-ttl figure {
	width: 75%;
	border-radius: 30px 0 0 30px;
	overflow: hidden;
}
@media screen and (max-width: 1280px) {
	.index-ttl h1 {
		font-size: 2.8rem;
	}
}	
@media screen and (max-width:768px) {
	.index-ttl {
		flex-wrap: wrap;
		padding: 0 0 35px;
	}
	.index-ttl h1 {
		display: flex;
		align-items: center;
		width: 100%;
		height: 50px;
		font-size: 2.1rem;
		text-align: left;
		padding-right: 0;
		padding-left: 35px;
	}
	.index-ttl h1::before {
		width: 25px;
	}
	.index-ttl figure {
		width: 100%;
		border-radius: 0;
	}
}
.index-list {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 120px;
}
@media screen and (max-width:768px) {
	.index-list {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		gap: 0;
	}
}
.index-list li {
	position: relative;
	max-width: 540px;
	transition: all 0.2s ease;
}
@media screen and (max-width:768px) {
	.index-list li {
		max-width: 100%;
		margin: 0 auto 50px;
	}
	.index-list li:last-of-type {
		margin-bottom: 0;
	}
}
.index-list li:first-of-type::after,
.index-list li:nth-of-type(2)::after {
	content: "";
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: -60px;
	background-color: #C7C7C7;
}
.index-list li:first-of-type::after {
	width: calc(100% + 120px);
}
.index-list li:first-of-type::before,
.index-list li:nth-of-type(3)::before {
	content: "";
	width: 1px;
	height: 100%;
	position: absolute;
	right: -60px;
	background-color: #C7C7C7;
}
@media screen and (max-width:768px) {
	.index-list li:first-of-type::after,
	.index-list li:nth-of-type(2)::after,
	.index-list li:first-of-type::before,
	.index-list li:nth-of-type(3)::before {
		content: none;
	}
}
	
.index-list h2 {
	display: flex;
	font-size: 2.7rem;
	font-weight: 500;
}
@media screen and (max-width: 1280px) {
	.index-list h2 {
		display: flex;
		font-size: 2.2rem;
	}
}
@media screen and (max-width:768px) {
	.index-list h2 {
		display: flex;
		font-size: 1.8rem;
	}
}
.index-list h2 span {
	margin-right: 15px;
	border-bottom: 1px solid #000;
	padding-bottom: 20px;
	margin-bottom: 40px;
	font-family: "Oswald", sans-serif;
	font-weight: 500;
}
@media screen and (max-width:768px) {
	.index-list h2 span {
		margin-right: 10px;
		padding-bottom: 10px;
		margin-bottom: 20px;
	}
}
.index-list li figure {
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
}
.index-list li figure img {
	width: 100%;
	transition: all 0.2s ease;
}
@media (hover: hover) {
	.index-list li a:hover figure img {
		opacity: 0.7;
		filter: brightness(106%);
		transform: scale(1.05);
	}
}
@media (hover: hover) {
	.index-list li a:hover span {
		border-bottom-color: #0075C2;
	}
}
.index-list p {
	justify-content: flex-end;
	margin-top: 30px;
}
.index-list p img {
	transition: all 0.2s ease;
}
@media (hover: hover) {
	.index-list li a:hover p img {
		margin-right: -3px;
	}
}
@media screen and (max-width:768px) {
	.index-list p {
		font-size: 1.3rem;
		margin-top: 15px;
	}
	.index-list li p img {
		height: 13px;
	}
	.index-list li figure {
		border-radius: 5px;
	}
}
.index-list.pattern li.pattern-box {
	grid-column: 1 / -1;
	max-width: 100%;
}
.index-list.pattern li.pattern-box a {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 120px;
}
.index-list.pattern li.pattern-box div {
	max-width: 540px;
	height: 100%;
	display: flex;
	flex-wrap: wrap;
}
.index-list.pattern li.pattern-box div p:first-of-type {
	width: 100%;
	font-size: 3.5rem;
	font-weight: 700;
	margin-top: -10px;
	white-space: nowrap;
}
.index-list.pattern li.pattern-box div dl {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.index-list.pattern li.pattern-box div dl dt {
	position: relative;
	font-size: 1.8rem;
	font-weight: 400;
}
.index-list.pattern li.pattern-box div dl dt::before {
	position: absolute;
	content: "";
	width: 28px;
	height: 1px;
	background-color: #707070;
	left: -40px;
	top: 50%;
}
.index-list.pattern li.pattern-box div dl dd {
	font-family: "Noto Serif JP", serif;
	font-size: 2.8rem;
	font-weight: 500;
	margin-left: 1em;
}
.index-list.pattern li.pattern-box div .read-more {
	width: 100%;
}
.index-list.pattern li.pattern-box figure {
	max-width: 530px;
  grid-column: 2;
  grid-row: 1 / 3;
	display: grid;
}
.index-list.pattern li.pattern-box figure img:last-of-type {
	display: none;
}
.index-list.pattern li:first-of-type::before,
.index-list.pattern li:nth-of-type(2)::after,
.index-list.pattern li:nth-of-type(3)::before {
	content: none;
}
.index-list.pattern li:first-of-type::after {
	width: 100%;
}
.index-list.pattern li:nth-of-type(2)::before {
	content: "";
	width: 1px;
	height: 100%;
	position: absolute;
	right: -60px;
	background-color: #C7C7C7;
}
@media screen and (max-width: 1280px) {
	.index-list.pattern li.pattern-box div p:first-of-type {
	font-size: 2.8rem;
	}
	.index-list.pattern li.pattern-box div dl dt {
		font-size: 1.4rem;
	}
	.index-list.pattern li.pattern-box div dl dd {
		font-size: 2.2rem;
	}	
}
@media screen and (max-width:768px) {
	.index-list.pattern {
		gap: 0;
		overflow: hidden;
	}
	.index-list.pattern li.pattern-box a {
		display: flex;
		flex-wrap: wrap;
		grid-template-columns: none;
		gap: 0;
	}
	.index-list.pattern li.pattern-box div {
		max-width: 100%;
		height: auto;
		display: flex;
		flex-wrap: wrap;
		margin: 20px 0 15px;
	}
	.index-list.pattern li.pattern-box div p:first-of-type {
		font-size: 1.8rem;
	}
	.index-list.pattern li.pattern-box div dl dt {
		font-size: 1.1rem;
	}
	.index-list.pattern li.pattern-box div dl dd {
		font-size: 1.7rem;
	}
	.index-list.pattern li.pattern-box figure img:first-of-type {
		display: none;
	}
	.index-list.pattern li.pattern-box figure img:last-of-type {
		display: block;
	}
}

/* ----------------------------------
下層ページベース
----------------------------------- */
.internal-parent {
	position: relative;
	width: 100%;
	color: #0B6DB3;
	font-size: 4.5rem;
	font-weight: 500;
	text-align: right;
	height: 142px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding-left: 11%;
}
.internal-parent::before {
	content: "";
	position: absolute;
	width: 10%;
	height: 1px;
	left: 0;
	top: 50%;
	background-color: #0B6DB3;
}
.internal-parent.ttl-none {
	border-bottom: 1px solid #C1C1C1;
	margin-bottom: 100px;
}
.internal-ttl {
	position: relative;
	height: 250px;
	width: 100%;
	overflow: hidden;
	margin-bottom: 100px;
}
.internal-ttl img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.internal-ttl h1 {
	position: absolute;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0;
	color: #fff;
	font-size: 4.5rem;
}
.internal-subttl {
	position: relative;
	display: flex;
	align-items: center;
	color: #fff;
	font-size: 2.4rem;
	line-height: 1.34;
	font-weight: 500;
	width: 100%;
	min-height: 70px;
	padding: 15px 35px;
	border-radius: 10px;
	margin-bottom: 40px;
	background: linear-gradient(90deg, #005fb1 0%, #7f93d8 51.23%, #00d9d1 100%);
}
.internal-heading {
	color: #0B6DB3;
	font-size: 2.2rem;
	font-weight: 500;
	border-bottom: 1px solid #C7C7C7;
	width: 100%;
	padding-bottom: 10px;
	margin-bottom: 20px;
}	
@media screen and (max-width: 1280px) {
	.internal-parent {
		font-size: 2.8rem;
		height: 96px;
		padding-left: 6vw;
	}
	.internal-parent::before {
		width: 5.2vw;
	}
	.internal-parent.ttl-none {
		margin-bottom: 68px;
	}
	.internal-ttl {
		height: 167px;
		margin-bottom: 80px;
	}
	.internal-ttl h1 {
		font-size: 2.9rem;
	}
	.internal-subttl {
		font-size: 2.1rem;
		min-height: 57px;
		padding: 12px 30px;
		margin-bottom: 34px;
	}
	.internal-heading {
		font-size: 2.0rem;
		padding-bottom: 6px;
		margin-bottom: 16px;
	}	
}
@media screen and (max-width:768px) {
	.internal-parent {
		font-size: 2.1rem;
		height: 50px;
	}
	.internal-parent.ttl-none {
		margin-bottom: 34px;
	}
	.internal-ttl {
		height: 103px;
		margin-bottom: 35px;
	}
	.internal-ttl h1 {
		font-size: 2.1rem;
	}
	.internal-parent {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		height: 50px;
		font-size: 2.1rem;
		text-align: left;
		padding-right: 0;
		padding-left: 35px;
	}
	.internal-parent::before {
		width: 25px;
	}
	.internal-subttl {
		font-size: 1.8rem;
		min-height: auto;
		padding: 12px;
		margin-bottom: 30px;
		border-radius: 5px;
	}
	.internal-heading {
		font-size: 1.6rem;
		padding-bottom: 4px;
		margin-bottom: 10px;
	}	
}
.internal-box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 100px;
}	
.internal-box:last-of-type {
	margin-bottom: 0;
}	
.internal-box__img {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: flex-start;
	width: 47%;
	max-width: 562px;
}	
.internal-box__img img {
	width: 100%;
}	
.internal-box__img li {
	overflow: hidden;
	border-radius: 10px;
}
.internal-box__img li:first-of-type {
	margin-bottom: 20px;
}
.internal-box__img li:not(:first-of-type) {
	width: 48%;
}
.internal-box__desc {
	width: 50%;
	font-size: 1.8rem;
}
.internal-box__flow {
	width: 100%;
}
.internal-box__flow img:last-of-type {
	display: none;
}
.internal-box__figure {
	width: 47%;
	max-width: 562px;
}

@media screen and (max-width: 1280px) {
	.internal-box {
		margin-bottom: 80px;
	}	
	.internal-box__img li:first-of-type {
		margin-bottom: 16px;
	}
	.internal-box__desc {
		font-size: 1.5rem;
	}
}
@media screen and (max-width:768px) {
	.internal-box__img {
		width: 100%;
		max-width: 100%;
	}	
	.internal-box {
		margin-bottom: 50px;
	}	
	.internal-box__img li {
		border-radius: 5px;
	}
	.internal-box__img li:first-of-type {
		width: 100%;
		margin-bottom: 12px;
	}
	.internal-box__desc {
		width: 100%;
		margin-top: 30px;
	}
	.internal-box__flow img:first-of-type {
		display: none;
	}
	.internal-box__flow img:last-of-type {
		display: block;
		width: 100%;
	}
	.internal-box__figure {
		width: 100%;
		max-width: 100%;
	}
}
.internal-table {
	width: 100%;
}
.internal-table table {
	width: 100%;
}
.internal-table table th,
.internal-table table td {
	font-size: 1.8rem;
	line-height: 1.66;
	padding: 1.3em 1.6em;
	border-top: 1px solid #C7C7C7;
	border-bottom: 1px solid #C7C7C7;
}
.internal-table table th {
	width: 16.7%;
	min-width: 200px;
	color: #0B6DB3;
	font-weight: 500;
	background-color: #ECF2F7;
}
.internal-table table td {
	font-weight: 400;
	width: 83.3%;
	min-width: calc(100% - 200px);
}
.internal-table table td ul {
	padding-left: 1em;
	list-style: disc;
}
.internal-table table td ul li:not(:last-of-type) {
	padding-bottom: 0.8em;
}

@media screen and (max-width: 1280px) {
	.internal-table table th,
	.internal-table table td {
		font-size: 1.5rem;
	}
}
@media screen and (max-width:768px) {
	.internal-table table th,
	.internal-table table td {
		font-size: 1.4rem;
		padding: 0.8em;

	}
	.internal-table table th {
		width: 34%;
		min-width: auto;
	}
	.internal-table table td {
		width: 66%;
		min-width: auto;
	}
}





	

/* ----------------------------------
service サービス案内
----------------------------------- */
.service-ttl {
	color: #0B6DB3;
	text-align: center;
	line-height: 1;
	margin-bottom: 50px;
}
.service-ttl h2 {
	position: relative;
	display: inline-block;
	font-size: 4.5rem;
	font-weight: 700;
	color: #0B6DB3;
}
.service-ttl h2::before,
.service-ttl h2::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 35px;
	height: 2px;
	background-color: #0B6DB3;
}
.service-ttl h2::before {
	left: -65px;
}
.service-ttl h2::after {
	right: -65px;
}
.service-ttl p {
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 600;
	padding-top: 18px;
}
@media screen and (max-width: 1280px) {
	.service-ttl {
		margin-bottom: 30px;
	}
	.service-ttl h2 {
		font-size: 2.9rem;
	}
	.service-ttl h2::before,
	.service-ttl h2::after {
		width: 25px;
	}
	.service-ttl h2::before {
		left: -45px;
	}
	.service-ttl h2::after {
		right: -45px;
	}
	.service-ttl p {
		font-size: 1.3rem;
	}
}
@media screen and (max-width:768px) {
	.service-ttl {
		margin-bottom: 35px;
	}
	.service-ttl h2 {
		font-size: 1.8rem;
	}
	.service-ttl h2::before,
	.service-ttl h2::after {
		width: 20px;
	}
	.service-ttl h2::before {
		left: -30px;
	}
	.service-ttl h2::after {
		right: -30px;
	}
	.service-ttl p {
		font-size: 1rem;
		padding-top: 7px;
	}
}
.service-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 80px 2.5%;
	margin-bottom: 150px;
}		
.service-list li {
	width: 100%;
}		
.service-list li figure {
	width: 100%;
	margin-bottom: 30px;
	overflow: hidden;
	border-radius: 10px;
}		
.service-list li figure img {
	width: 100%;
	transition: all 0.2s ease;
}		
.service-list__name {
	color: #0075C2;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 22px;
}
.service-list__name img {
	margin: 0 0 8px 8px;
}
.service-list__desc {
	margin-bottom: 25px;
}
.service-list__icon span {
	display: inline-flex;
	align-items: center;
	color: #0B6DB3;
	font-size: 1.4rem;
	line-height: 1;
	background-color: #E5F4FF;
	border: 1px solid #71A5C9;
	padding: 0.4em 1em;
	margin: 0 10px 10px 0;
}
@media (hover: hover) {
	.service-list li a:hover figure img {
		opacity: 0.7;
		filter: brightness(106%);
		transform: scale(1.05);
	}		
	.service-list li a:hover .service-list__name {
		text-decoration: underline;
	}		
}
@media screen and (max-width: 1280px) {
	.service-list {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 65px 2.5%;
		margin-bottom: 130px;
	}		
	.service-list li figure {
		border-radius: 5px;
		margin-bottom: 23px;
	}		
	.service-list__name {
		font-size: 2.0rem;
		margin-bottom: 18px;
	}
	.service-list__name img {
		margin: 0 0 5px 6px;
	}	
	.service-list__desc {
		font-size: 1.3rem;
		margin-bottom: 20px;
	}
	.service-list__icon span {
		font-size: 1.2rem;
		padding: 0.4em 1em;
		margin: 0 7px 7px 0;
	}
}
@media screen and (max-width:768px) {
	.service-list {
		grid-template-columns: 1fr;
		gap: 0;
		margin-bottom: 70px;
	}
	.service-list li:not(:last-of-type) {
		margin-bottom: 25px;
		padding-bottom: 20px;
		border-bottom: 1px solid #C7C7C7;
	}		
	.service-list li a {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 20px;
	}		
	.service-list li figure {
		width: 47%;
		margin-bottom: 0;
	}
	.service-list__name {
		width: 50%;
		font-size: 1.8rem;
		margin-bottom: 0;
	}
	.service-list__name img {
		margin: 0 0 3px 6px;
	}	
}










/* ----------------------------------
mission 私たちのミッション
----------------------------------- */
main:has(.service-btn) {
	margin-bottom: 0;
}
#mission {
	position: relative;
	background: url("../../mission/images/mission_intro.png") no-repeat center top;
	background-size: 1920px auto;
}
.mission-shisa {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	position: sticky;
	position: -webkit-sticky;
	bottom: 20px;
	text-align: center;
	margin-top: -14em;
	padding-bottom: 20px;
}
.mission-shisa img {
	width: 29vw;
	max-width: 500px;
	height: auto;
}
.mission-text {
	position: relative;
	text-align: center;
}
.mission-text__intro {
	font-family: "Noto Serif JP", serif;
	font-size: 2.5rem;
	font-size:  clamp(1.8rem, calc(1.2rem + 0.9vw), 2.5rem);
	font-weight: 500;
	line-height: 3.2;
	text-shadow: 0px 0px 0px rgba(255, 255, 255, 1);
	margin-bottom: 9em;
	padding-top: 6vw;	
}
.mission-text__intro br.sp {
	display: none;
}
.mission-text__ttl {
	position: relative;
	font-family: "Noto Serif JP", serif;
	font-size: 3rem;
	padding-bottom: 1em;
	margin-bottom: 1.5em;
}	
.mission-text__ttl::after {
	position: absolute;
	content: "";
	width: 1em;
	height: 1px;
	background-color: #000;
	left: calc(50% - 0.5em);
	bottom: 0;
}
.mission-text__copy {
	color: #122DA2;
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 1.5em;
}
.mission-text__copy br.sp {
	display: none;
}
.mission-text__text {
	font-size: 1.8rem;
	line-height: 2;
	text-shadow: 0px 0px 0px rgba(255, 255, 255, 1);
	padding-bottom: 12em;
}	
@media screen and (max-width: 1280px) {
	#mission {
		background-size: contain;
	}
	.mission-shisa {
		text-align: center;
		min-width: 980px;
		margin: -5em auto 0;
	}
	.mission-text__intro {
		padding-top: 7vw;
		margin-bottom: 6em;
	}
	.mission-text__ttl {
    font-size: 2.8rem;
	}
	.mission-text__text {
    font-size: 1.6rem;
		padding-bottom: 0;
	}
}
@media screen and (max-width:768px) {
	#mission {
    background: url(../../mission/images/mission_intro_sp.png) no-repeat center top;
    background-size: contain;
	}
	.mission-shisa {
		padding: 0;
		top: inherit;
		min-width: 100%;
		margin: auto;
	}
	.mission-shisa img {
    width: 50%;
    max-width: 500px;
    height: auto;
	}
	.mission-text__intro {
		font-size: 4.2vw;
		line-height: 2.4;
		margin-bottom: 0;
		display: flex;
		align-items: flex-start;
		justify-content: center;
		padding-bottom: 0;
		padding-top: 24vw;
		white-space: nowrap;
		height: calc(100svh - 115px);		
	}	
	.mission-text__intro br.sp {
		display: inline-block;
	}
	.mission-text__ttl {
		margin-top: 3em;
		font-size: 1.8rem;
	}
	.mission-text__copy {
		font-size: 1.8rem;
	}
	.mission-text__copy br.sp {
		display: inline-block;
	}
	.mission-text__text {
		font-size: 1.5rem;
		line-height: 1.8;
		text-align: left;
		padding-bottom: 4em;
	}
	.mission-text__text br.pc {
		display: none;
	}
	.mission-text {
		margin-top: 0;
	}	
}
.mission-service {
	position: relative;
	padding: 80px 2vw;
	background-color: #F1F2EF;
}
.mission-service h2 {
	position: relative;
	font-family: "Noto Serif JP", serif;
	font-size: 3rem;
	font-weight: 500;
	text-align: center;
	padding-bottom: 1em;
	margin-bottom: 2em;
}
.mission-service h2::after {
	position: absolute;
	content: "";
	width: 1em;
	height: 1px;
	background-color: #000;
	left: calc(50% - 0.5em);
	bottom: 0;
}
.mission-service .service-list {
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px;
	max-width: 1610px;
	margin: 0 auto;
}
.mission-service .service-list li {
	max-width: 380px;
}
.service-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 400px;
	width: 100%;
	height: 50px;
	margin: 40px auto 0;
	color: #fff;
	font-weight: 700;
	background-color: #0075C2;
	border: 1px solid #0075C2;
	border-radius: 50px;
	transition: all 0.2s ease;
}
.service-btn::after {
	position: absolute;
	content: "";
	top: 43%;
	right: 1.5em;
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: right 0.2s ease;
}
@media (hover: hover) {
	.service-btn:hover {
		color: #0075C2;
		background-color: #fff;
	}
	.service-btn:hover::after {
		border-color: #0075C2;
		right: 1.3em;
	}
}
@media screen and (max-width: 1280px) {
	.mission-service {
		padding: 60px 3vw 65px;
	}	
	.mission-service h2 {
    font-size: 2.8rem;
	}
	.mission-service .service-list li figure {
		border-radius: 10px;
	}
}
@media screen and (max-width:768px) {
	.mission-service {
		position: relative;
		padding: 45px 25px 50px;
		background-color: #F1F2EF;
	}	
	.mission-service h2 {
		font-size: 1.8rem;
		margin-bottom: 1em;
	}
	.mission-service .service-list {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.mission-service .service-list li {
    max-width: 100%;
	}
	.service-list li:not(:last-of-type) {
		margin-bottom: 30px;
		padding-bottom: 0;
		border-bottom: none;
	}
	.mission-service .service-list li a {
		flex-wrap: wrap;
		margin-bottom: 12px;
	}
	.mission-service .service-list li figure {
		width: 100%;
		margin-bottom: 20px;
	}
	.mission-service .service-list__name {
		width: 100%;
	}
	.mission-service .service-list__desc {
		font-size: 1.4rem;
		margin-bottom: 0;
	}
}

/* ----------------------------------
company 企業情報
----------------------------------- */
/* --- 会社概要 ----------------- */
.company-profile__lead {
	font-size: 1.8rem;
	margin-bottom: 2.0em;
}
.company-profile__link {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3.0em;
	width: 100%;
}
.company-profile__link li {
	width: calc(100% / 4);
	min-width: 300px;
}
.company-profile__link li a {
	position: relative;
	display: inline-block;
	font-size: 1.8rem;
	padding: 0 0.6em 0 1em;
	margin-bottom: 0.5em;
	text-decoration: underline;
}
.company-profile__link li a::before {
	position: relative;
	width: 100%;
	position: absolute;
	content: "";
	left: 0;
	top: 46.5%;
	width: 7px;
	height: 7px;
	border-top: 1.6px solid #0B6DB3;
	border-right: 1.6px solid #0B6DB3;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: right 0.2s ease;
}
.company-profile__link li a img {
	margin: 0 0 6px 6px;
	filter: brightness(0);
}
@media (hover: hover) {
	.company-profile__link li a:hover {
		color: #0075C2;
		text-decoration: none;
	}
	.company-profile__link li a:hover img {
		filter: none;
	}
}
@media screen and (max-width: 1280px) {
	.company-profile__lead {
		font-size: 1.6rem;
	}
	.company-profile__link {
		margin-bottom: 2.5em;
	}
	.company-profile__link li {
		width: calc(100% / 4);
		min-width: 300px;
	}
	.company-profile__link li a {
		font-size: 1.6rem;
	}
	.company-profile__link li a img {
		width: 15px;
	}
}
@media screen and (max-width:768px) {
	.company-profile__lead {
		font-size: 1.4rem;
	}
	.company-profile__link {
		margin-bottom: 2em;
	}
	.company-profile__link li {
		width: 100%;
		min-width: 100%;
	}
	.company-profile__link li a {
		font-size: 1.4rem;
	}
	.company-profile__link li a::before {
		top: 36.5%;
	}
	.company-profile__link li a img {
		width: 14px;
		margin: 0 0 6px 6px;
	}
}
/* --- ごあいさつ ----------------- */
.company-message {
	align-items: flex-start;
	flex-wrap: nowrap;
}
.company-message figure {
	width: 48%;
	max-width: 570px;
	position: sticky;
	position: -webkit-sticky;
	top: 194px;
	overflow: hidden;
	border-radius: 5px;
}
.company-message figure figcaption {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-family: "Noto Serif JP", serif;
	font-size: 2.8rem;
	font-weight: 500;
	padding: 1em 0 0 1.6em;
}
.company-message figure figcaption span {
	position: relative;
	font-size: 1.8rem;
	font-weight: 400;
	margin-right: 1.2em;
}
.company-message figure figcaption span::before {
	position: absolute;
	content: "";
	width: 28px;
	height: 1px;
	background-color: #707070;
	left: -40px;
	top: 50%;
}
.company-message div {
	width: 48%;
	max-width: 570px;
	position: relative;
}
.company-message__lead {
	position: relative;
	color: #122DA2;
	font-size: 4.2rem;
	font-weight: 700;
	line-height: 1.7;
	margin-bottom: 2em;
}	
.company-message__lead::before {
	position: absolute;
	content: "";
	width: 50px;
	height: 2px;
	background-color: #122DA2;
	display: block;
	bottom: -1em;
}	
.company-message__text {
	font-size: 1.8rem;
	line-height: 2;
	margin-bottom: 2em;
}	
@media screen and (max-width: 1280px) {
	.company-message figure {
		border-radius: 10px;
	}
	.company-message figure figcaption {
		font-size: 2.2rem;
	}
	.company-message figure figcaption span {
		font-size: 1.4rem;
	}
	.company-message__lead {
		font-size: 3.3rem;
	}	
	.company-message__text {
		font-size: 1.6rem;
	}	
}
@media screen and (max-width:768px) {
	.company-message {
		flex-wrap: wrap;
	}
	.company-message figure {
		width: 100%;
		max-width: 100%;
		position: relative;
		position: -webkit-relative;
		top: inherit;
	}
	.company-message div {
		width: 100%;
		max-width: 100%;
		position: relative;
	}
	.company-message figure figcaption {
		font-size: 1.7rem;
		padding: 0.6em 0 1em 40px;
	}
	.company-message figure figcaption span {
		font-size: 1.1rem;
	}
	.company-message__lead {
		font-size: 2.5rem;
	}	
	.company-message__text {
		font-size: 1.4rem;
	}	
}
/* --- 企業理念 / グループ経営理念 ----------------- */
.company-policy__lead {
	font-size: 1.8rem;
	line-height: 2;
	margin-bottom: 2em;
}
.company-policy__idea {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.company-policy__idea li {
	display: flex;
	justify-content: center;
	width: 32%;
	max-width: 384px;
	height: 320px;
	border: 2px solid #03A162;
	border-radius: 15px;
}
.company-policy__idea li dl {
	width: 100%;
}
.company-policy__idea li dl dt {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	height: 90px;
	width: 100%;
	color: #fff;
	font-size: 2.8rem;
	font-weight: 700;
	background-color: #03A162;
	padding: 10px 0;
	line-height: 1;
	border-radius: 13px 13px 0 0;
}
.company-policy__idea li dl dt span {
	width: 100%;
	font-size: 1.6rem;
	text-align: center;
	padding-top: 4px;
}
.company-policy__idea li dl dd {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	font-size: 1.7rem;
	font-weight: 500;
	text-align: center;
	padding-top: 38px;
}
.company-policy__idea li:nth-of-type(2) {
	border-color: #66A5DA;
}
.company-policy__idea li:nth-of-type(2) dl dt {
	background-color: #66A5DA;
}
.company-policy__idea li:nth-of-type(3) {
	border-color: #F08336;
}
.company-policy__idea li:nth-of-type(3) dl dt {
	background-color: #F08336;
}
.company-policy__idea li:nth-of-type(3) dl dt {
	background-color: #F08336;
}
.company-policy__idea--smile {
	color: #F08336;
	font-size: 3.7rem;
	font-weight: 700;
	line-height: 1;
	margin: -0.6em 0 0.35em;
}
.company-policy__idea--text {
	line-height: 1.7;
	text-align: left;
}
.company-policy__idea--text span {
	color: #F08336;
}
.company-policy__message {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
}
.company-policy__message figure {
	width: 384px;
	border-radius: 15px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.company-policy__message dl {
	width: 65%;
	max-width: 727px;
}
.company-policy__message dl dt {
	color: #122DA2;
	font-size: 3.3rem;
	font-weight: 700;
	line-height: 1.7;
	margin-bottom: 0.8em;
}
.company-policy__message dl dd {
	font-size: 1.8rem;
	line-height: 2;
}	
.company-policy__kv {
	font-family: "Noto Serif JP", serif;
}
.company-policy__kv h2 {
	position: relative;
	display: flex;
	justify-content: center;
	font-size: 4.2rem;
	line-height: 1;
	margin-bottom: 1em;
}
.company-policy__kv h2::before {
	position: absolute;
	content: "";
	width: 1em;
	height: 1px;
	background-color: #000;
	bottom: -0.9em;
}
.company-policy__kv div {
	position: relative;
	height: auto;
	max-height: 568px;
	width: 100%;
	overflow: hidden;
	margin-bottom: 20px;
}
.company-policy__kv div figure {
	width: 100%;
	height: auto;
	object-fit: cover;
}
.company-policy__kv div figure img:last-of-type {
	display: none;
}
.company-policy__kv div p {
	position: absolute;
	top: 4vw;
	text-align: center;
	margin: auto;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	font-size: 3.3rem;
	line-height: 2.4;
	text-shadow: 0px 3px 6px rgba(255, 255, 255, 0.7);
}
.company-policy__kv div p br {
	display: none;
}
.company-policy__kv div p span {
	display: block;
	width: 100%;
}
/** アニメーション **/
.company-policy__kv .fade-img {
	/* 1.5s(所要時間) ease-in 0.5s(遅延) both */
	animation: fade-img 1s ease-in 0.6s both;
}
@keyframes fade-img {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}	

.company-policy__kv .fade-h2 {
	/* 1.0秒遅れてスタート */
	animation: fade-h2 1s ease 1.0s both;
}
@keyframes fade-h2 {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}	

.company-policy__kv .fade-p {
	/* 1.3秒遅れてスタート */
	animation: fade-p 1.2s ease 1.4s both;
}
@keyframes fade-p {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media screen and (max-width: 1280px) {
	.company-policy__lead {
		font-size: 1.6rem;
	}
	.company-policy__idea li {
		height: auto;
	}
	.company-policy__idea li dl dt {
		height: 80px;
		font-size: 2.5rem;
	}
	.company-policy__idea li dl dd {
		font-size: 1.5rem;
		padding: 30px 1em 20px;
	}
	.company-policy__idea--smile {
		font-size: 3.4rem;
		margin: -0.4em 0 0.35em;
	}
	.company-policy__idea--text {
		line-height: 1.7;
		text-align: left;
	}
	.company-policy__message figure {
		width: 30%;
	}
	.company-policy__message dl dt {
		font-size: 2.8rem;
	}
	.company-policy__message dl dd {
		font-size: 1.6rem;
		line-height: 1.8;
	}	
	.company-policy__kv h2 {
		font-size: 2.9rem;
	}
	.company-policy__kv div {
		height: auto;
	}
	.company-policy__kv div p {
		font-size: 2.1rem;
		line-height: 2;
	}
}
@media screen and (max-width:768px) {
	.company-policy__lead {
		font-size: 1.4rem;
	}
	.company-policy__idea {
		flex-wrap: wrap;
	}
	.company-policy__idea li {
		width: 100%;
		max-width: 100%;
	}
	.company-policy__idea li:not(:last-of-type) {
		margin-bottom: 10px;
	}
	.company-policy__idea li dl dt {
		height: 50px;
		font-size: 1.8rem;
	}	
	.company-policy__idea li dl dt span {
    width: auto;
    font-size: 1.2rem;
    text-align: center;
    padding: 0 0 0 1.1em;
	}
	.company-policy__idea li dl dd {
		font-size: 1.4rem;
		padding: 1em;
	}
	.company-policy__idea--smile {
		font-size: 3.1rem;
		margin: 0 0 0.35em;
	}
	.company-policy__message figure {
		width: 100%;
		max-width: 220px;
		margin: 0 auto 30px;
	}	
	.company-policy__message dl {
		width: 100%;
		max-width: 100%;
	}
	.company-policy__message dl dt {
		font-size: 1.8rem;
		line-height: 1.5;
	}
	.company-policy__message dl dt br {
		display: none;
	}
	.company-policy__message dl dd {
		font-size: 1.5rem;
	}		
	.company-policy__message dl dd br {
		display: none;
	}	
	.company-policy__kv .fadein,
	.company-policy__kv .fadein.active,
	.company-policy__kv h2.fadein,
	.company-policy__kv span.fadein {
		opacity : 1;
		transform : none;
		transition : none;
	}
	.company-policy__kv h2 {
		font-size: 5.6vw;
	}
	.company-policy__kv div figure img:first-of-type {
		display: none;
	}
	.company-policy__kv div figure img:last-of-type {
		display: block;
	}
	.company-policy__kv div {
		margin-bottom: 0;
	}
	.company-policy__kv div p {
		top: 9dvh;
		font-size:  4.5vw;
		line-height: 2;
	}
	.company-policy__kv div p br {
		display: inline-block;
	}
}
/* ----------------------------------
プライバシーポリシー
お問い合わせ
----------------------------------- */
.internal-others .internal-heading {
	margin-bottom: 30px;
}
.internal-others a {
	text-decoration: underline;
}
.internal-others a img {
	margin: 0 0 4.5px 6px;
	filter: brightness(0);
}
@media (hover: hover) {
	.internal-others a:hover {
		color: #0075C2;
		text-decoration: none;
	}
	.internal-others a:hover img {
		filter: none;
	}
}
.internal-others p {
	font-size: 1.8rem;
	line-height: 2;
	margin-bottom: 80px;
}
.internal-others p:has(+ ul) {
	margin-bottom: 30px;
}
.internal-others ul {
	list-style: disc;
	padding-left: 1.5em;
	margin-bottom: 80px;
}	
.internal-others ul li:not(:last-of-type) {
	padding-bottom: 0.8em;
}
@media screen and (max-width:768px) {
	.internal-others a img {
		width: 14px;
		margin: 0 0 6px 6px;
	}
}
@media screen and (max-width: 1280px) {
	.internal-others .internal-heading {
		margin-bottom: 20px;
	}
	.internal-others p {
		font-size: 1.6rem;
		line-height: 1.8;
		margin-bottom: 60px;
	}
	.internal-others p:has(+ ul) {
		margin-bottom: 20px;
	}
	.internal-others ul {
		margin-bottom: 60px;
	}	
}
@media screen and (max-width:768px) {
	.internal-others .internal-heading {
		margin-bottom: 10px;
	}
	.internal-others p {
		font-size: 1.4rem;
		margin-bottom: 30px;
	}
	.internal-others p:has(+ ul) {
		margin-bottom: 10px;
	}
	.internal-others ul {
		margin-bottom: 30px;
	}	
	.internal-others ul li:not(:last-of-type) {
		padding-bottom: 0.6em;
	}
}
.internal-others__required {
	background-color: #0A6DB3;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 400;
	height: 30px;
	width: 56px;
	line-height: 1;
	margin-right: 3px;
}

/* ----------------------------------
recruit 採用情報
----------------------------------- */
/* --- index ----------------- */
.index-list.pattern.recruit li.pattern-box::after {
	width: 100%;
}
.index-list.pattern.recruit li:last-of-type::after {
	content: "";
	width: 100%;
	height: 1px;
	position: absolute;
	top: -60px;
	background-color: #C7C7C7;
}
.recruit-entry {
	display: flex;
	justify-content: center;
	margin-top: 100px;
}
.recruit-entry a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	height: 88px;
	width: 700px;
	background-color: #0075C2;
	border: 1px solid #0075C2;
	color: #fff;
	border-radius: 15px;
	transition: color 0.2s ease, background 0.2s ease;
}
.recruit-entry p {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}
.recruit-entry p span {
	display: block;
	font-size: 1.3rem;
}
.recruit-entry img {
	position: absolute;
	right: 2em;
	top: 43%;
	filter: brightness(10);
	transition: all 0.2s ease;
}
@media (hover: hover) {
	.recruit-entry a:hover {
		background-color: #fff;
		color: #0075C2;
	}
	.recruit-entry a:hover img {
		filter: none;
	}
}
@media screen and (max-width: 1280px) {
	.recruit-entry {
		margin-top: 80px;
	}
	.recruit-entry a {
		height: 72px;
		width: 570px;
	}
	.recruit-entry p {
		font-size: 2.0rem;
	}
	.recruit-entry p span {
		font-size: 1.2rem;
	}
	.recruit-entry img {
		width: 13.5px;
	}
}
@media screen and (max-width:768px) {
	.index-list.pattern.recruit li.pattern-box br {
		display: none;
	}
	.index-list.pattern.recruit li:last-of-type::after {
		content: none;
	}
	.index-list.pattern.recruit li.pattern-box div p{
		white-space: normal;
	}
	.recruit-entry {
		margin-top: 50px;
	}
	.recruit-entry a {
		height: 55px;
		width: 100%;
		border-radius: 7px;
	}
	.recruit-entry p {
		font-size: 1.5rem;
	}
	.recruit-entry p span {
		font-size: 1rem;
	}
	.recruit-entry img {
		width: 15px;
		right: 1.5em;
		top: 37%;
	}
}
/* --- feature スズケン沖縄薬品3つの魅力 ----------------- */
.recruit-feature__copy {
	color: #0075C2;
	font-size: 3.5rem;
	font-weight: 500;
	text-align: center;
	width: 100%;
	margin-bottom: 80px;
}	
.recruit-feature__list {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.recruit-feature__list li {
	width: 32%;
	max-width: 384px;
	border: 2px solid #0075C2;
	border-radius: 15px;
	background-color: #fff;
	text-align: center;
}
.recruit-feature__list li h3 {
	display: flex;
	align-items: center;
	color: #0075C2;
	font-size: 4.0rem;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 20px;
}
.recruit-feature__list li h3 span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 100px;
	background-color: #0075C2;
	color: #fff;
	border-radius: 0 0 20px 20px;
	font-family: "Oswald", sans-serif;
	font-size: 4.7rem;
	font-weight: 500;
	margin:  0 0.6em 0 0.4em;
}
.recruit-feature__list li p {
	font-size: 1.8rem;
	line-height: 2;
	text-align: left;
	padding: 34px 1.5em 30px;
}
@media screen and (max-width: 1280px) {
	.recruit-feature__copy {
		font-size: 2.8rem;
		margin-bottom: 60px;
	}
	.recruit-feature__list li h3 {
		font-size: 2.8rem;
	}
	.recruit-feature__list li h3 span {
		height: 80px;
		font-size: 3.2rem;
	}
	.recruit-feature__list li p {
		font-size: 1.6rem;
		padding: 26px 1.2em 20px;
	}
}
@media screen and (max-width:768px) {
	.recruit-feature__copy {
		font-size: 2.1rem;
		margin-bottom: 30px;
		line-height: 1.4;
	}
	.recruit-feature__list {
		flex-wrap: wrap;
	}
	.recruit-feature__list li {
		width: 100%;
		max-width: 100%;
		margin-bottom: 20px;
	}
	.recruit-feature__list li:last-of-type {
		margin-bottom: 0;
	}
	.recruit-feature__list li h3 {
		font-size: 2.3rem;
		margin-bottom: 20px;
	}
	.recruit-feature__list li h3 span {
		height: 60px;
		font-size: 2.6rem;
		margin:  0 1em 0 1em;
	}
	.recruit-feature__list li figure {
		width: 50%;
		max-width: 150px;
		margin: 0 auto;
	}
	.recruit-feature__list li p {
		line-height: 1.8;
	}
}
/* --- numbers 数字で見るスズケン沖縄薬品 ----------------- */
.recruit-numbers {
	background-color: #E8EDED;
	margin-top: -100px;
	margin-bottom: -150px;
	padding-bottom: 150px;
}
.recruit-numbers__intro {
  text-align: center;
	padding: 80px 0;
  color: #0B6DB3;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 2;
}
.recruit-numbers__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.recruit-numbers__card {
  position: relative;
  height: 390px;
  padding: 60px 55px 28px;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
}
.recruit-numbers__card h2 {
  margin: 0;
  color: #0473bd;
  font-size: 2.5rem;
  line-height: 1.45;
  font-weight: 700;
}
.recruit-numbers__icon {
  position: absolute;
  object-fit: contain;
	right: 38px;
	top: 30px;
}
.recruit-numbers__card .metric {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 12px;
  margin-top: 65px;
  white-space: nowrap;
}
.recruit-numbers__card .metric strong,
.recruit-numbers__card .gender-values strong,
.recruit-numbers__card .age-list strong {
  font-family: "DM Sans", sans-serif;
  font-weight: 300;
}
.recruit-numbers__card .metric strong {
  font-size: 15.0rem;
  line-height: 1;
}
.recruit-numbers__card .metric span {
  font-size: 3rem;
  font-weight: 700;
}
.recruit-numbers__card .metric small {
  font-size: 21px;
  font-weight: 700;
}
.recruit-numbers__card .as-of {
	color: #333333;
  position: absolute;
  left: 40px;
  bottom: 23px;
  margin: 0;
}
.recruit-numbers__card.gender .recruit-numbers__icon {
	left: 240px;
}
.recruit-numbers__card.employees {
  grid-column: span 1;
}
.recruit-numbers__card.gender {
  grid-column: span 2;
}
.recruit-numbers__card.gender .gender-body {
  display: flex;
  align-items: center;
  gap: 58px;
  margin-top: 34px;
}
.recruit-numbers__card.gender .gender-values {
  min-width: 265px;
	line-height: 1;
	font-weight: 700;
}
.recruit-numbers__card.gender .gender-values p {
  display: flex;
  align-items: baseline;
  margin: 0 0 8px;
}
.recruit-numbers__card.gender .gender-values b {
  font-size: 3.3rem;
	font-weight: 700;
	margin-right: 15px;
}
.recruit-numbers__card.gender .gender-values strong {
  font-size: 9.0rem;
}
.recruit-numbers__card.gender .gender-values strong span {
  font-size: 6.0rem;
}
.recruit-numbers__card.gender .gender-values span {
  font-size: 3.0rem; 
	margin-left: 12px;
}
.recruit-numbers__card.gender .gender-chart {
  position: absolute;
	right: 80px;
	top: 60px; 
	width: 270px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(#267fc4 0 59.8%, #d263ce 59.8% 100%);
  color: #fff;
	font-size: 2.5rem;
}
.recruit-numbers__card.gender .gender-chart span {
  position: absolute;
  transform: translateY(-50%);
}
.recruit-numbers__card.gender .gender-chart .female {
  left: 36px;
	top: 44%;
}
.recruit-numbers__card.gender .gender-chart .male {
  right: 39px;
  top: 50%;
}
.recruit-numbers__card.ages {
  grid-column: span 2;
	padding-right: 35px;
}
.recruit-numbers__card.ages .age-layout {
  display: grid;
  grid-template-columns: 200px 270px 1fr;
  align-items: center;
  gap: 20px;
  margin-top: -26px;
}
.recruit-numbers__card.ages .age-list p {
  display: flex;
  align-items: baseline;
  white-space: nowrap;
	line-height: 1.5;
}
.recruit-numbers__card.ages .age-list b {
  min-width: 61px;
  font-size: 2.5rem;
}
.recruit-numbers__card.ages .age-list strong {
  font-size: 6.0rem;
	margin: 0 2px 0 12px;
}
.recruit-numbers__card.ages .age-list strong span {
  font-size: 4.0rem;
	font-weight: 300;
}
.recruit-numbers__card.ages .age-list span {
  margin-left: 2px;
  font-size: 2.5rem;
	font-weight: 700;
}
.recruit-numbers__card.ages .age-list.right p {
  margin: 4px 0;
}
.recruit-numbers__card.ages .age-list.right b {
  min-width: 55px;
}
.recruit-numbers__card.ages .age-list.right b span {
	font-size: 1.5rem;
}
.recruit-numbers__card.ages .age-chart {
  position: relative;
  width: 270px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(
    #2782c6 0 9.9%,
    #39c0b1 9.9% 19.8%,
    #99d4a6 19.8% 50.1%,
    #c5b798 50.1% 90.1%,
    #b4807c 90.1%
  );
  color: #fff;
  font-size: 16px;
}
.recruit-numbers__card.ages .age-chart p {
  position: absolute;
	font-size: 2.5rem;
	line-height: 0.8;
}
.recruit-numbers__card.ages .age-chart p span {
	font-size: 1.8rem;
}
.recruit-numbers__card.ages .age-chart p.a20 {
	top: 7%;
	right: 30%;
}
.recruit-numbers__card.ages .age-chart p.a30 {
	top: 26%;
	right: 13%;
}
.recruit-numbers__card.ages .age-chart p.a40 {
	right: 20%;
	bottom: 30%;
}
.recruit-numbers__card.ages .age-chart p.a50 {
	left: 17%;
	bottom: 43%;
}
.recruit-numbers__card.ages .age-chart p.a60 {
	left: 31%;
	top: 6%;
  text-align: center;
}
.recruit-numbers__card.average .metric {
  margin-top: 67px;
}
.recruit-numbers__card.average .metric span {
  font-size: 3.0rem;
}
.recruit-numbers__card.average .metric strong span {
  font-size: 10.0rem;
	font-weight: 300;
}
.recruit-numbers__card.paid .metric {
  margin-top: 67px;
}
.recruit-numbers__card.paid .metric strong span {
  font-size: 10.0rem;
	font-weight: 300;
}
.recruit-numbers__card.paid .metric span {
  font-size: 3.0rem;
}
.recruit-numbers__card.childcare .eyebrow {
  margin: 34px 0 -10px;
  font-size: 2.5rem;
  font-weight: 700;
	padding-left: 0.3em;
}
.recruit-numbers__card.childcare .metric {
  margin-top: 18px;
}
.recruit-numbers__card.overtime .metric small,
.recruit-numbers__card.overtime .metric span {
  font-size: 3rem;
}
.recruit-numbers__card.overtime .metric strong span {
	font-size: 10.0rem;
	font-weight: 300;
}
.recruit-numbers__card.overtime .metric {
	width: 330px;
	margin-left: -1.6vw;
}
.recruit-numbers__card.years .metric small {
  font-size: 3rem;
}
.recruit-numbers__card.it h2,
.recruit-numbers__card.women h2 {
	margin-top: -1em;
}
.recruit-numbers__card.women .metric strong span {
	font-size: 10.0rem;
	font-weight: 300;
}
.recruit-numbers__card.sales .metric strong span {
	font-size: 10.0rem;
	font-weight: 300;
}
.recruit-numbers__card.sales .metric {
	width: 330px;
	margin-left: -1vw;
}
.recruit-numbers__card.founded .founded-date {
	margin-top: -10px;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
}
.recruit-numbers__card.paid .metric,
.recruit-numbers__card.overtime .metric,
.recruit-numbers__card.years .metric,
.recruit-numbers__card.it .metric,
.recruit-numbers__card.women .metric {
  margin-top: 76px;
}
.recruit-numbers__card.kurumin {
  padding: 30px 20px;
}
.recruit-numbers__card.kurumin .recruit-numbers__icon {
  position: static;
  width: 67px;
  height: 83px;
  flex: 0 0 auto;
}
.recruit-numbers__card.kurumin .kurumin-head {
  display: flex;
	align-items: center;
	border-bottom: 2px solid #DE3B77;
	margin-bottom: 25px;
	padding-bottom: 25px;
}
.recruit-numbers__card.kurumin .kurumin-head h2 {
  color: #DE3B77;
  font-size: 1.8rem;
	margin-left: 1em;
	padding: 0;
}
.recruit-numbers__card.kurumin > p {
  margin: 0 25px;
  font-size: 1.5rem;
  line-height: 2;
}
@media screen and (max-width: 1280px) {
	.recruit-numbers {
    margin-top: -80px;
		margin-bottom: -120px;
    padding-bottom: 120px;
	}
	.recruit-numbers__intro {
    padding: 80px 0 60px;
    font-size: 2.0rem;
	}
	.recruit-numbers__intro h1 {
		font-size: 16px;
		line-height: 1.9;
	}
	.recruit-numbers__card {
		height: 320px;
		padding: 25px 35px 28px;
	}
	.recruit-numbers__card h2 {
		font-size: 2.1rem;
		padding-top: 1.2em;
	}
	.recruit-numbers__icon {
		max-width: 100px;
		right: 38px;
		top: 30px;
	}
	.recruit-numbers__card .metric strong {
		font-size: 12.2rem;
	}
	.gender .recruit-numbers__icon {
		left: 182px;
	}
	.recruit-numbers__card.gender .gender-values b {
		font-size: 2.4rem;
		margin-right: 7px;
	}
	.recruit-numbers__card.gender .gender-values strong {
		font-size: 7.3rem;
	}	
	.recruit-numbers__card.gender .gender-values strong span {
    font-size: 4.9rem;
	}
	.recruit-numbers__card.gender .gender-values span {
    font-size: 2.3rem;
    margin-left: 6px;
	}
	.recruit-numbers__card.gender .gender-chart {
		right: 50px;
		top: 60px;
		width: 220px;
		font-size: 2.0rem;
	}
	.recruit-numbers__card.ages .age-list b {
		min-width: auto;
		font-size: 2rem;
	}
	.recruit-numbers__card.ages .age-layout {
		grid-template-columns: 146px 236px 1fr;
		gap: 8px;
		margin-top: 6px;
	}
	.recruit-numbers__card.ages .age-chart {
		position: relative;
		width: 236px;
		margin-top: -28px;
	}
	.recruit-numbers__card.ages .age-chart p {
    font-size: 2.0rem;
	}	
	.recruit-numbers__card.ages .age-chart p span {
    font-size: 1.4rem;
	}
	.recruit-numbers__card.ages .age-list strong {
		font-size: 4.0rem;
		margin: 0 2px 0 6px;
	}	
	.recruit-numbers__card.ages .age-list strong span {
    font-size: 3.3rem;
	}
	.recruit-numbers__card.childcare .eyebrow {
		margin-top: 30px;
		font-size: 2.1rem;
		padding-left: 0.5em;
	}
	.recruit-numbers__card.overtime .metric {
		width: auto;
		margin: 0 -5vw;
	}
	.recruit-numbers__card.sales .metric {
		width: auto;
		margin-right: -4vw;
		margin-left: -4vw;
	}
	.recruit-numbers__card.kurumin .kurumin-head {
		margin-bottom: 15px;
		padding-bottom: 15px;
	}
	.recruit-numbers__card.kurumin .kurumin-head h2 {
		font-size: 1.6rem;
		margin-left: 1em;
	}
	.recruit-numbers__card.kurumin > p {
		margin: 0 15px;
		font-size: 1.5rem;
		line-height: 1.8;
	}
	.recruit-numbers__card .metric,
	.recruit-numbers__card.paid .metric,
	.recruit-numbers__card.overtime .metric,
	.recruit-numbers__card.years .metric,
	.recruit-numbers__card.it .metric,
	.recruit-numbers__card.women .metric {
    margin-top: 52px;
	}
	.recruit-numbers__card.childcare .metric {
		margin-top: 0;
	}
	.recruit-numbers__card .metric span,
	.recruit-numbers__card.average .metric span,
	.recruit-numbers__card.paid .metric span,
	.recruit-numbers__card.overtime .metric small,
	.recruit-numbers__card.overtime .metric span {
		font-size: 2.4rem;
		font-weight: 700;
	}
	.recruit-numbers__card.average .metric strong span,
	.recruit-numbers__card.paid .metric strong span,
	.recruit-numbers__card.overtime .metric strong span,
	.recruit-numbers__card.women .metric strong span,
	.recruit-numbers__card.sales .metric strong span {
		font-size: 8.1rem;
		font-weight: 300;
	}
	.recruit-numbers__card.founded .founded-date {
    font-size: 1.4rem;
	}
	.recruit-numbers__card .as-of {
		left: 25px;
    bottom: 12px;
	}
}
@media screen and (max-width:768px) {
	.recruit-numbers {
    margin-top: -35px;
		margin-bottom: -50px;
		padding-bottom: 50px;
	}
	.recruit-numbers__intro {
    padding: 35px 0;
    font-size: 2.0rem;
    font-size: 1.4rem;
		text-align: left;
	}	
  .recruit-numbers__list {
		display: flex;
		flex-wrap: wrap;
  }
  .recruit-numbers__card {
		width: 100%;
    height: auto;
    padding: 25px 25px 15px;
	}
  .recruit-numbers__card h2 {
		display: flex;
		align-items: center;
		justify-content: center;
    font-size: 1.8rem;
		padding: 0 0 20px;
  }
	.recruit-numbers__icon {
		position: relative;
		object-fit: contain;
		right: inherit;
		top: inherit;
		margin-left: 1em;
		height: 50px;
		width: auto;
	}	
	.recruit-numbers__card.gender .recruit-numbers__icon {
		left: inherit;
	}
	.recruit-numbers__card.gender .gender-body {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0;
    margin-top: 0;
	}
	.recruit-numbers__card.gender .gender-chart {
		order: 1;
		position: relative;
		right: inherit;
		top: inherit;
		width: 225px;
		font-size: 2.0rem;
		margin-bottom: 15px;
    }
	.recruit-numbers__card.gender .gender-values {
		order: 2;
	}
	.recruit-numbers__card.gender .gender-values p {
		justify-content: center;
    margin: 0 0 8px;
	}
	.recruit-numbers__card.gender .gender-values b {
		font-size: 2.5rem;
		margin-right: 10px;
	}	
	.recruit-numbers__card.gender .gender-values strong {
		font-size: 7.5rem;
	}
	.recruit-numbers__card.gender .gender-values strong span {
		font-size: 5rem;
	}
	.recruit-numbers__card.ages .age-layout {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		grid-template-columns: none;
		gap: 0;
		margin-top: 0;
		width: calc(100% + px)
	}
	.recruit-numbers__card.ages .age-chart {
		order: 1;
		width: 225px;
		margin: 0 auto;
	}	
	.recruit-numbers__card.ages .age-chart p {
    font-size: 2.1rem;
	}	
	.recruit-numbers__card.ages .age-chart p span {
    font-size: 1.5rem;
	}
	.recruit-numbers__card.ages .age-layout .age-list.left {
		order: 2;
		width: 47%;
	}
	.recruit-numbers__card.ages .age-layout .age-list.right {
		order: 3;
		width: 53%;
	}
	.recruit-numbers__card.ages .age-list b {
		font-size: 1.7rem;
	}
	.recruit-numbers__card.ages .age-list strong {
		font-size: 4.3rem;
		margin: 0 2px;
	}
	.recruit-numbers__card.ages .age-list strong span {
		font-size: 2.8rem;
	}
	.recruit-numbers__card.ages .age-list.right b span {
		font-size: 1.0rem;
	}
	.recruit-numbers__card.ages {
		padding-right: 10px;
	}
	.recruit-numbers__card.ages .age-list span {
		font-size: 1.7rem;
	}
	.recruit-numbers__card.average .metric {
		margin-top: 0;
	}
	.recruit-numbers__card .metric strong {
		font-size: 12.5rem;
	}
	.recruit-numbers__card.childcare .eyebrow {
		margin-top: 0;
		padding-left: 1em;
	}	
	.recruit-numbers__card.kurumin .kurumin-head h2 {
		font-size: 1.5rem;
	}
	.recruit-numbers__card.kurumin > p {
		margin: 0;
		font-size: 1.5rem;
	}
	.recruit-numbers__card.it h2,
	.recruit-numbers__card.women h2 {
		margin-top: 0;
	}
	.recruit-numbers__card.it h2 br,
	.recruit-numbers__card.women h2 br {
		display: none;
	}
	.recruit-numbers__card.founded .founded-date {
		font-size: 1.5rem;
		margin-bottom: 10px;
	}	
	.recruit-numbers__card .metric,
	.recruit-numbers__card.paid .metric,
	.recruit-numbers__card.overtime .metric,
	.recruit-numbers__card.years .metric, 
	.recruit-numbers__card.it .metric, 
	.recruit-numbers__card.women .metric {
		margin-top: 0;
	}
	.recruit-numbers__card .metric span,
	.recruit-numbers__card.average .metric span,
	.recruit-numbers__card.paid .metric span,
	.recruit-numbers__card.overtime .metric small,
	.recruit-numbers__card.overtime .metric span {
		font-size: 2.5rem;
	}
	.recruit-numbers__card.average .metric strong span,
	.recruit-numbers__card.paid .metric strong span,
	.recruit-numbers__card.overtime .metric strong span,
	.recruit-numbers__card.women .metric strong span,
	.recruit-numbers__card.sales .metric strong span {
		font-size: 8.3rem;
	}
	.recruit-numbers__card.employees {
		order: 1;
	}
	.recruit-numbers__card.gender {
		order: 2;
	}
	.recruit-numbers__card.ages {
		order: 3;
	}
	.recruit-numbers__card.average {
		order: 4;
	}
	.recruit-numbers__card.paid {
		order: 5;
	}
	.recruit-numbers__card.overtime {
		order: 6;
	}
	.recruit-numbers__card.years {
		order: 7;
	}
	.recruit-numbers__card.childcare {
		order: 8;
	}
	.recruit-numbers__card.kurumin {
		order: 9;
	}
	.recruit-numbers__card.it {
		order: 10;
	}
	.recruit-numbers__card.women {
		order: 11;
	}
	.recruit-numbers__card.founded {
		order: 12;
	}
	.recruit-numbers__card.sales {
		order: 13;
	}
	.recruit-numbers__card .as-of {
		position: relative;
		left: inherit;
		bottom: inherit;
	}
}

/* --- symposium 座談会「働く環境と仲間について」 ----------------- */
.recruit-symposium__ttl {
	position: relative;
	margin-bottom: 55px;
	min-width: 980px;
}	
.recruit-symposium__ttl h1 {
	position: absolute;
	display: flex;
	align-items: center;
	width: 55%;
	min-width: calc(50% - 16em);
	height: 150px;
	color: #fff;
	font-size: clamp(1.8rem, calc(2.1rem + 0.625vw), 3.5rem);
	font-weight: 700;
	background: linear-gradient(-90deg, #005fb1 0%, #7f93d8 51.23%, #00d9d1 100%);
	border-radius: 30px 0 0 30px;
	padding: 1em 1.5em;
	right: 0;
	bottom: 25px;
}
.recruit-symposium__ttl figure {
	width: 88%;
}
.recruit-symposium__intro {
	color: #0B6DB3;
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 50px;
}
.recruit-symposium__intro br.sp {
	display: none;
}
.recruit-symposium__dialog {
	margin-bottom: 80px;
}	
.recruit-symposium__dialog.last {
	margin-bottom: 170px;
}	
.recruit-symposium__dialog li {
	display: flex;
	font-size: 2.1rem;
	line-height: 1.66;
	margin-bottom: 1.4em;
}	
.recruit-symposium__dialog li span {
	position: relative;
	font-weight: 700;
	width: 4em;
}	
.recruit-symposium__dialog li span.person {
	color: #0075C2;
}	
.recruit-symposium__dialog li span::after {
	position: absolute;
	content: "：";
	right: 0;
}	
.recruit-symposium__dialog li p {
	width: calc(100% - 4em);
	padding-left: 1em;
}	
.recruit-symposium__img01 {
  display: flex;
  gap: clamp(20px, 3vw, 60px);
  width: 100%;
	margin-bottom: 80px;
}
.symposium-img01__main {
  flex: 2;
  min-width: 0;
	overflow: hidden;
	border-radius: 0 10px 10px 0;
}	
.symposium-img01__sub {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 20px;
  min-width: 0;;
}	
.symposium-img01__sub span {
	overflow: hidden;
	border-radius: 10px 0 0 10px;
}
.symposium-img01__main img,
.symposium-img01__sub img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.recruit-symposium__img02 {
  display: flex;
  gap: clamp(20px, 3vw, 60px);
  width: 100%;
	margin-bottom: 80px;
}
.symposium-img02__main {
  flex: 2.2;
  min-width: 0;
	overflow: hidden;
	border-radius: 10px 0 0 10px;
}	
.symposium-img02__sub {
  display: flex;
  flex: 1;
  flex-direction: column;
	overflow: hidden;
  min-width: 0;
	border-radius: 0 10px 10px 0;
}	
.recruit-symposium__img03 {
  display: flex;
  gap: clamp(20px, 3vw, 60px);
  width: 100%;
	margin-bottom: 80px;
}
.symposium-img03__main {
  flex: 2;
  min-width: 0;
	overflow: hidden;
	border-radius: 10px 0 0 10px;
}	
.symposium-img03__sub {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 20px;
  min-width: 0;;
}	
.symposium-img03__sub span {
	overflow: hidden;
	border-radius: 0 10px 10px 0;
}
.symposium-img03__main img,
.symposium-img03__sub img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
	
.recruit-symposium__img04 {
  display: flex;
  gap: clamp(20px, 2vw, 40px);
  width: 100%;
	margin-bottom: 80px;
	padding: 0 60px;
}
.recruit-symposium__img04 figure {
	overflow: hidden;
	border-radius: 10px;
}
.recruit-symposium__img05 {
  display: flex;
	justify-content: flex-end;
  width: 100%;
}
.recruit-symposium__img05 figure {
	width: 66.66%;
  min-width: 0;
	overflow: hidden;
	border-radius: 10px 0 0 10px;
}	
@media screen and (max-width: 1280px) {
	.recruit-symposium__dialog {
		margin-bottom: 55px;
	}	
	.recruit-symposium__dialog.last {
		margin-bottom: 135px;
	}	
	.recruit-symposium__ttl {
		margin-bottom: 40px;
	}
	.recruit-symposium__ttl h1 {
		max-height: 120px;
	}
	.recruit-symposium__intro {
		font-size: 2rem;
		margin-bottom: 40px;
	}
	.recruit-symposium__dialog li {
		font-size: 1.7rem;
	}	
	.recruit-symposium__img01,
	.recruit-symposium__img02,
	.recruit-symposium__img03,
	.recruit-symposium__img04 {
		margin-bottom: 55px;
	}
}
@media screen and (max-width:768px) {
	.recruit-symposium__dialog,
	.recruit-symposium__dialog.last {
		margin-bottom: 30px;
	}
	.recruit-symposium__ttl {
		margin-bottom: 30px;
		min-width: 100%;
		width: 100%;
		overflow: hidden;
	}	
	.recruit-symposium__ttl h1 {
		position: relative;
		justify-content: center;
		width: calc(100% - 50px);
		min-width: calc(100% - 50px);
		height: 70px;
		font-size: 1.8rem;
		background: linear-gradient(90deg, #005fb1 0%, #7f93d8 51.23%, #00d9d1 100%);
		border-radius: 5px;
		padding: 1em 1.5em;
		right: inherit;
		bottom: inherit;
		margin: -1em auto 0;
	}
	.recruit-symposium__ttl figure {
		width: calc(100% + 10px);
		margin-right: -10px;
	}
	.recruit-symposium__intro {
		font-size: 1.8rem;
		margin-bottom: 30px;
		line-height: 1.55;
	}
	.recruit-symposium__intro br.sp {
		display: inline-block;
	}
	.recruit-symposium__dialog li {
		font-size: 1.5rem;
	}	
	.recruit-symposium__dialog li span {
		width: 3.7em;
	}
	.recruit-symposium__dialog li p {
		width: calc(100% - 3.7em);
		padding-left: 0.6em;
	}	
}
@media screen and (max-width:768px) {
	.recruit-symposium__img01 {
		display: block;
		width: 100%;
	}
	.symposium-img01__main {
		border-radius: 0;
		width: 100%;
		margin-bottom: 10px;
	}	
	.symposium-img01__sub {
		flex-direction: row;
		gap: 10px;
		min-width: 0;;
	}	
	.symposium-img01__sub span {
		border-radius: 0;
		width: 100%;
	}
	.recruit-symposium__img02 {
		display: block;
		width: 100%;
	}
	.symposium-img02__main {
		flex: 1;
		border-radius: 0;
	}	
	.symposium-img02__sub {
		display: flex;
		flex: 1;
		border-radius: 0;
		margin-bottom: 10px;
	}	
	.recruit-symposium__img03 {
		display: block;
		width: 100%;
	}
	.symposium-img03__main {
		border-radius: 0;
		width: 100%;
	}	
	.symposium-img03__sub {
		flex-direction: row;
		gap: 10px;
		min-width: 0;
		margin-bottom: 10px;
	}	
	.symposium-img03__sub span {
		border-radius: 0;
		width: 100%;
	}
	.recruit-symposium__img04 {
		width: 100%;
		flex-wrap: wrap;
		padding: 0;
		gap: 10px;
	}
	.recruit-symposium__img04 figure {
		border-radius: 0;
		width: 48.5%;
	}
	.recruit-symposium__img04 figure:first-of-type {
		width: 100%;
	}
	.recruit-symposium__img05 figure {
		width: 100%;
		border-radius: 0;
	}	
	.recruit-symposium__img01,
	.recruit-symposium__img02,
	.recruit-symposium__img03,
	.recruit-symposium__img04 {
		margin-bottom: 30px;
	}
}

/* --- message 人を知る -先輩の声- ----------------- */
.recruit-voice__list,
.voice-list__block {
	width: 100%;
}
.voice-list__block:not(:last-of-type) {
	border-bottom: 1px solid #D8D8D8;
	padding-bottom: 80px;
	margin-bottom: 80px;
}
.voice-list__block a {
	position: relative;
	display: inline-block;
	width: 100%;
}
.voice-list__block section {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.voice-list__block section figure {
	position: relative;
	max-width: 530px;
	width: 45%;
	overflow: hidden;
	border-radius: 5px;
}
.voice-list__block section figure img {
	width: 100%;
	transition: all 0.2s ease;
}
.voice-list__block section figure figcaption {
	position: absolute;
	font-family: "Oswald", sans-serif;
	font-size: 2.7rem;
	font-weight: 500;
	line-height: 1;
	border-bottom: 1px solid #000;
	padding-bottom: 1em;
	left: 0.8em;
	top: 1em;
	z-index: 1;
	transition: all 0.2s ease;
}
.voice-list__block section div {
	position: relative;
	max-width: 600px;
	width: 50%;
}
.voice-list__block section div p {
	font-size: 4.2rem;
	line-height: 1.66;
	margin-bottom: 20px;
}
.voice-list__block section div dl dt {
	font-size: 3.5rem;
	font-weight: 700;
	line-height: 1;
	border-bottom: 1px solid #707070;
	width: 78%;
	padding-bottom: 0.7em;
	margin-bottom: 0.7em;
}
.voice-list__block section div dl dt span {
	color: #0B6DB3;
	font-size: 1.8rem;
	font-weight: 500;
	padding-right: 1em;
}
.voice-list__block section div dl dd {
	font-size: 1.8rem;
}
.voice-list__block p.read-more {
	position: absolute;
	bottom: 0;
	right: 0;
	align-items: flex-end;
}
.voice-list__block p.read-more  img {
	transition: all 0.2s ease
}
@media (hover: hover) {
	.voice-list__block a:hover figure img {
		opacity: 0.85;
		filter: brightness(106%);
		transform: scale(1.05);
	}
	.voice-list__block a:hover figure figcaption {
		color: #0B6DB3;
		border-bottom-color: #0B6DB3;
	}
	.voice-list__block a:hover p.read-more img {
		margin-right: -3px;
	}
}
@media screen and (max-width: 1280px) {
	.voice-list__block:not(:last-of-type) {
    padding-bottom: 65px;
    margin-bottom: 65px;
	}
	.voice-list__block section figure figcaption {
		font-size: 2.2rem;
	}
	.voice-list__block section div p {
		font-size: 3.4rem;
	}
	.voice-list__block section div dl dt {
    font-size: 2.2rem;
	}
	.voice-list__block section div dl dt span {
		font-size: 1.4rem;
	}
	.voice-list__block section div dl dd {
    font-size: 1.4rem;
	}
}
@media screen and (max-width:768px) {
	.recruit-message__list {
		margin-bottom: 20px;
	}
	.voice-list__block section {
		align-items: flex-start;
	}
	.voice-list__block section figure {
		max-width: 100%;
		width: 100%;
		aspect-ratio: 16 / 10;
		margin-bottom: 10px;
	}
	.voice-list__block section div {
		max-width: 100%;
		width: 100%;
	}
	.voice-list__block section div p {
		font-size: 1.8rem;
	}
	.voice-list__block section div dl dt {
		font-size: 2.4rem;
		width: 100%;
	}
	.voice-list__block section div dl dt span {
		font-size: 1.2rem;
	}
	.voice-list__block section div dl dd {
		font-size: 1.3rem;
	}
	.voice-list__block p.read-more {
		font-size: 1.3rem;
	}
	.voice-list__block p.read-more img {
		height: 13px;
	}
}

/* --- voice staff01～staff05 ----------------- */
body:has(#voice) .recruit-entry  {
	padding: 80px 0;
	margin-top: 0;
	background-color: #F4F4F4;
}	
main:has(#voice)  {
	margin-bottom: 0;
}
@media screen and (max-width:768px) {
	body:has(#voice) .recruit-entry  {
		padding: 50px 25px;
	}	
}
.internal-parent h2.voice {
	color: #000;
	font-size: 3.5rem;
	line-height: 1;
	font-weight: 400;
	margin-left: 1.5em;
}
@media screen and (max-width: 1280px) {
	.internal-parent span.voice {
		font-size: 2.1rem;
	}
}
@media screen and (max-width:768px) {
	.internal-parent h2.voice {
		font-size: 1.5rem;
	}
}
#voice {
	overflow: hidden;
}	
.voice-head {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 100px;
}
.voice-head__figure {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 87%;
	border-radius: 50px 0 0 50px;
	overflow: hidden;
	margin-left: 13%;
}
.voice-head__data {
	position: absolute;
	left: 0;
	width: 50%;
	height: 74%;
	max-height: 530px;
	border-radius: 0 50px 50px 0;
	background-color: #FAFAFA;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.voice-head__data div {
	width: 55%;
	max-width: 470px;
	margin-right: 8.5%;
}
.voice-head__data p {
	font-size: min(1.9vw, 3.5rem);
	line-height: 1.6;
	white-space: nowrap;
	margin-bottom: 1em;
}
.voice-head__data dt {
	font-size: min(1.9vw, 3.5rem);
	font-weight: 700;
	line-height: 1;
	border-bottom: 1px solid #707070;
	padding-bottom: 0.7em;
	margin-bottom: 0.7em;
}
.voice-head__data dt span {
	color: #0B6DB3;
	font-size: 1.8rem;
	font-weight: 500;
	padding-right: 1em;
}
.voice-head__data dd {
	font-size: min(1.3vw, 1.8rem);
}
.reverse .voice-head__data {
	left: inherit;
	right: 0;
	border-radius: 50px 0 0 50px;
	justify-content: flex-start;
}
.reverse .voice-head__data div {
	margin-right: 0;
	margin-left: 8.5%;
}
.reverse .voice-head__figure {
	border-radius: 0 50px 50px 0;
	margin-right: 13%;
	margin-left: 0;
}

@media screen and (max-width: 1280px) {
	.voice-head {
		margin-bottom: 80px;
	}
	.voice-head__figure {
		border-radius: 40px 0 0 40px;
	}
	.voice-head__data {
		border-radius: 0 40px 40px 0;
	}
	.reverse .voice-head__data {
		border-radius: 40px 0 0 40px;
	}
	.reverse .voice-head__figure {
		border-radius: 0 40px 40px 0;
	}
}
@media screen and (max-width:768px) {
	.voice-head {
		flex-wrap: wrap;
		border-top: 1px solid #D8D8D8;
		margin-bottom: 30px;
	}
	.voice-head__figure {
		width: 100%;
		border-radius: 0;
		margin-left: 0;
	}
	.voice-head__data {
		flex-wrap: wrap;
		position: relative;
		left: inherit;
		width: 100%;
		max-height: 100%;
		height: auto;
		border-radius: 0;
		background-color: transparent;
	}
	.voice-head__data div {
		width: 100%;
		max-width: 100%;
		padding: 35px 25px 30px;
		margin-right: 0;
	}
	.voice-head__data p {
		font-size: 1.8rem;
		white-space: normal;
	}
	.voice-head__data dl {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		border-top: 1px solid #707070;
		padding-top: 0.7em;
	}
	.voice-head__data dt {
		font-size: 2.4rem;
		line-height: 1;
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 0;
	}
	.voice-head__data dt span {
		font-size: 1.2rem;
	}
	.voice-head__data dd {
		font-size: 1.3rem;
	}
	.voice-head__data dd br {
		display: none;
	}
	.reverse .voice-head__data div {
		margin-left: 0;
	}
	.reverse .voice-head__figure {
		border-radius: 0;
		margin-right: 0;
	}
}
.voice-box__ttl {
	position: relative;
	color: #0075C2;
	font-size: 3.5rem;
	font-size: min(1.9vw, 3.5rem);
	line-height: 1.7;
	padding-left: 2em;
	margin-bottom: 1.9em;
}
.voice-box__ttl::before {
	position: absolute;
	content: "";
	color: #0075C2;
	width: 1em;
	height: 2px;
	background-color: #0075C2;
	left: 15px;
	top: 0.86em
}
.voice-box__text {
	max-width: 600px;
	width: 90%;
	font-size: 1.8rem;
	line-height: 2;
}	
.voice-box__text.right {
	margin-left: 10%;
}	
.voice-box__sec {
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto 120px;
}		
.voice-box__sec:last-of-type {
	margin-bottom: 60px;
}		
.voice-box__sec-column {
	width: 50%;
}
.voice-box__sec-column.left {
	flex: 1;
	width: 45%;
	margin-left: calc(55% - 55vw);
}
.voice-box__sec-column.right {
	flex: 1;
	width: 45%;
	margin-right: calc(55% - 55vw);
}
.voice-box__sec-column figure {
	position: relative;
	overflow: hidden;
	height: 630px;
	border-radius: 50px 0  0 50px; 
}
.voice-box__sec-column.left figure {
	border-radius: 0 50px 50px 0; 
}
.voice-box__sec-column figure img {
	width: 100%;

	height: 100%;
	object-fit: cover;
}
@media screen and (max-width: 1280px) {
	.voice-box__sec {
		max-width:calc(980px + 30px);
		padding: 0 15px;
	}		
	.voice-box__text {
		font-size: 1.5rem;
	}
	.voice-box__sec-column figure {
		height: 420px;
		border-radius: 40px 0 0 40px;
	}
	.voice-box__sec-column.left figure {
		border-radius: 0 40px 40px 0; 
	}
}
@media screen and (max-width:768px) {
	.voice-box__ttl {
    font-size: 1.8rem;
    padding-left: 3em;
		margin-bottom: 25px;
	}
	.voice-box__ttl::before {
    left: 25px;
	}
	.voice-box__sec {
		flex-wrap: wrap;
    max-width: 100%;
		margin-bottom: 45px;
		padding: 0;
	}
	.voice-box__sec-column {
    width: 100%;
	}
	.voice-box__text {
		width: 100%;
		font-size: 1.5rem;
		padding: 0 25px;
		margin: 0 auto 30px;
	}
	.voice-box__text.right {
		margin-left: 0;
	}
	.voice-box__sec-column.right {
		flex: none;
    width: calc(100% - 25px);
		margin-right: 0;
		margin-left: 25px;
	}
	.voice-box__sec-column.left {
		flex: none;
    width: calc(100% - 25px);
		margin-left: 0;
	}
	.voice-box__sec-column figure {
		height: 256px;
		border-radius: 40px 0 0 40px;
	}
	.voice-box__sec-column figure {
		height: 256px;
		border-radius: 25px 0 0 25px;
	}
	.voice-box__sec-column.left figure {
		border-radius: 0 25px 25px 0; 
	}
	.reverse .voice-box__sec-column.left {
		order: 2;
	}
	.reverse .voice-box__sec-column {
		order: 1;
	}
}
.voice-balloon__ttl {
	color: #fff;
	font-size: 1.7rem;
	font-weight: 700;
	width: 273px;
	height: 32px;
	background: url("../../recruit/images/recruit_voice_staff_balloon.svg") no-repeat left top;
	text-align: center;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	margin-left: -60px;
	padding-left: 3.2em;
}	
.voice-balloon {
	background-color: #4876C6;
}
.voice-balloon .warp {
	max-width: calc(1270px + 30px);
}
.voice-balloon__box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.voice-balloon__box figure {
	width: 600px;
}
.voice-balloon__box figure.staff01 {
	margin-top: -3em;
}
.voice-balloon__box figure.staff02 {
	margin-top: -2.7em;
}
.voice-balloon__box figure.staff03 {
	margin-top: -2.5em;
}
.voice-balloon__box figure.staff04 {
	margin-top: -2.7em;
}
.voice-balloon__box figure.staff05 {
	margin-top: -3em;
}
.voice-balloon__schedule {
	width: calc(100% - 550px);
	max-width: calc(100% - 550px + 70px);
	padding-left: 70px;
	border-left: 1px solid #fff;
	margin: 50px 0 50px 30px;
}
.voice-balloon__schedule > p {
	color: #fff;
	font-size: 2.1rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 35px;
}
.voice-balloon__schedule > p span {
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
}
.voice-balloon__schedule li {
	display: flex;
	border-bottom: 1px solid #C6D2E6;
	width: 100%;
	color: #C8D8F4;
	font-size: 1.6rem;
	line-height: 1.4;
	padding-bottom: 0.9em;
	margin-bottom: 0.9em;
}
.voice-balloon__schedule li span {
	color: #fff;
	width: 4em;
}
.voice-balloon__schedule li p {
	width: calc(100% - 4em);
}
@media screen and (max-width: 1280px) {
	.voice-balloon__ttl {
		margin-left: -30px;
	}	
	.voice-balloon__box figure {
		width: 40%;
	}
	.voice-balloon__box figure.staff01 {
		margin-top: -2.6vw;
		margin-left: 8vw;
	}
	.voice-balloon__box figure.staff02 {
		margin-top: -2.5vw;
		margin-left: 9vw;
	}
	.voice-balloon__box figure.staff03 {
		margin-top: -2.7vw;
		margin-left: 9vw;
	}
	.voice-balloon__box figure.staff04 {
		margin-top: -2.7vw;
		margin-left: 9vw;
	}
	.voice-balloon__box figure.staff05 {
		margin-top: -2.7em;
		margin-left: 8vw;
	}	
	.voice-balloon__schedule {
		width: 50%;
		margin: 50px 0;
		padding-left: 35px;
		border-left: 1px solid #fff;
	}
	.voice-balloon__schedule > p {
		font-size: 1.7rem;
		margin-bottom: 35px;
	}
	.voice-balloon__schedule > p span {
    font-size: 1.3rem;
	}
	.voice-balloon__schedule li {
    font-size: 1.3rem;
	}
}
@media screen and (max-width: 1100px) {
	.voice-balloon__box figure {
		min-width: 380px;
	}
	.voice-balloon__box figure.staff01 {
		margin-top: -3vw;
		margin-left: 4vw;
	}
	.voice-balloon__box figure.staff02 {
		margin-top: -4vw;
		margin-left: 5vw;
	}
	.voice-balloon__box figure.staff03 {
		margin-top: -1.7em;
		margin-left: 5vw;
	}
	.voice-balloon__box figure.staff04 {
		margin-top: -3.5vw;
		margin-left: 6vw;
	}
	.voice-balloon__box figure.staff05 {
		margin-top: -1.7em;
		margin-left: 4vw;
	}	
	.voice-balloon__schedule {
		width: calc(100% - 380px + 70px);
		max-width: 100%;
		margin: 3vw 0;
	}
}
@media screen and (max-width:768px) {
	.voice-balloon__ttl {
		font-size: 1.5rem;
		width: 200px;
		margin: 0 0 -1px -30px;
		background-position: -70px 0;
		justify-content: left;
		padding-left: 15px;
	}
	.voice-balloon__box {
		flex-wrap: wrap;
		width: 100%;
	}
	.voice-balloon__box figure {
		width: 100%;
		min-width: 100%;
	}
	.voice-balloon__box figure.staff01 ,
	.voice-balloon__box figure.staff02,
	.voice-balloon__box figure.staff03,
	.voice-balloon__box figure.staff04,
	.voice-balloon__box figure.staff05 {
		margin-top: -1em;
		margin-left: 0;
	}	
	.voice-balloon__schedule {
		width: 100%;
		margin: 10px 0 0;
		padding: 2em 0 0;
		border-left: none;
		border-top: 1px solid #fff;
	}	
	.voice-balloon__schedule > p {
		font-size: 1.8rem;
		margin-bottom: 25px;
	}
	.voice-balloon__schedule > p span {
		font-size: 1.1rem;
	}
	.voice-balloon__schedule ul {
		margin-bottom: 40px;
	}
	.voice-balloon__schedule li {
		font-size: 1.5rem;
		padding-bottom: 0.8em;
		margin-bottom: 0.8em;
	}
	.voice-balloon__schedule li span {
		padding-right: 2em;
	}
}
.voice-other {
	background-color: #CDE0ED;
	padding: 90px 0 40px;
}
.voice-other__ttl {
	color: #0075C2;
	font-size: 2.1rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}
.voice-other__ttl span {
	display: block;
	font-size: 1.5rem;
	font-weight: 500;
}

.voice-other__list {
	display: flex;
	align-items: center;
	justify-content: space-between;
}		
.voice-other__list li p {
	transition: all 0.2s ease;
}		
.voice-other__list li:not(.index) {
	width: 450px;
}		
.voice-other__list li:not(.index) div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 220px;
	border-radius: 30px;
	background-color: #fff;
	filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.16));
	transition: all 0.2s ease;
}		
.voice-other__list li:not(.index) figure {
	width: 230px;
	height: 220px;
	border-radius: 30px;
	overflow: hidden;
}		
.voice-other__list li:not(.index) a figure img {
	transition: all 0.2s ease;
}		
.voice-other__list li:not(.index) dl {
	width: 200px;
}		
.voice-other__list li:not(.index) dl dt {
	font-size: 2.1rem;
	font-weight: 700;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
	border-bottom: 1px solid #000;
}		
.voice-other__list li:not(.index) dl dt span {
	color: #0B6DB3;
	font-size: 1.3rem;
	font-weight: 500;
	padding-right: 1em;
}		
.voice-other__list li:not(.index) p {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 18px;
	line-height: 1;
	font-size: 1.5rem;
	font-weight: 500;
	color: #0075C2;
}		
.voice-other__list li.prev p img {
	margin-right: 10px;
}		
.voice-other__list li.next p img {
	margin-left: 10px;
}		
.voice-other__list li.index {
	width: 220px;
	height: 60px;
}	
.voice-other__list li.index a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	width: 100%;
	height: 100%;
	background-color: #0B6DB3;
	border: 1px solid #0B6DB3;
	border-radius: 60px;
	color: #fff;
	font-size: 2.1rem;
	transition: all 0.2s ease;
}	
.voice-other__list li.index a span {
	display: flex;
	justify-content: center;
	width: 100%;
	font-size: 1.6rem;
	text-align: center;
	margin-top: -10px;
}	
@media (hover: hover) {
	.voice-other__list li:not(.index) a:hover div {
		filter: none;
	}		
	.voice-other__list li:not(.index) a:hover figure img {
		opacity: 0.7;
		filter: brightness(106%);
		transform: scale(1.05);
	}		
	.voice-other__list li.prev a:hover p {
		color: #0075C2;
		margin-left: -4px;
	}		
	.voice-other__list li.next a:hover p {
		color: #0075C2;
		margin-right: -4px;
	}	
	.voice-other__list li.index a:hover {
		background-color: #fff;
		color: #0B6DB3;
	}	
}
@media screen and (max-width: 1280px) {
	.voice-other {
		padding: 75px 0 35px;
	}	
	.voice-other__list li:not(.index) {
		width: 337px;
	}
	.voice-other__list li:not(.index) div {
    height: 165px;
	}
	.voice-other__list li:not(.index) figure {
    width: 51%;
    height: 100%;
	}
	.voice-other__list li:not(.index) figure img {
		width: 100%;
    height: 100%;
    object-fit: cover;
	}
	.voice-other__list li:not(.index) dl {
    width: 45%;
	}
	.voice-other__list li:not(.index) dl dt {
    font-size: 1.5rem;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
	}
	.voice-other__list li:not(.index) dl dt span {
    font-size: 0.9rem;
	}
	.voice-other__list li:not(.index) dl dd {
    font-size: 1.1rem;
	}
	.voice-other__list li.index {
		width: calc(100% - (337px * 337px) - 3em);
		height: 60px;
	}	
	.voice-other__list li.index a {
		font-size: 1.7rem;
	}
	.voice-other__list li.index a span {
    font-size: 1.3rem;
    margin-top: -12px;
	}
}
@media screen and (max-width:768px) {
	.voice-other {
		padding: 50px 0;
	}	
	.voice-other__ttl {
    font-size: 1.8rem;
		margin-bottom: 25px;
	}
	.voice-other__ttl span {
    font-size: 1.1rem;
	}
	.voice-other__list {
		flex-wrap: wrap;
	}
	.voice-other__list li.prev {
		order: 1;
	}
	.voice-other__list li.next {
		order: 2;
	}
	.voice-other__list li.index {
		order: 3;
		width: 100%;
		height: 50px;
		margin-top: 30px;
	}
	.voice-other__list li.index a {
		font-size: 1.5rem;
	}
	.voice-other__list li.index a span {
		font-size: 1.3rem;
		margin: 0 0 0 1em;
		width: auto;
	}
	.voice-other__list li:not(.index) {
		width: 45%;
		height: 100%;
	}
	.voice-other__list li:not(.index) div {
		flex-wrap: wrap;
		align-items: flex-start;
    height: auto;
    border-radius: 15px;
		overflow: hidden;
	}
	.voice-other__list li:not(.index) figure {
		width: 100%;
		height: auto;
		border-radius: 15px 15px 0 0;
	}
	.voice-other__list li:not(.index) dl {
		width: calc(100% - 23px);
		margin: 8px auto 17px;
		height: auto;
	}
	.voice-other__list li:not(.index) dl dt {
		font-size: 1.8rem;
		padding-bottom: 0.3em;
		margin-bottom: 0.3em;
	}
	.voice-other__list li:not(.index) dl dt span {
		font-size: 1.2rem;
	}	
	.voice-other__list li:not(.index) dl dd {
		font-size: 1.3rem;
	}
	.voice-other__list li:not(.index) p {
		margin-top: 12px;
	}
}




/* ----------------------------------
news 企業情報
----------------------------------- */
/* --- 一覽 ----------------- */
.news-nav {
	margin-bottom: 35px;
}	
.news-nav__list {
	display: flex;
	align-items: center;
	overflow-x: auto;
}	
.news-nav__list li:not(:last-of-type) {
	margin-right: 43px;
}	
.news-nav__list li {
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 2px solid transparent;
	word-break: keep-all;
	transition: border 0.2s ease;
}
.news-nav__list li a {
	display: inline-block;
	width: 100%;
	height: 100%;
}	
@media (hover: hover) {
	.news-nav__list li:hover {
		border-bottom-color: #074538;
	}	
}
.news-nav__list li.current {
	border-bottom-color: #074538;
}	
@media screen and (max-width:768px) {
	.news-nav {
		width: calc(100% + 25px);
		overflow-x: auto;
		padding-bottom: 5px;
		margin-bottom: 15px;
	}	
	.news-nav__list {
		width: max-content;
		overflow-x: auto;
		padding-right: 25px;
	}	
	.news-nav__list li:not(:last-of-type) {
		margin-right: 2em;
	}
}
.news-box__list {
	display: block;
	width: 100%;
	border-top: 1px solid #BABABA;
}
.news-box__list li {
	display: flex;
	align-items: baseline;
	padding: 25px 20px;
	border-bottom: 1px solid #BABABA;
	line-height: 1.4;
}
.news-box__list li time {
	font-weight: 700;
	width: 7.1em;
}
.news-box__list li span {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #0075C2;
	color: #fff;
	font-size: clamp(1.0rem, calc(0.9rem + 0.625vw), 1.3rem);
	font-weight: 700;
	width: 128px;
	height: 26px;
	margin-right: 1.5em;
}
.news-box__list li p,
.news-box__list li a {
	position: relative;
	width: calc(100% - 7.1em - 128px - 1.5em);
	padding-right: 1em;
	transition: all 0.2s ease;
}
.news-box__list li a::after {
	position: absolute;
	content: "";
	top: 43%;
	right: 0;
	width: 7px;
	height: 7px;
	border-top: 1.6px solid #0B6DB3;
	border-right: 1.6px solid #0B6DB3;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: right 0.2s ease;
}
@media (hover: hover) {
	.news-box__list li a:hover {
		color: #0075C2;
		text-decoration: underline;
	}	
	.news-box__list li a:hover::after {
		right: -3px;
	}	
}
.news-box__list li a[target="_blank"] {
	background: url("../images/iocn_blank.svg") no-repeat right center;
}
.news-box__list li a[target="_blank"]::after {
	content: none;
}
.news-box__list li a.pdf img {
	width: 17px;
	margin-left: 7px;
}
.news-box__list li a[target="_blank"].pdf {
	background: none;
}
@media screen and (max-width:768px) {
	.news-box__list li {
		flex-wrap: wrap;
		padding: 1.5em 0;
		line-height: 1.4;
	}	
	.news-box__list li span {
		width: 120px;
		height: 23px;
		margin-right: 0;
	}
	.news-box__list li p,
	.news-box__list li a {
    width: 100%;
		margin-top: 10px;
	}
}
/* --- 詳細 ----------------- */
.news-detail__ttl {
	padding: 25px 50px 28px;
	border-bottom: 1px solid #ADADAD;
	border-top: 3px solid #0B6DB3;
}	
.news-detail__ttl h1 {
	font-size: 2.5rem;
	line-height: 1.6;
	margin-bottom: 30px;
}	
.news-detail__ttl div {
	display: flex;
	align-items: center;
}	
.news-detail__ttl div span {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #0075C2;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 700;
	width: 124px;
	height: 26px;
	margin-right: 1.5em;
}	
.news-detail__ttl div time {
	font-weight: 700;
	width: 7.1em;
}
.news-detail__body {
	font-size: 1.8rem;
	line-height: 1.66;
	padding: 0 50px;
	margin: 50px 0 80px;
}

.news-detail__body p {
	line-height: 2;
	margin-bottom: 60px;
}
.news-detail__body figure {
	text-align: center;
	margin-bottom: 60px;
}
.news-detail__body .mt-be-columns,
.news-detail__body .column02 {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.news-detail__body table {
	margin-bottom: 60px;
}
.news-detail__body table {
	width: 100%;
}
.news-detail__body table th,
.news-detail__body table td {
	text-align: center;
	font-weight: 400;
	padding: 1em;
	border: 1px solid #C7C7C7;
}
.news-detail__body table th:first-child,
.news-detail__body table td:first-child {
	border-left: none;
}
.news-detail__body table th:last-child,
.news-detail__body table td:last-child {
	border-right: none;
}
.news-detail__body table th {
	color: #0B6DB3;
	font-weight: 500;
	background-color: #ECF2F7;
}
[class^="news-detail__list0"] {
	margin-bottom: 60px;
	counter-reset: number 0;
}
[class^="news-detail__list0"] li {
	position: relative;
	margin-bottom: 20px;
	padding-left: 30px;
	line-height: 1.55;
}
[class^="news-detail__list0"] li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	display: inline-block;
	width: 21px;
	height: 21px;
}
.news-detail__list01 li {
	padding-left: 30px;
}
.news-detail__list01 li::before {
	border-radius: 100%;
	border: 5px solid #0B6DB3;
}
.news-detail__list02 li::before {
	counter-increment: number 1;
	content: counter(number, decimal) ".";
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	color: #0B6DB3;
	left: 6px;
	top: 1px;
}
.news-detail__list03 li::before {
	counter-increment: number 1;
	content: counter(number,lower-alpha) ".";
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	color: #0B6DB3;
	left: 6px;
	top: 0;
}
.news-detail__back {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 400px;
	height: 50px;
	margin: 0 auto;
	border: 1px solid #0075C2;
	border-radius: 50px;
	background-color: #0075C2;
	color: #fff;
	font-weight: 700;
	transition: all 0.2s ease;
}
.news-detail__back::after {
	position: absolute;
	content: "";
	top: 43%;
	right: 25px;
	width: 7px;
	height: 7px;
	border-top: 1.6px solid #fff;
	border-right: 1.6px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: right 0.2s ease;
}
@media (hover: hover) {
	.news-detail__back:hover  {
		background-color: #fff;
		color: #0075C2;
	}
	.news-detail__back:hover::after {
		right: 22px;
		border-top-color: #0075C2;
		border-right-color: #0075C2;
	}
}
@media screen and (max-width:768px) {
	.news-detail__ttl {
		padding: 15px 0 18px;
	}
	.news-detail__ttl h1 {
		font-size: 2.0rem;
		margin-bottom: 15px;
	}	
	.news-detail__body {
		font-size: 1.4rem;
		padding: 0;
		margin: 20px 0 40px;
	}
	.news-detail__body .mt-be-columns,
	.news-detail__body .column02 {
		flex-wrap: wrap;
	}	
	.news-detail__body p  {
		margin-bottom: 30px;
	}
	.news-detail__body figure {
		width: 100%;
		margin: 0 auto 30px;
	}
	.news-detail__body table {
		overflow-x: auto;
		margin-bottom: 30px;
	}
	.news-detail__body table {
		width: max-content;
	}
	[class^="news-detail__list0"] {
		margin-bottom: 30px;
	}
	[class^="news-detail__list0"] li {
    margin-bottom: 12px;
    padding-left: 1.5em;
	}
	[class^="news-detail__list0"] li::before {
    top: 4px;
    width: 17px;
    height: 17px;
	}
	.news-detail__list02 li::before {
    left: 2px;
    top: 0;
	}
	.news-detail__list03 li::before {
    left: 2px;
    top: -1px;
	}
	.news-detail__back {
		width: 100%;
		height: 50px;
	}
}
.news-box__pager {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}			
.news-box__pager a {
	position: relative;
	color: #0B6DB3;
	line-height: 1;
	font-weight: 700;
	margin: 50px 20px 0;
}			
.news-box__pager a::before {
	position: absolute;
	content: "";
	top: 3px;
	width: 10px;
	height: 10px;
	border-top: 1.6px solid #0B6DB3;
	border-right: 1.6px solid #0B6DB3;
	transition: all 0.2s ease;
}			
.news-box__pager a.prev::before {
	left: -1em;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}			
.news-box__pager a.next::before {
	right: -1em;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
@media (hover: hover) {	
	.news-box__pager a:hover {
		color: #0075C2;
	}
	.news-box__pager a.prev:hover::before {
		left: -1.2em;
	}			
	.news-box__pager a.next:hover::before {
		right: -1.2em;
	}
}
@media screen and (max-width:768px) {
	.news-box__pager {
		margin-top: 30px;
	}			
}

/* プライバシーポリシー 20260820追記 */
.sign {
  width: 100%;
  text-align: right;
  margin-top: -1em;
}
.bracket-list {
  display: inline-block;
  padding-left: 2.5em;
  text-indent: -3em;
}
.pdficon {
  margin-left: .5em;
}
@media screen and (max-width:768px) {
  .pdficon {
    width: 15px;
  }
}
.externallinksicon {
  margin-left: .5em;
  vertical-align: middle;
}
.internal-others ul.sublist {
  list-style-type: circle;
  margin: 1em 0 0;
}
.internal-ol-alpha {
  list-style-type: lower-alpha;
  margin: -3.5em 0 2em 4em;
  font-size: 1.8rem;
}
@media screen and (max-width:768px) {
  .internal-ol-alpha {
    margin: -1.5em 0 2em 2em;
    font-size: 1.5rem;
  }
}
.internal-ol-alpha li {
  margin-bottom: .5em;
}
.w100 {
  width: 100%;
}
.caution {
  font-size: 1.5rem;
}
.news-detail__body a {
  text-decoration: underline;
}
.news-detail__body a:hover {
  color: #0075C2;
}
