<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600;700;800');
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@600&amp;family=Poppins:wght@600;700&amp;display=swap');

:root {
	
	--mainColor: #0555ae;
	--mainColor-crr: #002f63;
	--mainPaleColor: #004b9f;
	
	--bgColor-light: #ecf2f9;
	--border: #d5dbe1 solid 1px;
	--fontColor: #111111;
	--fontColor-gray: #444;
	
	--pop: "Poppins", sans-serif;
	--jsot: "Jost", sans-serif;
	--times: "Times New Roman", Times, "serif";
	
	--width: 1180px;
	--letter: 0.05em;
	--fadeIn:  transform 0.8s cubic-bezier(.44,.04,.49,.8), opacity 0.8s cubic-bezier(.44,.04,.49,.8);
}

/*--------------------------------------------------
    reset
=================================================*/
html,  body,  div,  dl,  dt,  dd,  ul,  ol,  li,  h1,  h2,  h3,  h4,  h5,  p,  th,  td, header, footer, article, figure, figcaption, section, nav, a {
	margin:0;
	padding:0;
	word-wrap:break-word;
	overflow-wrap:break-word;
	box-sizing:border-box;
}
html{
	overflow-y:scroll;
	height:100%;
	font-feature-settings: "palt";
	scroll-behavior: smooth;
  letter-spacing: var(--letter);
}
body{
	height:100%;
	background: #FFF;
	color: var(--fontColor);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: inherit;
	font-weight: 400;
	line-height:150%;
	text-align: justify;
	margin:0;
}
table{
	border-collapse:collapse;
	border-spacing:0;
	border:0;
}
img {
	border:0;
	vertical-align: top;
	max-width: 100%;
	height: auto;
	aspect-ratio: attr(width) / attr(height);
}
strong,b{
	font-weight:bold;
	font-size:100%;
}
ol,  ul {
	list-style:none;
}
h1,  h2,  h3,  h4,  h5 {
	font-size:100%;
	font-weight: 400;
}
a {
	color:var(--fontColor);
	text-decoration:underline;
}
a:hover,
a:focus{
	text-decoration: none;
}
i{
	font-style: normal;
}

/*--------------------------------------------------
    resposive
=================================================*/

@media (min-width:768px){ /* for TABä»¥ä¸Š */
	html{
		scroll-padding-top: 140px;
	}
	body{
		width: 100%;
	}
	br.sp{
		display: none;
	}
}
@media (max-width:767px){ /* for SP */
	html{
		scroll-padding-top: 80px;
	}
	body{
		min-width: 320px;
	}
	br.pc{
		display: none;
	}
}

/*--------------------------------------------------
    font
=================================================*/

@media (min-width:1240px){ /* for PC */
	html{
		font-size: 100%;
	}
}
@media (min-width:768px) and (max-width:1239px){ /* for TABã®ã¿ */
	html{
		font-size: clamp(14px, 1.454545vw, 100%);
	}
}
@media (max-width:767px){ /* for SP */
	html{
		font-size: 3.6vw;
	}
}

/*--------------------------------------------------
    style
=================================================*/

/* å…±é€š */
.h2_caption{
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 1em;
	font-size: 1rem;
	font-weight: bold;
	letter-spacing: var(--letter);
	position: relative;
}
.h2_caption[lang="en"]{
	font-family: var(--jsot);
	font-weight: 600;
}
.h2_caption::before{
	/*6px 6px*/
	content: "";
	display: block;
	width: 0.4em;
	height: 0.4em;
	margin-bottom: 1.2em;
	background: var(--mainColor);
	position: absolute;
	top: 0.5em;
	left: 0;
}
.h2_caption.dark::before{
	background: #FFF;
}
.h2_caption.light::before{
	background: var(--mainColor);
}
.h2_title{
	display: block;
	font-weight: 700;
	font-size: 2.625rem;
	line-height: 1.2;
}
.fadeInKey:not(.animated){
	opacity: 0;
	transform: translateY(2rem);
}
body.sub .fadeInKey:not(.animated){
	transform: translateY(0.5rem);
}
.fadeInKey.animated{
	opacity: 1;
	transform: translateY(0);
	transition: var(--fadeIn);
}
.blankIcon::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 9px;
  background: url(/common/images/blank_dark.svg) no-repeat center center / 12px 9px;
  margin: 0 0.3em;
}
@media (min-width:1240px){ /* for PC */
}
@media (min-width:768px) and (max-width:1239px){ /* for TABã®ã¿ */
}
@media (max-width:1239px){ /* for TABã¨SP */
}
@media (max-width:767px){ /* for SP */
	.h2_caption{
		font-size: 1.0625rem;
		padding-left: 1.2em;
	}
	.h2_caption::before{
		width: 0.55em;
		height: 0.55em;
		margin-bottom: 1.2em;
		top: 0.4em;
	}
	.h2_title{
		font-size: 2.0625rem;
	}
	.fadeInKey:not(.animated){
		opacity: 0;
		transform: translateY(1rem);
	}
	body.sub .fadeInKey:not(.animated){
		transform: translateY(0.5rem);
	}
}

/* header */
header{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 0 30px;
	background: rgba(255,255,255,1);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 50;
}
#logo{
	display: block;
	width: 100%;
	max-width: 285px;
}
header nav ul{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 2.8em;
}
header nav a{
	display: inline-block;
	text-decoration: none;
	position: relative;
}
header nav li a{
	transition: color 0.3s ease;
}
header nav li a:hover,
header nav li a:focus{
	color: var(--mainColor);
	transition: color 0.3s ease;
}
header nav li a::before{
	content: "";
	display: block;
	width: 0%;
	height: 1px;
	background: var(--mainColor);
	position: absolute;
	left: 0;
	bottom: -0.4em;
	transition: width 0.3s ease;
}
header nav li a:hover::before,
header nav li a:focus::before{
	width: 100%;
	transition: width 0.3s ease;
}
header nav li.crr a{
	color: var(--mainColor);
	cursor: default;
}
header nav li.crr a::before{
	content: "";
	width: 100%;
}

@media (min-width:768px){ 
	
	/* for TABä»¥ä¸Šã®å¹…ã®æ™‚ã¯ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ä»˜ä¸Ž */
	header{
		height: 6em;
		transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	}
	/*header.header-scrolled{
		height: 4.2em;
		transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	}*/
	#logo{
		transition: max-width 0.3s cubic-bezier(0.4, 0, 0.2, 1);	
	}
	/*header.header-scrolled #logo{
		max-width: 220px;
		transition: max-width 0.3s cubic-bezier(0.4, 0, 0.2, 1);	
	}*/
	#spNavKey{
		display: none;
	}
}
@media (min-width:1240px){ /* for PC */
}
@media (min-width:768px) and (max-width:1239px){ /* for TABã®ã¿ */
	header{
		padding-left: 2vw;
		padding-right: 2vw;
	}
	#logo{
		max-width: 22vw;
	}
	header.header-scrolled #logo{
		max-width: 20vw;
	}
	#spNavKey{
		display: none;
	}
	header nav{
		width: 100%;
		max-width: 68vw;
		padding: 12px 0 12px 0.5em;
	}
	header nav ul{
		padding-left: 0;
		padding-right: 0;
		justify-content: space-around;
		gap: 0;
	}
}
@media (max-width:1239px){ /* for TABã¨SP */
}
@media (max-width:767px){ /* for SP */
	
	header{
		padding: 0 3vw;
		background: #FFF;
		z-index: 50;
		transition: none;
	}
	#logo{
		max-width: 49vw;
		padding-top: 5vw;
		padding-bottom: 5vw;
		transition: none;	
	}
	#spNavKey{
		-webkit-appearance:none;
		-moz-appearance:none;
		appearance:none;
		display: block;
		width: 11vw;
		height: 12vw;
		background: none;
		border: none;
		border-radius: 0;
		font-size: 0.8125rem;
		letter-spacing: 0.03em;
		color: #333;
		position: fixed;
		top: .3.5vw;
		right: 3vw;
		box-sizing: border-box;
		z-index: 55;
	}
	#spNavKey .line{
		display: block;
		width: 10vw;
		height: 3px;
		border-radius: 20px;
	}
	#spNavKey #spNavKeyTxt{
		width: 100%;
		text-align: center;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	header:not(.openNav) #spNavKey .line{
		background: var(--mainColor);
		position: absolute;
		left: 0;
	}
	header:not(.openNav) #spNavKey .line:nth-child(1){
		top: 1vw;
	}
	header:not(.openNav) #spNavKey .line:nth-child(2){
		top: 3.5vw;
	}
	header:not(.openNav) #spNavKey .line:nth-child(3){
		top: 6vw;
	}
	header:not(.openNav) #spNavKey #spNavKeyTxt{
		font-family: var(--jsot);
	}
	header.openNav #spNavKey{
		color: #FFF;
	}
	header.openNav #spNavKey .line{
		width: 8vw;
		background: #FFF;
		position: absolute;
		top: 3vw;
		left: 1.5vw;
	}
	header.openNav #spNavKey .line:nth-child(1){
		transform: rotate(45deg);
	}
	header.openNav #spNavKey .line:nth-child(2){
		transform: rotate(-45deg);
	}
	header.openNav #spNavKey .line:nth-child(3){
		display: none;
	}
	header.openNav #spNavKey #spNavKeyTxt{
		font-family: inherit;
		color: #FFF;
	}
	header nav{
		display: block;
		width: 100vw;
		height: 100dvh;
		background: var(--mainColor);
		padding: 22vw 0 25vw 0;
		position: fixed;
		top: 0;
		left: 0;
		transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	}
	header:not(.openNav) nav{
		opacity: 0;
		pointer-events: none;
	}
	header nav ul{
		flex-flow: column wrap;
		justify-content: flex-start;
		align-items: flex-start;
		width: 100%;
		height: 100%;
    gap: 0;
	}
	header nav ul li{
		display: block;
		font-size: 1.125rem;
    border-bottom: rgba(255,255,255,0.2) solid 1px;;
		width: 100%;
	}
	header nav li{
		opacity: 0;
		transform: translateX(-3vw);
	}
  header nav li a{
    padding: 1.5em 2em;
    display: block;
  }
  header nav li.crr a{
    color: #fff;
    background: var(--mainColor-crr);
  }
  header nav li a::before{
		display: none;
	}
	header.openNav nav li:nth-child(1){
		animation: menuSlideIn .3s .15s forwards ease;
	}
	header.openNav nav li:nth-child(2){
		animation: menuSlideIn .3s .2s forwards ease;
	}
	header.openNav nav li:nth-child(3){
		animation: menuSlideIn .3s .25s forwards ease;
	}
	header.openNav nav li:nth-child(4){
		animation: menuSlideIn .3s .3s forwards ease;
	}
	header.openNav nav li:nth-child(5){
		animation: menuSlideIn .3s .35s forwards ease;
	}
	header.openNav nav li:nth-child(6){
		animation: menuSlideIn .3s .4s forwards ease;
	}
	header nav li a{
		color: #FFF;
	}
	header nav li a:hover,
	header nav li a:focus{
		color: #FFF;
	}
	
	
}
@keyframes menuSlideIn {
	0% {
		opacity: 0;
		transform: translateX(-3vw);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}


/* main
======================*/
main a:not(.btn){
	text-decoration: none;
	color: var(--mainColor);
	position: relative;
	transition: color 0.3s ease;
}
main a:not(.btn):hover,
main a:not(.btn):focus{
	color: var(--mainColor-crr);
	transition: color 0.3s ease;
}
main a:not(.btn)::before{
	content: "";
	display: block;
	width: 0%;
	height: 1px;
	background: var(--mainColor-crr);
	position: absolute;
	left: 0;
	bottom: -0.15em;
}
main a:not(.btn):hover::before,
main a:not(.btn):focus::before{
	width: 100%;
	transition: width 0.3s ease;
}
aside a{
	text-decoration: none;
	color: var(--fontColor);
	position: relative;
	transition: color 0.3s ease;
  letter-spacing: 0;
}
aside a:hover,
aside a:focus{
	color: var(--mainColor);
	transition: color 0.3s ease;
}
aside a::before{
	content: "";
	display: block;
	width: 0%;
	height: 1px;
	background: var(--mainColor);
	position: absolute;
	left: 0;
	bottom: -0.15em;
}
aside a:hover::before,
aside a:focus::before{
	width: 100%;
	transition: width 0.3s ease;
}
aside li a.crr{
	color: var(--mainColor);
	pointer-events: none;
	cursor: default;
  font-weight: 600;
}


/* contact
======================*/
#contact{
	display: block;
	width: 100%;
	height: 320px;
	color: #FFF;
	background: url("/common/images/contact_bg.jpg") var(--mainPaleColor) no-repeat center top / auto 100%;
}
.contactInner{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	width: 100%;
	height: 100%;
	padding-top: 30px;
	padding-bottom: 30px;
	margin: 0 auto;
	max-width: var(--width);
}
.contactInner .textWrap{
	text-align: justify;
	font-size: 1rem;
	padding-left: 50px;
	padding-bottom: 20px;
}
.contactInner .contactLead{
	line-height: 2;
	margin-top: 1em;
}
.contactInner .btnWrap{
	display: flex;
	flex-flow: column wrap;
	gap: 16px;
	width: 100%;
	max-width: 380px;
}
.contactInner .contactBtn,
.contactInner .telBtn{
	width: 100%;
	min-height: 80px;
	padding-left: 25px;
	padding-right: 25px;
	letter-spacing: 0.03em;
	text-decoration: none;
}
.contactInner .contactBtn{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: 1.25em;
	background: #FFF;
	transition: color 0.3s ease, background-color 0.3s ease;
}
.contactInner .contactBtn:hover,
.contactInner .contactBtn:focus{
	color: #FFF;
	background-color: var(--mainColor-crr);
	transition: color 0.3s ease, background-color 0.3s ease;
}
.contactInner .contactBtn i{
	display: grid;
	place-content: center;
	width: 2em;
	aspect-ratio: 1/1;
	background: var(--mainColor);
}
.contactInner .contactBtn i img{
	width: 1em;
}
.contactInner .contactBtn span{
	font-size: 1.125rem;
}
.contactInner .contactBtn svg{
	width: 0.75em;
	height: 0.875em;
	margin-left: auto;
	color: var(--mainColor);
	fill: currentColor;
}
.contactInner .telBtn{
	display: grid;
	grid-template-columns: 2em 1fr;
	grid-template-rows: 1.5625rem auto;
	gap: 5px 1.25em;
	align-content: center;
	color: #FFF;
	background: #1167bb;
	transition: background-color 0.3s ease;
}
.contactInner .telBtn:hover,
.contactInner .telBtn:focus{
	background-color: var(--mainColor-crr);
	transition: background-color 0.3s ease;
}
.contactInner .telBtn i{
	grid-column: 1;
	grid-row: 1/3;
	align-self: center;
	justify-self: center;
	display: grid;
	place-content: center;
	width: 2em;
	aspect-ratio: 1/1;
	background: #FFF;
}
.contactInner .telBtn i img{
	display: block;
	width: 1.25em;
	aspect-ratio: 1/1;
}
.contactInner .telBtn span{
	font-weight: 700;
	font-size: 1.5625rem;
	line-height: 1;
	white-space: nowrap;
}
.contactInner .telBtn small{
	font-size: 0.8125rem;
	line-height: 1;
}
@media (min-width:1240px){ /* for PC */
	
	
}
@media (min-width:768px) and (max-width:1239px){ /* for TABã®ã¿ */
	
	#contact{
		padding-left: 3vw;
		padding-right: 3vw;
	}
	.contactInner .btnWrap{
		max-width: clamp(330px, 35vw, 380px);
	}
	
}
@media (max-width:1239px){ /* for TABã¨SP */
}
@media (max-width:767px){ /* for SP */
	
	#contact{
		height: auto;
		padding-left: 8vw;
		padding-right: 8vw;
		background-image: url("/common/images/contact_bg_sp.jpg");
		background-size: cover;
	}
	.contactInner{
		flex-flow: column wrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 2em;
		padding-top: 4.5em;
		padding-bottom: 5em;
	}
	.contactInner .textWrap{
		padding-left: 0;
		padding-bottom: 0;
	}
	.contactInner .contactLead{
		line-height: 1.5;
		margin-top: 1.4em;
		letter-spacing: var(--letter);
	}
	.contactInner .btnWrap{
		gap: 0.7em;
	}
	.contactInner .contactBtn,
	.contactInner .telBtn{
		min-height: 16vw;
		padding-left: 5vw;
		padding-right: 5vw;
	}
	.contactInner .contactBtn{
		gap: 1em;
	}
	.contactInner .contactBtn i{
		width: 2.3em;
	}
	.contactInner .contactBtn i img{
		width: 1.5em;
	}
	.contactInner .contactBtn span{
		font-size: 1.1875rem;
	}
	.contactInner .telBtn{
		grid-template-columns: 2.3em 1fr;
		grid-template-rows: 1.25rem auto;
		gap: 5px 1em;
	}
	.contactInner .telBtn i{
		width: 2.3em;
	}
	.contactInner .telBtn i img{
		width: 1.6em;
	}
	.contactInner .telBtn span{
		font-size: 1.25rem;
	}
	
}


/* footer */
footer{
	display: block;
	width: 100%;
	background: var(--bgColor-light);
}
footer .flexCont{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	max-width: var(--width);
	margin: 0 auto;
	padding-top: 78px;
	padding-bottom: 98px;
}
footer .logo{
	width: 100%;
	max-width: 245px;
	margin-bottom: 16px;
}
footer .logo a{
	display: block;
	transition: opacity 0.3s ease;
}
footer .logo a:hover,
footer .logo a:focus{
	opacity: 0.65;
	transition: opacity 0.3s ease;
}
footer .address{
	font-size: 0.875rem;
	line-height: 1.6;
}
footer .address span{
	display: block;
}
footer .otherSites{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
footer .otherSites li a{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  text-decoration: none;
  padding: 0.5em 1.8em 0.5em 1em;
  min-height: 50px;
  position: relative;
  background: #fff;
}
footer .otherSites li a[target="_blank"]::after{
	content: "";
	display: inline-block;
	width: 12px;
	height: 9px;
	background: url("/common/images/blank.svg") no-repeat center center / 12px 9px;
	position: absolute;
	top: 0;
  bottom: 0;
  right: 0.6em;
  margin: auto 0;
}
footer .otherSites li.kajima img{
  width: 75px;
}
footer .otherSites li.kajima-pr img{
  width: 184px;
}
#footMenu{
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 2rem;
}
#footMenu li{
	padding-left: 1.2em;
	font-size: 1rem;
	letter-spacing: var(--letter);
	position: relative;
}
#footMenu li:not(.mini):not(:first-child){
	margin-top: 1.2em;
}
#footMenu li small{
	font-size: 0.875rem;
}
#footMenu li a{
	display: inline-block;
	text-decoration: none;
	position: relative;
}
#footMenu li:not(.mini)::before{
	content: "";
	display: block;
	width: 0.4em;
	height: 0.4em;
	border-radius: 50%;
	background: var(--mainColor);
	position: absolute;
	top: 0.55em;
	left: 0;
}
#footMenu li.mini{
	margin-top: 0.8em;
	padding-left: 1.5em;
	font-size: 0.8125rem;
	line-height: 1.4;
}
#footMenu li.mini::before{
	content: "";
	display: block;
	width: 0.8em;
	height: 1px;
	background: var(--mainColor);
	position: absolute;
	top: 0.75em;
	left: 0;
}
#footMenu li a{
	transition: color 0.3s ease;
}
#footMenu li a:hover,
#footMenu li a:focus{
	color: var(--mainColor);
	transition: color 0.3s ease;
}
#footMenu li a::before{
	content: "";
	display: block;
	width: 0%;
	height: 1px;
	background: var(--mainColor);
	position: absolute;
	left: 0;
	bottom: -0.2em;
	transition: width 0.3s ease;
}
#footMenu li a:hover::before,
#footMenu li a:focus::before{
	width: 100%;
	transition: width 0.3s ease;
}
#footMenu li a[target="_blank"]{
	padding-right: 1.5em;
}
#footMenu li a[target="_blank"]::after{
	content: "";
	display: inline-block;
	width: 12px;
	height: 9px;
	background: url("/common/images/blank.svg") no-repeat center center / 12px 9px;
	position: absolute;
	top: 0.5em;
	right: 0;
}
#copyright{
	display: block;
	width: 100%;
	padding: 30px 0 42px 0;
	font-size: 0.875rem;
	color: #1b1c1c;
	line-height: 1;
	text-align: center;
}
@media (min-width:1240px){ /* for PC */
	#footMenu{
    max-width: calc(100% - 420px);
  }
  footer .logoLine {
    width: 420px;
  }
  footer .otherSites {
    gap: 5px;
    margin-top: 53px;
  }
  footer .otherSites li {
    width: 195px;
  }
  footer .otherSites li a {
     transition: all 0.3s ease;
  }
  footer .otherSites li a:hover{
    opacity: 0.7;
  }
}
@media (min-width:768px) and (max-width:1239px){ /* for TABã®ã¿ */

	footer .flexCont{
		gap: 2vw;
		padding-left: 5vw;
		padding-right: 5vw;
	}
	footer .logo{
		max-width: 22vw;
		margin-bottom: 2vw;
	}
	#footMenu{
		width: 65vw;
	}
	#footMenu li br{
		display: none;
	}
  footer .logoLine {
    width: 100%;
  }
  footer .otherSites {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1em;
    max-width: 100%;
    margin-bottom: 1em;
    margin-top: 1em;
  }
  footer .otherSites li {
    min-width: 30%;
    max-width: calc((100% - 1em) / 2);
  }
  footer .otherSites li + li{
    margin-top: 0;
  }
}
@media (max-width:1239px){ /* for TABã¨SP */
	
	#footMenu{
		display: grid;
		grid-template-columns: repeat(2,1fr);
		gap: 1.5em 1em;
	}
}
@media (max-width:767px){ /* for SP */
	
	footer .flexCont{
		display: flex;
		flex-flow: column nowrap;
		justify-content: flex-start;
		align-items: center;
		gap: 2em;
		padding: 4em 5vw;
	}
	footer .logo{
		max-width: 70vw;
		margin: 0 auto 5vw auto;
	}
	footer .address{
		display: flex;
		flex-flow: row wrap;
		justify-content: center;
		align-items: flex-start;
		gap: 1em;
		font-size: 1rem;
		line-height: 1.3;
	}
  footer .otherSites {
    max-width: 100%;
    margin-top: 2em;
  }
  footer .otherSites li {
    width: 100%;
  }
  footer .otherSites li + li{
    margin-top: 0.5em
  }
  footer .otherSites li a {
    min-height: 13vw;
    justify-content: center;
    padding: 0.5em 2em;
  }
  footer .otherSites li.kajima img{
    width: 20vw;
  }
  footer .otherSites li.kajima-pr img{
    width: 50vw;
  }
	#footMenu{
		width: 100%;
	}
	#footMenu li{
		font-size: 0.9375rem;
	}
	#footMenu li:not(.mini):not(:first-child){
		margin-top: 1em;
	}
	#footMenu li.mini{
		margin-top: 0.6em;
		font-size: 0.8125rem;
	}
	#copyright{
		padding: 2em 0 3em 0;
		font-size: 0.8125rem;
		line-height: 1.3;
	}
	
}


/* subãƒšãƒ¼ã‚¸å…±é€š */
#sub_mainVisual{
	display: block;
	margin-top: 6em;
	margin-bottom: 5em;
  position: relative;
}
#sub_mainVisual::before{
  content: '';
  background: rgba(0,0,0,0.2);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#sub_mainVisual .visualInner{
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: flex-start;
	gap: 1.2em;
	color: #FFF;
	width: 100%;
	max-width: var(--width);
	min-height: 16em;
	margin: 0 auto;
	padding-bottom: 0.5em;
}
#sub_mainVisual span[lang="en"]{
	padding-left: 1em;
	font-family: var(--jsot);
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: var(--letter);
	position: relative;
  z-index: 30;
}
#sub_mainVisual span[lang="en"]::before{
	content: "";
	display: block;
  width: 0.4em;
  height: 0.4em;
  margin-bottom: 1.2em;
  background: #FFF;
  position: absolute;
  top: 0.35em;
  left: 0;	
}
#sub_mainVisual h1{
	font-size: 2.625rem	;
	font-weight: bold;
  position: relative;
  z-index: 30;
  letter-spacing: 0.1em;
}
#subContentsWrap{
	display: grid;
	grid-template-columns: 15em 1fr;
	gap: 1.5em;
	width: 100%;
	max-width: var(--width);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 2em;
}
#subContentsWrap main p{
  overflow-wrap: anywhere; /* åŽã¾ã‚‰ãªã„å&nbsp;´åˆã«æŠ˜ã‚Šè¿”ã™ */
  word-break: normal; /* å˜èªžã®åˆ†å‰²ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã«ä¾å­˜ */
  line-break: strict; /* ç¦å‰‡å‡¦ç†ã‚’åŽ³æ&nbsp;¼ã«é©ç”¨ */
}
aside li{
	display: block;
	width: 100%;
	padding-left: 1em;
	position: relative;
}
aside li.mini{
	font-size: 0.875rem;
	margin-left: 1em;
}
aside li:not(:last-child){
	margin-bottom: 0.6em;
}
aside li:not(.mini)::before{
	content: "";
	display: block;
  width: 0.4em;
  height: 0.4em;
  background: var(--mainColor);
  position: absolute;
  top: 0.9em;
  left: 0;
}
aside li.mini::before{
	content: "";
	display: block;
  width: 0.6em;
  height: 1px;
  background: var(--mainColor);
  position: absolute;
  top: 1.15em;
  left: 0;
}
aside li.mini02{
  margin-top: 0.7em;
	padding-left: 1em;
	font-size: 0.875rem;
	line-height: 1.4;
  margin-left: 1em;
}
aside li.mini02::before{
  content: "";
	display: block;
  width: 0.3em;
  height: 0.3em;
  background: var(--mainColor);
  position: absolute;
  top: 0.7em;
  left: 0;
}
aside li a{
	display: inline-block;
	padding: 0.2em 0;
}
.subContentBox{
	display: block;
	width: 100%;
	max-width: var(--width);
	margin-left: auto;
	margin-right: auto;
}
.subContentBox:not(:first-child){
	margin-top: 6em;
}
.subContentBox p{
  line-height: 2;
}
#pankuzu{
	grid-column: 1/3;
	grid-row: 2;
	display: block;
	width: 100%;
	max-width: var(--width);
	margin: 10em auto 0 auto;
	font-size: 0.75rem;
	color: #707070;
	line-height: 1;
}
#pankuzu ul{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5em 1em;
}
#pankuzu li:not(:last-child)::after{
	content: "&gt;";
	margin-left: 1em;
}
#pankuzu a{
	color: #707070;
}
#pankuzu a:hover,
#pankuzu a:focus{
	color: var(--mainColor);
	transition: color 0.3s ease;
}
.subContetTitle {
  font-size: 2.25rem;
  border-top: var(--bgColor-light) solid 3px;
  padding-top: 0.9em;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1.5em;
  letter-spacing: 0.1em;
  position: relative;
}
.subContetTitle::before {
  content: '';
  background: var(--mainColor) ;
  width: 10em;
  height: 3px;
  position: absolute;
  top: -2px;
  left: 0;
}
.fstLead {
  font-weight: 600;
  font-size: 2.25rem;
  margin-bottom: 0.8em;
  marin-top: 0.2em;
  line-height: 1.2;
  position: relative;
  padding-left: 1em;
}
.fstLead span{
  display: inline-block;
}
.fstLead::before,
.fstLead::after{
  content: '';
  display: inline-block;
  width: 0.2em;
  height: 50%;
  position: absolute;
  left: 0;
}
.fstLead::before {
  top: 0.1em;
  background: var(--mainColor);
}
.fstLead::after {
  top: 50%;
  background:#343637;
}
.sub_bigTitle{
	display: block;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.2;
	padding-bottom: 0.8em;
	margin-bottom: 1.2em;
  letter-spacing: var(--letter);
	position: relative;
}
.sub_bigTitle::before{
	content: "";
	display: block;
	width: 1.3em;
	height: 3px;
	background: linear-gradient(140deg, rgba(5,85,174,1) 0%, rgba(9,172,208,1) 100%);
	position: absolute;
	left: 0;
	bottom: 0;
}
.sub_lineTitle {
  font-size: 1.375rem;
  font-weight: 600;
  margin-top: 2.5em;
  margin-bottom: 1em;
  padding-bottom: 0.75em;
  line-height: 1.6;
  color: var(--mainColor);
  border-bottom: var(--mainColor) solid 1px;
  letter-spacing: var(--letter);
}
.sub_colorTitle {
  color: var(--mainColor);
  font-size: 1.25rem;
  font-weight: 600;
  margin-top: 2em;
  margin-bottom: 0.8em;
  letter-spacing: var(--letter);
}
.pointList li:not(:last-child){
	margin-bottom: 0.3em;
}
.pointList li{
	line-height: 1.6;
	padding-left: 1em;
	position: relative;
}
.pointList li::before{
	content: "";
	display: block;
  width: 0.3em;
  height: 0.3em;
  border-radius: 50%;
  background: #999;
  position: absolute;
  top: 0.6em;
  left: 0;
}
.pointList a[target="_blank"]:not([href$=".pdf"])::after{
	content: "";
	display: inline-block;
	width: 12px;
	height: 9px;
	background: url("/common/images/blank_dark.svg") no-repeat center center / 12px 9px;
	margin-left: 0.5em;
}
.pdfList li:not(:last-child){
	margin-bottom: 0.3em;
}
.pdfList li{
	line-height: 1.5;
	padding-left: 1.8em;
	position: relative;
}
.pdfList li::after{
	content: "";
	display: block;
  width: 1.2em;
  height: 1.2em;
  background: url("/common/images/icon_pdf.png") no-repeat center center / contain;
  position: absolute;
  top: 0.2em;
  left: 0;
}
.numberList{
	margin-top: 1.5em;
	margin-bottom: 2em;
	counter-reset: number 0;
}
.numberList li:not(:last-child){
	margin-bottom: 0.5em;
}
.numberList li{
  counter-increment: number 1;
	line-height: 1.5;
	position: relative;
  padding-left: 2.5em;
}
.numberList li::before{
  content: counter(number) ". ";
  position: absolute;
  left: 0;
  top: 0;
  text-align: right;
  width: 2em;
}
.numberList li::after{
	content: "";
}
.numberList a{
	text-decoration: none;
	color: var(--mainColor);
	position: relative;
}
.numberList a:hover,
.numberList a:focus{
	color: var(--mainColor-crr);
	transition: color 0.3s ease;
}
.numberList a::after{
	content: "";
	display: block;
	width: 0%;
	height: 1px;
	background: var(--mainColor-crr);
	position: absolute;
	left: 0;
	bottom: -0.15em;
}
@media (min-width:1240px){ /* for PC */
}
@media (min-width:768px) and (max-width:1239px){ /* for TABã®ã¿ */
	#sub_mainVisual .visualInner{
		padding-left: 2vw;
		padding-right: 2vw;
	}
  .fstLead {
    font-size: 2rem;
  }
	.subContentBox{
		padding-left: 2vw;
		padding-right: 2vw;
	}
	#subContentsWrap{
		grid-template-columns: 10em 1fr;
		gap: 1.5em;
		padding-left: 2vw;
		padding-right: 2vw;
	}
	#pankuzu{
		padding-left: 2vw;
		padding-right: 2vw;
	}
	
}
@media (max-width:1239px){ /* for TABã¨SP */
}
@media (max-width:767px){ /* for SP */
	
	#sub_mainVisual{
		margin-top: 5.2em;
		margin-bottom: 1.8em;
	}
	#sub_mainVisual .visualInner{
		gap: 0.5em;
		min-height: 11em;
		padding-left: 5vw;
		padding-right: 5vw;
	}
	#sub_mainVisual h1{
		font-size: 1.875rem	;
    line-height: 1.3;
    letter-spacing: 0.01em;
	}
	#subContentsWrap{
		grid-template-columns: 1fr;
		gap: 0;
		padding-left: 5vw;
		padding-right: 5vw;
	}
	aside{
		grid-column: 1;
		grid-row: 1;
		padding: 1.5em;
		background: var(--bgColor-light);
		margin-bottom: 3em;
	}
	aside li{
		padding-left: 0.8em;
	}
	aside li.mini{
		display: none;
	}
	aside li:not(:last-child){
		margin-bottom: 0.5em;
	}
	aside li:not(.mini)::before{
		width: 0.35em;
		height: 0.35em;
		top: 0.85em;
	}
  aside li.mini02::before{
    width: 0.25em;
		height: 0.25em;
		top: 0.7em;
  }
	aside li a{
		padding: 0.2em 0;
	}
	main{
		grid-column: 1;
		grid-row: 2;
	}
  .subContetTitle::before {
    width: 5em;
  }
  .subContetTitle {
    font-size: 1.875rem;
    letter-spacing: var(--letter);
    margin-bottom: 1em;
  }
  .fstLead {
    font-size: 1.8rem;
  }
	.sub_bigTitle{
		font-size: 1.75rem;
		padding-bottom: 0.7em;
		margin-bottom: 1.5em;
	}
	.sub_bigTitle::before{
		width: 1.5em;
		height: 4px;
	}
	#pankuzu{
		grid-column: 1;
		grid-row: 3;
	}
}
.to-topBtnArea{
  text-align: right;
  margin-top: 2em;
  width: 100%;
}
.to-topBtnArea .to-top{
  font-size: 0.875rem;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  background: none;
  background: url("../images/icon_pagetop.svg") no-repeat left 55% / 0.875rem auto;
  padding-left: 1.25em;
}

@media (min-width:1240px){ /* for PC */
  .to-topBtnArea .to-top{
     transition: all 0.3s ease;
  }
  .to-topBtnArea .to-top:hover{
    color: var(--mainColor)
  }
}
/*   GDPR
------------------------------------*/
#gdpr{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	background: rgba(0,0,0,0.8);
	color: #FFF;
	line-height: 150%;
	font-size: 0.875rem;
	padding: 1.2em 1.4em;
	width: 100%;
	box-sizing: border-box;
	z-index: 110;
	position: fixed;
	left: 0;
	bottom: 0;
}
#gdpr a{
	color: #FFF;
	text-decoration: underline;
}
#gdpr button{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	display: block;
	width: 6em;
	height: 2.6em;
	text-align: center;
	background: var(--mainColor);
	color: #ffffff;
	font-family: inherit;
	font-size: 1rem;
	border: none;
	cursor: pointer;
  border-radius: 4px;
}
@media (min-width:769px){ /* for PC + Tab */
	#gdpr p{
		width: calc(100% - 7em);
	}
  #gdpr a:hover{
    text-decoration: none;
  }
  #gdpr button {
     transition: all 0.3s ease;
  }
	#gdpr button:hover{
		background: var(--mainColor-crr);
	}
}
@media (max-width:768px){  /* for SP */
	#gdpr{
		flex-flow: column wrap;
		justify-content: flex-start;
		align-items: flex-start;
		font-size: 0.8125rem;
		padding: 1em 1.2em 1.5em 1.2em;
	}
	#gdpr a{
		display: block;
	}
	#gdpr button{
		margin: 3vw auto 0 auto;
		width: 80%;
		height: 3em;
	}
}

@media print {
  header {
    position: static;
  }
  #sub_mainVisual{
    margin-top: 0;
  }
  #spNavKey {
    position: absolute;
  }
  #gdpr {
    display: none;
  }
}
</pre></body></html>