@charset "utf-8";

/*
/*    CSS MENU
/*

/*
*********************************************************************************
/*
/* コメントタイプ
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
中コメント */


/*------------------------------------------------------------------------------
小コメント */


/* コメント */



/*
*********************************************************************************
/*
/* 大枠
/*
/*******************************************************************************/
body {
		overflow: clip;
}
#wrapper {
	padding-top:16vw;
		overflow: visible;
}
.upage main {
	padding-bottom: 14.6vw;
}

aside {
	display: none;
}
/*
*********************************************************************************
/*
/* header + footer
/*
/*******************************************************************************/

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
header */
header {
	height: 16vw;
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	background: #fff;
	z-index: 1000;
	margin-top: -16vw;
}

header .h_inner {
	width: 89.4vw;
	margin-left: 5.3vw;
	margin-right: 5.3vw;
	position: relative;
}

header .logo {width: 43.2vw;height: 16vw;display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;}

header .hamburger {position: absolute;width: 6.4vw;height: 4.8vw;top: 5.75vw;right: 0;}

header .h_search {
	position: absolute;
	right: 12vw;
	top: 5.75vw;
	height: 4.8vw;
}

header .h_search .icon_btn {
		width: 100%;
	height: 100%;
	
}

header .h_search .icon_btn a {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url(../img/icon_search.svg) no-repeat center center / contain;
	display: block;
	width: 100%;
	height: 100%;
}

header .h_search_box {
	display: none;
	width: 100vw;
	position: absolute;
	top: 16vw;
	left: -5.3vw;
	background: #fff;
	padding: 5vw;
	border-top: 1px solid var(--bo_l);
}

header .hamburger::before,
header .hamburger::after,
header .hamburger p::before {
	position: absolute;
	content: "";
	width: 6.4vw;
	height: 2px;
	background: var(--green);
	left: 0;
	transition: 0.4s;
}

header .hamburger::before {
	top: 0;
}

header .hamburger::after {top: 100%;transform: translate(0%, -100%);}

header .hamburger p::before {
	top: 50%;
	transform: translate(0%, -50%);
}



header .hamburger p {
	height: 100%;
	width: 100%;
}

header .hamburger a {
	width: 100%;
	height: 100%;
	display: block;
	line-height: 1;
	overflow: hidden;
}
header .hamburger span {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: inline-block;
}
 .hf_cta a {
	display: block;
	 font-weight: 700;
	text-decoration: none;
	text-align: center;
}
/* 検索 */
.h_search_overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	z-index: 990;
}

.h_search_form {
	display: grid;
	grid-template-columns: 70.6vw 1fr;
	gap: 2.6vw;
}

.h_search_form input[type="search"] {
	border: 1px solid var(--bo_l);
	padding: 1.1vw 3vw;
	font-size: 16px;
}
.h_search_form .h_search_submit {
	background: var(--green);
	text-align: center;
	border-radius: 1.3vw;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: inline-block;
	position: relative;
	cursor: pointer;
}

.h_search_form .h_search_submit::after {
	position: absolute;
	content: "";
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
	width: 100%;
	-webkit-mask: url(../img/icon_search.svg) no-repeat center center / contain;
	mask: url(../img/icon_search.svg) no-repeat center center / contain;
	background: #fff;
	width: 5.4vw;
	height: 100%;
	top: 0%;
	left: 50%;
	transform: translate(-50%, 0%);
}

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



#pagetop {
	display: block;
        position: fixed;
        z-index: 100;
        bottom: 0;
        right:5vw;
        width: 11vw;
        border-radius: 50%;
        overflow: hidden;
        border: 1px solid var(--green);
}

footer {
	background: #fff;
	border-top: 1px solid var(--bo_l);
	padding: 16vw 0 8vw;
}
footer a {
	text-decoration:none;
}

footer .f_logo {
	width: 43.2vw;
	margin-bottom: 10.6vw;
}

footer .subnav {
	display: none;
}

footer .nav_li {
	border-top: 1px solid var(--bo_l);
	margin-bottom: 9.3vw;
}
footer .nav_li>li {
	position: relative;
	border-bottom: 1px solid var(--bo_l);
}


footer .nav_li >li>.main_nav {
	display: block;
	width: 100%;
	font-weight: 700;
	text-decoration: none;
	position: relative;
	padding: 3.3vw 10.6vw 3.1vw 4vw;
}


footer .nav_li >li>.main_nav::before {
	position: absolute;
	content: "";
	background: var(--green);
	width: 2.1vw;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	top: 5.7vw;
	left: 0;
}

footer .nav_li >li::after,
footer .nav_li >li>.main_nav::after {
	position: absolute;
	content: "";
	width: 3.2vw;
	height: 1px;
	right: 3.2vw;
	top: 6.3vw;
	background: var(--green);
}

footer .nav_li >li::after {
	transform: rotate(-90deg);
	transition: transform 0.3s ease;
}
footer .nav_li > li.is-active::after {   transform: rotate(0deg);}
footer .nav_li >li>.subnav a {
	display: block;
	padding: 1vw 0 1vw 4vw;
}

footer .nav_li >li>.subnav {
	padding-bottom: 4vw;
}
footer .f_ad {
	font-size: 1.2rem;
}

footer .f_ad dt {
	font-weight: 700;
}

footer .f_ad>li+li {
	margin-top: 4vw;
}

footer .small_wrap {
	margin-top: 8vw;
	border-top: 1px solid var(--bo_l);
	padding-top: 5vw;
}

footer .footer_b_li {
	display: flex;
	flex-wrap: wrap;
	gap: 0 5.3vw;
	padding: 0;
}

footer .footer_b_li li:nth-child(2)::after {
  content: "";
  display: block;
  width: 50vw;
  height: 0;
}
footer .footer_b_li a {
	font-size: 1.2rem;
	text-decoration: none;
	padding: 1.7vw 0;
	display: block;
}


footer .small_wrap small {
	font-size: 0.8rem;
	margin-top: 5vw;
	display: block;
}
/*
*********************************************************************************
/*
/* モジュール
/*
/*******************************************************************************/


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

.en_tl_blue {
	font-family: var(--en);
	font-weight: 600;
	font-size: 2.8rem;
	letter-spacing: -0.01em;
	color: var(--blue);
	margin-bottom: 6vw;
	margin-top: 13vw;
}

.upage .copy {
	font-size: 2.4rem;
	font-weight: 700;
	color: #977B18;
	line-height: 1.5;
}

.kome_num02 {
	position: relative;
	padding-left: 2em;
}

.kome_num02 .komenum {
	position: absolute;
	top: 0;
	left: 0;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
タイトル */
.page_tl_wrap {
	margin: 0 2.6vw;
	width: 94.4vw;
	border-radius: 2.6vw;
	background: url(../img/company/umv_sp.webp) no-repeat center center / cover;
	color: #fff;
	height: 48vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

body.cat01_business .page_tl_wrap {
	background-image: url(../img/business/umv_sp.webp);
}
body.cat01_sustainability .page_tl_wrap {
	background-image: url(../img/sustainability/umv_sp.webp);
}
body.cat01_ir .page_tl_wrap {
	background-image: url(../img/ir/umv_sp.webp);
}

body.cat01_recruit .page_tl_wrap {
	background-image: url(../img/recruit/umv_sp.webp);
}
body.cat01_access .page_tl_wrap {
	background-image: url(../img/access/umv_sp.webp);
}
body.cat01_contact .page_tl_wrap {
	background-image: url(../img/contact/umv_sp.webp);
}
body.cat01_newsrelease .page_tl_wrap {
	background-image: url(../img/newsrelease/umv_sp.webp);
	color: #000;

	.en,
	.jp {
		text-shadow: none;
	}
}

.page_tl_wrap .inner {
	width: 100%;
	margin: 0;
	padding: 0 8vw;
}


.page_tl_wrap .jp {
	text-shadow: 0 0 1.3vw rgba(0, 0, 0, 0.6);
	font-size: 2.8rem;
	font-weight: 700;
	display: block;
	line-height: 1.3;
}

.page_tl_wrap .en {
	text-shadow: 0 0 1.3vw rgba(0, 0, 0, 0.6);
	font-size: 1rem;
	font-weight: 700;
	display: block;
	padding-top: 1vw;
}
.tl01 {
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 4vw;
	margin-top: 12vw;
	line-height: 1.5;
}
.tl02 {
	font-weight: 700;
	color: var(--green);
	font-size: 1.55rem;
	margin-top: 9vw;
	margin-bottom: 4vw;

	&.color_black {
		color: #000;
	}
}
.tl03 {
	font-weight: 700;
	color: var(--green);
	font-size: 1.59rem;
	margin-top: 8vw;
	margin-bottom: 3vw;


}


.tl03.tl03_w_cat {
	color: var(--color);
	display: grid;
	grid-template-columns: 14.4vw 1fr;
	gap: 2.6vw;
	align-items: center;
}

.tl03.tl03_w_cat >.cat {
	text-align: center;
	background: #B1DDD3;
	font-size: 1.4rem;
	line-height: 1;
	padding: 1.2vw 0;
}

.tl03.tl03_w_cat >span {
	display: block;
}

.tl03.tl03_w_cat >.cat02 {
	background: #CAE2AE;
}


.tl03.tl03_w_cat >.cat03 {
	background: #FDD39F;
	padding-block: 0.4em 0.3em;
}
.tl03.tl03_w_cat:has(.cat03) {
	grid-template-columns: 24.8vw 1fr;
}
.tl04 {
	font-weight: 700;
	font-size: 1.6rem;
	margin-bottom: 5vw;
}

.tl_b {
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.7;
	margin-bottom: 2vw;
}
.tl_normal {
	font-weight: 700;
	margin-bottom: 3vw;
}

.tl_bo {
	font-weight: 700;
	color: var(--green);
	font-size: 2rem;
	border-bottom: 2px solid var(--green);
	line-height: 1.5;
	padding-bottom: 2vw;
	margin-bottom: 5vw;
	margin-top: 15vw;

	&.color_black {
		color: var(--color);
		border-color: var(--color);
	}
}

.tl_square {
	font-weight: 700;
	font-size: 1.6rem;
	margin-bottom: 2vw;
	position: relative;
	padding-left: 5vw;
	margin-top: 8vw;
}

.tl_square::before {
	position: absolute;
	content: "■";
	top: 0;
	left: 0;
	width: 1em;
}
.tl_brand {
	color: #977B18;
	font-weight: 700;
	text-align: center;
	font-size: 1.8rem;
	margin-top: 14.4vw;
	margin-bottom: 5vw;
}

.tl_beta {
	background: var(--blue);
	color: #fff;
	font-weight: 700;
	margin-top: 8vw;
	margin-bottom: 5.3vw;
	padding: 1.5vw 3vw 0.9vw;
	line-height: 1.5;
}

.tl_w_p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.tl_w_p.tl_w_p_spout {
	display: block;
}

.tl_w_p.tl_w_p_spout:has(.tl_bo) {
	margin-bottom: 5vw;
}

.tl_w_p.tl_w_p_spout p {
	margin-top: -2vw;
}
.tl_w_p:has(.tl02) {
	margin-top: 9vw;
	margin-bottom: 4vw;
}

.tl_w_p .tl02 {
	margin-bottom: 0;
	margin-top: 0;
}
.tl_w_p:has(.selectblock) {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;margin-bottom: 6vw;}
.tl_w_p:has(.selectblock):not(:has(h1)) {
	justify-content: flex-end;
}
.tl_w_p .tl01 {
	margin-bottom: 0;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リスト */


.li_dot>li {
	padding-left: 0.7em;
	position: relative;
}

.li_dot>li::before {
	position: absolute;
	content: "・";
	left: 0;
	top: 0;
}
.li_num {
 counter-reset: li_num;
}
.li_num > li {
 position: relative;
 padding-left: 2em;
}
.li_num > li:before {
 counter-increment: li_num;
 position: absolute;
 left: 0;
 width: 2em;
 text-align: left;
 content: counter(li_num) ". ";
 white-space: nowrap;
}

.li_num_wtl {
 counter-reset: li_num_wtl;
}
.li_num_wtl > li {
 position: relative;
 padding-left: 1.3em;
}

.li_num_wtl > li>.li_tl {
	margin-bottom: 0.5vw;
	font-weight: 700;
}
.li_num_wtl > li:before {
 counter-increment: li_num_wtl;
 position: absolute;
 left: 0;
 width: 2em;
 text-align: left;
 content: counter(li_num_wtl) ". ";
 white-space: nowrap;
}

.li_numkakko  {
 counter-reset: li_numkakko;
}
.li_numkakko > li {
 position: relative;
 padding-left: 2em;
}
.li_numkakko > li:before {
 counter-increment: li_numkakko;
 position: absolute;
 left: 0;
 width: 2em;
 text-align: left;
 content: "(" counter(li_numkakko) ")";
 white-space: nowrap;
}


.li_alp_sidekakko  {
 counter-reset: li_alp_sidekakko;
}
.li_alp_sidekakko > li {
 position: relative;
 padding-left: 1.3em;
}
.li_alp_sidekakko > li:before {
 counter-increment: li_alp_sidekakko;
 position: absolute;
 left: 0;
 width: 2em;
 text-align: left;
 content: counter(li_alp_sidekakko, lower-alpha) ")";
 white-space: nowrap;
}



.li_roma  {
 counter-reset: li_roma;
}
.li_roma > li {
 position: relative;
 padding-left: 1.3em;
}
.li_roma > li:before {
 counter-increment: li_roma;
 position: absolute;
 left: 0;
 width: 2em;
 text-align: left;
 content: counter(li_roma, lower-roman) ".";
 white-space: nowrap;
}



.li_kana  {
 counter-reset: li_kana;
}
.li_kana > li {
 position: relative;
 padding-left: 1.3em;
}
.li_kana > li:before {
 counter-increment: li_kana;
 position: absolute;
 left: 0;
 width: 2em;
 text-align: left;
 content: counter(li_kana, katakana);
 white-space: nowrap;
}


.li_num_sidekakko  {
 counter-reset: li_num_sidekakko;
}
.li_num_sidekakko > li {
 position: relative;
 padding-left: 1.3em;
}
.li_num_sidekakko > li:before {
 counter-increment: li_num_sidekakko;
 position: absolute;
 left: 0;
 width: 2em;
 text-align: left;
 content: counter(li_num_sidekakko) ")";
 white-space: nowrap;
}




.li_marunum  {
 counter-reset: li_marunum;
}
.li_marunum > li {
 position: relative;
 padding-left: 1.3em;
}
.li_marunum > li:before {
 counter-increment: li_marunum;
 position: absolute;
 left: 0;
 width: 4vw;
 text-align: center;
 content: counter(li_marunum);
 white-space: nowrap;
 font-size: 1rem;
 top: 1vw;
}

.li_marunum > li:after {
	position: absolute;
	content: "";
	width: 4vw;
	height: 4vw;
	border: 1px solid var(--color);
	top: 1.4vw;
	left: 0;
	border-radius: 50%;
}

.li_check{
	display: grid;
	grid-template-columns: 1fr;
	gap: 1vw;
}

.li_check >li {
	position: relative;
	padding-left: 7vw;
}

.li_check>li::before {
	position: absolute;
	content: "";
	background: url(../img/icon_check.svg) no-repeat center  center / contain;
	width: 4.2vw;
	height: 100%;
	left: 0;
	top: 0;
}

.li_gap>li+li {
	margin-top: 2.5vw;
}

	.li_gap_m>li+li {
	margin-top: 2vw;
}
	.li_gap_s>li+li {
	margin-top: 1vw;
}

.list_pdf>li {
	position: relative;
	margin-top: 3vw;
	padding-left: 5vw;
}
.list_pdf>li .link_pdf {
	padding-left: 0;
}

.list_pdf>li+li.sub {
	margin-left: 7vw;
}

.list_pdf>li:not(.sub)::before {
	top: 7vw;
	left: 1.5vw;
	position: absolute;
	content: "";
	width: 3vw;
	height: 6.6vw;
	border-left: 1px solid var(--color);
}

.list_pdf>li a +* {display: inline-block;}


.list_pdf>li+li.sub::after {
	position: absolute;
	content: "";
	width: 3vw;
	height: 6.9vw;
	border-left: 1px solid var(--color);
	border-bottom: 1px solid var(--color);
	top: -3.3vw;
	left: -5.5vw;
}

.list_pdf>li:not(.sub)::before {
}

.list_pdf>li .link_pdf::before {
	left: -5vw;
	top:0.3vw;
}

.list_pdf .hosoku {
	position: relative;
	margin-left: -5vw;
	background: #fff;
	z-index: 1;
}

.list_pdf .hosoku::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 2vw;
	left: 0;
	background: #fff;
	z-index: -1;
}
.list_pdf > li:not(.sub):not(:has(+ li.sub)):before ,
.list_pdf > li.sub .hosoku:before ,
.list_pdf > li:not(.sub):not(:has(+ li.sub)) .hosoku:before{
	display: none;
}
.list_pdf>.li_icon{
	position:relative;
}

.list_pdf>.li_icon::after {
		position: absolute;
		content: "";
		background: url(../img/icon_pdf.svg) no-repeat center center / contain;
		width: 3.2vw;
		height: 3.3vw;
		top: 1.6vw;
		left: 0;
}
.list_pdf>.li_icon .link_pdf::before {
	display:none;
}

.sitemap_li>li,
.sitemap_li_u>li{
	position: relative;
	padding-left: 4vw;
}

.sitemap_li_u>li+li {margin-top: 1vw;}

.sitemap_li>li::before,
.sitemap_li_u>li::before{
	position: absolute;
	content: "";
	width: 2.1vw;
	height: 2.1vw;
	background: var(--green);
	border-radius: 50%;
	top: 5vw;
	left: 0;
}

.sitemap_li_u>li::before {
	top: 3.3vw;
}

.sitemap_li>li a,
.sitemap_li_u>li a{
	color: var(--color) !important;
	text-decoration: none;
	font-weight: 700;
	font-size: 1.6rem;
	padding-block: 2vw;
	display: block;
}

.sitemap_li_u {
	margin-top: 2vw;
}

.sitemap_li_u>li a {
	font-weight: 400;
	font-size: 1.4rem;
	padding-block: 1vw;
}

.sitemap_li_block+.sitemap_li_block {
	margin-top: 10vw;
}

.li_square_green>li {
	position: relative;
	padding-left: 1em;
}

.li_square_green>li::before {
	position: absolute;
	content: "■";
	color: var(--green);
	left: 0;
	top: 0;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リンク */

.upage .main_con.main_con_sidewrap article a,
.upage .main_con:not(.main_con_sidewrap) a {
	color: var(--green);
}

.link_pdf {
	position: relative;
	line-height: 1.5;
	padding-left: 5vw;
}

.link_pdf::before {position: absolute;content: "";background: url(../img/icon_pdf.svg) no-repeat center center / contain;width: 3.2vw;height: 3.3vw;top: 1.2vw;left: 0;}
a[href^="tel:"] {
	color: var(--link) !important;
}
.link_yt a {
	padding-left: 8vw;
	position: relative;
}

.link_yt a::before {
	position: absolute;
	content: "";
	width: 6.13vw;
	background: url(../img/icon_yt.svg) no-repeat center center / contain;
	height: 100%;
	top: 0;
	left: 0;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ボタン */

.btn {border: 1px solid var(--green);color: var(--link) !important;text-decoration: none;border-radius: 1.3vw;text-align: center;line-height: 1.4;padding: 2vw 8vw;position: relative;overflow: hidden;margin-inline: auto;display: flex;flex-wrap: wrap;align-items: center;justify-content: center;}

.btn::after {
	position: absolute;
	content: "";
	background: url(../img/btn.svg) no-repeat center center / contain;
	width: 10vw;
	height: 100%;
	top: 0;
	right: 0;
}
.btn.noicon::after {
	display: none;
}
.btn.btn_pdf::after,
.cat_anchor .btn_pdf::after {
	background: url(../img/icon_pdf.svg) no-repeat center center / contain;
	width: 3.2vw;
	right: 3.2vw;
}
.btn.btn_blank::after {
	background-image: url(../img/icon_blank.svg);
	width: 2.9vw;
	right: 2.9vw;
}

.btn_m {
	width: 69.3vw;
}

.btn_h {
	padding-block: 3.6vw;
}



.btn_white a {
	border: 1px solid var(--green);
	background: #fff;
}
.btn_green a {
	border: 1px solid var(--green);
	background: var(--green);
	color: #fff;
	font-weight: 700;
}
.btn_blue a {
	border: 1px solid var(--blue);
	background: var(--blue);
	color: #fff;
	font-weight: 700;
}

.more_listbtn a {
	display: block;
	text-decoration: none;
	position: relative;
	padding-left: 12vw;
	margin-top: 4vw;
	min-height: 8vw;
	padding-top: 0.1vw;
	color: var(--link) !important;
}
.more_listbtn a::before {
	position: absolute;
	content: "";
	background: url(../img/link.svg) no-repeat center center / contain;
	width: 8vw;
	aspect-ratio: 1/1;
	top: 0;
	left: 0;
	border-radius: 50%;
	border: 1px solid var(--green);
}


.more_btn_style {
	display: block;
	text-decoration: none;
	position: relative;
	padding-left: 12vw;
	min-height: 8vw;
	padding-top: 0.1vw;
}

.more_btn_style::before {
		position: absolute;
	content: "";
	background: url(../img/link.svg) no-repeat center center / contain;
	width: 8vw;
	aspect-ratio: 1 / 1;
	top: 0;
	left: 0;
	border-radius: 50%;
	border: 1px solid var(--green);
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リンクパレットlink_palet */

.link_palet {

	gap: 4vw;
	display: grid;
	grid-template-columns: 1fr;
}
.link_palet a {
	display: block;
	border: 1px solid var(--green);
	text-decoration: none;
	padding: 4vw 5vw 4.5vw 5vw;
	border-radius: 1.3vw;
	position: relative;
	display: block;
	width: 100%;
}

.link_palet a::after {
	position: absolute;
	content: "";
	background: url(../img/btn.svg) no-repeat center center / contain;
	width: 10vw;
	height: 10vw;
	top: 1vw;
	right: 1vw;
}

.link_palet .link_tl {
	font-size: 1.6rem;
	font-weight: 700;
}

.link_palet .txt {
	color: var(--color);
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リンクパネルlink_panel */
.link_panel a {
	display: block;
	border: 1px solid var(--bo);
	border-radius: 2.6vw;
	overflow: hidden;
	text-decoration: none;
	color: var(--color) !important;
}

.link_panel a .txt_block {
	padding: 4vw 5vw;
}

.link_panel a .link_tl {
	font-size: 1.6rem;
	font-weight: 700;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
画像 */
.img_bo {
	position: relative;
}
.img_bo::after {
	position: absolute;
	content: "";
	border:1px solid var(--bo_l);
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	z-index: 2;
	pointer-events: none;
}
.imgr {
	border-radius: 2.6vw;
	overflow: hidden;
}
.imgr.img_bo::after {
	border-radius: 2.6vw;
}
.img_245 {
	width: calc(245px * var(--sp_img_calc));
	margin-inline: auto;
}
.img_307 .img_block {
	width: calc(307px * var(--sp_img_calc));
}

.img_408 {
	width: calc(408pxx * var(--sp_img_calc));
	margin-inline: auto;
}

.scrollable_w661 .spimg_661 {
	width: 157vw;
}
figcaption {
	font-size: 1.2rem;
	margin-top: 1.5vw;
	display: block;
	line-height: 1.5;
}
.brand_catch {
	width: 80vw;
	margin-inline: auto;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
角 */
.r00 {
	border-radius: 0 !important;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
表 */

.table_border tr>* {
	border: 1px solid var(--bo_l);
	padding: 1.8vw 2vw;
	vertical-align: baseline;
}

.table_border thead th {
background:#E5F5F4
}

.table_sp_officer tr>*:first-child {
	width: 31vw !important;
}

.table_sp_officer tr>*:nth-child(2) {
	width: 62vw !important;
}

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

.table_style {border-top: 1px solid var(--bo_l);}

.table_style .table_style_box {
	border-bottom: 1px solid var(--bo_l);
	padding: 7.6vw 0;
}

.table_style .table_style_box .con_inbox+.con_inbox {
	margin-top: 5vw;
	padding-top: 4vw;
	border-top: 1px solid var(--bo_l);
}

.table_style .table_style_box .tl {
	font-weight: 700;
	font-size: 1.6rem;
	color: var(--green);
	line-height: 1.5;
	margin-bottom: 3vw;
}

.table_style .table_style_box .txtl_box {
	font-size: 1.58rem;
	letter-spacing: 0;
}
.table_style .table_style_box:has(>.table_style_box_tl) {
	display: grid;
	grid-template-columns: 27.3vw 1fr;

}

.table_style .table_style_box .w_btn .btn_area {
	margin-top: 3vw;
	padding-bottom: 1vw;
}
.table_style_box:has(>.tl_normal) {
	display: grid;
	grid-template-columns: 24vw 1fr;
	padding: 4vw 0 3vw 0;
}
.table_style.table_office02 .table_style_box:has(>.tl_normal) {
	grid-template-columns: 26.67vw 1fr;
	padding: 4vw 0 3vw 0;
}


.table_style .table_style_box .con_inbox+.con_inbox {
	margin-top: 3vw;
}
.table_style .table_style_box .con_table_tl {
	padding-bottom: 0.9vw;
}

.table_style .table_style_box .w_btn .btn_area .btn {
	width: 100%;
	max-width: inherit;
	min-width: inherit;
		
}

.table_style.table_office01 .tl_normal,
.table_style.table_office02 .tl_normal {
	background: #F7F9FC;
	font-weight: 400;
	margin: 0;
	padding: 4vw 2.3vw;
}

.table_style.table_office01 + .table_office01 {
	margin-top: 4vw;
}

.table_style.table_office01 .table_style_box:has(>.tl_normal) ,
.table_style.table_office02 .table_style_box:has(>.tl_normal) {
	padding: 0;
}

.table_style.table_office01 .table_style_box:has(>.tl_normal),
.table_style.table_office02 .table_style_box:has(>.tl_normal){
	gap: 2.735vw;
}

.table_style.table_office01 .table_style_box .con,
.table_style.table_office02 .table_style_box .con{
	padding: 4vw 0 3vw;
}

.table_border.table_materiality thead th {
	background: #F8F8F8;
}

.table_materiality01 {
	background: #B1DDD3;
}

.table_materiality02 {
	background: #CAE2AE;
}

.table_materiality03 {
	background: #FDD39F;
}


.table_border.table_materiality_detail tbody th {
	background: #F7F9FC;
}

.table_border.table_materiality_detail thead tr>*:nth-child(1) {

	width: 48.3vw;
}
.table_border.table_materiality_detail thead tr>*:nth-child(2) {
	width: 76.6vw;
}
.table_tcfd01 thead th:not(:first-child) {
	width: 82.4vw;
}

.table_tcfd01 tbody th {background: #F7F9FC;}

.ttable_tcfd01 tbody th {
	background: #F7F9FC;
}

.table_tcfd02 tbody th {
	background: #F7F9FC;
}

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

.table_tcfd02 tbody tr>* {font-size: 1.2rem;}

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

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

.table_tcfd02 tbody tr:first-child >*:nth-child(5) {
	width: 8vw;
}

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

.table_tcfd02 tbody tr:first-child >*:nth-child(7) {
	width: 58.6vw;
}
.table_tcfd02 thead th {
	line-height: 1.2;
	vertical-align: middle;
	padding-block: 5px;
}

.table_tcfd02 thead th:nth-child(4) {
	text-align: center;
}
.activities_block01_txt_block table tbody th {
	background: #E5F5F4;
	text-align: center;
}

.table_financial01 thead th {
	background: #fff;
	text-align: center;
}
.table_financial01 tr>* {
	font-size: 1.2rem;
	padding-inline: 1vw;
	vertical-align: middle;
}
.table_financial01 td {
	text-align: right;
}
.table_financial01 tfoot tr>* {
	background: #E5F5F4;
	width: calc(100% / 12);
}
.table_financial02 tr>* {
	font-size: 1.2rem;
}
.table_financial02 td {
	text-align: right;
}

.table_financial02 thead th {
	text-align: center;
	background: #fff;
}

.table_financial02 tbody tr:first-child>* {
	background: #E5F5F4;
}

.table_financial03 tr>* {
	font-size: 1.2rem;
	background: #fff !important;
}


.table_financial03 td {
	text-align: right;
}
.table_financial03 thead tr>th:not(:first-child) {
	text-align: center;
}
.table_recruit thead th {
	background: #fff;
	text-align: center;
}

.table_recruit tbody tr:first-child>* {
	background: #E5F5F4;
}

.table_recruit tbody td {
	text-align: right;
}
.table_stock_infomation01 tbody th {
	background: #E5F5F4;
}

.table_stock_infomation02 thead th:not(:first-child) {
	width: 28vw;
	text-align: center;
}

.table_stock_infomation02 tbody th {
	background: #F7F9FC;
}
.table_stock_infomation02 td {
	text-align: right;
}

.table_stock_infomation03 th {
	background: #E5F5F4;
	width: 32vw;
}

.table_stock_infomation01 tr>* {
	width: 50%;
	font-size: 1.4rem;
}

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

.table_stock_infomation02 thead th:nth-child(2) {
	width: 120px;
}

.table_stock_infomation02 thead th:nth-child(3) {
	width: 136px;
}

.table_stock_infomation03 tbody th {
	width: 180px;
}

.table_stock_infomation03 tr>* {
	font-size: 1.4rem;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
スクロール js-scrollable*/

.js-scrollable.scroll-hint.is-scrollable {
	margin-inline: -5.3vw;
	padding-inline: 5.3vw;
	
}
.js-scrollable.scroll-hint.is-scrollable::-webkit-scrollbar { display: none; }
.js-scrollable.scroll-hint.is-scrollable>*:not(.scroll-hint-icon-wrap) {
	width: calc(900px * var(--sp_img_calc)) !important;
}
.js-scrollable.scroll-hint.is-scrollable>.scrollable_w409{
	width: calc(409px * var(--sp_img_calc)) !important;
}
.js-scrollable.scroll-hint.is-scrollable>.scrollable_w445{
	width: calc(445px * var(--sp_img_calc)) !important;
}
.js-scrollable.scroll-hint.is-scrollable>.scrollable_w447{
	width: calc(447px * var(--sp_img_calc)) !important;
}
.js-scrollable.scroll-hint.is-scrollable>.scrollable_w464{
	width: calc(464px * var(--sp_img_calc)) !important;
}
.js-scrollable.scroll-hint.is-scrollable>.scrollable_w484{
	width: calc(484px * var(--sp_img_calc)) !important;
}
.js-scrollable.scroll-hint.is-scrollable>.scrollable_w589{
	width: calc(589px * var(--sp_img_calc)) !important;
}
.js-scrollable.scroll-hint.is-scrollable>.scrollable_w607{
	width: calc(607px * var(--sp_img_calc)) !important;
}
.js-scrollable.scroll-hint.is-scrollable>.scrollable_w661{
	width: 157vw !important;
}
.js-scrollable.scroll-hint.is-scrollable>.scrollable_w750{
	width: calc(750px * var(--sp_img_calc)) !important;
}
.js-scrollable.scroll-hint.is-scrollable>.scrollable_w780{
	width: calc(780px * var(--sp_img_calc)) !important;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
gmap */

.gmap {
	position: relative;
	overflow: hidden;
	height: 89.4vw;
}

.gmap iframe,
.gmap object,
.gmap embed {
	width: 100%;
	height: 100%;
}


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

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;

	width: 100%;
	height: 100%;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
アンカーリンク・ページ間リンク　cat_anchor */

.cat_anchor {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	flex-direction: column;
	text-align: center;
	gap: 1.3vw;
}
.cat_anchor a {
	display: block;
	text-decoration: none;
	border: 1px solid var(--green);
	border-radius: 1.3vw;
	padding: 2.5vw;
	position: relative;
	overflow: hidden;
	color: var(--link) !important;
	line-height: 1.4;
}

.cat_anchor a::after {
		position: absolute;
		content: "";
		background: url(../img/link.svg) no-repeat center center / contain;
		width: 10vw;
		height:100%;
		top: 0;
		right: 0;
}
.cat_anchor .cr a {
	opacity: 0.3;
	pointer-events: none;
}

.page_anchor.cat_anchor a::after {
	background-image: url(../img/arrow_rs.svg);
	transform: rotate(90deg);
	width: 2.7vw;
	right: 4.8vw;
}
.page_anchor_sub {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1vw;
}
.page_anchor_sub a {
	position: relative;
	padding-left: 4vw;
	color: var(--link) !important;
	text-decoration: none;
}

.page_anchor_sub a::before {
	position: absolute;
	content: "";
	background: url(../img/arrow_rs.svg) no-repeat center center / contain;
	height: 100%;
	top: 0;
	transform: rotate(90deg);
	width: 2.7vw;
	left: 0;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
フォーム
<dl class="form_layout"><dt><p><span class="form_tl"></span><span class="required">必須</span></p></dt><dd></dd></dl>
 */

input[type=text],
input[type=email],
select,
textarea {
	background: #fff;
	border: 1px solid var(--green);
	width: 100%;
	font-size: 16px;
	padding: 2vw;
	border-radius: 5px;
}

select.select_style {
	padding: 4px 20px 4px 5px;
}

input:disabled {
	background: #f7f7f7;
	border: 1px solid #cccccc;
	color: #bbb;
}

input.minitxt {
	width: 9em;
}


/*------------------------------------------------------------------------------
セレクトボックス
<div class="selectblock"><select name="pref" id="pref" class="select_style" required=""><option  value="" selected="" hidden="">選択してください</option><option value="A">A</option></select></div>
 */

.selectblock {
	position: relative;
}

.selectblock:before {
}

.selectblock:after {
	content: "";
	position: absolute;
	top: 46%;
	right: 7px;
	width: 10px;
	height: 6px;
	background: var(--green);
	pointer-events: none;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
}


/*------------------------------------------------------------------------------
テキストエリア
<textarea name="message"></textarea>
 */

textarea {
	height: 40vw;
	resize: vertical;
}


/*------------------------------------------------------------------------------
ラジオボタン
<ul><li class="radio_style"><label><input type="radio" name="type" value="A"><span class="radio_txt">A</span></label></li></ul>
*/

.radio_style label {
	display: inline-block;
	margin: 0 5px 0 0;
}

.radio_style input[type="radio"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.radio_style span {
	padding-left: 8vw;
	position: relative;
	display: block;
	cursor: pointer;
	padding-right: 4vw;
	display: block;
	width: 101%;
	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
}

.radio_style span:before {
	content: "";
	display: block;
	border: 1px solid #dedede;
	background: #fff;
	border-radius: 50%;
	width: 5vw;
	height: 5vw;
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.radio_style input:checked + .radio_txt:after {
	content: "";
	display: block;
	width: 2.9vw;
	height: 2.9vw;
	background: #fe4f78;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 1.1vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}


/*------------------------------------------------------------------------------
チェックボックス
<ul class="checkbox_style"><li><label><input type="checkbox" name="pass" value="A"><span class="checkbox_txt">A</span></label></li></ul>
 */

.checkbox_style label {
	display: inline-block;
	margin: 0 5px 0 0;
}

.checkbox_style input[type="checkbox"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.checkbox_style span {
	padding-left: 8vw;
	position: relative;
	display: block;
	cursor: pointer;
	padding-right: 4vw;
	display: block;
	width: 101%;
	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
}

.checkbox_style span:before {
	content: "";
	display: block;
	border: 1px solid #dedede;
	background: #fff;
	width: 5vw;
	height: 5vw;
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.checkbox_style input:checked + .checkbox_txt:after {
	content: "";
	display: block;
	position: absolute;
	top: 0.6vw;
	left: 1.5vw;
	width: 2vw;
	height: 3.5vw;
	transform: rotate(40deg);
	border-bottom: 3px solid #fe4f78;
	border-right: 3px solid #fe4f78;
}


/*------------------------------------------------------------------------------
ラジオボタン+チェックボックスの並び
<ul class="form_narabi"><li></li></ul>
 */

.form_narabi {
	margin-top: -4vw;
}

.form_narabi li {
	display: inline-block;
	margin-top: 4vw;
}


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

.form_layout > dt {
	margin-bottom: 2vw;
}

.form_layout > dt p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

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


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

.form_layout .required {
	background: #fe4f78;
	color: #fff;
	font-size: 1.3rem;
	letter-spacing: 2px;
	height: 8vw;
	display: block;
	width: 8vw;
	border-radius: 50%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-left: 2vw;
	padding-left: 1px;
}


/*------------------------------------------------------------------------------
追加テキスト
<dd class="txt_tuika"><input type="text" name="A" class="minitxt"><p>万円</p></dd>
 */

.form_layout .txt_tuika {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.form_layout .txt_tuika p {

	font-size: 1.8rem;
}

.form_layout .txt_tuika input + p,
.form_layout .txt_tuika p + input {
	margin-left: 1em;
}


/*------------------------------------------------------------------------------
form_confirm
<input type="text" name="name" value="山田太郎" disabled>
 */

.form_confirm input:disabled {
	background: none;
	border: none;
	padding-left: 0 !important;
	padding-right: 0 !important;
	-webkit-text-fill-color: black;
	opacity: 1;
	color: #000;
	font-size: 1.8rem;
}

.form_confirm input.minitxt:disabled {
	width: 3em;
}

.submit_btn_reverse {
	background: #c3c3c3;
	padding: 3.5vw 9vw;
	font-size: 1.8rem;
}

.form_submit_btn_block li + li {
	margin-top: 10vw;
}

.form_confirm .form_layout .txt_tuika input + p,
.form_confirm .form_layout .txt_tuika p + input {
	margin-left: 0;
}

.form_confirm .form_layout > dd {
	padding: 1px 0;
}


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

.news_release a {
	display: block;
	text-decoration: none;
	width: 100%;
	padding: 5.3vw 0 4.6vw 0;
	display: grid;
	grid-template-columns: 20vw 1fr;

		color: var(--link) !important;
		align-items: start;
}

.news_release li+li {
	margin-top: auto;
	border-top: 1px solid var(--bo_l);
}

.news_release >li:first-child a {
	padding-top: 0;
}

.news_release .cat {
	font-size: 1.2rem;
	border: 1px solid var(--bo_l);
	border-radius: 1.3vw;
	text-align: center;
	width: 18.6vw;
	padding: 0vw 0 0.1vw 0;
}

.news_release .cat.cat-release {background:#019E97; color:#fff; border:none;}

.news_release .cat.cat-ir {background:#444444; color:#fff; border:none;}

.news_release .cat.cat-financials {background:#033F98; color:#fff; border:none;}

.news_release .cat.cat-info {background:#EE8228; color:#fff; border:none;}

.news_release .date {
	font-size: 1.2rem;
}

.news_release .txt {
	grid-column: 1 / -1;
	line-height: 1.7;
	margin-top: 3vw;
}

/* .news_release:not(.news_release_no_delite) > li:nth-child(n+4) {display: none;} */



/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
パンくず　bread */
.bread {
    /* --- 基本デザイン（維持） --- */
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    align-items: center;
    font-size: 1.2rem;
    margin-top: 2vw;
    margin-bottom: 10vw;
    padding: 0; 
    scrollbar-width: none;
    -ms-overflow-style: none;

    /* --- レイアウト：常に左開始にする（スクロールを殺さないため） --- */
    justify-content: flex-start;

    /* --- マスク設定 --- */
    -webkit-mask-image: none;
    mask-image: none;
	
	br {
		display: none;
	}
}

/* 前に疑似要素を追加して、短い時に右へ押し出す */
.bread::before {
    content: "";
    flex-grow: 1; /* これが余白を埋めて右に寄せます */
    display: block;
}

/* スクロールが必要な時は、この押し出しを無効化する */
.bread.is-scrollable::before {
    display: none;
}

/* --- マスク制御（以前の成功パターン） --- */
.bread.is-scrollable {
    -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
    mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}
.bread.is-scrollable.is-left-end {
    -webkit-mask-image: linear-gradient(to right, black 92%, transparent);
    mask-image: linear-gradient(to right, black 92%, transparent);
}
.bread.is-scrollable.is-right-end {
    -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black);
    mask-image: linear-gradient(to right, transparent, black 8%, black);
}
/* スクロールバー非表示 */
.bread::-webkit-scrollbar { display: none; }

.bread a {
    text-decoration: none;
}

.bread > li {
    list-style: none;
}

.bread > li:not(:last-child) {
    position: relative;
    padding-right: 6.6vw; 
}

.bread > li:not(:last-child)::after {
    content: "";
    position: absolute;
    border-top: 1px solid #959595;
    border-right: 1px solid #959595;
    top: 50%;
    right: 3vw; 
    width: 1.5vw;
    aspect-ratio: 1/1;
    transform: translateY(-50%) rotate(45deg);
    z-index: 2;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
下層インデックスボタン　upage_index_li */
.upage_index_li {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8vw 2.6vw;
	text-align: center;
}

.upage_index_li a {
	text-decoration: none;
	font-weight: 700;
	color: var(--color) !important;
		font-size: 1.3rem;
}

.upage_index_li .img {
	margin-bottom: 2vw;
	border-radius: 1.3vw;
	overflow: hidden;
}
.upage_index_li .img.img_bo::after {
	border-radius: 1.3vw;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
サインsign_wrap */

.sign_wrap {font-size: 1.2rem;line-height: 1.6;display: flex;flex-wrap: wrap;align-items: center;justify-content: flex-end;flex-direction: row;gap: 5.3vw;margin-top: 8vw;}

.sign_wrap .sign {
	width: 32.5vw;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ブロンドロゴ　brand_logo */
.brand_logo {
	width: 64vw;
	margin: 0 auto 8vw;
}

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


.kodawari_step {
	margin-top: 9vw;
}

.kodawari_step>li {
	display: grid;
	grid-template-columns: 1fr;
	gap: 4vw;
}

.kodawari_step>li+li {
	margin-top: 13.3vw;
}

.kodawari_step .step_tl {
	margin-bottom: 2.3vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
アドビダウンロードadobe_pdf_info */
.adobe_pdf_info {border-top: 1px solid var(--bo);margin-top: 12vw;padding-top: 7vw;text-align: center;}

.adobe_pdf_info .img {
	width: 39.2vw;
	margin: 0 auto 3vw;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
qr_box */
.kakomi:has(.qr_box) {
	padding: 3.3vw 5.3vw;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
連絡先tel_fax_mail_contact */

.tel_fax_mail_contact {
	color: var(--green) !important;
	font-weight: 600;
	font-family: var(--en);
	font-size: 3.3rem;
	width: 72vw;
	margin: 3vw auto 1vw;
	line-height: 1.4;
}

.tel_fax_mail_contact a {
	color: var(--green) !important;
	text-decoration: none;
}

.tel_fax_mail_contact li>dl {
	display: grid;
	grid-template-columns: 12.8vw 1fr;
	align-items: center;
}

.tel_fax_mail_contact li>dl dt {font-size: 1.7rem;background: var(--green);color: #fff;width: 11.2vw;height: 6.93vw;line-height: 1.4;}

.tel_fax_mail_contact dd {
	text-align: left;
}
.tel_fax_mail_contact.tel_fax_mail_contact_mini  {
font-size:1.4rem	
}
.tel_fax_mail_contact.tel_fax_mail_contact_mini dt{
	font-size: 1.1rem;
	background: var(--green);
	color: #fff;
	width: 11.2vw;
	height: 4.03vw;
	line-height: 1.3;
}

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

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ブロック */
.blue_radius {
	background: #F6F7FA;
	border-radius: 10.6vw 10.6vw 0 0;
	padding-block: 1px;
	margin-top: 7vw;
	padding-bottom: 10.6vw;
}

.blue_radius .en_tl_blue {
	margin-top: 7vw;
}


.col02 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5.3vw;
}
.col03 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 7vw;
}
.sp_col>*+* {
	margin-top: 3vw;
}
.img_col01 {
	display: grid;
	gap:1.2vw;
}
.img_spcol03.gap_s {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.53vw;
}


body.upage.cat01_business.cat02_brand.cat02_index #branding figcaption,
body.upage.cat01_business.cat02_brand.cat02_index #pb figcaption{
	text-align: center;
		font-size: 1.1rem;
}



.activities_block01_img_block {margin: 3vw auto 0;width: calc(260px * var(--sp_img_calc));}



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

.flow_block>li {
	position: relative;
}

.flow_block>li:not(:last-child) {
	margin-bottom: 5.5vw;
}
.flow_block>li:not(:last-child)::after {
	position: absolute;
	content: "";
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	background: var(--blue);
	width: 15.2vw;
	height: 4.5vw;
	z-index: 10;
	top: 100%;
	left: 50%;
	transform: translate(-50%, 0%);
}
.flow_block>li>.flow_box {
	border: 1px solid var(--bo);
	border-radius: 2.6vw;
	overflow: hidden;
}

.flow_block>li>.flow_box .num {
	color: var(--blue);
	font-family: var(--en);
	font-size: 3.4rem;
	font-weight: 600;
	position: absolute;
	line-height: 1;
	top: 6vw;
	left: 5vw;
}
.flow_block>li>.flow_box .txt_block {
	position: relative;
	padding: 6vw 5vw;
}


.flow_block>li>.flow_box .txt_box .box_tl {
	font-weight: 700;
	font-size: 1.6rem;
	padding: 0.9vw 0 0 13vw;
	margin-bottom: 4vw;
}



/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
青ベタタイトルのステップフロー　step_flow */
.step_flow>li {
	position: relative;
}

.step_flow>li+li {
	margin-top: 10vw;
}

.step_flow>li:not(:last-child)::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 6.7vw;
	background: url(../img/uarrow.svg) no-repeat center center /contain;
	bottom: -8vw;
	left: 0;
}
.step_flow>li>dl>dt {
	background: var(--blue);
	color: #fff;
	font-weight: 700;
	margin-bottom: 4vw;
	padding: 0;
	line-height: 1.5;
	display: grid;
	grid-template-columns: 18vw 1fr;
}


.step_flow>li>dl>dt>* {
	padding: 1.6vw 0 1.6vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.step_flow>li>dl>dt .num {
	text-align: center;
	font-family: var(--en);
	font-size: 1.6rem;
	justify-content: center;
}

.step_flow>li>dl>dt>.step_tl {
	border-left: 1px solid #fff;
	padding-inline: 2.5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
アコーディオン */
.aco_block_wrap {
	border-top: 1px solid var(--bo_l);
}

.aco_block {
    cursor: pointer;
    position: relative;
    transition: opacity 0.3s;
		border-bottom: 1px solid var(--bo_l);
}

.aco_tl_block {
	position: relative;
		font-weight: 700;
	font-size: 2rem;
	line-height: 1.4;
	padding: 6.8vw 0;
}
.aco_tl_block::before {
	position: absolute;
	content: "";
	width: 8vw;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 1px solid var(--green);
	top: 50%;
	right: 0;
	transform: translate(0%, -50%);
}
.aco_tl_in {
	position: relative;
	padding-right: 10vw;
}

.aco_tl_in::before,
.aco_tl_in::after {
	position: absolute;
	content: "";
	width: 2.66vw;
	height: 2px;
	right: calc(2.67vw - 0.5px);
	background: var(--green);
	top: 50%;
	transform: translate(0%, -50%);
}

.aco_tl_in::after {
	transform: rotate(-90deg);
	transition: transform 0.3s ease;
	top: calc(50% - 0.5px);
}
.aco_tl_block:hover {
    opacity: 0.8;
}
.aco_block.is-active .aco_tl_in::after,.faq_box.aco_block.is-active .aco_tl_in::after {
	transform: rotate(0deg);
}
.aco_block .aco_con {
    display: none;
    padding-bottom: 10.6vw;
}
/*------------------------------------------------------------------------------
よくある質問FAQ */
.faq_box.aco_block .aco_tl_block::before {
	transform: inherit;
	top: 4vw;
}
.faq_box.aco_block .aco_tl_in {
	font-size: 1.4rem;
	font-weight: 400;
}
.faq_box.aco_block .aco_con_in {
	position:relative;
}

.faq_box.aco_block .aco_tl_block::after, 
.faq_box.aco_block .aco_con_in::after {position: absolute;content: "Q";background: var(--green);width: 8vw;height: 8vw;border-radius: 50%;font-family: var(--en);color: #fff;text-align: center;font-weight: 500;top: 4vw;left: 4vw;font-size: 2.1rem;line-height: 1.2;}
.faq_box.aco_block .aco_con_in::after {
	background: var(--blue);
	content: "A";
}
.faq_box.aco_block .aco_tl_block {
	padding-left: 15vw;
	padding: 5.4vw 0 5.4vw 15vw;
}

.faq_box.aco_block .aco_tl_in::before {
	transform: inherit;
	top: 2.4vw;
}

.faq_box.aco_block .aco_tl_in::after {
	transform: rotate(-90deg);
		top: 2.6vw;
}

.faq_box.aco_block .aco_con_in {
	background: #F6F8FB;
	padding: 4.4vw 5.3vw  4.4vw 15vw;
}

.faq_box.aco_block .aco_con {
	padding-bottom: 4vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
年代コンテンツ　あゆみ　aco_block year_aco */
.year_aco .aco_tl_block .year {
	font-size: 1.6rem;
	color: var(--green);
	padding-bottom: 2vw;
}

.year_con_wrap .year_tl_m_block .year {
	color: var(--green);
	font-weight: 700;
	font-size: 1.6rem;
	margin-bottom: 0.7vw;
}

.year_con_wrap .year_tl_m_block .year_tl {
	font-weight: 700;
	font-size: 1.6rem;
	margin-bottom: 2vw;
}
.year_con_wrap .year_conbox+.year_conbox {
	margin-top: 4vw;
}

.year_con_wrap .year_conbox figure {
	width: 74.7vw;
	margin: 5vw auto 0;
}


.year_con_wrap .year_con.year_1971 figure {
	width: 27.46vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ナンバリングの流れフロー　num_move_flow */
.num_move_flow .tl_box {
	font-weight: 700;
	color: var(--green);
	display: grid;
	grid-template-columns: 17vw 1fr;
	align-items: end;
	border-bottom: 1px solid var(--green);
	padding-bottom: 1vw;
	margin-bottom: 4vw;
}

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

.num_move_flow .tl_box .num {
	font-family: var(--en);
	font-weight: 500;
	font-style: italic;
	font-size: 4.4rem;
	line-height: 1;
}

.num_move_flow>li+li {margin-top: 12vw;}

.num_move_flow .img {
	margin-top: 3.5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
school_youtube */
.school_youtube ul>li+li {
	margin-top: 2vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
株主優待が届くまでprocess_li */
.process_li>li {
	border: 3px solid #FFCD00;
	border-radius: 2.6vw;
	padding: 3vw 4vw;
	display: grid;
}
.process_li>li:not(:last-child) {
	display: grid;
	grid-template-columns: 12vw 1fr;
	align-items: center;
	position: relative;
}

.process_li>li .num {
	background: #FFCD00;
	font-family: var(--en);
	color: #fff;
	text-align: center;
	width: 8vw;
	height: 8vw;
	border-radius: 50%;
	font-size: 2rem;
	font-weight: 500;
	line-height: 7vw;
}

.process_li>li .process_tl {
	font-weight: 700;
	font-size: 1.8rem;
}

.process_li>li .txt {
	font-size: 1.2rem;
}

.process_li>li:not(:last-child)::after {
	position: absolute;
	content: "";
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	background: #FFCD00;
	bottom: -5.3vw;
	left: 50%;
	transform: translate(-50%, 0%);
	width: 10.6vw;
	height: 5.3vw;
}

.process_li>li+li {
	margin-top: 5.3vw;
}

.process_li>li:last-child {
	border-color: #E84B3B;
	background: #FFD731;
	display: grid;
	grid-template-columns: 24vw 1fr;
	gap: 0vw 6vw;
}

.process_li>li .fin {
	color: #EA4B3C;
	font-weight: 700;
	font-size: 2.2rem;
	-webkit-text-stroke: 1.8vw #fff;
	paint-order: stroke fill;
	fill: #f04e4e;           /* 文字の色 */
	stroke: #fff;            /* 枠の色 */
	stroke-width: 1.8vw;      /* 枠の太さ（太めに設定） */
	stroke-linejoin: round;
	paint-order: stroke fill;
	grid-column: 2/3;
	grid-row: 1/2;
}

.process_li>li .fin_txt {
	font-weight: 700;
	font-size: 1.2rem;
	grid-column: 2/3;
	grid-row: 2/3;
}

.process_li>li .img {grid-column: 1/2;grid-row: 1/3;}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
囲み　kakomi */
.kakomi {
	border: 1px solid var(--bo);
	border-radius: 2.6vw;
	padding: 6vw 6vw;}

.kakomi_ps {
	padding: 5.3vw;
}
.kakomi_pss {
	padding: 4.5vw 5.3vw;
}

.kakomi.effort_kakomi .img_block {
	margin-top: 4vw;
}
.kakomi_green {border: 2px solid var(--green);}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
画像右のレイアウトボックス　img_wbox */
.img_wbox >*+* {
	margin-top: 6vw;
}
.img_wbox.img_wbox_img230>.img_block {
	width: calc(230px * var(--sp_img_calc));
	margin-inline:auto;
}
.img_wbox.img_wbox_img260 .img_block {
	width: calc(260px * var(--sp_img_calc));
	margin-inline:auto;
}
.img_wbox.img_wbox_img288>.img_block {
	width: calc(288px * var(--sp_img_calc));
	margin-inline:auto;
}

.img_wbox.img_wbox_img292 .img_block {
	max-width:  calc(292px * var(--sp_img_calc));
	margin-inline: auto;
}

.img_wbox .img_block .img_col02 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5vw;
}

.img_wbox .img_block .gap_s {
	gap: 0.8vw;
}


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

.block_img_w_txt {
	display: grid;
	grid-template-columns: 1fr;
	gap: 4vw;
}

.block_img_w_txt .btn_area {
	margin: 4vw auto 0;
	width: 61.6vw;
	
}

.block_img_w_txt_hr+.block_img_w_txt_hr {
	margin-top: 8vw;
}
.block_img_w_txt:not(.block_img_w_txt_hr)+.block_img_w_txt:not(.block_img_w_txt_hr) {
	margin-top: 9vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
float */

.float_wbox.float_wbox_scol .img_block {
	float: right;
	width: 30vw;
	margin: 0 0 1vw 3.4vw;
}

.float_wbox.float_wbox_scol .img_block .gap_s >li+li {
	margin-top: 0.53vw;
}

.float_wbox.float_wbox_scol >li+li {
	margin-top: 0.8vw;
}

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


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


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


/*------------------------------------------------------------------------------
スライダー */
.mv_section .pc-only-arrow {display: none !important;}
.mv_section {
	position: relative;
}

.topics_section {
	width: 100vw;

	margin-left: -5.3vw;
	position: relative;
}
:is(.mv_section, .topics_section) .slick-dotted.slick-slider {
	margin-bottom: 0;
	padding-bottom: 13vw;
}
.topics_item.slick-slide {
	margin-inline: 2.6vw;
}
.mv_section .mv_nav_container, 
.topics_section .topics_nav_container {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 13vw;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	align-content: stretch;
	flex-direction: row;
	gap: 2vw;
}

.mv_slide_wrap .mv_item {
	border-radius: 2.6vw;
	overflow: hidden;
	margin: 0 2.6vw;
}

:is(.mv_section, .topics_section) .slick-dots {
	display: flex !important;
	list-style: none;
	padding: 0;
	order: 2;
	position: relative;
	bottom: inherit;
	width: auto;
	margin: 0;
}
:is(.mv_section, .topics_section) .slick-arrow {
	position: relative;
	top: inherit;
	left: inherit;
	width: 13vw;
	height: 13vw;
	transform: inherit;
	background: url(../img/arrow_ls.svg) no-repeat center center / 2.6vw 100%;
	order: 1;
}
:is(.mv_section, .topics_section) .slick-arrow.slick-next {url(
	http: //dev.itochu-shokuhin-com.local/assets/img/arrow_ls.svg) no-repeat center center / 2.6vw 100%;
	background-image: url(../img/arrow_rs.svg);
	order: 3;
}
:is(.mv_section, .topics_section) .slick-prev:before,
:is(.mv_section, .topics_section) .slick-next:before {
	display: none;
}
:is(.mv_section, .topics_section) .slick-dots li {
	margin: 0;
	height: 13vw;
	width: 6.5vw;
}
:is(.mv_section, .topics_section) .slick-dots li button{
	font-size: 0px;line-height: 0;width: 100%;height: 100%;padding: 0;
	}
:is(.mv_section, .topics_section) .slick-dots li button:before{
	width: 2.6vw;height: 2.6vw;border: 1px solid var(--green);border-radius: 50%;padding: 0;background: #fff;font-family: inherit;font-size: 0;line-height: 1;content: "";opacity: 1;-webkit-font-smoothing: antialiased;top: 50%;left: 50%;transform: translate(-50%, -50%);
}
:is(.mv_section, .topics_section) .slick-dots li.slick-active button:before{
	background: var(--green);
}


.topics_item  a {
	text-align: center;
	text-decoration: none;
}

.topics_item a .txt {
	margin-top: 3vw;
}

.topics_section .img,.topics_section .img.img_bo::after {
	border-radius: 2.6vw;
	overflow:hidden;
	display:block;
}

/*------------------------------------------------------------------------------
Corporate Overview */


.overview_li>li+li {
	border-top: 1px solid var(--bo_l);
	padding-top: 6.9vw;
	margin-top: 6.9vw;
}

.overview_li a {
	display: grid;
	grid-template-columns: 1fr 34.6vw;
	gap: 5vw;
	text-decoration: none;
	position:relative;
	height: 33.3vw;
}

.overview_li a::after {
	position: absolute;
	content:"";
	border-radius: 2.6vw;
	overflow: hidden;
	background: url(../img/top/overciew_img01.webp) no-repeat center center / cover;
	width: 34.6vw;
	height:33.3vw;
	right: 0;
	top: 0;
}

.overview_li>li:nth-child(2) a::after {
	background-image: url(../img/top/overciew_img02.webp);
}
.overview_li>li:nth-child(3) a::after {
	background-image: url(../img/top/overciew_img03.webp);
}
.overview_li>li:nth-child(4) a::after {
	background-image: url(../img/top/overciew_img04.webp);
}

.overview_li .img_en { display:none}

.overview_li .btn_block.more_btn_style {
	margin-top: 6vw;
}

.overview_li .jp {
	font-weight: 700;
	font-size: 2rem;
	padding-left: 5.3vw;
	position: relative;
	line-height: 1.3;
}

.overview_li .jp::before {
	position: absolute;
	content: "";
	background: var(--green);
	width: 2.6vw;
	aspect-ratio: 1/1;
	border-radius: 50%;
	top: 2.2vw;
	left: 0;
}

.overview_li .en {
	font-size: 1rem;
	padding-left: 5.3vw;
	line-height: 1.4;
	margin-top: 1.3vw;
}

.overview_wrap .visual_area {
	display: none;
}

/* 検索 */
.google_cse_result .gsc-control-wrapper-cse > form.gsc-search-box.gsc-search-box-tools {
	display: none !important;
}

.google_cse_result .gsc-control-cse {
	padding: 0 !important;
}