@charset "utf-8";
/*------------------------------------------------------- CSS clear*/

html{margin: 0px;
	padding: 0px;
	border-top-width: 0px;
	border-right-width: 0px;
	border-bottom-width: 0px;
	border-left-width: 0px;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;}
body {
	color:#2E2E2E;
	margin:0;
	padding:0;
}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
	margin: 0;
	padding: 0;
}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{
	border: 0;
}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li {list-style:none;}
caption,th {text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym {border:0;font-variant:normal;}
sup,sub {line-height:-1px;vertical-align: text-top;}
sub {vertical-align:text-bottom;}
input, textarea, select{font-family:inherit;font-size:inherit;font-weight:inherit;}
a img {	border:0;overflow: hidden;}
*{box-sizing: border-box;}

body{
	padding: 0px;
	margin: 0px;
	font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
}
img{
	max-width: 100%;
	height: auto;
}
a {

}
html { margin: 0px !important; }

a:link {
	color: #666;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}
a:visited{
	color: #666;
}
a:hover {
	color: #695230;
	text-decoration: underline;
}
a:active {
	color: #666;
}
a img {
     border:none;
     verticle-align:top;
     -webkit-transition: 0.3s ease-in-out;
     -moz-transition: 0.3s ease-in-out;
     -o-transition: 0.3s ease-in-out;
     transition: 0.3s ease-in-out;
}
a:hover img {
	opacity: 0.6;     /* 透過レベル */
	filter: alpha(opacity=60);
}
strong {
	font-weight: bold;
}


/* レイアウト
----------------------------------------------------------- */
#MainVisual{
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 100vh;
	overflow: hidden;
}
#MainVisual #backgroundSlide{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}
#MainVisual #backgroundSlide:after{
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	display: block;
	background-color: transparent;
	background-image: linear-gradient(rgb(190, 217, 255) 0%, rgb(17, 35, 80) 100%);
	opacity: 0.5;
}
#MainVisual .message {
	position: absolute;
	top: 50%;
	left: 0px;
	width: 100%;
	height: auto;
	transform: translate(0,-50%);
	padding: 5em;
	font-family: "Shippori Mincho", serif !important;
	color: #FFF;
}
#MainVisual .message h2 {
	font-family: "Shippori Mincho", serif !important;
	color: #FFF;
	font-size: 2.5em;
	font-weight: 600;
	line-height: 1.5em;
	letter-spacing: 0.24em;
	font-feature-settings: "palt";
	font-style: normal;
	position: relative;
	display: inline-block;
}
#MainVisual .message h2:after{
	content: "";
	height: 1px;
	background: #FFF;
	/*width: calc(100% + 5em);*/
	width: 100%;
	position: absolute;
	display: block;
	right: 0;
	bottom: -0.5em;
}
#MainVisual .message h2 .big{
    font-size: 1.5em;
    text-shadow: 0px 0px 20px black;
}
#MainVisual .message p{
	font-size: 2.2em;
	line-height: 1.5em;
	margin-top: 2em;
	letter-spacing: 0.24em;
	padding-left: 2em;
	position: relative;
}

#MainVisual .message p:before{
	content: "";
	width: 1em;
	height: 1em;
	background: url("../img/pic_logo_w.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
	font-size: 1.5em;
}


.vegas-animation-kenburns {
    animation: kenburns linear;
}

@keyframes kenburns {
    0% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}



#messages {
	background-color: #E7F3FF;
	background-image: linear-gradient(109deg, #E7F3FF 40%, #FFFEEE 100%);
	position: relative;
	min-height: 100vh;
	overflow: hidden;
}

#messages:before{
	content: "";
	width: 26vw;
	height: 26vw;
	opacity: 0.5;
	position: absolute;
	background: url("../img/pic_logo_w.png");
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	right: 0;
	top: -2vw;
}
#messages .leftBox {
	width: 33.3%;
	width: calc((100% / 3) * 1);
	height: 100%;
	position: absolute;
	background-image: url(../../img/pic_013_trim.jpg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	left: 0;
	top: 0;
}
#messages .leftBox:after{
	content: "";
	width: 101%;
	height: 100%;
	top: 0;
	right: -1px;
	position: absolute;
	display: block;
	background-color: transparent;
	background-image: linear-gradient(90deg, #11235000 0%, #E7F3FFFF 100%);
	opacity: 1;
}
#messages .rightBox {
	width: 66.6%;
	width: calc((100% / 3) * 2);
	height: auto;
	position: absolute;
	right: 0;
	top: 50%;
	font-family: "Shippori Mincho", serif !important;
	transform: translate(0,-50%);
}
#messages .rightBox h2 {
	font-size: 1.6em;
	font-weight: 900;
	line-height: 2.5em;
	letter-spacing: 0.12em;
	font-feature-settings: "palt";
	font-style: normal;
	margin-bottom: 1em;
}
#messages .rightBox .big{
	font-size: 1.4em;
}
#messages .rightBox .message {
	font-size: 1.2em;
	font-weight: 400;
	line-height: 1.8em;
	letter-spacing: 0.04em;
	font-style: normal;
}
#messages .rightBox .message p {
	margin-bottom: 1em;
}

#Gallery {
	position: relative;
	overflow: hidden;
}

#Gallery .swiper:before{
	content: "Gallery";
	color: #FFFFFFEB;
	font-size: 5em;
	font-weight: 900;
	position: absolute;
	left: 0;
	top: -0.45em;
	z-index: 100;
}
#Gallery .swiper:after{
	content: "※弊社社員が撮影した写真です。";
	color: #FFFFFFEB;
	font-size: 0.8em;
	font-weight: 600;
	position: absolute;
	right: 0.5em;
	bottom: 0.5em;
	z-index: 100;
}

#Gallery .swiper-wrapper {
	transition-timing-function: linear;
	background: #2E2E2E;
}
#Gallery .swiper-slide{
	width: calc(100% / 3);
	height: 0px;
	padding-top: calc((100vw / 3) * 0.75);
	overflow: hidden;
	position: relative;
	background: #2E2E2E;
}
#Gallery .swiper-slide img{
	width: auto;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

#access {
	padding-bottom: 7em;
	padding-top: 5em;
	background-image: url(../../img/pic_t011.jpg);
	background-position: right center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
	text-align: center;
	overflow: hidden;
}
#access:before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-image: linear-gradient(270deg, rgba(250, 250, 250, 0.95) 0%, rgb(250, 250, 250) 72%);
	z-index: 1;
}
#access:after{
	content: "Company";
	color: #2E2E2E55;
	font-size: 5em;
	font-weight: 900;
	position: absolute;
	right: 0;
	top: -0.45em;
	z-index: 100;
}
#access *{
	z-index: 2;
	position: relative;
}
#access h2 {
	font-family: "Shippori Mincho", serif !important;
	font-size: 1.7em;
	letter-spacing: 0.16em;
	text-align: center;
	padding-bottom: 1em;
	font-feature-settings: "palt";
	position: relative;
	z-index: 2;
	font-weight: 600;
}
#access h2:after{
	content: "";
    width: 3em;
    height: 1px;
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0px;
    background-color: #000;
    transform: translate(-50%,0);
}
#access h3{
	position: relative;
	display: inline-block;
	color: #FFF;
	font-size: 1.3em;
	font-family: "Shippori Mincho", serif !important;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	z-index: 3;
	padding: 0.1em 1em 0.2em 1em;
	background: #2e2e2e;
	letter-spacing: 0.1em;
}
#access table{
	width: 100%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	background: #FFF;
	margin-top: 3em;
	margin-bottom: 4em;
	display: block;
	padding: 1em;
	position: relative;
}

#access table:before{
    content: "";
    width: 50%;
    height: 2em;
    background: #CCC;
    position: absolute;
    top: 100%;
    left: 50%;
    display: block;
    transform: translate(-50%,-3em);
    filter: blur(20px);
    z-index: 5;
}
#access table:after{
    content: "";
    width: 100%;
    height: 100%;
    background: #FFF;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: 6;
}
#access table *{
	z-index: 7;
	position: relative;
}
#access table tbody{
	display: table;
	width: 100%;
	max-width: 800px;
	border-collapse: separate;
	border-spacing: 0.5em;
	margin-bottom: 0.5em;
}
#access table tr{
}
#access table th,#access table td{
	padding: 0.5em;
}
#access table th{
	border-bottom:1px #2dc3a8 solid;
	white-space: nowrap;
}
#access table td{
	border-bottom:1px #e6e6e6 solid;
}
#access table span{
	display: inline-block;
	padding-right: 0.5em;
}
#access ul {
	margin-top: 3em;
	position: relative;
	z-index: 2;
	max-width: 1140px;
	margin-right: auto;
	margin-left: auto;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 1em;
}
#access ul li {
	background-color: #FFF;
	padding: 2em;
	text-align: left;
	
    position: relative;
}
#access ul li:before{
    content: "";
    width: 50%;
    height: 2em;
    background: #CCC;
    position: absolute;
    top: 100%;
    left: 50%;
    display: block;
    transform: translate(-50%,-3em);
    filter: blur(20px);
    z-index: 5;
}
#access ul li:after{
    content: "";
    width: 100%;
    height: 100%;
    background: #FFF;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: 6;
}
#access ul li *{
	z-index: 7;
}

#access ul li iframe {
	margin-bottom: 20px;
}
#access ul li h4 {
	font-size: 1.2em;
	font-weight: 600;
	margin-bottom: 20px;
}
#access ul li access {
	margin-bottom: 20px;
	display: block;
}
#access ul li p {
}

#recruit{
	padding-top: 5em;
	padding-bottom: 7em;
	/*border-top: #2dc3a8 solid 7em;*/
	position: relative;
	overflow: hidden;
	background: #f4fdfb;
	background-image: linear-gradient(109deg, #f4fdfb 40%, #FFFEEE 100%);
}
#recruit:before{
	content: "Recruit";
	color: #FFFFFFEB;
	font-size: 5em;
	font-weight: 900;
	position: absolute;
	left: 0;
	top: -0.45em;
	z-index: 100;
}
#recruit:after{
	content: "";
	position: absolute;
	width: 100%;
	height: 15em;
	opacity: 1;
	background-image: linear-gradient(251deg, #2DC3A8 66%, #29AEC0 100%);
	top: 0;
	left: 0;
	/*clip-path: xywh(0 -100px 100% 100% round 100px);*/
}
#recruit h2 {
	font-family: "Shippori Mincho", serif !important;
	font-size: 1.7em;
	letter-spacing: 0.16em;
	text-align: center;
	padding-bottom: 1em;
	font-feature-settings: "palt";
	position: relative;
	z-index: 2;
	font-weight: 600;
	color: #FFF;
}
#recruit h2:after{
	content: "";
    width: 3em;
    height: 1px;
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0px;
    background-color: #FFF;
    transform: translate(-50%,0);
}
#recruit table{
	width: 100%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	background: #FFF;
	margin-top: 3em;
	margin-bottom: 4em;
	display: block;
	padding: 1em;
	position: relative;
}

#recruit table:before{
    content: "";
    width: 50%;
    height: 2em;
    background: #CCC;
    position: absolute;
    top: 100%;
    left: 50%;
    display: block;
    transform: translate(-50%,-3em);
    filter: blur(20px);
    z-index: 5;
}
#recruit table:after{
    content: "";
    width: 100%;
    height: 100%;
    background: #FFF;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: 6;
}
#recruit table *{
	z-index: 7;
	position: relative
}
#recruit table tbody{
	display: table;
	width: 100%;
	max-width: 800px;
	border-collapse: separate;
	border-spacing: 0.5em;
	margin-bottom: 0.5em;
}
#recruit table tr{
}
#recruit table th,#recruit table td{
	padding: 0.5em;
}
#recruit table th{
	border-bottom:1px #2dc3a8 solid;
	white-space: nowrap;
}
#recruit table td{
	border-bottom:1px #e6e6e6 solid;
}
#recruit table span{
	display: inline-block;
	padding-right: 0.5em;
}
#recruit dl{
	display:table;
	padding: 0px;
	margin: -0.5em;
	margin-bottom: 1em;
}
#recruit dl div{
	display:table-row;
	margin-inline-start: 0;
}
#recruit dl div.border{
	position: relative;
}
#recruit dl div.border:after{
	border-top: 1px #CCC solid;
	position: absolute;
	width: 100%;
	top: -2px;
	left: 0;
	height: 1px;
	content: "";
}
#recruit dt,#recruit dd{
	display: table-cell;
	margin-inline-start: 0;
}
#recruit dt{
	padding-right: 1em;
	white-space: nowrap;
}
#recruit dt span.smpBR{
	display: inline-block;
	font-feature-settings: "palt";
}






body footer {
	background: #2E2E2E;
	text-align: center;
	color: #FFF;
	padding-top: 2em;
	padding-bottom: 2em;
}
body footer a{
	color: #FFF !important;
	text-decoration: none;
}
body footer p {
	margin-bottom: 1em;
}
footer p.logo {
	width: 4.9em;
	height: auto;
	margin-right: auto;
	margin-left: auto;
}
footer h1 {
	font-size: 0.9em;
	letter-spacing: 0.19em;
	margin-bottom: 1em;
}
footer access {
	font-size: 0.9em;
	letter-spacing: 0.19em;
	margin-bottom: 1em;
	display: block;
}
footer p#copyRight {
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
	font-size: 0.9em;
	padding-top: 1em;
	border-top: 1px #FFF solid;
}



/*
------------------------------------------------------------*/
@media screen and (max-width:1024px){
body{
	font-size: 0.9em;
}
#MainVisual .message {
	padding: 2em;
}
#MainVisual .message h2 {
	font-size: 2.3em;
}
	
#Gallery .swiper-slide{
	width: calc(100% / 4);
	padding-top: calc((100vw / 4) * 0.75);
}
#access{
	padding-right: 2em;
	padding-left: 2em;
	padding-top: 8em;
}
#access:after{
	right: auto;
	left: 0;
}
#access ul {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 1em;
	row-gap: 1em;
}
#access ul li {
	background-color: #FFF;
	padding: 2em;
}
#recruit{
	padding-right: 2em;
	padding-left: 2em;
	padding-top: 8em;
}
#recruit:after{
	height: 18em;
}

}


@media screen and (max-width:767px){
body{
	font-size: 0.8em;
}
#MainVisual .message h2 {
	font-size: 5vw;
}
#MainVisual .message p {
	font-size: 5vw;
}
#messages {
	min-height: 80vh;
}
#messages:before{
	width: 40vw;
	height: 40vw;
}
#messages .leftBox {
	display: none;
}
#messages .rightBox{
	width: 100%;
	left: 0;
	right: auto;
	padding: 3em 1em 3em 1em;
}
#messages .rightBox h2 {
	font-size: 1.2em;
}
#messages .rightBox .message {
	font-size: 1.35em;
}
#Gallery .swiper-slide{
	width: calc(100% / 1);
	padding-top: calc((100vw / 1) * 0.75);
}
#Gallery .swiper:before,#access:after,#recruit:before{
	font-size: 4.2em;
}
}

/* スマートフォン 横(ランドスケープ) */
@media only screen and (max-width:640px){
body{
	font-size: 0.75em;
}
body header h1 {
	text-align: center;
	margin-bottom: 10px;
}
header #logo {
	float: none;
	margin-right: 99px;
	text-align: center;
	width: 100%;
}
#area {
}
#tel {
	float: right;
}
#voice {
	width: 100%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}





}

/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width:480px){

}




