@charset "utf-8";

/*----- reset -----*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.7rem;font-family:YakuHanJP,"Zen Kaku Gothic New",sans-serif;line-height:2;color:#212121;height:100%;position:relative;letter-spacing:0.05em;overflow-wrap:break-word;word-wrap:break-word;-webkit-text-size-adjust:100%;background:#fff;width:auto;}
header,main,article,section,nav,footer{display:block;}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;font-size:100%;}
textarea,select{font-family:YakuHanJP,"Zen Kaku Gothic New",sans-serif;}
input{font-family:YakuHanJP,"Zen Kaku Gothic New",sans-serif;line-height:2;color:#212121;position:relative;letter-spacing:0.05em;overflow-wrap:break-word;word-wrap:break-word;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,th,var{font-style:normal;font-weight:normal;}
em{font-style:normal;font-weight:bold;}
ol,ul{list-style:none;}
caption{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;}
input[type="text"],input[type="submit"],input[type="button"],input[type="email"],input[type="tel"],input[type="date"],select,button{-webkit-appearance:none;appearance:none;border-radius:0;border:none;background:none;}
select::-ms-expand{display:none;}

*,*::before,*::after{box-sizing:border-box;}
/*----- reset end -----*/
:root{
	--vw_100:100vw;
	--vw_50:calc(var(--vw_100) / 2);
	--font_serif:"Noto Serif JP",serif;
	--font_zenkaku:YakuHanJP,"Zen Kaku Gothic New",sans-serif;
}

html{
	overflow-y:scroll;
	visibility:hidden;
}
html.wf-active, html.wf-inactive{visibility:visible;}

#wrapper{
	position:relative;
	overflow:hidden;
}
#wrapper.fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}

.customize-support #header_wrap{top:32px;}
.tab_size, .sp_size{display:none !important;}

a{
	color:#052365;
	text-decoration:underline;
}
a:visited{color:#9E088F;}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-left:20px;
	background:url(/ai-vc/img/common/icon_popup.svg) no-repeat center left;
}
a.non{
	display:inline-block;
	transition:opacity 0.3s;
}
a.non[target="_blank"]{
	padding-left:0;
	background:none;
}
a.non:hover{opacity:0.5;}
a[href$=".doc"], a[href$=".docx"]{
	padding-left:20px;
	background:url(/ai-vc/img/common/icon_word.svg) no-repeat center left;
}
a[href$=".xls"], a[href$=".xlsx"], a[href$=".xlsm"]{
	padding-left:20px;
	background:url(/ai-vc/img/common/icon_excel.svg) no-repeat center left;
}
a[href$=".zip"]{
	padding-left:20px;
	background:url(/ai-vc/img/common/icon_zip.svg) no-repeat center left;
}
a[href$=".pdf"]{
	padding-left:20px;
	background:url(/ai-vc/img/common/icon_pdf.svg) no-repeat center left;
}
a.none[href$=".pdf"]{
	padding-left:0;
	background:none;
}
[href^="tel:"]{
	font-weight:normal;
	text-decoration:none !important;
	pointer-events:none;
}

img{
	display:block;
	max-width:100%;
	width:100%;
	height:auto;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
a img{pointer-events:none;}

.link_btn{
	display:inline-block;
	position:relative;
	padding-left:45px !important;
	color:#212121 !important;
	font-family:var(--font_serif);
	font-size:1.6rem;
	font-weight:500;
	letter-spacing:0.8px;
	line-height:2.3rem;
	text-decoration:none !important;
}
.link_btn::before, .link_btn::after{
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	width:34px;
	height:34px;
	margin:auto;
}
.link_btn::before{
	background:#212121;
	border-radius:50%;
}
.link_btn::after{background:url(/ai-vc/img/common/arrow_r_white.svg) no-repeat center;}
.link_btn:hover::after{animation:link_btn 0.3s linear forwards;}
@keyframes link_btn{
	0%{
		transform:translateX(0);
		opacity:1;
	}
	40%{
		transform:translateX(10px);
		opacity:0;
	}
	60%{
		transform:translateX(-10px);
		opacity:0;
	}
	100%{
		transform:translateX(0);
		opacity:1;
	}
}
.link_btn_txt{
	padding:5px 0;
	background:linear-gradient(0, #212121, #212121) no-repeat bottom left/0 1px;
	transition:background 0.3s;
}
a:hover .link_btn_txt{background-size:100% 1px;}

.select_box{display:none;}

/*----- header -----*/
#header_wrap{
	position:fixed;
	z-index:20;
	top:0;
	right:0;
	left:0;
	width:100%;
	transition:transform 0.3s;
}
#header_wrap.scroll{
	background:#fff;
	box-shadow:0px 3px 6px rgba(0,0,0,0.16);
}
#header_wrap.hide{
	box-shadow:none;
	transform:translateY(-105%);
}
.header_area{
	display:flex;
	align-items:center;
	justify-content:space-between;
	position:relative;
	max-width:1560px;
	padding:20px 30px;
	margin:auto;
}
#logo{width:356px;}
.logo_link{display:block;}
.logo_img{width:100%;}
#toggle{display:none;}
#menu{
	display:flex;
	align-items:center;
	gap:20px;
}
.menu_box{
	display:flex;
	flex-direction:column-reverse;
	align-items:flex-end;
	margin-top:5px;
}
.menu_list{
	display:flex;
	align-items:center;
	gap:20px;
	padding:0;
	margin:0;
}
.menu_item{
	list-style:none;
	margin:0;
	font-size:1.5rem;
	font-weight:bold;
	letter-spacing:0;
	line-height:2.1rem;
}
.menu_sub_list{
	display:flex;
	align-items:center;
	gap:20px;
	padding:0;
	margin-bottom:6px;
}
.menu_sub_item{
	list-style:none;
	margin:0;
	font-size:1.3rem;
	font-weight:500;
	letter-spacing:0;
	line-height:1.9rem;
}
.menu_link{
	display:block;
	padding-bottom:5px;
	border-bottom:1px solid transparent;
	color:#212121 !important;
	text-decoration:none !important;
	transition:border 0.3s, color 0.3s;
}
.menu_link:hover{
	border-color:#0458D2;
	color:#0458D2 !important;
}
.on .menu_link{
	border-color:#0458D2;
	color:#0458D2 !important;
}
.menu_sub_item .menu_link{padding-bottom:2px;}

.modal_open{
	display:block;
	position:relative;
	width:30px;
	height:30px;
	padding:0;
	cursor:pointer;
	font-size:0;
	text-decoration:none;
}
.modal_open::before, .modal_open::after{
	content:'';
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:16px;
	height:16px;
	margin:auto;
	background:no-repeat center/cover;
	transition:opacity 0.3s;
}
.modal_open::before{background-image:url(/ai-vc/img/common/icon_search_black.svg);}
.modal_open:hover::before{opacity:0;}
.modal_open::after{
	background-image:url(/ai-vc/img/common/icon_search_blue.svg);
	opacity:0;
}
.modal_open:hover::after{opacity:1;}
.modal_content{
	display:none;
	position:fixed;
	z-index:100;
	right:0;
	left:0;
	width:700px;
	margin:auto;
	text-align:center;
}
.search_box{
	position:relative;
	width:100%;
	margin-bottom:10px;
	background:#fff;
	border-radius:4px;
}
.search_txt{
	display:block;
	width:100%;
	padding:12px 75px 13px 25px;
	font-weight:500;
	letter-spacing:0;
	line-height:2.5rem;
}
.search_txt::placeholder{color:#ccc;}
.search_btn{
	position:absolute;
	top:0;
	right:0;
	font-size:0;
	width:50px;
	height:50px;
	background:url(/ai-vc/img/common/icon_search_black.svg) no-repeat center !important;
	cursor:pointer;
	transition:opacity 0.3s;
}
.search_btn:hover{opacity:0.5;}
.modal_close{
	position:relative;
	padding:0 0 0 20px;
	color:#fff;
	font-family:var(--font_zenkaku);
	font-size:1.5rem;
	font-weight:bold;
	letter-spacing:0;
	line-height:2.1rem;
	cursor:pointer;
}
.modal_close:hover{text-decoration:underline;}
.modal_close::before, .modal_close::after{
	content:'';
	position:absolute;
	top:2px;
	bottom:0;
	left:0;
	width:12px;
	height:2px;
	margin:auto;
	background:#fff;
}
.modal_close::before{transform:rotate(45deg);}
.modal_close::after{transform:rotate(-45deg);}
#s_overlay{
	display:none;
	position:fixed;
	z-index:50;
	top:0;
	left:0;
	width:100%;
	height:120%;
	background:#052365;
	opacity:0.9;
}

.menu_cta_link{
	display:block;
	width:115px;
	padding:7px 10px 9px !important;
	background:#052365 !important;
	color:#fff !important;
	font-size:1.3rem;
	font-weight:500;
	letter-spacing:0;
	line-height:1.9rem;
	text-align:center;
	text-decoration:none !important;
	transition:background 0.3s;
}
.menu_cta_link:hover{background:#0458D2 !important;}

#menu_overlay{
	display:none;
	position:fixed;
	z-index:10;
	top:0;
	left:0;
	width:100%;
	height:100svh;
	background:#fff;
}

/*----- footer -----*/
#return{
	position:relative;
	z-index:5;
}
.return_btn{
	position:fixed;
	right:20px;
	bottom:20px;
	width:50px;
	height:50px;
	background:#fff;
	border:1px solid #ddd;
	border-radius:50%;
	opacity:0;
	visibility:hidden;
	text-decoration:none !important;
	transition:border 0.3s, opacity 0.3s, visibility 0.3s;
}
.return_btn:hover{border-color:#212121;}
.return_btn.display, .return_btn.pos_end{
	opacity:1;
	visibility:visible;
}
.return_btn.pos_end{position:absolute;}
.return_btn::after{
	content:'';
	position:absolute;
	top:7px;
	right:0;
	bottom:0;
	left:0;
	width:15px;
	height:15px;
	margin:auto;
	border-top:1px solid #212121;
	border-left:1px solid #212121;
	transform:rotate(45deg);
}
.return_txt{
	position:absolute;
	width:1px;
	height:1px;
	margin:-1px;
	clip:rect(0, 0, 0, 0);
	overflow:hidden;
	white-space:nowrap;
}

.f_cta_area{
	position:relative;
	background:#052365;
}
.f_cta_area::before{
	content:'';
	position:absolute;
	top:0;
	right:-5.5%;
	width:100%;
	height:100%;
	background:url(/ai-vc/img/common/bg_contact.png) no-repeat center right/auto 100%;
	mix-blend-mode:hard-light;
	opacity:0.5;
}
.f_cta_box{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:65px;
	max-width:1280px;
	padding:60px 40px 75px;
	margin:auto;
}
.f_cta_box_in{max-width:580px;}
.f_cta_head{
	position:relative;
	padding:0;
	margin:0 0 30px;
	background:none;
	color:#fff;
	font-family:var(--font_serif);
	font-size:3.8rem;
	font-weight:500;
	letter-spacing:0;
	line-height:5.5rem;
}
.f_cta_head[data-en]::before{
	content:attr(data-en);
	display:block;
	margin:0 0 10px 35px;
	font-size:1.9rem;
	line-height:2.7rem;
}
.f_cta_head[data-en]::after{
	content:'';
	position:absolute;
	top:15px;
	left:0;
	width:25px;
	height:1px;
	background:#fff;
}
.f_cta_txt{
	margin:0;
	color:#fff;
	font-size:1.6rem;
	font-weight:500;
	letter-spacing:0.8px;
	line-height:2.9rem;
}
.f_cta_link_list{
	display:flex;
	flex-shrink:0;
	align-items:center;
	gap:65px;
	padding:0;
	margin:20px 0 0;
}
.f_cta_link_item{
	list-style:none;
	margin:0;
}
.f_cta_btn{
	color:#fff !important;
	font-size:2.2rem;
	letter-spacing:1.1px;
	line-height:3.1rem;
}
.f_cta_btn::before{background:#fff;}
.f_cta_btn::after{background-image:url(/ai-vc/img/common/arrow_r_black.svg);}
.f_cta_btn .link_btn_txt{background:linear-gradient(0, #fff, #fff) no-repeat bottom left/0 1px;}

.footer_area{
	max-width:1280px;
	padding:50px 40px;
	margin:auto;
}
.footer_box{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:60px;
	margin-bottom:55px;
}
.f_logo{
	width:356px;
	margin-bottom:20px;
}
.f_logo_link{
	display:block;
	width:100%;
}
.f_logo_img{width:100%;}
.f_address_txt{
	margin:0;
	font-size:1.2rem;
	font-weight:500;
	letter-spacing:0.6px;
	line-height:1.8rem;
}
.f_menu{
	display:flex;
	justify-content:flex-end;
	gap:60px;
	margin-top:5px;
}
.f_menu_list{
	padding:0;
	margin:0;
}
.f_menu_item{
	list-style:none;
	margin-bottom:15px;
	font-size:1.6rem;
	font-weight:bold;
	letter-spacing:0.8px;
	line-height:2.4rem;
}
.f_menu_link, .f_child_link, .f_sub_link{
	display:block;
	color:#212121 !important;
	text-decoration:none !important;
}
.f_menu_link:hover, .f_child_link:hover, .f_sub_link:hover{text-decoration:underline !important;}
.f_child_list{
	padding-left:20px;
	margin:15px 0 0 5px;
}
.f_child_item{
	list-style:disc;
	margin-bottom:12px;
	font-size:1.4rem;
	font-weight:500;
	letter-spacing:0.7px;
	line-height:2rem;
}
.f_child_item.f_menu_top{display:none;}
.footer_bottom{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:60px;
}
.f_sub_list{
	display:flex;
	align-items:center;
	gap:30px;
	padding:0;
	margin:0;
}
.f_sub_item{
	list-style:none;
	margin:0;
	font-size:1.2rem;
	font-weight:500;
	letter-spacing:0.6px;
	line-height:1.7rem;
}
.copyright{margin:0;}
.copyright_txt{
	display:block;
	font-size:1.2rem;
	font-weight:500;
	letter-spacing:0.6px;
	line-height:1.7rem;
}


@media screen and (max-width:1024px){

.tab_size{display:block !important;}

.link_btn{padding-left:30px !important;}
.link_btn::before, .link_btn::after{
	width:24px;
	height:24px;
}
.link_btn::after{background-size:9px;}

/*----- header -----*/
.fixed #header_wrap.is_show{
	background:#fff;
	transition:none;
}
.header_area{padding:11px 20px 10px;}
#logo{width:262px;}
#toggle{display:block;}
.toggle_btn{
	display:block;
	position:relative;
	width:35px;
	height:35px;
	padding:0;
	background:#212121;
	border-radius:50%;
	font-size:0;
	text-decoration:none;
	cursor:pointer;
}
.toggle_txt{
	position:relative;
	display:block;
	width:100%;
	height:100%;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	content:'';
	position:absolute;
	z-index:10;
	left:12px;
	width:11px;
	height:1px;
	background:#fff;
	transition:all 0.3s;
}
.toggle_btn::before{top:13px;}
.toggle_btn::after{top:21px;}
.toggle_txt::before, .toggle_btn.open::before, .toggle_btn.open::after{top:17px;}
.toggle_btn.open::before{transform:rotate(135deg);}
.toggle_btn.open::after{transform:rotate(-135deg);}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
#menu{
	display:block;
	position:fixed;
	top:70px;
	right:0;
	left:0;
	width:calc(100% - 40px);
	max-height:calc(100svh - 80px);
	padding:85px 30px 50px;
	margin:auto;
	background:#F3F7FD;
	border:1px solid #CAD2DA;
	-webkit-overflow-scrolling:touch;
	overflow:auto;
}
#menu.menu_dis{display:none;}
.menu_box, .menu_list{display:block;}
.menu_sub_list{
	display:block;
	margin-bottom:30px;
}
.menu_item, .menu_sub_item{
	margin-bottom:5px;
	font-family:var(--font_serif);
	font-size:1.8rem;
	font-weight:500;
	line-height:2.6rem;
}
.menu_link{
	display:block;
	padding:10px 40px 10px 0 !important;
	background:url(/ai-vc/img/common/arrow_r_black.svg) no-repeat center right 10px;
	border-color:#CAD2DA;
}
.menu_link::before{
	content:attr(data-en);
	display:block;
	font-size:1rem;
	line-height:1.5rem;
	text-transform:capitalize;
}
#search{
	position:absolute;
	top:30px;
	left:0;
	width:100%;
	padding:0 20px;
}
.modal_open, .modal_close{display:none !important;}
.modal_content{
	display:block !important;
	position:static;
	width:auto;
}
.search_box{
	margin:0;
	border:1px solid #CAD2DA;
	border-radius:4px;
}
.search_txt{
	padding-right:65px;
	padding-left:10px;
	font-size:1.4rem;
	line-height:2rem;
}
.search_btn{
	width:55px;
	height:45px;
}
.menu_cta_link{
	width:100%;
	padding:12px 20px 14px !important;
	font-size:1.6rem;
	line-height:2.4rem;
}
.fixed #menu_overlay{display:block;}

/*----- footer -----*/
.return_btn{
	width:40px;
	height:40px;
}
.return_btn::after{
	width:12px;
	height:12px;
}

.f_cta_area::before{
	right:0;
	background-position:center right 48%;
}
.f_cta_box{
	display:block;
	padding-bottom:90px;
}
.f_cta_box_in{max-width:none;}
.f_cta_head{
	margin-bottom:20px;
	font-size:2.4rem;
	line-height:3.5rem;
}
.f_cta_head[data-en]::before{
	margin-left:30px;
	font-size:1rem;
	line-height:1.5rem;
}
.f_cta_head[data-en]::after{top:8px;}
.f_cta_link_list{gap:40px;}
.f_cta_btn{
	font-size:1.7rem;
	letter-spacing:0.85px;
	line-height:2.5rem;
}

.footer_area{
	padding-top:30px;
	padding-bottom:20px;
}
.footer_box{gap:25px;}
.f_logo{
	width:262px;
	margin-bottom:15px;
}
.f_menu{
	gap:25px;
	margin-top:2px;
}
.f_menu_item{
	font-size:1.4rem;
	letter-spacing:0.7px;
	line-height:2rem;
}
.f_child_list{margin-left:0;}
.f_sub_list{gap:20px;}
.f_sub_item, .copyright_txt{
	font-size:1.1rem;
	letter-spacing:0.55px;
	line-height:1.6rem;
}

}


@media screen and (max-width:767px){

.pc_size{display:none !important;}
.sp_size{display:block !important;}

[href^="tel:"]{
	text-decoration:underline !important;
	pointer-events:auto;
}
[href^="tel:"]:hover{text-decoration:none !important;}

.select_box{
	display:block;
	position:relative;
	max-width:275px;
	margin:0 auto 30px;
	background:#FAFAFA;
	border:1px solid #D4D9DF;
	border-radius:5px;
}
.select_box::after{
	content:'';
	position:absolute;
	top:0;
	right:20px;
	bottom:0;
	width:7px;
	height:7px;
	margin:auto;
	border-right:2px solid #212121;
	border-bottom:2px solid #212121;
	transform:rotate(45deg);
}
.select_item{
	display:block;
	width:100%;
	padding:11px 50px 12px 15px;
	color:#212121 !important;
	font-size:1.4rem;
	font-weight:500;
	letter-spacing:0.7px;
	line-height:2rem;
	cursor:pointer;
}

/*----- footer -----*/
.f_cta_area::before{
	background-size:130% auto;
	background-position:center bottom;
}
.f_cta_box{padding-bottom:75px;}

.footer_area{padding:0;}
.footer_box{
	display:block;
	margin:0;
}
.f_address{padding:30px 20px;}
.f_logo{
	margin-right:auto;
	margin-left:auto;
}
.f_address_txt{text-align:center;}
.f_menu{
	display:block;
	margin:0;
}
.f_menu_item{
	margin:0;
	border-top:1px solid #CAD2DA;
}
.f_menu_link{
	display:block;
	position:relative;
	padding:15px 20px;
}
.f_menu_link.acc::before, .f_menu_link.acc::after{
	content:'';
	position:absolute;
	top:0;
	right:20px;
	bottom:0;
	width:11px;
	height:1px;
	margin:auto;
	background:#212121;
	transition:opacity 0.3s;
}
.f_menu_link.acc::after{transform:rotate(90deg);}
.f_menu_link.open::after{opacity:0;}
.f_child_list{
	display:none;
	padding:15px 40px 3px;
	margin:0;
	background:#FAFAFA;
	border-top:1px solid #CAD2DA;
}
.f_child_item.f_menu_top{
	display:block;
	margin:0 -20px 15px;
}
.f_child_link{display:inline-block;}
.footer_bottom{display:block;}
.f_sub_list{
	justify-content:center;
	padding:20px 20px 20px;
	border-top:1px solid #CAD2DA;
}
.copyright{
	padding:25px 20px;
	border-top:1px solid #CAD2DA;
}
.copyright_txt{text-align:center;}

}


@media screen and (max-width:500px){

/*----- footer -----*/
.f_sub_list{
	display:block;
	padding-bottom:5px;
}
.f_sub_item{
	margin-bottom:15px;
	text-align:center;
}
.f_sub_link{display:inline-block;}

}


/*----- print -----*/
@media print{
	:root{--vw_100:1200px;}
	body{
		width:1200px;
		transform:scale(1);
		-moz-transform:scale(1);
		-webkit-transform:scale(1);
		transform-origin:0 0;
		zoom:.91;
		margin:auto
	}
	@media all and (-ms-high-contrast:none){
		body{width:1200px}
	}
	@media (-ms-high-contrast:none),(-ms-high-contrast:active){
		body{width:1200px}
	}
	@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm){
		body{
			width:1200px;
			transform:scale(.8);
			-moz-transform:scale(.8);
			-webkit-transform:scale(.8);
			transform-origin:0 0;
			margin:auto
		}
	}
}
/*----- print end -----*/