@charset "utf-8";

/*
/*    CSS MENU -LAUYOUT-SPfirst
*/


/*
*********************************************************************************
/*
/* 大枠
/*
/*******************************************************************************/


/*
*********************************************************************************
/*
/* header
/*
/*******************************************************************************/

header {
	height: 16vw;
	border-bottom: 2px solid var(--blue);
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}

header .logo {
	width: 66.1vw;
	margin-left: 5vw;
	height: 100%;
}

header .logo a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	height: 100%;
}

header .h_con a {
	background: var(--blue);
	color: #fff;
	text-decoration: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	font-size: calc(14 * var(--px-rem));
	width: 90vw;
	margin: 9vw 5vw 15vw 5vw;
	padding: 3vw;
}

header .hamburger {
	position: absolute;
	right: 5vw;
	width: 24px;
	height: 18px;
	top: 50%;
	transform: translate(0%, -50%);
}

header .hamburger:before,
header .hamburger:after,
header .hamburger span:before {
	position: absolute;
	content: "";
	width: 24px;
	height: 2px;
	background: var(--blue);
	left: 0;
}

header .hamburger:before {
	top: 0;
}

header .hamburger:after {
	bottom: 0;
}

header .hamburger span:before {
	top: 8px;
}

header .hamburger span {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: inline-block;
}

header nav {
	display: none;
}

header .main_nav {
	font-weight: 500;
}

header .en_change a {
	display: inline-block;
	height: auto;
	font-weight: 500;
	font-family: var(--pick);
}


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

.pagetop {
	position: fixed;
	bottom: 3vw;
	right: 5vw;
	border-radius: 50%;
	overflow: hidden;
	width: 16vw;
	height: 16vw;
	z-index: 50;
}

.pagetop a {
	display: block;
}

footer {
	margin-top: 27vw;
}

body :has(.footer_top_m) > footer {
	margin-top: 13vw;
}

footer .f_contactus {
	background: url(../images/contact/foot_bg_sp.png) no-repeat center bottom / cover;
	padding: 5vw 0 10.5vw;
}

footer .f_contactus .ori_tl {
	color: var(--blue);
	font-weight: 900;
	font-size: calc(30 * var(--px-rem));
	text-align: center;
	margin-bottom: 4vw;
	font-family: var(--pick);
}

footer .f_contactus.f_contactus_recruit .ori_tl {
	font-size: calc(24 * var(--px-rem));
}

footer .f_contactus .width_col02 .colbox {
	box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.15);
	background: #fff;
	text-align: center;
	padding: 7vw 5vw;
	font-size: calc(12 * var(--px-rem));
}

footer .f_contactus .btn a {
	display: block;
	background: var(--blue);
	text-decoration: none;
	color: #fff;
	font-size: calc(14 * var(--px-rem));
	font-weight: 500;
	padding: 4.4vw;
	position: relative;
	margin-top: 7vw;
	width: 100%;
}

footer .f_contactus .btn a:before {
	position: absolute;
	content: "";
	background: url(../images/arrow.svg) no-repeat right center / contain;
	width: 2.5vw;
	height: 100%;
	top: 0;
	right: 5vw;
	filter: var(--filter-white);
}

footer .f_contactus .btn a:after {
	position: absolute;
	content: "";
	background: url(../images/contact.svg) no-repeat left center / contain;
	width: 5vw;
	height: 100%;
	top: 0;
	left: 5vw;
	filter: var(--filter-white);
}

footer .f_contactus .width_col02 .colbox + .colbox {
	margin-top: 5vw;
}

footer .f_contactus .width_col02 .colbox.tel_a_box {
	padding: 0;
}

footer .f_contactus .width_col02 .colbox.tel_a_box a {
	text-decoration: none;
	padding: 7vw 5vw;
	display: block;
	width: 100%;
}

footer .f_contactus .tel_block {
	margin-top: 4vw;
	font-size: calc(40 * var(--px-rem));
	font-weight: 700;
	color: var(--blue);
	display: inline-block;
}

footer .f_contactus .tel_block p {
	position: relative;
	padding-left: 11vw;
	text-align: left;
	line-height: 1.4;
	font-family: var(--pick);
}

footer .f_contactus .tel_block p a {
	color: var(--blue);
	text-decoration: none;
}

footer .f_contactus .tel_block p:before {
	position: absolute;
	content: "";
	background: url(../images/tel.svg) no-repeat center center / contain;
	width: 8vw;
	height: 7vw;
	top: 5vw;
	left: 0;
	filter: var(--filter-blue);
}

footer .f_contactus .tel_block p.fax:before {
	background-image: url(../images/fax.svg);
}

footer .f_contactus .time {
	margin-top: 2vw;
}

footer .f_navwrap {
	background: var(--blue);
	color: #fff;
	padding: 16vw 0 13vw;
}

footer .f_navwrap .f_logo a {
	display: block;
	width: 40vw;
	margin: 0 auto;
}

footer .f_navwrap .f_nav > li > .parent {
	font-weight: 700;
	margin-top: 6vw;
}

footer .f_navwrap .subnav_con {
	padding-left: 5vw;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin-top: 4vw;
}

footer .f_navwrap .subnav_con li {
	min-width: 15vw;
	display: inline-block;
}

footer .f_navwrap .subnav_con li:nth-child(2n+1) {
	padding-right: 8.8vw;
}

footer .f_navwrap .subnav_con li.kaigyou:after {
	content: "";
	display: inline-block;
	width: 5vw;
}

footer .f_navwrap .f_nav a {
	color: #fff;
	text-decoration: none;
}

footer .f_navwrap .subnav_con .stl {
	width: 20vw;
	position: relative;
}

footer .f_navwrap .subnav_con .stl:after {
	position: absolute;
	content: "";
	background: var(--gray);
	width: 1px;
	height: 4vw;
	top: 2.2vw;
	right: 0;
}

footer .f_navwrap .subnav_con .stl + ul {
	width: 60vw;
	margin-left: 5vw;
}

footer .f_navwrap .subnav_con + .subnav_con {
	margin-top: 4vw;
}

footer .f_navwrap .f_recruit a {
	display: block;
	font-weight: 500;
	border: 1px solid #fff;
	padding: 2.4vw 2.7vw 3vw;
	text-align: center;
	text-decoration: none;
	color: #fff;
	margin-top: 9vw;
}

footer .f_navwrap .f_link_in a {
	display: block;
	font-weight: 500;
	border: 1px solid #fff;
	padding: 2.2vw 0.7vw 2vw 8.1vw;
	text-align: center;
	text-decoration: none;
	color: #fff;
	margin: 8vw auto;
	font-size: calc(12 * var(--px-rem));
	width: 48vw;
	position: relative;
}

footer .f_navwrap .f_link_in a:before {
	position: absolute;
	content: "";
	background: url(../images/in.svg) no-repeat center center / contain;
	aspect-ratio: 1 / 1;
	width: 5.4vw;
	top: 2.3vw;
	left: 6vw;
}

footer .f_navwrap .f_ad_wrap {
	margin-top: 12vw;
	border-top: 1px solid var(--gray);
	padding-top: 4vw;
	font-size: calc(13 * var(--px-rem));
}

footer .f_navwrap .f_ad_wrap a {
	text-decoration: none;
	color: #fff;
}

footer .f_navwrap .f_privacy {
	margin-top: 7vw;
}

footer .f_navwrap small {
	font-size: calc(11.5 * var(--px-rem));
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
cookie  */

.cky-consent-container {
	border-radius: 0 !important;
	width: 100% !important;
}

.cky-box-bottom-left {
	bottom: 0 !important;
	left: 0 !important;
}

.cky-consent-container .cky-consent-bar {
	border: 4px solid var(--blue) !important;
	border-width: 4px 0 0 0 !important;
	display: block;
	border-radius: 0 !important;
	padding: 5vw 0 5vw 0 !important;
	box-shadow: 0 0px 15px rgba(0, 0, 0, 0.15);
}

.cky-consent-bar .cky-banner-btn-close {
	width: 5.8vw !important;
	height: 5.8vw !important;
	display: grid;
	place-content: center;
	place-items: center;
	top: inherit !important;
	bottom: 5vw !important;
	right: 3vw !important;
	z-index: 50;
	cursor: pointer !important;
}

.cky-consent-bar .cky-banner-btn-close:before {
	position: absolute;
	content: "×";
	font-size: calc(20 * var(--px-rem)) !important;
}

.cky-consent-bar .cky-banner-btn-close img  {
	display: none !important;
}

.cky-notice-des {
	padding: 0 5vw;
	color: var(--color) !important;
}

.cky-notice .cky-title {
	display: none;
}

.cky-notice-des * {
	font-size: calc(12 * var(--px-rem)) !important;
	letter-spacing: 0;
	line-height: 1.7 !important;
}

.cky-notice-btn-wrapper {
	flex-direction: column !important;
}

.cky-notice-btn-wrapper .cky-btn {
	color: #FFFFFF;
	background-color: #003391;
	border-color: #003391;
	font-size: calc(14* var(--px-rem)) !important;
	height: 11vw;
	width: 32vw;
	padding: 0.8vw 0 0.6vw 1vw;
	line-height: 1;
}

.cky-notice-des * a {
	color: var(--blue);
}
body.en .cky-btn.cky-btn-accept {
	text-indent: 200%;
	white-space: nowrap;
	overflow: hidden;
	display: inline-block;
	padding: 0;
	position: relative;
}

body.en .cky-btn.cky-btn-accept:before {
	text-indent: 0;
	position: absolute;
	content: "Accept";
	display: flex;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	justify-content: center;
	align-items: center;
}

/*
*********************************************************************************
/*
/* モジュール
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
main */

.main_col02_snav .main_col02_l {
	position: fixed;
	top: calc(100svh - 18.6vw);
	border: 1px solid var(--blue);
	border-bottom: 0;
	height: 18.6vw;
	left: 0;
	width: 9.3vw;
	background: #fff;
	border-left: 0;
	z-index: 90;
}

.main_col02_snav .main_col02_l:after {
	position: absolute;
	content: "";
	background: var(--blue);
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
}

.main_col02_snav .main_col02_l .side_nav .snav_cat {
	font-weight: 500;
	font-size: calc(16 * var(--px-rem));
	line-height: 1.4;
	margin-top: 2vw;
	padding-bottom: 2vw;
}

.main_col02_snav .main_col02_l .side_nav .side_nav_in_li a {
	text-decoration: none;
	color: var(--blue);
	font-weight: 500;
	padding: 1.8vw 0 1.8vw 3.5vw;
	position: relative;
	line-height: 1.4;
}

.main_col02_snav .main_col02_l .side_nav_in_li {
	margin-bottom: 1vw;
}

.main_col02_snav .main_col02_l .snav_lv01 + .side_nav_in_li {
	margin-top: 3vw;
}

.main_col02_snav .main_col02_l .side_nav .side_nav_li > li:first-child a {
	text-decoration: none;
	color: var(--blue);
}

.main_col02_snav .main_col02_l .side_nav .side_nav_li > li:first-child .snav_cat {
	margin-top: 0;
}

.main_col02_snav .main_col02_l .side_nav .side_nav_li > li p:not(.snav_cat),
.main_col02_snav .main_col02_l .side_nav .side_nav_li > li p:not(.snav_cat) a {
	text-decoration: none;
	color: var(--blue);
	font-weight: 500;
	padding: 1.8vw 0;
	position: relative;
	font-size: calc(16 * var(--px-rem));
	line-height: 1.4;
}

.main_col02_snav .main_col02_l .side_nav .side_nav_li > li + li {
	margin-top: 4vw;
}

.main_col02_snav .main_col02_l .side_nav .side_nav_li > li p:not(.snav_cat) {
	padding: 0;
}

.main_col02_snav .main_col02_l .side_nav .side_nav_li > li p:not(.snav_cat) {
	color: var(--color);
}

.main_col02_snav .main_col02_l .side_nav .btn a {
	margin: 6vw 0 0 0;
	width: 37.1vw;
	padding: 1.8vw 1.5vw 1.2vw 4.1vw;
	text-align: left;
	min-width: inherit;
}

.main_col02_snav .main_col02_l .side_nav .btn a:before {
	right: 3vw;
}


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

.copy01 {
	font-weight: 500;
	font-size: calc(22 * var(--px-rem));
	line-height: 1.7;
}

.pick_lead {
	color: var(--blue);
	font-weight: 500;
	font-size: calc(16 * var(--px-rem));
	line-height: 1.94;
	font-family: var(--pick);
}

.w_tl_pen_ja .lead {
	font-weight: 500;
	font-size: calc(16 * var(--px-rem));
	line-height: 1.7;
	margin-bottom: 7vw;
}

.w_tl_pen_ja .b_lead {
	font-weight: 500;
	font-size: calc(16 * var(--px-rem));
	line-height: 1.7;
	margin-bottom: 7vw;
}

.kome.kome01num.hosoku {
	padding-left: 2.3em;
	text-indent: -2.3em;
	font-size: calc(11 * var(--px-rem));
	line-height: 1.7;
}

.no_under,
.no_under a {
	text-decoration: none;
}

.cs_txt {
	color: var(--blue);
	font-weight: 700;
	font-family: var(--pick);
	font-size: 4.6rem;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
タイトル */

.page_tl {
	margin-top: 16vw;
	height: 42.5vw;
	margin-bottom: 13vw;
	background: url(../images/page_tl_sp.png) no-repeat left top / cover;
}

.page_tl .ja {
	background: var(--blue);
	color: #fff;
	font-weight: 700;
	line-height: 1.2;
	font-size: calc(22 * var(--px-rem));
	padding: 0.9vw 2vw 0.9vw;
	margin-top: 13vw;
	display: inline-block;
}

.page_tl_big {
	background: #f76430 url(../images/works/catbg_refractory_sp.png) no-repeat center center / cover;
	color: #fff;
	font-weight: 700;
	margin-top: 16vw;
	height: 56vw;
	margin-bottom: 13vw;
}

.page_tl_big.page_tl_ceramicsand {
	background-image: url(../images/works/catbg_ceramicsand_sp.png);
	background-color: #00b2f2;
}

.page_tl_big.page_tl_carbonneutral {
	background-image: url(../images/works/catbg_carbonneutral_sp.png);
	background-color: #00d9b1;
}

.page_tl_big .ceratechmade {
	width: 31.5vw;
	padding-top: 4vw;
}

.page_tl_big .tl {
	height: 6.5vw;
	margin-top: 13vw;
}

.page_tl_big .txt {
	color: #003391;
	text-align: center;
	font-weight: 700;
	font-size: calc(12.8 * var(--px-rem));
	margin-top: 6vw;
}

.page_tl_m {
	background: #f76430 url(../images/works/catbg_refractory_sp.png) no-repeat center center / cover;
	color: #fff;
	font-weight: 500;
	margin-top: 16vw;
	height: 42.67vw;
	margin-bottom: 13vw;
	text-align: center;
	display: grid;
	place-content: center;
	place-items: center;
	padding-bottom: 3vw;
	font-family: var(--pick);
}

.page_tl_m.page_tl_ceramicsand {
	background-image: url(../images/works/catbg_ceramicsand_sp.png);
	background-color: #00b2f2;
}

.page_tl_m.page_tl_carbonneutral {
	background-image: url(../images/works/catbg_carbonneutral_sp.png);
	background-color: #00d9b1;
}

.page_tl_m .tl_cat {
	color: #fff;
	text-align: center;
	font-size: 1.4rem;
}

.page_tl_m .tl {
	margin-top: 1vw;
	font-size: 2.6rem;
	line-height: 1.5;
}

.tl_lv01 {
	color: var(--blue);
	font-weight: 700;
	font-size: calc(24 * var(--px-rem));
	line-height: 1.4;
	margin-bottom: 10vw;
	margin-top: 20vw;
}

.tl_lv01 .stxt {
	color: var(--color);
	font-size: calc(14 * var(--px-rem));
	display: block;
	padding-top: 0.1vw;
	font-family: var(--pick);
}

.tl_lv02 {
	color: var(--blue);
	font-weight: 700;
	font-size: calc(18 * var(--px-rem));
	text-align: center;
	padding-top: 13vw;
	margin-bottom: 10vw;
}

.tl_lv03 {
	color: var(--blue);
	font-weight: 700;
	font-size: calc(16 * var(--px-rem));
	padding-top: 9vw;
	margin-bottom: 3vw;
}

.maru_tl {
	padding-left: 1.2em;
	text-indent: -1.2em;
	padding-top: 4vw;
}

.tl_enja {
	color: var(--blue);
	font-weight: 900;
	font-size: calc(30 * var(--px-rem));
	line-height: 1.4;
	margin-bottom: 5vw;
	margin-top: 20vw;
	font-family: var(--pick);
}

.tl_enja .stxt {
	color: var(--color);
	font-size: calc(14 * var(--px-rem));
	display: block;
	padding-top: 0.3vw;
	font-weight: 400;
	font-family: var(--font);
}

.tl_simple {
	font-weight: 500;
	font-size: calc(20 * var(--px-rem));
	margin-bottom: 6vw;
	line-height: 1.4;
	padding-top: 9vw;
}

.tl_simple .tl_s {
	font-size: calc(14 * var(--px-rem));
	vertical-align: baseline;
}

.tl_simple02 {
	font-weight: 500;
	font-size: 1.4rem;
	margin-bottom: 4vw;
	line-height: 1.4;
	padding-top: 10vw;
}

.tl_simple03 {
	font-size: calc(16 * var(--px-rem));
	display: block;
	padding-top: 1.4vw;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 4vw;
	margin-top: 8vw;
}

.tl_simple04 {
	font-weight: 500;
	font-size: calc(20 * var(--px-rem));
	margin-bottom: 6vw;
	line-height: 1.4;
	padding-top: 9vw;
}

.tl_pen_ja {
	color: var(--blue);
	text-align: center;
	line-height: 1.4;
	margin-bottom: 8vw;
	margin-top: 21vw;
}

.tl_pen_ja .en {
	font-weight: 500;
	font-size: calc(12 * var(--px-rem));
	display: block;
	font-family: var(--pick);
}

.tl_pen_ja .ja {
	font-weight: 700;
	font-size: calc(30 * var(--px-rem));
	display: block;
}

.tl_pen_ja .en + .ja {
	margin-top: 2vw;
}

.tl_pen_ja .ja.en_style {
	font-family: var(--pick);
}

.stl_pen_ja {
	line-height: 1.4;
	margin-bottom: 5vw;
	margin-top: 8vw;
	position: relative;
	padding-bottom: 5vw;
}

.stl_pen_ja:before {
	position: absolute;
	content: "";
	width: 8vw;
	height: 1px;
	background: var(--gray);
	bottom: 0;
	left: 0;
}

.stl_pen_ja .en {
	color: var(--blue);
	font-weight: 500;
	font-size: calc(12 * var(--px-rem));
	display: block;
	font-family: var(--pick);
}

.stl_pen_ja .ja {
	display: block;
	font-weight: 700;
	font-size: calc(22 * var(--px-rem));
	);
}

.stl_pen_ja .en + .ja {
	margin-top: 1.5vw;
}

.stl_pen_ja .en + .ja .stxt {
	font-size: calc(16 * var(--px-rem));
	vertical-align: baseline;
}

.blue_tl01 {
	color: var(--blue);
	font-weight: 700;
	font-size: calc(24 * var(--px-rem));
	line-height: 1.4;
	margin-bottom: 8vw;
	border-bottom: 1px solid var(--gray);
	padding-bottom: 7vw;
	margin-top: 21vw;
}

.blue_tl01_no_b {
	margin-bottom: 0 !important;
	border: none !important;
}

.green_obi_tl {
	background: #00D9B1;
	color: #fff;
	font-weight: 700;
	text-align: center;
	font-size: calc(16 * var(--px-rem));
	line-height: 1.5;
	padding: 1.6vw 1vw;
	margin-top: 10vw;
	margin-bottom: 2vw;
}


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

figcaption {
	font-size: calc(12 * var(--px-rem));
	padding-top: 2.4vw;
	line-height: 1.3;
}

.img_border {
	border: 1px solid var(--gray);
}


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


/*------------------------------------------------------------------------------
mission_ol */

.mission_ol .mission_num {
	color: var(--blue);
	font-weight: 700;
	font-size: 1.4rem;
	font-family: var(--pick);
}

.mission_ol .txt {
	font-weight: 500;
}

.mission_ol > li {
	display: grid;
	grid-template-columns: 24.8vw 1fr;
	line-height: 1.8;
}

.mission_ol > li + li {
	margin-top: 8vw;
}


/*------------------------------------------------------------------------------
usage_li */

.usage_li {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-auto-rows: 1fr;
	gap: 2.5vw;
}

.usage_li > li {
	background: #FAFCFF;
	border: 1px solid var(--gray);
	line-height: 1.4;
	text-align: center;
	display: grid;
	align-items: center;
	justify-items: center;
	padding: 1.8vw 2vw 1.8vw;
	font-size: calc(12 * var(--px-rem));
	min-height: 13.5vw;
}


/*------------------------------------------------------------------------------
li_dot */

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

.li_dot_w > li {
	padding-left: 1.3em;
}

.li_dot > li:before {
	position: absolute;
	content: "・";
	left: 0;
	top: 0;
}

.li_dot.li_dot_txts {
	font-size: calc(12 * var(--px-rem));
}


/*------------------------------------------------------------------------------
lineup_li */

.lineup_li {
	display: grid;
	grid-auto-columns: 1fr;
	gap: 4.8vw;
	grid-auto-flow: column;
}

.lineup_li figure img {
	border-radius: 1.3vw;
	overflow: hidden;
	border: 1px solid var(--gray);
}


/*------------------------------------------------------------------------------
li_num */

.li_num {
	margin-top: 8vw;
	font-size: calc(12 * var(--px-rem));
	font-weight: 500;
	counter-reset: li_num;
}

.li_num > li {
	padding-left: 2em;
	position: relative;
}

.li_num > li:before {
	content: counter(li_num) "";
	counter-increment: li_num;
	position: absolute;
	left: 0;
	text-align: right;
	width: 1.4em;
	top: 0;
}

.li_num > li:after {
	content: ".";
	position: absolute;
	top: 0;
	left: 1.4em;
}

.li_num_indl > dt {
	font-weight: 700;
}


/*------------------------------------------------------------------------------
li_circle */

.li_circle > li {
	position: relative;
	padding-left: 4vw;
	line-height: 1.7;
}

.li_circle > li + li {
	margin-top: 2vw;
}

.li_circle > li:before {
	position: absolute;
	content: "";
	background: var(--blue);
	width: 1.8vw;
	height: 1.8vw;
	border-radius: 50%;
	left: 0;
	top: 2.3vw;
}

.li_circle_bk > li:before {
	background: var(--color);
}


/*------------------------------------------------------------------------------
li_circle02 */

.li_circle02 > li {
	position: relative;
	padding-left: 4vw;
	line-height: 1.7;
}

.li_circle02 > li:before {
	position: absolute;
	content: "";
	background: var(--color);
	width: 2vw;
	height: 2vw;
	border-radius: 50%;
	left: 0;
	top: 2.1vw;
}


/*------------------------------------------------------------------------------
li_num_kakko */

.li_num_kakko {
	counter-reset: li_num_kakko;
	margin-left: -1em;
}

.li_num_kakko > li {
	position: relative;
	padding-left: 2.5em;
}

.li_num_kakko > li:before {
	content: counters(li_num_kakko, ".") ") ";
	counter-increment: li_num_kakko;
	position: absolute;
	top: 0;
	left: 0;
	width: 2em;
	text-align: right;
}


/*------------------------------------------------------------------------------
li_num_roma */

.li_num_roma {
	counter-reset: li_num_roma;
	margin-left: -1em;
}

.li_num_roma > li {
	position: relative;
	padding-left: 2.5em;
}

.li_num_roma > li:before {
	content: counter(li_num_roma, lower-roman) "";
	counter-increment: li_num_roma;
	position: absolute;
	top: 0;
	left: 0;
	width: 1.5em;
	text-align: right;
}

.li_num_roma > li:after {
	content: ".";
	position: absolute;
	top: 0;
	left: 1.7em;
}


/*------------------------------------------------------------------------------
li_mt */

.li_mt > li + li {
	margin-top: 0.5em;
}

.li_mtl > li + li {
	margin-top: 1em;
}


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

.btn a,
.btn_style {
	border: 1px solid var(--blue);
	color: var(--blue);
	display: block;
	background: #fff;
	text-decoration: none;
	font-size: calc(14 * var(--px-rem));
	font-weight: 500;
	padding: 2.2vw 10vw 2.1vw 11vw;
	position: relative;
	margin: 8vw auto 0;
	width: 53vw;
	text-align: center;
}

.btn a:before,
.btn_style:before {
	position: absolute;
	content: "";
	background: url(../images/arrow.svg) no-repeat right center / contain;
	width: 2.5vw;
	height: 100%;
	top: 0;
	right: 4vw;
	filter: var(--filter-blue);
}

.btn_blue a {
	background: var(--blue);
	color: #fff;
}

.btn_blue_l a {
	background:#22BBFF;
	color: #fff;
	border-color:#22BBFF
}

.btn_blue a:before,
.btn_blue_l a:before {
	filter: var(--filter-white);
}

.btn_contact a:after {
	position: absolute;
	content: "";
	background: url(../images/contact.svg) no-repeat left center / contain;
	width: 5.3vw;
	height: 100%;
	top: 0;
	left: 5vw;
	filter: var(--filter-blue);
}

.btn_blue.btn_contact a:after {
	filter: var(--filter-white);
}

.btn_dl a:after {
	position: absolute;
	content: "";
	background: url(../images/dl.svg) no-repeat left center / contain;
	width: 4vw;
	height: 100%;
	top: 0;
	left: 5vw;
	filter: var(--filter-blue);
}

.btn_blue.btn_dl a:after,
.btn_blue_l.btn_dl a:after{
	filter: var(--filter-white);
}


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

.anchor_slink a {
	color: var(--blue);
	font-weight: 500;
	text-decoration: none;
	padding: 3vw 5vw 3vw 0;
	position: relative;
}

.anchor_slink a:before {
	position: absolute;
	content: "";
	background: url(../images/icon_anchor.svg) no-repeat center center / contain;
	width: 3vw;
	aspect-ratio: 1 / 1;
	top: 50%;
	right: 0%;
	transform: translate(0%, -50%);
	margin-top: 0vw;
}


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

table {
	border-top: 1px solid var(--gray);
}

table tr > * {
	padding: 4.3vw 0;
	border-bottom: 1px solid var(--gray);
	vertical-align: top;
}

table tbody th {
	font-weight: 700;
	width: 30vw;
	padding-right: 0.5em;
}

table.table_td_m tbody td {
	vertical-align: middle;
}


/*------------------------------------------------------------------------------
table_col02 */

.table_col02 > table + table {
	border: none;
}

.main_col02 .site_tl01 {
	font-size: calc(20 * var(--px-rem));
	font-weight: 700;
	color: var(--blue);
	margin-top: 16vw;
	margin-bottom: 7vw;
}


/*------------------------------------------------------------------------------
access_table */

.access_table tr > td:nth-of-type(3) a {
	color: var(--blue);
	font-weight: 700;
	text-decoration: none;
	position: relative;
	padding-right: 3vw;
	font-family: var(--pick);
}

.access_table tr > td:nth-of-type(3) a:after {
	position: absolute;
	content: "";
	width: 1.9vw;
	height: 1.9vw;
	border-left: 2px solid var(--blue);
	border-top: 2px solid var(--blue);
	transform: translate(0%, -50%) rotate(135deg);
	top: 50%;
	right: 0%;
	margin-top: 0.4vw;
}


/*------------------------------------------------------------------------------
history_table */

.history_table tbody th {
	color: var(--blue);
	font-weight: 700;
	font-size: calc(16 * var(--px-rem));
	padding-right: 0;
	width: 9.5vw;
}

.history_table tbody th + th {
	width: 11vw;
	text-align: center;
	font-size: calc(12 * var(--px-rem));
	line-height: 2.5;
}

.history_table tbody td {
	padding-left: 4vw;
}


/*------------------------------------------------------------------------------
detail_table / character_table */

.detail_table_wrap .detail_table,
.detail_table_wrap .character_table {
	width: 250vw;
}

.detail_table tr > *,
.character_table tr > * {
	border: 1px solid var(--gray);
	text-align: center;
	font-size: calc(14 * var(--px-rem));
	padding: 1.2vw 1.4vw 1.2vw;
	line-height: 1.4;
	vertical-align: middle;
	width: 10%;
}

.detail_table_col11 tr > * {
	width: calc(100% / 11);
	padding: 1.2vw 0.5vw 1.2vw;
	font-size: calc(12* var(--px-rem));
}

.character_table thead th,
.character_table tbody th {
	width: auto;
}

.detail_table thead th,
.detail_table:not(.detail_table_tbodyth_normal) tbody th:not(.sth),
.character_table thead th,
.character_table:not(.character_table_tbodyth_normal) tbody th:not(.sth) {
	background: #DFE8F7;
}

.detail_table_tbodyth_normal tbody th,
.character_table tbody th {
	font-weight: 400;
}

.detail_table thead tr:first-child th:not(:nth-child(n+2):nth-last-child(n+2)) {
	line-height: 2;
	padding: 0;
}

.detail_table tbody tr:nth-child(2n) > *,
.character_table tbody tr:not(:first-child):nth-child(2n + 1) > * {
	background: #F7F7F7
}

.character_table tr > *:not(:first-child) {
	width: 52.2vw;
}

.character_table tbody tr:first-child td {
	padding: 1vw;
}

.detail_table .highlight01 {
	background: #FFD8BF !important;
}

.detail_table .highlight02 {
	background: #FFECE0 !important;
}

.detail_table_alpha {
	opacity: 0.5;
}

.detail_table .seisuu {
	padding-right: 0.7em;
}


/*------------------------------------------------------------------------------
table_sptate */

.table_sptate th,
.table_sptate td {
	padding: 0;
	display: block;
	width: 100%;
	line-height: 1.6;
}

.table_sptate th {
	border-bottom: none;
	padding: 3.8vw 0 1.2vw;
	font-weight: 500;
}

.table_sptate td {
	padding: 1.2vw 0 3.8vw;
}

.table_sptate .btn a {
	margin-top: 4vw;
	width: 70vw;
	padding: 2.3vw 10vw 1.9vw 10vw;
}


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

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

.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%;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
prod_cat_tl_box */

.prod_cat_tl_box {
	margin-bottom: 8vw;
	position: relative;
}

.prod_list_box .tl_simple {
	padding-top: 0;
}

.prod_cat_tl_box .txt {
	font-weight: 700;
	font-size: calc(18 * var(--px-rem));
	color: #fff;
	background: var(--blue) no-repeat center center / cover;
	padding: 2.1vw 4vw 2.1vw 4vw;
	margin-top: 16vw;
	line-height: 1.4;
}

#cat_house_refractory .prod_cat_tl_box .txt {
	background-image: url(../images/works/tl_refractory_sp.png);
	background-color: #f76430;
}

#cat_house_ceramicsand .prod_cat_tl_box .txt {
	background-image: url(../images/works/tl_ceramicsand_sp.png);
	background-color: #00b2f2;
}

#cat_house_carbonneutral .prod_cat_tl_box .txt {
	background-image: url(../images/works/tl_carbonneutral_sp.png);
	background-color: #00d9b1;
}

.prod_list_box figure {
	margin-top: 8vw;
}

.prod_list_box + .prod_list_box,
.prod_list_block02 > .prod_list_box:first-of-type,
.prod_list_block_col02_wide + .prod_list_block_col02 {
	margin-top: 8vw;
	padding-top: 8vw;
	border-top: 1px solid var(--gray);
}

.prod_list_block02 {
	padding-bottom: 8vw;
	border-bottom: 1px solid var(--gray);
}

.prod_list_block_col02 .prod_list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5vw;
	align-items: start;
	justify-items: stretch;
}

.prod_list_block_col02 .prod_list_box figure {
	margin-top: 1vw;
}

.prod_cat_tl_box .contact_type a {
	border: 1px solid var(--blue);
	display: block;
	background: #ffffff;
	text-decoration: none;
	color: var(--blue);
	font-size: calc(14 * var(--px-rem));
	padding: 1.4vw;
	position: relative;
	width: 100%;
	text-align: center;
	font-weight: 500;
}

.prod_cat_tl_box .contact_type a:before {
	position: absolute;
	content: "";
	background: url(../images/arrow.svg) no-repeat right center / contain;
	width: 2.5vw;
	height: 100%;
	top: 0;
	right: 5vw;
	filter: var(--filter-blue);
}

.prod_cat_tl_box .contact_type a:after {
	position: absolute;
	content: "";
	background: url(../images/contact.svg) no-repeat left center / contain;
	width: 5.3vw;
	height: 100%;
	top: 0;
	left: 5vw;
	filter: var(--filter-blue);
}

.prod_list_block_wbtn .btn {
	position: absolute;
	bottom: 0;
	margin: 0 auto;
	width: 100%;
	left: 0;
}


.prod_list_block_wbtn {
	position: relative;
	padding-bottom: 20vw;
}

.prod_list_block_wbtn .btn a {
	width: 64vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
work_type_link */

.work_type_link {
	width: 42.7vw;
}

.prod_cat_tl_box .work_type_link {
	position: absolute;
	top: 1.6vw;
	right: 1.6vw;
	z-index: 10;
}

.prod_list .work_type_link {
	margin-top: 4vw;
}

.work_type_link a,
.work_type_link .a_style {
	display: block;
	text-decoration: none;
	background: #f76430 url(../images/works/stl_refractory.png) no-repeat center center / cover;
	color: #fff;
	font-weight: 700;
	text-align: center;
	line-height: 1;
	padding: 2.5vw 0 0;
	height: 7.466667vw;
	font-size: calc(11 * var(--px-rem));
}

.work_type_link.work_type_link_ceramic_sand a,
.work_type_link.work_type_link_ceramic_sand .a_style {
	background: #00b2f2 url(../images/works/stl_ceramicsand.png) no-repeat center center / cover;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
organization */

.organization_li_wrap {
	position: relative;
}

.organization_li_wrap .posi {
	border: 1px solid #007198;
	border-radius: 0.8vw;
	background: #fff;
	text-align: center;
	line-height: 1.35;
	height: 17vw;
	display: grid;
	align-content: center;
	justify-content: center;
	font-size: calc(11 * var(--px-rem));
	font-weight: 500;
	width: 19.5vw;
	color: #007198;
	position: relative;
	padding: 0.8vw 0.2vw 0.2vw;
}

.organization_li li {
	display: grid;
	gap: 4vw;
	grid-template-columns: 19.5vw 1fr;
	position: relative;
}

.organization_li ul {
	position: relative;
}

.organization_li ul:after {
	position: absolute;
	content: "";
	background: #007198;
	width: 1px;
	height: 100%;
	z-index: -1;
	top: calc(8.5vw + 1px);
	left: -2vw;
}

.organization_li ul > li:last-child:after {
	position: absolute;
	content: "";
	background: #ffffff;
	width: 1px;
	height: 100%;
	z-index: 1;
	top: calc(8.5vw + 2px);
	left: -2vw;
}

.organization_li li + li {
	margin-top: 2vw;
}

.organization_li ul > li:first-child > .posi:before {
	left: -7vw;
}

.organization_li .kaisou02 > li > .posi {
	background: #007198;
	color: #fff;
}

.organization_li .kaisou02 li .posi:before {
	position: absolute;
	content: "";
	background: #007198;
	width: 9vw;
	height: 1px;
	z-index: -1;
	top: 8.5vw;
	left: -2vw;
}

.organization_li .kaisou03 > li > .posi {
	background: #36ABD3;
	border-color: #36ABD3;
	color: #fff;
}

.organization_li .kaisou04 li {
	grid-template-columns: 19.5vw;
}

.organization_li .kaisou04 > li > .posi {
	color: var(--color);
	border-color: var(--gray);
}

.organization_tuika {
	position: absolute;
	top: 19vw;
	left: 0;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
pagelink_prodcat_area */

.pagelink_prodcat_area {
	background: var(--lblue);
	padding-bottom: 13vw;
}

.pagelink_prodcat a {
	background: #fff;
	text-decoration: none;
	display: block;
	text-align: center;
	color: var(--blue);
	font-weight: 500;
	font-size: calc(16 * var(--px-rem));
}

.pagelink_prodcat .stl {
	padding: 1.965vw 2.265vw 2.265vw;
	position: relative;
}

.pagelink_prodcat .stl:after {
	position: absolute;
	content: "";
	background: url(../images/arrow.svg) no-repeat right center / contain;
	width: 2.5vw;
	height: 100%;
	top: 0;
	right: 5vw;
	filter: var(--filter-blue);
}

.pagelink_prodcat > li + li {
	margin-top: 8vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ceratechmade_link_area */

.ceratechmade_link_area {
	margin-top: 13vw;
}

.ceratechmade_link a {
	display: block;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
site_txt_wrap */

.site_txt_wrap .tl {
	color: var(--blue);
	font-weight: 700;
	font-size: calc(24 * var(--px-rem));
	line-height: 1.4;
	margin-bottom: 7vw;
}

.site_txt_wrap .btn a {
	width: 64vw;
}

.site_txt_wrap .btn_box .btn+.btn a {
	margin-top: 1vw;
}

.site_txt_wrap .figure_block {
	margin-top: 8vw;
}

.site_txt_wrap .figure_block figure + figure,
.site_txt_wrap .figure_block .figure_type + figure {
	margin-top: 2.6vw;
}

.site_txt_wrap_plus {
	padding-top: 11vw;
	border-top: 1px solid var(--gray);
	margin-top: 11vw;
}

.site_txt_wrap_plus.site_txt_wrap_plus_nob {
	padding-top: 0;
	border-top: none;
	margin-top: 0;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
hr_block */

.hr_block {
	margin-top: 16vw;
	border-top: 1px solid var(--gray);
	padding-top: 16vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
works_circle */

.works_circle {
	margin-top: 10.5vw;
}

.works_circle li {
	--num: 1;
	--animation-time: 2.4s;
	--delay-time: 0.3s;
	width: 64vw;
	aspect-ratio: 1/1;
	margin-inline: auto;
	position: relative;
	opacity: 1 !important;
}

.works_circle li + li {
	margin-top: 5.5vw
}

.works_circle .li_a {
	margin: 0 auto;
	display: block;
	width: 100%;
	aspect-ratio: 1/1;
	isolation: isolate;
}

.works_circle .li_a:before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0%;
	aspect-ratio: 1/1;
	z-index: -1;
	background: #fff url(../images/works/clink_start.png) no-repeat center center / contain;
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.works_circle li.show .li_a:before {
	animation: circleAnimation01 var(--animation-time) ease 0s 1 both;
}

.works_circle li {
	--change-url: url(../images/works/clink_refractory.png);
	--change-color: #f76430;
}

.works_circle .ceramicsand {
	--change-url: url(../images/works/clink_ceramicsand.png);
	--change-color: #00b2f2;
}

.works_circle .carbonneutral {
	--change-url: url(../images/works/clink_carbonneutral.png);
	--change-color: #00d9b1;
}

.works_circle li:after {
	opacity: 0;
	transition: 0.5s;
}

.works_circle .li_a img {
	opacity: 0;
	transition: 0.5s;
}

.works_circle li.js_animated:after,
.works_circle .js_animated .li_a img {
	opacity: 1;
}

@keyframes circleAnimation01 {
	0% {
		width: 0%;
	}
	35% {
		width: 15%;
	}
	45% {
		width: 15%;
		background-image: url(../images/works/clink_start.png);
		background-color: #fff;
	}
	100% {
		width: 100%;
		background-image: var(--change-url);
		background-color: var(--change-color);
	}
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
works_bnr */

.works_bnr a {
	display: block;
	text-decoration: none;
	color: #fff;
	text-align: center;
	background: var(--blue) url(../images/top/prod_tl_sp.png) no-repeat center center / cover;
	padding: 6.5vw 5vw;
}

.works_bnr a .stl {
	font-weight: 700;
	font-size: calc(18 * var(--px-rem));
}

.works_bnr a .btn_style {
	width: 100%;
	margin-top: 4vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
news_lists_area */

.news_lists_area {
	margin-top: 18.5vw;
}

.news_lists_area .news_lists {
	border-top: 1px solid var(--gray);
}

.news_lists_area .news_lists a {
	display: block;
	border-bottom: 1px solid var(--gray);
	text-decoration: none;
	line-height: 1.7;
	padding: 3.8vw 0;
}

.news_lists_area .news_lists .date {
	padding-bottom: 1.2vw;
}


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

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


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
.il_col */

.il_col {
	margin-top: 16vw;
}

.il_col_wrap figure {
	margin-bottom: 8vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
.tl_wbtn */

.tl_wbtn {
	position: relative;
	padding-bottom: 17vw;
}

.tl_wbtn .btn {
	position: absolute;
	bottom: 0;
	text-align: center;
	width: 100%;
	right: 0;
}

.tl_wbtn .btn a {
	margin-top: 0;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
contact_list */

.contact_list {
	margin-top: 10vw;
}

.contact_list .colbox {
	background: #f76430 url(../images/works/contact_refractory.png) no-repeat center center / cover;
	text-align: center;
	padding: 6vw 5vw 7vw;
	font-size: calc(12 * var(--px-rem));
	color: #fff;
}

.contact_list .colbox.ceramicsand {
	background-image: url(../images/works/contact_carbonneutral.png);
	background-color: #00b2f2;
}

.contact_list .colbox.carbonneutral {
	background-image: url(../images/works/contact_ceramicsand.png);
	background-color: #00d9b1;
}

.contact_list .colbox.other {
	background-image: url(../images/works/contact_other.png);
}

.width_col01.contact_list .colbox.other {
	background-image: url(../images/contact/recruit_bg_sp.png);
}

.contact_list .colbox.tel_a_box {
	background: none;
	width: 100%;
	padding: 0;
}

.contact_list .colbox.tel_a_box a {
	background: #f76430 url(../images/works/contact_refractory.png) no-repeat center center / cover;
	text-align: center;
	padding: 6vw 5vw 7vw;
	font-size: calc(12 * var(--px-rem));
	color: #fff;
	display: block;
}

.contact_list .colbox.ceramicsand.tel_a_box a {
	background-image: url(../images/works/contact_carbonneutral.png);
	background-color: #00b2f2;
}

.contact_list .colbox.carbonneutral.tel_a_box a {
	background-image: url(../images/works/contact_ceramicsand.png);
	background-color: #00d9b1;
}

.contact_list .colbox.other.tel_a_box a {
	background-image: url(../images/works/contact_other.png);
}

.width_col01.contact_list .colbox.other a {
	background-image: url(../images/contact/recruit_bg_sp.png);
}

.contact_list .colbox + .colbox {
	margin-top: 2.6vw;
}

.contact_list .tel_block {
	margin-top: 1vw;
	font-size: calc(32 * var(--px-rem));
	font-weight: 700;
	color: #fff;
	display: inline-block;
}

.contact_list .tel_block p {
	position: relative;
	padding-left: 9vw;
	text-align: left;
	line-height: 1.3;
	font-family: var(--pick);
}

.contact_list .tel_block p a {
	color: #fff;
	text-decoration: none;
}

.contact_list .tel_block p:before {
	position: absolute;
	content: "";
	background: url(../images/tel.svg) no-repeat center center / contain;
	width: 5vw;
	height: 7vw;
	top: 3vw;
	left: 0;
	filter: var(--filter-white);
}

.contact_list .tel_block p.fax:before {
	background-image: url(../images/fax.svg);
}

.contacl_list_stl {
	font-weight: 700;
	font-size: calc(14 * var(--px-rem));
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
pattern_li */

.pattern_li {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2vw;
	grid-auto-rows: minmax(auto, 1fr);
}

.pattern_li > li {
	background: #D1F0FA;
	padding: 2.67vw;
	display: grid;
	grid-template-rows: 18.5vw 12vw 1fr;
	position: relative;
}

.pattern_li figure {
	border-radius: 1.5vw;
	overflow: hidden;
	margin-bottom: 3vw;
}

.pattern_li .li_tl {
	text-align: center;
	font-size: calc(13 * var(--px-rem));
	line-height: 1.3;
}

.pattern_li .sent {
	font-size: calc(12* var(--px-rem));
	line-height: 1.5;
}

.pattern_li .focus_txt {
	color: #17B3E6;
}

.pattern_li .wip .wip_label {
	position: absolute;
	content: "";
	background: #F7931E;
	color: #fff;
	font-weight: 500;
	font-size: calc(13* var(--px-rem));
	line-height: 1;
	padding: 1vw 0.7vw 1vw 1vw;
	border-radius: 1vw;
	right: 2.67vw;
	bottom: 3vw;
}

.pattern_li > li.pattern_li01 {
	background: #F4EBFE;
}

.pattern_li > li.pattern_li01 .focus_txt {
	color: #9233FF;
}

.pattern_li > li.pattern_li02 {
	background: #FEF1F9;
}

.pattern_li > li.pattern_lipnk {
	background: #FEF1F9;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
pattern_li02 */

.pattern_li_tl {
	color: #F53F16;
	font-weight: 700;
	text-align: center;
	font-size: 1.8rem;
	margin-top: 10vw;
	margin-bottom: 2vw;
}

.pattern_li02 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2vw;
	grid-auto-rows: minmax(auto, 1fr);
}

.pattern_li02 > li {
	background: #FEECE8;
	padding: 4vw 2vw 5vw 2vw;
	display: grid;
	grid-template-rows: 5vw 21vw 17vw 1fr;
	position: relative;
	justify-items: center;
}

.pattern_li02 figure {
	margin-bottom: 0vw;
}

.pattern_li02 .li_tl {
	font-weight: 700;
	text-align: center;
	font-size: calc(12 * var(--px-rem));
	line-height: 1.3;
}

.pattern_li02 .txt {
	font-size: calc(12* var(--px-rem));
	line-height: 1.5;
}

.pattern_li02 .cat {
	background: #fff;
	color: #F53F16;
	font-weight: 700;
	text-align: center;
	font-size: calc(11* var(--px-rem));
	line-height: 1;
	padding: 1.4vw 2vw 1.5vw 2.2vw;
	display: inline-block;
	width: auto;
	border-radius: 10vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
pattern_li03 */

.pattern_li03 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2vw;
	margin-top: 10vw;
}

.pattern_li03 > li {
	background: #E5F7FE;
	padding: 4vw 0vw 1vw 0vw;
	position: relative;
	justify-items: center;
}

.pattern_li03 .li_tl {
	font-weight: 700;
	text-align: center;
	font-size: calc(9 * var(--px-rem));
	line-height: 1.3;
	padding-bottom: 1vw;
}

.pattern_li03 figure {
	margin-bottom: 1vw;
}

.pattern_li03 .catch {
	font-weight: 700;
	text-align: center;
	font-size: calc(8 * var(--px-rem));
	line-height: 1.8;
	padding-bottom: 3vw;
}

.pattern_li03 .txt {
	font-size: calc(12* var(--px-rem));
	line-height: 1.4;
}

.pattern_li03 .txt .li_dot li + li {
	margin-top: 1.5vw;
}

.pattern_li03 .txt_area {
	padding: 2vw;
}


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


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

.top_mv {
	margin-top: 16vw;
	margin-bottom: -17vw;
}

.top_lead {
	display: grid;
	justify-content: center;
	opacity: 1 !important;
	font-family: var(--pick);
}

.top_lead p {
	display: flex;
	flex-direction: column;
	gap: 3.7vw;
}

.top_lead .top_lead_line {
	--animation-time: 0.4s;
	--num: 1;
	font-weight: 500;
	font-size: calc(16 * var(--px-rem));
	letter-spacing: 0.12em;
	line-height: 1.2;
	color: transparent;
	padding: 0.4vw 4vw 0.6vw 4vw;
	position: relative;
	display: block;
	width: fit-content;
	transition: color 0s calc(var(--animation-time) * var(--num) - var(--animation-time) / 2 * (var(--num) - 1));
	overflow: hidden;
}

.top_lead .top_lead_line:before {
	content: attr(data-txt);
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	color: #fff;
	background: #003391;
	padding: 0.4vw 4vw 0.6vw 4vw;
	overflow: hidden;
	white-space: nowrap;
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0);
	transform: translateZ(0);
}

.top_lead.show .top_lead_line {
	color: #003391;
}

.top_lead.show .top_lead_line:before {
	animation: clipText calc(var(--animation-time) * 2) ease calc(var(--animation-time) * (var(--num) - 1) - var(--animation-time) / 2 * (var(--num) - 1)) 1 both;
}

@keyframes clipText {
	0% {
		-webkit-clip-path: inset(-1% 100% -1% 0);
		clip-path: inset(-1% 100% -1% 0);
	}
	50% {
		-webkit-clip-path: inset(-1% 0 -1% 0);
		clip-path: inset(-1% 0 -1% 0);
	}
	100% {
		-webkit-clip-path: inset(-1% 0 -1% 100%);
		clip-path: inset(-1% 0 -1% 100%);
	}
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
prof_mission */

.copy01.mission_copy {
	font-size: calc(17.5 * var(--px-rem));
	padding-bottom: 2vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
works_global */

.global_img_area {
	text-align: center;
}

.global_img_area .txt {
	padding-top: 8vw;
	text-align: left;
}

.global_img_area .img {
	background: url(../images/works/global_map.png) no-repeat center center / contain;
	width: 100%;
	height: 48vw;
}

.global_img_area .img svg {
	width: 100%;
	height: 48vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
sustainability */

.sustainability_message {
	background: #1769b5 url(../images/sustainability/bg_guide_sp.jpg) no-repeat center bottom / 100% auto;
	color: #fff;
	padding: 13vw 0 37vw;
}

.sustainability_message .tl {
	font-size: calc(12 * var(--px-rem));
	margin-bottom: 6vw;
	font-weight: 700;
}

.sustainability_message .txt_area {
	font-size: 1.4rem;
}

.sustainability_message .lead {
	font-weight: 700;
}

.sustainability_message .img_logo {
	width: 43.4vw;
	margin: 16vw auto 0;
}

.sdgs .tl {
	font-weight: 500;
	font-size: calc(19 * var(--px-rem));
	text-align: center;
	margin-bottom: 7vw;
}

.sdgs .tl .stxt {
	font-size: calc(12 * var(--px-rem));
	vertical-align: baseline;
	padding-right: 0.2em;
	padding-left: 0.2em;
	margin-left: -0.2em;
}

.sdgs_li li {
	display: grid;
	grid-template-columns: 24vw 1fr;
	background: var(--lblue);
}

.sdgs_li li + li {
	margin-top: 1.3vw;
}

.sdgs_li p {
	padding: 2.5vw;
	line-height: 1.4;
	font-size: calc(12 * var(--px-rem));
	display: grid;
	align-items: center;
}

.sdgs_cat_area {
	margin-top: 16vw;
}

.sdgs_anchor {
	display: grid;
	grid-auto-columns: 1fr;
	grid-auto-flow: column;
}

.sdgs_anchor > li {
	display: grid;
	height: 24vw;
}

.sdgs_anchor > li > a {
	text-decoration: none;
	display: grid;
	align-content: center;
	justify-items: center;
	background: var(--gray) url(../images/sustainability/anchor_environment_sp.jpg) no-repeat center center / cover;
	color: #fff;
	font-size: calc(18 * var(--px-rem));
	font-weight: 500;
}

.sdgs_anchor > li.society > a {
	background-image: url(../images/sustainability/anchor_society_sp.jpg);
}

.sdgs_anchor > li.governance > a {
	background-image: url(../images/sustainability/anchor_governance_sp.jpg);
}

.sdgs_anchor > li > a .en {
	font-family: var(--pick);
	font-size: calc(11 * var(--px-rem));
	font-weight: 700;
}

.sdgs_cat_box {
	margin-top: 16vw;
}

.sdgs_cat_block .box_tl {
	text-decoration: none;
	display: grid;
	align-content: center;
	justify-items: center;
	background: var(--gray) url(../images/sustainability/bg_environment_sp.jpg) no-repeat center center / cover;
	color: #fff;
	font-size: calc(26 * var(--px-rem));
	font-weight: 500;
	height: 32vw;
	line-height: 1.7;
	width: 95vw;
	margin-left: -5vw;
	position: relative;
	z-index: 2;
}

.sdgs_cat_block #society .box_tl {
	background-image: url(../images/sustainability/bg_society_sp.jpg);
}

.sdgs_cat_block #governance .box_tl {
	background-image: url(../images/sustainability/bg_governance_sp.jpg);
}

.sdgs_cat_block .box_tl .en {
	font-family: var(--pick);
	font-size: calc(14 * var(--px-rem));
	font-weight: 700;
}

.sdgs_cat_block .txt_area {
	padding: 10.5vw 0;
	position: relative;
}

.sdgs_cat_block .txt_area:before {
	position: absolute;
	content: "";
	background: var(--lblue);
	width: 100vw;
	height: calc(100% + 8vw);
	top: -8vw;
	left: -5vw;
}

.sdgs_cat_block .txt_area > * {
	position: relative;
}

.sdgs_li_select {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 2.5vw;
	padding-bottom: 3vw;
}

.sdgs_cat_box .txt_area > .txt_box .box_stl {
	font-weight: 700;
	font-size: calc(18 * var(--px-rem));
	line-height: 1.4;
	padding-top: 8.5vw;
	margin-bottom: 5vw;
}

.sdgs_cat_block .sdgs_policy {
	margin-top: 8vw;
}

.sdgs_cat_block .sdgs_policy > li + li {
	margin-top: 7vw;
}

.sdgs_cat_block .img + ul.sdgs_policy {
	margin-top: 0;
}

.sdgs_cat_box .txt_area > .txt_box:first-of-type .box_stl {
	margin-bottom: 4vw;
}

.sdgs_cat_block .sdgs_policy dt {
	font-weight: 500;
}

.sdgs_cat_block .sdgs_policy dt + dd {
	padding-top: 1vw;
}

.sdgs_cat_block .txt_area > .txt_box + .txt_box {
	margin-top: 8vw;
	border-top: 1px solid var(--gray);
}

.sdgs_cat_box .txt_area > .txt_box .img {
	margin-top: 5vw;
	margin-bottom: 5.5vw;
}

.sustainability_img_col03 {
	margin-top: 8vw;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1.4vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
news */


/*------------------------------------------------------------------------------
news_list */

.news_list {
	border-top: 1px solid var(--gray);
}

.news_list li {
	border-bottom: 1px solid var(--gray);
}

.news_list a {
	display: block;
	text-decoration: none;
	line-height: 1.7;
	padding: 4vw 0;
}

.news_list .date {
	margin-bottom: 1.8vw;
}


/*------------------------------------------------------------------------------
news_detail */

#news_detail main {
	margin-top: 16vw;
	padding-top: 13vw;
}

#news_detail .date {
	margin-bottom: 2vw;
}

#news_detail .news_tl {
	font-weight: 500;
	font-size: calc(16 * var(--px-rem));
	line-height: 1.6;
	border-bottom: 1px solid var(--gray);
	padding-bottom: 4vw;
	margin-bottom: 6vw;
}

#news_detail .txt a {
	display: inline;
	color: var(--blue);
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
recruit */


/*------------------------------------------------------------------------------
recruit_profile_circle */


/*------------------------------------------------------------------------------
recruit_bnr */

.recruit_bnr a {
	background: #9da4ac url(../images/recruit/graduates_sp.jpg) no-repeat center center / cover;
	text-decoration: none;
	color: #fff;
	padding: 5vw;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	height: 53vw;
	line-height: 1.5;
}

.recruit_bnr .career a {
	background-image: url(../images/recruit/career_sp.jpg);
}

.recruit_bnr .en {
	font-weight: 500;
	font-size: calc(12 * var(--px-rem));
	font-family: var(--pick);
}

.recruit_bnr .tl {
	font-weight: 700;
	font-size: calc(22 * var(--px-rem));
	margin-top: 0.5vw;
}

.recruit_bnr .txt {
	font-size: calc(12 * var(--px-rem));
	font-weight: 500;
	margin-top: 2.5vw;
}


/*------------------------------------------------------------------------------
recruit_bnr_mynavi */

.recruit_bnr_mynavi_wrap {
	position: relative;
	height: var(--bnr-height);
	margin-top: 10vw;
	margin-bottom: -23vw;
}

.recruit_bnr_mynavi {
	--bottom: 3vw;
	position: fixed;
	left: 5vw;
	bottom: var(--bottom);
	/* transform: translate(-50%); */
	width: 69vw;
	background: #fff;
}

.recruit_bnr_mynavi_wrap.js_stop .recruit_bnr_mynavi {
	position: absolute;
	top: 0;
	bottom: auto !important;
	left: 0;
}

.recruit_bnr_mynavi a {
	display: block;
	border: 1px solid var(--gray);
}


/*------------------------------------------------------------------------------
staff_intro */

.staff_intro .tl {
	background: var(--blue);
	color: #fff;
	font-weight: 500;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	padding: 0.1vw 5vw 0vw;
	margin-bottom: 6vw;
	margin-top: 12vw;
}

.staff_intro .tl .busyo {
	padding-top: 0.1em;
	padding-right: 4vw;
}

.staff_intro .tl .name {
	font-size: 2.3rem;
}

.staff_intro .stl {
	color: var(--blue);
	font-weight: 700;
	font-size: 1.85rem;
	margin-bottom: 3.4vw;
	margin-top: 8vw;
}

.staff_box {
	overflow: hidden;
}

.staff_box .stl {
	width: 100%;
}

.staff_box.staff_box01 figure {
	float: right;
	width: 39.2vw;
	margin-left: 5.5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
404 */

.page404con {
	margin-top: 16vw;
	padding-top: 13vw;
	text-align: center;
}

.page404con .img404 {
	width: 75vw;
	margin: 0 auto 10vw;
}

.page404con .lead {
	font-weight: 700;
	font-size: calc(18 * var(--px-rem));
	line-height: 1.7;
	margin-bottom: 5vw;
}

.page404con .txt {
	text-align: left;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
privacy */

.privacy_time {
	font-size: calc(12 * var(--px-rem));
	margin-bottom: 3vw;
}

.privacy_name {
	text-align: right;
	font-size: calc(12 * var(--px-rem));
	margin-top: 5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
form */

table#form input:not([size]),
table#form textarea:not([size]),
main table#form input:not([size])[type="text"],
main table#form input[type="textarea"],
main table#form input[type="email"] {
	width: 100% !important;
}

table#form .catalog_dl_form_li input:not([size]),
table#form .catalog_dl_form_li textarea:not([size]),
main table#form .catalog_dl_form_li input:not([size])[type="text"],
main table#form .catalog_dl_form_li input[type="textarea"],
main table#form .catalog_dl_form_li input[type="email"] {
	width: auto !important;
	vertical-align: text-bottom;
}

.policy-box .policy + .policy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

input[type=button],
input[type=submit] {
	opacity: 1;
	transition: 0.5s ease;
}

input[type=button]:hover,
input[type=submit]:hover {
	opacity: 0.7;
	transition: 0.5s ease;
}

input#__back {
	background: #fff;
	border: 1px solid var(--gray);
	color: var(--blue);
}

input#__send,
input#__commit {
	background: var(--blue);
	color: #fff;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
/works/catalyst */

.catalyst_txt_matome {
	font-size: calc(16* var(--px-rem));
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
投稿ページスタイル */

.news_con .alignright {
	width: auto;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.news_con .alignleft {
	max-width: 100%;
	width: auto;
	margin-left: auto;
	margin-right: auto;
}

.news_con .aligncenter {
	width: auto;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.news_con .alignnone {
	width: auto;
	max-width: 100%;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ページングスタイル */

.wp-pagenavi {
	margin-top: 10vw;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5vw;
}

.wp-pagenavi :is(.nextpostslink, .previouspostslink) {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
	width: 8vw;
	aspect-ratio: 1/1;
	background: var(--blue);
	position: relative;
}

.wp-pagenavi .nextpostslink:before,
.wp-pagenavi .previouspostslink:before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.9vw;
	aspect-ratio: 1/1;
	z-index: 1;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	transform: translate(-25%, -50%) rotate(-45deg);
}

.wp-pagenavi .previouspostslink {
	order: 1;
}

.wp-pagenavi .nextpostslink {
	transform: rotate(180deg);
	order: 3;
}

.wp-pagenavi .pages {
	order: 2;
}

.wp-pagenavi :is(.extend, .page, .current) {
	display: none;
}