@charset "UTF-8";

.noto-sans {
	font-family: "Noto Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-variation-settings: "wdth" 100;
}

.plus-jakarta-sans {
	font-family: "Plus Jakarta Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}

.reqular {
	font-weight: 400;
}

.medium {
	font-weight: 500;
}

.semibold {
	font-weight: 600;
}

.bold {
	font-weight: 700;
}

.black {
	font-weight: 900;
}

html,
body {
	line-height: 2;
	font-size: 62.5%;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	color: #3B4043;
	background: #FFFFFF;
	font-style: normal;
	font-feature-settings: "pwid" 1;
	width: 100%;
	height: 100%;
}

.palt {
	font-feature-settings: "palt";
}

body {
	opacity: 0;
	transition: 0.3s ease-out;
	overflow-x: hidden;
}

body.loaded {
	opacity: 1;
}

.abs {
	position: absolute;
	display: block;
}

.rel {
	position: relative;
	display: block;
}

.flexBlock {
	display: flex;
	justify-content: space-between;
}

.anim {
	transition: 0.3s ease-out;
}

.resizing * {
	transition: none !important;
	transition-duration: 0s !important;
}

.inner {
	position: relative;
	width: calc(100% - 240px);
	margin-left: auto;
	margin-right: auto;
}

#masthead {
	position: fixed;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	pointer-events: none;
	z-index: 17;
	left: 0;
	top: 0;
	transition: 0.3s ease-out;
}

#masthead>h1,
#masthead>.side-btns {
	pointer-events: all;
	width: 119px;
	height: 120ps;
}

#masthead>h1 img {
	width: 100%;
	height: auto;
}

.scrolled #masthead>.side-btns {
	height: 480px;
}

.pc.open #masthead {
	opacity: 0;
}

.pc.open #masthead * {
	pointer-events: none;
}

#masthead>h1 {
	cursor: pointer;
	position: relative;
	display: block;
}

#masthead>h1>a,
#masthead>h1>span {
	transition: 0.5s ease-out;
}

#masthead>h1>span {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

#masthead>h1>a,
.scrolled #masthead>h1>span {
	opacity: 1;
	pointer-events: all;
}

#masthead>h1>span,
.scrolled #masthead>h1>a {
	opacity: 0;
	pointer-events: none;
}

.side-btns>li {
	width: 100%;
	height: 120px;
	position: relative;
	display: block;
	transition: 0.7s ease-out;
}

.side-btns>li:nth-child(1) {
	z-index: 4;
	background: #F9BE00;
}

.side-btns>li:nth-child(2) {
	background: #DE6700;
	transform: translateY(-100%);
	z-index: 3;
}

.side-btns>li:nth-child(3) {
	background: #004DA0;
	transform: translateY(-200%);
	z-index: 2;
}

.side-btns>li:nth-child(4) {
	background: #0089D9;
	transform: translateY(-300%);
	z-index: 1;
}

.scrolled .side-btns>li {
	transform: translateY(0%) !important;
}

.side-btns>li>a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	color: #FFFFFF;
	font-size: 1.6rem;
	line-height: 1.25;
}

.side-btns>li>a .icon>img {
	width: 100%;
	height: auto;
}

.side-btns>li:nth-child(1)>a {
	color: #3A3A3A;
	cursor: default;
}

.side-btns>li:nth-child(1)>a .icon {
	margin: 5px auto 10px;
}

.side-btns>li:nth-child(2)>a .icon {
	margin-top: 12px;
}

.side-btns>li:nth-child(3)>a .icon,
.side-btns>li:nth-child(4)>a .icon {
	margin-bottom: 15px;
}

.side-btns>li:nth-child(1)>a>.plus-jakarta-sans {
	font-size: 1.4rem;
}

.btn {
	overflow: hidden;
}

.btn:after {
	content: '';
	position: absolute;
	display: block;
	width: 110%;
	height: auto;
	aspect-ratio: 1;
	left: 50%;
	top: 50%;
	transform-origin: center center;
	transform: translate(-50%, -50%) scale(0.1) rotate(45deg);
	background: #000000;
	mix-blend-mode: overlay;
	pointer-events: none;
	transition: opacity .5s, transform .5s;
	transition-delay: 0s, .3s;
	opacity: 0;
}

nav.toc {
	width: 119px;
	height: auto;
	position: fixed;
	top: 119px;
	left: 0;
	transition: 0.3s;
	transform: scale(1, 0);
	flex-direction: column;
	transform-origin: center top;
	pointer-events: all;
}

.scrolled nav.toc {
	transform: scale(1, 1);
}

nav.toc>a {
	width: 100%;
	font-size: 1.4rem;
	color: #666666;
	background: #F5F5F5;
	position: relative;
	display: flex;
	line-height: 1;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 30px;
	transition: 0.3s;
}

nav.toc a.active {
	background: #3A3A3A;
	color: #FFFFFF;
}

nav.top-nav {
	width: 100%;
	height: 60px;
	background: #FFFFFF;
	padding: 0 130px;
	justify-content: flex-end;
}

nav.top-nav>ul {
	width: 100%;
	height: 100%;
	justify-content: flex-end;
	align-items: center;
}

nav.top-nav>ul>li {
	margin: 0 15px;
}

nav.top-nav>ul>li>a {
	color: #3A3A3A;
	font-size: 1.6rem;
	padding: 3px 0;
	position: relative;
	display: block;
}

nav.footer-nav>ul>li>a:after,
nav.top-nav>ul>li>a:after {
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	height: 2px;
	border-radius: 1px;
	bottom: 7px;
	left: 0;
	transition: .3s;
	opacity: 0;
	background: #3A3A3A;
}

#loading {
	z-index: 999;
	position: fixed;
	display: block;
	width: 100%;
	height: 100dvh;
	top: 0;
	left: 0;
	background: #FFFFFF;
	transition: 0.7s ease-out;
}

.animStep02 #loading {
	opacity: 0;
	pointer-events: none;
}

.animStep03 #loading {
	display: none;
}

#loading>.flexBlock {
	justify-content: center;
	align-items: center;
	text-align: center;
	flex-direction: column;
	width: 100%;
	position: relative;
	height: 100%;
	font-size: 2.4rem;
	color: #004CA0;
}

#loading>.flexBlock>img {
	width: 170px;
	margin-bottom: 15px;
	opacity: 0;
	transform: translateY(-50px);
	transition: 1.5s ease-out;
}

.animStep01 #loading>.flexBlock>img {
	opacity: 1;
	transform: translate(0px);
}

#loading>.flexBlock>div>span {
	opacity: 0;
	transform: scale(3);
	filter: blur(7px);
	transition: 1.0s ease-out;
	position: relative;
	display: inline-block;
}

.animStep01 #loading>.flexBlock>div>span {
	opacity: 1;
	transform: scale(1);
	filter: blur(0);
}

#top-img {
	min-height: calc(100dvh - 60px);
	width: 100%;
	background: #004CA0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding-top: 0;
	overflow: hidden;
}

#top-img>.top-kv {
	opacity: 0;
	transition: 1s ease;
	position: absolute;
	display: flex;
	align-items: center;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 1;
}

.animStep03 #top-img>#top-kv03,
.animStep02 #top-img>#top-kv02,
.animStep04 #top-img>#top-kv04 {
	opacity: 1;
	pointer-events: all;
}

#top-kv02,
#top-kv03,
#top-kv04 {
	background: url('../imgs/top/kv.jpg') no-repeat center center;
	background-size: cover;
}

#top-kv02:before,
#top-kv02:after,
#top-kv03:before,
#top-kv03:after,
#top-kv04:before,
#top-kv04:after {
	content: '';
	position: absolute;
	display: block;
	top: 0;
	left: 150%;
	width: 20%;
	height: 100%;
	mix-blend-mode: overlay;
	background: #FFFFFF;
	transform: skew(-25deg);
	z-index: 9;
}

#top-kv02:before,
#top-kv03:before,
#top-kv04:before {
	transform: skew(25deg);
	left: -150%;
}

.animStep02 #top-kv02:after,
.animStep03 #top-kv03:after,
.animStep04 #top-kv04:after {
	transition: 5s ease-out 0.3s;
	left: -200%;
}

.animStep02 #top-kv02:before,
.animStep03 #top-kv03:before,
.animStep04 #top-kv04:before {
	transition: 5s ease-out 0.5s;
	left: 200%;
}

#top-kv04>img {
	width: 90%;
	max-width: 580px;
	height: auto;
	position: absolute;
	display: block;
	top: -5%;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	transition: 3s ease-out 0.2s;
	filter: blur(15px);
	opacity: 0;
	transform: scale(1.5);
}

#top-kv02>div,
#top-kv03>div {
	transition: 3s ease-out 0.2s;
	filter: blur(15px);
	opacity: 0;
	transform: scale(1.5);
}

.animStep02 #top-kv02>div,
.animStep03 #top-kv03>div,
.animStep04 #top-kv04>img {
	filter: blur(0px);
	opacity: 1;
	transform: scale(1);
}

#top-kv03>div.left,
#top-kv03>div.right {
	width: 50%;
	height: 100%;
	position: absolute;
	transition: transform 1s ease-out, filter 1.2s ease-out;
}

#top-img>#top-kv03>div.top-text {
	width: 100%;
	height: auto;
	top: 65%;
	position: absolute;
	align-items: center;
	justify-content: flex-end;
	text-align: center;
	font-size: 4.0rem;
	transition: 0.7s ease-out, filter 2s ease-out;
	filter: blur(15px);
	opacity: 0;
	transform: scale(2);
}

.animStep03 #top-img>#top-kv03>div.top-text {
	filter: blur(0px);
	opacity: 1;
	transform: scale(1);
}

.animStep04 #top-img>#top-kv03>div.top-text {
	opacity: 0;
}

@media screen and (max-width:900px) {
	#top-img>#top-kv03>div.top-text {
		font-size: 3.0rem;
	}
}

@media screen and (max-width:768px) {
	#top-img>.top-kv#top-kv03 .top-text>div {
		margin: 2px auto;
	}

	#top-img>#top-kv03>div.top-text {
		font-size: 2.3rem;
	}

	#top-img>#top-kv02:after {
		transform: translate(0%, 70%);
		background-size: 150% auto;
	}
}

#top-img>#top-kv02.top-kv .top-text>div {
	flex-direction: column;
}

#top-img>#top-kv02.top-kv .top-text>div:nth-child(2n - 1) {
	margin-bottom: 0;
	margin-bottom: 0;
}

#top-img>#top-kv02.top-kv .top-text>div:nth-child(2) {
	margin-bottom: 7%;
}

#top-kv03>div.left {
	left: 0;
	transform: translateX(-150%);
}

.animStep03 #top-kv03>div.left {
	transform: translateX(0);
}

#top-kv03>div.left:before {
	background: #004DA0;
	right: 0;
}

#top-kv03>div.right {
	right: 0;
	transform: translateX(150%);
}

.animStep03 #top-kv03>div.right {
	transform: translateX(0);
}

.animStep04 #top-kv03>div.left {
	transition: 0.7s ease-out 0.1s;
	transform: translateX(-150%);
}

.animStep04 #top-kv03>div.right {
	transition: 0.7s ease-out 0.1s;
	transform: translateX(150%);
}

#top-kv03>div.right:before {
	background: #FFFFFF;
	left: 0;
}

#top-kv03>div>img {
	width: 90%;
	height: auto;
	position: absolute;
	display: block;
	top: 0;
	bottom: 0;
	margin: auto 0;
}

#top-kv03>div.left>img {
	max-width: 580px;
	right: 3%;
}

#top-kv03>div.right>img {
	max-width: 527px;
	left: 3%;
}

#top-img>.top-kv .top-text {
	font-size: 7.0rem;
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	z-index: 1;
}

#top-img>#top-kv02 .top-text {
	margin: 0 auto;
	font-size: 6.8rem;
	text-align: center;
	align-items: center;
}

#top-img>.top-kv .top-text .big {
	font-size: 11.0rem
}

#top-img>.top-kv .top-text .big small {
	font-size: 6.8rem;
}

#top-img>.top-kv .top-text>div {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	line-height: 1;
	padding: 5px 23px;
	margin: 10px 0;
	overflow: hidden;
}

#top-img>.top-kv .top-text>div>span {
	position: relative;
	display: block;
	transform: translateY(120%);
	transition: 1s ease-out;
}

#top-img>#top-kv02 .top-text .big:nth-child(1) {
	margin-bottom: 2%;
}

.animStep02 #top-img>#top-kv02 .top-text>div>span,
.animStep03 #top-img>#top-kv03 .top-text>div>span {
	transform: translateY(0%);
}

.animStep02 #top-img>#top-kv02 .top-text>div>span {
	transition-delay: 0.7s;
}

.skip-animation #loading,
.skip-animation #top-img>#top-kv03,
.skip-animation #top-img>#top-kv02 {
	display: none !important;
	pointer-events: none;
}

.skip-animation #top-img>#top-kv04 {
	display: block !important;
	opacity: 1 !important;
}

.skip-animation #top-kv04>img {
	transition: none !important;
	filter: blur(0) !important;
	opacity: 1 !important;
	transform: scale(1) !important;
}

.img-text-area img {
	width: 100%;
	height: auto;
}

.img-text-area .img {
	width: 60%;
}

.img-text-area .text {
	width: 50%;
	margin-left: -10%;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.img-text-area .text:nth-child(1) {
	margin-left: 0;
	margin-right: -10%;
}

.img-text-area .text>div {
	min-height: 75%;
	position: relative;
	display: flex;
	flex-direction: column;
	padding-bottom: 30px;
}

.img-text-area .text>div:before {
	content: '';
	position: absolute;
	display: block;
	width: 50%;
	height: 100%;
	left: 0;
	top: 0;
	background: #FFFFFF;
}

.img-text-area .text:nth-child(1)>div:before {
	left: auto;
	right: 0;
}

.img-text-area .text>.parts {
	position: relative;
	display: block;
}

.img-text-area .text>.parts01 {
	width: 48%;
	max-width: 280px;
}

.img-text-area .text>.parts02 {
	width: 28%;
	max-width: 160px;
}

.img-text-area .text:nth-child(1) {
	padding-left: 80px;
}

.img-text-area .text:nth-child(1)>div {
	padding-right: 13%;
}

.img-text-area .text:nth-child(2) {
	padding-right: 80px;
}

.img-text-area .text:nth-child(2)>div {
	padding-left: 13%;
}

.img-text-area .text:nth-child(2)>.parts {
	align-self: flex-end;
}

section h2.hasLine {
	display: flex;
	flex-direction: column;
	margin-bottom: 30px;
}

section h2.hasLine>span {
	position: relative;
	display: flex;
	align-items: center;
	border-left: 4px solid #3B4043;
	padding-left: 20px;
	line-height: 1.5;
}

section h2.hasLine>.plus-jakarta-sans {
	font-size: 2.0rem;
	color: #004DA0;
	border-color: #004DA0;
	margin-bottom: 5px;
}

section h2.hasLine>.semibold {
	font-size: 4.0rem;
	color: #3B4043;
}

section#top-news h2.hasLine>.semibold {
	color: #FFFFFF;
}

section#top-news h2.hasLine>span {
	border-color: #FFFFFF;
}

section#top-news h2.hasLine>.plus-jakarta-sans {
	color: #FFFFFF;
	border-color: #FFFFFF;
}

.honbun {
	font-size: 1.6rem;
}

.honbun small {
	font-size: 87.5%;
}

.honbun strong {
	font-size: 107%;
	margin-top: 15px;
	margin-bottom: 15px;
}

.sub-page section {
	padding-top: 150px;
}

.site-main section {
	padding-top: 120px;
}

.bg-line {
	position: fixed;
	width: calc(100% - 240px);
	height: 100%;
	z-index: 0;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	pointer-events: none;
}

.bg-line>span {
	width: 25%;
	height: 100%;
	outline: 1px solid rgba(230, 230, 230, 0.5);
	position: relative;
	display: block;
}

.link-list {
	width: 100%;
	max-width: 1040px;
	position: relative;
	margin: 80px auto 0;
	flex-wrap: wrap;
}

.link-list>li {
	width: calc(33.33% - 24px);
}

.info-area>.flexBlock>:nth-child(3)>div>span,
.info-area>.flexBlock>:nth-child(3)>a>span,
.hasArrow {
	min-height: 40px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-size: 1.8rem;
	color: #3A3A3A;
	position: relative;
}

.hasArrow.white {
	color: #FFFFFF;
}

.info-area>.flexBlock>:nth-child(3)>a>span:after,
.hasArrow:after {
	content: '';
	position: relative;
	display: block;
	width: 40px;
	min-width: 40px;
	height: 40px;
	background: url('../imgs/common/btn-arrow-b.svg') no-repeat;
	background-size: contain !important;
	transition: 0.5s ease-out;
	transform: rotate(0deg) scale(1);
	transform-origin: center center;
	margin-left: 12px;
}

.hasArrow.white:after {
	background: url('../imgs/common/btn-arrow-w.svg') no-repeat;
}

.btn-download.hasArrow:after {
	background: url('../imgs/common/icon-download.svg') no-repeat;
}

.btn-link.hasArrow:after {
	background: url('../imgs/common/icon-link.svg') no-repeat;
}

.link-list>li>a {
	font-size: 2.4rem;
	justify-content: flex-start;
	padding-bottom: 10px;
	padding-top: 15px;
	border-bottom: 2px solid #3A3A3A;
}

.link-list>li>a.hasArrow:after {
	margin-left: auto;
}

.link-list>li>a>:nth-child(1) {
	margin-right: 20px;
}

.content-section .text .hasArrow {
	align-self: flex-end;
	margin-top: 40px;
}

#top-news {
	margin-top: 160px;
	padding-top: 60px;
	padding-bottom: 90px;
	background: #004DA0;
	overflow-x: hidden;
}

#top-news .inner {
	width: calc(100% - 400px);
}

.post-scroll-wrapper {
	width: calc(100% - 400px);
	margin: 0 auto;
}

.post-scroll {
	position: relative;
	display: flex;
	padding-bottom: 20px;
}

.post-item {
	width: 280px;
	min-width: 280px;
	flex-shrink: 0;
	transition: 0.5s ease-out;
	position: relative;
}

.post-scroll-wrapper .swiper-slide {
	width: 280px;
	margin-left: 40px;
}

.post-scroll-wrapper .swiper-slide:first-child {
	margin-left: 0;
}

.post-scroll-wrapper .control-area {
	margin: 15px auto;
	height: 40px;
	display: block;
	position: relative;
	padding: 30px 0 30px;
}

.post-scroll-wrapper .control-area .swiper-scrollbar {
	position: relative;
	display: block;
	width: 80%;
	height: 2px;
	margin: 0 auto;
	background: rgba(255, 255, 255, 0.25);
}

.post-scroll-wrapper .control-area .swiper-scrollbar-drag {
	background-color: #FFFFFF;
}

.post-scroll-wrapper .control-area .swiper-button-prev {
	background: url("../imgs/top/btn-prev-arrow.png");
	left: 0;
}

.post-scroll-wrapper .control-area .swiper-button-next {
	background: url("../imgs/top/btn-next-arrow.png");
	right: 0;
}

.post-scroll-wrapper .control-area .swiper-button-next,
.post-scroll-wrapper .control-area .swiper-button-prev {
	width: 40px;
	height: 40px;
	transform: translateY(-1px);
	background-size: contain !important;
}


.post-item .date {
	color: #FFFFFF;
	font-size: 1.6rem;
}

.post-item .post-meta {
	align-items: center;
	margin-bottom: 12px;
}

.post-item .cat-name {
	width: 118px;
	height: 24px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 1.4rem;
	background: #F9BE00;
	color: #FFFFFF;
	font-feature-settings: "pwid" 0;
}

.post-item.cat-product-news .cat-name {
	background: #0089D9;
}

.post-item.cat-release .cat-name {
	background: #E6E6E6;
	color: #3A3A3A;
}

.news-area .post-item .thumbnail {
	width: 280px;
	height: 210px;
	overflow: hidden;
	position: relative;
	display: block;
	margin-bottom: 5px;
}

.post-item .thumbnail img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
	display: block;
}

.post-item .post-title {
	font-size: 1.8rem;
	color: #FFFFFF;
	line-height: 1.8;
}

#top-news .flexBlock.hasH2 {
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 40px;
}

section#top-news .flexBlock.hasH2 h2.hasLine {
	margin-bottom: 0;
}

#top-recruit {
	text-align: center;
	padding-bottom: 160px;
}

h2.normal {
	font-size: 4.0rem;
	margin-bottom: 40px;
}

#top-recruit .banner {
	margin: 40px auto 0;
	width: 100%;
	max-width: 960px;
}

#top-recruit .banner img {
	width: 100%;
	height: auto;
	transition: 0.3s ease-out;
}

.bottom-contact-area {
	background: #3A3A3A;
	padding: 80px 15px;
	color: #FFFFFF;
}

.bottom-contact-area>.flexBlock {
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	text-align: center;
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
}

.bottom-contact-area>.flexBlock>.sub-text {
	width: 100%;
	margin-bottom: 20px;
	font-size: 1.8rem;
}

.bottom-contact-area>.flexBlock>.flexBlock {
	width: calc(50% - 40px);
	flex-direction: column;
	align-items: center;
}

.bottom-contact-area>.flexBlock>.flexBlock>.title {
	font-size: 2.4rem;
	border-bottom: 6px solid #FFFFFF;
	padding-bottom: 5px;
	margin-bottom: 20px;
	width: 100%;
}

.bottom-contact-area>.flexBlock>.flexBlock>a {
	width: 100%;
	height: 120px;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	position: relative;
}

.bottom-contact-area>.flexBlock>.flexBlock>a.mail {
	background: #DE6700;
	font-size: 2.4rem;
}

.bottom-contact-area>.flexBlock>.flexBlock>a>span {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bottom-contact-area>.flexBlock>.flexBlock>a>span:before {
	content: '';
	position: relative;
	display: block;
	height: 33px;
	background-size: contain !important;
	margin-right: 10px;
}

.bottom-contact-area>.flexBlock>.flexBlock>a.mail>span:before {
	width: 40px;
	background: url('../imgs/common/icon-mail.svg') no-repeat center center;
}

.bottom-contact-area>.flexBlock>.flexBlock>a.tel>span:before {
	width: 30px;
	background: url('../imgs/common/icon-tel-w.svg') no-repeat center center;
}

.bottom-contact-area>.flexBlock>.flexBlock>a.tel {
	cursor: default;
	font-size: 4.2rem;
	flex-direction: column;
}

.bottom-contact-area>.flexBlock>.flexBlock>a.tel .reception-hours {
	font-size: 1.6rem;
}

.footer-nav {
	background: #0089D9;
	width: 100%;
	height: auto;
	padding: 10px 15px;
}

.footer-nav ul {
	align-items: center;
	justify-content: center;
	width: 100%;
}

.footer-nav ul li {
	margin: 0 2%;
}

.footer-nav ul li>a {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 1.6rem;
	color: #FFFFFF;
	padding: 3px 0;
}

.footer-nav ul li>a:before {
	content: '';
	position: relative;
	display: block;
	background: url('../imgs/common/footer-nav-arrow.svg') no-repeat center center;
	background-size: contain;
	margin-right: 10px;
	width: 11px;
	height: 18px;
}

nav.footer-nav>ul>li>a:after {
	background: #FFFFFF;
}

.line-anim:before,
.line-anim:after,
.line-anim>span.lt:before,
.line-anim>span.lt:after {
	content: "";
	position: absolute;
	background: #3A3A3A;
	transition: 0.5s;
	z-index: 1;
}

.line-anim:before {
	top: 0;
	left: 0;
	width: 0%;
	height: 1px;
}

.line-anim:after {
	top: 0;
	right: 0;
	width: 1px;
	height: 0%;
}

.line-anim>span.lt {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

.line-anim>span.lt:before {
	bottom: 0;
	right: 0;
	width: 0%;
	height: 1px;
}

.line-anim>span.lt:after {
	bottom: 0;
	left: 0;
	width: 1px;
	height: 0%;
}

.info-area {
	background: #F5F5F5;
	padding: 70px 15px 90px;
}

.info-area>.flexBlock {
	width: 100%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	align-items: stretch;
}

.info-area>.flexBlock>div {
	display: flex;
}

.info-area>.flexBlock>:nth-child(1) {
	width: 15%;
	max-width: 140px;
	min-width: 120px;
	justify-content: center;
	align-items: center;
}

.info-area>.flexBlock>:nth-child(2),
.info-area>.flexBlock>:nth-child(3)>a,
.info-area>.flexBlock>:nth-child(3)>div {
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
}

.info-area>.flexBlock>:nth-child(2) {
	width: 28%;
	font-size: 1.4rem;
}

.info-area>.flexBlock>:nth-child(2)>strong {
	font-size: 1.8rem;
}

.info-area>.flexBlock>:nth-child(2)>.btn-download {
	font-size: 1.6rem;
}

.info-area>.flexBlock>:nth-child(3) {
	width: 45%;
	line-height: 1.75;
}

.info-area>.flexBlock>:nth-child(3) img {
	width: 100%;
	height: auto;
	margin-bottom: 7px;
}

.info-area>.flexBlock>:nth-child(3)>a,
.info-area>.flexBlock>:nth-child(3)>div {
	font-size: 1.6rem;
	color: #3A3A3A;
	transition: 0.3s ease-out;
}

footer .copyright {
	font-size: 1.4rem;
	color: #3A3A3A;
	padding-bottom: 35px;
	background: #F5F5F5;
	text-align: center;
}

.nav-area {
	position: fixed;
	display: block;
	z-index: 16;
	width: 100%;
	height: 100dvh;
	left: 0;
	top: 0;
	background: #FFFFFF;
	transform: translateY(-110%);
	transition: 0.5s ease-out;
}

.open .nav-area {
	transform: translateY(0%);
}

.nav-area>div.flexBlock {
	position: absolute;
	max-width: 768px;
	max-height: 600px;
	height: calc(100% - 24vh);
	width: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	padding-left: 15px;
	padding-right: 15px;
}

.nav-area>div.flexBlock>ul {
	width: 40%;
	flex-direction: column;
	align-items: flex-start;
}

.nav-area>div.flexBlock>ul>li {
	min-height: 70px;
	padding: 15px 0;
	border-bottom: 2px solid #000000;
	margin-bottom: 30px;
	width: 100%;
}

.nav-area>div.flexBlock>ul>li:last-child {
	margin-bottom: 0;
}

.nav-area>div.flexBlock>ul>li>a {
	width: 100%;
	font-size: 2.4rem;
}

.nav-area>div.flexBlock>ul>li>a.hasArrow {
	justify-content: space-between;
}

.nav-area>div.flexBlock>ul>li.sub {
	min-height: 45px;
	padding-top: 0;
	padding-bottom: 0;
	border-bottom: none;
	margin-bottom: 25px;
}

.nav-area>div.flexBlock>ul>li.sub>a {
	font-size: 2.0rem;
	color: #3A3A3A;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.nav-area>div.flexBlock>ul>li.sub>a:before {
	content: '';
	position: relative;
	display: block;
	width: 30px;
	height: 30px;
	background: url('../imgs/common/btn-arrow-b.svg') no-repeat center center;
	background-size: contain;
	transition: 0.3s ease-out;
}

.nav-area>div.flexBlock>ul>li.sub>a>.bold {
	margin-left: 15px;
	margin-right: 15px;
}

.nav-area>div.flexBlock>ul>li.medium {
	border-bottom: none;
	padding-bottom: 0;
}

.nav-area>div.flexBlock>ul>li.medium>a {
	font-size: 1.6rem;
	color: #000000;
}

.btn-nav-close {
	width: 105px;
	height: 105px;
	top: 0;
	right: 0;
	z-index: 17;
	cursor: pointer;
}

.btn-nav-close>span {
	width: 52px;
	height: 2px;
	background: #000000;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	position: absolute;
	display: block;
	transition: 0.3s ease-out;
}

.btn-nav-close>span:nth-child(1) {
	transform: rotate(25deg);
}

.btn-nav-close>span:nth-child(2) {
	transform: rotate(-25deg);
}

.img.fade-item {
	overflow: hidden;
	align-self: flex-start;
}

.img.fade-item>img {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.img.fade-item:before,
.img.fade-item:after {
	content: "";
	position: absolute;
	inset: 0;
	transform: translateX(0);
	z-index: 1;
	opacity: 1;
}

.img.fade-item:before {
	background: #F9BE00;
	transition: transform 0.5s;
	transition-delay: 0.3s;
}

.img.fade-item:after {
	background: #004DA0;
	transition: transform 0.5s;
}

.visible.img.fade-item::before,
.visible.img.fade-item::after {
	transform: translateX(100%);
}

.visible.img.fade-item>img {
	opacity: 1;
}

#sub-top-img {
	width: 100%;
	height: 440px;
	overflow: hidden;
}

#sub-top-img .kv-text {
	width: 83%;
	max-width: 1000px;
	pointer-events: none;
	bottom: -20px;
	left: 0;
	right: 0;
	margin: 0 auto;
	transition: transform 1.5s;
	transform: translateY(100%);
}

.animeStart #sub-top-img .kv-text {
	transform: translateY(0%);
}

#sub-top-img .kv-text img {
	width: 100%;
	height: auto;
}

.img-wrap {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	pointer-events: none;
}

.img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#sub-top-img h1 {
	transform: translate(-50%, -50%);
	left: 50%;
	top: 50%;
	display: inline-block;
	font-size: 4.0rem;
	color: #004DA0;
	background: #FFFFFF;
	padding: 3px 15px;
	line-height: 1.5;
}

#sub-top-img .bg-line {
	position: absolute;
}

.breadcrumb .flexBlock {
	padding: 5px 38px;
	justify-content: flex-start;
}

.breadcrumb .flexBlock>li {
	color: #3A3A3A;
	font-size: 1.4rem;
}

.breadcrumb .flexBlock>li:before {
	content: '>';
	margin: 0 10px;
	line-height: 1;
}

.breadcrumb .flexBlock>li:nth-child(1):before {
	content: none;
}

.breadcrumb .flexBlock>li a {
	color: #3A3A3A;
	text-decoration: underline;
}

#top-area h2.normal {
	margin: 50px auto 30px;
	text-align: center;
	font-size: 3.0rem;
	color: #3A3A3A;
}

.sub-page #top-area {
	padding-top: 0;
}

.page-business #top-area {
	padding-top: 0;
	padding-bottom: 130px;
}

.page-business #top-area .honbun {
	text-align: center;
}

.page-business #top-area .honbun small {
	padding-top: 10px;
}

.page-business #top-area .top-area-img {
	width: 100%;
	max-width: 978px;
	margin: 40px auto 0;
}

.sub-page h2.fade-item,
.sub-page .honbun.fade-item {
	transition: 1s ease-out;
	transform: translateY(70px);
	opacity: 0;
}

.sub-page h2.fade-item.visible,
.sub-page .honbun.fade-item.visible {
	transform: translateY(0);
	opacity: 1;
}

.page-business #top-area .top-area-img .fade-item {
	width: 100%;
	height: auto;
	display: block;
	transition: 0.77s ease-out;
	transform: scale(0.7, 0.7);
	opacity: 0;
}

.page-business #top-area .top-area-img .fade-item.visible {
	transform: scale(1, 1);
	opacity: 1;
}

section h2.normal {
	font-size: 3.0rem;
	color: #004DA0;
	margin-bottom: 30px;
	line-height: 1.5;
}

section .btn-orange {
	width: 100%;
	max-width: 440px;
	min-height: 60px;
	position: relative;
	display: flex;
	background: #DE6700;
	border-radius: 30px;
	justify-content: center;
	align-items: center;
	margin-top: 30px;
	font-size: 1.8rem;
	color: #FFFFFF;
	padding: 0 15px;
}

section .btn-orange>span {
	display: flex;
	position: relative;
	justify-content: center;
	align-items: center;
}

section .btn-orange>span .icon {
	margin-right: 12px;
}

section .btn-orange>span .icon>img {
	display: block;
}

.sub-page section.gray-area {
	margin-top: 150px;
	padding-top: 80px;
	padding-bottom: 80px;
	background: #F5F5F5;
	color: #3A3A3A;
}

.sub-page section.gray-area>.inner {
	max-width: 960px;
}

.sub-page section.gray-area h2.normal {
	font-size: 4.0rem;
	text-align: center;
	color: #3A3A3A;
}

.page-corporate .sub-page section.gray-area h2.normal {
	color: #004DA0;
}

.page-corporate .sub-page section.gray-area {
	background: rgba(245, 245, 245, 0.8);
}

#quality-policy .inner>.flexBlock>:nth-child(1) {
	width: 40%;
}

#quality-policy .inner>.flexBlock>:nth-child(1)>.img {
	min-width: 160px;
}

#quality-policy .inner>.flexBlock>:nth-child(2) {
	width: 56%;
}

#quality-policy .inner>.flexBlock>:nth-child(2)>.img {
	min-width: 323px;
}

#quality-policy .inner>.flexBlock>div {
	justify-content: flex-start;
	align-items: flex-end;
	font-size: 1.4rem;
	line-height: 1.5;
}

#quality-policy .inner>.flexBlock>div .text>span {
	position: relative;
	display: block;
}

#quality-policy .inner>.flexBlock>div .text .medium {
	margin-bottom: 10px;
}

#quality-policy .inner>.flexBlock>div .img {
	height: 225px;
	width: auto;
	margin-right: 15px;
	position: relative;
	display: block;
}

#quality-policy .inner>.flexBlock>div .img>img {
	width: auto;
	height: 100%;
	position: relative;
	display: block;
}

.page-csr #top-area .honbun {
	padding: 50px 0 0;
	text-align: center;
}

.square-list {
	font-size: 1.4rem;
	color: #3B4043;
	margin-top: 15px;
}

.square-list>li {
	padding-left: 17px;
	position: relative;
	display: block;
}

.square-list>li:before {
	position: absolute;
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	background: #004DA0;
	left: 0;
	top: 0.9rem;
}

.line-title {
	width: 93%;
	max-width: 1040px;
	font-size: 3.0rem;
	line-height: 1.5;
	padding: 20px 0 15px;
	text-align: center;
	color: #3A3A3A;
	border-top: #666666 solid 5px;
	border-bottom: #666666 solid 2px;
	margin: 0 auto 60px;
}

.sub-page section.gray-area#community-contribution {
	padding-bottom: 150px;
}

#community-contribution>.inner {
	max-width: 880px;
}

#community-contribution>.inner>.flexBlock {
	align-items: center;
	justify-content: space-between;
	margin-top: 15px;
}

#community-contribution>.inner>.flexBlock>:nth-child(1) {
	width: 39%;
}

#community-contribution>.inner>.flexBlock>:nth-child(1)>img {
	width: 100%;
	height: auto;
}

#community-contribution>.inner>.flexBlock>:nth-child(2) {
	width: 55%;
}

#about .swiper-container {
	overflow: hidden;
}

#about .swiper-slide {
	transition: transform 0.3s, opacity 0.3s;
	transform: scale(0.9);
	opacity: 0.5;
	padding-top: 30px;
	padding-bottom: 30px;
	background: #FFFFFF;
}

#about .swiper-slide>.flexBlock {
	background: #004DA0;
	align-items: stretch;
}

#about .swiper-slide>.flexBlock>.img {
	width: 35%;
	flex-direction: column;
	justify-content: space-between;
}

#about .swiper-slide>.flexBlock>.img>img {
	object-fit: cover;
	flex-grow: 1;
}

#about .swiper-slide>.flexBlock>.text {
	width: 65%;
	padding: 3% 7%;
	font-size: 1.6rem;
	line-height: 1.6;
	align-self: center;
}

#about .swiper-slide>.flexBlock>.text>.flexBlock {
	flex-direction: column;
}

#about .swiper-slide>.flexBlock>.text p.bold {
	font-size: 2.4rem;
	border-bottom: 4px solid #FFFFFF;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

#about .swiper-slide>.flexBlock>.text p.bold>span {
	display: block;
}

#about .swiper-slide>.flexBlock>.text p.bold .plus-jakarta-sans {
	font-size: 4.0rem;
}

#about .swiper-slide.is-active {
	transform: scale(1);
	opacity: 1;
	filter: drop-shadow(0px 10px 30px rgba(0, 0, 0, 0.3));
}

#about .swiper-pagination-fraction {
	position: relative;
	color: #fff;
	margin-top: 30px;
	font-size: 1.8rem;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

#about .swiper-pagination-fraction>.line {
	width: 1px;
	height: 24px;
	background: #FFFFFF;
	display: inline-block;
	margin: 0 15px;
}

#top-area .bg-blue {
	position: absolute;
	background: #004DA0;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
}

.page-corporate #top-area {
	padding-bottom: 100px;
	color: #FFFFFF;
}

.page-corporate .breadcrumb .flexBlock>li a,
.page-corporate #top-area h2.normal,
.page-corporate .breadcrumb .flexBlock>li {
	color: #FFFFFF;
}

.page-corporate #top-area .inner p.honbun {
	text-align: center;
}

#about .swiper-pagination-wrapper {
	margin: 40px 0;
	background: #FFFFFF;
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
	overflow-x: auto;
	width: 100%;
	padding: 10px;
}

#about .swiper-pagination-custom {
	position: relative;
	display: flex;
	gap: 10px;
	white-space: nowrap;
	justify-content: center;
	align-items: center;
	top: auto;
	left: auto;
	bottom: auto;
}

#about .swiper-pagination-custom .year-item {
	font-size: 1.8rem;
	color: #3A3A3A;
	background: #FFFFFF;
	border-radius: 16px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border: 1px solid #3A3A3A;
	width: 80px;
	min-width: 80px;
	height: 32px;
	cursor: pointer;
	transition: 0.3s ease-out;
}

#about .swiper-pagination-custom .year-item.is-active {
	color: #FFFFFF;
	background: #3A3A3A;
	cursor: default;
}

#about .swiper-button-prev,
#about .swiper-button-next {
	width: 60px;
	height: 60px;
	background-size: contain !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
	display: none;
}

#about .swiper-container .swiper-button-prev {
	left: 13.5%;
	background: url('../imgs/corporate/btn-prev.png') no-repeat;
}

#about .swiper-container .swiper-button-next {
	right: 13.5%;
	background: url('../imgs/corporate/btn-next.png') no-repeat;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
	visibility: hidden;
}

.content-section .sub-title.bold {
	font-size: 2.4rem;
	margin-bottom: 7px;
	position: relative;
}

.content-section .sub-title.bold small {
	font-size: 80%;
	line-height: 1.2;
}

#overview .table-area {
	font-size: 1.6rem;
	padding: 25px 0;
	border-bottom: 1px solid #B3B3B3;
}

#overview .table-area.th {
	border-top: 1px solid #B3B3B3;
}

#overview .table-area>.semibold {
	width: 28%;
}

#overview .table-area>.reqular {
	width: 72%;
	padding-right: 48px;
}

#overview .table-area>.reqular.flexBlock {
	flex-wrap: wrap;
}

#overview .table-area>.reqular.flexBlock>span {
	width: calc(100% - 105px);
}

#overview .table-area>.reqular.flexBlock>.sh {
	width: 105px;
}

#overview .img.soshikizu {
	margin-top: 40px;
}

#history h2 {
	text-align: center;
}

#history {
	position: relative;
	display: flex;
	gap: 10px;
	white-space: nowrap;
	justify-content: center;
	align-items: center;
	top: auto;
	left: auto;
	bottom: auto;
	padding-bottom: 150px;
}

.history-list {
	margin: 40px 0;
	background: #F5F5F5;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	overflow-x: auto;
	width: 100%;
	padding: 10px;
}

.history-list-bg:before {
	content: '';
	position: absolute;
	display: block;
	width: 100vw;
	height: 100%;
	left: 50%;
	margin-left: -50vw;
	background: #F5F5F5;
}

.history-list>.flexBlock {
	position: relative;
	display: flex;
	gap: 10px;
	white-space: nowrap;
	justify-content: center;
	align-items: center;
}

.history-list .year-item {
	font-size: 1.8rem;
	color: #3A3A3A;
	background: #FFFFFF;
	border-radius: 16px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border: 1px solid #3A3A3A;
	width: 152px;
	min-width: 152px;
	height: 32px;
	cursor: pointer;
	transition: 0.3s ease-out;
}

.history-list .year-item.is-active {
	color: #FFFFFF;
	background: #3A3A3A;
	cursor: default;
}

.column {
	flex-direction: column;
}

.history-contents .history-area {
	position: relative;
	opacity: 0;
	display: none;
}

.history-contents .is-active.history-area {
	display: block;
	animation: fadeIn 1s ease forwards;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.history-contents .history-area:before {
	content: '';
	position: absolute;
	display: block;
	width: 2px;
	height: calc(100% - 15px);
	background: #004DA0;
	left: 50%;
	top: 15px;
	margin-left: -1px;
}

.history-contents .history-area .flexBlock.column>.flexBlock {
	width: 50%;
	margin-bottom: 45px;
}

.history-contents .history-area .flexBlock.column>.flexBlock>.rel {
	display: flex;
	flex-direction: column;
	font-size: 1.6rem;
}

.history-contents .history-area .flexBlock.column>.flexBlock>.rel .year {
	font-size: 3.0rem;
	color: #004DA0;
	line-height: 1;
	margin-bottom: 10px;
}

.history-contents .history-area .flexBlock.column>.flexBlock>.rel:before,
.history-contents .history-area .flexBlock.column>.flexBlock>.rel:after {
	content: '';
	position: absolute;
	display: block;
	background: #004DA0;
}

.history-contents .history-area .flexBlock.column>.flexBlock>.rel:before {
	width: 38px;
	height: 2px;
	top: 14px;
}

.history-contents .history-area .flexBlock.column>.flexBlock>.rel:after {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	top: 9px;
}

.history-contents .history-area .flexBlock.column>:nth-child(2n) {
	align-self: flex-start;
	justify-content: flex-end;
}

.history-contents .history-area .flexBlock.column>:nth-child(2n)>.rel {
	align-items: flex-end;
	text-align: right;
	padding-right: 40px;
}

.history-contents .history-area .flexBlock.column>:nth-child(2n - 1) {
	align-self: flex-end;
}

.history-contents .history-area .flexBlock.column>:nth-child(2n - 1)>.rel {
	padding-left: 40px;
}

.history-contents .history-area .flexBlock.column>:nth-child(2n)>.rel:before {
	right: 0;
}

.history-contents .history-area .flexBlock.column>:nth-child(2n)>.rel:after {
	right: -6px;
}

.history-contents .history-area .flexBlock.column>:nth-child(2n - 1)>.rel:before {
	left: 0;
}

.history-contents .history-area .flexBlock.column>:nth-child(2n - 1)>.rel:after {
	left: -6px;
}

.table-area>.reqular>ol.number {
	padding-left: 1.6em;
}

.table-area>.reqular>ol.number>li {
	list-style: decimal;
}

.area-section .inner {
	padding: 0 38px;
}

.sub-page section.area-section {
	padding-top: 10px;
}

.area-section h2.semibold {
	color: #004DA0;
	font-size: 3.0rem;
	margin-top: 90px;
	padding-bottom: 5px;
	margin-bottom: 30px;
	border-bottom: 2px solid #E6E6E6;
}

.list-branches {
	flex-wrap: wrap;
	justify-content: flex-start;
}

.list-branches>div {
	width: 30%;
	margin-right: 5%;
	line-height: 1.5;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: column;
	margin-bottom: 50px;
}

.list-branches>div:nth-child(3n) {
	margin-right: 0;
}

.list-branches>div>.img {
	margin-bottom: 20px;
}

.list-branches>div>p.semibold {
	font-size: 2.0rem;
	margin-bottom: 15px;
}

.list-branches>div>.honbun {
	margin-bottom: 15px;
}

.list-branches>div>a {
	margin-top: auto;
	position: relative;
	justify-content: flex-start;
	align-items: center;
	justify-content: flex-start;
}

.list-branches>div>a>span {
	font-size: 1.4rem;
	text-decoration: underline;
	color: #3A3A3A;
	margin-left: 7px;
	margin-right: 7px;
}

.list-branches>div>a:before,
.list-branches>div>a:after {
	content: '';
	position: relative;
	display: block;
	background-size: contain !important;
}

.list-branches>div>a:before {
	width: 14px;
	height: 19px;
	background: url('../imgs/branches/icon-pin.svg') no-repeat;
	transition: 0.3s ease-out;
}

.list-branches>div>a:after {
	width: 13.5px;
	height: 12px;
	background: url('../imgs/branches/icon-link.svg') no-repeat;
}

#area-hokushinetsu {
	padding-bottom: 150px;
}

.contact-top #top-area,
.privacy-policy-top #top-area,
.news-top #top-area {
	padding-top: 0px;
}

.contact-top h1,
.privacy-policy-top h1,
.news-top h1 {
	color: #3A3A3A;
	font-size: 4.0rem;
	text-align: center;
	margin: 50px auto 30px;
}

.category-links {
	padding: 14px 15px;
	background: #F5F5F5;
	margin-bottom: 30px;
	font-feature-settings: "pwid" 0;
}

.pwid0 {
	font-feature-settings: "pwid" 0;
}

.category-links>ul {
	display: flex;
	position: relative;
	justify-content: center;
	align-items: center;
	gap: 25px;
}

.category-links>ul>li a {
	height: 32px;
	padding: 0 15px;
	display: flex;
	position: relative;
	text-align: center;
	justify-content: center;
	align-items: center;
	border-radius: 16px;
	border: 1px solid #3A3A3A;
	background: #FFFFFF;
	font-size: 1.6rem;
	color: #3A3A3A;
	transition: 0.3s ease-out;
}

.category-links>ul>li a.current {
	color: #FFFFFF;
	background: #3A3A3A;
	pointer-events: none;
}

.post-list {
	max-width: 1040px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 5%;
	padding-left: 15px;
	padding-right: 15px;
}

.post-list>.post-list-item {
	width: 30%;
	margin-bottom: 80px;
}

.post-list>.post-list-item>a {
	display: block;
	position: relative;
	transition: 0.3s ease-out;
}

.post-list>.post-list-item>a .img {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	margin-bottom: 10px;
}

.post-list>.post-list-item>a .img img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
	display: block;
}

.post-list>.post-list-item>a>.meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.post-list>.post-list-item>a>.meta>.date {
	font-size: 1.6rem;
	color: #3A3A3A;
}

.post-list>.post-list-item>a>.meta>.cat {
	display: flex;
	position: relative;
	padding: 5px 15px;
	font-size: 1.4rem;
	line-height: 1;
	font-feature-settings: "pwid" 0;
}

.post-list>.post-list-item>a>.meta>.cat.cat-product-news {
	background: #0089D9;
	color: #FFFFFF;
}

.post-list>.post-list-item>a>.meta>.cat.cat-release {
	background: #E6E6E6;
	color: #3A3A3A;
}

.post-list>.post-list-item>a>.meta>.cat.cat-activities {
	background: #F9BE00;
	color: #3A3A3A;
}

.post-list>.post-list-item>a .title {
	font-size: 1.8rem;
	color: #3A3A3A;
	line-height: 1.7;
}

.pagination-wrap>ul.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.4rem;
	color: #3A3A3A;
	gap: 20px;
}

.pagination-wrap>ul.page-numbers>li>.page-numbers {
	color: #3A3A3A;
	line-height: 1;
	height: 48px;
	width: 48px;
	border: 1px solid #3A3A3A;
	background: #FFFFFF;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: 0.3s ease-out;
}

.pagination-wrap>ul.page-numbers>li>.page-numbers.current {
	color: #FFFFFF;
	background: #3A3A3A;
}

.pagination-wrap>ul.page-numbers>li>.prev.page-numbers,
.pagination-wrap>ul.page-numbers>li>.next.page-numbers {
	width: 24px;
	text-indent: -99999px;
	background-size: auto 18px !important;
	background-position: center center !important;
	border: none;
}

.pagination-wrap>ul.page-numbers>li>.prev.page-numbers {
	background: url("../imgs/common/icon-arrow_prev.svg") no-repeat;
}

.pagination-wrap>ul.page-numbers>li>.next.page-numbers {
	background: url("../imgs/common/icon-arrow_next.svg") no-repeat;
}

.pagination-wrap>ul.page-numbers>li>.page-numbers.dots {
	background: url("../imgs/common/dot.svg") no-repeat;
	width: 50px;
	text-indent: -99999px;
	background-size: 100% auto;
	background-position: center center;
	border: none;
}

.pagination-wrap {
	margin: 0 auto 150px;
	background: #F5F5F5;
	padding: 20px 15px;
}

.ellipsis {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.site-main section.post-section {
	padding: 0 15px;
	margin: 0 auto;
	width: 100%;
	max-width: 960px;
}

.header-area {
	border-top: 5px solid #666666;
	border-bottom: 2px solid #666666;
	padding: 40px 0 20px;
	margin-bottom: 30px;
}

.header-area h2 {
	line-height: 1.5;
	font-size: 3.0rem;
	color: #3A3A3A;
	margin-bottom: 10px;
}

.header-area .flexBlock.meta {
	justify-content: flex-start;
	align-items: center;
}

.header-area .flexBlock.meta .post-date {
	margin-right: 15px;
	color: #3A3A3A;
	font-size: 1.8rem;
}

.header-area .flexBlock.meta .post-categories>span {
	background: #F9BE00;
	color: #3A3A3A;
	font-size: 1.5rem;
	padding: 5px 15px;
	line-height: 1;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.header-area .flexBlock.meta .post-categories>span.cat-product-news {
	background: #0089D9;
	color: #FFFFFF;
}

.header-area .flexBlock.meta .post-categories>span.cat-release {
	background: #E6E6E6;
	color: #3A3A3A;
}

.post-thumbnail {
	margin-bottom: 35px;
}

.post-thumbnail img {
	width: 100%;
	height: auto;
	display: block;
}

.post-content img {
	margin: 35px auto;
	width: 90%;
	display: block;
}

.post-section .hasArrow {
	margin: 60px auto 150px;
	width: 240px;
	font-size: 2.4rem;
}

#contact .sub-text,
.privacy-policy-top .sub-text {
	text-align: center;
}

.site-main.privacy-policy-top section {
	padding-top: 80px;
}

.site-main.privacy-policy-top section>.inner {
	max-width: 960px;
}

.site-main.privacy-policy-top section>.inner .flexBlock.column {
	padding: 35px 0;
	border-top: 1px solid rgba(179, 179, 179, 0.8);
}

.site-main.privacy-policy-top section>.inner .flexBlock.column:last-child {
	border-bottom: 1px solid rgba(179, 179, 179, 0.8);
}

.site-main.privacy-policy-top section>.inner .flexBlock.column .title {
	font-size: 2.0rem;
	margin-bottom: 10px;
}

.site-main.privacy-policy-top section>.inner .flexBlock.column a {
	text-decoration: underline;
	color: #004DA0;
}

.site-main.privacy-policy-top section.contents {
	padding-bottom: 150px;
}

.wpcf7-not-valid-tip {
	color: #dc3232;
	font-size: 1em;
	font-weight: normal;
	display: block;
	margin-top: 10px;
}

.wpcf7-not-valid-tip::before {
	content: "";
	display: inline-block;
	font-size: 1em;
	width: 15px;
	height: 15px;
	padding-top: 5px;
	background-image: url('../imgs/contact/icon_error.svg');
	background-repeat: no-repeat;
	background-size: contain;
}

.contact-top #contact {
	padding-top: 0;
}

#contact>.inner {
	max-width: 800px;
}

.form__steps {
	margin: 80px auto 30px;
	font-size: 1.8rem;
	position: relative;
}

.form__steps>.step {
	position: relative;
	display: block;
	width: 33.33%;
	background: #FFFFFF;
	height: 58px;
}

.form__steps>.step>span {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: calc(100% - 5px);
	height: 100%;
	background: #F5F5F5;
	color: #808080;
	z-index: 2;
}

.form__steps>.step.active>span {
	background: #014DA2;
	color: #FFFFFF;
}

.form__steps>.step>span:after,
.form__steps>.step:after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	top: 50%;
	transform: translateY(-50%);
}

.form__steps>.step>span:after {
	border-top: 29px solid transparent;
	border-bottom: 29px solid transparent;
	border-left: 15px solid #F5F5F5;
	border-right: 0;
	right: -14.5px;
}

.form__steps>.step:after {
	right: -14.5px;
	border-top: 29px solid transparent;
	border-bottom: 29px solid transparent;
	border-left: 15px solid #FFFFFF;
	border-right: 0;
}

.form__steps>.step.active>span:after {
	border-left: 15px solid #014DA2;
}

.form__steps>.step:nth-child(3) {
	z-index: 1;
}

.form__steps>.step:nth-child(3):after,
.form__steps>.step:nth-child(3)>span:after {
	display: none;
}

.form__steps>.step:nth-child(2) {
	z-index: 2;
}

.form__steps>.step:nth-child(1) {
	z-index: 3;
}

.form-inner>dl {
	display: flex;
	flex-direction: column;
}

.form-inner>dl>dt,
.form-inner>dl>dd {
	width: 100%;
}

.form-inner>dl>dt>p {
	font-size: 1.6rem;
	display: flex;
	align-items: center;
}

.form-inner>dl>dt>p>span {
	font-size: 1.2rem;
	padding: 3px 5px;
	border: 1px solid #014DA2;
	color: #014DA2;
	line-height: 1;
	background: #FFFFFF;
	margin-right: 7px;
}

.form-inner>dl>dt>p>span.required {
	color: #FFFFFF;
	background: #014DA2;
}

.form-inner>dl>dd {
	font-size: 1.8rem;
	margin: 7px auto 30px;
	background: #F5F5F5;
	border-radius: 10px;
	padding: 16px;
}

.page-confirmation .form-inner>dl>dd {
	background: none;
}

.form-inner>dl>dd span,
.form-inner>dl>dd input,
.form-inner>dl>dd textarea {
	display: block;
	width: 100%;
	height: 100%;
}

.form-inner>dl>dd textarea {
	resize: none;
}

.flexBlock.hasChk.honbun {
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}

.flexBlock.hasChk.honbun a {
	text-decoration: underline;
	color: #004DA0;
}

.wpcf7-form-control.wpcf7-previous,
.wpcf7-form-control.wpcf7-submit {
	width: calc(100% - 30px);
	max-width: 320px;
	height: 60px;
	border-radius: 30px;
	background: #DE6700;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #FFFFFF;
	font-weight: 700;
	margin: 30px auto 0;
	font-size: 1.8rem;
	position: relative;
	display: block;
	transition: 0.3s ease-out;
}

.wpcf7-form-control.wpcf7-previous {
	color: #3A3A3A;
	background: #FFFFFF;
	margin-top: 10px;
}

.contact-top {
	padding-bottom: 180px;
}

.contact-top input[type="checkbox"] {
	margin-right: 5px;
}

.contact-top .flexBlock.btn-wrap {
	flex-direction: column;
}

.form.thanks {
	text-align: center;
	font-size: 1.8rem;
}

.form.thanks .form-inner {
	margin: 50px auto 60px;
}

.form.thanks .hasArrow {
	max-width: 190px;
	margin: 0 auto;
	font-size: 2.4rem;
}

.flexBlock.hasChk.honbun>:nth-child(1) {
	margin-bottom: 15px;
}

#corporate-philosophy,
#slogan {
	text-align: center;
}

#culture.content-section .sub-title.bold,
#corporate-philosoph.content-section .sub-title.bold {
	margin-bottom: 20px !important;
}

#corporate-philosophy .inner,
#slogan .inner {
	max-width: 900px;
}

#action-guidelines .inner {
	max-width: 520px;
}

#action-guidelines h2 {
	text-align: center;
}

.guidelines-area {
	margin: 60px auto 0;
	flex-direction: column;
}

.guidelines-area>div {
	margin-bottom: 50px;
	display: flex;
	justify-content: flex-start;
}

.guidelines-area>div:last-child {
	margin-bottom: 0;
}

.guidelines-area>div>:nth-child(1) {
	font-size: 4.8rem;
	font-weight: bold;
	color: #004DA0;
	line-height: 1;
	width: 60px;
	min-width: 60px;
}

.guidelines-area>div>:nth-child(2) {
	width: calc(100% - 60px);
}

.guidelines-area>div>div h3 {
	font-weight: bold;
	font-size: 2.0rem;
	margin-bottom: 10px;
}

#corporate-philosophy .sub-title.bold {
	margin: 20px auto;
}

@media screen and (max-width:768px) {
	#action-guidelines .inner {
		display: flex;
		align-items: center;
		flex-direction: column;
	}

	.guidelines-area {
		margin: 15px auto 0;
	}

	#philosophy,
	#culture,
	#slogan {
		text-align: center;
	}
}

@media screen and (min-width:769px) {

	.wpcf7-form-control.wpcf7-previous:hover,
	.wpcf7-form-control.wpcf7-submit:hover,
	.pagination-wrap>ul.page-numbers>li>a:hover {
		opacity: 0.5;
	}

	.list-branches>div>a:hover>span {
		text-decoration: dotted;
	}

	.list-branches>div>a:hover:before {
		transform: scale(1.2);
	}

	.category-links>ul>li a:hover,
	.history-list .year-item:not(.is-active):hover,
	#about .swiper-pagination-custom .year-item:not(.is-active):hover {
		color: #FFFFFF;
		background: #3A3A3A;
		opacity: 0.7;
	}

	.btn-nav-close:hover>span:nth-child(1) {
		transform: rotate(15deg);
	}

	.btn-nav-close:hover>span:nth-child(2) {
		transform: rotate(-15deg);
	}

	.nav-area>div.flexBlock>ul>li.sub>a:hover:before,
	.info-area>.flexBlock>:nth-child(3)>a:hover>span:after,
	.hasArrow:hover:after {
		transform: rotate(360deg) scale(1.2);
	}

	.post-list>.post-list-item>a:hover,
	.nav-area>div.flexBlock>ul>li.sub>a:hover,
	.info-area>.flexBlock>:nth-child(3)>a:hover,
	#top-recruit .banner:hover img,
	h1>.menu-btn:hover,
	.hasArrow:hover,
	.post-item:hover {
		filter: brightness(1.12);
	}

	.line-anim:hover:before,
	.line-anim:hover>span.lt:before {
		width: 100%;
	}

	.line-anim:hover:after,
	.line-anim:hover>span.lt:after {
		height: 100%;
	}

	nav.footer-nav>ul>li>a:hover:after,
	nav.top-nav>ul>li>a:hover:after {
		opacity: 1;
		bottom: 0;
	}

	.btn:hover:after {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1.1) rotate(0deg);
		transition-delay: 0s;
		transition: opacity 0.7s, transform .5s ease-in-out;
	}
}

@media screen and (max-width:1328px) {
	#about .swiper-slide>.flexBlock>.text {
		padding: 3% 5%;
	}

	#about .swiper-pagination-custom {
		width: max-content;
	}
}

@media screen and (max-width:850px) {
	.history-list {
		justify-content: flex-start;
	}

	.history-list>.flexBlock {
		width: max-content;
	}
}

@media screen and (max-width:1200px) {

	.contact-top #top-area,
	.privacy-policy-top #top-area,
	.news-top #top-area {
		padding-top: 50px;
	}

	#about .swiper-container .swiper-button-prev {
		left: 11%;
	}

	#about .swiper-container .swiper-button-next {
		right: 11%;
	}

	#about .swiper-slide>.flexBlock>.text {
		padding: 3% 3%;
	}

	nav.toc {
		display: none !important;
	}

	.bg-line {
		width: 100%;
	}

	.inner {
		width: calc(100% - 30px);
	}

	#about .inner.inner-swiper-pagination {
		width: 100%;
	}

	#top-area .bg-blue {
		width: 100%;
	}

	#masthead>h1,
	#masthead>.side-btns {
		pointer-events: all;
		width: 100px;
		height: 100px;
	}

	.scrolled #masthead>.side-btns {
		height: 400px;
	}

	.side-btns>li {
		height: 100px;
	}

	.side-btns>li>a {
		font-size: 1.2rem;
	}

	.side-btns>li:nth-child(1)>a>.plus-jakarta-sans {
		font-size: 1.1rem;
	}

	.side-btns>li:nth-child(1)>a .icon {
		margin: 2px auto 7px;
		width: 20px;
		height: auto;
	}

	.side-btns>li:nth-child(2)>a .icon {
		width: 20px;
		height: auto;
		margin-top: 10px;
	}

	.side-btns>li:nth-child(3)>a .icon {
		width: 22px;
		height: auto;
		margin-bottom: 10px;
	}

	.side-btns>li:nth-child(4)>a .icon {
		width: 25px;
		height: auto;
		margin-bottom: 10px;
	}

	nav.top-nav {
		padding: 0 100px;
	}

	nav.top-nav>ul>li {
		margin: 0 10px;
	}

	nav.top-nav>ul>li>a {
		font-size: 1.4rem;
	}

	.link-list>li>a {
		font-size: 1.6rem;
	}

	.img-text-area .text:nth-child(1) {
		padding-left: 0px;
	}

	.img-text-area .text:nth-child(2) {
		padding-right: 0px;
	}

	#top-news .inner {
		width: calc(100% - 30px);
	}

	.post-scroll-wrapper {
		width: calc(100% - 30px);
	}

	#top-img>.top-kv .top-text {
		font-size: 5.3rem;
	}

	#top-img>.top-kv .top-text .big {
		font-size: 8.3rem;
	}

	#top-img>#top-kv02 .top-text .big {
		font-size: 7.8rem;
	}

	#top-img>.top-kv .top-text .big small,
	#top-img>#top-kv02 .top-text {
		font-size: 4.8rem;
	}

	#top-img>.top-kv .top-text>div {
		padding: 5px 15px;
	}

	.page-corporate #top-area {
		padding-bottom: 50px;
	}

	#overview .table-area>.reqular {
		padding-right: 0;
	}
}

@media screen and (max-width:830px) {
	#top-img>#top-kv02 .top-text .big {
		font-size: 7rem;
	}

	#top-img>#top-kv02 .top-text {
		font-size: 4rem;
	}
}

@media screen and (max-width:768px) {
	#top-img>.top-kv .top-text>div>span {
		transition: 0.5s ease-out;
	}

	.form.thanks .hasArrow {
		font-size: 1.8rem;
	}

	.wpcf7-form-control.wpcf7-previous,
	.wpcf7-form-control.wpcf7-submit {
		font-size: 1.6rem;
	}

	.form-inner>dl>dd {
		font-size: 1.6rem;
		margin: 5px auto 15px;
		padding: 8px;
	}

	.form-inner>dl>dt>p {
		font-size: 1.4rem;
	}

	.form__steps>.step:after {
		right: -10px;
		border-top: 20px solid transparent;
		border-bottom: 20px solid transparent;
		border-left: 10px solid #FFFFFF;
	}

	.form__steps>.step>span:after {
		border-top: 20px solid transparent;
		border-bottom: 20px solid transparent;
		border-left: 10px solid #F5F5F5;
		right: -10px;
	}

	.form__steps>.step.active>span:after {
		border-left: 10px solid #014DA2;
	}

	.form__steps>.step {
		height: 40px;
	}

	.form__steps {
		margin: 30px auto 15px;
		font-size: 1.6rem;
	}

	.site-main.privacy-policy-top section.contents {
		padding-bottom: 100px;
	}

	.site-main.privacy-policy-top section>.inner .flexBlock.column .title {
		font-size: 1.8rem;
	}

	.site-main.privacy-policy-top section {
		padding-top: 60px;
	}

	#contact .sub-text,
	.privacy-policy-top .sub-text {
		text-align: left;
	}

	.breadcrumb .flexBlock>li::before {
		margin: 0 7px;
	}

	.pagination-wrap {
		padding: 15px 0;
	}

	.pagination-wrap>ul.page-numbers {
		font-size: 1.6rem;
		gap: 10px;
	}

	.pagination-wrap>ul.page-numbers>li>.page-numbers.dots {
		width: 30px;
	}

	.pagination-wrap>ul.page-numbers>li>.page-numbers {
		height: 38px;
		width: 38px;
	}

	.post-list>.post-list-item>a>.meta {
		flex-direction: column;
		align-items: flex-start;
	}

	.post-list>.post-list-item>a>.meta>.date {
		font-size: 1.4rem;
	}

	.post-list>.post-list-item>a>.meta>.cat {
		font-size: 1.3rem;
	}

	.post-list>.post-list-item>a .title {
		font-size: 1.4rem;
	}

	.post-list {
		gap: 4%;
	}

	.post-list>.post-list-item {
		width: 48%;
		margin-bottom: 40px;
	}

	.category-links {
		padding: 12px 0;
	}

	.category-links>ul {
		gap: 10px;
	}

	.category-links>ul>li a {
		height: 30px;
		padding: 0 9px;
		border-radius: 15px;
		font-size: 1.4rem;
	}

	.contact-top #top-area,
	.privacy-policy-top #top-area,
	.news-top #top-area {
		padding-top: 80px;
	}

	.contact-top h1,
	.privacy-policy-top h1,
	.news-top h1 {
		font-size: 3.2rem;
		margin: 40px auto 25px;
		line-height: 1.5;
	}

	.area-section .inner {
		padding: 0 0;
	}

	#area-hokushinetsu {
		padding-bottom: 50px;
	}

	.list-branches {
		justify-content: space-between;
	}

	.list-branches>div>p.semibold {
		font-size: 1.6rem;
		margin-bottom: 7px;
	}

	.area-section h2.semibold {
		font-size: 2.4rem;
		margin-top: 30px;
		margin-bottom: 20px;
	}

	.list-branches>div {
		width: 47.5%;
		margin-right: 0;
		margin-bottom: 35px;
	}

	#history {
		padding-bottom: 75px;
	}

	.history-contents .history-area .flexBlock.column>.flexBlock>.rel::after {
		top: 5px;
	}

	.history-contents .history-area .flexBlock.column>.flexBlock>.rel:before {
		top: 10px;
	}

	.history-contents .history-area::before {
		left: 5px;
		margin-left: 0;
		height: calc(100% - 10px);
		top: 10px;
	}

	.history-contents .history-area .flexBlock.column> :nth-child(2n)>.rel::before {
		right: auto;
		left: 0;
	}

	.history-contents .history-area .flexBlock.column> :nth-child(2n)>.rel::after {
		right: auto;
		left: -6px;
	}

	.history-contents .history-area .flexBlock.column> :nth-child(2n)>.rel {
		align-items: flex-start;
		text-align: left;
		padding-right: 0;
		padding-left: 40px;
	}

	.history-contents .history-area .flexBlock.column>.flexBlock {
		width: 100%;
		align-self: flex-start !important;
		justify-content: flex-start !important;
		margin-bottom: 35px;
		padding-left: 6px;
	}

	.history-contents .history-area .flexBlock.column>.flexBlock>.rel {
		font-size: 1.4rem;
	}

	.history-contents .history-area .flexBlock.column>.flexBlock>.rel .year {
		font-size: 2.0rem;
	}

	.history-list .year-item {
		font-size: 1.4rem;
		border-radius: 15px;
		width: 100px;
		min-width: 100px;
		height: 30px;
	}

	#overview .table-area>.reqular.flexBlock>.sh {
		line-height: 1;
		margin-top: 15px;
	}

	#overview .table-area>.reqular.flexBlock>.sh:nth-child(1) {
		margin-top: 10px;
	}

	#overview .table-area>.reqular.flexBlock>.sh,
	#overview .table-area>.reqular.flexBlock>span {
		width: 100%;
	}

	#overview .table-area {
		flex-direction: column;
		font-size: 1.4rem;
	}

	#overview .table-area>.semibold {
		width: 100%;
		margin-bottom: 5px;
	}

	#overview .table-area>.reqular {
		width: 100%;
	}

	.sub-page section.gray-area {
		margin-top: 75px;
		padding-top: 50px;
	}

	#about .swiper-container .swiper-button-prev {
		left: 1%;
	}

	#about .swiper-container .swiper-button-next {
		right: 1%;
	}

	#about .swiper-button-prev,
	#about .swiper-button-next {
		width: 30px;
		height: 30px;
	}

	#about .swiper-slide>.flexBlock>.text p.bold {
		font-size: 1.6rem;
		width: 52%;
		padding-bottom: 0;
		margin-bottom: 0;
		display: flex;
		justify-content: center;
		align-items: flex-start;
		flex-direction: column;
	}

	#about .swiper-slide>.flexBlock>.text>.flexBlock>div {
		display: flex;
		position: relative;
		margin-bottom: 15px;
		justify-content: space-between;
	}

	#about .swiper-slide>.flexBlock>.text>.flexBlock>div>.img {
		width: 43%;
	}

	#about .swiper-slide>.flexBlock>.text p.bold .plus-jakarta-sans {
		font-size: 2.8rem;
	}

	#about .swiper-slide>.flexBlock>.text {
		font-size: 1.4rem;
		width: 100%;
	}

	#about .swiper-slide {
		transform: scale(0.8);
		padding-top: 15px;
		padding-bottom: 15px;
	}

	#about .swiper-slide.is-active {
		transform: scale(0.9);
	}

	#about .swiper-pagination-custom .year-item {
		font-size: 1.4rem;
		border-radius: 15px;
		width: 60px;
		min-width: 60px;
		height: 30px;
	}

	#community-contribution>.inner>.flexBlock {
		flex-direction: column;
	}

	#community-contribution>.inner>.flexBlock>:nth-child(1) {
		width: 100%;
		max-width: 310px;
		margin-bottom: 25px;
	}

	#community-contribution>.inner>.flexBlock>:nth-child(2) {
		width: 100%;
	}

	.line-title {
		font-size: 2.8rem;
	}

	.square-list {
		font-size: 1.2rem;
	}

	.breadcrumb .flexBlock {
		padding: 5px 0px;
	}

	.breadcrumb .flexBlock>li {
		font-size: 1.0rem;
	}

	#quality-policy .inner>.flexBlock>.flexBlock:nth-child(1) {
		margin-bottom: 30px;
	}

	#quality-policy .inner>.flexBlock>.flexBlock {
		width: 100% !important;
		font-size: 1.2rem;
	}

	#quality-policy .inner>.flexBlock>.flexBlock>.img {
		min-width: inherit !important;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 10px;
	}

	#quality-policy .inner>.flexBlock>div .img {
		height: 220px;
		margin-right: 0px;
	}

	#quality-policy>.inner>.flexBlock,
	#quality-policy>.inner>.flexBlock>.flexBlock {
		flex-direction: column;
		align-items: center;
	}

	.sub-page section.gray-area h2.normal {
		font-size: 3.2rem;
	}

	section .btn-orange {
		line-height: 1.5;
		padding-top: 5px;
		padding-bottom: 5px;
	}

	section h2.normal {
		font-size: 2.8rem;
		text-align: center;
	}

	#top-area h2.normal {
		font-size: 2.8rem;
	}

	.page-business #top-area {
		padding-bottom: 0;
	}

	.sub-page section {
		padding-top: 65px;
	}

	#top-area {
		padding-top: 0;
	}

	#sub-top-img h1 {
		font-size: 3.2rem;
	}

	#sub-top-img .kv-text {
		bottom: -7px;
	}

	.sp.scrolled #masthead>h1>span {
		opacity: 0;
		pointer-events: none;
	}

	.sp #masthead>h1>a,
	.sp.scrolled #masthead>h1>a {
		opacity: 1;
		pointer-events: all;
	}

	#top-img>.top-kv .top-text {
		font-size: 3.4rem;
		align-items: center;
	}

	#top-img>.top-kv .top-text .big {
		font-size: 5.3rem;
	}

	#top-img>#top-kv02 .top-text .big {
		font-size: 4.5rem;
	}

	#top-img>.top-kv .top-text .big small,
	#top-img>#top-kv02 .top-text {
		font-size: 3rem;
	}

	#loading>.flexBlock>img {
		width: 140px;
		margin-bottom: 10px;
	}

	#loading>.flexBlock {
		font-size: 2.0rem;
	}

	#masthead>h1 {
		width: 80px;
		height: 80px;
	}

	.scrolled #masthead>.side-btns,
	#masthead>.side-btns {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 80px;
		display: flex;
		flex-direction: row;
	}

	.side-btns>li {
		height: 80px;
		width: 25%;
		transform: translateY(0) !important;
	}

	.btn-nav {
		width: 50px;
		height: 50px;
		background: #3A3A3A;
		position: relative;
		pointer-events: all;
		z-index: 17;
		cursor: pointer;
	}

	.btn-nav>span {
		width: 20px;
		height: 2px;
		position: absolute;
		display: block;
		left: 15px;
		transform-origin: center center;
		background: #FFFFFF;
		transition: 0.3s ease-out;
	}

	.btn-nav>span:nth-child(1) {
		top: 18px;
	}

	.btn-nav>span:nth-child(2) {
		top: 24px;
	}

	.btn-nav>span:nth-child(3) {
		bottom: 18px;
		width: 12px;
	}

	.open .btn-nav>span:nth-child(1) {
		top: 24px;
		transform: rotate(25deg);
	}

	.open .btn-nav>span:nth-child(2) {
		top: 24px;
		opacity: 0;
	}

	.open .btn-nav>span:nth-child(3) {
		bottom: 24px;
		width: 20px;
		transform: rotate(-25deg);
	}

	.nav-area>div.flexBlock {
		position: relative;
		max-width: 768px;
		max-height: 600px;
		height: calc(100% - 130px);
		width: 100%;
		top: 50px;
		margin: auto;
		bottom: auto;
		right: auto;
		flex-direction: column;
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.nav-area>div.flexBlock>ul {
		width: 100%;
	}

	.nav-area>div.flexBlock>ul>li {
		padding: 5px 0;
		min-height: 38px;
		margin-bottom: 10px;
	}

	.nav-area>div.flexBlock>ul>li>a {
		font-size: 1.6rem;
	}

	.nav-area>div.flexBlock>ul>li>a.hasArrow::after {
		width: 28px;
		height: 28px;
	}

	.nav-area>div.flexBlock>ul>li.sub>a:before {
		width: 21px;
		height: 21px;
	}

	.nav-area>div.flexBlock>ul>li.sub>a {
		font-size: 1.4rem;
	}

	.nav-area>div.flexBlock>ul>li.sub {
		min-height: 31px;
		padding-top: 5px;
		padding-bottom: 5px;
		margin-bottom: 5px;
	}

	.nav-area>div.flexBlock>ul>li.sub>a>.bold {
		margin-left: 10px;
		margin-right: 10px;
	}

	.nav-area>div.flexBlock>ul>li.medium>a {
		font-size: 1.2rem;
	}

	.side-btns>li:nth-child(1)>a>.plus-jakarta-sans {
		display: none;
	}

	.side-btns>li:nth-child(1)>a .icon {
		margin: 10px auto 0;
	}

	#top-business .img-text-area .img {
		display: none;
	}

	.img-text-area .img {
		order: 2;
	}

	.img-text-area .text {
		width: 100%;
		margin-left: 0;
	}

	.img-text-area .text:nth-child(2)>div {
		padding-left: 0;
	}

	section h2.hasLine>.plus-jakarta-sans {
		font-size: 1.6rem;
	}

	section h2.hasLine>.semibold {
		font-size: 3.2rem;
	}

	.honbun {
		font-size: 1.4rem;
	}

	section h2.hasLine {
		margin-bottom: 24px;
	}

	.img-text-area .text>.parts {
		display: none;
	}

	.link-list {
		margin: 0px auto;
	}

	.link-list>li {
		width: calc(50% - 5px);
	}

	.link-list>li>a {
		flex-wrap: wrap;
		padding-bottom: 5px;
		padding-top: 0px;
		margin-bottom: 15px;
	}

	.link-list>li>a> :nth-child(1) {
		margin-right: 0px;
		width: 100%;
		line-height: 1.2;
	}

	.info-area>.flexBlock> :nth-child(3)>a>span:after,
	.hasArrow:after {
		width: 30px;
		min-width: 30px;
		height: 30px;
	}

	.img-text-area .text>div {
		min-height: inherit;
		max-width: inherit;
	}

	#top-business .img.sp-only {
		width: calc(100% + 15px);
		margin-left: -15px;
	}

	#top-business .img.sp-only>img {
		width: 100%;
		height: auto;
		margin-top: 15px;
	}

	.parts.parts01.sp-only {
		width: 280px;
	}

	.parts.parts02.sp-only {
		width: 160px;
	}

	#top-branches .parts.parts02.sp-only,
	#top-business .parts.parts01.sp-only {
		margin: 20px 15px 0 auto;
	}

	.content-section .parts.parts02.sp-only,
	#top-csr .parts.parts02.sp-only,
	#top-corporate .parts.parts02.sp-only {
		margin: 20px auto 0 15px;
	}

	.parts.sp-only>img {
		width: 100%;
		height: auto;
	}

	.site-main section {
		padding-top: 50px;
	}

	.img-text-area {
		flex-direction: column;
	}

	.img-text-area .text:nth-child(1)>div {
		padding-right: 0%;
	}

	.content-section .text .hasArrow {
		margin-top: 20px;
	}

	.hasArrow {
		font-size: 1.6rem;
	}

	.img-text-area .img {
		width: calc(100% + 15px);
	}

	.img-text-area .img:nth-child(1) {
		margin-left: -15px;
	}

	.img-text-area .img:nth-child(2) {
		margin-right: -15px;
	}

	.post-scroll-wrapper .control-area .swiper-scrollbar {
		width: calc(100% - 100px);
	}

	.post-item {
		width: 260px;
	}

	.post-item .date {
		font-size: 1.4rem;
	}

	.post-item .cat-name {
		width: 110px;
		height: 20px;
		font-size: 1.2rem;
	}

	.post-item .post-title {
		font-size: 1.6rem;
	}

	#top-news .flexBlock.sp-only.hasArrow {
		margin-left: auto;
		width: 138px;
		margin-top: 50px;
		margin-right: 15px;
	}

	#top-news {
		margin-top: 30px;
		padding-top: 30px;
		padding-bottom: 30px;
	}

	h2.normal {
		font-size: 3.2rem;
		margin-bottom: 30px;
	}

	#top-recruit {
		padding-bottom: 60px;
	}

	#top-recruit .honbun {
		text-align: left;
	}

	.bottom-contact-area {
		padding: 30px 15px;
	}

	.bottom-contact-area>.flexBlock {
		flex-direction: column;
		flex-wrap: inherit;
	}

	.bottom-contact-area>.flexBlock>.sub-text {
		font-size: 1.4rem;
	}

	.bottom-contact-area>.flexBlock>.flexBlock {
		width: 100%;
		max-width: 360px;
		margin-left: auto;
		margin-right: auto;
	}

	.bottom-contact-area>.flexBlock>.flexBlock>.title {
		font-size: 2.0rem;
		border-bottom: 4px solid #FFFFFF;
		padding-bottom: 3px;
		margin-bottom: 15px;
	}

	.bottom-contact-area>.flexBlock>.flexBlock>a {
		height: 90px;
	}

	.bottom-contact-area>.flexBlock>.flexBlock>a.tel {
		font-size: 2.4rem;
		background: #F9BE00;
		margin-bottom: 30px;
		color: #3A3A3A;
	}

	.bottom-contact-area>.flexBlock>.flexBlock>a.tel>span::before {
		width: 24px;
		height: 25px;
		background: url('../imgs/common/icon-tel.svg') no-repeat center center;
	}

	.bottom-contact-area>.flexBlock>.flexBlock>a.tel .reception-hours {
		font-size: 1.4rem;
	}

	.bottom-contact-area>.flexBlock>.flexBlock>a>span::before {
		width: 30px;
		height: 25px;
	}

	.bottom-contact-area>.flexBlock>.flexBlock>a.mail {
		font-size: 2.0rem;
	}

	footer .copyright {
		padding-bottom: 100px;
	}

	.info-area {
		padding: 30px 15px 30px;
	}

	.info-area>.flexBlock {
		flex-direction: column;
		align-items: center;
	}

	.info-area>.flexBlock>div {
		width: 100% !important;
		max-width: 320px;
	}

	.info-area>.flexBlock>:nth-child(1) {
		order: 2;
		margin-bottom: 25px;
	}

	.info-area>.flexBlock>:nth-child(2) {
		order: 3;
		text-align: center;
	}

	.info-area>.flexBlock>:nth-child(2)>strong {
		text-align: center;
		margin: 0 auto 5px;
	}

	.info-area>.flexBlock>:nth-child(2)>.rel.reqular {
		margin: 0 auto;
	}

	.info-area>.flexBlock>:nth-child(3) {
		order: 1;
		margin-bottom: 20px;
	}

	.info-area>.flexBlock>:nth-child(3)>div>span,
	.info-area>.flexBlock>:nth-child(3)>a>span {
		font-size: 1.4rem;
	}
}

@media screen and (max-width:410px) {
	.category-links>ul {
		gap: 5px;
	}

	.category-links>ul>li a {
		padding: 0 5px;
		font-size: 1.2rem;
	}
}

@media screen and (max-width:345px) {
	#top-img>#top-kv02 .top-text .big {
		font-size: 4.0rem;
	}

	#quality-policy .inner>.flexBlock>div:nth-child(2) .img>img {
		width: 100%;
		height: auto;
	}

	#quality-policy .inner>.flexBlock>div:nth-child(2) .img {
		height: auto;
	}

}

.thumbnail-news {
	border: 1px solid #F5F5F5;
}

#modal {
	position: fixed;
	display: none;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	height: 100dvh;
	background: rgba(0, 0, 0, 0.8);
}

#modal>.flexBlock {
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 740px;
	position: relative;
	height: 100%;
	margin: 0 auto;
}

#modal .modal-content {
	max-width: 620px;
	margin: 0 auto;
	font-size: 1.6rem;
	line-height: 2;
	color: #FAFAFA;
	text-align: left;
	position: relative;
	display: block;
	width: 100%;
	padding: 30px;
	height: auto;
	max-height: calc(100vh - 60px);
	overflow: auto;
}


#modal .modal-content img {
	max-width: 100%;
	height: auto;
}

#modal .modal-content .img-area {
	margin-bottom: 30px;
}

#modal .close-btn {
	width: 100px;
	height: 100px;
	position: absolute;
	display: block;
	top: 0;
	right: 0;
	cursor: pointer;
	z-index: 9;
}

#modal .close-btn>span {
	width: 50px;
	height: 2px;
	background: #FFFFFF;
	position: absolute;
	top: 50%;
	left: 50%;
	transform-origin: center center;
	transition: 0.3s ease-out;
}

#modal .close-btn>span:nth-child(1) {
	transform: translate(-50%, -50%) rotate(25deg);
}

#modal .close-btn>span:nth-child(2) {
	transform: translate(-50%, -50%) rotate(-25deg);
}

@media screen and (min-width:769px) {
	#modal .close-btn:hover>span:nth-child(1) {
		transform: translate(-50%, -50%) rotate(45deg);
	}

	#modal .close-btn:hover>span:nth-child(2) {
		transform: translate(-50%, -50%) rotate(-45deg);
	}
}

@media screen and (max-width:768px) {}

.flexBlock.sp-only,
.sp-only {
	display: none !important;
}

.pc-only {
	display: block !important;
}

span.pc-only {
	display: inline-block !important;
}

.flexBlock.pc-only {
	display: flex !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

@media screen and (max-width:768px) {

	span.pc-only,
	.flexBlock.pc-only,
	.pc-only {
		display: none !important;
	}

	.sp-only {
		display: block !important;
	}

	.flexBlock.sp-only {
		display: flex !important;
	}

	.mb80 {
		margin-bottom: 50px !important;
	}
}