html {
	font-size: 52.5%; /* 10px */
	-webkit-text-size-adjust: 100%;
}
body, body *, body *::before, body *::after {
	outline:none;
	user-select: none;
}
/* =root
-------------------------------------------------------------- */
:root {
	--color-bg: #e4ecf2;
	--color-1: #005fae;
	--color-2: #0d97fd;
	--color-3: #595757;
	--easing: cubic-bezier(.2, 1, .2, 1);
	--transition: .8s var(--easing);
	--circumference: 100;
}
/* =body
-------------------------------------------------------------- */
body {
	background:var(--color-bg);
	color:var(--color-3);
	font-family:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	position: relative;
}
.chill {
	font-family: 'Chillax', sans-serif;
	font-variation-settings: "wght" 350;
}
.chill_b {
	font-family: 'Chillax', sans-serif;
	font-variation-settings: "wght" 500;
}
.gene {
	font-family: 'General Sans', sans-serif;
	font-variation-settings: "wght" 350;
}
.gene_b {
	font-family: 'General Sans', sans-serif;
	font-variation-settings: "wght" 550;
}
#container *, #container *::after, #container *::before {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
img {
	display: block;
	width:100%;
	height:auto;
}
.padd {
	padding-top:0;
}

/* =responsive
-------------------------------------------------------------- */
.pc {
	display:none;
}
.pctablet {
	display:none;
}
.tablet {
	display:none;
}

/* =structure
-------------------------------------------------------------- */
#container {
	overflow: hidden;
	width:100%;
	position: relative;
}
.wrapper {
	padding:80px 0 0;
}
.wrapper.page {
	margin:0 auto 20rem;
}


/* =ヘッダー
-------------------------------------------------------------- */
header {
	width:94%;
	background:#FFF;
	position:fixed;
	z-index:1000;
	top:2rem;
	left:3%;
	padding:1rem 1.5rem;
	display: grid;
	grid-template-columns: 15rem 1fr 10rem 5.4rem;
	column-gap: 2rem;
	align-items: center;
	box-shadow: 0 0 1rem rgba(0,0,0,0.1);
	border-radius: 5rem;
}
header .logo {
	position: relative;
	z-index: 2;
	width:100%;
	display: flex;
	align-items: center;
}
header .logo a {
	display: flex;
	align-items: center;
	width: 100%;
}
header .logo svg {
	width:100%;
}
header .logo .logo_path {
	fill: var(--color-2);
	transition: fill .4s ease;
}
header .empty {}
.language-switcher {
	position: relative;
	display: block;
	z-index: 2;
}
.language-switcher::after {
	content:'';
	position: absolute;
	top:50%;
	right:1rem;
	margin:-3px 0 0 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	border-top: 6px solid var(--color-2);
	border-bottom: 0;
	transition: border .4s ease;
}
.lang-toggle {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	border:none;
	background: transparent;
}
.lang-toggle .icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width:3rem;
	height:3rem;
}
.lang-toggle .icon .lang_path {
	transition: fill .4s ease;
	fill: var(--color-2);
}
.lang-toggle .icon svg {
	width:3rem;
	height:3rem;
}
.lang-toggle .word {
	display: block;
	font-size:2.4rem;
	color: var(--color-2);
	text-transform:uppercase;
	margin:0 2rem 0 0;
	transition: color .4s ease;
}
.lang-dropdown {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid #ccc;
	z-index: 1000;
}
.lang-dropdown li a {
	text-decoration: none;
	color: #333;
	display: block;
	font-size:2.4rem;
	text-align: center;
	padding: 1rem 2rem;
	background: white;
	transition:background .4s ease;
}
.lang-dropdown li a:hover {
	background: var(--color-bg);
}
.language-switcher.open .lang-dropdown {
	display: block;
}
.head_contact {
	display: none;
	justify-content: center;
	align-items: center;
	border:1px solid var(--color-2);
	border-radius: 4rem;
	font-size: 1.8rem;
	font-weight: 500;
	color:var(--color-2);
	padding:1.2rem 0;
	transition: all 0.4s ease;
	position: relative;
	z-index: 2;
}
.head_contact:hover {
	background: var(--color-2);
	color: white;
}
.hamburger {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	flex-direction: column;
	flex-wrap: wrap;
	width:5.4rem;
	height:5.4rem;
	border:1px solid var(--color-2);
	border-radius: 50%;
	cursor: pointer;
	position: relative;
	z-index: 2;
}
.hamburger .line {
	background: white;
	border-radius: 2px;
	transform: rotate(-35deg);
	transform-origin: center center;
	transition:transform .4s ease, width .4s ease;
}
.hamburger .line1 {
	width:2rem;
	height:2px;
	margin:0 0 0.8rem;
}
.hamburger .line2 {
	width:3rem;
	height:2px;
}
.hamburger .line3 {
	width:2.5rem;
	height:2px;
	margin:0.8rem 0 0;
}
.hamburger:hover .line {
	transform: rotate(0);
	width:2rem;
}
.globalmenu {
	display:block;
	position: absolute;
	z-index:1;
	top:1rem;
	right:1.5rem;
	width:5.4rem;
	height:5.4rem;
	border-radius: 2.7rem;
	background: var(--color-2);
	transition: all .3s ease;
}
.menu_inner {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 2rem;
	row-gap: 2rem;
	padding:12rem 5% 8rem;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all .1s ease;
}
/* ここから一旦open時指定 */
header.open .logo .logo_path {
	fill: white;
}
header.open .language-switcher::after {
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	border-top: 6px solid white;
	border-bottom: 0;
}
header.open .lang-toggle .icon .lang_path {
	fill: white;
}
header.open .lang-toggle .word {
	color: white;
}
header.open .head_contact {
	border:1px solid white;
	color: white;
}
header.open .head_contact:hover {
	border: 1px solid var(--color-2);
}
header.open .hamburger {
	border:1px solid white;
}
header.open .hamburger .line1 {
	width:2rem;
	transform: rotate(45deg);
	margin:0 0 -2px 0;
}
header.open .hamburger .line2 {
	display: none;
}
header.open .hamburger .line3 {
	width:2rem;
	transform: rotate(-45deg);
	margin:0 0 0 0;
}
header.open .globalmenu {
	top:0;
	right:0;
	width:100%;
	height: calc((var(--vh, 1vh) * 100) - 4rem);
	overflow-y: auto;
	background: var(--color-1);
	border-radius: 3.6rem;
}
header.open .menu_inner {
	opacity:1;
	visibility: visible;
	pointer-events: all;
	transition: all .3s .3s ease;
}
/* globalmenu */
.menu_inner .mainmenu .parent {
	font-size:5vw;
	font-weight:700;
	margin:0 0 2rem 0;
}
.menu_inner .submenu .parent {
	font-size:5vw;
	font-weight:700;
	margin:0 0 1rem 0;
}
.menu_inner .mainmenu .child {
	font-size:1.6rem;
	font-weight:400;
	margin:0 0 1rem;
}
.menu_inner a {
	display: block;
	width:100%;
	color:white;
	position: relative;
	padding:0.5rem 0;
}
.menu_inner .mainmenu  a.child {
	padding:1.5rem 3rem;
	background: #00559b;
	border-radius: 3rem;
}
.menu_inner a::after {
	content:'';
	position: absolute;
	bottom:0;
	right:0;
	width:0%;
	height:1px;
	background: white;
	transition:width .4s ease;
}
.menu_inner a:hover::after {
	left:0;
	width:100%;
}

/* =トップ
-------------------------------------------------------------- */
.mv {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height:80vh;
	padding:0 10%;
	position: relative;
}
.page .mv,
.childpage .mv {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height:30vh;
	padding:0 10%;
	position: relative;
}
.mv .mv_inner {
	z-index:3;
	position: relative;
}
.mv .mv_inner .mv_title {
	display: block;
	font-size:4rem;
	line-height: 1.3em;
	font-weight: 900;
	color: var(--color-1);
}
.mv .mv_inner .mv_title span {
	display: block;
	width:fit-content;
	position: relative;
	clip-path: inset(0 100% 0 0);
}
.mv .mv_inner .mv_title span::after {
	content:'';
	position: absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
	background: var(--color-1);
}
.mv .mv_inner .mv_title .line1 {
	transition: clip-path .4s ease;
}
.mv .mv_inner .mv_title .line2 {
	transition: clip-path .4s .2s ease;
}
.mv .mv_inner .mv_title .line1::after {
	transition: width .4s .4s ease;
}
.mv .mv_inner .mv_title .line2::after {
	transition: width .4s .6s ease;
}
.mv .mv_inner.show .mv_title span {
	clip-path: inset(0 0 0 0);
}
.mv .mv_inner.show .mv_title span::after {
	width:0%;
}
.mv .mv_inner p {
	font-size:1.7rem;
	font-weight: 500;
	color: var(--color-2);
	line-height: 2em;
	padding:1rem 0;
	opacity:0;
	margin:1rem 0 0 0;
	clip-path: inset(0 100% 0 0);
	transition: opacity .4s .8s ease, clip-path .4s .8s;
}
.mv .mv_inner p span {
	padding:0 0 0.5rem 0;
	border-bottom:1px solid var(--color-2);
}
.mv .mv_inner.show p {
	opacity: 1;
	clip-path: inset(0 0 0 0);
}
.mv .ball1 {
    position: absolute;
    top:0;
    left:0;
	z-index:1;
    width:20rem;
	height:20rem;
	background: #ffef95;
	filter: blur(15rem);
	border-radius: 50%;
}
.mv .ball2 {
    position: absolute;
    top:25vh;
    left:50vw;
	z-index:1;
    width:20rem;
	height:20rem;
	background: #009ad4;
	filter: blur(15rem);
	border-radius: 50%;
}
.mv .ball3 {
    position: absolute;
    bottom:10vh;
    right:0;
	z-index:1;
    width:20rem;
	height:20rem;
	background: #7ec37c;
	filter: blur(15rem);
	border-radius: 50%;
}
.mv .vissel1 {
	position: absolute;
	bottom:-5rem;
	z-index:10;
	left:0;
	width:32rem;
	overflow: hidden;
	border-radius: 0 2rem 2rem 0;
	box-shadow: 0 0 2rem rgba(0,0,0,0.1);
}


/* gallery */
#galleryCanvas {
	position: absolute;
	top:-80px;
	right:-5%;
	z-index: 2;
	height:100vh;
}
.gallery-wrapper {
	display: flex;
	gap: 10px;
	padding: 50vh 10px;
	perspective: 1000px; /* パース */
	overflow: hidden;
}
.column {
	display: flex;
	flex-direction: column;
	gap: 10px;
	transform-style: preserve-3d;
}
.column img {
	width: 150px;
	height: auto;
	border-radius: 8px;
	object-fit: cover;
}

/* btn */
.btn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width:100%;
	padding:1.5rem 3rem;
	border:1px solid var(--color-1);
	border-radius: 4rem;
	margin:5rem 0 0 0;
	transition:background .4s ease;
}
.btn .label {
	font-size: 2rem;
	color:var(--color-1);
	transition:color .4s ease;
}
.btn .icon {
	display: flex;
	align-items: center;
}
.btn .icon,
.btn .icon svg {
	width:3rem;
}
.btn .icon .arrow_path {
	fill:var(--color-1);
	transition:fill .4s ease;
}
.btn:hover {
	background: var(--color-1);
}
.btn:hover .label {
	color:white;
}
.btn:hover .icon .arrow_path {
	fill:white;
}
/* section */
.section {
	border-radius: 4rem;
	background:white;
	padding:5rem 7% 1px;
	width:100%;
	margin:0 auto;
	position: relative;
	z-index:2;
	margin: 0 auto 4rem;
}
.section.mobilesection {
	border-radius: 4rem 4rem 0 0;
	margin:0 auto;
}
.section.mobilesection2 {
	border-radius: 0 0 4rem 4rem;
	margin:0 auto;
	padding:5rem 7% 5rem;
}
.section2 {
	padding:5rem 7% 0;
	width:96%;
	margin:0 auto;
	position: relative;
	z-index:2;
	margin: 0 auto 4rem;
}
.section3 {
	border-radius: 4rem 4rem 0 0;
	background:white;
	padding:5rem 7% 22rem;
	width:100%;
	margin:0 auto;
	position: relative;
	z-index:2;
	margin: 12rem auto 0;
}
.sec_head.type1 {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 5rem;
	margin:0 auto 8rem;
}
.sec_ti .en {
	display: block;
	font-size:7vw;
	color: var(--color-1);
	line-height: 1em;
}
.sec_ti .jp {
	display: block;
	font-size:4vw;
	font-weight: 700;
	color:var(--color-2);
}
.sec_head_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: end;
}
.sec_head_box .txt {
	font-size:1.6rem;
	line-height: 1.8em;
	color:#595757;
	margin:4rem 0;
}
.sec_head_box a {
	margin:0;
}
.halfbox {
	background: var(--color-bg);
	border-radius: 4rem;
	display: grid;
	grid-template-columns: 1fr;
	padding:3rem 8%;
	margin:0 -6% 4rem;
}
.halfbox .thumb {
	order:0;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 3rem;
	aspect-ratio: 1.2 / 1;
}
.halfbox .thumb img {
	display: block;
	width:100%;
	height:auto;
	aspect-ratio: 1.2 / 1;
	object-fit: cover;
}
.halfbox .box {
	order:1;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	padding:3rem 1rem;
}
.halfbox .box .genle {
	font-size:4.5vw;
	color:var(--color-2);
	padding:0 0 2rem 0;
}
.halfbox .box .page_p {
	font-size:7vw;
	font-weight: 700;
	color:var(--color-1);
	line-height: 1.3em;
}
.halfbox .box .summery {
	font-size:1.6rem;
	line-height: 1.8em;
	padding:2rem 0 0 0;
}

.sec_head.type2 {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 5rem;
	align-items: start;
}
.sec_head_box {
	order:1;
}
.sec_head_box.thumb {
	order:0;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	width:100%;
	aspect-ratio: 16 / 9;
	border-radius: 3rem;
	margin:0 auto 3rem;
}
.sec_head_box.thumb img {
	width:100%;
	height:auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.sec_head_box .page_list {
	width:100%;
	padding:2rem 0 0 0;
}
.sec_head_box .page_list a {
	width:100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border-bottom:1px solid var(--color-1);
	padding:1.5rem 0;
	transition:opacity .5s ease;
}
.sec_head_box .page_list a:last-of-type {
	border-bottom:none;
}
.sec_head_box .page_list a:hover {
	opacity:0.5;
}
.sec_head_box .page_list a .num {
	font-size:5vw;
	color:var(--color-2);
	width:15%;
}
.sec_head_box .page_list a .name {
	width:100%;
	font-size:1.8rem;
	font-weight: 700;
	color: var(--color-1);
}
.sec_head_box .page_list a .icon {
	width:3.2rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.sec_head_box .page_list a .icon .arrow_path {
	fill:var(--color-1);
}

.four_business {
	padding: 10rem 7% 1px;	
}
.sec_ti_special .jp {
	display: block;
	font-size:7vw;
	font-weight: 700;
	color:var(--color-2);
}
.sec_ti_special .en {
	display: block;
	font-size:4.8vw;
	color: var(--color-1);
	line-height: 1em;
}

.top_env_list {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 4rem;
	row-gap: 4rem;
	margin:6rem auto 0;
}
.top_env_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	background: white;
	border-radius: 3rem;
	padding:2rem 4rem 7rem;
	position: relative;
	border:2px solid #FFF;
	transition: border .4s ease;
}
.top_env_box:hover {
	border:2px solid var(--color-1);
}
.top_env_box .top_env_ti {
	order:1;
	width:100%;
	font-size:2.5rem;
	font-weight: 700;
	color: var(--color-1);
	text-align: center;
}
.top_env_box .top_env_txt {
	order:2;
	width:100%;
	font-size:1.6rem;
	line-height: 1.5em;
	padding:2rem 0 0 0;
}
.top_env_box .top_env_thumb {
	order:0;
	width:65%;
}
.top_env_box .icon {
	position: absolute;
	bottom:4rem;
	right:4rem;
	width:3.2rem;
}
.top_env_box .icon .arrow_path {
	fill:var(--color-1);
}

.jisqtxt span {
	color:var(--color-1);
	font-weight: bold;
}

/* recrutiment */
.top_recruit .btn {
	margin:3rem 0 0 0;
}
.top_recruit .thumb {
	overflow: hidden;
	border-radius: 3rem;
	margin:0 auto 3rem;
}
/* news */
.news_list {
	display: grid;
	grid-template-columns:  1fr;
	column-gap: 2rem;
	margin:6rem auto 0;
}
.section4 .news_list {
	margin:0 auto 6rem;
}
.news_list .news_box {
	padding:0 0 2rem 0;
	border-bottom:1px solid rgba(0,0,0,0.2);
	transition: opacity .4s ease;
}
.news_list .news_box:hover {
	opacity:0.5;
}
.news_list .news_box time {
	display: block;
	font-size:1.8rem;
	color:black;
	padding:2rem 0 0.5rem;
}
.news_list .news_box .title {
	font-size:1.8rem;
	font-weight: 700;
	color:var(--color-3);
}
.tablenav .pagenav {
	display: flex;
	justify-content: center;
}
.page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	width:6rem;
	height:6rem;
	font-size:1.8rem;
	border:1px solid var(--color-1);
	border-radius: 1rem;
	margin:0 0.6rem;
	transition:background .5s ease;
}
.page-numbers.current,
.page-numbers:hover {
	background: var(--color-1);
	color:white;
}

.top_ourbrand {
	margin:8rem auto 0;
}
.sec_ti2 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.sec_ti2 .en {
	font-size:2.5rem;
	font-weight: 700;
	color:var(--color-1);
	padding:0 2.5rem 0 0;
}
.sec_ti2 .jp {
	font-size:1.8rem;
	font-weight: 700;
	color:var(--color-1);
	padding:0 0 0 2.5rem;
	border-left:1px solid var(--color-1);
}
.brandlist {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 8rem;
	row-gap: 3rem;
	padding:5rem 0 0 0;
}
.brandlist a {
	display: flex;
	align-items: center;
	transition: opacity .4s ease;
}
.brandlist .brandlogo {
	display: flex;
	justify-content: center;
	align-items: center;
}
.brandlist .brandlogo.blkaho img {
	width:50%;
}
.brandlist .brandlogo.blsana img {
	width:75%;
}
.brandlist .brandlogo.blrio img {
	width:60%;
}
.brandlist a:hover {
	opacity: 0.5;
}

/* =page
-------------------------------------------------------------- */
.page_title .en {
	display: block;
	font-size:7vw;
	line-height: 1.05em;
	color: var(--color-1);
}
.page_title .jp {
	display: inline-block;
	font-size:4.6vw;
	font-weight: 700;
	color: var(--color-1);
	padding:1rem 0 0 0;
}
/* 子ページリスト(page-parent) */
.page_box a {
	background: var(--color-bg);
	border-radius: 2rem;
	display: grid;
	grid-template-columns: 1fr;
	padding:2rem 2rem 5rem;
	margin:0 auto 4rem;
}
.page_list .thumb {
	order:0;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 2rem;
	aspect-ratio: 1.2 / 1;
	margin:0 auto 3rem;
}
.page_list .thumb img {
	display: block;
	width:100%;
	height:auto;
	aspect-ratio: 1.2 / 1;
	object-fit: cover;
}
.page_list .box {
	order:1;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	padding:0 1rem;
}
.page_list .box .genle {
	font-size:4.5vw;
	color:var(--color-2);
	padding:0 0 1.5rem 0;
}
.page_list .box .page_p {
	font-size:7vw;
	font-weight: 700;
	color:var(--color-1);
	line-height: 1.3em;
}
.page_list .box .summery {
	font-size:1.6rem;
	line-height: 1.8em;
	padding:2rem 0 0 0;
}


/* child page */
.section4 {
	border-radius: 4rem 4rem 0 0;
	padding:5rem 7% 10rem;
	width:100%;
	margin:0 auto;
	position: relative;
	z-index:2;
	margin: 0 auto 4rem;
	background: white;
}
.page_head .en {
	display: block;
	font-size:7vw;
	line-height: 1em;
	color:var(--color-1);
}
.page_head .jp {
	display: block;
	font-size:4vw;
	padding:0.5rem 0 0 0;
	font-weight: 700;
	color:var(--color-2);
}

/* ===============企業情報=============== */
.rinen {
	margin:6rem auto 0;
}
.rinen .box {
	border-bottom:1px solid var(--color-1);
	padding:6rem 0;
}
.rinen .num {
	width:100%;
	height:4.5rem;
	margin:0 auto;
	text-align: center;
}
.rinen .num img {
	width:auto;
	height:4.5rem;
	margin:0 auto;
}
.rinen .txt {
	font-size:5vw;
	font-weight: 700;
	line-height: 1.5em;
	text-align: center;
	padding:2rem 0 0 0;
}

.mission .txt {
	font-size:6vw;
	color:var(--color-1);
	font-weight: 700;
	text-align: center;
	padding:4rem 0 0 0;
}
.outline {
	background: var(--color-bg);
	border-radius:3rem;
	padding:3rem;
	margin:5rem auto 0;
}
.gaiyou {
	display: grid;
	grid-template-columns: 1fr;
	margin:4rem 0 0 0;
	border-top:1px solid rgba(0,95,174,0.2);
}
.gaiyou dt {
	width:100%;
	font-size:1.6rem;
	color:var(--color-1);
	font-weight:600;
	padding:3rem 0 1rem;
	border-bottom:1px dotted rgba(0,95,174,0.2);
}
.gaiyou dd {
	font-family: 'Chillax', sans-serif;
	font-variation-settings: "wght" 400;
	width:100%;
	font-size:1.6rem;
	color:var(--color-3);
	padding:1rem 0 3rem 0;
	border-bottom:1px solid rgba(0,95,174,0.2);
}
.gaiyou dd .namelist {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 2rem;
	padding:0 0 1rem 0;
	border-bottom:1px dotted rgba(0,95,174,0.2);
	margin:0 auto 1rem;
}
.gaiyou dd .namelist .left {
	padding:0 0 0.5rem 0;
}
.gaiyou dd .namelist span {
	font-size:1.2rem;
}
.gaiyou dd .namelist.last {
	padding:0;
	border-bottom:none;
}

.tk_map {
	background: white;
	border-radius: 1rem;
	padding:2rem;
	margin:0 auto 1.5rem;
}
.tk_map .title {
	font-size:1.6rem;
	font-weight: bold;
}
.tk_map .txt {
	font-size:1.4rem;
	font-weight: normal;
	font-family: 'Chillax', sans-serif;
	font-variation-settings: "wght" 400;
	padding:1.5rem 0 0 0;
}
.gaiyou dd li {
	list-style: disc;
	margin:1rem 0 1rem 2.5rem;
	font-family: 'Chillax', sans-serif;
	font-variation-settings: "wght" 400;
	font-size:1.6rem;
	color:var(--color-3);
}
.history {
	margin:12rem auto 0;
}
.history_list.upper {
	text-align: left;
	padding:4rem 0 0 0;
}
.history_list.lower {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 10rem;
	row-gap: 4rem;
	padding:4rem 0 0 0;
	position: relative;
}
.history_list.lower::after {
	content:'';
	position: absolute;
	top:2rem;
	left:3%;
	width:0.8rem;
	height:100%;
	background: #e4ecf2;
	border-radius:1rem;
	margin:0 0 0 -0.4rem;
}
.history_list.lower .box {
	position: relative;
	padding:0 0 0 6rem;
	grid-row:auto !important;
}
.history_list.lower .box:nth-of-type(odd) {
	text-align: left;
}
.history_list.lower .box:nth-of-type(odd)::after {
	content:'';
	position: absolute;
	top:1rem;
	left:1.5rem;
	width:3rem;
	height:0.8rem;
	border-radius: 0 1rem 1rem 0;
	background: #e4ecf2;
}
.history_list.lower .box:nth-of-type(even) {
	text-align: left;
}
.history_list.lower .box:nth-of-type(even)::after {
	content:'';
	position: absolute;
	top:1rem;
	left:1.5rem;
	width:3rem;
	height:0.8rem;
	border-radius: 0 1rem 1rem 0;
	background: #e4ecf2;
}
.history_list.lower .box.first::after {
	content:none;
}
.history_list .year {
	font-size:2.4rem;
	color:var(--color-1);
	line-height: 1em;
}
.history_list .year span {
	font-size:3.6rem;
}
.history_list .txt {
	font-size:1.5rem;
	line-height: 1.8em;
	padding:1.5rem 0 0 0;
}
.chart {
	margin:12rem auto 0;
}
.chart_img {
	padding:4rem 0 0 0;
}

.logo_concept {
	margin:6rem auto 0;
}
.logomesse {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 12rem;
	padding:6rem 0 0 0;
}
.logomesse .left {
	width:80%;
	margin:0 auto;
}
.logomesse .left svg {
	fill:var(--color-2);
}
.logomesse .right {
	padding:6rem 0 0 0;
}
.logomesse .right p {
	font-size:8vw;
	font-weight: bold;
	color:var(--color-1);
	text-align: center;
	padding:0 0 2rem 0;
}

/* access map */
.map iframe {
	width:100%;
	aspect-ratio: 16 / 9;
}
.headoffice {
	font-style:normal;
	padding:3rem 0 0 0;
}
.headoffice .title {
	display: block;
	font-size:2.8rem;
	font-weight:700;
}
.headoffice .location {
	display: block;
	font-size:1.9rem;
	padding:2rem 0;
}
.headoffice .telephone {
	display: block;
	font-size:1.9rem;
}

/* ===============環境の取り組み=============== */
.page_head2 {
	display: block;
	padding:0 0 6rem 0;
}
.page_head2 .en {
	display: block;
	font-size:2.7vw;
	color:var(--color-1);
}
.page_head2 .jp {
	display: block;
	font-size:7vw;
	font-weight: 700;
	line-height: 1.5em;
	color:var(--color-1);
}
.bluebox {
	background: var(--color-bg);
	border-radius: 2rem;
	padding:1.5rem 2rem;
	margin:5rem auto;
}
.kems, .jisq {
	padding:6rem 0 0 0;
}
.kems .thumb {
	padding:0 0 4rem 0;
}
.kems .sec_head.type2,
.solar .sec_head.type2,
.womensactive .sec_head.type2,
.jisq .sec_head.type2 {
	align-items: center;
}
.sdgs .sec_head.type1 {
	margin:0 auto;
	padding:5rem 0 0 0;
}
.sdgs .thumb {
	padding:0 0 4rem 0;
}
/* 取り組み内容 */
.solar .thumb,
.womensactive .thumb {
	border-radius: 3rem;
	overflow: hidden;
}
.eco_result {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 4rem;
	padding:12rem 0;
}
.eco_result .box {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 8rem;
	align-items: center;
}
.eco_result .txt1 {
	font-size:2.4rem;
	color: var(--color-1);
	text-align: center;
}
.eco_result .icon {
	width:50%;
	margin:0 auto;
	padding:2rem 0;
}
.eco_result .txt2 {
	font-size:1.6rem;
	line-height: 1.8em;
	color: var(--color-3);
	text-align: center;
}

/* ===============採用情報=============== */
.page_head2.recruithead .jp {
	font-size:5.7vw;
}
/* ===============女性雇用=============== */
.womensactive .single .textbox h3 {
	font-size: 4vw;
}
.womensactive .single .textbox p {
	font-size:1.8rem;
}

/* ===============スポンサー=============== */
.sponcerbox {
	padding:6rem 0 0 0;
}
.sponcergrid {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 6rem;
	row-gap:8rem;
	margin:0 0 12rem 0;
}
.sponcergrid.last {
	margin:0;
}
.sponcer_logo.visel {
	width:50%;
}
.sponcer_logo.rokko {
	width:80%;
}
.sponcer_txt .txt {
	font-size:1.8rem;
	color: var(--color-3);
	line-height: 2em;
}
.sponcer_txt .thumb {
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
	aspect-ratio: 2 / 1;
	overflow: hidden;
	border-radius: 3rem;
}
.sponcer_txt .thumb img {
	width:100%;
	aspect-ratio: 2 / 1;
	object-fit: cover;
}
.sponcer_txt .btn {
	margin:5rem 0 0 0;
}

/* ===============飲食事業部=============== */
.sec_head.type3 {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 6rem;
	align-items: center;
	margin:0 0 8rem 0;
}
.sec_head.type3.last {
	margin:0;
}
.sec_head.type3 .textbox {
	order:1;
	padding:4rem 0 0 0;
}
.sec_head.type3 .textbox .brand.kaho {
	width:18rem;
	margin:0 auto;
}
.sec_head.type3 .textbox .brand.sanada {
	width:25rem;
	margin:0 auto;
}
.sec_head.type3 .textbox .brand.rio {
	width:17rem;
	margin:0 auto;
}
.sec_head.type3 .textbox h3 {
	display: block;
	font-size:2.4rem;
	line-height: 1.6em;
	font-weight: 500;
	color: var(--color-2);
	margin:3rem 0;
	text-align: center;
}
.sec_head.type3 .textbox .txt {
	font-size:1.6rem;
	line-height: 2em;
	color: var(--color-3);
}
.sec_head.type3 .textbox .btn {
	margin:5rem 0 0 0;
}
.sec_head.type3 .thumb {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 3rem;
	aspect-ratio: 1 / 1;
	order:0;
}
.sec_head.type3 .thumb img {
	width:auto;
	height:100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* ===============フィッシング事業部=============== */
.fishingbox .sec_head .thumb {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 3rem;
	aspect-ratio: 1 / 1;
	margin:0 0 4rem 0;
}
.fishingbox .sec_head .thumb img {
	width:auto;
	height:100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.fishingbox .partslist {
	margin:1rem 0 0 0;
}
.fishingbox .accdbox,
.industrial .accdbox {
	border-radius: 2rem;
	background: white;
	padding:0 2.5rem;
	margin:0 0 2rem 0;
}
.fishingbox .accd_head {
	display: grid;
	grid-template-columns:1fr;
	column-gap: 6rem;
	align-items: center;
	position: relative;
	cursor: pointer;
	padding:4rem 6rem 4rem 0;
}
.industrial .accd_head {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	position: relative;
	cursor: pointer;
	padding:4rem 0;
}
.fishingbox .accd_head::before,
.industrial .accd_head::before {
	content:'';
	position: absolute;
	top:50%;
	right:0;
	width:2.4rem;
	height:2.4rem;
	border-radius: 50%;
	background: var(--color-1);
	margin:-1.2rem 0 0 0;
}
.fishingbox .accd_head::after,
.industrial .accd_head::after {
	content:'';
	position: absolute;
	top:50%;
	right:0;
	width:2.4rem;
	height:2.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	color:white;
	font-size:2rem;
	line-height: 1em;
	z-index:3;
	margin:-1.2rem 0 0 0;
	background: url(../img/plus.svg) no-repeat center center;
	background-size: 50% auto;
}
.fishingbox .accd_head.active::after,
.industrial .accd_head.active::after {
	background: url(../img/minus.svg) no-repeat center center;
	background-size: 50% auto;
}
.fishingbox .accd_head.comingsoon::before,
.industrial .accd_head.comingsoon::before,
.fishingbox .accd_head.comingsoon::after,
.industrial .accd_head.comingsoon::after {
	content: none;
}
.fishingbox .accd_head .en,
.industrial .accd_head .en {
	font-size:1.2rem;
	color:var(--color-2);
}
.fishingbox .accd_head .jp,
.industrial .accd_head .jp {
	font-size:2rem;
	font-weight:700;
}
.fishingbox .accd_head .txt {
	padding:1.5rem 0 0 0;
	font-size:1.5rem;
	color:var(--color-3);
}
.fishingbox .accd_main,
.industrial .accd_main {
	display: grid;
	grid-template-columns: 1fr;
	border-top:1px solid white;
}
.fishingbox .accdbox.active .accd_main,
.industrial .accdbox.active .accd_main {
	border-top:1px solid rgba(0,95,174,0.2);
}
.fishingbox .accd_main .box,
.industrial .accd_main .box {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	padding:4rem 0;
	border-bottom:1px solid rgba(0,95,174,0.2);
}
.fishingbox .accd_main .box.last,
.industrial .accd_main .box.last {
}
.fishingbox .accd_main .box .left,
.industrial .accd_main .box .left {
	width:60%;
	margin:0 auto 2rem;
}
.fishingbox .accd_main .box .right {
	width:100%;
	font-size:1.8rem;
	color:var(--color-3);
	padding:0;
	text-align: center;
}
.industrial .accd_main .box .right {
	width:100%;
	font-size:1.6rem;
	color:var(--color-3);
	padding:0;
	text-align: center;
}
.accd_main {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease, border .4s ease;
}
.accdbox.active .accd_main {
	max-height: 1000px; /* 十分に大きな値を設定 */
}

.fi_txt1 {
	font-size: 2.2rem;
	color: var(--color-1);
	text-align: center;
	font-weight: 700;
	padding:8rem 0 4rem;
}
.fi_txt2 {
	font-size: 1.6rem;
	line-height: 2em;
	color: var(--color-3);
	text-align: center;
}
.zu1 {
	width:70%;
	padding:6rem 0;
	margin:0 auto;
}
.fis_item_list {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 3rem;
	row-gap: 0;
}
.fis_item_list p {
	padding:2rem 0 0 0;
	font-size:2.4rem !important;
	text-align: center;
	margin:0 auto !important;
}
.fis_item_list ul {
	margin:0 auto 4rem !important;
}

/* ===============ゴム製造事業=============== */
.rubber_mv {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 1rem;
	overflow: hidden;
	aspect-ratio: 2 / 1;
	margin: 0 auto 3rem; 
}
.rubber_mv img {
	width: 100%;
	aspect-ratio: 2 / 1;
	object-fit: cover;
}
.rubber .sec_head.type2 {
	align-items: center;
}
.rubberbox .page_head2 .jp {
	font-size:6.6vw;
}
.rubberbox .sec_head.type2 .page_head2 {
	padding:0;
}
.rubber .sec_head.rubber1 .thumb {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 3rem;
	aspect-ratio: 1 / 1;
}
.rubber .sec_head.rubber1 .thumb img {
	width:auto;
	height:100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.rubber .sec_head .btn {
	margin:5rem 0 0 0;
}
.rubber_fac {
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
	aspect-ratio: 8 / 3;
	border-radius: 3rem;
	overflow: hidden;
	margin:12rem auto;
}
.rubber_fac img {
	width:100%;
	object-fit: cover;
}
.rubber .sec_head.type3 {
	align-items: center;
}
.rubber .sec_head.type3 h2.page_head .jp {
	color:var(--color-1);
	font-size:2.4vw;
	font-weight: bold;
}
.rubber .sec_head.type3 h2.page_head .en {
	color:var(--color-1);
	font-size:2vw;
	line-height: 1.3em;
}
.rubber .sec_head.type3 .thumb {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 3rem;
	aspect-ratio: 4 / 3;
}
.rubber .sec_head.type3 .thumb img {
	width:auto;
	height:100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.rubber .sec_head.rubber2 .thumb {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 3rem;
}
.rubber .sec_head.rubber2 .thumb img {
	width:auto;
	height:100%;
}
.rub_mobile .right {
	padding:2rem 0 0 0;
}

.product_sample, .product_sample table {
	width:100%;
}

.fishingbox .accdbox.rubber_accd {
	padding:0;
}
.fishingbox .rubber_accd .accd_head {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 6rem;
	align-items: center;
	position: relative;
	cursor: pointer;
	padding:0;
}
.fishingbox .rubber_accd .accd_head::before {
	top:75%;
	right:3rem;
}
.fishingbox .rubber_accd .accd_head::after {
	top:75%;
	right:3rem;
}
.fishingbox .rubber_accd .accd_head .left {
	order:1;
	padding:2rem 0 2rem 3rem;
}
.fishingbox .rubber_accd .accd_head .right {
	order:0;
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 4 / 1;
	overflow: hidden;
	border-radius: 2rem 2rem 0 0;
	transition: border-radius .3s ease;
}
.fishingbox .rubber_accd .accd_head .right img {
	display: block;
	width: 100%;
	height:auto;
	aspect-ratio: 4 / 1;
	object-fit: cover;
}
.fishingbox.rubberbox .accd_main {
	width:100%;
	grid-template-columns: 1fr;
	border: none;
	padding:0 3rem;
}
.product_sample {
	padding:2rem 0 0 0;
}
.product_sample, .product_sample .scrollable-table {
	width:100%;
}
.product_sample .scrollable-table table, 
.product_sample .scrollable-table tbody {
	width:100%;
	display: block;
}
.single .product_sample .scrollable-table table {
	margin:0 auto 2rem;
}
.product_sample tr {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 1rem;
	row-gap: 1rem;
	margin:0 auto 1rem;
}
.product_sample tr th {
	display: block;
}
.product_sample tr td:nth-of-type(1) {
	display: block;
	background: #f5f5f5;
}
.product_sample tr td:nth-of-type(2) {
	display: block;
}
.single .product_sample table th.col6,
.single .product_sample table td.col6 {
	width: 100%;
}
.fishingbox.rubberbox .accd_main th,
.fishingbox.rubberbox .accd_main td {
	vertical-align: middle;
	border:none;
}
.fishingbox.rubberbox .accd_main td .catbox {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	padding:2rem;
}
.fishingbox.rubberbox .accd_main td i.cat {
	display: flex;
	width:20%;
	padding:0.5rem 1rem;
	color:#FFF;
	font-size:1.3rem;
	font-weight: 600;
	border-radius: 2rem;
	justify-content: center;
	align-items: center;
	font-style: normal;
}
.fishingbox.rubberbox .accd_main td i.cat.electric {
	background:#c63939;
}
.fishingbox.rubberbox .accd_main td i.cat.tsushin {
	background:#27ad23;
}
.fishingbox.rubberbox .accd_main td i.cat.kotsu {
	background:#005fae;
}
.fishingbox.rubberbox .accd_main td i.cat.gas {
	background:#ff8b00;
}
.fishingbox.rubberbox .accd_main td i.cat.suido {
	background:#4498d8;
}
.fishingbox.rubberbox .single table .catbox span {
	width:100%;
	font-size:1.6rem;
	font-weight: 700;
	padding:1rem 0 0;
}
.fishingbox.rubberbox .accd_main .siricon {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	padding:4rem 0;
}
.fishingbox.rubberbox .accd_main .siricon .thumb {
	width:100%;
	aspect-ratio: 8 / 5;
	border-radius: 1.5rem;
	overflow: hidden;
}
.fishingbox.rubberbox .accd_main .siricon .thumb img {
	display: block;
	width:100%;
	aspect-ratio: 8 / 5;
}
.fishingbox.rubberbox .accd_main .siricon .textbox {
	padding:3rem 0 0;
	display: flex;
	justify-content: center;
	align-items: end;
}
.fishingbox.rubberbox .accd_main .siricon .textbox p {
	font-size:2.4rem;
	font-weight: 600;
	color:var(--color-1);
	margin:0;
}
.fishingbox.rubberbox .accd_main .siricon .textbox p .txt1 {
	font-size:1.6rem;
	font-weight: 700;
	color:var(--color-3);
}
.fishingbox.rubberbox .accd_main .siricon .textbox p .txt2 {
	font-size:4.5rem;
	padding:0 0.5rem;
}
.fishingbox.rubberbox .accd_main .vulcanize {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	padding:4rem 0;
}
.fishingbox.rubberbox .accd_main .vulcanize .thumb {
	width:100%;
	aspect-ratio: 8 / 5;
	border-radius: 1.5rem;
	overflow: hidden;
}
.fishingbox.rubberbox .accd_main .vulcanize .thumb img {
	display: block;
	width:100%;
	aspect-ratio: 8 / 5;
}
.fishingbox.rubberbox .accd_main .vulcanize .textbox {
	padding:3rem 0 3rem;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
.fishingbox.rubberbox .accd_main .vulcanize .textbox p {
	width:100%;
	font-size:1.6rem;
	font-weight: 500;
	line-height: 1.8em;
	color:var(--color-3);
	margin:0;
}
.rubber_navi {
	padding:3rem 0 0 0;
}
.rubber_navi .sec_ti .en {
	font-size:7vw;
}
.rubber_navi .sec_ti .jp {
	font-size:4vw;
}

/* ===============製品情報=============== */
.metalbonding .sec_head.type2 {
	align-items: center;
}
.single.metalbonding h3 {
	font-size:5vw;
	color:var(--color-1);
	font-weight: 700;
}
.bonding_certifi {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 6rem;
	padding:5rem 0;
}
.bonding_certifi .left {
	order:1;
}
.bonding_certifi .right {
	order:0;
}
.bonding_certifi .right img {
	width:40%;
	margin:0 auto;
}
.bonding_certifi .main_txt {
	font-size:2.4rem;
	font-weight: 700;
	line-height: 1.4em;
	color: var(--color-1);
	padding:2rem 0 0 0;
}
.kobe_certifi {
	padding:2rem;
	border-radius: 2rem;
	background: var(--color-bg);
}
.kobe_certifi .txt1 {
	font-size:2.1rem;
	font-weight: 700;
	color:var(--color-1);
	margin:0;
}
.kobe_certifi .txt1 span {
	color:#ef780d;
}
.kobe_certifi .txt2 {
	margin:0;
	font-size:1.4rem;
}
.single .page_list .box p.page_p {
	margin:0;
}

.industrial .bluebox {
	margin:0 auto 4rem;
}

.industrial .inner {
	background: white;
	padding:2rem;
	border-radius: 2rem;
	margin:2rem 0 0 0;
}
.material {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 5rem;
	margin:0 0 5rem 0;
}
.material.last {
	margin:0;
}
.material .left h3 {
	font-size:2rem;
	font-weight:bold;
	color:var(--color-3);
}
.material .left p {
	font-size:1.5rem;
	margin:0;
}
.single .material .right .scrollable-table {
	width:100%;
	overflow-x: auto;
	margin:2rem auto 0;
}
.single .material .right table {
	width:250%;
	margin:0;
}
.single .material .right table span {
	font-size:1.6rem;
	padding:1rem 1rem;
}

/* 設備紹介 */
.genba_img {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 5rem;
	margin:2rem auto 0;
}
.genba_img .factory_thumb {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 1rem;
}
.genba_img .factory_thumb img {
	object-fit: cover;
	aspect-ratio: 16 / 9;
}
.genba_img p {
	padding:2rem 0 0 0;
	text-align: center;
}
.facilities .single h2.page_head2 {
	margin:0 auto;
}
.facilities .single .scrollable-table {
	width:100%;
	margin:2rem auto 4rem;
	overflow-x: auto;
}
.facilities .single .scrollable-table table {
	width:300%;
	margin:0;
}

/* 品質方針 */
.quality {
	padding:0 0 5rem 0;
}
.quality .single h2.page_head2,
.quality .single h2.sec_ti {
	margin:0 auto;
}
.quality .sec_head_box p.txt {
	margin:4rem auto 0;
}
.quality .signature {
	padding:5rem 0 0 0;
}
.jisq .btn {
	margin:6rem 0 0 0;
}
.metalbonding .sec_head.type2 {
	align-items: center;
}
/* JIS Q 9100 */
.jisq9100 .sec_head.type2 {
	align-items: center;
}
.jisq9100 .sec_head.type2 .page_head2 .en {
	font-size:6vw;
}
.jisq9100 .thumb {
	border-radius: 2rem;
	overflow: hidden;
}
.jisq_title1 {
	font-size:6vw;
	font-weight: 700;
	color: var(--color-1);
	text-align: center;
	margin:4rem 0 0 0;
}
.jisq_title2 {
	font-size:4.5vw;
	font-weight: 700;
	color: var(--color-2);
	text-align: center;
	padding:2rem 0 0 0;
}
.anzenlist {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 3rem;
	row-gap: 3rem;
	margin:6rem auto 0;
}
.anzenlist .box {
	background:var(--color-bg);
	text-align: center;
}
.anzenlist .box .anzen_num {
	color:white;
	font-size:3rem;
	line-height: 1em;
	padding:2rem 0;
	margin:0 0 4rem 0;
}
.anzenlist .box .anzen_txt1 {
	font-size:1.6rem;
	font-weight: 700;
	margin:0;
	padding:0 2rem;
}
.anzenlist .box .anzen_txt2 {
	font-size:2.4rem;
	line-height: 1.3em;
	font-weight: 700;
	margin:0 0 4rem 0;
	padding:0 2rem;
}
.anzenlist .box.num1 .anzen_num {
	background:#ff9750;
}
.anzenlist .box.num1 .anzen_txt2 {
	color:#ff9750;
}
.anzenlist .box.num2 .anzen_num {
	background:#369b1e;
}
.anzenlist .box.num2 .anzen_txt2 {
	color:#369b1e;
}
.anzenlist .box.num3 .anzen_num {
	background:#f955d2;
}
.anzenlist .box.num3 .anzen_txt2 {
	color:#f955d2;
}
.anzenlist .box.num4 .anzen_num {
	background:#3c51b5;
}
.anzenlist .box.num4 .anzen_txt2 {
	color:#3c51b5;
}
.ninsho {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin:4rem 0 0 0;
}
.ninsho .label {
	width:20%;
	margin:0 2rem 0 0;
}
.jisq9100 .sec_head.type3 {
	margin:12rem 0 0 0;
}
.jisq9100 .sec_head.type3 h3 {
	margin:0;
}

/* ===============商社事業=============== */
.tradingwrap .page_head2 .jp {
	font-size:5vw;
}
.trading_list {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	column-gap: 1rem;
	row-gap: 1rem;
}
.trading_list .list {
	width:100%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color-1);
	opacity:0;
	transform: translateX(-10px);
}
.trading_list .list.list1 {
	transition:.3s ease;
}
.trading_list .list.list2 {
	transition:.3s .1s ease;
}
.trading_list .list.list3 {
	transition:.3s .2s ease;
}
.trading_list .list.list4 {
	transition:.3s .3s ease;
}
.trading_list .list.list5 {
	transition:.3s .4s ease;
}
.trading_list .list.list6 {
	transition:.3s .5s ease;
}
.trading_list .list.list7 {
	transition:.3s .6s ease;
}
.trading_list .list.list8 {
	transition:.3s .7s ease;
}
.trading_list.active .list {
	opacity:1;
	transform: translateX(0);
}
.trading_list .list p {
	font-size:1.6rem;
	font-weight: 700;
	line-height: 1.3em;
	text-align: center;
	color:#FFF;
}
.cabinet {
	padding:8rem 0 0 0;
}
.tradingwrap .sec_head.type2 {
	padding:6rem 0 0 0;
}
.tradingwrap .sec_head.type2 {
	grid-template-columns:1fr;
	align-items: center;
}
.tradingwrap .sec_head_box .page_head2 {
	padding:0;
}
.tradingwrap .sec_head_box .page_head2 .jp {
	font-size:5vw;
	margin:3rem auto 0;
}
.tradingwrap .sec_head_box .page_head2 .en {
	font-size:2.1vw;
}
.tradingwrap li img {
	width:100%;
	padding:3rem 0 0 0;
}
.cabinet_imgs {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	column-gap: 3rem;
	row-gap: 3rem;
	padding:4rem 0 0 0;
}
.cabinet_imgs .imgbox img {
	display: block;
	width:100%;
	height: auto;
}

.record_lr {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 5rem;
}
.record_lr.record2 {
	margin:4rem auto 0;
}
.record_lr.record2 .box.last {
	margin:6rem auto 0;
}
.record_lr img {
	width: 100%;
}
p.record_caption {
	color:var(--color-2) !important;
	font-size: 2.5rem !important;
	font-weight: 700 !important;
	padding:3rem 0 1rem !important;
	margin:0 auto !important;
}
.record_lr .box ul {
	margin:0 auto;
}
.record_lr .box ul li {
	color:var(--color-3);
}
dl.record_detail {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	column-gap: 3rem;
	margin:3rem auto 0;
}
dl.record_detail dt {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color-1);
	color:#FFF;
	font-size:1.6rem;
	font-weight: 700;
	padding:1rem 0;
	margin:0 auto 1rem;
}
dl.record_detail dd {
	font-size:1.6rem;
	color:var(--color-3);
	line-height:1.8em;
	padding:1rem 0 5rem;
}

/* =single
-------------------------------------------------------------- */
.single h1 {
	display: block;
	font-size:3.2rem;
	font-weight: 700;
	color: var(--color-1);
	border-bottom:1px solid rgba(0,95,174,0.2);
	padding:0 0 2rem 0;
	margin:0 0 6rem;
}
.single h2 {
	display: block;
	font-size:2.8rem;
	font-weight: 700;
	color: var(--color-1);
	border-bottom:1px solid rgba(0,95,174,0.2);
	padding:0 0 2rem 0;
	margin:0 0 6rem;
}
.single .bluebox h2.page_head {
	margin:0 auto 2rem;
}
.single h3 {
	display: block;
	font-size:2.4rem;
	line-height: 1.6em;
	font-weight: 500;
	color: var(--color-2);
	margin:0 0 3rem 0;
}
.single h4 {
	display: block;
	font-size:2.9vw;
	line-height: 1.6em;
	font-weight: 500;
	color: var(--color-2);
	margin:0 0 3rem 0;
}
.single p {
	font-size:1.6rem;
	line-height: 2em;
	color: var(--color-3);
	margin:0 0 5rem 0;
}
.single ol {
	counter-reset: section;
}
.single ol > li,
.single ul > li {
	list-style: none;
	font-size:1.6rem;
	font-weight: 500;
	color:var(--color-1);
	position: relative;
	padding:3rem 0 3rem 5rem;
	border-bottom:1px solid rgba(0,95,174,0.2);
}
.single ol ol,
.single ul ul {
	padding:3rem 0 0 0;
}
.single ol ol li,
.single ul ul li {
	border-bottom:none;
	padding:2rem 0 2rem 5rem;
}
.single ol > li::before {
	position: absolute;
	top:2.5rem;
	left:0;
	counter-increment: section;
	content: counter(section, decimal-leading-zero);
	font-family: 'Chillax', sans-serif;
	font-variation-settings: "wght" 500;
	color: var(--color-2);
	font-size:2.5rem;
}
.single ol ol li::before {
	top:1.5rem;
}
.single ul > li::before {
	content:'';
	position: absolute;
	top:3.8rem;
	left:2rem;
	width:1rem;
	height:1rem;
	border-radius: 50%;
	background: var(--color-2);
}
.single ul ul li::before {
	top:2.8rem;
}
.single table {
	width:100%;
	margin:0 auto 6rem;
	border-collapse: collapse;
}
.single table th {
	width:25%;
	font-weight: bold;
	text-align: left;
	background: var(--color-bg);
	border:1px solid var(--color-1);
}
.single table td {
	width:75%;
	border:1px solid var(--color-1);
}
.single table th.col1 {
	width:35%;
	text-align: center;
}
.single table th.col2 {
	width:30%;
	text-align: center;
}
.single table th.col3 {
	width:33.333%;
	text-align: center;
}
.single table th.col4 {
	width:35%;
}
.single table th.col5 {
	width:20%;
	text-align: center;
}
.single table th.col6 {
	width:10%;
	text-align: center;
}
.single table td.col1 {
	width:35%;
	text-align: center;
	vertical-align: middle;
}
.single table td.col2 {
	width:30%;
	text-align: center;
	vertical-align: middle;
}
.single table td.col3 {
	width:33.333%;
	text-align: center;
}
.single table td.col4 {
	width:65%;
}
.single table td.col5 {
	width:20%;
	text-align: center;
	vertical-align: middle;
}
.single table td.col6 {
	width:45%;
	text-align: left;
}
.single table span {
	display: block;
	width:100%;
	font-size:1.6rem;
	line-height: 1.5em;
	padding:1rem 2rem;
}
.single table span {
	font-size:1.6rem;
}
.single table span.dan {
	border-bottom:1px solid var(--color-1);
}
.single table .map {
	padding:0 3rem 3rem;
}
.signature {
	text-align: right;
}

/* =form
-------------------------------------------------------------- */
.form {
	padding:0;
}
.form h3 {
	display: block;
	font-size:2.4rem;
	line-height: 1.6em;
	font-weight: 500;
	color: var(--color-2);
	margin:0 0 3rem 0;
}
.form .box {
	width:100%;
	position: relative;
	margin:0 auto 2rem;
	padding:1.5rem 0 0 0;
}
.form .form_txt {
	font-size:1.6rem;
	color: var(--color-3);
	line-height: 2em;
	padding: 0 0 4rem 0;
}
.form .box p {
	position: absolute;
	top:0;
	left:2rem;
	width:fit-content;
	padding:0 2rem;
	background: var(--color-bg);
	font-size:1.6rem;
	z-index:3;
}
.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form select,
.form textarea {
	display: block;
	width: 100%;
	border:1px solid #000;
	border-radius: 1rem;
	padding:2rem 1.5rem;
	font-size:1.8rem;
	background: var(--color-bg);
	appearance: none;
}
.form .selection::after {
	content:'';
	position: absolute;
	z-index:3;
	top:4rem;
	right:2rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 1rem solid transparent;
	border-left: 1rem solid transparent;
	border-top: 1.5rem solid #555555;
	border-bottom: 0;
}
.agree {
	display: flex;
	justify-content: center;
	padding:2rem 0;
}
.wpcf7-not-valid-tip {
	display: block;
	font-size:1.6rem;
	margin:1rem 0 0 0;
}
.wpcf7-list-item-label {
	font-size:min(3.4vw,2rem);
	color:#464f4e;
}
.agree input[type="checkbox"] {
	width:2rem;
	height:2rem;
	margin:0 1.5rem 0 0;
}
.agree label {
	display: flex;
	justify-content: center;
	align-items: center;
}
.form input[type="submit"] {
	display: block;
	width:min(100%,40rem);
	background: var(--color-1);
	text-align: center;
	padding:2.4rem 0;
	color:#FFF;
	font-size:min(4vw,2.4rem);
	border-radius: 5rem;
	margin:0 auto 4rem;
	border:1px solid var(--color-1);
	cursor: pointer;
	transition:background .5s ease;
	appearance: none;
}
.form input[type="submit"]:disabled {
	background: #999;
	border:1px solid #999;
}
.form input[type="submit"]:hover {
	background: #FFF;
	color: var(--color-1);
}
.form input[type="submit"]:disabled:hover {
	background: #999;
	border:1px solid #999;
	color:#FFF;
}
.form input[type="button"] {
	display: block;
	width:100%;
	background: #8e8e8e;
	text-align: center;
	padding:2.5rem 0;
	color:#FFF;
	font-size:3rem;
	border-radius: 1rem;
	font-variation-settings: "wght" 700;
	margin:0 auto 2rem;
	border:1px solid #8e8e8e;
	cursor: pointer;
	transition:background .5s ease;
	appearance: none;
}
.form input[type="button"]:hover {
	background: #FFF;
	color: #8e8e8e;
}


/* =footer
-------------------------------------------------------------- */
footer {
	background:var(--color-1);
	border-radius: 4rem;
	padding:5rem 9%;
	width:100%;
	margin:-10rem auto 0;
	position: relative;
	z-index:2;
}
footer .sec_ti .en,
footer .sec_ti .jp,
footer .sec_ti2 .en,
footer .sec_ti2 .jp {
	color:white;
}
footer .sec_head.type1 {
	align-items: end;
}
footer .sec_head_box {
	display: block;
}
footer .sec_head_box .txt {
	color:white;
}
footer .btn {
	border:1px solid #FFF;
}
footer .btn .label {
	color:white;
}
footer .btn .icon .arrow_path {
	fill:white;
}
footer .btn:hover {
	background: white;
}
footer .btn:hover .label {
	color:var(--color-1);
}
footer .btn:hover .icon .arrow_path {
	fill:var(--color-1);
}

.callblc {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 4rem;
}
.callblc .box {
	border-top:1px solid rgba(255,255,255,0.25);
	padding:2.5rem 0;
}
.callblc .box p {
	text-align: center;
	color:#FFF;
	font-size:1.4rem;
}
.callblc .box a {
	display: block;
	font-size:3.6rem;
	color:#FFF;
	text-align: center;
	padding:0.5rem 0 0 0;
}



.foot_certification {
	border-top:1px solid white;
	padding:6rem 0;
}
footer .sec_ti2 .jp {
	border-left:1px solid white;
}
.cert_list {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	column-gap: 2rem;
	row-gap: 2rem;
	padding:4rem 0 0 0;
}
.foot_nav {
	display: flex;
	flex-wrap:wrap;
	justify-content: flex-start;
	align-items: start;
	border-top:1px solid white;
	padding:6rem 0 0 0;
}
.foot_nav .box1 {
	width:100%;
}
.foot_nav .box1 a {
	display: block;
	width:50%;
}
.foot_nav .box1 .logo_path {
	fill:white;
}
.foot_nav .box1 .txt {
	color:white;
	font-size:1.6rem;
	line-height: 1.6em;
	padding:4rem 0 6rem 0;
}
.foot_nav .box1 .txt a {
	display: inline;
	color:#FFF;
}
.foot_nav .box2, .foot_nav .box3, .foot_nav .box4 {
	width:100%;
	margin:4rem 0 0;
}
.foot_nav .foot_nav_head {
	color:#FFF;
	font-size:5vw;
	padding:0 0 1.5rem 0;
}
.foot_nav .box a {
	display: block;
	font-size:1.5rem;
	color:white;
	font-weight: 700;
	margin:1rem 0;
	transition: opacity .4s ease;
}
.foot_nav .box a:hover {
	opacity: 0.5;
}
.foot_nav .box a i {
	display: inline-block;
	padding:0 0 0 1rem;
}
.foot_sponcer {
	background: white;
	padding:12rem 12% 5rem;
	margin:-8rem 0 0 0;
}
.sponcer_list {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding:3rem 0 0 0;
}
.sponcer_list li {
	margin:1rem 2rem;
}
.sponcer_list li img {
	height:5rem;
	width:auto;
}
.copyright_line .addtxt {
	font-size:1.4rem;
	padding:3rem 0 0 0;
}
.copyright {
	width:100%;
	font-size:1.6rem;
	text-align: right;
	color: var(--color-1);
	padding:3rem 0 6rem 0;
}

#pagetop {
	position: fixed;
	z-index:80;
	bottom:2rem;
	right:2rem;
	width:5rem;
	height:5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	color:var(--color-1);
	border-radius:50%;
	background:#FFF;
	border: 1px solid var(--color-1);
	font-size:14px;
	cursor: pointer;
	transition: background-color .3s ease, color .3s ease, border .3s ease;
}
#pagetop:hover {
	border:1px solid #FFF;
	background: var(--color-1);
	color:#FFF;
}
.grecaptcha-badge { visibility: hidden; }
.bnr_foot {
	display:none;
}
