body#index { background: url(/ja/images/common/master_bg.jpg) no-repeat center top; background-size: cover; background-attachment: fixed;}
main { padding: 120px 0 0; }

.lv1_top { color: var(--r_blue); font-family: var(--r_popi); font-size: 62px; padding-bottom: 40px; margin-bottom: 30px; border-bottom: var(--r_graylin) 1px solid; font-weight: 400; }
.lv1_sttl { color: var(--r_blue); font-size: 18px; font-weight: 700; padding-right: 3.5em; }
@media (max-width: 960px) {
	.lv1_top { font-size: 36px; padding-bottom: 24px; margin-bottom: 16px; }
	.lv1_sttl { width: 100%; display: block; margin-bottom: 10px; }
}
@media (max-width: 767px) {
	body { font-size: 13px; }
	body#index { background: none; position: relative; background-attachment: scroll; }
	body#index:before { content: ""; display:block; position:fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: url(/ja/images/common/master_bg_sp.jpg) center / cover no-repeat; z-index: -1; }
}

/* -------------- top_area ----------------*/
#top_slider { margin: 0 auto; width: 89vw; height: 44.5vw; border-radius: 16px; overflow: hidden; background-color: #aaa; z-index: 10; max-width: 1400px; max-height: 700px;}
.slide_item { display: block; position: relative; width: 100%; height: 100%; }
.slide_item img { display: block; position: relative; }
.slide_item .top_copy { z-index: 11; position: absolute; left: 50%; transform: translateX(-50%); }
.slide_item a { z-index: 12; position: absolute; left: 50%; transform: translateX(-50%); }
#tsi01 .top_copy { top: 53%; color: var(--r_graytx); font-size: 20px; font-weight: 700; filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, .15));}
#tsi01 .btn01 { top: 80%; }
#tsi02 .top_copy { top: 60%; color: #fff; font-size: 36px; font-weight: 700; filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, .3)); text-align: center; }
#tsi02 .btn01 { top: 75%; }
#tsi03 .top_copy { top: 35%; width: 50%; }
#tsi03 .btn01 { top: 70%; }

.slide_item .top_copy, .slide_item .btn01 { opacity: 0; transform: translateY(20px); transition: none;  white-space: nowrap;}
.slide_item .ani_copy { animation: fadeUp 0.6s ease-out forwards; }
.slide_item .ani_btn { animation: fadeUp 0.6s ease-out forwards; animation-delay: 0.3s;}
@keyframes fadeUp {
	from { opacity: 0; transform: translateX(-50%) translateY(20px); }
	to { opacity: 1; transform: translateX(-50%) translateY(0); }
}

#topic_nav { background: linear-gradient(180deg, #005BD7 0%, #043C78 100%); z-index: 4; margin-top: -22.25vw; padding: calc(22.25vw + 80px) 30px 60px; }
.icon_nav_tx { font-size: 18px; color: #fff; text-align: center; margin-bottom: 40px; }
#main25 ul.icon_nav { max-width: 1200px; border-radius: 10px; background-color: #fff; margin: 0 auto; display: flex; justify-content: space-between; overflow: hidden; height: 150px; }
#main25 ul li.icon_panel { width: 200px; border-right: 1px var(--r_gray) solid; text-align: center; list-style: none; margin-bottom: 0; }
#main25 ul li.icon_panel:last-child { border-right: 0; }
#main25 ul li.icon_panel img { width: 64px; display: block; margin: 0 auto; margin-bottom: 10px; }
#main25 ul li.icon_panel a { display: block; padding: 24px; height: 100%; background: url(/ja/images/common/arrow01.png) right 8px bottom 8px / 24px no-repeat; transition: all 0.3s ease; line-height: 1.5; }
#main25 ul li.icon_panel a[target="_blank"] { display: block; padding: 24px; height: 100%; background: url(/ja/images/common/outlink2.png) right 8px bottom 8px / 24px no-repeat; }
#main25 ul li.icon_panel a:hover { background: url(/ja/images/common/arrow01_h.png) right 8px bottom 8px / 24px no-repeat var(--r_blue); color: #fff; }
#main25 ul li.icon_panel a[target="_blank"]:hover { background: url(/ja/images/common/outlink2_h.png) right 8px bottom 8px / 24px no-repeat var(--r_blue); color: #fff; }

@media (min-width: 1575px) {
	#topic_nav { margin-top: -350px; padding: calc(350px + 80px) 30px 60px; }
}
@media (max-width: 960px) {
	#tsi01 .top_copy { width: 60%;}
	#tsi01 .btn01 { font-size: 13px; }
	#tsi02 .top_copy { font-size: 22px; }
	#tsi02 .btn01 { font-size: 13px; }
	#tsi03 .top_copy { font-size: 18px; }
	#tsi03 .btn01 { font-size: 13px; }
	.icon_nav_tx { font-size: 18px }
	.icon_panel { font-size: 13px; }
}
@media (max-width: 767px) {
	main { padding-top: 100px; }
	#top_slider { margin: 0 auto; width: calc(100vw - 60px); aspect-ratio: 3 / 4; height: auto; }
	#tsi01 .top_copy { top: 58%; color: var(--r_graytx); font-size: 14px; font-weight: 700; white-space: nowrap;  width: 80%; }
	#tsi01 .btn01 { top: 70%; white-space: nowrap; font-size: 13px; }
	#tsi02 .top_copy { top: 60%; font-size: 18px; }
	#tsi02 .btn01 { top: 70%; white-space: nowrap; font-size: 13px; }
	#tsi03 .top_copy { top: 40%; width: 85%; }
	#tsi03 .btn01 { top: 65%; white-space: nowrap; font-size: 13px; }
	#topic_nav { margin-top: calc(0px - calc(100vw - 60px) / 3 * 2); padding: calc( calc(100vw - 60px) / 3 * 2 + 80px) 30px 60px; }
	#main25 ul.icon_nav { flex-wrap: wrap; height: auto; }
	#main25 ul li.icon_panel { width: 50%; border-bottom: 1px var(--r_gray) solid; }
	#main25 ul li.icon_panel:nth-child(2n) { border-right: 0; }
	#main25 ul li.icon_panel:nth-last-child(-n+2) { border-bottom: 0; }
	#main25 ul li.icon_panel img { width: 48px; }
	#main25 ul li.icon_panel a { font-size: 13px; }
	#main25 ul li.icon_panel a { background: url(/ja/images/common/arrow01.png) right 8px bottom 8px / 18px no-repeat; transition: all 0.3s ease; }
	#main25 ul li.icon_panel a[target="_blank"] { background: url(/ja/images/common/outlink2.png) right 8px bottom 8px / 18px no-repeat; }
}

/* -------------- bpo_bnr ----------------*/
#bpo_bnr {background: #ebf9ffb3; padding: 80px 30px; }
.bpo_bnrs { display: block; border-radius: 10px; max-width: 1200px; margin: 0 auto; }
@media (max-width: 767px) {
	#bpo_bnr {padding: 40px 30px; }
}

/* -------------- pick_up ----------------*/
#pickup { padding: 140px 0; overflow: hidden;}
#pickup .sect_in { max-width: 1260px; width: 100%; padding: 0 30px; }
#pickup_slider { width: 100%; margin: 40px 0; transform: translateX( calc( calc(100% - 1200px) / 2 - 10px ) ); position: relative; }
.slide2_item { display: block; margin: 10px 40px 10px 10px; box-shadow: 0px 4px 10px 0px #00000014; border-radius: 10px; overflow: hidden; }
.slide2_item .pickup_img { width: 100%; transition: all 0.3s ease; }
.slide2_item:hover .pickup_img { opacity: .7; }
.slide2_item .pu_txbox { padding: 20px 24px 24px 24px; background-color: #fff; }
.slide2_item .pu_tag { border: 1px solid var(--r_graytx2); border-radius: 4px; font-size: 12px; line-height: 1; color: var(--r_graytx2); padding: 0px 8px 1.5px; margin-right: 5px; }
.slide2_item h3 { font-size: 18px; font-weight: 700; margin: 10px 0; height: 76px; line-height: 1.5; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3; transition: all 0.3s ease; }
.slide2_item:hover h3 { color: var(--r_blue); }
.pu_date { font-size: 12px; color: var(--r_graytx2); }
#pickup_slider .slick-prev { left: 10px; top: calc(100% + 70px); width: 56px; height: 56px; background: url(/ja/images/common/arrow_sbr.png) center / 12px no-repeat #fff; border: var(--r_gray) 1px solid; border-radius: 6px; transition: all 0.3s ease; }
#pickup_slider .slick-prev:before { content: ""; }
#pickup_slider .slick-next { left: 80px; top: calc(100% + 70px); width: 56px; height: 56px; background: url(/ja/images/common/arrow_sb.png) center / 12px no-repeat #fff; border: var(--r_gray) 1px solid; border-radius: 6px; transition: all 0.3s ease; }
#pickup_slider .slick-next:before { content: ""; }
.slick-prev img, .slick-next img { width: 12px; vertical-align: bottom;}
#pickup_slider .slick-prev:hover, #pickup_slider .slick-next:hover { background-color: var(--r_sky); }
.bar_box { width: calc(100% - 170px - 30px - 160px); }
.progress-bar { width: 100%; height: 4px; background-color: #e0e0e0; border-radius: 2px; overflow: hidden; margin: 0 0 0 auto; }
.progress-fill { height: 100%; background-color: #0071ce; width: 0%; transition: width 1s ease;}
.pu_under { display: flex; justify-content: flex-end; align-items: center; gap: 30px; }

@media (max-width: 1280px) {
	#pickup_slider { transform: translateX(20px); }
}
@media (max-width: 960px) {
	#pickup { padding: 70px 0; }
	.slide2_item h3 { font-size: 14px; height: 63px; }
	.slide2_item .pu_txbox { padding: 16px 20px 20px 20px; }
}
@media (max-width: 767px) {
	#pickup_slider { width: 160%; }
	.pu_under { flex-direction: column;align-items: flex-end; }
	.bar_box { width: 100%; }
}

/* -------------- news ----------------*/
#news { padding: 140px 30px; overflow: hidden; background: #ebf9ffb3;}
#main25 .news_tabs { display: flex; margin: 16px 0 30px; }
#main25 .news_tabs ul { width: 220px; margin-top: 28px; margin-left: 0;}
#main25 .news_tabs ul li { margin-bottom: 40px; color: var(--r_graytx2); transition: all 0.3s ease; list-style: none; }
#main25 .news_tabs ul li:hover { color: var(--r_blue); cursor: pointer; }
#main25 .news_category li.active { font-weight: bold; color: var(--r_black); }
#main25 .news_category li.active:before { content: "●　"; color: var(--r_blue); }
#main25 .news_item { display: none; display: flex; justify-content: flex-start; align-items: baseline; gap: 20px; padding: 28px 0; border-bottom: var(--r_graylin) 1px solid; }
#main25 .news_item .date { display: inline-block; color: var(--r_graytx2); width: 75px; }
#main25 .news_item .label { display: inline-block; color: var(--r_graytx2); font-size: 13px; line-height: 1; border: 1px var(--r_graytx2) solid; padding: 1px 8px 2px; border-radius: 4px; text-align: center; width: 148px; }
#main25 .news_item .text { flex: 1; line-height: 1.7; }
#main25 .news_item .text a:hover { transition: all 0.3s ease; }
#main25 .news_item .text a:hover { opacity: .7; }
#main25 .news_item .text a.outlink { padding-right: 27px!important; background: url(/ja/images/common/outlink.png) right 7px center / 12px no-repeat; }
#main25 .news_list { flex: 1; }
#main25 .eve_tx { color: var(--r_blue); padding-right: 20px; }


@media (max-width: 960px) {
	#news { padding: 70px 30px; }
	#main25 .news_item { display: block; }
	#main25 .news_item .date { margin-right: 20px; }
	#main25 .news_item .text { display: block; margin-top: 10px; }
}
@media (max-width: 767px) {
	#main25 .news_tabs { flex-direction: column; }
	#main25 .news_tabs ul { width: 100%; margin: 32px 0 0 0; display: flex; justify-content: flex-start; gap: 18px; }
	#main25 .news_tabs ul li { margin-bottom: 20px; font-size: 11px; transition: all 0.3s ease; }
}

/* -------------- action ----------------*/
#action { padding: 140px 30px; overflow: hidden; }
.action_panel { display: flex; justify-content: space-between; border-radius: 10px; overflow: hidden; box-shadow: 0px 4px 10px 0px #00000014; margin-top: 50px; }
.action_item { width: 25%; background-color: #fff; border-right: 1px var(--r_graylin) solid; position: relative; }
.action_item:last-child { border-right: 0; }
.item_up { padding: 30px 30px 90px 30px; text-align: center; }
.item_up .action_logo { height: 45px; margin-bottom: 16px; }
.item_up .action_thum { width: 100%; aspect-ratio: 7 / 4; object-fit: cover; }
.item_up p { font-size: 14px; margin-bottom: 20px; margin-top: 0 !important; }
.article { border-radius: 10px; overflow: hidden; }
.art_tx { padding: 8px 12px 12px; text-align: left; font-size: 13px; background: var(--r_sky2); font-weight: 600; }
.art_tx:after { content: ""; display: inline-block; width: 18px; height: 12px; background: url(/ja/images/common/outlink.png) center right / 12px no-repeat; }
.link_bottom { display: block; text-align: center; padding: 20px; border-top: 1px var(--r_graylin) solid; font-weight: 500; background: url(/ja/images/common/outlink2.png) right 20px bottom 18px / 24px no-repeat #fff; transition: all 0.3s ease; position: absolute; bottom: 0; left: 0; width: 100%; }
.link_bottom:hover { color: #fff; background: url(/ja/images/common/outlink2_h.png) right 20px bottom 18px / 24px no-repeat var(--r_blue); }

@media (max-width: 1150px) {
	.action_panel { display: flex; flex-wrap: wrap; }
	.action_item { width: 50%; }
}
@media (max-width: 960px) {
	#action { padding: 70px 30px; }
	.item_up { padding: 20px 20px 80px 20px; }
	.item_up .action_logo { margin-bottom: 12px; }
}
@media (max-width: 767px) {
	.action_panel { flex-direction: column; box-shadow: none; }
	.action_item { width: 100%; border-radius: 10px; overflow: hidden; box-shadow: 0px 4px 10px 0px #00000014; margin-bottom: 15px; }
}

/* -------------- case ----------------*/
#case { padding: 140px 0; overflow: hidden; background: #ebf9ffb3;}
#case .sect_in { max-width: 1260px; width: 100%; padding: 0 30px; }
#case_slider { margin: 36px 0; }
a.case_item { display: block; width: 20%; padding: 30px; aspect-ratio: 1 / 1; border-radius: 10px; box-shadow: 0px 4px 10px 0px #00000014; margin: 10px 1vw; background: url(/ja/images/common/outlink2.png) right 16px bottom 16px / 24px no-repeat #fff; transition: all 0.3s ease; }
a.case_item:hover { opacity: .7; }
.case_logo { width: 100%; height: 100%; object-fit: contain; }

@media (max-width: 960px) {
	#case { padding: 70px 0; }
	.case_item { margin: 15px;}
}
@media (max-width: 767px) {
	.case_item { margin: 10px;}
}

#index footer#foot25 { margin-top: 0; }




