@charset "UTF-8";
/*========================================
Re:vite
Date : 
Style : each contents CSS "index"
Filename : contents.css
========================================*/
/*========================================
Text Format
========================================*/
* {
  word-break: normal !important;
  word-wrap: break-word;
}
main {
  display: block;
}
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}
video {
    width: 100%;
}
/*========================================
common
========================================*/
#slider img { width:1140px; height:400px; display:block; }

.side-fix {
	position: fixed;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	z-index: 50;
}
.side-fix li {
	width: 50px;
}
.side-fix li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	color: #fff;
	font-size: 1.1rem;
	letter-spacing: 4px;
	-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
				writing-mode: vertical-rl;
}
.side-fix li:first-of-type {
	position: relative;
	background: #003492;
	transform: skewY(-20deg);
	transition: 0.4s;
	z-index: 1;
}
.side-fix li:nth-of-type(2) {
    position: relative;
    background: #e63d3d;
    transform: skewY(20deg) translateY(-19px);
    transition: 0.4s;
    z-index: 1;
}
.side-fix li:nth-of-type(3),
.side-fix li:nth-of-type(4){
	position: relative;
	margin: -20px 0 0;
	background: #7ecef4;
	transform: skewY(20deg);
	transition: 0.4s;
	z-index: 2;
}
.side-fix li:nth-of-type(4) {
  margin: 0;
  border-top: 1px solid #fff;
}

.side-fix li:first-of-type a {
	height: 140px;
	padding: 20px 0 30px;
	transform: skewY(20deg);
}
.side-fix li:nth-of-type(2) a {
    height: 110px;
    padding: 20px 0 28px;
    transform: skewY(-20deg);
}
.side-fix li:nth-of-type(3) a,
.side-fix li:nth-of-type(4) a{
	height: 30px;
	padding: 15px 0 15px;
	transform: skewY(-20deg);
}
.side-fix li a img {
	width: 28px;
}

#modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,0.3);
	z-index: 50;
}
.page-ttlcont {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 450px;
    /* min-height: 400px;
    max-height: 450px; */
}
.page-ttl {
	margin: -30px 0 0;
	color: #fff;
	font-size: 3rem;
	text-align: center;
	letter-spacing: 5px;
	line-height: 1.2;
	text-shadow: 0 0 5px #555;
}
.page-ttl span {
	font-size: 1rem;
	font-style: italic;
	letter-spacing: 2px;
}
.subttl {
	box-sizing: border-box;
	position: relative;
	padding: 0 0 0 2rem;
	font-size: 2rem;
	line-height: 1.3;
	letter-spacing: 4px;
}
.subttl:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 30px 0 0;
	border-color: #032a71 transparent transparent transparent;
}
.subttl span {
	color: #004097;
	font-size: 1.1rem;
	font-style: italic;
}
.base-btn,
.base-btn2,
.base-btn3 {
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	padding: 13px 45px;
	background: linear-gradient(to right, rgba(0,0,0,0) 50%, #003492 50%);
	background-size: 200% auto;
	border: 2px solid #003492;
	border-radius: 3px;
	color: #003492;
	transition: 0.4s;
}
.base-btn:after,
.base-btn2:after,
.base-btn3:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	width: 9px;
	height: 12px;
	background: url("../images/icon/arrow.png") center / cover no-repeat;
	transform: translateY(-50%);
}
.base-btn2:after,
.base-btn3:after {
	background: url("../images/icon/arrow-w.png") center / cover no-repeat;
}
.base-btn2 {
	background: linear-gradient(to right, #003492 50%, rgba(0,0,0,0) 50%);
	background-size: 200% auto;
	border: 2px solid #003492;
	color: #fff;
}
.base-btn3 {
	background: linear-gradient(to right, #032a71 50%, #fff 50%);
	background-size: 200% auto;
	border: 1px solid #fff;
	color: #fff;
}
.pc-cont {
	display: block;
}
.tab-cont {
	display: none;
}
.sp-cont {
	display: none;
}
.staff-btn {
	display: inline-block;
	margin: 0 0 10px;
	padding: 5px 20px 5px 40px;
	background: url("../images/icon/card.png") left 15px center / 17px no-repeat #fff;
	border-radius: 2px;
	box-shadow: 2px 2px #657ca7;
	color: #003492;
	transition: 0.4s;
}
.footer-link {
	box-sizing: border-box;
	position: relative;
	margin: 70px auto;
	padding: 40px 0 40px 100px;
}
.footer-link .subttl {
	color: #fff;
}
.footer-link .subttl span {
	color: #fff;
}
.footer-link .subttl:before {
	border-color: #fff transparent transparent transparent;
}
@media (max-width: 959px){
	.tab-cont {
		display: block;
	}
	.page-ttlcont {
        height: 230px;
        /* min-height: auto;
        max-height: none; */
	}
	.pc-cont1 {
		display: none;
	}
}
@media (max-width: 767px) {
	.pc-cont {
		display: none;
	}
	.sp-cont {
		display: block;
	}
	.side-fix {
		display: none;
	}
	.subttl {
		font-size: 1.75rem;
	}
	.footer-link {
		display: flex;
		justify-content: center;
		padding: 60px 0;
	}
	.page-ttl.page-ttl_delivery {
		font-size: 2.4rem;
	}
}
@media (max-width: 374px) {
  
}

/*========================================
top
========================================*/
.main-visual {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 100vh;
	background-position: center;
	background-size: cover;
	animation: move;
	animation-duration: 3s;
}
@keyframes move {
  0% { background-position: right }
  100% { background-position: left}
}
.main-visual > span {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: 90;
	animation: mainvisual;
	animation-duration: 3s;
	animation-delay: 7s; 
	animation-fill-mode: forwards;
}
@keyframes mainvisual {
  0% {  }
  99% { 
		transform: translateX(100%);
		opacity: 1;
	}
	100% {
		transform: translateX(100%);
		opacity: 0;
	}
}
.main-visual .main-visual_text {
	position: absolute;
	bottom: 25%;
	left: 15%;
    line-height: 1.25;
	z-index: 95;
	/*animation: zindex;
	animation-duration: 2.6s;
	animation-delay: 14s; 
	animation-fill-mode: forwards;*/
}
.left-top {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20vw 40vw 0 0;
	border-color: #fff transparent transparent transparent;
	opacity: 0.3;
}
.left {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 100vh 20vw 0 0;
	border-color: #fff transparent transparent transparent;
	opacity: 0.3;
}
.right-top {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 20vw 40vw;
	border-color: transparent transparent #fff transparent;
	opacity: 0.3;
}
.right {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 100vh 20vw;
	border-color: transparent transparent #fff transparent;
	opacity: 0.3;
}
.top-bg {
	position: absolute;
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,0.4);
	z-index: 5;
}
.main-visual.ie > div p {
	color: #fff;
}
_:lang(x)::-ms-backdrop, .main-visual.ie > div p {
	color: #fff;
}
@keyframes zindex {
  0% {  }
  100% {
		z-index: 20;
	}
}
.main-visual > div p {
	position: relative;
	margin: 0 0 25px;
	/*background: -webkit-linear-gradient(left,#000 50%, #fff 50%);
	background: linear-gradient(left,#000 50%, #fff 50%);
	background-size: 200% auto;
  -webkit-background-clip: text;
	background-clip: text;
  -webkit-text-fill-color: transparent;
	text-fill-color: transparent;*/
	font-size: 3vw;
	/*animation: mainvisual-text;
	animation-duration: 2s;
	animation-delay: 14s; 
	animation-fill-mode: forwards;*/
	/*text-shadow: rgba(0,0,0,0.2) 1px 1px 0;*/
	/*text-shadow: rgba(0,0,0,0.2) 2px 2px 0;*/
}
.main-visual > div p strong{
  font-size: 9vw;
}
.main-visual > div p:first-of-type strong{
    opacity: 1;
}
.main-visual > div p:nth-of-type(2) strong{
    font-size: 4.3vw;
}
.main-visual > div p small{
  font-size: 1.5vw;
	/*line-height: 5px;*/
}
@keyframes mainvisual-text {
  0% {  }
  100% {
		background-position: -100% 0px;
	}
}
.main-visual > div p span {
	/* position: absolute;
	top: -15%;
	right: 0;
	display: block;
	width: 100%;
	height: 130%;
	background: #fff; */
}
.main-visual > div p:nth-of-type(1) span {
    opacity: 0;
	animation-name: text1;
	animation-duration: 3s;
	animation-delay: 2s;
	animation-fill-mode: forwards;
}
.main-visual > div p:nth-of-type(2) {
    opacity: 0;
	animation-name: text1;
	animation-duration: 3s;
	animation-delay: 3s; 
	animation-fill-mode: forwards;
}
.main-visual > div p:nth-of-type(2) span {
    opacity: 0;
	animation-name: text1;
	animation-duration: 3s;
	animation-delay: 3s; 
	animation-fill-mode: forwards;
}
/* .main-visual > div p:nth-of-type(3) span {
	animation-name: text1;
	animation-duration: 3s;
	animation-delay: 5s; 
	animation-fill-mode: forwards;
}
.main-visual > div p:nth-of-type(4) span {
	animation-name: text1;
	animation-duration: 2s;
	animation-delay: 5s; 
	animation-fill-mode: forwards;
} */
.asterisk:after {
	content: "*";
	font-size: 2vw;
	vertical-align: super;
}
@keyframes text1 {
  0% { opacity: 0; }
	100% { opacity: 1; }
}
.top-product {
	display: flex;
}
.top-product ul {
	width: 60%;
}
.top-product.greet ul li img {
    min-height: 520px;
    margin-bottom: -2px;
}
.top-product > div {
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40%;
	padding: 2% 100px 2% 30px;
	background: #eeeeee;
	z-index: 4;
}
.top-product.greet > div {
	background: #fff;
}
.top-product > div:before {
	content: "";
	position: absolute;
	top: 0;
	left: -15%;
	width: 100%;
	height: 100%;
	background: #eee;
	z-index: -1;
	transform: skewX(-12deg);
}
.top-product.greet > div:before {
    background: #fff;
}
.top-product > div p {
	line-height: 1.8; 
}
.top-product.greet > div p {
    margin-bottom: 15px;
}
.top-subttl {
	margin: 0 0 20px;
	padding: 0;
}
.top-subttl:before {
	display: none;
}
.top-btnbox1 {
	margin: 50px 0 0;
	text-align: right;
}
.slick-top.slick-slider.slick-dotted {
	margin: 0;
}
.slick-top .topslide-dots {
	position: absolute;
	bottom: 8%;
	left: 50%;
	display: flex!important;
	align-items: center;
	justify-content: center;
	width: 100%;
	transform: translateX(-50%);
}
.topslide-dots li {
	margin: 0 20px;
}
.topslide-dots li button {
	position: relative;
	text-indent: -9999px;
}
.topslide-dots li button:before {
	content: '';
	width: 15px;
	height: 15px;
	background: #e5e5e5;
	border-radius: 50%;
	text-indent: 0px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.topslide-dots li button:hover:before {
	cursor: pointer;
}
.topslide-dots .slick-active button:before {
	background: #000;
	border: 2px solid #fff;
}
.top-company {
	display: flex;
}
.company_img {
	width: 60%;
}
.top-company > div{
	box-sizing: border-box;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40%;
    padding: 2% 100px 2% 30px;
    background: #ffffff;
    z-index: 4;
}
.top-company > div:before {
    content: "";
    position: absolute;
    top: 0;
    left: 17%;
    width: 100%;
    height: 100%;
    background: #ffffff;
    z-index: -1;
    transform: skewX(-12deg);
}
.top-company > div > video {
    display: none;
}
.top-company img {
	height: 100%;
}
.top-recruit-ttl {
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	max-width: 1024px;
	margin: 0 auto;
	padding: 30px 10px 20px;
}
.top-recruit-ttl > div:first-of-type {
	width: 70%;
}
.top-recruit-ttl p {
	line-height: 1.8;
}
.top-recruit-span {
	color: #000!important;
	font-size: 1.62rem!important;
	font-style: normal!important;
}
.top-recruit-list {
	display: flex;
}
.top-recruit-list li {
	overflow: hidden;
	position: relative;
	width: 33.333%;
}
.top-recruit-list figure {
	position: relative;
	transition: 1s;
}
.top-recruit-list figure img {
	vertical-align: bottom;
	transition: 0.4s;
}
.top-recruit-list figure:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.1);
	transition: 0.4s;
}
.top-recruit-list p {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	color: #fff;
	font-size: 1.5rem;
	transform: translate(-50%,-50%);
	line-height: 1.5;
	text-align: center;
	z-index: 2;
	transition: 0.4s;
}
.top-delivery {
	padding: 50px 0;
	background: url("../images/content/top/bg-delivary.jpg") center / cover no-repeat;
	text-align: center;
}
.top-delivery h3 {
	color: #fff;
}
.top-delivery h3 span {
	color: #fff;
}
.top-delivery p {
	max-width: 600px;
	margin: 0 auto 40px;
	color: #fff;
	line-height: 1.8;
}
.top-news {
	display: flex;
}
.top-news figure {
	width: 50%;
}
.top-news > div {
	box-sizing: border-box;
	position: relative;
	width: 50%;
	padding: 3% 60px 4%;
	background: #fff;
	z-index: 3;
}
.top-news > div:before {
	content: "";
	position: absolute;
	top: 0;
	left: -7%;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: -1;
	transform: skewX(-10deg);
}
.top-news-ttl {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.top-news figure {
	background: url("../images/content/top/top_under.jpg") center / cover no-repeat;
}
.top-news dl {
	display: flex;
	align-items: center;
	padding: 20px 0;
	border-bottom: 1px solid #bfbfbf;
	line-height: 1.5;
}
.top-news a dl {
	color: #004098;
	border-bottom: 1px solid #004098;
}
.top-news dl dt {
	width: 110px;
}
.top-news dl dd {
	width: calc(100% - 120px);
}
.top-news .base-btn {
	transform: scale(0.8);
}
@media (max-width: 1200px) {
    .top-product.greet > div {
        padding: 2% 55px 2% 20px;
    }
}
@media (max-width: 959px){
    .top-product.greet ul li img {
        min-height: auto;
    }
	.main-visual .main-visual_text {
		left: 10%;
	}
	.top-product {
		display: block;
	}
	.top-product ul {
		width: 100%;
	}
	.top-product > div {
		width: 100%;
		padding: 2% 10px;
		background-color: #eeeeee;
	}
	.top-product > div:before {
		display: none;
	}
	.top-company > div{
		width: 100%;
		padding: 2% 10px;
		display: block;
	}
    .top-company > div > video {
        display: block;
        width: 100vw;
        margin: 0 calc(50% - 50vw);
    }
	.top-company > div:before {
		content: none;
	}
	.company_img {
		display: none;
	}
	.top-recruit-ttl {
		display: block;
	}
	.top-btnbox2 {
		margin: 50px 0 0;
		text-align: right;
	}
	.top-news dl {
		display: block;
	}
	.top-news dl dt {
		width: 100%;
	}
	.top-news dl dd {
		width: 100%;
	}
	.top-news > figure {
		display: none;
	}
	.top-news > div {
		width: 100%;
	}
}
@media (max-width: 767px) {
    .top-product.greet > div {
        padding: 20px 10px 50px;
    }
	.top-btnbox1 {
		margin: 30px 0 10px;
		text-align: center;
	}
	.top-btnbox2 {
		margin: 30px 0 10px;
		text-align: center;
	}
	.top-recruit-ttl > div:first-of-type {
        width: 100%;
	}
	.top-recruit-span {
		font-size: 1.37rem!important;
	}
	.top-recruit-list {
		display: block;
	}
	.top-recruit-list li {
		width: 100%;
	}
	.top-recruit-list figure {
		height: 280px;
	}
	.top-recruit-list figure:after {
		background: rgba(255,255,255,0.6);
	}
	.top-recruit-list p {
		color: #000;
		font-size: 1.87rem;
	}
	.top-delivery {
		background-image: url("../images/content/top/bg-delivary_sp.jpg");
	}
	.top-delivery p {
		max-width: 80%;
	}
	.top-news > div:before {
		display: none;
	}
	.top-news > div {
		padding: 50px 10px;
	}
	.main-visual > div p {
		margin-bottom: 10px;
		font-size: 1.2rem;
	}
	.main-visual > div p small {
        font-size: 0.8rem;
    }
    .main-visual > div p strong {
        font-size: 13vw;
	}
    .main-visual > div p:nth-of-type(2) strong {
        font-size: 1.5rem;
    }
	.asterisk:after {
		font-size: 1rem;
	}
	.main-visual .main-visual_text {
		left: 15px;
		bottom: 45%;
	}
	.left-top {
		border-width: 30vw 60vw 0 0;
	}
	.left {
		border-width: 50vh 30vw 0 0;
	}
	.right-top {
		border-width: 0 0 50vh 30vw;
	}
	.right {
		border-width: 0 0 30vw 60vw;
	}
	.main-visual > div p:nth-of-type(4) span {
		width: 110%;
		animation-duration: 2s;
	}
}
@media (max-width: 374px) {
  
}


/*========================================
company
========================================*/
.page-ttlcont.company {
	background: url("../images/content/company/mv.jpg") center / cover no-repeat;
}
.company-message {
	overflow: hidden;
	position: relative;
	display: flex;
    align-items: center;
    max-height: 550px;
}
.company-message2 {
    padding: 8rem 0;
	overflow: hidden;
	position: relative;
	background: url("../images/content/company/bg-message4_pc.jpg") center / cover no-repeat;
}
.company-message2--inner {
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
    padding: 0 20px!important;
}
/*.company-message:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 100vw 0 0;
	border-color: #fff transparent transparent transparent;
}*/
/*.company-message:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 50px 100vw;
	border-color: transparent transparent #fff transparent;
}*/
.company-message > div:first-of-type {
	width: 52%;
    min-height: 550px;
    margin-bottom: -2px;
    background: url("../images/content/company/bg-message3_pc.jpg") left center / 100% no-repeat;
}
.company-message > div:last-of-type {
	box-sizing: border-box;
	position: relative;
	width: 48%;
	padding: 40px 60px 70px 30px;
	z-index: 2;
}
.company-message > div:last-of-type:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.9);
	z-index: -1;
}
.company-message > div:last-of-type:after {
	content: "";
	position: absolute;
	top: 0;
	left: -100px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 1000px 100px;
	border-color: transparent transparent rgba(255,255,255,1) transparent;
}
.company-message h3,
.company-message2 h3 {
	margin: 0 0 20px;
}
.company-message2 h3 {
    margin: 0 0 40px;
    text-align: center;
    font-size: 2.25rem;
    color: #fff;
}
.company-message p {
    margin: 0 0 20px;
    line-height: 1.5;
}
.company-message2 p {
	margin: 0 0 8px;
	line-height: 1.5;
}
.company-message2 p {
    font-size: 1.125rem;
    color: #fff;
}
.company-message2 p span {
    font-size: 1.875rem;
}
.company-message p:last-of-type {
	margin: 0;
	text-align: right;
}
.company-message2 p:last-of-type {
    text-align: center;
}
.plofile {
	margin: 0 0 50px;
	padding: 50px 0;
}
.plofile .main-wrapper {
	display: flex;
	justify-content: space-between;
}
.plofile-table {
	width: 60%;
}
.plofile-table dl {
	display: flex;
	line-height: 1.8;
}
.plofile-table dl dt {
	width: 140px;
	padding: 20px 0;
	border-bottom: 1px solid #003492;
}
.plofile-table dl dd {
	box-sizing: border-box;
	width: calc(100% - 140px);
	padding: 20px 0 20px 40px;
	border-bottom: 1px solid #eee;
}
.company-map {
	margin: 0 0 100px;
}
.company-map .main-wrapper {
	display: flex;
	justify-content: space-between;
}
.company-map figure {
	max-width: 70%;
}
.subcoment p{
	margin: 10px auto;
	max-width: 80%;
}
.map_come{
	padding: 40px 0;
	line-height: 1.8;
}
@media (max-width: 959px){
	
}
@media (max-width: 767px) {
	.company-message,
    .company-message2 {
		display: block;
	}
    .company-message {
        padding: 18rem 0 0;
        background: url(../images/content/company/bg-message3.jpg) top center / contain no-repeat;
    }
    .company-message2 {
        padding: 4rem 0;
        background: url(../images/content/company/bg-message4.jpg) center / cover no-repeat;
    }
    .company-message2--inner {
        height: auto!important;
        padding: 0 20px!important;
    }
    .company-message2 > div:first-of-type {
		box-sizing: border-box;
		width: 100%;
		height: 300px;
	}
	.company-message > div:last-of-type,
    .company-message2 > div:last-of-type {
		width: 100%;
		padding: 20px 10px 50px;
	}
    .company-message > div:first-of-type {
        display: none;
    }
    .company-message2 p {
        font-size: 1rem;
    }
    .company-message2 p span {
        font-size: 1.625rem;
    }
	/*.company-message:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 800px 0 0;
    border-color: #fff transparent transparent transparent;
	}	*/
	/*.company-message > div:last-of-type:after {
		top: -50px;
		right: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 50px 800px;
		border-color: transparent transparent rgba(255,255,255,0.9) transparent;
	}*/
	.plofile {
		margin: 0;
		padding: 70px 0;
	}
	.plofile .main-wrapper {
		display: block;
	}
	.plofile .subttl {
		margin: 0 0 30px;
	}
	.plofile-table {
		width: 100%;
	}
	.plofile-table dl {
		position: relative;
		display: block;
		padding: 20px 0;
		border-bottom: 1px solid #eee;
	}
	.plofile-table dl:after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 40%;
		height: 1px;
		background: #003492;
	}
	.plofile-table dl dt {
		width: 100%;
		margin: 0 0 10px;
		padding: 0;
		border: none;
	}
	.plofile-table dl dd {
		width: 100%;
		padding: 0;
		border: none;
	}
	.company-map .main-wrapper {
		display: block;
	}
	.company-map .subttl {
		margin: 0 0 10px;
	}
	.company-map figure {
		max-width: 100%;
	}
	.map_come {
    padding: 15px 0;
	}
}
@media (max-width: 320px) {
  .main-visual > div p {
		font-size: 1rem;
	}
}

/*========================================
product
========================================*/
.main-wrapper.w2{
	max-width: 1080px;
	margin-bottom: 70px;
	padding: 0 2rem;
	position: relative;
}
.page-ttlcont.product {
    position: relative;
    overflow: hidden;
    background: url("../images/content/product/mv.mp4") center / cover no-repeat;
}
.page-ttlcont.product .page-ttl {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 10;
}
.page-ttlcont.product video {
    position: relative;
    z-index: 8;
    width: 110%;
}
.page-ttlcont.product::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .3);
    z-index: 9;
}
.product1 {
	overflow-x: hidden;
	margin: 50px 0 120px;
}
.product1 .subttl {
	padding-top: 1rem;
	font-weight: bold;
}
.product-cont1-1 {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 50px 0;
	background: #032a71;
}
.product-cont1-1:after {
	content: "";
	position: absolute;
	top: 0;
	right: -5%;
	width: 10%;
	height: 100%;
	background: #4f6a9c;
	transform: skewX(-10deg);
}
.product-cont1-1 figure {
	position: relative;
	width: 45%;
	margin: -150px 60px 0 0;
}
.product-cont1-1 figure img {
	width: 90%;
}
.product-cont1-1 > div {
	width: 35%;
}
.product-cont1-1 h3 {
	margin: 0 0 20px;
	color: #fff;
	font-size: 2.8rem;
}
.product-cont1-1 h3 span {
	font-size: 1rem;
	line-height: 3.5rem;
}
.product-cont1-1 p {
	font-size: 1.5rem;
	color: #fff;
	line-height: 1.8;
}
.product-cont1-2 {
	position: relative;
	width: 100%;
	margin: 0 -10% 0 10%;
}
.product-cont1-2 h4 {
	position: relative;
	margin: 0 0 15px;
	padding: 0 0 15px;
	border-bottom: 1px solid #eee;
	font-size: 1.5rem;
	line-height: 1.5;
}
.product-cont1-2 h4:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 30%;
	height: 1px;
	background: #003492;
}
.product-list1 .slick-slide {
	margin: 0 5px;
}
.product-list1 .next-arrow {
	position: absolute;
	top: -57px;
	left: 80%;
	width: 30px;
}
.product-list1 figure {
	margin: 0 0 10px;
}
.product-list1 p {
	font-size: 1.25rem;
}
.product2 {
	overflow-x: hidden;
	margin: 0 0 100px;
}
.product-cont2-1 {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	padding: 50px 0;
	background: #eee;
}
.product-cont2-1:after {
	content: "";
	position: absolute;
	top: 0;
	left: -5%;
	width: 10%;
	height: 100%;
	background: #a7b3c8;
	transform: skewX(-10deg);
}
.product-cont2-1 figure {
	position: relative;
	width: 55%;
	margin: -150px 0 0;
	text-align: right;
}
.product-cont2-1 figure img {
	width: 90%;
}
.product-cont2-1 > div {
	width: 35%;
}
.product-cont2-1 h3 {
	margin: 0 0 20px;
	color: #032a71;
	font-size: 2.8rem;
}
.product-cont2-1 h3 span {
	font-size: 1rem;
	line-height: 3.5rem;
}
.product-cont2-1 p {
	font-size: 1.5rem;
	line-height: 1.8;
}
.small_txt{
	font-size: 2rem!important;
}
.product-cont2-2 {
	position: relative;
	width: 100%;
	margin: 0 10% 0 -10%;
}
.product-cont2-2 h4 {
	position: relative;
	margin: 0 0 15px;
	padding: 0 0 15px 15%;
	border-bottom: 1px solid #eee;
	font-size: 1.5rem;
	line-height: 1.5;
}
.product-cont2-2 h4:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 30%;
	height: 1px;
	background: #003492;
}
.product-list2 .slick-slide {
	margin: 0 5px;
}
.product-list2 .next-arrow {
	position: absolute;
	top: -64px;
	right: 0%;
	width: 30px;
}
.product-list2 figure {
	margin: 0 0 10px;
}
.product-list2 p {
	font-size: 1.25rem;
}
.product-introduction {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 70px 0;
}
.product-introduction > figure {
	width: 50%;
}
.product-introduction > div {
	width: 40%;
}
.introduction-arrow p:after {
	content: "";
	position: absolute;
	top: -30px;
	left: 50%;
	border-top: 100px solid #cdd4e3;
  border-right: 150px solid transparent;
  border-left: 150px solid transparent;
	transform: translateX(-50%);
	z-index: -1;
}
.product-introduction h4 {
	margin: 0 0 10px;
	padding: 20px 0 10px;
	border-bottom: 1px solid #032a71;
	font-weight: 600;
	font-size: 2.75rem
}
.product-introduction h4 span {
	color: #032a71;
	font-size: 2.75rem;
}
.product-introduction p {
	font-size: 1.5rem;
	line-height: 1.8;
}
.introduction-arrow {
	margin: 0 0 150px;
	font-size: 1.5rem;
	text-align: center;
}
.introduction-arrow.reverse{
	margin-bottom: 50px;
}
.introduction-arrow p {
	position: relative;
	display: inline-block;
	font-weight: bold;
 	font-family: "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	line-height: 1.8;
	z-index: 1;
}
.introduction-arrow.reverse p:after {
	content: "";
	position: absolute;
	top: -20px;
	left: 50%;
	border-top: 70px solid #cdd4e3;
	border-right: 95px solid transparent;
	border-left: 95px solid transparent;
	transform: rotate(180deg) translateX(50%);
	z-index: -1;
}
.introduction-arrow.reverse p:last-child:after {
	content: none;
}
.main-wrapper.w1.w2:after {
	content: "";
	display: block;
	position: absolute;
	top: 107%;
	left: 50%;
	width: 110px;
	height: 95px;
	background: url(../images/content/product/arrow.png);
	background-repeat: no-repeat;
	background-size: contain;
	border-top: none;
	border-right: none;
	border-left: none;
	transform: translateX(-50%);
}
.main-wrapper.w2:after {
	content: "";
	display: block;
	position: absolute;
	top: 112%;
	left: 50%;
	width: 410px;
	height: 95px;
	background: url(../images/content/product/arrow3.png);
	background-repeat: no-repeat;
	background-size: contain;
	border-top: none;
	border-right: none;
	border-left: none;
	transform: translateX(-50%);
}
.product-bottom {
	margin: 0 0 50px;
}
.product-bottom h3 {
	position: relative;
	margin: 0 0 100px;
	font-size: 2rem;
	line-height: 2;
	text-align: center;
}
.product-bottom h3:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -20px;
	width: 540px;
	height: 1px;
	background: #003492;
	transform: translateX(-50%);
}
.footer-link.product {
	box-sizing: border-box;
	display: flex;
	justify-content: flex-end;
	background: url("../images/content/product/footer-link.jpg");
	padding-right: 100px;
	position: relative;
}
.footer-link.product::before {
  content: '';
  background-color: rgba(0,0,0,.3);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.footer-link.product .subttl {
	padding-top: 1rem;
}
.icons{
	display: flex;
	justify-content: center;
}
.icons li{
  margin:0 10px;
	width: 20%;
	background: #cdd4e3;
	text-align: center;
}
.main-wrapper.w1{
	position: relative;
	padding: 0!important;
}
.icons li:first-child{
	margin-left: 0;
}
.icons li:last-child{
	margin-right: 0;
}
.icons li p{
	padding:20px 0;
	font-family: "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-weight: bold;
}
.icons img{
	width: 75%;
	padding-top:20px; 
}
.swiper-wrapper li{
	width: 10px;
}
.slider li img{
	width: 90%;
}
.swiper-button-prev{
	color: red;
}
.syamei{
	max-width: 850px;
	margin: 0 auto;
	padding-top: 20px;
}
.logo_syamei{
	width: 100px;
	padding-right: 30px;
}
.text_syamei{
	padding: 30px 0;
	color: white;
	font-size: 5rem;
}
@media (max-width: 959px){
	
}
@media (max-width: 767px) {
    .main-wrapper.w2 {
        margin-bottom: 85px;
    }
    .page-ttlcont.product::before {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, .3);
        z-index: 9;
    }
  .page-ttlcont.product video {
    width: 200%;
  }
  .page-ttlcont.product .page-ttl {
    top: 60%;
  }
	.product-cont1-1 {
		display: block;
	}
	.product-cont1-1 figure {
		width: 100%;
		margin: -90px 0 20px;
	}
	.product-cont1-1:after {
		right: -25%;
		width: 30%;
	}
	.product-cont1-1 > div {
		box-sizing: border-box;
		width: 85%;
		padding: 0 0 0 10px;
	}
	.product-cont1-1 h3 {
		font-size: 1.5rem;
		line-height: 1.2;
	}
	.product-cont1-2 {
		margin: 0 10px;
	}
	.product-cont1-2 h4 {
		font-size: 1.1rem;
	}
	.product-list1 .next-arrow {
		top: -73px;
		left: 85%;
	}
	.product-cont2-1 {
		flex-direction: column-reverse;
	}
	.product-cont2-1 figure {
		width: 100%;
		margin: -90px 0 20px;
	}
	.product-cont2-1:after {
		left: -35%;
		width: 30%;
	}
	.product-cont2-1 > div {
		box-sizing: border-box;
		width: 100%;
		padding: 0 10px;
	}
	.product-cont2-1 h3 {
		font-size: 1.5rem;
		line-height: 1.2;
	}
	.product-cont2-2 {
		margin: 0 10px;
	}
	.product-cont2-2 h4 {
		padding: 0 0 15px;
		font-size: 1.1rem;
	}
	.product-list2 .next-arrow {
		top: -73px;
		left: 85%;
	}
	.product-introduction {
		display: block;
		margin: 50px 0 30px;
	}
	.product-introduction > figure {
		width: 100%;
	}
	.product-introduction > div {
		width: 100%;
	}
	.product-introduction h4 {
		
		font-size: 1.2rem;
	}
	.product-introduction h4 span {
		font-size: 2.25rem;
	}
  .product-introduction p {
    font-size: 1.1rem;
  }
  .product-introduction p b font,
  .product-cont1-1 p b font,
  .product-cont2-1 p b font {
    font-size: 1.75rem;
  }
  .product-cont1-1 p,
  .product-cont2-1 p {
    font-size: 1.1rem;
  }

	.introduction-arrow {
		margin: 0 0 100px;
	}
	.introduction-arrow p {
		font-size: 1.1rem;
	}
	.introduction-arrow p:after {
		top: 0;
		border-top: 70px solid #cdd4e3;
    border-right: 130px solid transparent;
    border-left: 130px solid transparent;
	}
    .introduction-arrow.reverse{
        margin-bottom: 50px;
    }
	.product-bottom h3 {
		margin: 0 0 50px;
		font-size: 1.25rem;
	}
	.product-bottom h3:after {
		width: 90%;
		bottom: -15px;
	}
	.footer-link.product {
		justify-content: center;
		padding-right: 0;
	}
 	.icons {
	 flex-wrap: wrap;
	}
	.icons li{
		box-sizing: border-box;
		width: 27.5%;
		margin: 7px;
	}
	.icons li p{
		padding:5px 0;
		font-size: 0.75rem;
    font-weight: bold;
	}
	.icons li:first-child{
	  margin-left: 10px;
}
	.icons li:last-child{
	  margin-right: 10px;
	}
	.icons img{
	padding-top:7px; 
	}
	.introduction-arrow.reverse p:after {
	content: "";
	position: absolute;
	top: -20px;
	left: 50%;
	border-top: 50px solid #cdd4e3;
	border-right: 70px solid transparent;
	border-left: 70px solid transparent;
	transform: rotate(180deg) translateX(50%);
	z-index: -1;
	}
	.syamei{
	max-width: 90%;
	}
	.text_syamei{
	    padding: 30px 0;
	    font-size: 3rem;
	}
	.logo_syamei{
	    width: 70px;
		padding-right: 10px;
	}
	.main-wrapper.w1.w2:after {
        top: 109%;
        width: 90px;
        height: 95px;
    }
    .main-wrapper.w2:after {
        content: "";
        display: block;
        position: absolute;
        top: 124%;
        width: 320px;
    }
}

@media (max-width: 374px) {
  
}

/*========================================
news
========================================*/
.page-ttlcont.news {
	background: url("../images/content/news/mv.jpg") center / cover no-repeat;
}
.news-list li {
	display: flex;
	padding: 50px 0;
	border-bottom: 1px solid #bfbfbf;
}
.news-list li h4 {
	margin: 0 0 20px;
	font-size: 1.5rem;
	line-height: 1.4;
}
.news-time {
	margin: 0 0 10px;
	color: #7b7b7b;
	font-size: 0.9rem;
}
.news-list .news-text {
	margin: 0 0 20px;
	line-height: 1.8;
}
.pdf-link a {
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0 0 20px;
	color: #000;
	font-size: 1.1rem;
	text-decoration: underline;
}
.ex-link a {
	font-size: 1.1rem;
}
.ex-link a span {
	padding: 5px 4px;
	background: #003492;
	border-radius: 3px;
	color: #fff;
	font-size: 0.9rem;
	letter-spacing: -2px;
}
.pdf-link a img {
	width: 27px;
	margin: 0 10px 0 0;
}
.news-list .left-cont {
	width: 50%;
}
.news-list .right-cont {
	width: calc(50% - 50px);
	margin: 0 0 0 50px;
	text-align: right;
}
.news-list .right-cont figure {
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 420px;
	height: 280px;
	box-shadow: 0 0 10px rgba(0,0,0,0.4);
}
.news-list .right-cont figure img {
	width: auto;
	max-height: 280px;
	vertical-align: bottom;
}
@media (max-width: 959px){
	.news-list .right-cont figure {
		width: 320px;
		height: 213px;
	}
	.news-list .right-cont figure img {
		max-height: 213px;
	}
}
@media (max-width: 767px) {
    .page-ttlcont.news {
        background: url("../images/content/news/mv_sp.jpg") center / cover no-repeat;
    }
	.news-list li {
		display: block;
	}
	.news-list .left-cont {
		width: 100%;
		margin: 0 0 20px;
	}
	.news-list .right-cont {
		width: 100%;
		margin: 0;
	}
	.news-list .right-cont figure {
		width: 100%;
		height: 66.666vw;
	}
	.news-list .right-cont figure img {
		max-height: 66.666vw;
	}
}
@media (max-width: 374px) {
  
}

/*========================================
recruit
========================================*/
.page-ttlcont.recruit {
	background: url("../images/content/recruit/recruit.jpg") center / cover no-repeat;
}
.recruit-cont {
	overflow: hidden;
}
.subttl.recruit {
	margin: 0 0 100px;
}
.recruit-top {
	padding: 100px 0 60px;
	font-size: 2rem;
	text-align: center;
	line-height: 1.5;
}
.title-font-big span {
	font-size: 4rem;
}
.text-font-big span {
	font-size: 3rem;
}
.recruit-triangle {
	position: relative;
	z-index: 10;
}
.recruit-triangle:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 100px 100vw 0 0;
	border-color: #fff transparent transparent transparent;
	z-index: -1
}
.recruit-triangle:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 100px 100vw;
	border-color: transparent transparent #fff transparent;
	z-index: 1;
}
.bg-recruit1 {
	margin: 0 0 30px;
	background: url("../images/content/recruit/bg-section1.jpg") center / cover no-repeat;
}
.bg-recruit1 .main-wrapper {
	position: relative;
	text-align: right;
}
.recruit-section {
	display: inline-block;
	width: 60%;
}
.recruit-section h4 {
	position: relative;
	display: inline-block;
	padding: 15% 0 10%;
	color: #fff;
	font-size: 3.75rem;
	line-height: 1.2;
	text-align: center;
}
.recruit-section h4 img {
	position: absolute;
	right: -100px;
	top: -50px;
	width: 300px;
	z-index: -1
}
.recruit-image {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60%;
	max-width: 650px;
}
.recruit-image.recruit-img3 {
	position: absolute;
	left: 0;
	bottom: 0px;
	width: 60%;
	max-width: 700px;
}
.recruit-section p {
	box-sizing: border-box;
	position: relative;
	padding: 30px;
	background: #fff;
	line-height: 1.8;
	text-align: left;
	z-index: 10;
}
.recruit-list {
	position: relative;
	margin: 0 0 300px;
	/* z-index: 1; */
}
.recruit-list-triangle {
	position: absolute;
	bottom: -190px;
	left: 0;
	width: 100%;
	height: 600px;
	background: url("../images/content/recruit/bg-recruit-list.png") center / cover no-repeat;
	z-index: -1;
}
.recruit-list-triangle2 {
	position: absolute;
	bottom: -190px;
	left: 0;
	width: 100%;
	height: 600px;
	background: url("../images/content/recruit/bg-recruit-list2.png") center / cover no-repeat;
	z-index: -1;
}
.recruit-list ul {
	display: flex;
	justify-content: space-between;
}
.recruit-list li {
	width: 30%;
}
.recruit-list li:nth-of-type(1) {
	transform: translateY(100px);
}
.recruit-list li:nth-of-type(2) {
	transform: translateY(50px);
}
.recruit-list figure {
	margin: 0 0 10px;
}
.recruit-list figure img:first-of-type {
	display: inline-block;
}
.recruit-list figure img:last-of-type {
	display: none;
}
.recruit-list h5 {
	margin: 0 0 10px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.5;
}
.recruit-list p {
	margin: 0 0 10px;
	color: #fff;
	font-size: 1.1rem;
	line-height: 1.8;
}
.bg-recruit2 {
	margin: 0 0 30px;
	background: url("../images/content/recruit/bg-section2.jpg") center / cover no-repeat;
}
.bg-recruit2 .main-wrapper {
	position: relative;
	text-align: left;
}
.bg-recruit2 .recruit-image {
	right: 0;
	left: auto;
}
.bg-recruit2 .recruit-section h4 {
	padding: 25% 0 10%;
}
.bg-recruit2 .recruit-section h4 img {
	top: 25px;
	left: -70px;
	right: auto;
	width: 280px;
}
.bg-recruit3 {
	background: url("../images/content/recruit/bg-section3.jpg") center / cover no-repeat;
}
.gallery .subttl {
	margin: 0 0 30px;
}
.gallery ul li {
	padding: 5px 0;
}
.gallery ul li figure {
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% - 15px);
	height: calc(30vw - 15px);
	margin: 0 10px 10px;
	box-shadow: 0 0 5px rgba(0,0,0,0.4);
}
.gallery ul li img {
	width: auto;
	max-height: calc(30vw - 15px);
}
.recruit-guide-ttl {
	display: flex;
	align-items: flex-end;
	margin: 0 auto 50px;
}
.recruit-guide-ttl .subttl {
	margin: 0 30px 0 0;
}
.recruit-guide-ttl p {
	line-height: 1.8;
}
.recruit-guide-tab {
	display: flex;
}
.recruit-guide-tab li {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 180px;
	height: 60px;
	background: #ddd;
	color: #003492;
	font-size: 1.1rem;
}
.recruit-guide-tab li.active {
	background: #003492;
	color: #fff;
}
.recruit-guide-tab2 {
	display: flex;
	flex-wrap: wrap;
	padding: 0 0 20px;
	border-bottom: 1px solid #eee;
}
.recruit-guide-tab2 li {
	margin: 0 0 5px;
	padding: 5px 15px;
	border-left: 1px solid #000;
	color: #2467FF;
	text-decoration: underline;
}
.recruit-guide-tab2 li.active {
	color: #000;
	text-decoration: none;
}
.recruit-guide {
	padding: 70px 0;
	background: #f5f5f5;
}
.recruit-guide-cont {
	box-sizing: border-box;
	padding: 75px;
	background: #fff;
}
.recruit-guide .main-wrapper > section {
	display: none;
}
.recruit-guide .main-wrapper > section.active {
	display: block;
}
.recruit-table {
	display: none;
}
.recruit-table.active {
	display: block;
}
.recruit-guide-cont dl {
	position: relative;
	display: flex;
	align-items: center;
	padding: 20px 0;
	border-bottom: 1px solid #eee;
	line-height: 1.8;
}
.recruit-guide-cont dl:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 150px;
	height: 1px;
	background: #003492;
}
.recruit-guide-cont dl dt {
	box-sizing: border-box;
	width: 150px;
	padding: 0 10px;
	text-align: center;
}
.recruit-guide-cont dl dd {
	box-sizing: border-box;
	width: calc(100% - 150px);
	padding: 0 20px 0 50px;
}
.recruit-guide-text {
	margin: 0 0 50px;
	font-size: 1.1rem;
	line-height: 1.8;
	text-align: center;
}
.recruit-bunner {
	max-width: 700px;
	margin: 50px auto;
}
.footer-link.recruit {
	background: url("../images/content/recruit/footer-link.jpg") center / cover no-repeat;
}
.footer-link.recruit .subttl {
	margin: 0;
}
.top-recruit .main-wrapper{
	margin-bottom: 150px;
	display: flex;
}
.top-recruit-table {
	margin-left: 70px;
	width: 75%;
	font-size: 1.4rem;
}
.location-text {
	line-height: 45px;
}
.top-recruit-table p{
	margin: 20px 0 15px 0;
}
.top-recruit-table dl {
    display: flex;
    line-height: 1.8;
}
.top-recruit-table dl dt {
    width: 180px;
    padding: 20px 0;
	  border-top: 1px solid #003492;
    border-bottom: 1px solid #003492;
}
.top-recruit-table dl dd {
    box-sizing: border-box;
    width: calc(100% - 120px);
    padding: 10px 0 10px 40px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
@media (max-width: 959px){
	.recruit-section h4 img {
		right: 0;
		width: 220px;
	}
	.bg-recruit2 .recruit-section h4 img {
		left: 0;
		width: 220px;
	}
	.recruit-section h4 {
		font-size: 3rem;
	}
	.recruit-guide-ttl {
		display: block;
	}
	.recruit-guide-ttl .subttl {
		margin: 0 0 20px;
	}
	.top-recruit-table {
		margin-left: 100px;
		width: 57%;
		font-size: 1rem;
	}
	.top-recruit-table dl dt {
		width: 140px;
	}
	.recruit-image.recruit-img3 {
		position: absolute;
		left: 0;
		bottom: 15px;
		width: 60%;
		max-width: 700px;
	}
}
@media (max-width: 767px) {
	.recruit-top {
		padding: 50px 0 30px;
		font-size: 1.37rem;
		line-height: 2;
	}
	.title-font-big span {
	font-size: 2.05rem;
	}
	.text-font-big span {
	font-size: 1.6rem;
	}
	.recruit-triangle:before {
		border-width: 30px 100vw 0 0;
	}
	.recruit-triangle:after {
		border-width: 0 0 30px 100vw;
	}
	.recruit-section h4 {
		padding: 25% 0 20%;
		font-size: 1.87rem;
	}
	.recruit-section {
		width: 80%;
	}
	.recruit-section p {
    position: absolute;
    top: 75%;
    right: 10px;
    width: 80%;
	padding: 10px;
	}
    .bg-recruit3 {
        margin: 0 0 195px;
    }
    .bg-recruit3 .recruit-section p {
        width: 88%;
    }
	.recruit-image {
	width: 80%;
	}
	.recruit-image.recruit-img3 {
		width: 80%;
	}
	.recruit-image.recruit-img3 {
	position: absolute;
	left: 0;
	bottom: 0;
	}
	.recruit-section h4 img {
	top: -30px;
	width: 120px;
	}
	.bg-recruit2 .recruit-section h4 img {
    top: -25px;
    width: 120px;
	}
	.recruit-list ul {
		display: block;
		margin: 120px 0 0;
	}
	.recruit-list li {
		margin: 0 0 40px;
	}
	.recruit-list li:nth-of-type(odd) {
		width: calc(100% - 30px);
		margin-right: 30px;
	}
	.recruit-list li:nth-of-type(even) {
		width: calc(100% - 30px);
		margin-left: 30px;
	}
	.recruit-list li:nth-of-type(1),
	.recruit-list li:nth-of-type(2) {
		transform: none;
	}
	.recruit-list h5 {
		font-size: 1.1rem;
	}
	.recruit-list p {
		font-size: 1rem;
	}
	.recruit-list-triangle {
		height: 120%;
	}
	.subttl.recruit {
		margin: 0 0 25px;
	}
	.recruit-list figure img:first-of-type {
	display: none;
}
	.recruit-list figure img:last-of-type {
		display: inline-block;
	}
	.bg-recruit2 .recruit-section h4 {
    padding: 62% 0 32%;
	}
	.recruit-list-triangle2 {
		height: 120%;
	}
	.recruit-list {
		margin: 0 0 200px;
	}
	.gallery ul li figure {
		height: calc(60vw - 15px);
	}
	.gallery ul li img {
    max-height: calc(60vw - 15px);
	}
	.recruit-guide-cont {
		padding: 40px 10px 20px;
	}
	.recruit-guide-cont dl {
		display: block;
	}
	.recruit-guide-cont dl dt {
		width: 100%;
		padding: 0;
		font-size: 1.1rem;
		font-weight: bold;
		text-align: left;
	}
	.recruit-guide-cont dl dd {
		width: 100%;
		padding: 0;
		font-size: 1rem;
	}
	.top-recruit .main-wrapper{
		display: block;
  }
	.top-recruit-table p{
		padding: 10px 0;
	}
	.top-recruit-table p {
    line-height: 35px;
  }
	.top-recruit-table dl dt {
    padding: 10px 0;
		width: 118px;
	}
	.top-recruit-table dl dd {
		padding: 10px 0 10px 5px;
		width: 100%;
	}
	.top-recruit .main-wrapper {
    margin-bottom: 100px;
	}
	.top-recruit-table {
    margin-left: 0;
    width: auto;
		font-size: 0.9rem!important;
	}
}
@media (max-width: 319px) {
}

/*========================================
delivery
========================================*/
.page-ttlcont.delivery {
	background: url("../images/content/delivery/mv.jpg") center / cover no-repeat;
}
.schedule-contents {
	margin: 0 auto 80px;
}
.schedule-contents .subttl {
	margin: 0 0 50px;
}
.schedule-box {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin: 15px 0 0;
	font-family: "Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
.schedule-box > ul {
	box-sizing: border-box;
	width: 49%;
	border: 1px solid #ddd;
}
.schedule-list li:nth-of-type(odd) {
	background: #f2f5f9;
}
.schedule-list dl {
	box-sizing: border-box;
	display: flex;
}
.schedule-list dl dt {
	box-sizing: border-box;
	width: 70%;
	padding: 20px 10px;
	border-right: 1px solid #fff;
}
.schedule-list dl dt h5 {
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1.2;
}
.schedule-list dl dt p {
	margin: 5px 0 0;
	line-height: 1.5;
}
.schedule-list dl dd {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30%;
	color: #032a71;
	font-size: 1.6rem;
	font-weight: bold;
}
.schedule-list li:first-of-type dl {
	background: #003492;
	color: #fff;
	font-size: 1.1rem;
	font-weight: bold;
	text-align: center;
}
.schedule-list li:first-of-type dl dt {
	padding: 10px;
}
.schedule-list li:first-of-type dl dd {
	color: #fff;
	font-size: 1.1rem;
}
.schedule-caution {
	line-height: 1.8;
}
.delivery-area {
	margin: 0 auto 80px;
}
.delivery-area-ttl {
	display: flex;
	align-items: flex-end;
	margin: 0 0 30px;
}
.delivery-area-ttl .subttl {
	margin: 0 50px 0 0;
}
.delivery-area-ttl p {
	line-height: 1.8;
}
.calender-img {
	width: 70%;
	margin: 0 auto;
}
.areamap_ar {
	display: flex;
	justify-content: space-between;
}
.areamap_ar > div {
	width: 48%;
}
.areamap_ar > div figure {
	box-sizing: border-box;
	margin: 0 0 20px;
	padding: 0 30px;
}
.areamap_ar > div h6 {
	position: relative;
	font-size: 1.1rem;
	margin: 0 0 5px;
	padding: 0 0 5px;
	border-bottom: 1px solid #eee;
}
.areamap_ar > div h6:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100px;
	height: 1px;
	background: #032a71;
}
.areamap_ar ul li { 
	box-sizing: border-box;
	padding: 0 0 0 20px;
	background: url("../images/content/delivery/arrow.png") left top 5px / 15px no-repeat;
	line-height: 1.5;
}
@media (max-width: 959px){
	.calender-img {
		width: 100%;
	}
}
@media (max-width: 767px) {
	.schedule-box {
		display: block;
	}
	.schedule-box > ul {
		width: 100%;
	}
	.schedule-box > ul:first-of-type {
		border-bottom: none;
	}
	.schedule-box > ul:last-of-type {
		border-top: none;
	}
	.schedule-box > ul:last-of-type li:first-of-type {
		display: none;
	}
	.schedule-contents .subttl {
		margin: 0 0 20px;
	}
	.delivery-area-ttl {
		display: block;
	}
	.delivery-area-ttl .subttl {
		margin: 0 0 20px;
	}
	.areamap_ar {
		display: block;
	}
	.areamap_ar > div {
		width: 100%;
	}
	.areamap_ar > div:first-of-type {
		margin: 0 0 70px;
	}
	.areamap_ar ul li {
		margin: 0 0 5px;
	}
	
}
@media (max-width: 374px) {
  .areamap_ar ul li {
		background: url(../images/content/delivery/arrow.png) left top 2px / 15px no-repeat;
	}	
}

/*========================================
add 210830
========================================*/
.link-btn {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 450px;
  height: 75px;
  margin: 50px auto;
  border: 2px solid #032a71;
  background-color: #032a71;
  color: #fff;
  font-size: 24px;
  border-radius: 4px;
  transition: 0.4s;
}
.link-btn figure {
  width: 30px;
  margin-right: 10px;
}
.link-btn:hover {
  opacity: 0.8;
}

@media (max-width: 959px){
	
}
@media (max-width: 767px) {
  .link-btn figure {
    width: 25px;
  }
  .link-btn {
    height: 100px;
    font-size: 24px;
  }
	
}
@media (max-width: 374px) {
  
}

/*========================================
hover
========================================*/
@media(min-width:960px) {
	.base-btn:hover {
		cursor: pointer;
		background-position: -100% 0px;
		color: #fff;
	}
	.base-btn:hover:after {
		background-image: url("../images/icon/arrow-w.png");
	}
	.base-btn2:hover,
	.base-btn3:hover {
		cursor: pointer;
		background-position: -100% 0px;
		color: #003492;
	}
	.base-btn2:hover:after,
	.base-btn3:hover:after {
		background-image: url("../images/icon/arrow.png");
	}
	.side-fix li:hover {
		background: #1549a9;
	}
  .side-fix li:nth-of-type(2):hover {
    background: #ec5f5f;
  }
	.top-recruit-list li:hover figure img {
		transform: scale(1.2);
	}
	.top-recruit-list li:hover figure:after {
		background: rgba(255,255,255,0.6);
	}
	.top-recruit-list li:hover p {
		color: #000;
		font-size: 2.5rem;
	}
	.top-news li a:hover dd {
		color: #00f;
		text-decoration: underline;
	}
	.product-list1 .next-arrow:hover,
	.product-list2 .next-arrow:hover{
		cursor: pointer;
	}
	.recruit-guide-tab li:hover {
		cursor: pointer;
		opacity: 0.8;
	}
	.recruit-guide-tab2 li:hover {
		cursor: pointer;
	}
	.staff-btn:hover {
		transform: translate(2px, 2px);
		box-shadow: none;
	}
	.footer-link:hover {
		opacity: 0.8;
	}
}

#recruit-link1 .recruit-image img {
	width: 140%;
}

@media (max-width: 767px) {
	#recruit-link1 .recruit-image img {
		width: 125%;
	}
}

/*========================================
210210add
========================================*/
.introduction-arrow p.arrow_text {
	font-size: 2rem;
}
@media (max-width: 767px) {
	.introduction-arrow p.arrow_text {
		font-size: 1.5rem;
	}
}

/*========================================
210311add
========================================*/

.news-list .right-cont video {
	width: 100%;
	height: auto;
}

/* 202109028 add galley写真 コメント */
.gallery ul li p {
	width: 95%;
	margin: 0 auto;
	line-height: 1.5;
}
/* 20230704 add recruit */
.recruit-attention p {
    margin-bottom: 1.2rem;
    color: #e63d3d;
    font-size: 1.75rem;
    font-weight: bold;
}
.main-visual_text p .emphasis,
p.recruit-top .emphasis,
.subttl span.emphasis,
.emphasis {
    color: #e63d3d;
}
.subttl span.emphasis {
    margin: 0 0 0 -50px;
    font-size: 2rem;
    font-style: normal;
    font-weight: bold;
    white-space: nowrap;
}
.company-map figure img {
    margin-bottom: 15px;
}
.company-map figure p.emphasis {
    font-size: 3rem;
    font-weight: bold;
}
.text-font-big span.text-emphasis {
    font-size: 2.25rem;
    font-weight: bold;
}
@media (max-width: 767px) {
	.recruit-attention p {
        font-size: 1.5rem;
    }
    .subttl span.emphasis {
        margin: 0 0 0 -30px;
        font-size: 1.5rem;
    }
    .text-font-big span.text-emphasis {
        font-size: 1.25rem;
        font-weight: bold;
    }
    .company-map figure p.emphasis {
        font-size: 2rem;
    }
    .text-emphasis {
        font-size: 1.5rem;
    }
}

/* 240711追加 */
.visit-bnr {
    box-sizing: border-box;
    display: block;
    width: 70%;
    margin: 35px auto 80px;
}
@media (max-width: 767px) {
    .visit-bnr {
        width: 100%;
        margin: 20px auto 65px;
        padding: 0 30px;
    }
}

/* 250117追加 */
.pdf-link-wrapper {
	margin-inline: auto;
	margin-top: -40px;
}

.pdf-link-inner {
	display: flex;
	justify-content: center;
	background-color: #fff;
}

.pdf-link-btn {
	  box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 450px;
    height: 75px;
    border: 2px solid #032a71;
    background-color: #032a71;
    color: #fff;
    font-size: 24px;
    border-radius: 4px;
    transition: 0.4s;
}

.pdf-link-wrapper .pdf-link-btn:first-of-type {
	margin-right: 25px;
}

.pdf-link-btn img {
	width: 75%;
}

/*========================================
ページ別
========================================*/


@media (max-width: 959px){
	
}
@media (max-width: 767px) {
	
}
@media (max-width: 374) {

}