@charset "utf-8";

/*
/*    CSS(pctb) MENU
*/


/*
*********************************************************************************
/*
/* 大枠
/*
/*******************************************************************************/
.pc_tac {
	text-align: center
}
.in_over {margin-left: -31px;}
body {
	min-width: 1280px;
}
#wrapper {
	padding-top:80px;
}
.upage main {
	padding-bottom: 120px;
}


.aside_con {
	/* position: sticky; */
	/* top: 100px; */
}
.aside_con_li > li.is-current-page {
}

.aside_con_li > li.is-current-page a {
    color: var(--green);
    font-weight: 700;
}

.aside_con_li > li.is-current-page a::before {
	background: var(--green);
	transition: 0.5s ease;
}

.main_con.main_con_sidewrap {
	display: grid;
	grid-template-columns: 1fr 900px;
	gap: 50px;
	grid-template-areas:
		"left right";
}

.main_con.main_con_sidewrap article {
	grid-area: right;
}

.main_con.main_con_sidewrap aside {
	grid-area: left;
	display: block;
	align-self: start;
	position: sticky;
	top: 100px; /* 止めたい位置 */
	align-self: start; /* これがないと下まで伸びてしまう */
	height: fit-content; /* 中身の高さに合わせる */
}

.main_con.main_con_sidewrap aside .privacy_mark {
	border: 1px solid #ccc;
	width: 112px;
	margin-top: 15px;
	display: none;
	.cat02_privacypolicy & {
		display: block;
	}
}

/*
*********************************************************************************
/*
/* header
/*
/*******************************************************************************/
header {
	height: 80px;
	margin-top: -80px;
}

header .h_inner {
	width: calc(100% - 75px);
	margin: 0 30px 0 45px;
	display: grid;
	grid-template-columns: 200px 1fr;
}

header .logo {
	height: 80px;
	width: 200px;
}

header .hamburger {
	display: none;
}

header .hf_nav {
	display: grid;
	grid-template-columns: 1fr 265px;
	align-items: center;
	gap: 180px;
}

header .hf_nav .subnav {display: block !important;opacity: 0;pointer-events: none;position: fixed;top: 90px;left: calc(50% - 600px);width: 1200px;transition: 0.5s ease;background: #fff;border-radius: 20px;padding: 50px;}

header .hf_cta {
	width: 265px;
	gap: 5px;
	grid-template-columns: 1fr 1fr;
	display: grid;
	z-index: 10;
}

header .hf_cta a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	border-radius: 5px;
	text-decoration: none;
	height: 50px;
	padding-top: 0px;
}
header .h_search {
	width: 16px;
	height: 16px;
	top: 30px;
	right: 390px;
}
header .nav_li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 25px;
	position: relative;
}
header .nav_li>li {
	cursor: pointer;
	position: relative;
	isolation: isolate;
}
header .nav_li>li>.main_nav {
	text-decoration: none;
	font-size: 1.4rem;
	position: relative;
		color: var(--link) !important;
}
header .nav_li>li::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 100vw;
		height: 450px;
		content: "";
		clip-path: polygon(20px 0%, calc(100% - 20px) 0%, 100% 100%, 0% 100%);
		background: transparent;
		top: calc(100% + 0px);
		left: 50%;
		transform: translate(-50%, 0%);
		pointer-events: none;
		z-index: -1;
		cursor: auto;
}
header .nav_li>li::after {
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% + 50px);
	height: 70px;
	content: "";
	clip-path: polygon(20px 0%, calc(100% - 20px) 0%, 100% 100%, 0% 100%);
	background: transparent;
	top: 0%;
	left: 50%;
	transform: translate(-50%, 0%);
	pointer-events: none;
	z-index: -1;
	cursor: auto;
}

header .nav_li>li:hover::before,
header .nav_li>li:hover::after {
	pointer-events: inherit;
}

header .main_nav.is-current-parent {
    color: var(--green);
}

header .en_page {
	position: absolute;
	top: 20px;
	right: 294px;
	font-size: 1.2rem;
	line-height: 1.5;
}

header .en_page::before {
	position: absolute;
	content: "";
	width: 1px;
	height: 25px;
	background: var(--bo);
	top: 50%;
	left: 0%;
	transform: translate(0%, -50%);
}
header .en_page a {
	display: block;
	text-decoration: none;
	padding: 10px 20px 10px 15px;
	position: relative;
}
header .en_page a::after {
	position: absolute;
	content: "";
	background: url(../img/icon_pdf.svg) no-repeat center center / contain;
	top: 12px;
	right: 0;
	width: 14px;
	aspect-ratio: 1/1;
}
header .nav_li>li:hover>.main_nav + .subnav {
	transition: 0.5s ease;
	opacity: 1;
	pointer-events: inherit;
}

header .nav_li .subnav_con {
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 50px;
}

header .nav_li .subnav_con .tl_block .name .jp {
	font-weight: 700;
	font-size: 2.8rem;
}

header .nav_li .subnav_con .tl_block .name .en {
	font-size: 1.2rem;
}

header .nav_li .subnav_con figure {
	border-radius: 10px;
	overflow: hidden;
}

header .nav_li .subnav_con .name {
	height: 95px;
	display: flex;
	flex-direction: column;
}
header .nav_li .subnav_con .top_link a {
	font-weight: 700;
	font-size: 1.8rem;
}

header .nav_li .subnav_con .subnav_menu a {
	text-decoration: none;
	padding-left: 18px;
	position: relative;
	display: block;
}

header .nav_li .subnav_con .subnav_menu a::before {
	position: absolute;
	content: "";
	width: 8px;
	aspect-ratio: 1/1;
	background: var(--green);
	border-radius: 50%;
	left: 0;
	top: 13px;
}

header .nav_li .subnav_con .top_link {
	height: 95px;
	padding-top: 15px;
}

header .nav_li .subnav_con .subnav_li {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px 25px;
}
header .nav_li .subnav_con .subnav_li+p {
	margin-top: 25px !important;
}
header .nav_li .subnav_con .subnav_li+p a{ 
	padding-left:0;
}
header .nav_li .subnav_con .subnav_li+p a::before {
	display: none !important;
}

header .nav_li .subnav_con .subnav_li a {
	padding-bottom: 13px;
}

header .nav_li .subnav_con .subnav_li a:before {
	top: 10px;
}

header:has( .nav_li>li:hover >.main_nav) ~main {
	position: relative;
}

header:has( .nav_li>li>.main_nav+.subnav) ~main::before {
	position: absolute;
	content: "";
	background: rgb(0 0 0 / 40%);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: 0.5s ease;
	opacity: 0;
	z-index: 900;
	pointer-events: none;		
}

header:has( .nav_li>li:hover >.main_nav+.subnav) ~main::before {
	transition: 0.5s ease;
	opacity: 1;
}

header .nav_li .subnav_con .subnav_li li {
	border-bottom: 1px solid var(--bo_l);
}

header .h_search_box {
	width: 980px;
	top: 90px;
	left: 50%;
	transform: translate(-50%, 0%);
	border-radius: 20px;
	padding: 19px;
}

.h_search_form {
	grid-template-columns: 870px 1fr;
	gap: 10px;
}

.h_search_form input[type="search"] {
	font-size: 1.4rem;
	padding: 6px 18px;
}

.h_search_form .h_search_submit {
	border-radius: 5px;
}

.h_search_form .h_search_submit::after {
	width: 21px;
}

/*
*********************************************************************************
/*
/* footer + pagetop
/*
/*******************************************************************************/


#pagetop {
	display: block;
	position: fixed;
	z-index: 100;
	bottom: 20px;
	left: calc(50% + 540px);
	width: 60px;
	border-radius: 50%;
	overflow: hidden;
	border: 1px solid var(--green);
}

footer {
	padding: 100px 0 40px 0;
}

footer .f_logo {
	width: 270px;
	margin-bottom: 0;
	grid-column: 1/2;
	grid-row: 1/2;
	position: absolute;
	top: 0;
	left: 0;
}

footer .inner {
	position: relative;
}

footer .hf_nav {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 0 100px;
	align-items: start;
	grid-template-rows: min-content 1fr;
}

footer .nav_li {
	grid-column: 2/ 3;
	grid-row: 1/ 3;
	margin-bottom: 0;
	display: grid;
	grid-template-columns: 200px 170px 200px 1fr;
	border: none;
}

footer .f_ad {
	grid-column: 1/2;
	grid-row: 1/2;
	padding-top: 90px;
	line-height: 1.8;
}

footer .hf_cta {
	margin-top: 25px;
	grid-column: 1/2;
	grid-row: 2/3;
	width: 270px;
}

footer .f_ad>li+li {
	margin-top: 10px;
}

footer .hf_cta a {
	font-size: 1.4rem;
	padding: 12px 10px 11px 10px;
	border-radius: 5px;
}


footer .hf_cta >li+li {
	margin-top: 10px;
}

footer .small_wrap {
	margin-top: 55px;
	padding-top: 25px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	flex-direction: row-reverse;
}

footer .footer_b_li {
	gap: 30px;
}

footer .footer_b_li li:nth-child(2)::after {
	display: none;
}

footer .small_wrap small {font-size: 1rem;margin: 0;}

footer .footer_b_li a {
	padding: 0;
}
footer .nav_li >li>.main_nav {
	padding: 0 0 0 15px;
	margin-bottom: 20px;
}

footer .nav_li>li {
	border: none;
}

footer .nav_li >li>.main_nav::before {
	width: 8px;
	top: 10px;
}

footer .nav_li >li::after, footer .nav_li >li>.main_nav::after {display: none;}

footer .nav_li >li>.subnav {
	display: block;
	font-size: 1.4rem;
	padding-bottom: 0;
}

footer .nav_li >li>.subnav a {
	padding: 0;
}

footer .nav_li >li>.subnav li+li {
	margin-top: 10px;
}
/*
*********************************************************************************
/*
/* aside
/*
/*******************************************************************************/



.aside_con_li {font-size: 1.4rem;}

.aside_con_li a {
	text-decoration: none;
	display: block;
	padding: 8px 0 8px 18px;
	position: relative;
}

.aside_con_li a::before {
	position: absolute;
	width: 8px;
	aspect-ratio: 1/1;
	content: "";
	border: 1px solid var(--green);
	border-radius: 50%;
	left: 0;
	top: 16px;
	transition: 0.5s ease;
	background: #fff;
}

.aside_con_li>li a:hover::before {
	background: var(--green);
	transition: 0.5s ease;
}	
.aside_con .side_bnrbtn,
header .nav_li .subnav_con .subnav_li+p{
	border-radius: 5px;
	width: 187px;
	overflow: hidden;
	margin-top: 10px;
	position: relative;
}

.aside_con .side_bnrbtn {
	overflow: visible;
}

.aside_con .side_bnrbtn::after,
header .nav_li .subnav_con .subnav_li+p::after{
	position: absolute;
	content: "";
	pointer-events: none;
	top: 0;
	left: 0;
	border: 1px solid var(--green);
	width: 100%;
	height: 100%;
	border-radius: 5px;
	z-index: 10;
}
/*
*********************************************************************************
/*
/* モジュール
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
テキスト */

.upage .copy {
	font-size: 3.4rem;
}

.pc_txt14 {
	font-size: 1.4rem;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
タイトル */
.page_tl_wrap {
		height: 370px;
		border-radius: 20px;
		margin: 0 15px;
		width: calc(100% - 30px);
		background-image: url(../img/company/umv_pc.webp);
}
body.cat01_business .page_tl_wrap {
	background-image: url(../img/business/umv_pc.webp);
}

body.cat01_sustainability .page_tl_wrap {
	background-image: url(../img/sustainability/umv_pc.webp);
}
body.cat01_ir .page_tl_wrap {
	background-image: url(../img/ir/umv_pc.webp);
}
body.cat01_recruit .page_tl_wrap {
	background-image: url(../img/recruit/umv_pc.webp);
}
body.cat01_access .page_tl_wrap {
	background-image: url(../img/access/umv_pc.webp);
}
body.cat01_contact .page_tl_wrap {
	background-image: url(../img/contact/umv_pc.webp);
}
body.cat01_newsrelease .page_tl_wrap {
	background-image: url(../img/newsrelease/umv_pc.webp);
}
.page_tl_wrap .inner {
	width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
}
.page_tl_wrap .jp {
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
	font-size: 5rem;
}

.page_tl_wrap .en {
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
	font-size: 1.4rem;
	padding-top: 10px;
}


.en_tl_blue {
	margin-top: 50px;
	font-size: 5rem;
	margin-bottom: 20px;
}

.en_tl_blue>li {
	position: relative;
}
.tl01 {
	font-size: 3.4rem;
	margin-top: 70px;
	margin-bottom: 40px;
}
.tl02 {
	font-size: 1.8rem;
	margin-top: 40px;
	margin-bottom: 15px;
}
.tl03 {
	font-size: 1.6rem;
	margin-bottom: 15px;
	font-size: 1.59rem;
	margin-top: 60px;
}


.tl03.tl03_w_cat {
	grid-template-columns: 62px 1fr;
	gap: 15px;
}

.tl03.tl03_w_cat >.cat {
	padding-block: 7px;
	font-size: 1.6rem;
}

.tl03.tl03_w_cat >.cat03 {
	padding-block: 0.5em 0.4em;
}



.tl03.tl03_w_cat:has(.cat03) {
	grid-template-columns: 106px 1fr;
}
.tl04 {
	font-size: 1.8rem;
	margin-bottom: 15px;
}


.tl_b {
	margin-bottom: 5px;
}

.tl_normal {
	margin-bottom: 10px;
}
.tl_bo {
	font-size: 2.4rem;
	margin-top: 75px;
	padding-bottom: 7px;
	margin-bottom: 40px;
}

.tl_beta {
	padding: 8px 20px 8px 20px;
	margin-top: 50px;
	margin-bottom: 40px;
}
.tl_square {
	margin-top: 30px;
	margin-bottom: 5px;
	font-size: 1.8rem;
	padding-left: 20px;
}
.tl_brand {
	margin-top: 90px;
	margin-bottom: 20px;
	font-size: 2rem;
}

.tl_w_p>p {font-size: 1.4rem;}

.tl_w_p>p.hosoku {
	font-size: 1.2rem;
}

.tl_w_p:has(.tl02) {margin-top: 40px;margin-bottom: 15px;}



.tl_w_p.tl_w_p_spout {
	display: flex;
}

.tl_w_p .tl_bo {
	margin-top: 0;
	margin-bottom: 0;
	border: none;
	padding-bottom: 0;
}

.tl_w_p.tl_w_p_spout:has(.tl_bo) {
	margin-top: 75px;
	padding-bottom: 7px;
	margin-bottom: 40px;
	border-bottom: 2px solid var(--green);
	align-items: flex-end;
}

.tl_w_p .hosoku {
	margin: 0;
	padding-bottom: 4px;
}
.tl_w_p:has(.selectblock) {
	margin-bottom: 45px;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リスト */


.li_check.li_col04 {
	display: grid;
	grid-template-columns: repeat(4, max-content);
	gap: 10px 0px;
	justify-content: space-between;
}

.li_check >li {
	padding-left: 24px;
	white-space: nowrap;
	padding-right: 50px;
}

.li_check.li_col04_last02>li:last-child {
	grid-column: span 2;
}

.li_check>li::before {
	width: 16px;
}
.li_num_wtl > li>.li_tl {
	margin-bottom: 3px;
}
.li_marunum > li:before {
	width: 17px;
	top: 5px;
	font-size: 1.1rem;
}

.li_marunum > li:after {
	width: 17px;
	height: 17px;
	top: 6px;
}
.li_gap>li+li {
	margin-top: 30px;
}
.li_gap_m>li+li {
	margin-top: 15px;
}
.li_gap_s>li+li {
	margin-top: 5px;
}
.sitemap_li>li a {
	font-size: 1.8rem;
	padding-block: 0;
}

.sitemap_li>li::before, .sitemap_li_u>li::before {
	width: 8px;
	height: 8px;
}

.sitemap_li>li::before {
	top: 13px;
}

.sitemap_li>li, .sitemap_li_u>li {
	padding-left: 20px;
}

.sitemap_li_u {
	margin-top: 20px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 30px;
}

.sitemap_li_u>li a {
	font-size: 1.6rem;
	padding: 0;
}

.sitemap_li_u>li+li {
	margin: 0;
}

.sitemap_li_u>li {
	padding-block: 23px 13px;
	border-bottom: 1px solid var(--bo_l);
}

.sitemap_li_u>li::before {
	top: 33px;
}

.sitemap_li_block+.sitemap_li_block {
	margin-top: 75px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リンク */

.link_pdf {
	padding-left: 23px;
}

.link_pdf::before {
		width: 14px;
		height: 15px;
		top: 2px;
}

.link_pdf.mini_txt_pc {
	font-size: 1.45rem;
	&:before {
		top: -1px;
	}
}

.list_pdf>li {
	margin-top: 5px;
	padding-left: 20px;
}

.list_pdf .link_pdf {
	padding-left: 0;
}

.list_pdf>li .link_pdf::before {
	left: -20px;
			top: 0px;
}
.list_pdf>li+li.sub {
	margin-left: 30px;
}

.list_pdf>li+li.sub::after {
	width: 18px;
	left: -23px;
	top: -4px;
	height: 18px;
}

.list_pdf .hosoku::before {
	top: 3px;
}

.list_pdf .hosoku {
	margin-left: -20px;
}

.list_pdf>li:not(.sub)::before {
	display: none;
}
.list_pdf>.li_icon::after {
	width: 14px;
	height: 15px;
	top: 6px;
}
.link_yt a::before {
	width: 23px;
}

.link_yt a {
	padding-left: 33px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ボタン */

.btn {
	font-size: 1.4rem;
	padding: 3px 33px;
	border-radius: 5px;
	min-height: 50px;
}

.btn::after {
	width: 40px;
	right: 6px;
}

.btn_m {
	min-width: inherit !important;
	width: 260px;
}
.btn.btn_blank::after {
	width: 12px;
	right: 12px;
}

.btn.btn_pc_mini {
	padding-inline: 13px 30px;
	width: 130px;
	min-width: inherit !important;
}
*:not(:has(.table_style)) .btn {
	min-width: 400px;
	/* display: inline-block; */
}
.btn.pc_400 {
	width: 	400px;
	min-width: inherit;
}
.btn.pc_380 {
	width: 	380px;
	min-width: inherit;
}
.btn.pc_350 {
	width: 	350px;
	min-width: inherit;
}
.btn.btn_pdf::after, .cat_anchor .btn_pdf::after {
	width: 12px;
	right: 20px;
	top: -2px;
}
.more_listbtn a {
	min-height: 40px;
	padding: 9px 60px 0 0;
	font-size: 1.4rem;
	text-align: right;
	margin-top: 0;
}

.more_listbtn a::before {
	width: 40px;
	left: inherit;
	right: 0;
}
.more_btn_style {
	padding: 0;
	min-height: 40px;
}

.more_btn_style::before {
	width: 40px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リンクパレットlink_palet */
.link_palet {
	grid-template-columns: repeat(3, 1fr);
	grid-template-*c: ;
	gap: 30px;
}

.link_palet>li {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	width: 100%;
}

.link_palet a {
	padding: 25px;
	border-radius: 5px;
}


.link_palet a::after {
	width: 45px;
	height: 45px;
	top: 13px;
	right: 10px;
}

.link_palet .txt {
	font-size: 1.4rem;
	margin-top: 10px;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リンクパネルlink_panel */
.link_panel a {
	width: 604px;
	border-radius: 10px;
	display: grid;
	grid-template-columns: 280px 1fr;
	margin-inline: auto;
}

.link_panel a .link_txt {
	font-size: 1.4rem;
}

.link_panel a .txt_block {
	padding: 24px;
}

.link_panel a figure img {
	object-fit: cover;
	height: 100%;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
画像 */

.imgr,
.imgr.img_bo::after{
	border-radius: 20px;
}

.img_size_s {
	width: 250px;
	margin-inline: auto;
}

.img_size_m {
	width: 500px;
	margin-inline: auto;
}

.img_size_l {
	width: 750px;
	margin-inline: auto;
}

.img_245 {
	width: 245px;
	margin-inline: auto;
}

.img_448 {
	width: 448px;
	margin-inline: auto;
}
.img_550 {width: 550px;	margin-inline: auto;}
.img_528 {
	width: 578px;
	margin-inline: auto;
}
.img_545 {
	width: 545px;
	margin-inline: auto;
}
.img_618.pbss {
	width: 618px;
	margin-inline: auto;
}
.scrollable_w661 .spimg_661 {
	width: 900px;
}
.img_718 {
	width: 718px;
	margin-inline: auto;
}

.img_720 {
	width: 720px;
	margin-inline: auto;
}
.img_746{
	width: 746px;
	margin-inline: auto;
}

figcaption {
	margin-top: 10px;
}
.img_graph img {
	width: 598px;
	margin-inline: auto;
}
.brand_catch {
	width: 408px;
	margin-inline: auto;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
角 */
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
表 */

.table_sp_officer tr>*{
	width: calc(100% / 3) !important;
}

.table_border tr>* {
	padding: 12px 18px;
}
.table_border.table_materiality tr>*:nth-child(1) {
	width: 119px;
}


.table_border.table_materiality_detail tbody tr>* {
	font-size: 1.4rem;
}

.table_border.table_materiality_detail thead tr>*:nth-child(1) {
	width: 200px;
}

.table_border.table_materiality_detail thead tr>*:nth-child(2) {
	width: 310px;
}


.table_style .table_style_box .con_inbox+.con_inbox {
	margin-top: 17px;
	padding-top: 17px;
}
.table_style .table_style_box:has(.table_style_box_tl) {
	padding: 17px 0;
}

.table_style .table_style_box .tl {
	margin-bottom: 0;
	padding-top: 7px;
}
.table_style .table_style_box {
	display: grid;
	grid-template-columns: 200px 1fr;
	padding: 31px 0;
}


.table_style .table_style_box .txtl_box {
	font-size: 2rem;
}
.table_style .table_style_box:has(>.table_style_box_tl) {
	grid-template-columns: 145px 1fr;
}

	.table_style .table_style_box .w_btn.w_btn_96 {
		display: grid;
		grid-template-columns: 1fr 96px;
		align-items: center;
	}
	.table_style .table_style_box .w_btn.w_btn.w_btn_130{
		display: grid;
		grid-template-columns: 1fr 130px;
		align-items: center;
	}


.table_style .table_style_box .w_btn .btn_area {
	margin: 0;
}
.table_style .table_style_box .w_btn .btn {
	padding-inline: 13px 30px;
}

.table_style_box:has(>.tl_normal) {
	padding: 17px 0px;
	grid-template-columns: 145px 1fr;
}

.table_style .con_table_con {
	font-size: 1.4rem;
}

.table_style .con_table:not(:has(>.w_btn)) {
	display: grid;
	grid-template-columns: 95px 1fr;
}
.table_style .table_style_box .con .con_inbox .w_btn.w_btn.w_btn_96  {
	display: grid;
	grid-template-columns: 95px 1fr  96px;
	align-items: center;
}

.table_style .table_style_box .con_table_tl {
	padding-bottom: 0;
}

.table_style .table_style_box .w_btn .btn_area {
	padding-bottom: 0;
}

.table_style .table_style_box .con_table_tl {
	margin-bottom: auto;
}

.table_pccol03 tr>* {
	width: calc(100% / 3) !important;
	padding: 12px;
}

.table_style.table_office02 .table_style_box:has(>.tl_normal) {
	grid-template-columns: 300px 1fr;
}

.table_style .con:not(:has(.tl_b)) {
	padding-top: 2px;
}
.table_style .con:not(:has(.tl_b)) .btn_area {
	margin-top: -2px;
}

.table_style.table_office01 + .table_office01 {
	margin-top: 20px;
}

.table_style.table_office01 .tl_normal,
.table_style.table_office02 .tl_normal {
	padding: 20px;
}

.table_style.table_office01 .table_style_box .con,
.table_style.table_office02 .table_style_box .con {
	padding: 20px 0;
}

.table_style.table_office01 .table_style_box:has(>.tl_normal),
.table_style.table_office02 .table_style_box:has(>.tl_normal) {
	gap: 20px;
	grid-template-columns: 160px 1fr;
}

.table_style.table_office02 .table_style_box:has(>.tl_normal) {
	grid-template-columns: 220px 1fr;
}

.table_tcfd01 thead th:not(:first-child) {
	width: 340px;
}

.table_tcfd01 thead th:first-child {
}

.table_tcfd01 tbody>tr>* {
	font-size: 1.4rem;
}

.table_tcfd02 tr>* {
	font-size: 1.2rem;
	padding-inline: 8px;
}



.table_tcfd02 tbody tr:first-child >*:nth-child(1) {
	width: 55px;
}

.table_tcfd02 tbody tr:first-child >*:nth-child(2) {
	width: 44px;
}

.table_tcfd02 tbody tr:first-child >*:nth-child(3) {
	width: 130px;
}

.table_tcfd02 tbody tr:first-child >*:nth-child(4) {
}
.table_tcfd02 tbody tr:first-child >*:nth-child(5) {
	width: 32px;
}

.table_tcfd02 tbody tr:first-child >*:nth-child(6) {
	width: 189px;
}

.table_tcfd02 tbody tr:first-child >*:nth-child(7) {
	width: 219px;
}


.table_border.table_tcfd02 .li_gap>li+li {margin-top: 10px;}


.table_financial01 tr>* {
	padding: 10px 5px;
}
.table_recruit tr>* {
	font-size: 1.4rem;
}



/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
現在地表示 */

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
gmap */

.gmap {
	height: 400px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
youtube */

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
アンカーリンク・ページ間リンク　cat_anchor */

.cat_anchor {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	gap: 10px;
}

.cat_anchor a {
	font-size: 1.4rem;
	padding: 14px 50px;
	border-radius: 5px;
}
.cat_anchor:not(.page_anchor) a {
	min-width: 180px;
}

.cat_anchor a::after {
	width: 40px;
	right: 6px;
}
.page_anchor.cat_anchor{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.page_anchor.cat_anchor.cat_anchor_col02{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.page_anchor.cat_anchor a::after {
	width: 10px;
	right: 20px;
}

.page_anchor.cat_anchor a {
	padding-inline: 35px;
}

.page_anchor_sub {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 25px;
}

.page_anchor_sub a {
	padding: 0 20px 0 0;
	font-size: 1.4rem;
}

.page_anchor_sub a::before {
	width: 10px;
	left: inherit;
	right: 0;
}
	
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
フォーム */

input[type=text],
select,
textarea {
	padding: 7px 15px;
}

select.select_style {
	font-size: 1.4rem;
	padding: 6px 41px 6px 21px;
}


/*------------------------------------------------------------------------------
セレクトボックス */

.selectblock {
	max-width: 300px;
}

.selectblock:after {
	width: 10px;
	height: 6px;
	right: 18px;
	top: 17px;
}


/*------------------------------------------------------------------------------
テキストエリア */

textarea {
	height: 210px;
	resize: vertical;
}


/*------------------------------------------------------------------------------
ラジオボタン */

.radio_style label {
	margin: 0;
}

.radio_style span {
	padding-left: 40px;
	padding-right: 30px;
}

.radio_style span:before {
	width: 26px;
	height: 26px;
}

.radio_style input:checked + .radio_txt:after {
	height: 16px;
	width: 16px;
	left: 5px;
}


/*------------------------------------------------------------------------------
チェックボックス */

.checkbox_style span:before {
	width: 26px;
	height: 26px;
}

.checkbox_style span {
	padding-left: 40px;
	padding-right: 30px;
}

.checkbox_style input:checked + .checkbox_txt:after {
	width: 11px;
	height: 15px;
	left: 7px;
	top: 5px;
}

.checkbox_style_narabi li {
	margin-top: 10px;
}

.checkbox_style_narabi {
	margin-top: -10px;
}


/*------------------------------------------------------------------------------
ラジオボタン+チェックボックスの並び */

.form_narabi {
	padding-top: 4px;
	margin-top: -10px;
}

.form_narabi li {
	margin-top: 10px;
}


/*------------------------------------------------------------------------------
フォームレイアウト */

.form_layout > dt {
	width: 38%;
	padding-top: 4px;
	margin-bottom: 0;
	margin-right: 2%;
}

.form_layout > dt .form_tl {
	font-size: 1.6rem;
}

.form_layout > dd {
	width: 60%;
}


/*------------------------------------------------------------------------------
必須 */

.form_layout .required {
	width: 38px;
	height: 38px;
	font-size: 1.2rem;
	margin-left: 15px;
}


/*------------------------------------------------------------------------------
追加テキスト */

.form_layout .txt_tuika p {
	font-size: 1.6rem;
}


/*------------------------------------------------------------------------------
form_confirm */

.form_confirm input:disabled {
	font-size: 1.6rem;
	padding: 0;
}

.form_submit_btn_block li + li {
	margin-top: 60px;
}

.form_confirm .form_layout > dt {
	padding-top: 0;
}

.submit_btn_reverse {
	padding: 15px 30px 16px 50px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ニュースリストnews_release */

.news_release_wrap .inner {
	position: relative;
}

.news_release a {
	grid-template-columns: 85px 100px 1fr;
	padding: 15px 0;
}

.news_release .cat {
	width: 70px;
	padding: 4px 2px 6px;
	line-height: 1;
	border-radius: 5px;
}
.news_release .txt {
	font-size: 1.4rem;
	grid-column: inherit;
	margin: 0;
}

.news_release > li:nth-child(n+4) {
	display: block;
}

.news_release_wrap .more_listbtn {
	position: absolute;
	top: 25px;
	right: 0;
	width: 280px;
}
body.upage.cat01_ir.cat01_index .news_release_wrap {
	position: relative;
}

body.upage.cat01_ir.cat01_index .news_release_wrap .more_listbtn {
	top: -2px;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
パンくず　bread */

.bread {
        /* スクロールとマスクを解除 */
        flex-wrap: wrap;            /* 折り返しを許可（または必要ならnowrapのまま） */
        overflow-x: visible;        /* スクロールを解除 */
        -webkit-mask-image: none;    /* マスクを解除 */
        mask-image: none;
        
        /* 余白の固定値指定 */
        margin-top: 20px;
        margin-bottom: 35px;
        padding-right: 0;           /* SP用に入れていた右パディングをリセット */
        justify-content: flex-end;   /* 元々PCは右寄せだったので戻す設定 */
    }

    .bread > li:not(:last-child) {
        padding-right: 25px; /* 固定値に上書き */
    }

    .bread > li:not(:last-child)::after {
        /* 矢印のサイズと位置を固定値に */
        width: 6px;
        height: 6px; /* aspect-ratioが効かない古い環境への予備 */
        right: 10px;
        
        /* 補足：ここも中央配置を維持するのがおすすめ */
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
下層インデックスボタン　upage_index_li */

.upage_index_li {
	grid-template-columns: repeat(4, 1fr);
	gap: 55px 26px;
}

.upage_index_li>li {
	width: 280px;
}

.upage_index_li a {
	font-size: 2rem;
}

.upage_index_li .img,
.upage_index_li .img.img_bo::after {
	border-radius: 10px;
	margin-bottom: 16px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
サインsign_wrap */



.sign_wrap {
	margin-top: 40px;
	gap: 30px;
}

.sign_wrap .sign {
	width: 180px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ブロンドロゴ　brand_logo */
.brand_logo {
	width: 335px;
	margin-bottom: 60px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
こだわりブロックkodawari_step */

.kodawari_step {
	margin-top: 35px;
}

.kodawari_step>li {
	grid-template-columns: 1fr 420px;
	gap: 50px;
	align-items: center;
}

.kodawari_step>li+li {
	margin-top: 10px;
}

.kodawari_step .step_tl {
	width: 335px;
	margin-bottom: 20px;
}

.kodawari_step>li:nth-child(2n) {
	direction: rtl;
}

.kodawari_step>li:nth-child(2n)>* {
	direction: ltr;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
アドビダウンロードadobe_pdf_info */

.adobe_pdf_info {
	margin-top: 60px;
	padding-top: 30px;
	display: grid;
	grid-template-columns: 147px 1fr;
	gap: 20px;
	text-align: left;
	font-size: 1.4rem;
	line-height: 1.5;
	align-items: center;
}

.adobe_pdf_info .img {
	width: 100%;
	margin: 0;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
qr_box */
.kakomi:has(.qr_box) {
	padding: 15px;
	width: 645px;
}


.qr_box {
	display: grid;
	grid-template-columns: 80px 1fr;
	align-items: center;
	gap: 15px;
	font-size: 1.4rem;
}

body.cat01_ir.cat02_notice .kakomi:has(.qr_box) {
	width: fit-content;
}

body.cat01_ir.cat02_notice .qr_box {
	grid-template-columns: 60px 1fr;
}
body.cat01_ir.cat02_notice .kakomi:has(.qr_box) .pc_oritxt {
	grid-column: span 2;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
連絡先tel_fax_mail_contact */
.tel_fax_mail_contact li>dl dt {
	width: 52px;
	height: 30px;
	line-height: 1.5;
	font-size: 2rem;
}

.tel_fax_mail_contact.tel_fax_mail_contact_col02 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	width: 645px;
	font-size: 4rem;
	margin: 15px auto 10px;
}

.tel_fax_mail_contact li>dl {
	grid-template-columns: 55px 1fr;
}

.tel_fax_mail_contact.tel_fax_mail_contact_mini {
	width: 374px;
	font-size: 2.0rem;
	margin: 10px auto 10px;
}

.tel_fax_mail_contact.tel_fax_mail_contact_mini dt {
	font-size: 1.4rem;
	width: 50px;
	height: 19px;
	line-height: 1.4;
}

.tel_fax_mail_contact.tel_fax_mail_contact_mini>li>dl {
	grid-template-columns: 54px 1fr;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ブロック */


.blue_radius {
	margin-top: 65px;
	border-radius: 100px 100px 0 0;
	padding-bottom: 130px;
}

.blue_radius .en_tl_blue {
	margin-top: 65px;
}
.col02,.pc_col02 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap:40px;
}

.col02 figure>figcaption, .pc_col02 figure >figcaption {
	font-size: 1.4rem;
}

.col03 {grid-template-columns: repeat(3, 1fr);gap: 30px;}

.sp_col>*+* {
	margin-top: 0;
}

.activities_block01 {display: grid;grid-template-columns: 355px 1fr;gap: 15px;}

.activities_block01_img_block {
	width: 100%;
	margin: 0;
}

.activities_block01_txt_block tr>* {
	font-size: 1.4rem;
	padding-block: 8px;
}

.activities_block01_txt_block .hosoku {
	margin-top: 8px !important;
	line-height: 1.6;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
フローボックス　flow_block */


.flow_block>li:not(:last-child) {margin-bottom: 20px;}
.flow_block>li:not(:last-child)::after {
	width: 57px;
	height: 17px;
}
.flow_block>li>.flow_box {
	border-radius: 10px;
	display: grid;
	grid-template-columns: 1fr 288px;
}

.flow_block>li>.flow_box .num {
	font-size: 5rem;
	position: relative;
	top: inherit;
	left: inherit;
}


.flow_block>li>.flow_box .txt_block {
	display: grid;
	grid-template-columns: 90px 1fr;
	align-items: center;
	padding: 53px 45px;
}

.flow_block>li>.flow_box .txt_box .box_tl {
	font-size: 1.6rem;
	padding: 0;
	margin-bottom: 8px;
}
.flow_block>li>.flow_box .txt_box .txt {
	font-size: 1.4rem;
}

.flow_block>li>.flow_box .img>* {
	height: 100%;
}

.flow_block>li>.flow_box .img img {
	object-fit: cover;
	height: 100%;
}



/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
青ベタタイトルのステップフロー　step_flow */
.step_flow>li+li {
	margin-top: 60px;
}

.step_flow>li:not(:last-child)::after {
	height: 37px;
	bottom: -50px;
}
.step_flow>li>dl>dt {
	grid-template-columns: 93px 1fr;
	margin-bottom: 20px;
}

.step_flow>li>dl>dt>* {
	padding: 5px;
}

.step_flow>li>dl>dt .num {font-size: 2rem;}

.step_flow>li>dl>dt>.step_tl {
	padding-inline: 20px;
}



/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
アコーディオン */

.aco_tl_block {
	padding: 18px 0;
	font-size: 2.2rem;
}
.aco_tl_block::before {
	width: 50px;
}
.aco_tl_in {
	padding-right: 50px;
	min-height: 52px;
	display: grid;
	grid-template-columns: 110px 1fr;
	align-items: center;
}

.aco_tl_in::before, .aco_tl_in::after {
	width: 14px;
	right: 19px;
}


.year_con_wrap {
	margin-top: 30px;
}

.year_con_wrap .year_conbox+.year_conbox {
	margin-top: 30px;
}

.year_con {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 30px;
	margin: 10px 0 0 110px;
	font-size: 1.4rem;
}
.year_con.year_con_100 {        grid-template-columns: 1fr;}
.year_aco .aco_tl_block .year {
	padding-bottom: 0;
}

.year_con_wrap .year_tl_m_block .year_tl {margin-bottom: 0;font-size: 1.8rem;}

.year_tl_m_block {
	display: grid;
	grid-template-columns: 110px 1fr;
	align-items: center;
}

.year_con_wrap .year_tl_m_block .year {
	margin-bottom: 0;
	padding-top: 3px;
}

.year_con_wrap .year_conbox figure {
	width: 100%;
	margin: 0;
}

.aco_block .aco_con {
	padding-bottom: 40px;
}

.year_con.year_1971 {
	grid-template-columns: 1fr 103px;
}

.year_con_wrap .year_con.year_1971 figure {
	width: 103px;
}
/*------------------------------------------------------------------------------
よくある質問FAQ */

.faq_box.aco_block .aco_tl_block::after,
.faq_box.aco_block .aco_con_in::after {
	width: 40px;
	height: 40px;
	font-size: 2.8rem;
	left: 20px;
	top: 21px;
			line-height: 1.4;
}

.faq_box.aco_block .aco_tl_in {
	font-size: 1.6rem;
	grid-template-columns: 1fr;
}

.faq_box.aco_block .aco_tl_block {
	padding: 15px 15px 15px 80px;
}

.faq_box.aco_block .aco_tl_block::before {
	width: 40px;
	top: 21px;
}

.faq_box.aco_block .aco_tl_in::before, .faq_box.aco_block .aco_tl_in::after {
	top: 25px;
	right: -2px;
}

.faq_box.aco_block .aco_con_in {
	padding: 35px 35px 36px 80px;
}

.faq_box.aco_block .aco_con_in::after {
	top: 29px;
}

.faq_box.aco_block .aco_con {
	padding-bottom: 20px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ナンバリングの流れフロー　num_move_flow */
.num_move_flow {
	width: 800px;
	margin-inline: auto;
}


.num_move_flow>li {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 40px;
	align-content: center;
	align-items: center;
}

.num_move_flow>li+li {
	margin-top: 10px;
}
.num_move_flow>li:nth-child(2n) {
	grid-template-columns: 1fr 280px;
	display: grid;
	direction: rtl;
	text-align: left;
}

.num_move_flow .tl_box {
	grid-template-columns: 73px 1fr;
	padding-bottom: 5px;
	margin-bottom: 16px;
	direction: ltr;
}

.num_move_flow .tl_box .num {
	font-size: 5rem;
}

.num_move_flow .tl_box .flow_tl {
	font-size: 2.4rem;
}


.num_move_flow .txt {
	font-size: 1.4rem;
	direction: ltr;
}
.num_move_flow .img {
	margin-top: 0;
}
.main_con_sidewrap .num_move_flow {
	width: 900px;
}

.main_con_sidewrap .num_move_flow>li {
	grid-template-columns: 1fr 300px;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
school_youtube */
.school_youtube ul>li+li {
	margin-top: 5px;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
株主優待が届くまでprocess_li */
.process_li {display: grid;grid-template-columns: repeat(4, 1fr);gap: 20px;}

.process_li>li {
	margin: 0 !important;
	border-radius: 10px;
	text-align: center;
	display: grid;
	align-content: start;
}

.process_li>li:not(:last-child) {
	padding: 23px 10px;
	grid-template-columns: 1fr;
	display: grid;
	justify-items: center;
}

.process_li>li .num {
	font-size: 2.8rem;
	width: 40px;
	height: 40px;
	line-height: 40px;
}

.process_li>li:last-child {
	grid-template-columns: 1fr;
	padding: 0;
	gap: 0;
	display: grid;
	align-content: center;
}

.process_li>li:not(:last-child)::after {
	clip-path: polygon(100% 50%, 0 0, 0 100%);
	width: 20px;
	height: 40px;
	top: 50%;
	right: -23px;
	transform: translate(0%, -50%);
	bottom: inherit;
	left: inherit;
}

.process_li>li .txt {
	text-align: left;
	padding-inline: 6px;
}

.process_li>li .process_tl {
	line-height: 1.5;
	margin-top: 16px;
	margin-bottom: 10px;
}

.process_li>li .fin {
	grid-column: 1/2;
	grid-row: 1/2;
	-webkit-text-stroke: 6px #fff;
	stroke-width: 6px;
}

.process_li>li .img {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
	width: 90px;
	margin: 12px auto;
}

.process_li>li .fin_txt {
	grid-column: 1 / 2;
	grid-row: 3 / 4;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
囲み　kakomi */
.kakomi {border-radius: 10px;padding: 34px;}

.kakomi.effort_kakomi .txt {
	font-size: 1.4rem;
	line-height: 1.7;
}
.kakomi.kakomi_ps {
	padding: 30px;
}
.kakomi.kakomi_pss {
	padding: 13px 20px;
}

.kakomi.kakomi_ps.effort_kakomi {
	padding: 30px;
}
.kakomi.kakomi_ps.effort_kakomi .img_wbox {
grid-template-columns: 1fr 437px;
}

.kakomi.effort_kakomi .img_block {
	margin: 0;
}

.kakomi.effort_kakomi .img_block  .gap_s {
	gap: 5px;
}

.kakomi.effort_kakomi .txt {
	margin-top: 5px !important;
}

.kakomi.effort_kakomi .tl_normal {
	margin-top: -3px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
画像右のレイアウトボックス　img_wbox */
.img_wbox {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr 310px;
			align-items: start;
}

.img_wbox.img_wbox_img190 {
	grid-template-columns: 1fr 190px;
}
.img_wbox.img_wbox_img230 {
	grid-template-columns: 1fr 230px;
}

.img_wbox.img_wbox_img260 {
	grid-template-columns: 1fr 260px;
	gap: 30px;
}

.img_wbox.img_wbox_img280 {
	grid-template-columns: 1fr 280px;
}

.img_wbox.img_wbox_img288  {
	grid-template-columns: 1fr 288px;
}
.img_wbox.img_wbox_img292{
	grid-template-columns: 1fr 292px;
}
.img_wbox.img_307 {
	grid-template-columns: 1fr 307px;
}
.img_wbox.img_wbox_img387 {
	grid-template-columns: 1fr 387px;
}
.img_wbox.img_wbox_img323 {
	grid-template-columns: 1fr 323px;
}
.img_wbox.img_445 {
	grid-template-columns: 1fr 445px;
}
.img_wbox .img_block,
.img_wbox.img_wbox_img230>.img_block ,
.img_wbox.img_wbox_img288>.img_block {
	width: 100%;
}

.img_wbox.img_wbox_img260 .img_block {
	width: 260px;
}
.img_wbox >*+* {
	margin-top: 0;;
}
.img_wbox>.img_block .btn {
	min-width:inherit;
	width:100%;
	
}
.img_wbox_img190 .img_spcol03.gap_s {
	grid-template-columns: 1fr;
	gap: 2px;
}
.img_col01 {
	gap: 2px;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
画像左のレイアウトボックス　block_img_w_txt */

.block_img_w_txt_hr_wrap {
	border-bottom: 1px solid var(--bo_l);
}
.block_img_w_txt_hr+.block_img_w_txt_hr {margin: 0;}
.block_img_w_txt:not(.block_img_w_txt_hr)+.block_img_w_txt:not(.block_img_w_txt_hr) {
	margin-top: 30px;
}
.block_img_w_txt {
	gap: 30px;
	align-items: stretch;
	&:has(.img_block) {
		grid-template-columns: 330px 1fr;
	}
}
.block_img_w_txt.block_img_w_txt_imgpc222 {
	grid-template-columns: 222px 1fr;
}
.block_img_w_txt.block_img_w_txt_img300 {
	grid-template-columns: 300px 1fr;
}

.block_img_w_txt.block_img_w_txt_img340 {
	grid-template-columns: 340px 1fr;
}

.block_img_w_txt>.img_block {
	order: 1;
}

.block_img_w_txt>.txt_block {order: 2;}

.block_img_w_txt_hr {padding-block: 30px;border-top: 1px solid var(--bo_l);}

.block_img_w_txt .txt_block {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: column;
}

.block_img_w_txt:not(.block_img_w_txt_hr) .txt_block {
	justify-content: flex-start;
}
.block_img_w_txt_hr .txt {
	font-size: 1.4rem;
	flex-grow: 1;
}

.block_img_w_txt .btn_area {
		margin: auto 0 0 auto;
		margin-left: auto;
		width: auto;
}


.block_img_w_txt .txt_block .btn {
	margin-top: 20px;
}




/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
float */
.float_wbox.flow_sp_no .img_block {
	float: right;
	width: 288px;
	margin: 0 0 5px 40px;
}

.float_wbox .btn{
	min-width:inherit;
	width:100%
}

.float_wbox.float_wbox_scol.float_wbox_img190  .img_block:not(:has(.img_col02 )) {
	width: 190px;
	margin: 0 0 5px 30px;
}

.float_wbox.float_wbox_scol .img_block {
	width: 385px;
}

.float_wbox.float_wbox_scol.float_wbox_img190.clearfix.pc_grid:has(.img_col02 ) .img_col02.gap_s {
	gap: 5px;
	grid-template-columns: 1fr 1fr;
	display: grid;
}

.float_wbox.float_wbox_scol .img_block .gap_s >li+li {
	margin: 0;
}

.float_wbox.float_wbox_scol.float_wbox_img190.clearfix.pc_grid:has(.img_col02 ) {display: grid;grid-template-columns: 1fr 380px;gap: 30px;}

.float_wbox.float_wbox_scol.float_wbox_img190.clearfix.pc_grid:has(.img_col02 ) .img_block {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	float: none;
	margin: 0;
}

.float_wbox.float_wbox_scol.float_wbox_img190.clearfix.pc_grid .txt_block {
	grid-column: 1/2;
	grid-row: 1/2;
}

.float_wbox.float_wbox_scol.float_wbox_img190.clearfix.pc_grid::after {
	display: none;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
並び */


/*
*********************************************************************************
/*
/* ページ固有
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
TOP */


/*------------------------------------------------------------------------------
スライダー+topics */
.mv_section {
	width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.mv_slide_wrap .slick-list {
	overflow: visible;
}
.mv_slide_wrap .slick-slide {
	padding: 0;
	opacity::;
	transition: opacity 0.3s;
	margin: 0 8px;
	border-radius: 20px;
}
.mv_slide_wrap .slick-center {
	opacity: 1;
}

:is(.mv_section, .topics_section) .slick-dotted.slick-slider {
	position: relative;
	padding-bottom: 40px;
}
.mv_section .pc-only-arrow {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		z-index: 10;
		cursor: pointer;
		background: rgba(0,0,0,0.5); /* 適宜デザインに合わせて調整 */
		color: #fff;
		border: none;
		padding: 15px;
	}
.mv_section .slick-prev.pc-only-arrow {
		left: calc(50% - 600px - 60px); /* 1200の半分 + 余裕分 */
	}
.mv_section .slick-next.pc-only-arrow {
		right: calc(50% - 600px - 60px);
	}

.mv_section .mv_nav_container {
	margin-top: 25px;
	height: 15px;
	gap: 30px;
}

:is(.mv_section, .topics_section) .slick-dots li {
	height: 10px;
	width: 25px;
}
:is(.mv_section, .topics_section) .slick-dots li button::before {
	width: 10px;
	height: 10px;
	transition: 0.5s ease;
	opacity:1;
}

:is(.mv_section, .topics_section) .slick-dots li button:hover::before {
opacity:0.5;
	transition: 0.5s ease;
}
:is(.mv_section, .topics_section) .slick-arrow {
	width: 15px;
	height: 15px;
	background-size: contain;
	transition: 0.5s ease;
	opacity:1;
}
:is(.mv_section, .topics_section) .slick-arrow:hover {
transition: 0.5s ease;
	opacity:0.5;
}
.topics_section {
	width: 100%;
	margin: 0;
}

.topics_slide_wrap {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
}

.topics_item {
	width: 280px;
}

.topics_item a {
	text-decoration: none;
	text-align: center;
	font-size: 1.4rem;
}

.topics_section .img,.topics_section .img.img_bo::after {
	border-radius: 10px;
}

.topics_item a .txt {
	margin-top: 13px;
}

.mv_section .pc-main-arrow {
    display: block; /* SPで隠している場合はここで表示 */
    position: absolute;
    top: 210px;
    z-index: 10;
    cursor: pointer;
    /* デザインはお好みで：背景黒半透明など */
    border: none;
    padding: 0;
    width: 50px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    border-radius: 50%;
    height: 50px;
    border: 1px solid var(--green);
    background: #fff;
}

.mv_section .pc-main-arrow::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background: url(../img/arrow_l.svg) no-repeat center center /contain;
	top: 0;
	left: 0;
	transition: 0.5s ease;
	opacity: 1;
}
.mv_section .pc-main-arrow:hover::before  {
	opacity:0.5;
	transition: 0.5s ease;
}
.mv_section .pc-prev.pc-main-arrow {
    left: calc(50% - 600px - 85px);
}
.mv_section .pc-next.pc-main-arrow {
    right: calc(50% - 600px - 85px);
}

.mv_section .pc-next.pc-main-arrow::before {
	background-image: url(../img/arrow_r.svg);
}
.topics_section .topics_nav_container {
	display: none;
}
/*------------------------------------------------------------------------------
Corporate Overview */



.overview_wrap {
	position: relative;
}

.overview_con {
	display: grid;
	grid-template-columns: 1fr 520px;
}


.overview_wrap .flex_container {

        display: flex;
        justify-content: space-between;
    }

.overview_wrap .overview_li {
        width: 600px;
    }

.overview_li>li+li {
	padding: 0;
	margin: 0;
}
.overview_li a {
	padding: 27px 0;
	height: inherit;
	display: block;
}

.overview_li a::after {display: none;}

.overview_li .jp {
	font-size: 2.6rem;
	padding-left: 25px;
	line-height: 1.85;
}
.overview_li .jp::before {
	width: 10px;
	top: 20px;
}


.overview_li .en {
	font-size: 1.2rem;
	padding-left: 25px;
	line-height: 1.85;
	margin-top: 0;
}
.overview_li .btn_block.more_btn_style {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: inline-block;
	margin: 0;
	position: absolute;
	top: 50%;
	transform: translate(0%, -50%);
	right: 0;
	width: 40px;
}

.overview_wrap .visual_area {
        width: 50%;
        height: 500px;
        position: relative;
    }

.overview_wrap .visual_area img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: opacity 0.5s ease;
        z-index: 1;
    }
.overview_wrap .visual_area img.active {
        opacity: 1;
        z-index: 2;
    }

.overview_wrap .visual_area {
        width: 520px;
        height: 500px;
        position: relative;
        display: block;
    }

.overview_wrap .visual_item {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity 0.5s ease;
        z-index: 1;
    }
.overview_wrap .visual_item.active {
        opacity: 1;
        z-index: 3;
    }

.overview_wrap .visual_item img {

        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 20px;
        overflow: hidden;
    }

.overview_wrap .img_en {
        position: absolute;
        bottom: -4px;
        right: 0px;
        z-index: 5;
        background-color: #F6F7FA;
        font-size: 1.4rem;
        text-align: right;
        height: 40px;
 		min-width: 165px;
        padding-left: 20px;
        border-radius: 20px 0 0 0;
        text-align: right;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: flex-end;
        padding-right: 7px;
    }




