@charset "UTF-8";
/* CSS Document */

/*
スマートフォン用CSS
*/

html, body {
	background: #f3f4f8;
	color: #1b3b4e;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: .2em;
	font-feature-settings: "palt";
	overflow-x: hidden;
	font-family: a-otf-ryumin-pr6n, serif;
	font-weight: 300;
	font-style: normal;
}

.en,.num,.more,.btn,.date,.new{
	font-family: "trajan-pro-3", serif;
	font-weight: 300;
	font-style: normal;
}

.kmin{
  font-family: 'kokoro';
}

.pc{display: none!important;}


:target {
    scroll-margin-top: 130px;
}

header{
	width: 100%;
	height: 6em;
	background: rgba(255,255,255,0.9);
	padding: .6em 20em .4em 5vw;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	top: 0;
	left: 0;
	line-height: 1;
	z-index: 10;
	transition: height .4s ease, padding .4s ease;
}

header .logo{
	display: block;
	width: 3.8em;
	padding-top: .2em;
}

header .recruit-link {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 100;
    width: 6em;
    height: 100%;
    top: 0;
    right: 6em;
    background: #9e9e9f;
    transition: .4s ease;
}

header .recruit-link:hover{
	background: #eeeeef;
}


header .recruit-link span{
	font-size: .8em;
	letter-spacing: .1em;
}

footer{
	background: #1b3b4e;
	color: #9e9e9f;
	padding: 4em 3vw;	
}

footer .foot-contents-wrap{
	width: 90%;
	margin: 0 auto;
}

.foot-address-wrap{
	margin-bottom: 4em;
}

footer .foot-contents-wrap .logo{
	width: 6em;
	display: block;
}

footer .foot-contents-wrap .comname{
	font-size: 1.15em;
	margin:2em 0; 
	width: 100%;
}

footer .foot-contents-wrap .address{
	line-height: 2;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

footer .foot-contents-wrap .address span{
	width: 47%;
}

footer .foot-nav-wrap{
	width: 100%;
}

footer .foot-nav-wrap{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

footer .foot-nav-wrap .nav-contents{
	width: 47%;
	margin-bottom: 2em;
}

footer .foot-nav-wrap .title{
	font-size: 1em;
	display: table;
}

footer .foot-nav-wrap .title::after{
	content: "";
	display: block;
	margin-top: .4em;
	width: 100%;
	height: 1px;
	background: rgba(158,158,158,0.5);
}

footer .foot-nav-wrap ul{
	margin-top: 1.8em;
}

footer .foot-nav-wrap li{
	line-height: 1.7;
}

footer .foot-nav-wrap .nav-wrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#loading{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 999;
	pointer-events: none;
}

#loading img{
	display: block;
	width: 15%;
	max-width: 100px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
}

#loading .circle{
	fill:none;stroke:rgba(27,59,79,0.5);
	stroke-miterlimit:10;
	stroke-width:0.5px;
}

#loading span{
	width: 60%;
	max-width: 400px;
}

#loading svg {
	width: 100%;
    stroke-dasharray: 942.4777960769379px; /* 円周 */
    stroke-dashoffset: 942.4777960769379px; /* 最初は全て隠す */
    transform-origin: center;
    transform: rotate(-90deg); /* 開始位置を上（北側）に */
    transition: stroke-dashoffset 2s cubic-bezier(0.47, 0, 0.745, 0.715) 0s;
}


.load-on #loading svg{
  stroke-dashoffset: 0;
}

.load-on #loading img{
    animation: fadeOut .6s forwards 2s;	
}

.load-on #loading{
    animation: fadeOut 2s forwards 2s;	
}

.load-on #loading span{
    animation: loading 2s forwards 2s;	
}

@keyframes loading {
    0% {
        transform: scale(1);
    }

    to {
        transform: scale(1.5);
        opacity: 0;
    }
}





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

.top-contents-wrap{
	padding-top: 6em;
}

.top-movie-wrap{
	position: relative;
	width: 100%;
	height: calc(100vh - 6em);
	line-height: 1;
	overflow: hidden;
}

.top-movie-wrap video{
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.top-movie-wrap .read-wrap{
	width: 90%;
	max-width: 48em;
	position: absolute;
	right: 5vw;
	bottom: 10em;
	z-index: 3;
	color: #FFF;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;

}

.top-movie-wrap .read-wrap .title{
	display: table;
	font-size: 2em;
	letter-spacing: .3em;
	background: #1b3b4e;
	padding: .6em .6em;
	margin-bottom: .36em;
	clip-path: inset(0% 100% 0% 0%);
	transition: 1.4s ease-in-out 2.6s;
}

.load-on .top-movie-wrap .read-wrap .title{
	clip-path: inset(0% 0% 0% 0%);

}

.top-movie-wrap .read-wrap p{
	display: table;
	font-size: .7em;
	line-height: 3;
	background: #1b3b4e;
	padding: 1em 1.6em;
	text-align: right;
	clip-path: inset(0% 100% 0% 0%);
	transition: 1.4s ease-in-out 2.8s;
}

.load-on .top-movie-wrap .read-wrap p{
	clip-path: inset(0% 0% 0% 0%);

}

.top-movie-wrap .scroll,
.icatch-wrap .scroll{
	width: 7.5px;
	height: 47px;
	background: url(img/common/scroll.svg) no-repeat;
	background-size: contain;
	position: absolute;
	left: 8vw;
	bottom: 4em;
	z-index: 3;
}

.top-movie-wrap .scroll span,
.icatch-wrap .scroll span{
	content: "";
	display: block;
	width: 1px;
	height: 3em;
	background: rgba(255,255,255,0.5);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50% , 4em);
	overflow: hidden;
}

.top-movie-wrap .scroll span::after,
.icatch-wrap .scroll span::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 1px;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    -webkit-animation: scrolldown 1.4s ease-in-out infinite;
    animation: scrolldown 1.4s ease-in-out infinite;
}

@keyframes scrolldown {
  from {
    transform: translateY(-100%);
  }

  to {
    transform: translateY(100%);
  }
}


.top-concept-wrap{
	width: 90%;
	max-width: 1600px;
	margin: 5em auto;
}

.top-concept-wrap .text-wrap{
	width: 100%;
}

.top-concept-wrap .text-wrap p{
	line-height: 2;
	margin-bottom: 3.5em;
}

.top-thumb-wrap {
    width: calc(100vw - 9em);
    margin-left: 9em;
    margin-bottom: 5em;
    position: relative;
}

.top-thumb-wrap .thumb-slider{
    padding-bottom: 3em;
	margin-left: -9em;
}

.slick-dots{
	width: 100%;
	position: absolute;
	bottom: 0;
	right: 0;
	display: flex;
}

.top-contents-wrap .slick-dots{
	width: calc(100% - 9em);
}

.slick-dots li{
	text-indent: -9999px;
	border: none;
	outline: none;
	width: calc(100% / 5);
	height: 1px;
	background: rgba(27,59,79,0.3);
}

.line {
	position: absolute;
	width: 100px;
	height: 1px;
	background: rgba(27,59,79,1);
	bottom: 0;
	transition: left 0.3s ease, width 0.3s ease;
}

.top-thumb-wrap .slick-slide {
    margin: 0 .5em;
}

.top-thumb-wrap .slick-list {
    margin: 0 -0.5em;
    overflow: visible !important;
}

.top-contents-wrap .slick-prev{
	text-indent: -9999px;
	border: none;
	outline: none;
	width: 3em;
	height: 1px;
	background: rgba(27,59,79,0.5);
	position: absolute;
	bottom: 0;
	left: 1em;
}

.top-contents-wrap .slick-prev::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
	border-right: 5px solid #1b3b4e;
	border-left: 0;
}

.top-contents-wrap .slick-next{
	font-size: 1em;
	text-indent: -9999px;
	border: none;
	outline: none;
	width: 3em;
	height: 1px;
	background: rgba(27,59,79,0.5);
	position: absolute;
	bottom: 0;
	left: 4.5em;
}

.top-contents-wrap .slick-next::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
	border-left: 5px solid #1b3b4e;
	border-right: 0;
}

.top-contents-wrap .first .slick-prev{
	font-size: 1em;
	opacity: .4;
}

.top-contents-wrap.last .slick-next{
	opacity: .4;
}

.top-service-wrap{
	margin-bottom: 5em;
}

.top-service-wrap .page-title-wrap {
    width: auto;
    display: block;
    padding-left: 5vw;
}

.top-service-wrap .top-service-contents-wrap{
	position: relative;
	width: calc(100vw - 9em);
	margin-left: 9em;
}

.top-service-wrap .top-service-contents-wrap .top-service-slider{
    padding-bottom: 2em;
	margin-left: -9em;
}

.top-service-wrap .slick-slide {
    margin: 0 0.5em;
}

.top-service-wrap .slick-list {
    margin-left: 3vw;
    overflow: visible !important;
}

.top-service-wrap .top-service-contents-wrap .top-service-contents .title{
	font-size: 1.2em;
	letter-spacing: .2em;
	border-bottom: 1px solid rgba(27,59,79,0.3);
	padding: 1em 0 0.5em;
	position: relative;
}

.top-service-wrap .top-service-contents-wrap .top-service-contents .btn{
	font-size: .8em;
	background: #1b3b4e;
	color: #FFF;
	line-height: 1;
	padding: 1.1em 1.1em 1.1em 1.1em;
	display: table;
	float: right;
}

.top-info-wrap{
	width: 90%;
	max-width: 1600px;
	position: relative;
	margin: 0 auto 8em;
}

.info-contents-wrap{
	width: 100%;
	margin-bottom: 4em;
}

.info-contents-wrap .info-contents{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	padding: 2.2em .5em;
	padding-right: 3em;
	line-height: 1;
	border-bottom: 1px solid rgba(27,59,79,0.3); 
	position: relative;
}

.info-contents-wrap .info-contents:first-child{
	border-top: 1px solid rgba(27,59,79,0.3); 
}

.info-contents-wrap .info-contents::after{
    display: block;
    position: absolute;
    right: 0;
    bottom: -1px;
    width: 0;
    height: 1px;
    background-color: rgba(27,59,79,1);
    content: "";
    transition-duration: 1.2s;
    transition-timing-function: cubic-bezier(.215,.61,.355,1);
}


.info-contents-wrap .info-contents:hover::after {
    left: 0;
    width: 100%
}

.info-contents-wrap .info-contents .date{
	font-size: .9em;
	width: 9em;
}

.info-contents-wrap .info-contents .new{
	font-size: .9em;
	background: #9e9e9f;
	color: #FFF;
	padding: .5em .6em;
	transition: .4s ease-out;
}

.info-contents-wrap .info-contents:hover .new{
	background: #1b3b4e;
}

.info-contents-wrap .info-contents .title{
	width: 100%;
	line-height: 1.8;
	margin-top: 1em;
	font-size: 1.1em;
}

.info-contents-wrap .info-contents .arrow{
	display: block;
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
}

.info-contents-wrap .info-contents .arrow::before{
	content: "";
	display: block;
	width: .8em;
	height: .8em;
	background: #1b3b4e;
	border-radius: 100%;
	transition: .3s ease-out;
}

.info-contents-wrap .info-contents:hover .arrow::before{
	transform: scale(2.3);
}

.info-contents-wrap .info-contents .arrow::after{
	content: "";
	display: block;
	width: .8em;
	height: .6em;
	background: url(img/common/arrow.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	opacity: 0;
	transition: .3s ease-out;
}

.info-contents-wrap .info-contents:hover .arrow::after{
	opacity: 1;
}




/*
PAGE
--------------------
*/


.page-title-wrap{
	width: 90%;
	max-width: 1600px;
	display: flex;
	flex-direction: column;
	margin: 0 auto;
}

.page-title{
	display: table;
	margin-bottom: 3em;
}

.page-title .en{
	display: table;
	margin: 0 auto;
	margin-bottom: .3em;
}

.page-title .en svg,
.civ-title svg,
.recruit-title svg{
	width: 100%;
}

.page-title .jp{
	display: block;
	margin-top: .8em;
	opacity: 0;
}

.page-title.view .jp{
	opacity: 1;
	text-align: center;
}

.page-title.concept-title .en{
	width: 13.8em;
}

.page-title.service-title .en{
	width: 11em;
}

.page-title.information-title .en{
	width: 21em;
}

.page-title.history-title .en{
	width: 11em;
}

.page-title.aos-title .en{
	width: 18em;
}

.page-title.works-title .en{
	width: 10em;
}

.page-title.shibetsu-title .en{
	width: 13.8em;
}

.page-title.archive-title .en{
	width: 13em;
}

.page-title.company-title .en{
	width: 10em;
}

.page-title.message-title .en{
	width: 11.8em;
}

.page-title.message-title .en{
	width: 11em;
}

.page-title.vision-title .en{
	width: 10em;
}

.page-title.shp-title .en{
	width: 24em;
}

.page-title.guide-title .en{
	width: 18em;
}

.page-title.oc-title .en{
	width: 21em;
}

.page-title.awards-title .en{
	width: 11em;
}

.page-title.hm-title .en{
	width: 23em;
}

.page-title.group-title .en{
	width: 23em;
}

.page-title.contact-title .en{
	width: 13em;
}

.page-title.policy-title .en{
	width: 10em;
}

.page-title.entry-title .en{
	width: 9em;
	height: 4em;
	display: block;
}

.civ-title{
	width: 1.4em;
}

.recruit-title{
	width: 14em;
}


a.more{
	display: block;
	position: relative;
	padding-bottom: .8em;
	width: 15em;
	border-bottom: 1px solid rgba(27,59,79,0.3);
}

a.more::before{
    display: block;
    position: absolute;
    right: 0;
    bottom: -1px;
    width: 0;
    height: 1px;
    background-color: rgba(27,59,79,1);
    content: "";
    transition-duration: 1.2s;
    transition-timing-function: cubic-bezier(.215,.61,.355,1);
}

a.more:hover::before {
    left: 0;
    width: 100%;
}


.page-contents-wrap{
	padding-top: 6em;
}

.detail-list-wrap table{
	width: 100%;
	font-size: 1.1em;
}

.detail-list-wrap th{
	display: block;
	width: 100%;
	border-top: 1px solid rgba(27,59,79,0.5);
	padding: 1.3em 0 0;
}

.detail-list-wrap td{
	display: block;
	width: 100%;
	padding: 1em 0 1.3em;
	line-height: 2;
    font-size: .95em;
}

.detail-list-wrap.intitle{
	border-bottom: 1px solid rgba(27,59,79,0.5);
}

.detail-list-wrap.intitle th{
	display: block;
	font-size: 1rem;
	width: 100%;
	padding-left: 0%;
	padding-top: 4em;
} 

.detail-list-wrap.intitle td{
	display: block;
	width: 100%;
	padding-bottom: 3em;
}

.detail-list-wrap.intitle td .jp{
	font-size: 1.1rem;
	line-height: 2.9;
	margin-bottom: 1.6em;
}

.detail-list-wrap.intitle td .en{
	font-size: .7rem;
	line-height: 2;
	color: #9e9e9f;
}


.detail-list-wrap.intitle .page-title{
	margin-bottom: 0!important;
}



/*
information
--------------------
*/

.page-contents-wrap.info{
	padding-top: 12em;
	position: relative;
}

.page-contents-wrap.info::before{
	content: "";
	display: block;
	width: 100%;
	height: 5px;
	background: #1b3b4e;
	position: absolute;
	top: 6em;
	left: 0;
}

.page-contents-wrap.info .page-title{
	margin-bottom: 2em;
}

.page-contents-wrap.info .info-contents-wrap{
	width: 90%;
	max-width: 1600px;
	margin: 0 auto 8em;
}


.info-single-wrap{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 6em 0 5em;
}

.info-single-wrap .title{
	font-size: 1.4em;
	line-height: 1.8;
	margin-bottom: 2em;
}

.info-single-wrap .text-wrap{
	line-height: 2.2;
}


/*
CONCEPT
--------------------
*/

.concept-read-wrap{
	margin-bottom: 8em;
}

.concept-read-wrap .thumb-wrap{
	width: 100%;
}

.concept-read-wrap .text-wrap{
	width: 100%;
	padding: 0 5vw;
	margin-bottom: 6em;
}

.concept-read-wrap .text-wrap .title{
	line-height: 1;
	margin: 8em 0 6em;
}

.concept-read-wrap .text-wrap .title .jp{
	font-size: 2.6em;
	letter-spacing: .3em;
	display: block;
	margin-bottom: .8em;
}

.concept-read-wrap .text-wrap .title .en-title{
	font-size: 1.3em;
}

.concept-read-wrap .text-wrap .text.jp{
	line-height: 2;
	margin-bottom: 4em;
}

.concept-read-wrap .text-wrap .text.en-text{
	font-size: .7em;
	line-height: 2.4;
	color: #9e9e9f;
}

.concept-history-wrap{
	position: relative;
	padding-top: 6em;
	margin-bottom: 6em;
}

.concept-history-wrap::before{
	content: "";
	display: block;
	width: 90%;
	height: 1px;
	background: rgba(27,59,79,0.5);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.history-contents-wrap{
	margin: 0 auto;
	padding-top: 2em;
	position: relative;
}

.history-contents-wrap .c1{
	display: block;
	width: 20vw;
	height: 20vw;
	background: url(img/page/history_c_01.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 10em;
	right: 1vw;
}

.history-contents-wrap .p1{
	display: block;
	width: 22vw;
	height: 5em;
	background: url(img/page/history_1.jpg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 20em;
	right: 0;
	max-width: 30vw;
}

.history-contents-wrap .c2{
	display: block;
	width: 20vw;
	height: 20vw;
	background: url(img/page/history_c_02.svg) no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 100em;
	right: 1vw;
}

.history-contents-wrap .p2{
	display: block;
	width: 22vw;
	height: 5em;
	background: url(img/page/history_2.jpg) no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 90em;
	right: 0;
	max-width: 30vw;
}

.spin {
    opacity: 0;
    position: relative;
    transform: translateY(8rem) translateZ(8rem) rotateY(140deg);
}

.spin.view {
    opacity: 1;
    transform: translateY(0) translateZ(8rem) rotateY(0deg);
    transition: opacity 1.8s,transform 1.8s;
}


.history-contents {
	position: relative;
}

.history-contents::after{
	content: "";
	display: block;
	width: 1px;
	height: 0;
	background: rgba(27,59,79,0.5);
	position: absolute;
	top: .5em;
	left: calc(5vw + 6.9em);
	transition: height 5s linear;
}

.history-contents.view::after{
	height: calc(100% - 1em);
}

.history-contents .contents{
	width: 100vw;
	padding-left: 5vw;
	padding-right: 23vw;
	display: flex;
	align-items: flex-start;
	gap:3em;
	font-size: 1.15em;
	margin-bottom: 4em;
}

.history-contents .contents dt{
	color: #FFF;
	background: #9e9e9f;
	line-height: 1;
	padding: .3em 1em;
	width: 5em;
	text-align: center;
	position: relative;
	opacity: 0;
	transition: .4s ease-out;
	transform: translateX(-0.5em);
}

.history-contents .contents.view dt{
	opacity: 1;
	transform: translateX(0);
}

.history-contents .contents dt::before{
	content: "";
	display: block;
	width: .7em;
	height: .7em;
	background: #1b3b4e;
	border-radius: 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -1.66em;
}

.history-contents .contents dd{
	width: 100%;
	opacity: 0;
	transition: .4s ease-out;
}

.history-contents .contents.view dd{
	opacity: 1;
}

.concept-logo-wrap{
	position: relative;
	padding-top: 4em;
	margin-bottom: 8em;
}

.concept-logo-wrap::before{
	content: "";
	display: block;
	width: 90%;
	height: 1px;
	background: rgba(27,59,79,0.5);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.concept-logo-wrap .page-title{
	margin-bottom: 6em;
}

.concept-logo-wrap .page-title .jp{
	padding: 0;
}

.concept-logo-wrap .logo-wrap{
	width: 50%;
	max-width: 10em;
	margin: 0 auto 6em;
}

.concept-logo-wrap .text{
	width: 90%;
	max-width: 1700px;
	line-height: 2;
	margin: 0 auto;
}


/*
SERVICE
--------------------
*/

.page-contents-wrap.service{
	position: relative;
	padding-left: 5vw;
	padding-top: 12em;
}

.page-contents-wrap.service .page-title-wrap{
}

.service-contents-wrap .service-contents{
	display: block;
	margin-bottom: 6em;
}

.service-contents .title-wrap{
	margin-bottom: 1em;
	padding-left: 8em;
	position: relative;
}

.service-contents .title-wrap .num{
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 2em;
	transform: translate(0% , 10%);
}

.service-contents .title-wrap .num::after{
	content: "";
	display: block;
	width: 4em;
	height: 1px;
	background: rgba(27,59,79,0.5);
	transform: rotate(-45deg) translate(-0.6em , .3em);
}

.service-contents .title-wrap .jp{
	font-size: 1.8em;
	letter-spacing: .3em;
	display: block;
	margin-bottom: .3em;
}

.service-contents .title-wrap .en{
	font-size: 1.1em;
}

.service-contents .thumb-wrap{
	width: 100%;
	height: 0;
	padding-top: 55%;
	position: relative;
	margin-bottom: 2em;
}

.service-contents .thumb-wrap img,
.service-contents .thumb-wrap video{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.service-contents .text-wrap{
	line-height: 2;
	width: calc(100% - 5vw);
	padding-bottom: 4em;
	border-bottom: 1px solid rgba(27,59,79,0.3);
	position: relative;
}

.service-contents .text-wrap .btn{
	background: #1b3b4e;
	color: #FFF;
	font-size: .9em;
	line-height: 1;
	padding: 1.1em 1.1em 1.1em 1.1em;
	display: table;
	position: absolute;
	bottom: 0;
	right: 0;
}


/* single */

.service-single-wrap .icatch-wrap{
	position: relative;
	height: auto;
	line-height: 1;
	margin-bottom: 3em;
}

.service-single-wrap .icatch-wrap img,
.service-single-wrap .icatch-wrap video{
	opacity: 1;
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.service-single-wrap .icatch-wrap .text-wrap{
	padding: 3em 5vw 0;
}

.service-single-wrap .icatch-wrap .title{
	position: relative;
	margin-bottom: 2em;
	z-index: 3;
}

.service-single-wrap .icatch-wrap .title .jp{
	font-size: 1.7em;
	letter-spacing: .3em;
	display: block;
	margin-bottom: .8em;
}

.service-single-wrap .icatch-wrap .title .en{
	font-size: 1em;
}

.service-single-wrap .icatch-wrap .read{
	position: relative;
	z-index: 3;
	width: 90%;
	max-width: 76em;
	line-height: 2;
}

.service-single-wrap .thumb-wrap{
	width: 90%;
	max-width: 1400px;
	margin: 0 auto 8em;;
}

.service-single-wrap .thumb-wrap img{
	display: block;
	margin-bottom: 1em;
}



/*
WORKS
--------------------
*/

ul.area li{
	display: inline-block;
	margin-right: .3em;
	margin-bottom: .5em;
	line-height: 1;
	padding: 1em 1.3em;
	color: #FFF;
	background: #1b3b4e;
}

ul.cat li{
	display: inline-block;
	margin-right: .3em;
	margin-bottom: .5em;
	line-height: 1;
	padding: 1em 1.3em;
	background: #9e9e9f;
}

.page-contents-wrap.works .icatch-wrap{
	width: 100%;
	height: 20em;
	position: relative;
	color: #FFF;
	margin-bottom: 4em;
}

.page-contents-wrap.works .icatch-wrap img{
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.page-contents-wrap.works .icatch-wrap .page-title{
	position: absolute;
	top: 50%;
	left: 5vw;
	transform: translateY(-50%);
}

.works-tag-wrap{
	width: 90%;
	max-width: 1700px;
	margin: 0 auto 4em;
}

.works-tag-wrap .area{
	margin-bottom: 1em;
}

.works-tag li{
	cursor: pointer;
}

.works-contents-wrap{
	width: 90%;
	max-width: 1900px;
	margin: 0 auto 6em;
}

.works-contents-wrap .works-contents{
	position: relative;
	padding: 2em 0;
	display: flex;
	flex-flow: column;
}

.works-contents-wrap .works-contents .date-wrap{
	margin-bottom: 2em;
}

.works-contents-wrap .works-contents .date-wrap .date{
	font-size: 1.6em;
	display: block;
	margin-bottom: .2em;
}

.works-contents-wrap .works-contents .title-wrap .list-wrap{
	display: flex;
	margin-bottom: 1em;
}

.works-contents-wrap .works-contents .title-wrap .title{
	width: 100%;
	font-size: 1.3em;
}


.works-contents-wrap .works-contents::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: rgba(27,59,79,0.5);
	position: absolute;
	bottom: 0;
	left: 0;
}

.works-contents-wrap .works-contents:first-child::before{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: rgba(27,59,79,0.5);
	position: absolute;
	top: 0;
	left: 0;
}

.works-contents-wrap .works-contents .thumb-wrap img{
	display: block;
	margin-top: 2em;
}


/*
COMPANY
--------------------
*/

.page-contents-wrap.company{
	padding-top: 12em;
	position: relative;
}

.page-contents-wrap.company::before{
	content: "";
	display: block;
	width: 100%;
	height: 5px;
	background: #1b3b4e;
	position: absolute;
	top: 6em;
	left: 0;
}

.page-contents-wrap.company .page-title{
	margin-bottom: 4em;
}

.company-slider-wrap{
    width: calc(100% + 16em);
    margin-left: -8em;
    padding-bottom: 6em;
}

.company-slider-wrap .slick-slide {
    margin: 0 .3em;
}

.company-slider-wrap .slick-list {
    margin: 0 -0.3em;
    overflow: visible !important;
}

.company-slider-wrap .slider{
	height: 20em;
}

.company-slider-wrap img{
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.company-detail-wrap{
	width: 90%;
	max-width: 1900px;
}

.company-detail-wrap{
	width: 90%;
	max-width: 1900px;
	margin: 0 auto 6em;
}

.company-message-wrap{
	margin-bottom: 6em;
}

.company-message{
	margin-bottom: 6em;
}

.company-message .thumb-wrap{
	width: 100%;
}

.company-message .text-wrap{
	width: 100%;
	font-size: 1.1em;
	line-height: 2;
	letter-spacing: 0;
	background: #FFF;
	position: relative;
	z-index: 2;
	padding: 5em 5vw 4em;
	margin-top: 0;
}

.company-message .text-wrap::before{
	content: "";
	display: block;
	width: 5rem;
	height: 1px;
	background: rgba(27,59,79,0.3);
	position: absolute;
	top: 3em;
	left: 5vw;
}

.company-message .name{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 3em;
}

.company-message .name img{
	width: 26%;
}

.company-message .name span{
	font-size: 1.1em;
	letter-spacing: 0;
}

.company-vision-wrap{
	width: 90%;
	max-width: 1900px;
	margin: 0 auto;
}

.company-vision-wrap .en-text{
	font-size: .7em;
	color: #9e9e9f;
	line-height: 2.2;
}


.company-chart-wrap .chart-detail-wrap{
	width: 90%;
	max-width: 1900px;
	margin: 0 auto 6em;
}

.company-awards-wrap .awards-detail-wrap{
	width: 90%;
	max-width: 1900px;
	margin: 0 auto 6em;
}

.company-group-wrap .group-detail-wrap{
	width: 90%;
	max-width: 1900px;
	margin: 0 auto 6em;
}

.company-machine-wrap .icatch-wrap{
	width: 100%;
	height: 40vh;
	margin-bottom: 6em;
}

.company-machine-wrap .icatch-wrap img{
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.company-machine-wrap .machine-contents-wrap{
	width: 90%;
	max-width: 1700px;
	margin: 0 auto;
}

.company-machine-wrap .machine-contents-wrap .text-wrap .page-title-wrap{
	width: auto;
	margin: 0;
}

.company-machine-wrap .machine-contents-wrap .text-wrap .page-title-wrap .page-title .jp{
	padding: 0;
}

.company-machine-wrap .machine-contents-wrap .text-wrap .text{
	width: 100%;
	line-height: 2;
	font-size: 1.1em;
}

.company-machine-wrap .machine-contents-wrap .thumb-wrap{
	width: 100%;
	margin: 6em auto 6em;
}

.company-machine-wrap .machine-contents-wrap .thumb-wrap img{
	display: block;
	width: 100%;
}


/*
SHIBETSU
--------------------
*/


.page-contents-wrap.shibetsu .icatch-wrap{
	width: 100%;
	height: calc(100vh - 6em);
	position: relative;
	margin-bottom: 6em;
}

.page-contents-wrap.shibetsu .icatch-wrap img{
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.page-contents-wrap.shibetsu .icatch-wrap .page-title{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
}

.page-contents-wrap.shibetsu .read-wrap{
	width: 90%;
	max-width: 62em;
	line-height: 2;
	text-align: center;
	margin: 0 auto 8em;
}

.shibetsu-thumb-wrap{
	width: 90%;
	margin: 0 auto 6em;
}

.shibetsu-thumb-wrap .thumb{
	margin-bottom: 1em;
	line-height: 0;
}

.shibetsu-archive-wrap{
	padding-top: 5em;
	border-top: 1px solid rgba(27,59,79,0.5);
}

.shibetsu-archive-wrap .inner{
	width: 90%;
	max-width: 1900px;
	margin: 0 auto 8em;
}

.shibetsu-archive-wrap .title-wrap{
	margin-bottom: 4em;
}

.shibetsu-archive-wrap .page-title{
	text-align: left;
}

.shibetsu-archive-wrap li{
	line-height: 1.8;
	margin-bottom: .5em;
	position: relative;
	display: table;
	transition: .4s ease-out;
}

.shibetsu-archive-wrap li::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
	background: rgba(27,59,79,0.5);
    transform: scaleX(0);
    transition: transform 0.5s ease, opacity 0.5s ease;
    transform-origin: left center;
    opacity: 0;
}

.shibetsu-archive-wrap li:hover::after{
    transform: scaleX(1);
	opacity: 1;
}

.shibetsu-archive-wrap li.nohover{
	opacity: .4;
}

.shibetsu-archive-wrap .shibetsu-post-wrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.shibetsu-post-wrap .shibetsu-post{
	width: 47%;
	margin-bottom: 4em;
}

.shibetsu-post-wrap .shibetsu-post .thumb-wrap{
	margin-bottom: 2em;
}

.shibetsu-post-wrap .shibetsu-post .title .en{
	display: block;
	font-size: .9em;
	margin-bottom: .6em;
}

.shibetsu-post-wrap .shibetsu-post .title .jp{
	font-size: 1.1em;
	letter-spacing: .3em;
	position: relative;
}

.shibetsu-post-wrap .shibetsu-post .title .jp::after{
    display: block;
    position: absolute;
    right: 0;
    bottom: -1px;
    width: 0;
    height: 1px;
    background-color: rgba(27,59,79,1);
    content: "";
    transition-duration: 1.2s;
    transition-timing-function: cubic-bezier(.215,.61,.355,1);
}


.shibetsu-post-wrap .shibetsu-post:hover .title .jp::after {
    left: 0;
    width: 100%
}



/* single */


.shibetsu-single-wrap{
	margin-bottom: 8em;
}

.shibetsu-single-wrap .thumb-wrap{
	width: 100%;
	margin-top: 4em;
}

.shibetsu-single-wrap .text-wrap{
	width: 100%;
	padding: 10em 5vw 0;
}

.shibetsu-single-wrap .text-wrap .single-title{
	line-height: 1;
	margin-bottom: 6em;
}

.shibetsu-single-wrap .text-wrap .single-title .en{
	font-size: .9em;
	display: block;
	margin-bottom: 2em;
}

.shibetsu-single-wrap .text-wrap .single-title .jp{
	font-size: 1.6em;
	letter-spacing: .3em;
	display: block;
	margin-bottom: .8em;
}

.shibetsu-single-wrap .text-wrap .text.jp{
	line-height: 2;
	margin-bottom: 3em;
}

.shibetsu-single-wrap .text-wrap .text.en-text{
	font-size: .7em;
	line-height: 2.4;
	color: #9e9e9f;
}

.shibetsu-single-wrap .text-wrap .data-wrap{
	margin-top: 5em;
	word-break: break-all;
}

.shibetsu-single-wrap .text-wrap .data-wrap .title{
	font-size: 1.2em;
	padding-bottom: .3em;
	border-bottom: 1px solid rgba(27,59,79,0.5);
	margin-bottom: 1em;
}

.shibetsu-single-wrap .text-wrap .data-wrap p{
	line-height: 2.2;
}

/*
CIVILIZATION
--------------------
*/

.siv-contents-wrap{
	padding: 7em 5% 8em 1em;
	padding-right: 5%;
	background: #FFF;
}

.siv-contents-wrap .slider-wrap{
	width: 100%;
	height: 30vh;
}

.siv-contents-wrap .slider-wrap .slick-slide{
	height: 30vh;
	touch-action: pan-y;
}

.siv-contents-wrap .slider-wrap img{
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.siv-contents-wrap .text-wrap{
	width: 100%;
	position: relative;
	margin-bottom: 6em;
}

.siv-contents-wrap .text-wrap .title{
	position: absolute;
	top: -2em;
	right: 5vw;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.siv-contents-wrap .text-wrap .jp{
	font-size: .9em;
	line-height: 2;
	padding-top: 3em;
	padding-right: 7em;
	width: 100%;
	margin-bottom: 3em;
}

.siv-contents-wrap .text-wrap .en-text{
	font-size: .7em;
	line-height: 2.4;
	color: #9e9e9f;
	margin-right: 7em;
}


/*
RECRUIT
--------------------
*/

.page-contents-wrap.recruit{
	background: #FFF;
	padding-bottom: 1em;
}

.recruit-line-title{
	width: 90%;
	max-width: 50em;
	border-bottom: 1px solid rgba(27,59,79,0.5);
	padding-bottom: 1em;
	margin: 0 auto;
}

.recruit-line-title .en{
	font-size: 1.6em;
}

.recruit-line-title .jp{
	font-size: 1.1em;
	display: block;
	padding-top: .6em;
}

.recruit-icatch-wrap{
	width: 100%;
	height: calc(100vh - 6em);
	padding-top: 26em;
	position: relative;
	margin-bottom: 6em;
	overflow: hidden;
}

.recruit-icatch-wrap img,
.recruit-icatch-wrap video{
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.recruit-icatch-wrap .recruit-title{
	position: absolute;
	top: 6em;
	left: 5vw;
}

.recruit-icatch-wrap .read-wrap{
	position: absolute;
	top: 16rem;
	left: 5vw;
	width: 90%;
}

.recruit-icatch-wrap .read-wrap .en{
	font-size: 1.6em;
	margin-bottom: 2em;
}

.recruit-icatch-wrap .read-wrap .jp{
	line-height: 2;
}

.recruit-field-contents-wrap{
	width: 90%;
	max-width: 1700px;
	margin: 0 auto;
	padding-top: 6em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.recruit-field-contents-wrap .recruit-field-contents{
	width: 100%;
	margin-bottom: 6em;
}

.recruit-field-contents-wrap .recruit-field-contents ul.cat li{
	background: #1b3b4e;
	color: #FFF;
	padding: .6em 2em;
}

.recruit-field-contents-wrap .recruit-field-contents ul.cat.season-cat li{
	background: #9e9e9f;
	color: #1b3b4e;
}

.recruit-field-contents-wrap .recruit-field-contents ul.cat.season-cat li.note{
	background: none;
	padding: 0;
	font-size: .9rem;
	display: block;
	margin-top: .3em;
}

.recruit-field-contents-wrap .recruit-field-contents .title-wrap{
	margin-bottom: 1.6em;
	padding-left: 8em;
	position: relative;
}

.recruit-field-contents-wrap .recruit-field-contents .title-wrap .num{
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 2em;
	transform: translate(0% , 10%);
}

.recruit-field-contents-wrap .recruit-field-contents .title-wrap .num::after{
	content: "";
	display: block;
	width: 4em;
	height: 1px;
	background: rgba(27,59,79,0.5);
	transform: rotate(-45deg) translate(-0.6em , .3em);
}

.recruit-field-contents-wrap .recruit-field-contents .title-wrap .title{
	font-size: 1.6em;
	letter-spacing: .2em;
	display: block;
	margin-bottom: .6em;
}

.recruit-field-contents-wrap .recruit-field-contents .thumb-wrap{
	margin-bottom: 3em;
	height: 0;
	padding-top: 66%;
	position: relative;
	margin-bottom: 2em;
}

.recruit-field-contents-wrap .recruit-field-contents .thumb-wrap video,
.recruit-field-contents-wrap .recruit-field-contents .thumb-wrap img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}
.recruit-field-contents-wrap .recruit-field-contents .text-wrap{
	line-height: 2;
	width: calc(100% - 5vw);
	padding-bottom: 3em;
	border-bottom: 1px solid rgba(27,59,79,0.3);
	position: relative;
}

.recruit-field-contents-wrap .recruit-field-contents .text-wrap .btn{
	background: #1b3b4e;
	color: #FFF;
	font-size: .9em;
	line-height: 1;
	padding: 1.1em 1.1em 1.1em 1.1em;
	display: table;
	position: absolute;
	bottom: 0;
	right: 0;
}
.recruit-banner-wrap{
	width: 90%;
	max-width: 1900px;
	margin: 0 auto 6em;
	position: relative;
	z-index: 1;
	padding: 6em 0;
	display: block;
}

.recruit-banner-wrap::after{
	content: "";
	display: block;
	width: 100vw;
	height: 100%;
	background: #f3f4f8;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	z-index: -1;
}

.recruit-banner-wrap .thumb-wrap{
	margin: 0 auto 3em;
}

.recruit-banner-wrap .text-wrap{
	width: 100%;
	padding-bottom: 4em;
	border-bottom: 1px solid rgba(27,59,79,0.3);
	position: relative;
}

.recruit-banner-wrap .text-wrap .btn{
	background: #1b3b4e;
	color: #FFF;
	font-size: .9em;
	line-height: 1;
	padding: 1.3em 1.1em 1.3em 1.1em;
	display: table;
	position: absolute;
	bottom: 0;
	right: 0;
}

.recruit-banner-wrap .text-wrap .title{
	font-size: 1.6em;
	margin-bottom: 1em;
}

.recruit-banner-wrap .text-wrap .text{
	font-size: 1em;
	line-height: 2;
}

.recruit-ben-contents-wrap{
	width: 90%;
	max-width: 1900px;
	padding-top: 6em;
	margin: 0 auto 2em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.recruit-ben-contents-wrap .recruit-ben-contents{
	width: 47%;
	margin-bottom: 2em;
}

.recruit-ben-contents-wrap .recruit-ben-contents .title-wrap{
	margin-top: 1em;
	padding-top: 3em;
	padding-left: 4em;
	position: relative;
}

.recruit-ben-contents-wrap .recruit-ben-contents .title-wrap .num{
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 2em;
	    padding-top: 0.3em;
	transform: translate(0% , 20%);
}

.recruit-ben-contents-wrap .recruit-ben-contents .title-wrap .num::after{
	content: "";
	display: block;
	width: 3em;
	height: 1px;
	background: rgba(27,59,79,0.5);
	transform: rotate(-45deg) translate(-0.3em , .2em);
}

.recruit-ben-contents-wrap .recruit-ben-contents .title-wrap .title{
	font-size: 1em;
	line-height: 1.7;
	letter-spacing: .3em;
	text-align: right;
}

.recruit-ben-list-wrap{
	width: 90%;
	max-width: 1900px;
	margin: 0 auto 7em;
}

.recruit-ben-list-wrap .recruit-ben-list{
	margin-bottom: 3em;
}

.recruit-ben-list-wrap .recruit-ben-list .title{
	text-align: center;
	font-size: 1.2em;
	letter-spacing: .3em;
	padding: 1.2em;
	background: #f3f4f8;
	border-top: 1px solid rgba(27,59,79,0.5);
	margin-bottom: 2em;
}

.recruit-ben-list-wrap .detail-list-wrap tr td{
	padding-top: 0;
}

.recruit-banner-wrap.housing{
	margin-bottom: 6em;
	padding: 0;
}

.recruit-banner-wrap.housing::after{
	content: none;
}

.recruit-banner-wrap.housing .title span:nth-of-type(2){
	font-size: 1rem;
	display: block;
	margin-top: .6em;
}

.recruit-banner-wrap.reason .text-wrap{
	border-bottom: none;
	padding-bottom: 0;
}

.recruit-int-contents-wrap{
	width: 90%;
	max-width: 1600px;
	margin: 0 auto 4em;
	padding-top: 4em;
}

.recruit-int-contents-wrap .recruit-int-contents{
	display: block;
	padding: 4em 0;
	margin-bottom: 5em;
	border-top: 1px solid rgba(27,59,79,0.3); 
	border-bottom: 1px solid rgba(27,59,79,0.3); 
	position: relative;
	transition: background .4s ease-out, opacity .7s ease-in;
}

.recruit-int-contents-wrap .recruit-int-contents:hover{
	background: #f3f4f8;
}

.recruit-int-contents-wrap .recruit-int-contents::after{
    display: block;
    position: absolute;
    right: 0;
    bottom: -1px;
    width: 0;
    height: 1px;
    background-color: rgba(27,59,79,1);
    content: "";
    transition-duration: 1.2s;
    transition-timing-function: cubic-bezier(.215,.61,.355,1);
}


.recruit-int-contents-wrap .recruit-int-contents:hover::after {
    left: 0;
    width: 100%
}


.recruit-int-contents-wrap .recruit-int-contents .thumb-wrap{
	width: 100%;
	margin-bottom: 3em;
}

.recruit-int-contents-wrap .recruit-int-contents .text-wrap{
	width: 100%;
	padding: 0 5vw;
}

.recruit-int-contents-wrap .recruit-int-contents .text-wrap .title{
	font-size: 1.8em;
	letter-spacing: .3em;
	margin-bottom: 1.6em;
}

.recruit-int-contents-wrap .recruit-int-contents .text-wrap .job{
	font-size: 1.1em;
	margin-bottom: 0.6em;
}

.recruit-int-contents-wrap .recruit-int-contents .text-wrap .name{
	font-size: 1.6em;
	letter-spacing: .3em;
	margin-bottom: 0.6em;
}

.recruit-int-contents-wrap .recruit-int-contents .text-wrap .cat-wrap{
	display: flex;
	align-items: center;
}


.recruit-int-contents-wrap .recruit-int-contents .text-wrap .cat-wrap span{
	font-size: 1.1em;
	letter-spacing: .3em;
	margin-right: 1em;
}

.recruit-int-contents-wrap .recruit-int-contents .text-wrap .cat-wrap ul.cat li{
	background: #1b3b4e;
	color: #FFF;
	padding: .8em 2em;
	margin: 0;
}


/* single */


.recruit-single-icatch-wrap{
	height: calc(100vh - 6em);
	position: relative;
	margin-bottom: 3em;
}

.recruit-single-icatch-wrap.job{
	height: calc(50vh - 6em);
}

.recruit-single-icatch-wrap video{
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}


.recruit-single-icatch-wrap .recruit-title{
	position: absolute;
	color: #FFF;
	top: 6em;
	left: 8vw;
}

.recruit-select-title{
	padding-top: 4em;
	padding-left: 6em;
	position: relative;
	margin: 0 auto;
	margin-bottom: 3em;
	display: table;
}

.recruit-select-title .title{ 
	font-size: 1.6em;
}

.recruit-select-title .num{
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 2em;
	transform: translate(0 , 10%);
}

.recruit-select-title .num::after{
	content: "";
	display: block;
	width: 3.3em;
	height: 1px;
	background: rgba(27,59,79,0.5);
	transform: rotate(-45deg) translate(-0.3em , .3em);
}


.recruit-select-read-wrap{
	position: relative;
	z-index: 1;
	align-items: center;
	padding: 4em 5vw 4em;
	margin-bottom: 4em;
}

.recruit-select-read-wrap::after{
	content: "";
	display: block;
	width: 100vw;
	height: 100%;
	background: #f3f4f8;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	z-index: -1;
}

.recruit-select-read-wrap .title-wrap{
	width: 100%;
	font-size: 1.4em;
	line-height: 2;
	letter-spacing: .2em;
	padding-bottom: 1em;
	border-bottom: 1px solid rgba(27,59,79,0.5);
	margin-bottom: 2em;
}

.recruit-select-read-wrap .text-wrap{
	width: 100%;
	line-height: 2;
}

.recruit-att-contents-wrap{
	width: 90%;
	max-width: 1900px;
	margin: 0 auto;
	margin-bottom: 4em;
	padding-top: 4em;
}

.recruit-att-contents-wrap .recruit-att-contents{
	border-top: 1px solid rgba(27,59,79,0.5);
	padding-top: 4em;
	position: relative; 
	margin: 0 auto 4em;
}

.recruit-att-contents-wrap .recruit-att-contents .point{
	font-size: .7em;
	background: #1b3b4e;
	color: #FFF;
	line-height: 1;
	padding: 1.3em 1.4em 1.3em 1.1em;
	display: flex;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
}

.recruit-att-contents-wrap .recruit-att-contents .point span{
	font-size: 1.5em;
	margin-left: .3em;
}


.recruit-att-contents-wrap .recruit-att-contents .thumb-wrap{
	margin-bottom: 2.3em;
}

.recruit-att-contents-wrap .recruit-att-contents .title{
	font-size: 1.4em;
	letter-spacing: .14em;
	margin-bottom: 1.5em;
	text-align: center;
}

.recruit-att-contents-wrap .recruit-att-contents .text{
	font-size:1.07em;
	line-height: 2;
}

.recruit-day-wrap{
	margin-bottom: 4em;
}

.day-contents-wrap{
	width: 90%;
	max-width: 1400px;
	margin: 0 auto;
	padding-top: 3em;
}

.day-contents-wrap .day-slider-wrap{
	width: 100%;
	position: relative;
	line-height: 0;
	margin-bottom: 4em;
}

.day-contents-wrap .day-slider{
	border-radius: 3em;
	overflow: hidden;
}

.day-contents-wrap .day-slider-wrap .counter-wrap{
	position: absolute;
	right: 0;
	bottom: 0;
	width: 10em;
	height: 10em;
	background: url(img/page/counter_bg.svg) no-repeat 2em 2em;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.3em;
}

.day-contents-wrap .day-slider-wrap .counter-wrap .counter{
	position: absolute;
	bottom: 2em;
	right: 2em;
}

.day-contents {
	width: 100%;
	position: relative;
}

.day-contents::after{
	content: "";
	display: block;
	width: 1px;
	height: 0;
	background: rgba(27,59,79,0.5);
	position: absolute;
	top: .5em;
	left: 7.1em;
	transition: height .5s linear;
}

.day-contents.view::after{
	height: calc(100% - 20% + 3.5em);
}

.day-contents .contents{
	width: 100%;
	display: flex;
	align-items: flex-start;
	gap:4em;
	margin-bottom: 2em;
}

.day-contents .contents:last-child{
	margin-bottom: 0;
}

.day-contents .contents dt{
	color: #FFF;
	background: #9e9e9f;
	line-height: 1;
	padding: .3em 1em;
	width: 5em;
	text-align: center;
	position: relative;
	opacity: 0;
	transition: .4s ease-out;
	transform: translateX(-0.5em);
}

.day-contents .contents.view dt{
	opacity: 1;
	transform: translateX(0);
}

.day-contents .contents dt::before{
	content: "";
	display: block;
	width: .7em;
	height: .7em;
	background: #1b3b4e;
	border-radius: 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -2.5em;
}

.day-contents .contents dd{
	display: flex;
	flex-flow: column;
	width: calc(100% - 9em);
	opacity: 0;
	transition: .4s ease-out;
}

.day-contents .contents.view dd{
	opacity: 1;
}

.day-contents .contents dd span:first-child{
	padding-bottom: 0.5em;
	width: 100%;
}

.day-contents .contents dd span:last-child{
	width: 100%;
}

.recruit-step-wrap{
	margin-bottom: 5em;
}

.recruit-guide-wrap{
	margin-bottom: 5em;
}

.recruit-guide-wrap .guide-contents{
	width: 90%;
	max-width: 1900px;
	margin: 0 auto;
	padding-top: 4em;
	margin-bottom: 3em;
}

.btn-entry{
	display: block;
	font-size: 1.8em;
	padding: 1em 2em;
	background: #f3f4f8;
	text-align: center;
	width: 90%;
	max-width: 1900px;
	margin: 0 auto;
	position: relative;
	transition: .4s ease-in-out;
}

.btn-entry:hover{
	background: #1b3b4e;
	color: #FFF;
}

.btn-entry span{
	display: block;
	font-size: 1rem;
	letter-spacing: .3em;
}

.recruit-thumb-wrap{
	width: 90%;
	max-width: 1600px;
	margin: 0 auto;	
}

.recruit-thumb-wrap img{
	display: block;
	margin-bottom: 1em;
}

.recruit-single-icatch-wrap.season .recruit-title{
	color: #1b3b4e;
}

.recruit-single-icatch-wrap.season .read{
	position: absolute;
	top: 45%;
	left: 5vw;
	width: 90%;
	color: #FFF;
	font-size: 2em;
}

.recruit-list-contents-wrap{
	padding-top: 4em;
	width: 90%;
	max-width: 2000px;
	margin: 0 auto;
	margin-bottom: 6em;
}

.recruit-list-contents-wrap .recruit-list-contents{
	border-top: 1px solid rgba(27,59,79,0.5);
	border-bottom: 1px solid rgba(27,59,79,0.5);
	padding: 3em 0;
	padding-right: 0;
	margin-bottom: 4em;
}

.recruit-list-contents .thumb-wrap{
	width: 100%;
	margin-bottom: 3em;
}

.recruit-list-contents .text-wrap{
	width: 100%;
	text-align: left;
}

.recruit-list-contents .text-wrap .title {
	margin-bottom: 2em;
}

.recruit-list-contents .text-wrap .title .en{
	font-size: 1.4em;
	display: block;
	margin-bottom: .7em;
}

.recruit-list-contents .text-wrap .title .jp{
	font-size: 1.1em;
}


.recruit-list-contents .text-wrap .text{
	max-width: 845px;
	text-align: left;
	margin: 0 auto;
	line-height: 2.5;
}

.recruit-flow-wrap .read-wrap{
	padding-top: 6em;
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 4em;
}

.recruit-flow-wrap .read-wrap .job{
	text-align: center;
	font-size: 1.1em;
	margin-bottom: 2em;
}

.recruit-flow-wrap .read-wrap .name{
	text-align: center;
	font-size: 1.9em;
	letter-spacing: .3em;
	margin-bottom: 2em;
	transform: translateX(.3em);
}

.recruit-flow-wrap .read-wrap .text{
	line-height: 2.5;
}

.recruit-single-slider-wrap{
	margin-bottom: 6em;
	position: relative;
}

.recruit-single-slider-wrap .recruit-title{
	position: absolute;
	top: 13vh;
	left: 5vw;
	z-index: 5;
}

.recruit-single-slider-wrap .read{
	font-size: 1.6em;
	letter-spacing: .3em;
	position: absolute;
	color: #FFF;
	bottom: 13vh;
	left: 5vw;
	width: 90%;
	white-space: nowrap;
	z-index: 5;
}

.recruit-single-slider-wrap .slider{
	height: calc(60vh - 6em);
}

.recruit-single-slider-wrap .thumbs{
	width: calc(100% + 6px);
}

.recruit-single-slider-wrap .thumbs .thumb{
	height: 0;
	padding-top: 62%;
	position: relative;
}

.recruit-single-slider-wrap img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.recruit-single-slider-wrap .thumb img{
	opacity: 1;
}

.recruit-single-slider-wrap .slick-current .thumb img{
	opacity: .4;
}

.type-link-wrap{
	width: 90%;
	max-width: 1700px;
	padding-top: 6em;
	margin: 0 auto 6em; 
	display: flex;
	justify-content: space-between;
}

.type-link-wrap a{
	display: block;
	text-align: center;
}

.type-link-wrap .title{
	font-size: 1em;
	margin-top: 1em;
}

.type-contents{
	width: 90%;
	max-width: 1600px;
	margin: 0 auto 8em;
}

.type-contents:last-child{
	margin-bottom: 0;
}

.type-contents .title-wrap{
	position: relative;
	margin: 0 auto;
	margin-bottom: 3em;
	display: table;
}

.type-contents .title-wrap .title{ 
	font-size: 1.9em;
	margin-bottom: 1em;
	padding-left: 3em;
	padding-top: 1em;
}

.type-contents .title-wrap p{
	line-height: 2;
}

.type-contents .title-wrap .num{
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 2em;
	transform: translate(0 , 10%);
}

.type-contents .title-wrap .num::after{
	content: "";
	display: block;
	width: 3.3em;
	height: 1px;
	background: rgba(27,59,79,0.5);
	transform: rotate(-45deg) translate(-0.3em , .3em);
}

.type-contents .thumb-wrap{
	margin-bottom: 6em;
}

.type-contents .thumb-wrap img{
	display: block;
	margin-bottom: .5em;
}

.type-contents .detail-list-wrap{
	padding-top: 4em;
}

.type-contents .recruit-line-title{
	width: 100%;
}

.recruit-single-int-wrap .recruit-title-wrap{
	width: 90%;
	max-width: 1900px;
	margin: 3em auto;
}

.int-contents-wrap{
	width: 90%;
	max-width: 1400px;
	margin: 0 auto 0;
}

.int-contents-wrap .icatch-wrap{
	margin-bottom: 4em;
}

.int-contents-wrap .icatch-wrap img{
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.int-contents-wrap .title-wrap{
	margin-bottom: 6em;
}

.int-contents-wrap .job{
	font-size: 1.1em;
	margin-bottom: 0.6em;
}

.int-contents-wrap .name{
	font-size: 1.6em;
	letter-spacing: .3em;
	margin-bottom: 0.6em;
}

.int-contents-wrap .cat-wrap{
	display: flex;
	align-items: center;
}

.int-contents-wrap .cat-wrap span{
	font-size: 1.1em;
	letter-spacing: .3em;
	margin-right: 1em;
}

.int-contents-wrap .cat-wrap ul.cat li{
	background: #1b3b4e;
	color: #FFF;
	padding: .8em 2em;
	margin: 0;
}

.int-contents-wrap .recruit-line-title{
	justify-content: center;
	margin-bottom: 4em;
}

.int-contents-wrap .thumb-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 4em;
}

.int-contents-wrap .thumb-wrap img{
	width: 100%;
	margin-bottom: .5em;
}

.int-contents-wrap .text-wrap{
	line-height: 2;
	padding-bottom: 4em;
}


/*
TECHNOLOGY
--------------------
*/

.page-contents-wrap.technology{
	background: #FFF;
	padding-bottom: 4em;
}

.technology-line-title{
	width: 90%;
	max-width: 50em;
	border-bottom: 1px solid rgba(27,59,79,0.5);
	padding-bottom: 1em;
	margin: 0 auto;
}

.technology-line-title .en{
	font-size: 1.6em;
}

.technology-line-title .jp{
	font-size: 1.1em;
	display: block;
	padding-top: .6em;
}

.technology-single-icatch-wrap{
	height: calc(100vh - 6em);
	position: relative;
	margin-bottom: 4em;
}

.technology-single-icatch-wrap video{
	width: 100%;
	height: 100%;
	object-fit:cover;
	font-family: 'object-fit: cover;'
}

.technology-title-wrap{
	text-align: center;
	margin-bottom: 4em;
}

.technology-title-wrap .page-title .en{
	width: 80%;
	margin: 0 auto;
	line-height: 0;
}

.technology-title-wrap .page-title .jp{
	font-size: 1.2em;
	letter-spacing: .3em;
	margin: 0;
}

.technology-select-read-wrap{
	position: relative;
	z-index: 1;
	align-items: center;
	padding: 4em 5vw 4em;
	margin-bottom: 6em;
}

.technology-select-read-wrap::after{
	content: "";
	display: block;
	width: 100vw;
	height: 100%;
	background: #f3f4f8;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	z-index: -1;
}

.technology-select-read-wrap .title-wrap{
	width: 100%;
	font-size: 1.4em;
	line-height: 2;
	letter-spacing: .2em;
	padding-bottom: 1em;
	border-bottom: 1px solid rgba(27,59,79,0.5);
	margin-bottom: 2em;
}

.technology-select-read-wrap .text-wrap{
	width: 100%;
	line-height: 2;
}

.technology-att-contents-wrap{
	width: 90%;
	max-width: 1900px;
	margin: 0 auto;
	margin-bottom: 6em;
	padding-top: 4em;
}

.technology-att-contents-wrap .technology-att-contents{
	border-top: 1px solid rgba(27,59,79,0.5);
	padding-top: 4em;
	position: relative; 
	margin: 0 auto 3em;
}

.technology-att-contents-wrap .technology-att-contents .point{
	font-size: .7em;
	background: #1b3b4e;
	color: #FFF;
	line-height: 1;
	padding: 1.3em 1.4em 1.3em 1.1em;
	display: flex;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
}

.technology-att-contents-wrap .technology-att-contents .point span{
	font-size: 1.5em;
	margin-left: .3em;
}


.technology-att-contents-wrap .technology-att-contents .thumb-wrap{
	margin-bottom: 2.3em;
}

.technology-att-contents-wrap .technology-att-contents .title{
	font-size: 1.4em;
	letter-spacing: .1.4em;
	margin-bottom: 2em;
	text-align: center;
}

.technology-att-contents-wrap .technology-att-contents .text{
	font-size:1.07em;
	line-height: 2;
}

.technology-guide-wrap .guide-contents{
	width: 90%;
	max-width: 1900px;
	margin: 0 auto;
	margin-bottom: 3em;
}

.technology-thumb-wrap img{
	display: block;
	margin-bottom: 1em;
}

.technology .day-contents .contents.view dt{
	width: 0;
	background: none;
}

.technology .day-contents .contents{
	gap:0;
	height: auto;
	margin-bottom: 4em;
}

.technology .day-contents::after{
	left: 0;
}

.technology .day-contents .contents:last-of-type{
	position: relative;
}

.technology .day-contents .contents:last-of-type::before{
	content: "";
	display: block;
	width: 1em;
	height: 100%;
	background: #FFF;
	position: absolute;
    left: -5px;
    top: 0.67em;
    z-index: 2;
}

.technology .day-contents .contents dt{
	padding: .3em 0;
}

.technology .day-contents .contents dt::before{
	right: -0.4em;
}

.technology .day-contents .contents dd{
	width: 100%;
	padding-left: 3em;
	display: block;
}

.technology .day-contents .contents dd .title{
	font-size: 1.2em;
	letter-spacing: .2em;
	margin-bottom: 0.5em;
    transform: translateY(-0.5em);
}

.technology .day-contents .contents dd .text{
	line-height: 2.2;
	letter-spacing: .2em;
}

.technology .day-contents-wrap{
    padding-top: 3em;
}

.technology .day-contents-wrap .day-slider-wrap{
	width: 100%;
	margin-bottom: 4em;
}

.technology .day-contents{
	width: 100%;
}



/*
CONTACT
--------------------
*/

.page-contents-wrap.contact{
	padding-top: 13em;
}

.contact-contents-wrap{
	width: 90%;
	max-width: 1600px;
	margin: 0 auto 8em;
	padding-top: 2em;
}

.form-wrap{
	max-width: 1520px;
	margin: 0 auto;
}

.form-wrap .read{
	text-align: center;
	margin-bottom: 4vh;
}

.form-wrap .read p:last-child{
	margin-top: 1.2em;
}

.form-wrap .red{
	color: #ce2e2e;
}

.form-wrap table th{
	display: block;
	width: 100%;
	padding-bottom: .3em;
	padding-right: 20px;
	vertical-align: top;
	white-space: nowrap;
}

.form-wrap table td{
	display: block;
	width: 100%;
	padding-bottom: 20px;
}

.form-wrap table td .note{
	font-size: .96em;
}

.form-wrap .step-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	border-top: 1px solid rgba(181,181,182,0.5);
	border-bottom: 1px solid rgba(181,181,182,0.5);
	margin-bottom: 3em;
}

.form-wrap .step-wrap div{
	text-align: center;
	width: 33.333%;
	padding: 1vw 0;
	opacity: .5;
}

.form-wrap .step-wrap div.current{
	opacity: 1;
}

.form-wrap .btn-area{
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 3em;
	margin-top: 2em;
	border-top: 1px solid rgba(181,181,182,0.5);
	margin-bottom: 40px;
}

.form-wrap .btn-wrap p{
	display: flex;
	margin: 0 auto;
}

input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
} 

input[type="number"] { 
  -moz-appearance:textfield; 
} 


input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
textarea{
	width: 100%;
    padding: 1em;
    font-size: 1em;
    line-height: 1.85714;
    letter-spacing: .1em;
    border: 1px solid #CCC;
    margin-top: 0;
    transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
    outline: none;
    -webkit-appearance: none;
}

input[type="reset"],
input[type="button"]{
    padding: 1em 2em;
    background: rgba(181,181,182,0.5);
    color: #FFF;
    font-size: 1.07em;
    -webkit-appearance: none;
    border: none;
    outline: none;
	cursor: pointer;
	transition: .2s ease-in;
	text-align: center;
	display: inline-block;
	margin: 0 10px;
	border-radius: 4px;
}

input[type="submit"],
input[type="button"].confirm_button{
    padding: 1em 2em;
    background: #1b3b4e;
    color: #FFF;
    font-size: 1.07em;
    -webkit-appearance: none;
    border: none;
    outline: none;
	cursor: pointer;
	transition: .2s ease-in;
	text-align: center;
	display: inline-block;
	margin: 0 10px;
	border-radius: 4px;
}

input::-webkit-input-placeholder { color:#bbb;}
input:-moz-placeholder { color:#bbb;}
input::-moz-placeholder { color:#bbb;}

textarea::-webkit-input-placeholder { color:#bbb;}
textarea:-moz-placeholder { color:#bbb;}
textarea::-moz-placeholder { color:#bbb;}

select{
    outline:none;
    text-indent: 0.01px;
    text-overflow: '';
    background: none transparent;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
	-webkit-appearance: none;
	appearance: none;
    border-radius: 0;
	width: 100%;
    padding: 1em;
    font-size: 1em;
    line-height: 1.85714;
    letter-spacing: .1em;
    border: 1px solid #CCC;
    color: #bbb;
    background: #FFF;
}

.select-wrap{
	position: relative;
	width: 100%;
}

.select-wrap::after{
  border-top: 1px solid rgba(35,24,21,0.25);
  border-right: 1px solid rgba(35,24,21,0.25);
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 1.6em;;
  right: 20px;
  transform: rotate(130deg);
 }

.size-m{
	display: inline-block;
	width: 100%;
	max-width: 400px;
}

.size-mm{
	display: inline-block;
	width: 100%;
	max-width: 600px;
}

.size-s{
	display: inline-block;
	width: 19%;
	margin-right: 1%;
}

.size-zip{
	display: inline-block;
	width: 100%;
	max-width: 300px;
	vertical-align: middle;
}

span.wpcf7-list-item{
	margin-left: 0;
	margin-right: 1em;
}

/* checkbox */

.form-wrap input[type="checkbox"] {
  position: absolute;
  opacity: 0;/*既存のチェックボックスを見えなくする*/
}

.form-wrap .wpcf7-list-item-label{
	position: relative;
	cursor: pointer;
}

.form-wrap input[type="checkbox"] + .wpcf7-list-item-label::before {/*チェックボックスの枠*/
	content: '';
	border: 1px solid rgba(62,58,57,0.25);
	background: #FFF;
	border-radius: 5px;
	display: inline-block;
	width: 15px;
	height: 15px;
	position: relative;
	top: -3px;
	margin-right: 10px;
	vertical-align: middle;
	cursor: pointer;
	vertical-align: -5px;
	text-align: center;
}

.form-wrap input[type="checkbox"]:checked + .wpcf7-list-item-label::after {/*チェックアイコン*/
	position: absolute;
	top: 4px;
	left: 6px;
	transform: rotate(50deg);
	width: 4px;
	height: 8px;
	border-right: 2px solid #1b3b4e;
	border-bottom: 2px solid #1b3b4e;
	content: '';
}

/* radio */
input[type="radio"] {
  opacity: 0; /* デフォルトのボタンを非表示 */
  position: absolute;
}

input[type="radio"] + .wpcf7-list-item-label::before {
  background: #fff;
  border: 1px solid rgba(62,58,57,0.25);
  border-radius: 100%; /* ラジオボタンっぽく丸くする */
  content: "";
  display: inline-block;
  vertical-align: sub;
  height: 1em;
  margin-bottom: auto;
  margin-right: .5em;
  margin-top: auto;
  transition: background-color .5s; /* 色をじんわり変化させる */
  width: 1em;
}

input[type="radio"]:checked + .wpcf7-list-item-label::before {
  background-color: #1b3b4e; /* チェック後の中心の色 */
  box-shadow: inset 0 0 0 3px #fff; /* 中心の色のスタイル */
}


.confirm{
	text-align: center;
	margin:0 0 40px;
	padding-top: 80px;
	font-weight: 700;
	font-size: 16px;
}

.conf-text{
	text-align: center;
	font-size: 1.08em;
	letter-spacing: .5em;
	margin-bottom: 3em;
	margin-top: 7em;
}

.submit{
	position: relative;
    margin: 0 auto;
	display: table;
	margin-top: 20px;
}

.wpcf7c-conf {
    background: none!important;
    border: none!important;
 }

.ajax-loader,
div.wpcf7-mail-sent-ok,
.wpcf7 form .wpcf7-response-output,
.wpcf7-spinner {
	display: none!important;
}

.wpcf7-not-valid-tip {
    font-size: 1em;
    font-weight: normal;
    display: block;
}

.thanks-wrap{
	width: 100%;
	margin: 15vh auto 20vh;
	text-align: center;
}

.thanks-wrap .title{
	font-size: 1.4em;
	margin-bottom: 1em;
}

.thanks-wrap p{
	font-size: 1.1em;
	line-height: 2;
	margin-bottom: 3em;
}

.thanks-wrap a{
	font-size: 1.15em;
	text-decoration: underline;
}

.info404-wrap{
	width: 100%;
	height: calc(100vh - 12em);
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.info404-wrap .title{
	font-size: 1.4em;
	margin-bottom: 1em;
}
.info404-wrap p{
	font-size: 1.1em;
	margin-bottom: 1em;
}
.info404-wrap a{
	font-size: 1em;
	text-decoration: underline;
}


/*確認画面と完了画面を非表示*/
.confirm_area,
.thanks_area {
    display: none;
}

.confirm_area table{
	margin: 6em auto;
}

/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output{
    display: none;
}


/*
--------------------
PRIVACY POLICY
*/

.policy-contents-wrap{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 7em 0 10em;
}

.policy-contents-wrap .credit{
	text-align: right;
	line-height: 2;
	max-width: 1000px;
	margin:3em auto 0;
}

.policy-read-wrap{
	max-width: 1000px;
	margin: 0 auto 6em;
}

.policy-read-wrap p{
	padding-top: 2em;
	line-height: 2.2;
}

.policy-contents{
	max-width: 1000px;
	margin:0 auto 6em;
}

.policy-contents .title{
    display: block;
    font-size: 1.24em;
    letter-spacing: .3em;
    margin-bottom: 1em;
    text-indent: -1.4em;
    padding-left: 1.4em;
}

.policy-contents .ls-title::before{
	top: 1.3em;
}

.policy-contents .text{
	padding-top: 1em;
	line-height: 2.2;
}

.policy-contents .text ul{
	list-style-type: disc;
	list-style-position: inside;
	margin: 2em 0;
}

.policy-contents .text ul.num{
	list-style-type: decimal;
}

.policy-contents .text ul.numc{
	list-style-type: none;
}

.policy-contents .text ul li{
	line-height: 1.6;
    text-indent: -1.4em;
    padding-left: 1.4em;
    margin-bottom: 1.2em;
}

.policy-contents .text ul.numc li{
	list-style-type: none;
    text-indent: -1.6em;
    padding-left: 1.6em;
    margin-bottom: .8em;
}

.policy-contents .table-wrap{
	margin: 3em 0;
}

.policy-contents .table-wrap .ttitle{
	margin-bottom: 1em;
	font-size: 1.16em;
}

.policy-contents .table-wrap table thead{
	background: #f7f7f2;
}

.policy-contents .table-wrap table td{
	padding: 1em 2em;
    border: 1px solid rgba(62,58,57,0.25);
}

.policy-contents .table-wrap table td ul{
	margin: 0;
}

.policy-contents .table-wrap table td li{
	margin-bottom: 1em;
}

.policy-info-wrap{
	max-width: 1000px;
	margin:6em auto 20em;
}

.policy-info-wrap .inner{
	padding: 3em 0;
    border: 1px solid rgba(62,58,57,0.25);
}

.policy-info-wrap .text{
	padding-top: 2em;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.policy-info-wrap .text p{
	width: 48%;
	line-height: 2;
}

.policy-link a {
    text-decoration: underline;
}




/*
-----------------------
OPEN MENU
*/

.open-menu-btn-bg{
	display: block;
	position: absolute;
    width: 6em;
    height: 100%;
    top: 0;
    right: 0;
    transition: .4s ease;
    background: #1b3b4e;
	z-index: 100;
}

.open-menu-btn-bg.hover{
	background: #26566d;	
}

.open-menu-btn-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 6em;
    height: 100%;
    top: 0;
    right: 0;
    cursor: pointer;
    z-index: 999;
}

.open-menu-btn {
	display: block;
	border: none;
	width: 2.2em;
	height: 1.3em;;
	position: relative;
	transition: transform .3s cubic-bezier(.215,.61,.355,1);
}

.open-menu-btn-wrap:hover .open-menu-btn {
	transform: scaleX(1.5);
}

.open-menu-btn .toggle {
	width: 100%;
	height: 1px;
	background: #9e9e9f;
	display: block;
	position: absolute;
	left: 0;
	transition: transform .3s cubic-bezier(.215,.61,.355,1);
}

.open-menu-btn .toggle:nth-child(1) {
	top: 0;
	transition: 1s cubic-bezier(.19,1,.22,1);
}

.open-menu-btn .toggle:nth-child(2) {
	top: 50%;
	transform: translateY(-50%) scaleX(1);
	transform-origin: left;
	transition: transform .7s cubic-bezier(1,0,0,1) .3s ,opacity .7s cubic-bezier(1,0,0,1) .3s; 
	}

.open-menu-btn .toggle:nth-child(3) {
	bottom: 0;
	transition: 1s cubic-bezier(.19,1,.22,1);
}

.open .open-menu-btn .toggle:nth-child(1) {
	transform: rotate(-22deg);
	top: 50%;
	transition-delay: .3s;
}

.open .open-menu-btn .toggle:nth-child(2) {
	opacity: 0;
	transform: translateY(-50%) scaleX(0);
	transform-origin: right;
}

.open .open-menu-btn .toggle:nth-child(3) {
	transform: rotate(22deg);
	bottom: 50%;
	transition-delay: .3s;
}


.open-menu-bg {
	width: 100vw;
	height: 100vh;
	position: fixed;
	background: #1b3b4e;
	top: 0;
	right: 0;
	transition: transform .8s ease;
	z-index: 998;
	pointer-events: none;
	transform: translateY(100%);
	transition: transform 0.3s ease-in-out;
}

.open .open-menu-bg {
    animation: slideIn .6s forwards;
}

.close .open-menu-bg {
    animation: slideOut .6s forwards;
}


@keyframes slideIn {
    0% {
        transform: translateY(100%)
    }

    to {
        transform: translateY(0)
    }
}

@keyframes slideOut {
    0% {
        transform: translateY(0)
    }

    to {
        transform: translateY(-100%)
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

.open-menu-wrap {
	color: #9e9e9f;
	width: 100%;
	height: 100dvh;
	position: fixed;
	top: 0;
	right: 0;
	transition: all .4s ease;
	overflow-y: scroll;
	overflow-x: hidden;
	z-index: 998;
	pointer-events: none;
	opacity: 0;
	-ms-overflow-style: none;
	scrollbar-width: none;
	padding: 8em 5vw;
}

.open-menu-wrap::-webkit-scrollbar{
  display: none;
}

.open .open-menu-wrap {
	pointer-events: inherit;
}

.open-nav-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
    transform: scale(1.01);
	padding-bottom: 3em;
}

.open-nav-wrap .nav-contents{
	width: 47%;
	margin-bottom: 6em;
}

.open-nav-wrap .nav-contents:nth-child(4n){
	margin-right: 0;
}

.open-nav-wrap .title{
	display: block;
	font-size: 1.15em;
	transform: translateY(1em);
	opacity: 0;
	transition: .6s ease-out 0s;
}

.open .open-nav-wrap .title{
	transform: translateY(0);
	opacity: 1;
}


.open-nav-wrap .nav-contents:nth-of-type(3) .title,
.open-nav-wrap .nav-contents:nth-of-type(4) .title{
	transition-delay: .6s;
}

.open-nav-wrap .nav-contents:nth-of-type(5) .title,
.open-nav-wrap .nav-contents:nth-of-type(6) .title{
	transition-delay: .8s;
}

.open-nav-wrap .nav-contents:nth-of-type(7) .title,
.open-nav-wrap .nav-contents:nth-of-type(8) .title{
	transition-delay: 1s;
}

.open-nav-wrap .title a::after{
	content: "";
	display: block;
	margin-top: .4em;
	width: 6.66em;
	height: 1px;
	background: rgba(158,158,158,0.5);
}

.open-nav-wrap .nav-contents ul{
	margin-top: 1.8em;
}

.open-nav-wrap .nav-contents li{
	line-height: 1.7;
	transition: 1s ease-out;
	opacity: 0;
}

.open .open-nav-wrap .nav-contents li{
	opacity: 1;
}

.close .open-nav-wrap .nav-contents li,
.close .open-nav-wrap .nav-contents .title{
	transition-delay: 0s!important;
}

.open-nav-wrap .contact-link{
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
}

.open-nav-wrap .contact-link .in{
	display: block;
	width: 1.6em;
	height: 1.6em;
	background: url(img/common/icon_in.svg) no-repeat;
	background-size: contain;
	margin-left: 2em;
}

.open-nav-wrap .policy-link{
	position: absolute;
	bottom: 0;
	right: 5vw;
}