/* CSS Document */

a {
    text-decoration: none;
    color: inherit;
    user-select: none;
    cursor: pointer;
}
.u-inner {
	padding-left: max((100vw - 1080px)/2, 20px) !important;
	padding-right: max((100vw - 1080px)/2, 20px) !important;
}
.u-innerMin {
	padding-left: max((100vw - 896px)/2, 20px) !important;
	padding-right: max((100vw - 896px)/2, 20px) !important;
}
.u-innerML {
	margin-left: max((100vw - 1080px)/2, 20px) !important;
}
.u-innerMR {
	margin-right: max((100vw - 1080px)/2, 20px) !important;
}
.u-innerPL {
	padding-left: max((100vw - 1080px)/2, 20px) !important;
}
.u-innerPR {
	padding-right: max((100vw - 1080px)/2, 20px) !important;
}

i {
    font-style: normal;
    font-weight: inherit;
    display: inline-block;
}
.c-contactBtn a {
	color: #000;
	border: 1px solid #000;
	display: inline-block;
	width: 160px;
	padding: 12px 0;
/*	border-radius: 100px;*/
	font-size: 18px;
	font-weight: bold;
	overflow: hidden;
	position: relative;
	z-index: 10;
	/* min-width: 280px; */
	text-align: center;
	font-size: 14px;
	transition: 500ms cubic-bezier(0.8, 0, 0.2, 1);
}
.c-contactBtn i {
	margin-right: 12px;
}
.c-contactBtn i::before {
	transition: none;
}
.js-openSubMenu_btn{
	font-size: 13px;
    font-weight: 600;
    font-family: Hind, sans-serif;
}
/* .c-contactBtn a::before {
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    margin-right: 8px;
  
    background: var(--text-black);
    -webkit-mask-image: url('/common/img/ic-outlink.svg');
    mask-image: url('/common/img/ic-outlink.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: auto;
    mask-size: auto;
    transition: var(--transition-easein);
  } */
.c-contactBtn a::after {
	content: "";
	position: absolute;
	width: 0;
	height: 100%;
	top: 0;
	right: 0;
	background: #333;
	z-index: -1;
	transition: 500ms cubic-bezier(0.8, 0, 0.2, 1);
}
@media (hover: hover) {
	.c-contactBtn a:hover {
		color: #fff;
	}
	.c-contactBtn a:hover::after {
		width: 100%;
		left: 0;
	}
}

.c-closeBtn a {
	display: inline-block;
	width: 40px;
	height: 40px;
	position: relative;
	display: grid;
	place-items: center;
}
.c-closeBtn i {
	position: absolute;
	background: #005BAC;
	transform-origin: center;
	width: 24px;
	height: 2px;
}
.c-closeBtn i:first-child {
	transform: rotate(-45deg);
}
.c-closeBtn i:last-child {
	transform: rotate(45deg);
}

.c-menuBtn {
	width: 50px;
	height: 50px;
	background-color:#000000;
}
.c-menuBtn a {
	display: block;
	width: 50px;
	height: 35px;
	display: grid;
	align-content: center;
	gap: 6px;
	position: relative;
}
.c-menuBtn i {
	top: 50%;
	left: 8px;
	transform: translateY(-50%);
	width: 22px;
	height: 2px;
	position: absolute;
	background: #fff;
	border-radius: 100px;
	transition: 400ms;
	/* safari のバグ対応 */
	transition-property: top, left, transform, opacity;
}
.c-menuBtn:after {
    content: "MENU";
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 11px;
    letter-spacing: 1px;
    line-height: 100%;
    color: #fff;
    margin: 0;
    text-align: center;
    display: block;
}
.c-headerLogo {
    width: 215px;
}
.c-headerLogo img{
	max-width:100%;
}

.c-menuBtn i:first-child {
	width: 30px;
	top: calc(50% - 8px);
}
.c-menuBtn i:last-child {
	width: 15px;
	top: calc(50% + 8px);
}
@media (hover: hover) {
	.c-menuBtn a:hover i {
		background: #FFF;
	}
}

.is-menuOpen .c-menuBtn i {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 24px;
	background: #FFF !important;
}
.is-menuOpen .c-menuBtn i:first-child {
	transform: translate(-50%, -50%) rotate(45deg);
}
.is-menuOpen .c-menuBtn i:nth-child(2) {
	opacity: 0;
}
.is-menuOpen .c-menuBtn i:last-child {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.e_menu{
	font-size:14px;
	margin-top:0;
}

/* ==========================================================================
	.l-header 
   ========================================================================== */

.l-header {
	position: fixed;
	width: 100vw;
	top: 0;
	z-index: 1000;
	background: #fff;
	height: 86px;
	font-weight: 500;
	display: grid;
	grid-template-columns: 220px auto 45px;
	align-items: center;
	/* viewport 375-1280 */
	padding-right: clamp(8px, -0.536rem + 4.42vw, 48px);
	padding-left: clamp(12px, 0.025rem + 3.09vw, 40px);
	transition: 800ms 400ms;;
}
@media only screen and (max-width: 960px) {
	.l-header {
		grid-template-columns: auto 45px;
	}
}
@media only screen and (max-width: 520px) {
	.l-header {
		grid-template-columns: auto 65px;
	}
}
.l-header.is-remove {
	/* top: -50vh; */
	top: calc(96px - 96px*2);
	opacity: 0;
	visibility: hidden;
}

.l-header_pages {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	/* viewport 960-1280 */
	padding: 0 50px;
	font-size: 14px;
}
.l-header_pages>ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0 clamp(32px, -1rem + 5vw, 48px);
}
@media only screen and (max-width: 960px) {
	.l-header_pages {
		display: none;
	}
}
.l-header_pages a {
	position: relative;
	transition: 400ms;
}
.l-header_pages a::after {
	content: "";
	position: absolute;
	width: 0;
	right: 0;
	left: auto;
	bottom: -5px;
	height: 2px;
	background: #005BAC;
	transition: 500ms cubic-bezier(0.8, 0, 0.2, 1);
	border-radius: 100px;
}
.l-header_pages a.is-active::after,
.l-header_pages a.is-current::after {
	left: 0;
	width: 100%;
}
.l-header_pages a.is-active,
.l-header_pages a.is-current {
	color: #005BAC;
	/* pointer-events: none; */
}
.l-header_pages a.is-disable {
	pointer-events: none;
}
@media (hover: hover) {
	.l-header_pages a:hover {
		color: #005BAC;
	}
}

.l-header_searchBtn {
	width: 40px;
	height: 40px;
}
.l-header_searchBtn a {
	display: block;
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
	font-size: 21px;
	transition: 400ms;
}
.l-header_searchBtn a.is-active {
	color: #005BAC;
}
@media (hover: hover) {
	.l-header_searchBtn a:hover {
		color: #005BAC;
	}
}

.l-header_subMenu {
	position: absolute;
	top: 100%;
	width: 100%;
	left: 0;
	transition: 400ms;
	background: #fff;
}
.l-header_subMenu>section {
	background: #fff;
	padding: 16px max((100vw - 1080px)/2, 48px) 40px;
	width: 100%;
	position: relative;
	top: 0;
	left: 0;
	display: grid;
	grid-template-columns: auto 200px;
	grid-template-areas:
		"title title"
		"pages contact"
	;
	align-items: start;
	gap: 24px;
	transition: 400ms;
	overflow: hidden;
	z-index: 10;
}
.l-header_subMenu:not(.is-open) {
	opacity: 0;
}
.l-header_subMenu>section:not(.is-open) {
	opacity: 0;
	visibility: hidden;
	position: absolute;
}
@media only screen and (max-width: 960px) {
	.l-header_subMenu_pages {
		display: none;
	}
}

.l-header_subMenu_title {
	grid-area: title;
	display: flex;
	align-items: center;
	gap: 24px;
}

.l-header_subMenu_pages {
	grid-area: pages;
}
.l-header_subMenu_pages ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	font-size: 14px;
}
.l-header_subMenu_pages a {
	position: relative;
	margin-left: 18px;
	display: inline-flex;
	align-items: center;
	transition: 400ms;
}
.l-header_subMenu_pages a::before {
	content: url("../images/arrow.png");
	margin-right: 1em;
	position: absolute;
	left: -18px;
}
.l-header_subMenu_pages a[target="_blank"] {
	margin-left: 0;
	margin-right: 24px;
}
.l-header_subMenu_pages a[target="_blank"]::before {
	content: url("../images/wopen.png");
	position: absolute;
	left: auto;
	right: -24px;
	margin-right: 0;
}

.m_top{
	background:rgba(255,255,255,0.8) !important;
}
.m_top:hover{
	background:#FFFFFF !important;
}
/*
.m_top>a{
	color:#FFFFFF !important;
}
.m_top :hover a{
	color:#000 !important;
}
.m_top :hover a:hover{
	color:#005BAC !important;
}
.l-header_subMenu_pages a{
	color:#000 !important;
}
*/
/* .l-header_subMenu_pages a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%) rotate(45deg);
	display: block;
	width: 6px;
	height: 6px;
	border-top: 1px solid #005BAC;
	border-right: 1px solid #005BAC;
	transform-origin: center;
} */
.l-header_subMenu_pages a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -.1em;
	height: 1px;
	width: 0;
	background: #005BAC;
	transition: 500ms cubic-bezier(0.8, 0, 0.2, 1);
}
@media (hover: hover) {
	.l-header_subMenu_pages a:hover {
		color: #005BAC;
	}
	.l-header_subMenu_pages a:hover::after {
		width: 100%;
		left: 0;
	}
}

.l-header_subMenu_contact {
	border-left: 1px solid #d8d8d8;
	padding: 8px 0;
	display: grid;
	justify-items: end;
}


.l-header_search {
	position: absolute;
	width: 100%;
	top: 100%;
	background: #fff;
	min-height: 96px;
	display: grid;
	place-items: center;
	/* border: 1px solid #f4f4f4; */
	padding: clamp(16px, 0.7rem + 1.28vw, 24px) 20px;
	transition: 400ms;
	font-size: clamp(14px, 0.8rem + 0.32vw, 16px);
}
.l-header_search:not(.is-open) {
	opacity: 0;
	visibility: hidden;
}
.l-header_search_input {
	display: block;
	max-width: 528px;
	width: 100%;
	margin: auto;
}
.l-header_search_input>form {
	height: 48px;
	border-radius: 100px;
	border: 1px solid #d8d8d8;
	position: relative;
	display: grid;
	grid-template-columns: auto 40px;
	overflow: hidden;
	padding: 0 16px 0 clamp(24px, 1.2rem + 1.28vw, 32px);
}
.l-header_search_input input[type="search"] {
	width: 100%;
	outline: none;
	border: none;
	background: none;
	font-weight: 400;
}
.l-header_search_input button {
	cursor: pointer;
	background: none;
	border: none;
	font-size: 20px;
	color: #333;
}
.l-header_search_content {
	display: block;
	max-width: 528px;
	width: 100%;
	/* padding: 0 16px 0 var(--margin32-24); */
	font-weight: normal;
	line-height: 1.6;
}
.l-header_search_content p {
	margin-top: 12px;
}
.l-header_search_close {
	position: absolute;
	/* viewport 375-1280 */
	right: calc(64px + clamp(8px, -0.536rem + 4.42vw, 48px));
	top: 28px;
}
@media only screen and (max-width: 960px) {
	.l-header_search_close {
		position: static;
		transform: none;
		margin-top: 12px;
	}
}

.l-header_search_content ul {
	/* display: block !important; */
	position: static !important;
	border: none !important;
	padding-top: clamp(16px, 0.7rem + 1.28vw, 24px);
}
/* .l-header_search_content ul li {
	margin-top: 12px !important;
} */
.l-header_search_content ul div {
	transition: 200ms;
	padding: 6px 16px 6px clamp(24px, 1.2rem + 1.28vw, 32px) !important;
	border-radius: 8px;
}
.l-header_search_content ul div.ui-state-active {
	border: none !important;
	background: #f4f4f4 !important;
	margin: 0 !important;
	color: inherit !important;
}

/* ==========================================================================
	l-openMenu
   ========================================================================== */

body {
	overflow: visible;
}
body.is-menuOpen {
	overflow-x: hidden;
}

.l-openMenu {
	position: fixed;
	width: 100%;
/*	height: 100%;*/
	top: 0;
	left: 0;
	z-index: 1000;
	transition: 500ms;
	background: #fff;
	padding-top: 85px;
	padding-bottom: 30px;
/*	overflow-y: scroll;
	overflow-x: hidden;*/
}
.l-openMenu .u-inner {
	position: relative;
}

/*SP*/
@media screen and (max-width: 520px) {
	.l-openMenu {
		/* height: auto; */
		padding-top: 100px;
		/* padding-top: 76px; */
		padding-bottom: 40px;
		box-shadow: 0px 0px 15px 0px #d8d8d8;
	}

	.is-menuOpen .l-header_logo {
		visibility: hidden;
	}
	/* .l-openMenu .u-inner{
		   padding-left: 15px;
		   padding-right: 15px;	
	   } */
}


.l-openMenu_header {
	position: fixed;
	width: 100vw;
	top: 0;
	background: #fff;
	z-index: 10;
	height: 105px;
	display: grid;
	grid-template-columns: auto 40px;
	align-items: center;
	/* viewport 375-1280 */
	padding-right:53px;
	padding-left: 40px;
}
@media only screen and (max-width: 960px) {
	.l-openMenu_header {
		grid-template-columns: auto 30px;
		justify-content: space-between;
	}
}
@media only screen and (max-width: 520px) {
	.l-openMenu_header {
		height: 85px;
	}
	.l-openMenu_header {
		grid-template-columns: auto 40px;
	}
}


.l-openMenu {
	opacity: 0;
	visibility: hidden;
}
.is-menuOpen .l-openMenu {
	opacity: 1;
	visibility: visible;
}

.l-openMenu nav>ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 50px 20px;
}
@media only screen and (max-width: 520px) {
	.l-openMenu nav>ul {
		grid-template-columns: repeat(1, 1fr);
		gap: 50px 20px;
	}
}
.l-openMenu nav h3 {
	font-size: clamp(16px, 0.85rem + 0.64vw, 20px);
	margin-bottom: 11px;
	line-height: 1.6;
}
/*
.l-openMenu nav h3::after {
	font-size:clamp(12px, 0.675rem + 0.32vw, 14px);
	color:  #ADBDCC;
	font-family: 'Inter', sans-serif;
	content: attr(data-en);
	display: block;
}
*/
.l-openMenu nav li a {
	line-height:1.4;
	font-size: 13px;
	position: relative;
	margin-left: 18px;
	display: inline-flex;
	align-items: center;
	padding: 7px 0;
	transition: 400ms;
	font-weight:700;
}
.l-openMenu nav li a.l_top{
	font-size: clamp(16px, 0.85rem + 0.64vw, 20px);
	margin-bottom: 11px;
	line-height: 1.6;
	padding:0;
	margin-left:0;
}

.l-openMenu nav li a.l_top::before {
	display:none;

}

.l-openMenu nav li a::before {
	content: url("../images/arrow.png");
	margin-right: 1em;
	position: absolute;
	left: -18px;
}
.l-openMenu nav li a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 5px;
	height: 1px;
	width: 0;
	background: #005BAC;
	transition: 500ms cubic-bezier(0.8, 0, 0.2, 1);
}
@media (hover: hover) {
	.l-openMenu nav li a:hover {
		color: #005BAC;
	}
	.l-openMenu nav li a:hover::after {
		width: 100%;
		left: 0;
	}
}

/* 
.l-openMenu nav li a[target="_blank"] {
	padding-left: 0;
}
.l-openMenu nav li a[target="_blank"]::before {
	border: none;
} */

.l-openMenu nav li a[target="_blank"] {
	margin-left: 0;
	margin-right: 24px;
}
.l-openMenu nav li a[target="_blank"]::before {
	content: url("../images/wopen.png");
	position: absolute;
	left: auto;
	right: -24px;
	margin-right: 0;
}

/*SP*/
@media screen and (max-width: 520px) {

	.l-openMenu nav h4 ,
	.l-openMenu nav h3 {
		padding-left: 18px;
		position: relative;
/*		margin-bottom: 18px;*/
		margin-top:20px;
		margin-bottom:0px;
	}

	.l-openMenu nav li._active h3 {
		margin-bottom: 10px;
	}

	.l-openMenu nav li:not(._active) h4::before ,
	.l-openMenu nav li:not(._active) h3::before {
		content: "";
		position: absolute;
		top: 10px;
		left: 0;
		transform: rotate(45deg);
		display: block;
		width: 5px;
		height: 5px;
		border-top: 1px solid #005BAC;
		border-right: 1px solid #005BAC;
		transform-origin: center;
	}

	/* .l-openMenu nav li a {
		padding: 8px 0 7px 1.4em;
	}
	.l-openMenu nav li a::before {
		top: 16px;
	} */

	.l-openMenu nav li a {
		padding: 12px 0;
	}
	.l-openMenu nav li a::after {
		bottom: 10px;
	}

	.l-openMenu nav>ul {
		gap: 0;
	}

	.l-openMenu nav>ul>li._hidden {
		display: none;
	}

	.l-openMenu nav>ul>li>ul {
		position: absolute;
		top: 0;
		right: 0;
		transform: translateX(100%);
		transition: .2s;
		margin-left: 16px;
	}
	.l-openMenu nav>ul>li._active ul {
		position: relative;
		display: block;
		transform: translateX(0);
	}


}

/* .l-openMenu nav li a[target="_blank"]::after {
	font-family: 'tau-font';
	content: '\e804';
	margin-left: 10px;
	font-size: 0.85em;
	position: relative;
	top: -2px;
} */

.l-openMenu #js-return {
	color: #005BAC;
	font-size: 14px;
	position: absolute;
	top: -15px;
	/* top: -48px; */
	left: 27px;
	display: none;
	position: relative;
	padding-left: 1em;
}

.l-openMenu #js-return::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -1px;
	transform: rotate(-45deg) translateY(-50%);
	display: block;
	width: 5px;
	height: 5px;
	border-top: 1px solid #005BAC;
	border-left: 1px solid #005BAC;
	transform-origin: center;
}

/*SP*/
@media screen and (max-width: 520px) {
	.l-openMenu nav #js-return._active {
		position: absolute;
		display: block;
	}
}

.l-openMenu .c-contactBtn {
	position: fixed;
	top: 24px;
	left: 280px;
	z-index: 20;
}
/* .l-openMenu .c-contactBtn {
	position: absolute;
	top: -90px;
	left: 172px;
} */

/* .is-menuOpen .l-openMenu .c-contactBtn {
	margin-top: 5px;
} */

@media screen and (max-width: 520px) {
	.l-openMenu .c-contactBtn {
		position: static;
		border-top: 1px solid #d8d8d8;
		padding-top: 20px;
		text-align: center;
	}
	.is-menuOpen .l-openMenu nav>ul>li._active {
		margin-bottom: 11px;
	}
}

/* ==========================================================================
	.l-footer
   ========================================================================== */

.l-footer {
	background: #005BAC;
	padding: 48px 0 56px;
	color: #fff;
	text-align: center;
}
@media only screen and (max-width: 960px) {
	.l-footer {
		text-align: left;
	}
}

.l-footer_logo a {
	display: inline-block;
}

.l-footer_pages {
	padding: 32px 0 48px;
	font-size: 12px;
	max-width: 800px;
	margin: auto;
}
.l-footer_pages ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 32px;
	overflow: hidden;
}
.l-footer_pages li {
	position: relative;
	z-index: 10;
	background: #005BAC;
}
.l-footer_pages li::before {
	content: "";
	position: absolute;
	left: -16px;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 70%;
	background: #d8d8d8;
	z-index: -1;
}
.l-footer_pages li:first-child::before,
.l-footer_pages li:nth-child(5)::before {
	content: none;
}
@media only screen and (max-width: 960px) {
	.l-footer_pages li:first-child::before,
	.l-footer_pages li:nth-child(5)::before {
		content: "";
	}
}
@media only screen and (max-width: 960px) {
	.l-footer_pages ul {
		justify-content: flex-start;
	}
}

.l-footer_copyright {
	font-size: 10px;
}

.l-footer_pagetop {
	position: fixed;
	right: clamp(16px, -0.2rem + 5.12vw, 48px);
	bottom: clamp(16px, -0.2rem + 5.12vw, 48px);
	z-index: 1000;
	transition: 800ms 400ms;
}
.l-footer_pagetop:not(.is-visible) {
	opacity: 0;
	visibility: hidden;
	bottom: -50px;
}

/* ==========================================================================
	.l-bottomMenu
   ========================================================================== */

.l-bottomMenu {
	padding: 56px 0;
	background: #f4f4f4;
	font-size: 20px;
	font-weight: 700;
}
@media only screen and (max-width: 520px) {
	.l-bottomMenu {
		font-size: 18px;
	}
}

.l-bottomMenu_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 48px;
	row-gap: 24px;
}
.l-bottomMenu_list a {
	padding: 32px;
	background: #fff;
	border-radius: 8px;
	border: 1px solid #d8d8d8;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: 400ms;
}
@media only screen and (max-width: 520px) {
	.l-bottomMenu_list {
		grid-template-columns: auto;
		gap: 12px;
	}
}
@media (hover: hover) {
	.l-bottomMenu_list a:hover {
		color: #005BAC;
	}
}

/* ==========================================================================
	.l-bread
   ========================================================================== */

.l-bread {
	padding: 16px 0;
	font-size: clamp(12px, 0.675rem + 0.32vw, 14px);
}

.l-bread_list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.l-bread_list li {
	display: flex;
	align-items: center;
}
.l-bread_list li::after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	transform: rotate(45deg);
	margin: 0 8px;
}

.l-bread_current {
	color: #005BAC;
}
.l-bread_current::after {
	content: none !important;
}
.footer-list{
	margin-top:20px;
}
.footer .list_end{
	border-left:1px solid #fff;
}
