@charset "UTF-8";
/* CSS Document */

/*-----------------------------------------------------
Reset
----------------------------------------------------- */
html{scroll-behavior: smooth;}
html, body, div, span,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin:0; padding:0; border:0; font-size:100%; font:inherit; vertical-align:baseline;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display:block;
}

h1,h2,h3,h4,p,a,span,address,li,small{ font-family: "Noto Sans JP", sans-serif; }
ol, ul { list-style:none; line-height:1; }
a{ cursor:pointer; }

* { margin:0; padding:0; }
img { max-width:100%; width:100%; height:auto; vertical-align:top; image-rendering:-webkit-optimize-contrast; }

* { min-height:0; min-width:0; }

button { margin:0; padding:0; outline:0; border:0; border-radius:0; color:inherit; vertical-align:middle; text-align:inherit; font: inherit; -webkit-appearance:none; appearance:none; }

.pc{ display:block; }
.sp{ display:none; }

@media screen and (min-width:769px){
	a[href*="tel:"] {
		pointer-events:none;
		cursor:default;
		text-decoration:none;
	}
}
@media only screen and (max-width: 768px) {
	.pc{ display:none; }
	.sp{ display:block; }
}


/*-----------------------------------------------------
header
----------------------------------------------------- */
header{ width:100%; }
header .h_inner{ height:160px; display:flex; justify-content:center; flex-direction:column; align-items:center; gap:5px; }
header .h_inner h1{ font-size:30px; font-weight:700; color:#00008c; }
header .h_inner a{ width:min(360px,45%); margin:0 auto; }

@media only screen and (max-width: 768px) {
	header .h_inner{ height:90px; flex-direction:column; gap:0; }
	header .h_inner h1{ font-size:20px; }
}

/*-----------------------------------------------------
愛知TOP
----------------------------------------------------- */
main .kv{ background-color:#0a86dc; background-image:radial-gradient(circle, #2b99ff 1px, transparent 1px); background-position:0 0; background-size:19px 19px; padding:0 0 78px; position:relative; }
main .kv::before{ content:""; width:100%; height:70px; background:rgb(255,255,255); background:linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(10,134,220,1) 100%); display:block; position:absolute; top:0; left:0; z-index:1; }
main .kv div{ width:min(900px,90%); margin:0 auto 20px; position:relative; z-index:2; }
main .kv .btn,main .content_wrap .btn{ width:min(710px,80%); margin:0 auto; display:block; }

main .content_wrap{ background:#dcebf9; padding:80px 0; }
main .content_wrap.btm_li{ padding:80px 0 0; }
main .content_wrap .content_inner{ width:min(900px,90%); margin:0 auto; }
main .content_wrap .content_inner.content_li{ margin:60px auto 0; }
main .content_wrap .content_inner .seminar_catch{ width:min(802px,90%); margin:0 auto 30px; }
main .content_wrap .content_inner .seminar_box{ position:relative; }
main .content_wrap .content_inner .seminar_box a{ width:100px; position:absolute; bottom:15px; right:40px; }
main .content_info{ width:min(900px,90%); margin:0 auto; padding:20px 0 0; }
main .content_info .btn{ width:min(710px,80%); margin:0 auto; display:block; }
main .quote,main .btm_quote{ font-size:14px; line-height:20px; margin:60px 0 0; }
main .quote.center{ text-align:center; margin:0 0 50px; display:flex; justify-content:center; }
main .quote.center span{ text-align:left; }
main .quote li{ font-size:14px; line-height:20px; display:flex; }
main .quote li::before{ content:"※"; }
main .btm_quote li:last-of-type{ margin-top:20px; }

main #time_table{ padding:60px 0; }
main #time_table .time_table_inner{ width:min(900px,90%); margin:0 auto; }
main .table_pc{ display:block; }
main .table_sp{ display:none; }
main .btn_flx{ width:min(740px,90%); margin:0 auto; display:flex; justify-content:space-between; }
main .btn_flx a:first-of-type{ width:53%; }
main .btn_flx a:last-of-type{ width:45%; }

main .f_cnt{ background:url(../images/f_cnt_bg.jpg) no-repeat center / cover; padding:40px 0 230px; }
main .f_cnt .f_cnt_inner{ width:min(900px,90%); margin:0 auto; }
main .f_cnt h2{ font-size:40px; font-weight:700; text-align:center; color:#00008c; padding:0 0 20px; }

@media only screen and (max-width:900px) {
}

@media only screen and (max-width: 768px) {
	main .kv{ padding:20px 0 80px; }
	main .kv::after{ width:90%; height:28%; bottom:15%; top:unset; }
	main .kv div{ top:0; }
	main .kv .btn{ top:0; }

	main .quote.center{ flex-direction:column; gap:2px; }
	main .btn_flx{ flex-direction:column; gap:10px; }
	main .btn_flx a:first-of-type,main .btn_flx a:last-of-type{ width:100%; }
	main .table_pc{ display:none; }
	main .table_sp{ display:block; }

	main .f_cnt{ background:url(../images/f_cnt_bg_sp.jpg) no-repeat center / cover; padding-top:50px; }
	main .f_cnt h2{ font-size:26px; line-height:42px; }
	main .f_cnt .f_logo{ width:156px; }
}

/*-----------------------------------------------------
footer
----------------------------------------------------- */
footer{ background:#00008c; padding:40px 0 10px; }
footer .block_logo{ width:min(650px,80%); margin:0 auto; }
footer .tel{ width:min(750px,80%); padding:30px 0 35px; margin:0 auto; display:flex; justify-content:space-between; }
footer .tel a:first-of-type{ width:49%; }
footer .tel a:last-of-type{ width:40%; }
footer .f_copy{ width:min(750px,80%); margin:0 auto; }
footer address{ font-size:16px; line-height:26px; text-align:center; color:#fff; margin:8px 0 5px; }
footer .print{ font-size:12px; line-height:16px; width:min(750px,80%); margin:20px auto 10px; color:#fff; }
footer small{ font-size:12px; text-align:center; color:#fff; display:block; }
footer .sns_link{ width:220px; margin:50px auto 30px; display:flex; align-items:center; justify-content:space-between; }
footer .sns_link li{ width:32px; }

@media only screen and (max-width: 768px) {
	footer{ padding:40px 0 20px; }
	footer .block_logo{ width:100%; max-width:300px; }
	footer .tel{ width:100%; max-width:300px; flex-direction:column; gap:20px; }
	footer .tel a:first-of-type{ width:100%; }
	footer .tel a:last-of-type{ width:81%; }
	footer .f_copy{ width:100%; max-width:300px; }
	footer address{ font-size:14px; line-height:24px; }
	footer .print{ line-height:20px; margin:0 auto 35px; }
	footer small{ font-size:11px; line-height:16px; }
}