@charset "utf-8";
/*
	Last Update: 2025/07/01
	Auther: iw
*/
/*===================================================================
	top
===================================================================*/
#top_mainimage_wrap, #top_mainimage, #top_mainimage .unit { position:relative; height:90vh; }
#top_mainimage { overflow:hidden; }
#top_mainimage .unit img { object-fit:cover; width:100%; height:100%; }
#top_mainimage .canvas_wrap { position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; mix-blend-mode:overlay; transition:opacity 0.7s; }
#top_mainimage_text { position:absolute; left:0; padding:10px; }
#top_mainimage_text .top_mainimage_text_wrap { padding:80px 0 0 20px; color:#fff; text-shadow:0 0 5px rgba(0,0,0,0.9); }
#top_mainimage_text .title { font-weight:bold; font-size:2.75em; margin-bottom:20px; line-height:1.4; }
#top_mainimage_text .text { font-weight:500; font-size:1.15em; line-height:1.7; }
	@media (max-width: 575px){
		#top_mainimage_text .top_mainimage_text_wrap { padding:40vw 0 0 0; }
		#top_mainimage_text .title { font-size:1.9em; letter-spacing:-2px; }
		#top_mainimage_text .text { font-size:1em; }
	}
	@media (min-width: 576px) and (max-width: 767px){
		#top_mainimage_text .top_mainimage_text_wrap { padding:30vw 0 0 0; }
		#top_mainimage_text .title { font-size:2.25em; }
		#top_mainimage_text .text { font-size:1em; }
		
	}
	@media (max-width: 767px){
		#top_mainimage_wrap, #top_mainimage, #top_mainimage .unit { height:80vh; max-height:550px; }
	}

#top_service { position:relative; }
#top_service:before, #top_service:after { content:""; position:absolute; left:0; width:100%; height:200px; }
#top_service:before { transition:opacity 1s 0s; }
#top_service:after { transition:opacity 1s 0.5s; }
#top_service:not(.plx_on):before, #top_service:not(.plx_on):after { opacity:0; }
#top_service:before { background:rgba(127,225,45,0.3); top:-130px; clip-path:polygon(0 50%, 100% 0%, 100% 100%, 0% 80%); }
#top_service:after { background:rgba(204,251,75,0.3); top:-80px; clip-path:polygon(0 0, 100% 60%, 100% 75%, 0% 100%); }
#top_service .title { font-size:1.75em; margin-bottom:20px; color:var(--color1); }
	@media (max-width: 767px){
		#top_service .photo { margin-bottom:20px; text-align:center; }
	}

#top_news { background:#faffeb; }
.news_unit { margin-bottom:30px; }
.news_unit a { display:block; background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 0 4px rgba(0,0,0,0.1); }
.news_unit a > span { display:block; }
.news_unit .photo { aspect-ratio:16 / 9; }
.news_unit .photo img { object-fit:cover; width:100%; height:100%; }
.news_unit .text { padding:10px 15px 20px; }
.news_unit .date { display:block; color:#777; margin-bottom:5px; }
.news_unit .title { display:block; font-weight:500; line-height:1.4; }
body.pc .news_unit a:hover .title { text-decoration:underline; }
	@media (max-width: 575px){
		.news_unit a { display:flex; align-items:center; }
		.news_unit .photo { aspect-ratio:1 / 1; width:45%; max-width:100px; }
	}

#top_company { background:#faffeb; }


/*===================================================================
	parts
===================================================================*/
.hl_1 { text-align:center; margin-bottom:40px; }
.hl_1 .main { font-size:2.75em; color:var(--color2); letter-spacing:2px; line-height:1.0; font-weight:bold; }
.hl_1 .main._mini { font-size:2.25em; }
.hl_1 .sub { margin-top:10px; letter-spacing:2px; }
	@media (max-width: 575px){
		.hl_1 { margin-bottom:30px; }
		.hl_1 .main { font-size:2em; }
		.hl_1 .main._mini { font-size:2em; }
	}
	@media (min-width: 576px) and (max-width: 767px){
		.hl_1 { margin-bottom:30px; }
		.hl_1 .main { font-size:2.5em; }
	}

.hl_2 { font-weight:bold; margin-bottom:20px; font-size:2em; }
.hl_3 { font-weight:bold; margin-bottom:30px; font-size:1.75em; }
.hl_4 { font-weight:bold; margin-bottom:20px; font-size:1.5em; border-bottom:1px solid var(--color2); padding:0 0 5px; color:var(--color2); }

.button._type1 { border:2px solid var(--color1); padding:8px 10px; min-width:200px; border-radius:50px; }
.button._type1 > span { color:var(--color1); font-weight:500; }
body.pc .button._type1:hover { border-radius:0; }

.tbl_1 { width:100%; }
.tbl_1 tr > * { border:3px solid #fff; }
.tbl_1 tbody tr > th { background:#faffeb; font-weight:bold; }
.tbl_1 tbody tr > td { background:#fbfbfb; }
.tbl_1 tfoot tr > * { font-weight:bold; }
	@media (max-width: 575px){
		.tbl_1:not(.tbl_sp) tr > * { padding:10px; }
		.tbl_1.tbl_sp tr > * { padding:10px 5px; }
	}
	@media (min-width: 576px){
		.tbl_1 tr > * { padding:15px; }
	}

.tbl_service { width:100%; }
.tbl_service tr > * { border:3px solid #fff; }
.tbl_service thead tr > th { background:var(--color1); font-weight:bold; text-align:center; color:#fff; }
.tbl_service tbody tr > th { background:#faffeb; font-weight:bold; }
.tbl_service tbody tr > td { background:#fbfbfb; }
.tbl_service tfoot tr > * { font-weight:bold; }
	@media (max-width: 575px){
		.tbl_service:not(.tbl_sp) tr > * { padding:10px; }
		.tbl_service.tbl_sp tr > * { padding:10px 5px; }
	}
	@media (min-width: 576px){
		.tbl_service tr > * { padding:15px; }
		.tbl_service tbody tr > th { width:150px; }
	}

.service_unit { margin-bottom:10px; border-radius:20px; background:var(--color1); padding:20px; color:#fff; }
.service_unit .service_unit_point { text-align:center; font-weight:bold; }
.service_unit .service_unit_title { display:flex; align-items:center; justify-content:center; min-height:80px; }
.service_unit .service_unit_title_in { text-align:center; }
.service_unit .service_unit_title_in > span { display:block; line-height:1.2; }
.service_unit .service_unit_title_in ._small {}
.service_unit .service_unit_title_in ._middle { font-size:1.5em; }
.service_unit .service_unit_title_in ._large { font-size:2.25em; }
.service_unit_text { margin-bottom:30px; }

/*===================================================================
	entry
===================================================================*/
.entry ul > li:before { content:"●"; color:var(--color2); }
.entry ul > li > ul > li:before { content:"■"; color:var(--color1); }
.entry ol > li:before { color:var(--color2); }
.entry ol > li > ol > li:before { color:var(--color1); }
.entry table thead th { background:var(--color2); color:#fff; }
.entry table thead td { background:var(--color1); color:#fff; }
.entry table tbody th { background:#faffeb; }
.entry table tbody td { background:#fff; }

