@charset "UTF-8";

@import url("./css/reset.css");
@import url("./css/b_arrow.css");
@import url("./css/contact.css");
@import url("./css/single.css");
@import url("./css/policy.css");

:root {
    --c_black: #000;
	--c_blue: #004c88;
	--c_gray: #f2f2f2;
	--d_gray: #ccc;
	--g_blue: #00c5e5 0%, #005996 80%;
    --gothic: "IBM Plex Sans JP", sans-serif;
	--noto: "Noto Sans JP", sans-serif;
	--roboto: "Roboto", sans-serif;
	--num35: clamp(16px, 2.43vw, 35px);
	--num40: clamp(18px, 2.78vw, 40px);
	--num50: clamp(23px, 3.47vw, 50px);
	--num60: clamp(27px, 4.17vw, 60px);
	--num70: clamp(32px, 4.86vw, 70px);
	--num80: clamp(36px, 5.56vw, 80px);
	--num90: clamp(41px, 6.25vw, 90px);
	--num100: clamp(45px, 6.94vw, 100px);
	--num120: clamp(54px, 8.33vw, 120px);
	--num135: clamp(61px, 9.38vw, 135px);
	--num150: clamp(68px, 10.42vw, 150px);
	--num170: clamp(77px, 11.81vw, 170px);
	--num190: clamp(86px, 13.19vw, 190px);
	--num200: clamp(90px, 13.89vw, 200px);
	--num235: clamp(106px, 16.32vw, 235px);
	/*デザイン幅PC1440px・スマホ375pxの場合のフォントサイズ*/
	--fz11: clamp(.9rem, 0.76vw, 1.1rem);
	--fz12: clamp(.9rem, 0.83vw, 1.2rem);
	--fz13: clamp(1rem, 0.9vw, 1.3rem);
	--fz14: clamp(1.1rem, 0.97vw, 1.4rem);
	--fz15: clamp(1.2rem, 1.04vw, 1.5rem);
	--fz16: clamp(1.3rem, 1.11vw, 1.6rem);
	--fz17: clamp(1.3rem, 1.18vw, 1.7rem);
	--fz18: clamp(1.3rem, 1.25vw, 1.8rem);
	--fz19: clamp(1.3rem, 1.32vw, 1.9rem);
	--fz20: clamp(1.3rem, 1.39vw, 2rem);
	--fz21: clamp(1.3rem, 1.46vw, 2.1rem);
	--fz22: clamp(1.3rem, 1.53vw, 2.2rem);
	--fz23: clamp(1.3rem, 1.6vw, 2.3rem);
	--fz24: clamp(1.3rem, 1.67vw, 2.4rem);
	--fz25: clamp(1.3rem, 1.74vw, 2.5rem);
	--fz26: clamp(1.3rem, 1.81vw, 2.6rem);
	--fz27: clamp(1.3rem, 1.88vw, 2.7rem);
	--fz28: clamp(1.3rem, 1.94vw, 2.8rem);
	--fz29: clamp(1.3rem, 2.01vw, 2.9rem);
	--fz30: clamp(1.3rem, 2.08vw, 3rem);
	--fz31: clamp(1.3rem, 2.15vw, 3.1rem);
	--fz32: clamp(1.3rem, 2.22vw, 3.2rem);
	--fz33: clamp(1.3rem, 2.29vw, 3.3rem);
	--fz34: clamp(1.3rem, 2.36vw, 3.4rem);
	--fz35: clamp(1.3rem, 2.43vw, 3.5rem);
	--fz36: clamp(1.3rem, 2.5vw, 3.6rem);
	--fz37: clamp(1.3rem, 2.57vw, 3.7rem);
	--fz38: clamp(1.3rem, 2.64vw, 3.8rem);
	--fz39: clamp(1.3rem, 2.71vw, 3.9rem);
	--fz40: clamp(1.3rem, 2.78vw, 4rem);
	--fz41: clamp(1.3rem, 2.85vw, 4.1rem);
	--fz42: clamp(1.3rem, 2.92vw, 4.2rem);
	--fz43: clamp(1.3rem, 2.99vw, 4.3rem);
	--fz44: clamp(1.3rem, 3.06vw, 4.4rem);
	--fz45: clamp(1.3rem, 3.13vw, 4.5rem);
	--fz46: clamp(1.3rem, 3.19vw, 4.6rem);
	--fz47: clamp(1.3rem, 3.26vw, 4.7rem);
	--fz48: clamp(1.3rem, 3.33vw, 4.8rem);
	--fz49: clamp(1.3rem, 3.4vw, 4.9rem);
	--fz50: clamp(1.3rem, 3.47vw, 5rem);
	--fz51: clamp(1.3rem, 3.54vw, 5.1rem);
	--fz52: clamp(1.3rem, 3.61vw, 5.2rem);
	--fz53: clamp(1.3rem, 3.68vw, 5.3rem);
	--fz54: clamp(1.3rem, 3.75vw, 5.4rem);
	--fz55: clamp(1.3rem, 3.82vw, 5.5rem);
}
@media only screen and (max-width: 768px) {
	:root {
		--fz11: clamp(.9rem, 2.93vw, 1.1rem);
		--fz12: clamp(.9rem, 3.2vw, 1.2rem);
		--fz13: clamp(.9rem, 3.47vw, 1.3rem);
		--fz14: clamp(.9rem, 3.73vw, 1.4rem);
		--fz15: clamp(.9rem, 4vw, 1.5rem);
		--fz16: clamp(.9rem, 4.27vw, 1.6rem);
		--fz17: clamp(.9rem, 4.53vw, 1.7rem);
		--fz18: clamp(.9rem, 4.8vw, 1.8rem);
		--fz19: clamp(.9rem, 5.07vw, 1.9rem);
		--fz20: clamp(.9rem, 5.33vw, 2rem);
		--fz21: clamp(.9rem, 5.6vw, 2.1rem);
		--fz22: clamp(.9rem, 5.87vw, 2.2rem);
		--fz23: clamp(.9rem, 6.13vw, 2.3rem);
		--fz24: clamp(.9rem, 6.4vw, 2.4rem);
		--fz25: clamp(.9rem, 6.67vw, 2.5rem);
		--fz26: clamp(.9rem, 6.93vw, 2.6rem);
		--fz27: clamp(.9rem, 7.2vw, 2.7rem);
		--fz28: clamp(.9rem, 7.47vw, 2.8rem);
		--fz29: clamp(.9rem, 7.73vw, 2.9rem);
		--fz30: clamp(.9rem, 8vw, 3rem);
		--fz31: clamp(.9rem, 8.27vw, 3.1rem);
		--fz32: clamp(.9rem, 8.53vw, 3.2rem);
		--fz33: clamp(.9rem, 8.8vw, 3.3rem);
		--fz34: clamp(.9rem, 9.07vw, 3.4rem);
		--fz35: clamp(.9rem, 9.33vw, 3.5rem);
		--fz36: clamp(.9rem, 9.6vw, 3.6rem);
		--fz37: clamp(.9rem, 9.87vw, 3.7rem);
		--fz38: clamp(.9rem, 10.13vw, 3.8rem);
		--fz39: clamp(.9rem, 10.4vw, 3.9rem);
		--fz40: clamp(.9rem, 10.67vw, 4rem);
		--fz41: clamp(.9rem, 10.93vw, 4.1rem);
		--fz42: clamp(.9rem, 11.2vw, 4.2rem);
		--fz43: clamp(.9rem, 11.47vw, 4.3rem);
		--fz44: clamp(.9rem, 11.73vw, 4.4rem);
		--fz45: clamp(.9rem, 12vw, 4.5rem);
		--fz46: clamp(.9rem, 12.27vw, 4.6rem);
		--fz47: clamp(.9rem, 12.53vw, 4.7rem);
		--fz48: clamp(.9rem, 12.8vw, 4.8rem);
		--fz49: clamp(.9rem, 13.07vw, 4.9rem);
		--fz50: clamp(.9rem, 13.33vw, 5rem);
		--fz51: clamp(.9rem, 13.6vw, 5.1rem);
		--fz52: clamp(.9rem, 13.87vw, 5.2rem);
		--fz53: clamp(.9rem, 14.13vw, 5.3rem);
		--fz54: clamp(.9rem, 14.4vw, 5.4rem);
		--fz55: clamp(.9rem, 14.67vw, 5.5rem);
	}
}

@font-face {
}

html {
	position: relative;
	opacity: 0;
    font-size: 62.5%;
	scrollbar-gutter: stable;
}
body {
    position: relative;
    width: 100%;
    color: var(--c_black);
    font-size: 1.6em;
    font-family: var(--gothic);
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0;
    background-color: #fff;
}
.wrapper {
	font-size: var(--fz16);
}
.post_img {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}
.post_img img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
a.post_img img, a .post_img img {
    transition: all .3s ease;
}
a.post_img:hover img, a:hover .post_img img {
    transform: translate(-50%, -50%) scale(1.03);
}
.txt {
    width: 100%;
}
.btn_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 92%;
	margin: auto;
}
/*//common*/

/*hamburger*/
.hmbg_btn {
	position: relative;
    display: none;
	justify-content: center;
	align-items: center;
	width: clamp(23px, 13.6vw, 51px);
	height: clamp(23px, 13.6vw, 51px);
	background: var(--c_blue);
	border-radius: 50%;
	transition: all .3s ease;
    cursor: pointer;
	z-index: 2;
	--ham_num: clamp(3px, 1.87vw, 7px);
	--ham_mnum: clamp(-7px, -1.87vw, -3px);
}
.hmbg_inner {
    position: relative;
    width: clamp(11px, 6.4vw, 24px);
    height: 2px;
    margin-top: var(--ham_num);
    margin-bottom: var(--ham_num);
    background: #fff;
	border-radius: 9999px;
    transition: all .5s ease;
}
.h_fixed .hmbg_btn {
	width: clamp(20px, 12vw, 45px);
	height: clamp(20px, 12vw, 45px);
	--ham_num: clamp(3px, 1.6vw, 6px);
	--ham_mnum: clamp(-6px, -1.6vw, -3px);
}
.h_fixed .hmbg_inner {
	width: clamp(9px, 5.33vw, 20px);
}
.hmbg_wrap.open .hmbg_inner {
    background: transparent;
}
.hmbg_inner::before, .hmbg_inner::after {
    content: '';
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
	border-radius: 9999px;
}
.hmbg_inner::before {
    top: var(--ham_mnum);
    transition: all .5s ease;
}
.hmbg_inner::after {
    bottom: var(--ham_mnum);
    transition: all .5s ease;
}
.hmbg_wrap.open .hmbg_inner::before {
	background: #fff;
    transform: translateY(var(--ham_num)) rotate(45deg);
}
.hmbg_wrap.open .hmbg_inner::after {
	background: #fff;
    transform: translateY(var(--ham_mnum)) rotate(-45deg);
}
html.hmbg_open {
    overflow: hidden;
}
#sp_nav {
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 20px 30px 5px;
    background: #fff;
    overflow: auto;
    pointer-events: none;
    transition: all .5s ease;
	z-index: 1;
}
.hmbg_wrap.open #sp_nav {
	opacity: 1;
	pointer-events: auto;
}
.sp_nav_li {
    width: 100%;
    margin: 15px auto;
    list-style: none;
}
.sp_nav_li > li {
	position: relative;
	width: 100%;
}
.sp_nav_li > li.active::before {
    content: '';
    position: absolute;
    top: 50%;
    right: calc(100% + 5px);
    display: block;
    width: 6px;
    height: 90%;
    background: var(--c_blue);
    transform: translateY(-50%);
}
.sp_nav_li a {
    display: flex;
	flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
	width: 100%;
	margin-bottom: 1em;
	color: var(--c_black);
    font-size: var(--fz19);
	font-family: var(--noto);
    font-weight: 500;
	line-height: 1.5;
    transition: all .3s ease;
}
.sp_nav_li a > span {
	display: block;
	color: var(--c_blue);
	font-size: .64em;
	font-family: var(--roboto);
	font-weight: 400;
}
.sp_nav_li a:hover {
    opacity: .6;
}
.sp_nav_li li:last-of-type, .sp_nav_sub li:last-of-type {
    border-bottom: none;
}
.sp_nav_li li {
    opacity: 0;
    transition: all .5s ease;
    transform: translateY(20px);
}
.hmbg_wrap.open .sp_nav_li li {
    opacity: 1;
    transform: translateY(0);
}
.hmbg_wrap.open .sp_nav_li li:after {
    content: '';
    position: absolute;
    bottom: -.4em;
    left: -10px;
    width: calc(100% + 40px);
    height: 1px;
    background: #ccc;
}
.hmbg_wrap.open .sp_nav_li li:last-of-type::after {
	display: none;
}
#sp_nav .f_btn.btn_g_blue > span {
	padding: .5em;
}
#sp_nav .btn_wrap {
	margin-top: var(--num60);
}
/*//hamburger*/

/*pagetop*/
.pagetop {
    bottom: 60px;
    position: fixed;
    right: 20px;
    z-index: 998 !important;
}
.pagetop > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 55px;
    color: #fff;
    font-size: 2rem;
    background: var(--c_blue);
    border: 2px solid var(--c_blue);
    border-radius: 50%;
    transition: all .3s ease;
    box-sizing: border-box;
}
.pagetop > a:hover {
    color: var(--c_blue);
    background: #fff;
}
/*//pagetop*/

/*accordion*/
.acc-cont {
	display: none;
}
/*//accordion*/

/*modal*/
.wrapper.modal_open {
	overflow: hidden;
}
.modal_cont_wrapper {
	position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100vw;
    min-height: 100vh;
    background: rgba(255, 255, 255, .8);
    z-index: 9999;
    overflow: auto;
}
.modal_cont_inner {
	position: absolute;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
}
.modal_cont {
	position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    min-height: 100%;
    height: auto;
    padding: 6em 30px;
}
.modal_block {
	position: relative;
	width: auto;
	height: auto;
}
.modal_close {
	position: absolute;
    bottom: calc(100% + 20px);
    right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 3em;
	height: 3em;
	background: var(--c_blue);
	border-radius: 50%;
	cursor: pointer;
	--ham_num: 12px;
	--ham_mnum: -12px;
}
.modal_close_inner {
    position: relative;
    width: 35px;
    height: 3px;
    margin-top: var(--ham_num);
    margin-bottom: var(--ham_num);
    background: transparent;
    transition: all .5s ease;
}
.modal_close_inner::before, .modal_close_inner::after {
    content: '';
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 3px;
    background: #fff;
}
.modal_close_inner::before {
    top: var(--ham_mnum);
    transition: all .5s ease;
	transform: translateY(var(--ham_num)) rotate(45deg);
}
.modal_close_inner::after {
    bottom: var(--ham_mnum);
    transition: all .5s ease;
	transform: translateY(var(--ham_mnum)) rotate(-45deg);
}
/*//modal*/

/*scrl*/
.scrl {
    opacity: 0;
    position: relative;
}
.bt-anim {
    top: 50px;
}
@keyframes bt-anim {
	0% {
		opacity: 0;
		top: 50px;
	}
	60% {
		opacity: 1;
		top: 0;
	}
	100% {
		opacity: 1;
		top: 0;
	}
}
.bt-anim.scrl_in {
    animation: bt-anim 1s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}
/*//scrl*/

/*header*/
#header {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0 1.5vw;
    background: rgba(255, 255, 255, .9);
	transition: all .3s ease;
    z-index: 9999;
}
#header .logo {
	position: relative;
    max-width: 294px;
    width: 21vw;
    transition: all .3s ease;
	z-index: 9999;
}
#header.h_fixed .logo {
    max-width: 220px;
    width: 15.27vw;
}
#header .logo > a, #header .logo > a > img {
    display: block;
    width: 100%;
}
.h_inner {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: auto;
}
.gnav_li {
    display: flex;
    justify-content: flex-end;
    width: auto;
    list-style: none;
}
.gnav_li > li > a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: auto;
    padding: 1.5em 1em;
    font-size: var(--fz17);
    font-family: var(--noto);
    font-weight: 500;
    line-height: 1.4;
    background: transparent;
    transition: all .3s ease;
}
.gnav_li > li > a > span {
    color: var(--c_blue);
    font-size: .64em;
    font-family: var(--roboto);
    font-weight: 500;
    transition: all .3s ease;
}
.gnav_li > li > a:hover, .gnav_li > li.active > a {
    color: #fff;
    background: var(--c_blue);
}
.gnav_li > li.active > a {
	pointer-events: none;
}
.gnav_li > li > a:hover > span, .gnav_li > li.active > a > span {
    color: #fff;
}
.h_fixed .gnav_li > li > a {
    padding: 1em;
    font-size: var(--fz15);
}
.sns_btn_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    column-gap: 10px;
    transition: all .3s ease;
}
.h_inner .sns_btn_wrap {
	position: relative;
	margin-left: 1vw;
	z-index: 9999;
}
.sp_nav_inner .sns_btn_wrap {
	justify-content: flex-start;
	max-width: 245px;
	margin: 0 auto;
}
.sns_btn {
    display: block;
    width: 1.8em;
    height: 1.8em;
    color: #fff;
    font-size: var(--fz27);
    background: var(--c_blue);
    border: 1px solid var(--c_blue);
    border-radius: 50%;
    transition: all .3s ease;
}
.sns_btn:hover {
    color: var(--c_blue);
    background: #fff;
}
.sns_btn > span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
.sns_btn .blog {
    font-size: .48em;
}
.sns_btn .mail {
    font-size: .85em;
}
.sns_btn > span > span {
    margin-top: .3em;
    font-size: .9em;
    font-family: var(--roboto);
    line-height: 1;
}
.h_fixed .sns_btn {
    font-size: var(--fz24);
}
@media only screen and (max-width: 768px) {
	#gnav {
		display: none;
	}
	.h_inner {
		margin-right: 2vw;
		margin-left: auto;
	}
	.h_inner .sns_btn_wrap {
		column-gap: 5px;
	}
	.h_inner .sns_btn {
		opacity: 0;
		font-size: var(--fz23);
		pointer-events: none;
		transition: all .3s ease;
	}
	.hmbg_open .h_inner .sns_btn {
		opacity: 1;
		pointer-events: auto;
	}
	.h_inner .sns_btn:last-of-type {
		display: none;
	}
	.h_fixed .h_inner .sns_btn {
		font-size: var(--fz20);
	}
    .hmbg_btn {
        display: flex;
    }
	#header {
		padding: 2.5vw 2vw;
	}
	#header.h_fixed {
		padding: 1.5vw 2vw;
	}
	#header .logo {
		max-width: 171px;
		width: 45.6vw;
	}
	#header.h_fixed .logo {
		max-width: 171px;
		width: 45.6vw;
	}
}
/*//header*/

/*footer*/
#footer {
    width: 100%;
    padding-top: var(--num100);
    background: var(--c_gray);
}
.f_inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1095px;
    width: 92%;
    margin: 0 auto var(--num120);
}
.f_info {
    width: 35%;
}
.f_logo {
    opacity: 1;
    transition: all .3s ease;
    max-width: 397px;
    width: 100%;
    margin-bottom: var(--num50);
    transform: translateX(-5%);
}
.f_logo:hover {
    opacity: .6;
}
.f_logo > a, .f_logo > a > img {
    display: block;
    width: 100%;
}
.f_address {
    margin-bottom: var(--num50);
    font-size: var(--fz14);
    font-weight: 500;
}
.f_num {
    width: 100%;
    margin-bottom: .5em;
    color: var(--c_blue);
    font-size: var(--fz23);
    font-family: var(--roboto);
	font-weight: 800;
    line-height: 1;
}
.f_num .tel {
    font-size: 1.7em;
}
.f_num .tel > a {
    opacity: 1;
    color: var(--c_blue);
    font-size: 1em;
    transition: all .3s ease;
}
.f_num .tel > a:hover {
    opacity: .6;
}
.btn_g_blue {
    position: relative;
    display: block;
    background: linear-gradient(120deg, var(--g_blue));
    overflow: hidden;
}
.btn_g_blue::before {
    content: '';
    opacity: 0;
    position: absolute;
    top: -100px;
    left: 0;
    display: block;
    width: 30px;
    height: 100%;
    background-color: #fff;
    transition: cubic-bezier(0.32, 0, 0.67, 0);
}
@keyframes kiran {
    0% {
        transform: scale(2) rotate(45deg);
        opacity: 0;
    }
    20% {
        transform: scale(20) rotate(45deg);
        opacity: 0.6;
    }
    40% {
        transform: scale(30) rotate(45deg);
        opacity: 0.4;
    }
    80% {
        transform: scale(45) rotate(45deg);
        opacity: 0.2;
    }
    100% {
        transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}
.btn_g_blue:hover::before {
    animation: kiran .7s linear 1;
}
.f_btn.btn_g_blue > span {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    padding: .8em;
    color: #fff;
    font-size: var(--fz25);
    font-family: var(--roboto);
    font-weight: 500;
    z-index: 1;
}
.f_btn.btn_g_blue > span::before {
    content: '\f0e0';
    margin-right: .3em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.f_btn.btn_g_blue {
    width: 100%;
}
#fnav {
    width: 50%;
}
.fnav_li {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    margin-bottom: var(--num70);
    row-gap: var(--num35);
    list-style: none;
}
.fnav_li > li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 25%;
}
.fnav_li > li:nth-of-type(4n-1) {
    width: 30%;
}
.fnav_li > li:nth-of-type(4n) {
    width: 20%;
}
.fnav_li > li > a {
    position: relative;
    display: block;
    font-size: var(--fz17);
    font-family: var(--noto);
    font-weight: 500;
    line-height: 1;
}
.fnav_li > li.active > a::before {
    content: '';
    position: absolute;
    top: 50%;
    right: calc(100% + 5px);
    display: block;
    width: 7px;
    height: 85%;
    background: var(--c_blue);
    transform: translateY(-50%);
}
.fnav_li > li > a > span {
    display: block;
    margin-top: .6em;
    color: var(--c_blue);
    font-size: .64em;
    font-weight: 500;
    font-family: var(--roboto);
}
.f_bnr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.f_bnr > .bnr {
    opacity: 1;
    display: block;
    max-width: 381px;
    width: 100%;
    transition: all .3s ease;
}
.f_bnr > .bnr:hover {
    opacity: .6;
}
.f_bnr > .bnr > img {
    display: block;
    width: 100%;
}
.f_sns {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: auto;
    margin-left: var(--num35);
}
.f_pp {
    opacity: 1;
    display: block;
    width: auto;
    margin-top: 1em;
    font-size: var(--fz12);
    font-weight: 500;
    white-space: nowrap;
    transition: all .3s ease;
}
.f_pp:hover {
    opacity: .6;
}
.copyright {
    display: block;
    width: 100%;
    padding: 1em 0 .7em;
    font-size: var(--fz11);
    font-weight: 300;
    line-height: 1;
    text-align: center;
    background: #fff;
}
@media only screen and (max-width: 768px) {
    .f_inner {
        flex-direction: column;
        justify-content: flex-start;
        width: 82%;
    }
    .f_info {
        width: 100%;
        margin-bottom: var(--num90);
    }
    .f_logo {
        width: 90%;
    }
    .f_num {
        font-size: var(--fz21);
    }
    #fnav {
        width: 100%;
    }
    .fnav_li > li, .fnav_li > li:nth-of-type(4n-1), .fnav_li > li:nth-of-type(4n) {
        width: 50%;
    }
    .fnav_li > li.active > a::before {
        width: 5px;
    }
    .f_bnr {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    .f_sns {
        flex-direction: row;
        flex-wrap: wrap;
        margin-left: 0;
        margin-top: var(--num40);
    }
    .f_pp {
        margin: 0 0 0 1.5em;
    }
}
/*//footer*/

/*top*/
#top_slide_sec {
    position: relative;
    width: 100%;
    height: 100vh;
}
#top_slide_sec .slide {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 0;
}
#top_slide_sec .slide::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 38%;
    height: 100%;
    background: linear-gradient(90deg, rgba(0, 0, 0, .7) 0%, transparent 100%);
    z-index: 1;
}
.swiper-container.top_slide {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.swiper-container.top_slide .swiper-slide {
    width: 100%;
    height: 100%;
}
.swiper-container.top_slide .img {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.swiper-container.top_slide .img picture img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.08);
	}
}
.swiper-container.top_slide .swiper-slide-active .img picture img,
.swiper-container.top_slide .swiper-slide-duplicate-active .img picture img,
.swiper-container.top_slide .swiper-slide-prev .img picture img {
	animation: zoomUp 7s linear 0s normal both;
}
#top_slide_sec .inner {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100%;
}
#top_slide_sec .tit {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    color: #fff;
    font-size: clamp(1.3rem, 7.5vw, 10.8rem);
    font-family: var(--noto);
    font-weight: 700;
    z-index: 1;
}
#top_slide_sec .tit > * {
    position: relative;
    display: block;
    padding-left: 10vw;
    overflow: hidden;
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
    transition: all .5s 1s ease;
    z-index: 1;
}
html[style="opacity: 1;"] #top_slide_sec .tit > * {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
#top_slide_sec .tit > *::before {
    content: '';
    opacity: .9;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, var(--g_blue));
    z-index: -1;
}
#top_slide_sec .tit b {
    font-weight: 700;
}
#top_slide_sec .tit b > span {
    font-size: .68em;
}
#top_slide_sec .tit small {
    padding-right: .5em;
    font-size: .52em;
}
#top_slide_sec .tit small > span {
    font-size: .68em;
}
.scrl_line {
    position: absolute;
    bottom: 0;
    left: 8vw;
    width: 3px;
    height: clamp(60px, 21.42vh, 165px);
    margin: auto auto 0;
    background: #fff;
    pointer-events: auto;
    transition: all .3s ease;
}
.home .scrl_line, .h_scroll .scrl_line {
    margin-top: 0;
}
.scrl_line > span {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 3px;
	height: 100%;
    background: var(--c_blue);
	transform: scaleY(0);
	transform-origin: center top;
	animation: scroll_line 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite both;
}
@keyframes scroll_line {
	2% {
		transform: scaleY(0);
		transform-origin: center top;
	}
	46% {
		transform: scaleY(1);
		transform-origin: center top;
	}
	54% {
		transform: scaleY(1);
		transform-origin: center bottom;
	}
	98% {
		transform: scaleY(0);
		transform-origin: center bottom;
	}
}
.scrl_line::before {
    content: 'Scroll';
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    display: block;
    color: #fff;
    font-size: var(--fz14);
    font-family: var(--roboto);
    letter-spacing: .15em;
    writing-mode: tb-rl;
    transform: translateX(-50%);
}
.top_contents {
    display: flex;
    justify-content: center;
    width: 100%;
}
.top_contents_block {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 50%;
    padding: var(--num80) 0 var(--num90);
    background: #fff;
    transition: all .3s ease;
}
.top_contents_block::before {
    content: '';
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(120deg, var(--g_blue));
    transition: all .3s ease;
}
.top_contents_block:hover::before {
    opacity: 1;
}
.top_contents_block .en_tit {
    position: relative;
    flex-shrink: 0;
    width: 65%;
    height: auto;
    margin: 0 auto 1em;
    color: var(--c_blue);
    font-size: var(--fz29);
    font-family: var(--roboto);
	font-weight: 500;
    line-height: 1;
    text-align: center;
    transition: all .3s ease;
    z-index: 1;
}
.top_contents_block:hover .en_tit {
    color: #fff;
}
.top_contents_block .inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 65%;
    height: 100%;
    padding: var(--num60) 0;
    margin: auto;
    color: #fff;
    background: center center/cover no-repeat;
    z-index: 1;
}
.top_contents_block .inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .6);
    z-index: -1;
}
.top_contents_block .inner > * {
    position: relative;
    z-index: 0;
}
.top_contents_block .tit {
    max-width: 325px;
    width: 92%;
    margin-bottom: .3em;
    font-size: var(--fz40);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
}
.top_contents_block .tit > small {
    font-size: .77em;
}
.top_contents_block .txt {
    max-width: 325px;
    width: 92%;
    margin-bottom: 1em;
    font-size: var(--fz14);
}
.top_contents_block .btn_wrap {
    max-width: 325px;
    width: 92%;
    margin: 0 auto;
}
.btn_g_blue_c {
	position: relative;
    display: block;
    width: auto;
    padding: 1em 2em;
    color: #fff;
    font-size: var(--fz18);
    font-family: var(--roboto);
    letter-spacing: .1em;
    line-height: 1.3;
    text-align: center;
    background: #fff;
    border-radius: 9999px;
    transition: all .3s ease;
    z-index: 1;
}
.btn_g_blue_c::before {
    content: '';
    opacity: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    background: linear-gradient(45deg, var(--g_blue));
    border-radius: 9999px;
    transform: translate(-50%, -50%);
    transition: all .3s ease;
    z-index: -1;
}
.btn_g_blue_c:hover::before, .top_contents_block:hover .btn_wrap .btn_g_blue_c::before {
    opacity: 0;
}
.btn_g_blue_c::after {
    content: '\f054';
    position: absolute;
    top: 50%;
    right: 1em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
    z-index: 0;
}
.btn_g_blue_c:hover, .top_contents_block:hover .btn_wrap .btn_g_blue_c {
    color: var(--c_blue);
}
.btn_g_blue_c.l {
	padding: 1em 2.2em 1em 1.8em;
	font-family: var(--gothic);
	font-weight: 700;
	text-align: left;
}
.btn_g_blue_c.l::after {
	right: 1.5em;
}
.top_contents_block .btn_wrap .btn_g_blue_c {
    width: 100%;
	font-family: var(--roboto);
	font-weight: 500;
}
#top_360_tour {
    position: relative;
    display: block;
    width: 100%;
    padding: var(--num170) 0 var(--num200);
    background: var(--c_gray);
}
.txt_loop {
    position: absolute;
    top: var(--num120);
    left: 0;
    display: flex;
    width: 100%;
    overflow: hidden;
    z-index: 0;
}
.txt_loop > p {
    flex: 0 0 auto;
    padding-left: 20px;
    color: #fff;
    font-size: clamp(1.3rem, 13.89vw, 20rem);
	font-family: var(--roboto);
	font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
}
.txt_loop > p:nth-child(odd) {
    animation: loop 50s -25s linear infinite;
}
.txt_loop > p:nth-child(even) {
    animation: loop2 50s linear infinite;
}
@keyframes loop {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
}
@keyframes loop2 {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
}
#top_360_tour .inner {
    position: relative;
    max-width: 1175px;
    width: 92%;
    margin: auto;
    z-index: 1;
}
#top_360_tour .tit {
    width: 100%;
    margin-bottom: .5em;
    font-size: clamp(1.3rem, 4.51vw, 6.5rem);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1;
    text-align: center;
}
#top_360_tour .tit > span {
    padding: 0 .1em;
    font-size: 1.5em;
    font-weight: 900;
    background: linear-gradient(120deg, var(--g_blue));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#top_360_tour .iframe_block {
    position: relative;
    width: 100%;
    padding-top: 51%;
    margin: auto;
    overflow: hidden
}
#top_360_tour .iframe_block > iframe {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
}
#top_360_tour .bubble {
    position: absolute;
    top: calc(100% + .5em);
    left: -4em;
    max-width: 31em;
	width: 92%;
    padding: 2.5em 3em 2em;
    color: #fff;
    font-size: var(--fz16);
    font-weight: 700;
    background: url("./img/top_360_tour_bubble.webp") center center/contain no-repeat;
}
#top_about {
    position: relative;
    width: 100%;
    padding: var(--num120) 0;
    background: linear-gradient(120deg, var(--g_blue));
}
#top_about .wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    max-width: 1096px;
    width: 92%;
    margin: auto;
}
#top_about .top_contents_cont {
    width: 41%;
    color: #fff;
}
.top_contents_cont .sub_tit {
    margin-bottom: 1.5em;
    font-size: var(--fz30);
    font-family: var(--roboto);
    font-weight: 500;
    line-height: 1;
}
.top_contents_cont .tit {
    margin-bottom: .8em;
    font-size: var(--fz45);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1.25;
}
.top_contents_cont .txt {
    margin-bottom: 2.5em;
    font-size: var(--fz14);
}
.top_contents_cont .btn_wrap {
    justify-content: flex-start;
}
#top_about .video {
    position: relative;
    width: 46%;
    padding-top: 34%;
    overflow: hidden;
}
#top_about .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
}
.btn_white {
    position: relative;
    display: block;
    padding: 1em 2.2em 1em 1.8em;
    width: auto;
    color: var(--c_blue);
    font-size: var(--fz18);
    font-weight: 700;
	line-height: 1.3;
    background: #fff;
    border-radius: 9999px;
    transition: all .3s ease;
}
.btn_white::after {
    content: '\f054';
    position: absolute;
    top: 50%;
    right: 1.5em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transform: translateY(-50%);
}
.btn_white:hover {
    color: #fff;
    background: var(--c_blue);
}
.top_contents_cont .btn_wrap {
    width: 100%;
}
.top_contents_cont .btn_white {
    max-width: 260px;
    width: 100%;
    margin: 0;
}
#top_products {
    position: relative;
    width: 100%;
    background: #000;
}
#top_products .wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    max-width: 1090px;
    width: 92%;
    margin: auto;
}
#top_products .wrap::after {
    content: '';
    display: block;
    width: 52%;
    padding-top: 56%;
}
#top_products .top_contents_cont {
    position: relative;
    width: 48%;
    color: #fff;
    z-index: 1;
}
#top_products .top_contents_cont .tit {
    font-size: var(--fz40);
}
.top_contents_cont .btn_g_blue_c {
    max-width: 269px;
    width: 100%;
}
#top_products .top_contents_cont .sub_tit {
    margin-bottom: 1em;
}
#top_products .slide {
    position: absolute;
    top: 0;
    right: 0;
    width: 60%;
    height: 100%;
    z-index: 0;
}
#top_products .slide::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #000 0%, transparent 70%);
    z-index: 1;
}
.swiper-container.top_products_slide {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.swiper-container.top_products_slide .swiper-slide {
    width: 100%;
    height: 100%;
}
.swiper-container.top_products_slide .img {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.swiper-container.top_products_slide .img picture img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
#top_news_blog {
    display: flex;
    justify-content: center;
    width: 100%;
}
#top_news_blog .block {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 50%;
    padding-bottom: var(--num80);
}
#top_news_blog .block + .block {
    border-left: 2px solid var(--c_blue);
}
#top_news_blog .head {
    flex-shrink: 0;
    width: auto;
    line-height: 1;
    writing-mode: tb-rl;
}
#top_news_blog .head .jp {
    display: block;
    margin-top: 1em;
    margin-left: 1em;
    font-size: var(--fz24);
    font-family: var(--noto);
}
#top_news_blog .head .en {
    display: block;
    margin-top: -.05em;
    color: var(--c_blue);
    font-size: clamp(1.3rem, 8.33vw, 12rem);
    font-family: var(--roboto);
	font-weight: 700;
    line-height: .65;
}
#top_news_blog .inner {
    width: 100%;
    padding-top: var(--num100);
    margin-left: 6%;
}
#top_news_blog .link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 84%;
}
#top_news_blog .link > a {
    flex-shrink: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: auto;
    margin-left: 1.5em;
    color: var(--c_blue);
    font-size: var(--fz20);
    font-family: var(--roboto);
	font-weight: 500;
}
#top_news_blog .link > a::after {
    content: '\f054';
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3em;
    height: 3em;
    margin-left: 1em;
    color: #fff;
    font-size: .7em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    background: var(--c_blue);
    border-radius: 50%;
}
#top_news_blog .link > .txt {
    width: 100%;
    font-size: var(--fz14);
}
.news_li {
    width: 100%;
    list-style: none;
}
#top_news_blog .news_li {
    width: 80%;
    margin-top: var(--num35);
}
.news_li > li {
    width: 100%;
    padding: var(--num35) 0;
    border-bottom: 1px solid var(--d_gray);
}
.news_li > li:last-of-type {
    border-bottom: none;
}
.news_li > li > a {
    position: relative;
    display: block;
    width: 100%;
    padding-right: 3em;
}
.news_li > li > a::after {
    content: '\f054';
    position: absolute;
    top: 50%;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3em;
    height: 3em;
    color: var(--c_blue);
    font-size: .8em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    background: #fff;
    border: 1px solid var(--c_blue);
    border-radius: 50%;
    transform: translateY(-50%);
    transition: all .3s ease;
}
.news_li > li > a:hover::after {
    color: #fff;
    background: var(--c_blue);
}
.news_li > li > a > * {
    opacity: 1;
    transition: all .3s ease;
}
.news_li > li > a:hover > * {
    opacity: .6;
}
.news_li .date, .blog_li .date {
    display: block;
    color: var(--c_blue);
    font-size: .81em;
    font-family: var(--roboto);
}
.news_li .tit, .blog_li .tit {
    line-height: 1.3;
}
.swiper-container.blog_slide {
    width: 100%;
}
.blog_li {
    width: 100%;
    list-style: none;
}
#top_news_blog .blog_li {
    width: 80%;
    margin-top: var(--num35);
}
.blog_li > li, .blog_li > .li {
    width: 100%;
    margin-bottom: 1.3em;
}
.blog_li > .li.swiper-slide {
    width: 120px;
}
.blog_li > li > a, .blog_li > .li > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.blog_li > .li.swiper-slide > a {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.blog_li > .li.swiper-slide .img {
    width: 100%;
    padding-top: 66%;
    margin-bottom: 5px;
}
.blog_li .img {
    position: relative;
    width: 37%;
    padding-top: 24%;
    overflow: hidden;
}
.blog_li .img img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%) scale(1);
    transition: all .3s ease;
}
.blog_li a:hover .img img {
    transform: translate(-50%, -50%) scale(1.05);
}
.blog_li .cont {
    opacity: 1;
    width: 57%;
    transition: all .3s ease;
}
.blog_li a:hover .cont {
    opacity: .6;
}
.blog_li > .li.swiper-slide .cont {
    width: 100%;
}
#top_instagram {
    width: 100%;
    background: var(--c_gray);
}
#top_instagram .inner {
    max-width: 760px;
    width: 80%;
    padding: var(--num120) 0;
    margin: auto;
}
#top_instagram .tit {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-bottom: .3em;
    font-size: var(--fz38);
    font-family: var(--roboto);
	font-weight: 700;
    line-height: 1;
    text-align: center;
}
#top_instagram .tit::before {
    content: '\f16d';
    display: block;
    font-family: "Font Awesome 5 Brands";
    font-weight: 400;
    background: linear-gradient(90deg, var(--g_blue));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#top_instagram .txt {
    width: 100%;
    margin-bottom: 1.8em;
    font-size: var(--fz14);
    text-align: center;
}
#top_instagram .insta_block {
    width: 100%;
}
#top_instagram .btn_wrap {
    margin-top: var(--num40);
}
#top_instagram .btn_g_blue_c {
    max-width: 245px;
    width: 100%;
	font-family: var(--roboto);
	font-weight: 500;
}
#top_recruit {
    width: 100%;
}
#top_recruit .en_tit {
    width: 100%;
    padding: var(--num200) 9vw 0;
    background: url(./img/top_recruit1.webp) center center/cover no-repeat;
}
#top_recruit .en_tit > span {
    display: block;
    width: 100%;
    margin: auto;
    color: #fff;
    font-size: clamp(1.3rem, 8.33vw, 12rem);
    font-family: var(--roboto);
	font-weight: 500;
    line-height: .7;
}
#top_recruit .wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    background: var(--c_blue);
}
#top_recruit .cont {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 50%;
    padding: 20px 5vw 20px 9vw;
    color: #fff;
}
#top_recruit .tit {
    width: 100%;
    margin-bottom: .5em;
    font-size: var(--fz45);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1;
}
#top_recruit .txt {
    margin-bottom: 1.5em;
    font-size: var(--fz14);
}
#top_recruit .img {
    position: relative;
    width: 50%;
    padding-top: 27%;
    overflow: hidden;
}
#top_recruit .img > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
#top_recruit .btn_wrap {
    justify-content: flex-start;
    margin: 0;
}
#top_recruit .btn_white {
    max-width: 245px;
    width: 100%;
    font-family: var(--roboto);
    font-weight: 500;
    text-align: center;
    border: 1px solid #fff;
}
@media only screen and (max-width: 1320px) {
	#top_360_tour .bubble {
		left: -1em;
	}
}
@media only screen and (max-width: 768px) {
    #top_slide_sec .tit {
        font-size: clamp(.9rem, 15.47vw, 5.8rem);
    }
    #top_slide_sec .tit > * {
        padding-left: 4vw;
        line-height: 1.3;
    }
    .scrl_line {
        left: 6vw;
    }
	.top_contents {
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
	}
	.top_contents_block {
		width: 100%;
	}
	.top_contents_block .en_tit {
		width: 73%;
		font-size: var(--fz19);
	}
	#top_enginetering_equipment.top_contents_block .en_tit {
		color: #fff;
	}
	.top_contents_block .inner {
		width: 73%;
		padding: var(--num100) 0;
	}
	.top_contents_block .tit {
		width: 77%;
		font-size: var(--fz25);
	}
	.top_contents_block .txt, .top_contents_block .btn_wrap {
		width: 77%;
	}
	#top_enginetering_equipment.top_contents_block::before {
		opacity: 1;
	}
	.btn_g_blue_c {
		font-size: var(--fz15);
	}
	.txt_loop > p {
        font-size: clamp(.9rem, 31.2vw, 11.7rem);
    }
	#top_360_tour {
		padding: var(--num170) 0 var(--num50);
	}
    #top_360_tour .inner {
        width: 100%;
    }
    #top_360_tour .iframe_block {
        padding-top: 111%;
    }
    #top_360_tour .tit {
        font-size: var(--fz30);
    }
	#top_360_tour .bubble {
		position: relative;
		top: auto;
		left: auto;
		margin: 0 auto;
		font-size: var(--fz13);
	}
	#top_about {
        background: linear-gradient(100deg, var(--g_blue));
    }
    #top_about .wrap {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    #top_about .top_contents_cont {
        width: 100%;
        margin-bottom: var(--num80);
    }
    #top_about .video {
        width: 100%;
        padding-top: 72%;
    }
    .top_contents_cont  .sub_tit {
        font-size: var(--fz20);
    }
    .top_contents_cont  .tit {
        margin-bottom: .5em;
        font-size: var(--fz36);
    }
    .top_contents_cont  .txt {
        margin-bottom: 1em;
    }
    .btn_white {
        font-size: var(--fz15);
    }
    .top_contents_cont  .btn_white {
        max-width: 228px;
        width: 70%;
    }
	#top_products .wrap {
        flex-direction: column;
        width: 100%;
    }
    #top_products .top_contents_cont {
        width: 92%;
        margin: var(--num120) auto 0;
    }
    #top_products .wrap::after {
        display: none;
    }
    #top_products .slide {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
    }
    .swiper-container.top_products_slide .img {
        height: auto;
        padding-top: 94%;
    }
    #top_products .slide::after {
        background: linear-gradient(180deg, #000 0%, transparent 35%);
    }
    #top_products .top_contents_cont .tit {
        font-size: var(--fz25);
    }
    .top_contents_cont .btn_g_blue_c {
        max-width: 228px;
        width: 70%;
    }
	#top_news_blog {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    #top_news_blog .block {
        width: 100%;
    }
    #top_news_blog .block + .block {
        border-left: none;
        border-top: 2px solid var(--c_blue);
    }
    #top_news_blog .inner {
        width: 102%;
        padding-top: var(--num235);
        margin-left: -2%;
        overflow: hidden;
    }
    #top_news_blog .head .jp {
        margin-top: .7em;
        font-size: var(--fz16);
    }
    #top_news_blog .head .en {
        font-size: clamp(.9rem, 18.67vw, 7rem);
    }
    #top_news_blog .link {
        width: 92%;
    }
    #top_news_blog .news_li, #top_news_blog .blog_li {
        width: 92%;
    }
	#top_instagram .inner {
        padding: var(--num90) 0;
    }
    #top_instagram .insta_block {
        width: 92%;
        margin: auto;
    }
    #top_instagram .txt {
        margin-bottom: 1em;
    }
	#top_recruit .en_tit {
        padding: var(--num200) 4vw 0;
    }
    #top_recruit .en_tit > span {
        font-size: clamp(.9rem, 17.07vw, 6.4rem);
    }
    #top_recruit .wrap {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        padding: var(--num100) 0;
    }
    #top_recruit .cont {
        width: 90%;
        padding: 0;
        margin: auto;
    }
    #top_recruit .img {
        width: 90%;
        padding-top: 44%;
        margin: auto;
    }
    #top_recruit .btn_wrap {
        justify-content: center;
        width: 92%;
        margin: 0 auto;
    }
    #top_recruit .txt + .btn_wrap {
        margin-bottom: 2em;
    }
    #top_recruit .img + .btn_wrap {
        margin-top: 1.5em;
    }
    #top_recruit .tit {
        font-size: var(--fz25);
    }
    #top_recruit .btn_white {
        font-size: var(--fz19);
    }
}
/*//top*/

/*second-head*/
.second_head {
    position: relative;
    width: 100%;
    height: auto;
	z-index: 1;
}
.second_head .img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}
.second_head .img picture img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
.second_head .inner {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    max-width: 1170px;
    width: 92%;
    height: 100%;
    margin: auto;
    z-index: 1;
}
.second_head .page_tit {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: auto;
    margin: 1.5em 0 1.78em;
    font-size: clamp(1.3rem, 4.86vw, 7rem);
    font-family: var(--noto);
    font-weight: 900;
    line-height: 1;
}
.second_head .page_tit > span {
	position: relative;
    display: block;
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
	transition: all .5s .3s ease;
	z-index: 1;
}
html[style="opacity: 1;"] .second_head .page_tit > span {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
.second_head .page_tit > span.jp {
    padding: .4em .3em .3em;
}
.second_head .page_tit > span.en {
    padding: 0 1em 1em;
    color: var(--c_blue);
    font-size: .32em;
    font-family: var(--roboto);
    font-weight: 500;
}
.second_head .page_tit > span::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, .8);
	z-index: -1;
}
.second_head .page_tit > span.en::before {
	transition-delay: .4s;
}
.page_temp {
	position: relative;
	z-index: 0;
}
.breadcrumbs_wrap {
	position: relative;
	width: 92%;
	margin: 1em auto;
    font-size: var(--fz13);
}
.second_head .breadcrumbs_wrap {
    position: absolute;
    top: calc(100% + .8em);
    left: 50%;
	transform: translateX(-50%);
}
@media only screen and (max-width: 768px) {
    .second_head .inner {
        width: 100%;
    }
    .second_head .page_tit {
        margin: 3.43em 0 4.18em;
        font-size: var(--fz32);
    }
    .second_head .page_tit > span.jp {
        padding: .4em .6em .3em .8em;
    }
    .second_head .page_tit > span.en {
        padding: 0 1em .7em 2em;
		margin-top: -.03em;
        font-size: .43em;
    }
}
/*//second-head*/

/*engineering-equipment*/
#archive_equipment {
    width: 100%;
    padding: var(--num120) 0 var(--num135);
    background: var(--c_gray);
}
.archive_equipment_tit {
    width: 92%;
    margin: 0 auto 1.5em;
    font-size: var(--fz45);
    font-family: var(--noto);
    font-weight: 800;
    text-align: center;
}
.term_link {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 1130px;
    width: 92%;
    margin: 0 auto var(--num35);
    column-gap: 2%;
    row-gap: 10px;
    list-style: none;
}
.term_link > li {
    width: 32%;
}
.term_link > li > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: .6em .8em;
    color: var(--c_black);
    font-size: var(--fz23);
    font-family: var(--noto);
    font-weight: 800;
    background: #fff;
    transition: all .3s ease;
}
.term_link > li > a:hover {
    color: #fff;
    background: var(--c_blue);
}
.term_link .num {
    color: var(--c_blue);
    font-size: 1.73em;
    font-family: var(--roboto);
    font-weight: 500;
    line-height: 1;
    transition: all .3s ease;
}
.term_link > li > a::after {
    content: '\f078';
    color: var(--c_blue);
    font-size: .9em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transition: all .3s ease;
}
.term_link > li > a:hover > .num, .term_link > li > a:hover::after {
    color: #fff;
}
.equipment_block_wrap {
    width: 100%;
}
.equipment_block {
    width: 100%;
    padding: var(--num135) 0;
    background: transparent;
}
.equipment_block:nth-of-type(even) {
    background: #fff;
}
.equipment_block .h_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1140px;
    width: 92%;
    margin: 0 auto var(--num60);
}
.equipment_block .h_wrap .cont {
    width: 54%;
}
.equipment_block .h_wrap .img {
    position: relative;
    width: 42%;
    padding-top: 31%;
    overflow: hidden;
}
.equipment_block .h_wrap .img > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
.equipment_block_tit {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    width: 100%;
    margin-bottom: .7em;
    font-size: var(--fz50);
    font-family: var(--noto);
    font-weight: 700;
    letter-spacing: -.05em;
    line-height: 1.1;
}
.equipment_block_tit > .num {
    flex-shrink: 0;
    width: auto;
    margin-right: .15em;
    color: var(--c_blue);
    font-size: 2.9em;
    font-family: var(--roboto);
    font-weight: 800;
    line-height: .7;
}
.equipment_block .h_wrap .txt {
    font-size: var(--fz14);
}
.equipment_li {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 1050px;
    width: 90%;
    margin: auto;
    column-gap: 6.5%;
    row-gap: var(--num60);
    list-style: none;
}
.equipment_li > li {
    width: 29%;
}
.equipment_li .img_block {
    width: 100%;
}
.equipment_li .nickname {
    width: 100%;
    padding: .45em 1em .3em;
    color: #fff;
    font-size: var(--fz20);
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    background: var(--c_blue);
}
.equipment_li .img {
    width: 100%;
}
.equipment_li .img > img {
    display: block;
    width: 100%;
}
.equipment_li .name {
    width: 100%;
    padding: .6em 0 .45em;
    color: var(--c_blue);
    font-size: var(--fz20);
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}
.equipment_li .info {
    width: 100%;
}
.equipment_li .info_dl {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-size: var(--fz14);
}
.equipment_li .info_dl + .info_dl {
    margin-top: 4px;
}
.equipment_li .info_dl > dt {
    flex-shrink: 0;
    width: 10em;
    padding: .3em 1em .25em;
    text-align: center;
    background: #fff;
}
.equipment_li .info_dl > dd {
    width: 100%;
    padding: .3em 1em .25em;
    margin-left: 2px;
    background: #fff;
}
.equipment_block:nth-of-type(even) .equipment_li .info_dl > dt, .equipment_block:nth-of-type(even) .equipment_li .info_dl > dd {
    background: var(--c_gray);
}
.equipment_li .txt {
    margin: 1em 0 2em;
    font-size: var(--fz14);
}
.btn_blue {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    width: auto;
    padding: .8em 2.5em .8em 1.5em;
    color: #fff;
    font-size: var(--fz14);
    line-height: 1.5;
    background: var(--c_blue);
    border: 1px solid var(--c_blue);
    border-radius: 9999px;
    transition: all .3s ease;
}
.btn_blue::after {
    content: '\f054';
    position: absolute;
    top: 50%;
    right: 1em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transform: translateY(-50%);
}
.btn_blue:hover {
    color: var(--c_blue);
    background: #fff;
}
.equipment_li .btn_wrap {
    width: 100%;
}
.equipment_li .btn_blue {
    min-width: 70%;
}
#engineering_about {
    width: 100%;
    padding: var(--num120) 0;
    background: linear-gradient(120deg, var(--g_blue));
}
#engineering_about .wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    max-width: 1172px;
    width: 92%;
    margin: auto;
}
#engineering_about .img {
    width: 48%;
}
#engineering_about .img > img {
    display: block;
    width: 100%;
}
#engineering_about .cont {
    width: 43%;
    color: #fff;
}
#engineering_about .cont .tit {
    width: 100%;
    margin-bottom: .5em;
    font-size: var(--fz45);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1.4;
}
#engineering_about .cont .txt {
    font-size: var(--fz14);
}
#engineering_business {
    width: 100%;
    padding: var(--num120) 0;
}
#engineering_business .wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1130px;
    width: 92%;
    margin: auto;
}
#engineering_business .cont::after {
    content: 'Business areas';
    position: absolute;
    top: 0;
    left: 0;
    color: var(--c_blue);
    font-size: clamp(1.3rem, 6.25vw, 9rem);
    font-family: var(--roboto);
	font-weight: 500;
    line-height: 1;
    transform: translateY(-50%);
    z-index: 1;
}
#engineering_business .cont {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 56%;
    padding: var(--num100) 0 var(--num70);
    z-index: 0;
}
#engineering_business .cont::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 130%;
    height: 100%;
    background: var(--c_gray);
    z-index: 0;
}
#engineering_business .cont > * {
    position: relative;
    max-width: 450px;
    width: 92%;
    margin: auto;
    z-index: 1;
}
#engineering_business .cont .tit {
    font-size: var(--fz45);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1.3;
}
#engineering_business .cont .txt {
    margin-top: 1em;
    font-size: var(--fz14);
}
#engineering_business .figure {
    position: relative;
    width: 44%;
    z-index: 1;
}
#engineering_business .figure > img {
    display: block;
    width: 100%;
}
.page_engineering-equipment .breadcrumbs_wrap, .page_engineering-equipment .breadcrumbs_wrap a, .page_advantage .breadcrumbs_wrap, .page_advantage .breadcrumbs_wrap a, .page_company .breadcrumbs_wrap, .page_company .breadcrumbs_wrap a, .page_recruit .breadcrumbs_wrap, .page_recruit .breadcrumbs_wrap a {
	color: #fff;
}
@media only screen and (max-width: 768px) {
	#engineering_about {
		padding-top: var(--num150);
	}
    .archive_equipment_tit {
        font-size: var(--fz30);
    }
    .term_link {
        width: 85%;
    }
    .term_link > li {
        width: 100%;
    }
    .term_link > li > a {
        font-size: var(--fz19);
    }
    .equipment_block {
        padding: var(--num120) 0;
    }
    .equipment_block .h_wrap {
        flex-direction: column;
        justify-content: flex-start;
        margin-bottom: var(--num90);
    }
    .equipment_block .h_wrap .cont {
        width: 100%;
    }
    .equipment_block_tit {
        font-size: var(--fz26);
    }
    .equipment_block_tit > .num {
        margin-right: .1em;
    }
    .equipment_block .h_wrap .txt {
        margin-bottom: 1em;
    }
    .equipment_block .h_wrap .img {
        width: 100%;
        padding-top: 72%;
    }
    .equipment_li {
        column-gap: 4%;
    }
    .equipment_li > li {
        width: 48%;
    }
    .equipment_li .nickname {
        font-size: var(--fz15);
    }
    .equipment_li .name {
        font-size: var(--fz16);
    }
    .equipment_li .info_dl {
        flex-direction: column;
        font-size: var(--fz13);
    }
    .equipment_li .info_dl + .info_dl {
        margin-top: 6px;
    }
    .equipment_li .info_dl > dt, .equipment_li .info_dl > dd {
        width: 100%;
    }
    .equipment_li .info_dl > dd {
        margin-top: 2px;
        margin-left: 0;
        text-align: center;
    }
    .equipment_li .txt {
        margin: .8em 0 1em;
        font-size: var(--fz13);
    }
    .btn_blue {
        padding: .8em 2.5em .8em 1.5em;
        font-size: var(--fz13);
    }
    .equipment_li .btn_blue {
        width: 100%;
    }
	#engineering_about .wrap {
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
	}
	#engineering_about .img {
		width: 100%;
		margin-top: 1.5em;
	}
	#engineering_about .cont {
		width: 100%;
	}
	#engineering_about .cont .tit {
		font-size: var(--fz30);
	}
	#engineering_business .wrap {
		flex-direction: column;
		justify-content: flex-start;
		max-width: 496px;
	}
	#engineering_business .cont {
		width: 85%;
	}
	#engineering_business .cont::before {
		width: 100%;
		height: 140%;
	}
	#engineering_business .figure {
		width: 100%;
	}
	#engineering_business .cont::after {
		font-size: var(--fz43);
	}
	#engineering_business .cont .tit {
		font-size: var(--fz27);
	}
	#engineering_business .cont .txt {
		margin-top: .7em;
	}
}
/*//engineering-equipment*/

/*advantage*/
#advantage_hero {
    width: 100%;
    padding: var(--num90) 0 var(--num120);
    color: #fff;
    background: linear-gradient(120deg, var(--g_blue));
}
#advantage_hero .head {
    width: 92%;
    margin: 0 auto 3em;
    font-size: var(--fz27);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}
#advantage_hero .a_link {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1062px;
    width: 92%;
    margin: auto;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
}
#advantage_hero .a_link > .block {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 50%;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    color: #fff;
    font-size: var(--fz29);
    background: transparent;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transition: all .3s ease;
}
#advantage_hero .a_link > .block:hover {
    color: var(--c_blue);
    background: #fff;
}
#advantage_hero .a_link > .block:last-of-type::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 2em;
    height: 2em;
    background: var(--c_blue);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}
#advantage_hero .a_link .icon {
    position: absolute;
    width: 5em;
    height: 5em;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    z-index: 1;
}
#advantage_hero .a_link .icon::before {
    content: '';
    position: absolute;
    display: block;
    width: 10em;
    height: 10em;
    background: #fff;
    border-radius: 50%;
    transition: all .3s ease;
    z-index: 0;
}
#advantage_hero .a_link .block:hover .icon::before {
    background: var(--c_blue);
}
#advantage_hero .a_link .icon > img {
    position: absolute;
    display: block;
    filter: brightness(0) saturate(100%) invert(16%) sepia(64%) saturate(3211%) hue-rotate(190deg) brightness(98%) contrast(102%);
    transition-delay: .05s;
    z-index: 1;
}
#advantage_hero .a_link .block:hover .icon > img {
    filter: inherit;
}
#advantage_hero .a_link > .block:nth-of-type(1), #advantage_hero .a_link > .block:nth-of-type(3) {
    padding-right: 6em;
    padding-left: 5%;
}
#advantage_hero .a_link > .block:nth-of-type(1) .icon {
    bottom: -2px;
    right: -2px;
    border-bottom: 2px solid var(--c_blue);
    border-right: 2px solid var(--c_blue);
}
#advantage_hero .a_link > .block:nth-of-type(1) .icon::before {
    top: 0;
    left: 0;
}
#advantage_hero .a_link > .block:nth-of-type(1) .icon > img {
    bottom: 42.4%;
    right: 42.4%;
    width: 1.89em;
    transform: translate(50%, 50%);
}
#advantage_hero .a_link > .block:nth-of-type(2), #advantage_hero .a_link > .block:nth-of-type(4) {
    padding-right: 5%;
    padding-left: 6em;
}
#advantage_hero .a_link > .block:nth-of-type(2) .icon {
    bottom: -2px;
    left: -2px;
    border-bottom: 2px solid var(--c_blue);
    border-left: 2px solid var(--c_blue);
}
#advantage_hero .a_link > .block:nth-of-type(2) .icon::before {
    top: 0;
    right: 0;
}
#advantage_hero .a_link > .block:nth-of-type(2) .icon > img {
    bottom: 42.4%;
    left: 42.4%;
    width: 1.51em;
    transform: translate(-50%, 50%);
}
#advantage_hero .a_link > .block:nth-of-type(3) .icon {
    top: -2px;
    right: -2px;
    border-top: 2px solid var(--c_blue);
    border-right: 2px solid var(--c_blue);
}
#advantage_hero .a_link > .block:nth-of-type(3) .icon::before {
    bottom: 0;
    left: 0;
}
#advantage_hero .a_link > .block:nth-of-type(3) .icon > img {
    top: 42.4%;
    right: 42.4%;
    width: 2.1em;
    transform: translate(50%, -50%);
}
#advantage_hero .a_link > .block:nth-of-type(4) .icon {
    top: -2px;
    left: -2px;
    border-top: 2px solid var(--c_blue);
    border-left: 2px solid var(--c_blue);
}
#advantage_hero .a_link > .block:nth-of-type(4) .icon::before {
    bottom: 0;
    right: 0;
}
#advantage_hero .a_link > .block:nth-of-type(4) .icon > img {
    top: 42.4%;
    left: 42.4%;
    width: 1.82em;
    transform: translate(-50%, -50%);
}
#advantage_hero .block .tit {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    font-size: 1.55em;
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1;
}
#advantage_hero .block .tit::after {
    content: '\f078';
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.2em;
    height: 2.2em;
    padding-top: .2em;
    margin-left: .7em;
    color: var(--c_blue);
    font-size: .5em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    background: #fff;
    border-radius: 50%;
    transition: all .3s ease;
}
#advantage_hero .block:hover .tit::after {
    color: #fff;
    background: var(--c_blue);
}
#advantage_hero .block .txt {
    width: 100%;
    margin-top: 1em;
    font-size: .47em;
}
.advantage_block {
    display: flex;
    justify-content: center;
    width: 100%;
    background: var(--c_gray);
}
.advantage_block:nth-of-type(even) {
    flex-direction: row-reverse;
    background: #fff;
}
.advantage_block .cont {
    position: relative;
    width: 59%;
    padding: var(--num150) 0 var(--num120);
    z-index: 1;
}
.advantage_block .cont::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    color: #fff;
    font-size: clamp(1.3rem, 7.64vw, 11rem);
    font-family: var(--roboto);
	font-weight: 500;
    line-height: .85;
    white-space: nowrap;
    z-index: 1;
}
.advantage_block:nth-of-type(even) .cont::before {
    left: auto;
    right: 0;
    color: var(--c_gray);
}
#advantage_productivity.advantage_block .cont::before {
    content: 'Productivity';
}
#advantage_technical_expertise.advantage_block .cont::before {
    content: 'Technical expertise';
}
#advantage_skilled_workforce.advantage_block .cont::before {
    content: 'Skilled workforce';
}
#advantage_management_skils.advantage_block .cont::before {
    content: 'Management skils';
}
.advantage_block .inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    max-width: 530px;
    width: 90%;
    margin: auto;
}
.advantage_block .tit {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin-bottom: .5em;
    color: var(--c_blue);
    font-size: clamp(1.3rem, 4.17vw, 6rem);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1;
}
.advantage_block .tit::after {
    content: '';
    display: block;
    margin-left: .5em;
    filter: brightness(0) saturate(100%) invert(16%) sepia(64%) saturate(3211%) hue-rotate(190deg) brightness(98%) contrast(102%);
}
#advantage_productivity.advantage_block .tit::after {
    width: .91em;
    height: .6em;
    margin-top: .2em;
    background: url("./img/icon_advantage_productivity.svg") center center/contain no-repeat;
}
#advantage_technical_expertise.advantage_block .tit::after {
    width: .75em;
    height: .75em;
    margin-top: .2em;
    background: url("./img/icon_advantage_technique.svg") center center/contain no-repeat;
}
#advantage_skilled_workforce.advantage_block .tit::after {
    width: 1.03em;
    height: .8em;
    margin-top: .2em;
    background: url("./img/icon_advantage_skill.svg") center center/contain no-repeat;
}
#advantage_management_skils.advantage_block .tit::after {
    width: .9em;
    height: .76em;
    margin-top: .2em;
    background: url("./img/icon_advantage_management.svg") center center/contain no-repeat;
}
.advantage_block .sub_tit {
    width: 100%;
    margin-bottom: .5em;
    color: #000;
    font-size: var(--fz29);
    font-weight: 700;
    line-height: 1.4;
}
.advantage_block .txt {
    margin-bottom: 2.5em;
    font-size: var(--fz14);
}
.advantage_li {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    font-size: var(--fz18);
    font-weight: 500;
    line-height: 1.5;
    list-style: none;
    row-gap: .7em;
}
.advantage_li > li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
}
.advantage_li > li::before {
    content: '';
    flex-shrink: 0;
    display: block;
    width: 5px;
    height: 1.5em;
    margin-top: -.1em;
    margin-right: .5em;
    background: var(--c_blue);
}
.advantage_block .img_wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 41%;
    row-gap: 5px;
}
.advantage_block .img_wrap > .img {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.advantage_block .img_wrap > .img > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
@media only screen and (max-width: 768px) {
	#advantage_hero {
		padding-top: var(--num150);
	}
    #advantage_hero .a_link > .block {
        width: 100%;
    }
    #advantage_hero .a_link > .block:last-of-type::after {
        display: none;
    }
    #advantage_hero .a_link > .block:nth-of-type(-n+4) .icon {
        top: 1em;
        right: 8%;
        bottom: auto;
        left: auto;
        width: auto;
        height: auto;
        border: none;
        transform: translateY(-12%);
    }
    #advantage_hero .a_link .icon::before {
        display: none;
    }
    #advantage_hero .a_link > .block:nth-of-type(-n+4) .icon > img {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        filter: inherit;
        transform: translate(0);
    }
    #advantage_hero .a_link > .block:hover .icon > img {
        filter: brightness(0) saturate(100%) invert(16%) sepia(64%) saturate(3211%) hue-rotate(190deg) brightness(98%) contrast(102%);
    }
    #advantage_hero .a_link > .block:nth-of-type(-n+4) {
        padding: 1em 8%;
    }
    #advantage_hero .block .tit {
        font-size: 1.15em;
    }
    #advantage_hero .head {
        margin: 1em auto;
        font-size: var(--fz16);
        text-align: left;
    }
    #advantage_hero .head br {
        display: none;
    }
	.advantage_block, .advantage_block:nth-of-type(even) {
		flex-direction: column;
	}
	.advantage_block .cont {
		width: 100%;
		padding-bottom: var(--num100);
	}
	.advantage_block .img_wrap {
		width: 100%;
	}
	.advantage_block .tit {
		font-size: var(--fz40);
	}
	.advantage_block .tit::after {
		margin-left: .3em;
	}
	.advantage_block .cont::before {
		font-size: var(--fz47);
	}
	.advantage_block .sub_tit {
		font-size: var(--fz20);
	}
	.advantage_block .txt {
		margin-bottom: 1.8em;
	}
	.advantage_li {
		font-size: var(--fz15);
	}
	.advantage_block .img_wrap > .img {
		height: auto;
		padding-top: 57%;
	}
}
/*//advantage*/

/*works-archive*/
.archive_works {
    width: 100%;
    padding: var(--num150) 0;
}
.works_li {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 1130px;
    width: 92%;
    margin: 0 auto var(--num100);
    column-gap: 5%;
    row-gap: var(--num80);
    list-style: none;
}
.works_li > li {
    width: 30%;
}
.works_li > li > a {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: 100%;
}
.works_li .img {
    flex-shrink: 0;
    position: relative;
    display: block;
    width: 100%;
    padding-top: 64%;
    overflow: hidden;
}
.works_li .img > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%) scale(1);
    transition: all .3s ease;
}
.works_li a:hover .img > img {
    transform: translate(-50%, -50%) scale(1.03);
}
.works_li .cont {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 2em;
    font-size: var(--fz14);
    background: var(--c_gray);
}
.works_li .tit {
    width: 100%;
    margin-bottom: .5em;
    font-size: 1.53em;
    font-weight: 700;
    line-height: 1.3;
}
.works_li .info_block {
    width: 100%;
	margin-bottom: 1.5em;
}
.works_li .info_dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
}
.works_li .info_dl > dt {
    flex-shrink: 0;
    width: 8em;
    padding-right: 1em;
}
.works_li .info_dl > dd {
    width: 100%;
}
.works_li .more {
    position: relative;
    width: 70%;
    padding: .7em 2em .7em 1.5em;
    margin-top: auto;
    color: #fff;
    font-size: var(--fz17);
    font-family: var(--roboto);
	font-weight: 500;
	letter-spacing: .05em;
    line-height: 1;
    text-align: center;
    background: var(--c_blue);
    border-radius: 9999px;
    transition: all .3s ease;
}
.works_li a:hover .more {
    color: var(--c_blue);
    background: #fff;
}
.works_li .more::after {
    content: '\f054';
    position: absolute;
    top: 50%;
    right: 1.5em;
    font-size: .7em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
}
div.wp-pagenavi {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 92%;
    margin: auto;
}
div.wp-pagenavi a, div.wp-pagenavi span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.5em;
    height: 1.5em;
    padding-top: .3em;
    color: var(--c_blue);
    font-size: var(--fz16);
    font-family: var(--roboto);
    line-height: 1;
    text-align: center;
    background: #fff;
    border: none;
    transition: all .3s ease;
}
div.wp-pagenavi a.nextpostslink, div.wp-pagenavi a.previouspostslink {
    width: 4em;
    height: 1.8em;
    padding-top: .2em;
    font-size: var(--fz14);
    border: 1px solid var(--c_blue);
}
div.wp-pagenavi a:hover {
    color: #fff;
    background: var(--c_blue);
}
div.wp-pagenavi span.current {
    color: #fff;
    font-weight: 400;
    background: var(--c_blue);
}
@media only screen and (max-width: 768px) {
    .works_li {
        column-gap: 3%;
    }
    .works_li > li {
        width: 48%;
    }
    .works_li .cont {
        padding: 2em 1.5em;
        font-size: var(--fz13);
    }
    .works_li .more {
        width: 100%;
    }
}
@media only screen and (max-width: 550px) {
    .works_li {
        row-gap: var(--num60);
    }
    .works_li > li {
        width: 100%;
    }
    .works_li .more {
        width: 70%;
    }
}
/*//works-archive*/

/*works-single*/
.single_works {
	width: 100%;
	padding-bottom: var(--num150);
}
#single_works_hero {
    width: 100%;
    padding: var(--num120) 0;
    background: var(--c_gray);
}
#single_works_hero .inner {
    max-width: 1135px;
    width: 92%;
    margin: auto;
}
#single_works_hero .wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: var(--num35);
}
#single_works_hero .img {
    position: relative;
    width: 57%;
    padding-top: 38%;
    overflow: hidden;
}
#single_works_hero .img > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
#single_works_hero .cont {
    width: 34%;
}
#single_works_hero .tit {
    margin-bottom: .5em;
    font-size: var(--fz30);
    font-weight: 700;
    line-height: 1.3;
}
#single_works_hero .info {
    display: block;
    width: 100%;
}
#single_works_hero .info_dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    font-size: var(--fz15);
}
#single_works_hero .info_dl > dt {
    flex-shrink: 0;
    width: 7.5em;
    padding: .4em 1em .3em;
    margin-right: 1em;
    background: #fff;
}
#single_works_hero .info_dl > dd {
    width: 100%;
    padding: .4em 0 .3em;
}
#single_works_hero .sub_img_li {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    column-gap: 1%;
    row-gap: 10px;
    list-style: none;
}
#single_works_hero .sub_img_li > li {
    width: 19.2%;
}
#single_works_hero .sub_img_li a {
    opacity: 1;
    position: relative;
    display: block;
    width: 100%;
    padding-top: 75%;
    transition: all .3s ease;
    overflow: hidden;
}
#single_works_hero .sub_img_li a:hover {
    opacity: .6;
}
#single_works_hero .sub_img_li a > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    z-index: 0;
}
#single_works_hero .sub_img_li a::after {
    content: '\f067';
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.8em;
    height: 1.8em;
    padding-top: .1em;
    color: #fff;
    font-size: .8em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    background: var(--c_blue);
}
#single_works_hero .inner .post_cont {
    width: 100%;
    margin-top: 2em;
    font-size: var(--fz13);
    line-height: 2;
}
.single_works_sec_wrap {
    width: 100%;
    padding-top: var(--num120);
    margin-bottom: var(--num120);
}
.single_works_sec {
    max-width: 1135px;
    width: 92%;
    margin: auto;
}
.single_works_sec + .single_works_sec {
    margin-top: var(--num100);
}
.single_works_sec .tit {
    width: 100%;
    margin-bottom: 1.5em;
    font-size: var(--fz30);
    font-family: var(--noto);
    font-weight: 800;
    text-align: center;
    line-height: 1.3;
}
.single_works_sec .block {
    width: 100%;
}
.single_works_sec .block + .block {
    margin-top: var(--num50);
}
.single_works_sec .block.c1 > .c {
    width: 100%;
}
.single_works_sec .block.c2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.single_works_sec .block.c2 > .c {
    width: 48%;
}
.single_works_sec .txt {
    font-size: var(--fz14);
}
.single_works_sec .img + .txt {
    margin-top: 1em;
}
.single_works_sec .img {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}
#single_works_voice {
    display: flex;
    justify-content: flex-start;
    max-width: 1135px;
    width: 92%;
    margin: 0 auto var(--num90);
    border: 2px solid var(--c_blue);
}
#single_works_voice .tit_block {
    position: relative;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 31%;
    font-size: var(--fz30);
    background: var(--c_blue);
    z-index: 1;
}
#single_works_voice .tit_block::before {
    content: '';
    position: absolute;
    top: 50%;
    left: calc(100% - 1px);
    display: block;
    width: 0;
    height: 0;
    font-size: var(--fz14);
    border-top: .8em solid transparent;
    border-right: none;
    border-bottom: .8em solid transparent;
    border-left: 1.5em solid var(--c_blue);
    transform: translateY(-50%);
}
#single_works_voice .tit_block .tit {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1;
}
#single_works_voice .tit_block .tit::before {
    content: '\f007';
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2em;
    height: 2em;
    margin-bottom: .6em;
    color: var(--c_blue);
    font-size: .75em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    background: #fff;
    border-radius: 50%;
}
#single_works_voice .tit_block .tit > span {
    display: block;
    margin-top: .6em;
    font-size: .53em;
    font-family: var(--roboto);
    font-weight: 500;
}
#single_works_voice .cont {
    position: relative;
    width: 100%;
    padding: 3em;
    font-size: var(--fz14);
    z-index: 0;
}
#single_works_voice .cont .name {
    margin-bottom: .7em;
    color: var(--c_blue);
    font-size: var(--fz19);
    font-weight: 500;
    line-height: 1.3;
}
.single_works .btn_blue {
    max-width: 250px;
    width: 100%;
    padding: .8em 4em .8em 3em;
    font-size: var(--fz17);
    font-weight: 500;
}
@media only screen and (max-width: 768px) {
    #single_works_hero .wrap {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    #single_works_hero .cont {
        width: 100%;
        margin-bottom: 1.5em;
    }
    #single_works_hero .tit {
        margin-bottom: .8em;
    }
    #single_works_hero .img {
        width: 100%;
        padding-top: 66%;
    }
    #single_works_hero .sub_img_li {
        row-gap: 8px;
    }
    #single_works_hero .sub_img_li > li {
        width: 32.6%;
    }
    #single_works_hero .inner .post_cont {
        margin-top: 1.5em;
        font-size: var(--fz14);
        line-height: 1.7;
    }
	.single_works_sec .tit {
        margin-bottom: 1em;
        font-size: var(--fz20);
    }
    .single_works_sec .block.c2 {
        flex-direction: column;
        justify-content: flex-start;
    }
    .single_works_sec .block.c2 > .c {
        width: 100%;
    }
	#single_works_voice {
        flex-direction: column;
    }
    #single_works_voice .tit_block {
        width: 100%;
        padding: 1.5em 0;
        font-size: var(--fz26);
    }
    #single_works_voice .tit_block::before {
        top: calc(100% - 1px);
        left: 50%;
        border-top: .8em solid var(--c_blue);
        border-right: 1em solid transparent;
        border-bottom: none;
        border-left: 1em solid transparent;
        transform: translate(-50%, 0);
    }
    #single_works_voice .cont {
        padding: 3em 2em;
    }
    #single_works_voice .cont .name {
        text-align: center;
    }
}
/*//works-single*/


/*company*/
#company_message {
    width: 100%;
    padding: var(--num150) 0;
    background: linear-gradient(120deg, var(--g_blue));
}
#company_message .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1024px;
    width: 92%;
    margin: auto;
}
#company_message .img {
    width: 36%;
}
#company_message .img > img {
    display: block;
    width: 100%;
}
#company_message .cont {
    width: 53%;
    color: #fff;
}
#company_message .tit {
    margin-bottom: 1em;
    font-size: var(--fz40);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1;
}
#company_message .tit > span {
    display: block;
    margin-bottom: .2em;
    font-size: .75em;
    font-family: var(--roboto);
    font-weight: 500;
}
#company_message .txt {
    margin-bottom: 3em;
    font-size: var(--fz14);
}
#company_message .name {
    width: 100%;
    font-size: var(--fz18);
    font-weight: 700;
    text-align: right;
}
#company_message .name > span {
    margin-right: 1em;
    font-size: .77em;
}
#company_philosophy {
    position: relative;
    width: 100%;
    padding: var(--num150) 0 var(--num120);
    background: url("./img/company_philosophy.webp") center center/cover no-repeat;
}
#company_philosophy::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5);
    z-index: 0;
}
#company_philosophy::after {
    content: 'Philosophy';
    position: absolute;
    top: 0;
    right: .05em;
    color: transparent;
    font-size: clamp(1.3rem, 7.64vw, 11rem);
    font-weight: 600;
    letter-spacing: -.05em;
    line-height: .95;
    -webkit-text-stroke: 2px #fff;
    text-stroke: 2px #fff;
}
#company_philosophy .tit {
    position: relative;
    max-width: 1135px;
    width: 92%;
    margin: 0 auto 1.5em;
    color: #fff;
    font-size: var(--fz35);
    font-family: var(--noto);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    z-index: 1;
}
.company_philosophy_li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1135px;
    width: 92%;
    margin: auto;
    list-style: none;
}
.company_philosophy_li > li {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(50% - 4px);
    padding: var(--num60) 2em var(--num50) var(--num120);
    margin-bottom: 8px;
    font-size: var(--fz14);
    background: rgba(255, 255, 255, .9);
}
.company_philosophy_li .num {
    position: absolute;
    top: 0;
    left: 0;
    color: var(--c_blue);
    font-size: clamp(1.3rem, 6.94vw, 10rem);
    font-family: var(--roboto);
	font-weight: 500;
    letter-spacing: -.05em;
    line-height: .75;
}
.company_philosophy_li .cont_tit {
    margin-bottom: .6em;
    font-size: 1.78em;
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1.3;
}
#company_overview {
    width: 100%;
    padding: var(--num120) 0 var(--num170);
    background: #fff;
}
#company_overview .wrap {
    display: flex;
    justify-content: space-between;
    width: 89%;
    margin-left: auto;
}
#company_overview .tit_block {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: auto;
    margin-right: var(--num120);
}
#company_overview .tit {
    margin-bottom: 1em;
    font-size: var(--fz35);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1;
}
#company_overview .tit > span {
    display: block;
    color: var(--c_blue);
    font-size: 2.85em;
    font-family: var(--roboto);
    font-weight: 500;
}
#company_overview .img {
    max-width: 310px;
    width: 100%;
    margin-top: auto;
}
#company_overview .img picture img {
    display: block;
    width: 100%;
}
#company_overview .cont {
    width: 100%;
}
#company_overview .overview_dl {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    font-size: var(--fz14);
}
#company_overview .overview_dl > dt {
    flex-shrink: 0;
    width: 10em;
    padding: 1em;
    color: #fff;
    text-align: center;
    background: var(--c_blue);
    border-bottom: 1px solid #fff;
}
#company_overview .overview_dl > dd {
    width: 100%;
    padding: 1em 2em;
    border-bottom: 1px solid var(--d_gray);
}
#company_overview .overview_dl > dd a {
	opacity: 1;
	text-decoration: underline;
	transition: all .3s ease;
}
#company_overview .overview_dl > dd a:hover {
	opacity: .6;
}
#company_overview .overview_dl:last-of-type > dt, #company_overview .overview_dl:last-of-type > dd {
    border-bottom: none;
}
#company_history {
    width: 100%;
    background: var(--c_gray);
}
#company_history .wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1440px;
    width: 100%;
    margin: auto;
}
#company_history .tit {
    flex-shrink: 0;
    width: auto;
    margin-top: -.05em;
    margin-right: 1em;
    color: var(--c_blue);
    font-size: clamp(1.3rem, 8.33vw, 12rem);
    font-family: var(--roboto);
	font-weight: 700;
    line-height: .7;
    writing-mode: tb-rl;
}
#company_history .cont {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: var(--num150) 0;
}
#company_history .inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    max-width: 1135px;
    width: 100%;
}
#company_history .year_block {
    flex-shrink: 0;
    width: auto;
    margin-right: var(--num120);
}
#company_history .cont_tit {
    margin-bottom: 3em;
    font-size: var(--fz40);
    font-family: var(--noto);
    font-weight: 800;
}
#company_history .year_li {
    width: 100%;
    list-style: none;
}
#company_history .year_li > li {
    width: 100%;
}
#company_history .year_li > li > a {
    position: relative;
    display: block;
    width: 8em;
    padding: .5em .6em;
    font-size: var(--fz20);
    font-family: var(--roboto);
    line-height: 1;
}
#company_history .year_li > li > a.active > span {
    color: var(--d_gray);
    font-size: 1em;
	font-weight: 700;
    transition: all .3s ease;
}
#company_history .year_li > li > a.active > span {
    color: var(--c_blue);
    font-size: 1.8em;
}
#company_history .year_li > li > a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 7px;
    height: 7px;
    background: #808080;
    border-radius: 50%;
    transform: translate(-60%, -50%);
    transition: all .3s ease;
    z-index: 1;
}
#company_history .year_li > li > a.active::before {
    width: 10px;
    height: 10px;
    background: var(--c_blue);
}
#company_history .year_li > li > a::after {
    content: '';
    position: absolute;
    top: 50%;
    left: -2px;
    display: block;
    width: 2px;
    height: 2.3em;
    background: #808080;
    z-index: 0;
}
#company_history .year_li > li:last-of-type > a::after {
    height: 1em;
}
#company_history .history_block {
    position: relative;
    width: 100%;
    height: 495px;
    padding-right: var(--num35);
    overflow-y: scroll;
    scrollbar-width: thin;
    scrollbar-color: var(--c_blue) var(--d_gray);
}
#company_history .history_block::-webkit-scrollbar {
    width: 4px;
}
#company_history .history_block::-webkit-scrollbar-thumb {
    background: var(--c_blue);
}
#company_history .history_block::-webkit-scrollbar-track {
    background: var(--d_gray);
}
#company_history .history_li {
    width: 100%;
}
#company_history .history_li > li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: 10px var(--num40);
    margin-bottom: 10px;
    color: #fff;
    background: var(--c_blue);
}
#company_history .history_li .company {
    width: 68%;
    padding: var(--num40) var(--fz25);
    border-right: 1px solid #fff;
}
#company_history .history_li .world {
    width: 32%;
    padding: 0 var(--num35);
}
#company_history .history_li .year_dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: var(--fz14);
}
#company_history .history_li .year_dl > dt {
    margin-right: 1em;
    font-family: var(--roboto);
}
#company_history .history_li .company .year_dl {
    margin-bottom: 1em;
}
#company_history .history_li .company .year_dl:last-of-type {
    margin-bottom: 0;
}
#company_history .history_li .company .year_dl > dt {
    flex-shrink: 0;
    width: auto;
    margin-right: .4em;
    font-size: 2.14em;
    line-height: .9;
}
#company_history .history_li .company .year_dl > dd {
    width: 100%;
}
#company_award {
    position: relative;
    width: 100%;
    padding: var(--num170) 0 var(--num150);
    background: #fff;
    overflow: hidden;
}
#company_award::before, #company_award::after {
    position: absolute;
    color: var(--c_gray);
    font-size: clamp(1.3rem, 8.33vw, 12rem);
    font-family: var(--roboto);
	font-weight: 700;
    line-height: .7;
}
#company_award::before {
    content: 'Certification';
    top: 0;
    left: 0;
}
#company_award::after {
    content: 'Award';
    bottom: 0;
    right: 0;
}
#company_award .inner {
    max-width: 1150px;
    width: 92%;
    margin: auto;
}
#company_award .tit {
    margin-bottom: .5em;
    font-size: var(--fz35);
    font-family: var(--noto);
    font-weight: 700;
}
.company_award_li {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(6, auto);
    font-size: var(--fz17);
    list-style: none;
}
.company_award_li > li {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding-bottom: .6em;
    margin-bottom: .6em;
    line-height: 1.5;
}
.company_award_li > li::before {
    content: '';
    display: block;
    width: 6px;
    height: 1.4em;
    margin-right: .8em;
    background: var(--c_blue);
}
.company_award_li > li::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100vw;
    height: 1px;
    background: var(--c_gray);
}
.company_award_li > li:nth-of-type(n+6)::after {
    display: none;
}
#company_sdgs {
    position: relative;
    width: 100%;
    padding: var(--num120) 0 var(--num150);
    background: url("./img/company_sdgs.webp") center center/cover no-repeat;
}
#company_sdgs::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, .7);
    z-index: 0;
}
#company_sdgs .inner {
    position: relative;
    max-width: 1024px;
    width: 92%;
    margin: auto;
    z-index: 1;
}
#company_sdgs .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: var(--num50);
}
#company_sdgs .cont {
    width: 58%;
}
#company_sdgs .sub_tit {
    margin-bottom: .5em;
    font-size: var(--fz35);
    font-family: var(--noto);
    font-weight: 900;
    line-height: 1;
}
#company_sdgs .tit {
    margin-bottom: .5em;
    font-size: clamp(1.3rem, 4.44vw, 6.4rem);
    font-family: var(--noto);
    font-weight: 900;
    line-height: 1;
}
#company_sdgs .tit > span {
    margin-right: .3em;
    color: #0098d8;
}
#company_sdgs .txt {
    font-size: var(--fz14);
}
#company_sdgs .img {
    width: 40%;
}
#company_sdgs .img pic img {
    display: block;
    width: 100%;
}
.company_sdgs_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}
.company_sdgs_dl {
    display: flex;
    justify-content: flex-start;
    width: calc(50% - 5px);
    padding: 1.5em 2em 1.5em .5em;
    margin-bottom: 10px;
    color: #fff;
    font-size: var(--fz16);
    line-height: 1.4;
    background: var(--c_blue);
}
.company_sdgs_dl > dt {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 6em;
    padding: .5em 0;
    font-size: var(--fz23);
	font-weight: 500;
    border-right: 1px solid #fff;
}
.company_sdgs_dl > dt > img {
    display: block;
    width: 1em;
    height: .9em;
    margin-bottom: .2em;
    font-size: var(--fz32);
    object-fit: contain;
}
.company_sdgs_dl > dd {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    padding-left: 1.5em;
}
.company_sdgs_dl .inner_dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    margin-bottom: .6em;
}
.company_sdgs_dl .inner_dl > dt {
    margin-right: 1em;
    white-space: nowrap;
}
.company_sdgs_dl:last-of-type .inner_dl {
    margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
    #company_message .wrap {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }
    #company_message .cont {
        display: contents;
        width: 100%;
    }
    #company_message .tit {
        order: 1;
        margin-bottom: .8em;
        font-size: var(--fz30);
        text-align: center;
    }
    #company_message .img {
        order: 2;
        max-width: 254px;
        width: 100%;
    }
    #company_message .txt {
        order: 3;
        margin-top: 1.5em;
        margin-bottom: 2em;
    }
    #company_message .name {
        order: 4;
        text-align: center;
    }
	#company_philosophy {
        padding-top: var(--num200);
        background: url("./img/company_philosophy_sp.webp") center center/cover no-repeat;
    }
    #company_philosophy::after {
        font-size: var(--fz55);
        -webkit-text-stroke: 1px #fff;
        text-stroke: 1px #fff;
    }
    #company_philosophy .tit {
        margin-bottom: 1em;
        font-size: var(--fz25);
    }
    .company_philosophy_li > li {
        width: 100%;
        padding: clamp(.9rem, 18.67vw, 7rem) 2em 2em 2em;
    }
    .company_philosophy_li .num {
        font-size: clamp(.9rem, 18.67vw, 7rem);
    }
    .company_philosophy_li .cont_tit {
        font-size: 1.42em;
    }
	#company_overview {
        padding: var(--num80) 0 var(--num120);
    }
    #company_overview .wrap {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        width: 92%;
        margin: auto;
    }
    #company_overview .tit_block {
        display: contents;
        width: 100%;
    }
    #company_overview .tit {
        order: 1;
        width: 100%;
        margin-bottom: 1.3em;
        font-size: var(--fz25);
    }
    #company_overview .tit > span {
        font-size: 2.4em;
    }
    #company_overview .cont {
        order: 2;
    }
    #company_overview .img {
        order: 3;
        max-width: 335px;
        width: 100%;
        margin: var(--num40) auto 0;
    }
    #company_overview .overview_dl {
        flex-direction: column;
        align-items: flex-start;
    }
    #company_overview .overview_dl > dt {
        width: 100%;
        padding: .3em 1em;
        text-align: left;
        border-bottom: none;
    }
    #company_overview .overview_dl > dd {
        padding: .5em 1em;
    }
	#company_history .wrap {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    #company_history .tit {
        margin: 0 0 0 auto;
        font-size: clamp(.9rem, 16vw, 6rem);
        line-height: .85;
        writing-mode: inherit;
    }
    #company_history .inner {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    #company_history .cont {
        width: 92%;
        padding: var(--num40) 0 var(--num100);
        margin: auto;
    }
    #company_history .cont_tit {
        margin-bottom: .8em;
        font-size: var(--fz25);
    }
    #company_history .year_li {
        display: flex;
        justify-content: flex-start;
        align-items: flex-end;
        margin-bottom: var(--num70);
    }
    #company_history .year_li > li {
        margin-right: .7em;
        font-size: var(--fz18);
    }
    #company_history .year_li > li > a {
        width: auto;
        padding: .3em 0;
        font-size: clamp(.9rem, 4.3vw, 1.8rem);
        white-space: nowrap;
    }
    #company_history .year_li > li > a.active > span {
        font-size: 1.4em;
    }
    #company_history .year_li > li > a::before {
        top: 100%;
        left: 50%;
        transform: translate(-50%, 0);
    }
    #company_history .year_li > li > a::after {
        top: calc(100% + 2px);
        left: 50%;
        width: 4em;
        height: 2px;
    }
    #company_history .year_li > li:last-of-type > a::after {
        width: 1.2em;
        height: 2px;
    }
    #company_history .year_li > li > a.active::before {
        transform: translate(-50%, -12%);
    }
    #company_history .history_li .company .year_dl > dt {
        font-size: 1.78em;
    }
    #company_history .history_li .world .year_dl > dt {
        width: 3.7em;
    }
    #company_history .history_li .company .year_dl > dd {
        line-height: 1.4;
    }
    #company_history .history_li > li {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        padding-bottom: 20px;
        margin-bottom: 7px;
    }
    #company_history .history_li .company {
        width: 100%;
        padding-right: 0;
        padding-left: 0;
        border-right: none;
    }
    #company_history .history_li > li:has(.world) .company {
        border-bottom: 1px solid #fff;
    }
    #company_history .history_li .world {
        width: 100%;
        padding-top: 1em;
        padding-right: 0;
        padding-left: 0;
    }
	.company_award_li {
        display: block;
        font-size: var(--fz14);
    }
    .company_award_li > li::before {
        margin-top: -.1em;
        width: 4px;
    }
    .company_award_li > li::after {
        height: 2px;
    }
    .company_award_li > li:nth-of-type(n+6)::after {
        display: block;
    }
    #company_award .tit {
        font-size: var(--fz25);
    }
    #company_award::before, #company_award::after {
        font-size: clamp(.9rem, 16vw, 6rem);
    }
	#company_sdgs {
        background: url("./img/company_sdgs_sp.webp") center center/cover no-repeat;
    }
    #company_sdgs .wrap {
        flex-direction: column;
        justify-content: flex-start;
    }
    #company_sdgs .cont {
        width: 100%;
    }
    #company_sdgs .img {
        max-width: 350px;
        width: 92%;
        margin: auto;
    }
    #company_sdgs .sub_tit {
        margin-bottom: .3em;
        font-size: var(--fz20);
    }
    #company_sdgs .tit {
        font-size: var(--fz36);
    }
    #company_sdgs .txt {
        margin-bottom: 2em;
    }
    .company_sdgs_dl {
        width: 100%;
        padding: 1em 2em 1em .5em;
        font-size: var(--fz15);
    }
    .company_sdgs_dl > dt {
        font-size: var(--fz17);
    }
    .company_sdgs_dl > dt > img {
        font-size: var(--fz28);
    }
    .company_sdgs_dl > dd {
        padding-top: 1em;
        padding-bottom: 1em;
    }
}
/*//company*/

/*recruit*/
#recruit_hero {
    width: 100%;
    padding: var(--num100) 0;
    background: linear-gradient(120deg, var(--g_blue));
}
#recruit_hero .wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    max-width: 1185px;
    width: 92%;
    margin: auto;
}
#recruit_hero .img {
    width: 49%;
}
#recruit_hero .img > img {
    display: block;
    width: 100%;
}
#recruit_hero .cont {
    width: 42%;
    color: #fff;
}
#recruit_hero .tit {
    margin-bottom: .5em;
    font-size: var(--fz45);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1.2;
}
#recruit_hero .txt {
    font-size: var(--fz14);
}
#recruit_message {
    position: relative;
    width: 100%;
    padding: var(--num170) 0 var(--num100);
}
#recruit_message::before {
    content: 'Message';
    position: absolute;
    top: 0;
    left: -.05em;
    display: block;
    color: var(--c_blue);
    font-size: clamp(1.3rem, 8.33vw, 12rem);
    font-family: var(--roboto);
	font-weight: 700;
    line-height: .75;
    z-index: 0;
}
#recruit_message .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1120px;
    width: 92%;
    margin: auto;
}
#recruit_message .img {
    position: relative;
    width: 31%;
}
#recruit_message .img > img {
    display: block;
    width: 100%;
}
#recruit_message .name {
    position: absolute;
    top: calc(100% + 1em);
    left: 0;
    width: 100%;
    font-size: var(--fz17);
    text-align: center;
}
#recruit_message .name > small {
    margin-right: 1em;
    font-size: .82em;
}
#recruit_message .cont {
    width: 61%;
}
#recruit_message .tit {
    margin-bottom: 1em;
    color: var(--c_blue);
    font-size: var(--fz33);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1.2;
}
#recruit_message {
    font-size: var(--fz14);
}
#recruit_about {
    position: relative;
    width: 100%;
    padding: clamp(59px, 9.03vw, 130px) 0 var(--num150);
    background: var(--c_gray);
}
#recruit_about::before {
    content: 'About job';
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    font-size: clamp(1.3rem, 8.33vw, 12rem);
    font-family: var(--roboto);
	font-weight: 700;
    line-height: .75;
}
#recruit_about .wrap {
    max-width: 1120px;
    width: 92%;
    margin: auto;
}
#recruit_about .tit {
    width: 100%;
    margin-bottom: 1.5em;
    font-size: var(--fz45);
    font-family: var(--noto);
    font-weight: 800;
    text-align: center;
}
.recruit_about_li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    list-style: none;
}
.recruit_about_li > li {
    width: 30%;
}
.recruit_about_li .img {
    position: relative;
    width: 100%;
    padding-top: 68%;
    overflow: hidden;
}
.recruit_about_li .img > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
.recruit_about_li .item_tit {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin: .7em 0;
    font-size: var(--fz21);
    font-family: var(--noto);
    font-weight: 700;
    line-height: 1.2;
}
.recruit_about_li .item_tit::before {
    content: '';
    display: block;
    width: 7px;
    height: 1.2em;
    margin-top: .1em;
    margin-right: .5em;
    background: var(--c_blue);
}
.recruit_about_li .txt {
    font-size: var(--fz14);
}
#recruit_whatwedo {
    position: relative;
    width: 100%;
    padding: var(--num150) 0;
	overflow: hidden;
}
#recruit_whatwedo::before {
    content: 'What we do';
    position: absolute;
    top: 0;
    right: -.04em;
    color: var(--c_blue);
    font-size: clamp(1.3rem, 8.33vw, 12rem);
    font-family: var(--roboto);
	font-weight: 700;
    line-height: .8;
}
#recruit_whatwedo .inner {
    max-width: 1120px;
    width: 92%;
    margin: auto;
}
#recruit_whatwedo .tit {
    margin-bottom: 1em;
    font-size: var(--fz45);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1.2;
}
#recruit_whatwedo .wrap1 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
#recruit_whatwedo .wrap1 .cont {
    width: 46%;
}
#recruit_whatwedo .wrap1_tit {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: .8em;
    color: var(--c_blue);
    font-size: var(--fz30);
	font-weight: 700;
    line-height: 1;
}
#recruit_whatwedo .wrap1_tit::before {
    content: '';
    display: block;
    width: 7px;
    height: 1.2em;
    margin-top: -.2em;
    margin-right: .5em;
    background: var(--c_blue);
}
#recruit_whatwedo .wrap1 .txt {
    font-size: var(--fz14);
}
#recruit_whatwedo .wrap1 .img {
    position: relative;
    width: 50%;
    padding-top: 37%;
    overflow: hidden;
}
#recruit_whatwedo .wrap1 .img > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
#recruit_whatwedo .wrap2 {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    padding: var(--num80) 8% var(--num100);
    background: var(--c_blue);
}
#recruit_whatwedo .wrap2::before {
    content: 'PR movie';
    position: absolute;
    bottom: -.02em;
    left: -.06em;
    color: #fff;
    font-size: clamp(1.3rem, 8.33vw, 12rem);
    font-family: var(--roboto);
	font-weight: 700;
    line-height: .7;
    z-index: 1;
}
#recruit_whatwedo .wrap2 .video {
    position: relative;
    width: 50%;
    padding-top: 32%;
    overflow: hidden;
    z-index: 0;
}
#recruit_whatwedo .wrap2 .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
}
#recruit_whatwedo .wrap2 .cont {
    width: 41%;
    color: #fff;
}
#recruit_whatwedo .wrap2_tit {
    margin-bottom: .6em;
    font-size: var(--fz35);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1.3;
}
#recruit_whatwedo .wrap2_tit > span {
    display: block;
    font-size: .51em;
}
#recruit_whatwedo .wrap2 .txt {
    font-size: var(--fz14);
}
#recruit_strength {
    position: relative;
    width: 100%;
    padding: clamp(1.3rem, 9.38vw, 13.5rem) 0;
    background: url("./img/recruit_strength.webp") center center/cover no-repeat;
}
#recruit_strength::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .7);
    z-index: 0;
}
#recruit_strength .inner {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1120px;
    width: 92%;
    margin: auto;
    row-gap: 10px;
    z-index: 1;
}
#recruit_strength .tit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 26%;
    color: #fff;
    font-size: var(--fz40);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1;
    text-align: center;
    background: var(--c_blue);
}
#recruit_strength .en {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    width: 26%;
    color: #fff;
    font-size: var(--fz51);
    font-family: var(--roboto);
	font-weight: 700;
    text-align: right;
    background: var(--c_blue);
    line-height: 1;
}
#recruit_strength .tit > span {
    font-size: .65em;
}
#recruit_strength .block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 36%;
    padding: var(--num35) 3%;
    font-size: var(--fz14);
    background: #fff;
}
#recruit_strength .block .icon {
    display: block;
    width: 7.28em;
    height: 5.64em;
    object-fit: contain;
}
#recruit_strength .block_tit {
    width: 100%;
    margin-top: .8em;
    margin-bottom: .6em;
    font-size: 1.57em;
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
}
#recruit_staff {
    position: relative;
    padding: var(--num170) 0 var(--num190);
    width: 100%;
    background: var(--c_gray);
}
#recruit_staff::before {
    content: 'Staff voice';
    position: absolute;
    top: 0;
    left: 0;
    color: var(--c_blue);
    font-size: clamp(1.3rem, 8.33vw, 12rem);
    font-family: var(--roboto);
	font-weight: 700;
    line-height: .8;
}
#recruit_staff .wrap {
    max-width: 1097px;
    width: 92%;
    margin: auto;
}
#recruit_staff .tit {
    width: 100%;
    margin-bottom: 1em;
    font-size: var(--fz45);
    font-family: var(--noto);
    font-weight: 800;
    text-align: center;
}
.recruit_staff_wrap {
    width: 100%;
}
.recruit_staff_wrap .block {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    margin-bottom: var(--num70);
}
.recruit_staff_wrap .block:nth-of-type(even) {
    flex-direction: row-reverse;
}
.recruit_staff_wrap .img {
    position: relative;
    width: 30%;
    padding-top: 35%;
    margin-bottom: var(--num70);
    overflow: hidden;
    z-index: 1;
}
.recruit_staff_wrap .img > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
.recruit_staff_wrap .cont {
    position: relative;
    width: 70%;
    padding: var(--num50) 5%;
    z-index: 0;
}
.recruit_staff_wrap .cont::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 120%;
    height: 100%;
    background: #fff;
    z-index: 0;
}
.recruit_staff_wrap .block:nth-of-type(even) .cont::before {
    right: auto;
    left: 0;
}
.recruit_staff_wrap .cont .inner {
    position: relative;
    z-index: 1;
}
.recruit_staff_wrap .name_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: .4em 1em;
    margin-bottom: .8em;
    color: #fff;
    font-size: var(--fz24);
    font-weight: 700;
    line-height: 1;
    background: var(--c_blue);
}
.recruit_staff_wrap .name_wrap .name {
    display: block;
    width: 100%;
    padding: .3em 0 .1em;
    border-right: 1px solid #fff;
}
.recruit_staff_wrap .name_wrap .name small {
    margin-left: .3em;
    font-size: .79em;
}
.recruit_staff_wrap .name_wrap .dept {
    flex-shrink: 0;
    display: block;
    width: auto;
    padding-left: 1em;
    margin-top: .1em;
    font-size: .66em;
    white-space: nowrap;
}
.recruit_staff_wrap .name_wrap .dept br {
    display: none;
}
.recruit_staff_wrap .info {
    width: 100%;
}
.recruit_staff_wrap .info_dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    margin-bottom: .5em;
    font-size: var(--fz14);
}
.recruit_staff_wrap .info_dl > dt {
    flex-shrink: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 7em;
    padding-right: 1em;
}
.recruit_staff_wrap .info_dl > dt::before {
    content: '';
    display: block;
    width: 5px;
    height: 1.3em;
    margin-top: .1em;
    margin-right: .5em;
    background: var(--c_blue);
}
.recruit_staff_wrap .info_dl > dd {
    width: 100%;
}
.recruit_staff_wrap .comment {
    position: relative;
    width: 100%;
    padding: 2em;
    margin-top: 1.3em;
    font-size: var(--fz14);
    background: var(--c_gray);
}
.recruit_staff_wrap .comment > .bubble {
    position: absolute;
    bottom: 100%;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 18em;
    height: 7em;
    padding-bottom: .7em;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    background: url("./img/figure_bubble.png") center center/contain no-repeat;
    transform: translate(13%, 15%);
}
.recruit_staff_wrap .comment > .bubble br.sp {
    display: none;
}
#recruit_description {
    position: relative;
    width: 100%;
    padding: var(--num190) 0 var(--num150);
    background: linear-gradient(120deg, var(--g_blue));
}
#recruit_description::before {
    content: 'Job description';
    position: absolute;
    top: 0;
    right: 0;
    color: #fff;
    font-size: clamp(1.3rem, 8.33vw, 12rem);
    font-family: var(--roboto);
	font-weight: 700;
    line-height: .75;
}
#recruit_description .tit {
    width: 100%;
    margin-bottom: 1em;
    color: #fff;
    font-size: var(--fz45);
    font-family: var(--noto);
    font-weight: 800;
    text-align: center;
}
#recruit_description .wrap {
    max-width: 995px;
    width: 92%;
    margin: auto;
}
#tabs .panel.add {
    display: none;
}
#tabs .panel.add.show {
    display: block;
}
.tab_wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    list-style: none;
}
.tab_wrap > .tab {
    width: 50%;
    padding: 1em;
    color: #808080;
    font-size: var(--fz20);
    font-weight: 700;
    text-align: center;
    background: var(--c_gray);
    cursor: pointer;
}
.tab_wrap > .tab.active {
    color: var(--c_blue);
    background: #fff;
    cursor: inherit;
}
#tabs .panel {
    padding: var(--num50) 0 var(--num135);
    background: #fff;
}
#tabs .panel .info {
    max-width: 756px;
    width: 92%;
    margin: auto;
}
#tabs .panel .info_dl {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    font-size: var(--fz14);
}
#tabs .panel .info_dl > dt {
    flex-shrink: 0;
    width: 10em;
    padding: 1.2em .8em;
    font-weight: 700;
    text-align: center;
    background: var(--c_gray);
    border-bottom: 1px solid #fff;
}
#tabs .panel .info_dl > dd {
    width: 100%;
    padding: 1.2em 1em 1.2em 2.5em;
    background: #fff;
    border-bottom: 1px solid var(--c_gray);
}
#tabs .panel .info_dl:last-of-type > dy, #tabs .panel .info_dl:last-of-type > dd {
    border-bottom: none;
}
#tabs .panel .inner_li {
    padding-left: 1.3em;
}
#recruit_programs {
    display: flex;
    justify-content: center;
    width: 100%;
}
#recruit_programs .cont {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60%;
    padding: var(--num50) 0;
    background: var(--c_gray);
}
#recruit_programs .cont .inner {
    max-width: 555px;
    width: 92%;
    margin: auto;
}
#recruit_programs .tit {
    margin-bottom: 1em;
    font-size: var(--fz45);
    font-family: var(--noto);
    font-weight: 800;
    line-height: 1.2;
}
#recruit_programs .tit > span {
    display: block;
    color: var(--c_blue);
    font-size: .66em;
    font-family: var(--roboto);
    font-weight: 500;
}
#recruit_programs .cont .inner > .txt {
    margin-bottom: 1em;
    font-size: var(--fz14);
}
#recruit_programs .block_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    row-gap: 10px;
}
#recruit_programs .block {
    width: calc(50% - 5px);
    padding: 2em;
    color: #fff;
    font-size: var(--fz14);
    background: var(--c_blue);
}
#recruit_programs .block_tit {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: .5em;
    font-size: 1.6em;
    font-weight: 700;
    line-height: 1;
}
#recruit_programs .block_tit::before {
    content: '';
    display: block;
    width: 7px;
    height: 1em;
    margin-top: -.1em;
    margin-right: .3em;
    background: #fff;
}
#recruit_programs .block .txt {
    padding-left: 1em;
}
#recruit_programs .block .inner_li {
    padding-left: 2em;
}
#recruit_programs .img_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 40%;
}
#recruit_programs .img_wrap > .img {
    position: relative;
    width: calc(50% - 5px);
    padding-top: 38%;
    margin-top: 10px;
    overflow: hidden;
}
#recruit_programs .img_wrap > .img > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
#recruit_programs .img_wrap > .img.c1 {
    width: 100%;
    padding-top: 66%;
    margin-top: 0;
}
#recruit_flow {
    width: 100%;
    padding: var(--num120) 0 var(--num170);
}
#recruit_flow .inner {
    max-width: 1120px;
    width: 92%;
    margin: auto;
}
#recruit_flow .tit {
    width: 100%;
    margin-bottom: 3em;
    font-size: var(--fz45);
    font-family: var(--noto);
    font-weight: 800;
    text-align: center;
}
#recruit_flow .flow_wrap {
    position: relative;
    width: 100%;
    padding: var(--num80) 0 var(--num150);
}
#recruit_flow .flow_wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 115%;
    background: var(--c_gray);
    z-index: 0;
}
#recruit_flow .flow_wrap::after {
    content: 'Recruitment prosess';
    position: absolute;
    bottom: 100%;
    width: 100%;
    color: var(--c_gray);
    font-size: clamp(1.3rem, 8.33vw, 12rem);
    font-family: var(--roboto);
	font-weight: 500;
    line-height: .7;
    text-align: center;
}
.recruit_flow_li {
    position: relative;
    max-width: 735px;
    width: 92%;
    margin: auto;
    z-index: 1;
}
.recruit_flow_li > li {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 2em 3em;
    margin-bottom: 2em;
    font-size: var(--fz14);
    background: #fff;
}
.recruit_flow_li > li:last-of-type {
    margin-bottom: 4.28em;
}
.recruit_flow_li > li::after {
    content: '';
    position: absolute;
    top: calc(100% + .5em);
    left: 50%;
    display: block;
    width: 0;
    height: 0;
    border-top: 1em solid var(--c_blue);
    border-right: 1em solid transparent;
    border-bottom: none;
    border-left: 1em solid transparent;
    transform: translateX(-50%);
}
.recruit_flow_li > li:last-of-type::after {
    display: none;
}
.recruit_flow_li .num {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-right: .8em;
    color: var(--c_blue);
    font-size: 3.28em;
    font-family: var(--roboto);
	font-weight: 700;
    line-height: 1;
}
.recruit_flow_li .num > span {
    margin-bottom: .1em;
    font-size: .54em;
}
.recruit_flow_li .cont {
    width: 100%;
    margin-right: 1em;
}
.recruit_flow_li .item_tit {
    font-size: 1.64em;
    font-weight: 700;
    line-height: 1.3;
}
.recruit_flow_li .cont .txt {
    line-height: 1.4;
}
.recruit_flow_li .icon {
    flex-shrink: 0;
    width: 8.57em;
}
.recruit_flow_li .icon > img {
    display: block;
    width: 100%;
}
#recruit_flow .btn_g_blue, #recruit_description .btn_g_blue {
    width: 12em;
    padding: .8em 1em;
    color: #fff;
    font-size: var(--fz33);
    font-family: var(--roboto);
	letter-spacing: .05em;
    line-height: 1.2;
    text-align: center;
    border-radius: 9999px;
}
#recruit_flow .btn_g_blue small, #recruit_description .btn_g_blue small {
    display: block;
    font-size: .45em;
    font-family: var(--gothic);
	letter-spacing: 0;
}
#recruit_flow .btn_g_blue::after, #recruit_description .btn_g_blue::after {
    content: '\f054';
    position: absolute;
    top: 50%;
    right: 2em;
    font-size: .6em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transform: translateY(-50%);
}
#recruit_description .btn_g_blue {
	margin-top: var(--num60);
	color: var(--c_blue);
	background: #fff;
	border: 2px solid #fff;
	transition: all .3s ease;
}
#recruit_description .btn_g_blue::before {
	display: none;
}
#recruit_description .btn_g_blue:hover {
	color: #fff;
	background: var(--c_blue);
}
#recruit_flow .contact {
    position: relative;
    display: flex;
    justify-content: center;
    max-width: 945px;
    width: 92%;
    padding: var(--num35) 0;
    margin: auto;
    background: #fff;
    border: 10px solid var(--c_blue);
    z-index: 1;
}
#recruit_flow .contact .cont {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 42%;
}
#recruit_flow .contact .tac_tit {
    max-width: 237px;
    width: 92%;
    margin: 0 auto .5em;
    font-size: var(--fz27);
    font-family: var(--noto);
    font-weight: 800;
}
#recruit_flow .contact .cont .txt {
    max-width: 237px;
    width: 92%;
    margin: 0 auto;
    font-size: var(--fz14);
}
#recruit_flow .contact .num_block {
    width: 58%;
    padding-left: var(--num70);
    border-left: 2px solid var(--c_blue);
}
#recruit_flow .contact .num_block .txt {
    width: 96%;
	margin: 1em auto 1.5em;
    font-size: var(--fz16);
    font-weight: 700;
}
#recruit_flow .contact .num_wrap {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 96%;
    margin-bottom: .5em;
    color: var(--c_blue);
    font-size: var(--fz38);
    font-family: var(--roboto);
	font-weight: 500;
    line-height: 1;
}
#recruit_flow .contact .num_wrap a {
    color: var(--c_blue);
}
#recruit_flow .contact .num_wrap .time {
    font-size: .44em;
    font-weight: 700;
}
#recruit_flow .contact .num_wrap.mail .time {
	margin-top: .7em;
}
#recruit_flow .contact .num_wrap.phone::before, #recruit_flow .contact .num_wrap.mail::before {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.2em;
    height: 2.2em;
    margin-right: .5em;
    color: #fff;
    font-size: .5em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    background: var(--c_blue);
    border-radius: 50%;
}
#recruit_flow .contact .num_wrap.phone::before {
    content: '\f095';
}
#recruit_flow .contact .num_wrap.mail::before {
    content: '\f0e0';
}
@media only screen and (max-width: 768px) {
	#recruit_hero {
		padding-top: var(--num150);
	}
    #recruit_hero .wrap {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    #recruit_hero .img {
        width: 100%;
    }
    #recruit_hero .cont {
        width: 100%;
    }
    #recruit_hero .tit {
        font-size: var(--fz33);
    }
    #recruit_hero .txt {
        margin-bottom: 1.5em;
    }
	#recruit_message::before {
        font-size: clamp(.9rem, 16vw, 6rem);
    }
    #recruit_message .wrap {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }
    #recruit_message .img {
        display: contents;
        width: 100%;
    }
    #recruit_message .img > img {
        order: 1;
        max-width: 350px;
        width: 74%;
        margin: auto;
    }
    #recruit_message .cont {
        order: 2;
        width: 100%;
    }
    #recruit_message .tit {
        width: 98%;
        margin: 1.5em auto 1em;
        font-size: var(--fz20);
    }
    #recruit_message .name {
        position: relative;
        top: auto;
        left: auto;
        order: 3;
        margin-top: 1em;
        text-align: right;
    }
	#recruit_about::before {
        font-size: clamp(.9rem, 16vw, 6rem);
    }
    #recruit_about .tit {
        margin-bottom: .5em;
        font-size: var(--fz30);
    }
    #recruit_about .wrap {
        width: 100%;
    }
    .swiper-container.recruit_about_slide {
        width: 92%;
        margin-right: 0;
        margin-left: auto;
    }
    .recruit_about_li {
        flex-direction: column;
        max-width: 350px;
        width: 92%;
        margin: auto;
    }
    .recruit_about_li > li {
        width: 100%;
        margin-bottom: var(--num70);
    }
    .recruit_about_li .item_tit {
        font-size: var(--fz19);
    }
    .recruit_about_li.swiper-wrapper {
        flex-direction: row;
    }
    .recruit_about_li.swiper-wrapper > li.swiper-slide {
        max-width: 270px;
        width: 90%;
    }
	#recruit_whatwedo::before, #recruit_whatwedo .wrap2::before, #recruit_staff::before {
        font-size: clamp(.9rem, 16vw, 6rem);
    }
    #recruit_whatwedo .tit {
        font-size: var(--fz30);
    }
    #recruit_whatwedo .wrap1_tit {
        font-size: var(--fz21);
    }
    #recruit_whatwedo .wrap1 {
        flex-direction: column;
        justify-content: flex-start;
    }
    #recruit_whatwedo .wrap1 .cont {
        width: 100%;
    }
    #recruit_whatwedo .wrap1 .txt {
        margin-bottom: 1.5em;
    }
    #recruit_whatwedo .wrap1 .img {
        width: 100%;
        padding-top: 74%;
    }
    #recruit_whatwedo .wrap2 {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        padding: var(--num50) 8%;
    }
    #recruit_whatwedo .wrap2 .cont {
        width: 100%;
    }
    #recruit_whatwedo .wrap2 .video {
        width: 100%;
        padding-top: 64%;
    }
    #recruit_whatwedo .wrap2 .txt {
        margin-bottom: 1.5em;
    }
    #recruit_whatwedo .wrap2_tit {
        font-size: var(--fz26);
    }
	#recruit_strength {
        padding: var(--num100) 0;
        background: url("./img/recruit_strength_sp.webp") center center/cover no-repeat;
    }
    #recruit_strength .inner {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
    }
    #recruit_strength .tit {
        width: 92%;
        padding: 1em;
        font-size: var(--fz30);
    }
    #recruit_strength .block {
        width: 92%;
        padding: var(--num60) 5%;
    }
    #recruit_strength .block_tit {
        margin-top: .5em;
        margin-bottom: .5em;
    }
    #recruit_strength .en {
        display: none;
    }
    #recruit_strength .swiper-container.recruit_strength_slide {
        width: 96%;
        margin-left: auto;
        margin-right: 0;
    }
    #recruit_strength .swiper-container.recruit_strength_slide .block.swiper-slide {
        max-width: 284px;
        width: 76%;
    }
	#recruit_staff .tit {
        font-size: var(--fz30);
    }
    .recruit_staff_wrap .block, .recruit_staff_wrap .block:nth-of-type(even) {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: var(--num200);
    }
    .recruit_staff_wrap .img {
        width: 60%;
        padding-top: 70%;
        margin-bottom: 0;
    }
    .recruit_staff_wrap .cont {
        width: 100%;
        padding-right: 0;
        padding-left: 6%;
    }
    .recruit_staff_wrap .cont::before {
        width: 100%;
        height: 120%;
    }
    .recruit_staff_wrap .name_wrap {
        font-size: var(--fz18);
    }
    .recruit_staff_wrap .name_wrap .name {
        padding: .5em 0 .3em;
    }
    .recruit_staff_wrap .name_wrap .dept {
        line-height: 1.4;
    }
    .recruit_staff_wrap .name_wrap .dept br {
        display: block;
    }
    .recruit_staff_wrap .comment {
        width: 93%;
    }
    .recruit_staff_wrap .comment > .bubble {
        bottom: auto;
        top: 100%;
        right: auto;
        left: 0;
        width: 12em;
        height: 8em;
        padding-bottom: 0;
        padding-top: .7em;
        background: url("./img/figure_bubble_sp.png") center center/contain no-repeat;
        transform: translate(-15%, -15%);
    }
    .recruit_staff_wrap .comment > .bubble br.sp {
        display: block;
    }
	#recruit_description .tit {
        margin-bottom: .7em;
        font-size: var(--fz30);
    }
    .tab_wrap > .tab {
        font-size: var(--fz17);
    }
    #tabs .panel .info_dl {
        flex-direction: column;
        justify-content: flex-start;
        align-content: flex-start;
    }
    #tabs .panel .info_dl > dt {
        width: 100%;
    }
    #tabs .panel .info_dl > dt {
        width: 100%;
        padding: .5em 1.2em;
        font-weight: 500;
        text-align: left;
        border-bottom: none;
    }
    #tabs .panel .info_dl > dd {
        padding: .8em 1.2em 1em;
        border-bottom: none;
    }
	#recruit_description::before {
		right: auto;
		left: 0;
		font-size: clamp(.9rem, 13vw, 6rem);
	}
	#recruit_description {
		padding-top: var(--num170);
	}
	#recruit_programs {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        background: var(--c_gray);
    }
    #recruit_programs .cont {
        width: 100%;
        padding: var(--num150) 0 var(--num80);
    }
    #recruit_programs .img_wrap {
        width: 92%;
        margin: auto;
    }
    #recruit_programs .img_wrap > .img {
        width: calc(50% - 2px);
        margin-top: 4px;
    }
    #recruit_programs .tit {
        margin-bottom: .8em;
        font-size: var(--fz30);
    }
    #recruit_programs .block {
        width: 100%;
        padding: 1.5em;
    }
    #recruit_programs .block_tit {
        font-size: 1.28em;
    }
    #recruit_programs .cont .inner {
        width: 100%;
    }
    #recruit_programs .tit, #recruit_programs .cont .inner > .txt {
        width: 92%;
        margin-right: auto;
        margin-left: auto;
    }
    .swiper-container.recruit_programs_slide {
        width: 96%;
        margin-left: auto;
        margin-right: 0;
    }
    #recruit_programs .block_wrap.swiper-wrapper {
        flex-wrap: nowrap;
    }
    #recruit_programs .swiper-container.recruit_programs_slide .block.swiper-slide {
        max-width: 254px;
        width: 75%;
        height: auto;
    }
	#recruit_flow .inner {
        width: 100%;
    }
    #recruit_flow .tit {
        margin-bottom: 2em;
        font-size: var(--fz30);
    }
    .recruit_flow_li > li {
        padding: 1.5em;
    }
    .recruit_flow_li .num {
        margin-right: .3em;
        font-size: 2.57em;
    }
    .recruit_flow_li .item_tit {
        font-size: 1.28em;
    }
    .recruit_flow_li .icon {
        width: 4.85em;
    }
    #recruit_flow .btn_g_blue, #recruit_description .btn_g_blue {
        width: 84%;
        padding: .6em 1em .5em;
        font-size: var(--fz27);
    }
    .recruit_flow_li > li:last-of-type {
        margin-bottom: 2.5em;
    }
    #recruit_flow .contact {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        padding-top: var(--num50);
    }
    #recruit_flow .contact .cont {
        width: 92%;
    }
    #recruit_flow .contact .num_block {
        max-width: 92%;
		width: auto;
        padding-left: 0;
        border-left: none;
        border-top: 2px solid var(--c_blue);
    }
    #recruit_flow .contact .tac_tit {
        font-size: var(--fz20);
        text-align: center;
    }
    #recruit_flow .contact .cont .txt {
        margin-bottom: 1em;
    }
    #recruit_flow .contact .num_block .txt {
		margin-top: 1.5em;
		margin-bottom: 1em;
        font-size: var(--fz14);
        text-align: center;
    }
	#recruit_flow .contact .num_wrap {
        font-size: var(--fz30);
	}
	#recruit_flow .contact .num_wrap.mail .num {
		font-size: var(--fz28);
		white-space: nowrap;
	}
    #recruit_flow .contact .num_wrap .time {
        margin-top: .2em;
    }
	#recruit_flow .flow_wrap::before {
		height: 123%;
	}
	#recruit_flow .flow_wrap::after {
		font-size: clamp(1.3rem, 10.7vw, 12rem);
	}
}
/*//recruit*/

/*form*/
#form_contact {
    max-width: 800px;
    width: 92%;
    padding: var(--num120) 0 var(--num170);
    margin: auto;
}
#form_contact .txt {
    width: 100%;
    margin-bottom: 3em;
    font-size: var(--fz17);
    text-align: center;
}
#form_contact .form_block dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
	margin-bottom: var(--num35);
}
#form_contact .form_block dl > dt {
	position: relative;
    flex-shrink: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 12em;
    padding: .6em 0 .5em 1.2em;
    margin-right: 1.5em;
    font-size: var(--fz16);
    line-height: 1.4;
    font-weight: 500;
}
#form_contact .form_block dl > dt > span {
    display: inline-block;
    padding: .2em .5em .1em;
    color: #fff;
    font-size: .63em;
    margin-top: .22em;
    margin-left: 1em;
    background: #ff0000;
    border-radius: .3em;
}
#form_contact .form_block dl > dt::before {
    content: '';
	position: absolute;
	top: 0;
	left: 0;
    display: block;
    width: 3px;
    height: 2.5em;
    background: var(--c_blue);
}
#form_contact .form_block dl > dd {
	width: 100%;
	font-size: var(--fz16);
}
#form_contact .form_block label {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
#form_contact .form_block .wpcf7-form-control-wrap {
	width: 100%;
}
#form_contact .form_block .wpcf7-list-item {
	margin-left: 0;
}
#form_contact .form_block span.wpcf7-form-control.wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    column-gap: 1em;
    row-gap: .5em;
}
#form_contact .form_block input, #form_contact .form_block textarea, #form_contact .form_block select {
    width: 100%;
    padding: 1em;
    background: var(--c_gray);
	border: none;
}
#form_contact .form_block input[type="radio"] {
    flex-shrink: 0;
	display: block;
    width: 1.4em;
    height: 1.4em;
	padding: 0;
    margin-top: .07em;
    margin-right: .3em;
	font-size: var(--fz16);
	background: #fff;
    border: 1px solid #808080;
    border-radius: 50%;
}
#form_contact .form_block label:has(input[type="radio"])::before {
    content: '\f111';
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
	justify-content: center;
	align-items: center;
	width: 1.4em;
    height: 1.4em;
	color: transparent;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	line-height: 1;
    margin-top: .07em;
    margin-right: .3em;
	border: 1px solid transparent;
    border-radius: 50%;
	transition: all .3s ease;
}
#form_contact .form_block label:has(input[type="radio"]:checked)::before {
	color: var(--c_blue);
}
.wpcf7-form-control-wrap[data-name="zip"] {
    width: auto;
    margin-bottom: 10px;
	margin-left: .3em;
}
#form_contact .form_block label:has(.wpcf7-form-control-wrap[data-name="zip"]) {
	align-items: center;
}
.wpcf7-form-control-wrap[data-name="dept"] {
	position: relative;
}
.wpcf7-form-control-wrap[data-name="dept"]::after {
	content: '\f078';
	position: absolute;
	top: 50%;
	right: 1.2em;
	font-size: .8em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	line-height: 1;
	transform: translateY(-50%);
}
#form_contact .form_block .btn_g_blue_c input {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 9999px;
	cursor: pointer;
}
#form_contact .form_block .btn_g_blue_c {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 325px;
    width: 100%;
    padding: 1em 2em;
	margin: 0 10px 10px;
    letter-spacing: 0;
	border: 1px solid transparent;
}
#form_contact .form_block .btn_g_blue_c:hover {
	border-color: var(--c_blue);
}
#form_contact .form_block .wpcf7-spinner {
    position: absolute;
    top: 50%;
    right: 3em;
    width: 1.3em;
    height: 1.3em;
    margin: 0;
    transform: translateY(-50%);
}
#form_contact .form_block .btn_g_blue_c::after {
	right: 2em;
    font-size: .8em;
}
#form_contact .form_block .btn_g_blue_c.back::after {
	content: '\f053';
	right: auto;
	left: 2em;
}
#form_contact .form_block .note {
    width: 100%;
    margin: 5em 0 6em;
    font-size: var(--fz13);
    text-align: center;
}
#form_contact .form_block .note > a {
	opacity: 1;
	color: var(--c_blue);
	transition: all .3s ease;
}
#form_contact .form_block .note > a:hover {
	opacity: .6;
}
#form_contact .form_block.confirm dl > dd {
    margin-top: .5em;
}
#form_contact .form_block .complete_tit {
    width: 100%;
    margin-bottom: 1em;
    font-size: var(--fz25);
    font-family: var(--noto);
    font-weight: 700;
	line-height: 1.3;
    text-align: center;
}
#form_contact .form_block .complete_tit br {
	display: none;
}
#form_contact .form_block .complete_txt {
    width: 100%;
    margin-bottom: 2em;
    font-size: var(--fz14);
    text-align: center;
}
#form_contact .form_block .codedropz-upload-container {
	background: var(--c_gray);
}
#form_contact .form_block .codedropz-upload-inner h3 {
    font-size: var(--fz18);
}
#form_contact .form_block .codedropz-upload-inner {
    line-height: 1.4;
}
@media only screen and (max-width: 768px) {
	#form_contact .txt {
		margin-bottom: 2em;
		font-size: var(--fz16);
		text-align: left;
	}
	#form_contact .form_block dl {
		flex-direction: column;
		margin-bottom: var(--num50);
	}
	#form_contact .form_block dl > dt {
		padding: .3em 0 .3em 1em;
		margin-bottom: .5em;
	}
	#form_contact .form_block dl > dt::before {
		height: 1.8em;
	}
	#form_contact .form_block dl > dt > span {
		padding: .3em .5em .1em;
	}
	#form_contact .form_block .note {
		margin: 1em 0 2em;
		text-align: left;
	}
	#form_contact .form_block .note > br {
		display: none;
	}
	#form_contact .form_block.confirm dl > dd {
    	margin-top: 0;
	}
	#form_contact .form_block .complete_tit {
		font-size: var(--fz20);
	}
	#form_contact .form_block .complete_tit br {
		display: block;
	}
	#form_contact .form_block .complete_txt {
		text-align: left;
	}
}
/*//form*/

/*news*/
.archive_news {
	max-width: 675px;
	width: 92%;
	margin: var(--num100) auto var(--num170);
}
.archive_news .news_li {
	margin-bottom: var(--num70);
}
.archive_news .news_li > li > a::after {
	color: #fff;
	background: var(--c_blue);
}
.news_li > li > a:hover::after {
	color: var(--c_blue);
	background: #fff;
}
.page_temp.single {
    max-width: 665px;
    width: 92%;
    margin: var(--num120) auto;
}
.page_temp.single .date {
	width: 100%;
	color: var(--c_blue);
	font-size: var(--fz16);
	font-family: var(--roboto);
}
.page_temp.single .tit {
	width: 100%;
	margin-bottom: 1.5em;
	font-size: var(--fz23);
	font-family: var(--noto);
	font-weight: 700;
	line-height: 1.4;
}
.page_temp.single .btn_wrap {
	margin-top: var(--num100);
}
.page_temp.single .btn_single {
    opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
	width: auto;
    color: var(--c_blue);
    font-size: var(--fz18);
    font-weight: 700;
    line-height: 1;
    transition: all .3s ease;
}
.page_temp.single .btn_single:hover {
	opacity: .6;
}
.page_temp.single .btn_single::after {
    content: '\f054';
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3em;
    height: 3em;
    padding-top: .1em;
    margin-top: -.3em;
    margin-left: 1em;
    color: #fff;
    font-size: .7em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    background: var(--c_blue);
    border-radius: 50%;
}
.page_temp.single .post_cont {
	font-size: var(--fz14);
}
@media only screen and (max-width: 768px) {
	.page_temp.single .date {
		line-height: 1.5;
	}
	.page_temp.single .tit {
		margin-bottom: 1em;
		font-size: var(--fz20);
	}
	.page_temp.single .btn_single {
		font-size: var(--fz16);
	}
}
/*//news*/

/*blog*/
.archive_blog {
    max-width: 1000px;
    width: 92%;
    margin: var(--num150) auto;
}
.archive_blog_li {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
	margin-bottom: var(--num90);
    list-style: none;
    column-gap: 3.5%;
    row-gap: var(--num70);
}
.archive_blog_li > li {
	width: 31%;
}
.archive_blog_li > li > a {
	opacity: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	width: 100%;
	transition: all .3s ease;
}
.archive_blog_li > li > a:hover {
	opacity: .6;
}
.archive_blog_li .img {
	position: relative;
	width: 100%;
	padding-top: 54%;
	overflow: hidden;
}
.archive_blog_li .img > img {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: translate(-50%, -50%) scale(1);
	transition: all .3s ease;
}
.archive_blog_li > li > a:hover > .img > img {
	transform: translate(-50%, -50%) scale(1.03);
}
.archive_blog_li .date {
	width: 100%;
	margin-top: .7em;
	color: var(--c_blue);
	font-size: var(--fz15);
	font-family: var(--roboto);
}
.archive_blog_li .tit {
	width: 100%;
	font-size: var(--fz16);
	font-family: var(--noto);
	font-weight: 700;
	line-height: 1.3;
}
@media only screen and (max-width: 768px) {
	.archive_blog_li {
		column-gap: 4%;
	}
	.archive_blog_li > li {
		width: 48%;
	}
}
@media only screen and (max-width: 500px) {
	.archive_blog_li {
		column-gap: 0;
		row-gap: var(--num50);
	}
	.archive_blog_li > li {
		width: 100%;
	}
}
/*//blog*/

/*privacy-policy*/
.policy_field {
    max-width: 1000px;
    width: 92%;
    margin: var(--num100) auto var(--num170);
	font-size: var(--fz14);
}
.policy_field > .txt {
	margin-bottom: var(--num90);
    text-align: center;
}
.policy_list {
    width: 100%;
    list-style: none;
}
.policy_list > li {
	margin-bottom: var(--num60);
}
.policy_list .h {
    margin-bottom: .5em;
    width: 100%;
    font-size: var(--fz20);
    font-weight: 700;
    line-height: 1.4;
}
.policy_list > li > * + * {
    margin-top: 1.2em;
}
.policy_list > li > .h + * {
    margin-top: 0;
}
.policy_list .inner_li {
    padding-left: 1.3em;
}
.policy_list .inner_li > li > .inner_li {
	margin-bottom: 1.5em;
}
@media only screen and (max-width: 768px) {
	.policy_field {
		margin-top: var(--num170);
	}
	.policy_field > .txt {
		text-align: left;
	}
	.policy_field > .txt > br {
		display: none;
	}
	.policy_field {
		font-size: var(--fz13);
	}
	.policy_list > li > * + * {
		margin-top: 1em;
	}
	.policy_list .h {
		font-size: var(--fz16);
	}
}
/*//privacy-policy*/

/*404*/
.block_404 {
    max-width: 1000px;
    width: 92%;
    margin: var(--num120) auto var(--num170);
}
.block_404 .txt {
	margin-bottom: 2em;
	font-size: var(--fz14);
	text-align: center;
}
.block_404 .btn_g_blue_c {
    padding: 1em 4em;
}
@media only screen and (max-width: 768px) {
	.block_404 .txt {
		text-align: left;
	}
}
/*//404*/