@charset "utf-8";
/*--------------------------------------
	copyright :Lampros co.,Ltd.
	-----------------------------------*/


/* layout
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

body { background-color: #BBB; width: 100%; overflow-x: hidden; }

/* body-wrap ----------*/
#body-wrap { width: 100%; overflow: hidden; }
#body-wrap .inner { max-width: 124rem; margin: 0 auto; padding: 0 2rem; }
#body-wrap img { max-width: 100%; }
#body-wrap a:link, #body-wrap a:visited {}

/* contents-wrap ----------*/
#contents-wrap { position: relative; background-color: #FFF; }

/* header ----------*/
#header { position: fixed; z-index: 100; top: -100%; left: 0; width: 100%; height: 10rem; background-color: #FFF; transition:height 0.2s ease-out; }
.scroll #header { height: 7rem; }
#header-logo { height: 100%; padding: 2rem; float: left; transition:padding 0.2s ease-out; }
.scroll #header-logo { padding: 1.2rem; }
#header-logo a { display: inline-block; height: inherit; }
#header-logo img { width: auto; height: 100%; }

/* nav ----------*/
#nav { height: 10rem; transition: height 0.2s ease-out; float: right; }
.scroll #nav { height: 7rem; }
#nav ul { height: 100%; }
#nav ul li { height: inherit; float: left; }
#nav ul li a { position: relative; display: block; height: inherit; overflow: hidden; padding: 0 2.5rem; color: #333; text-decoration: none; line-height: 1; font-size: 1.5rem; font-weight: bold; transition: all 0.3s ease-out; }
#nav ul li a:before { position: absolute; top: 0; right: -40%; content: ""; width: 10%; height: 100%; background-color: #333; transition: all 0.2s ease-out; -webkit-transform: skew(-25deg); transform: skew(-25deg); }
#nav ul li a:hover:before { left: -40%; right: auto; width: 140%; -webkit-transform: skew(0); transform: skew(0); }
#nav ul li a.inverseMX:before { left: -40%; -webkit-transform: skew(25deg); transform: skew(25deg); }
#nav ul li a.inverseMX:hover:before { left: auto; right: -40%; -webkit-transform: skew(0); transform: skew(0); }
#nav ul li:last-child a:before { background-color: #FF6464;  }
#nav ul li:last-child a:hover { color: #FFF !important; }
#nav ul li a:hover { opacity: 1; color: #FFF; }
#nav ul li:last-child a { padding: 0 6rem; color: #333; background-color: #BBB; }
#nav ul li:nth-child(6) a { padding-right: 4rem; }
#nav ul li a span.w { position: relative; top: calc(50% - 1.9rem); display: block; transition: top 0.3s ease-out; }
.scroll #nav ul li a span.w { top: calc(50% - 1.65rem); }
#nav ul li a span.s { display: block; padding-top: 1rem; opacity: 0.6; font-size: 1.2rem; font-weight: normal; transition: top 0.3s ease-out; }
.scroll #nav ul li a span.s { padding-top: 0.5rem; }
#nav ul li.active a { color: #333; background-color: #F6F6F6; }
#nav ul li:last-child.active a { background-color: #FF6464; color: #FFF !important; }
#nav ul li.active a:before, #nav ul li.active a:hover:before { top: auto; bottom: 0; left: 0; right: auto; width: 100%; height: 0.5rem; -webkit-transform: skew(0); transform: skew(0); }
@media screen and (max-width:1200px) {
	#nav ul li a { padding: 0 2rem; }
	#nav ul li:nth-child(6) a { padding-right: 3rem; }
	#nav ul li:last-child a { padding: 0 3rem; }
}
@media screen and (max-width:1024px) { /* iPad 横 l */
	#nav { display: none; }
	.nav_open #nav { position: fixed; z-index: 1; top: 0; left: 0; display: block; width: 100%; height: 100vh; padding: 10rem; pointer-events: none; }
	.nav_open #nav ul { width: 100%; height: calc(100vh - 20rem); overflow: auto; -webkit-overflow-scrolling:touch;  pointer-events: auto; }
	.nav_open #nav ul li { width: 100%; height: auto; float: none; }
	.nav_open #nav ul li a { height: auto; padding: 2rem 3rem; color: #FFF; text-align: center; font-size: 2rem; pointer-events: auto; }
	.nav_open #nav ul li.active a { color: #333; background-color: #FFF; }
	.nav_open #nav ul li.active a:before, .nav_open #nav ul li.active a:hover:before { display: none; }
}
@media only screen and (orientation:landscape) { /* 横 */
	.nav_open #nav { padding: 2rem 10rem; }
	.nav_open #nav ul { height: calc(100vh - 4rem); }
}

/* nav_bar ----------*/
#nav_bar { position: relative; position: fixed; top: 0; right: 0; display: none; width: 10rem; height: 10rem; }
#nav_bar:before { content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background-color: #333; border-radius: 50%; transition:all 0.3s ease-out; -webkit-transform:scale(0,0); transform:scale(0,0); }
#nav_bar:hover { opacity: 1; }
.scroll #nav_bar { width: 7rem; height: 7rem; }
#nav_bar:hover { cursor: pointer; }
#nav_bar span { position: relative; display: block; width: inherit; height: inherit; }
#nav_bar:after, #nav_bar span:before, #nav_bar span:after { position: absolute; left: calc((100% - 4rem) / 2); content: ""; display: block; width: 4rem; height: 1px; background-color: #000; transition: all 0.2s ease-out; }
#nav_bar:after { top: 34%; }
#nav_bar span:before { top: calc(50% - 1px); }
#nav_bar span:after { bottom: 34%; }
#nav_bar:hover:after { top: 40%; }
#nav_bar:hover span:after { bottom: 40%; }
	.nav_open { position: fixed; z-index: -1; width: 100%; height: 100%; }
	.nav_open #nav_bar:after, .nav_open #nav_bar span:before, .nav_open #nav_bar span:after { background-color: #FFF; }
	.nav_open #nav_bar:before { opacity: 1; -webkit-transform:scale(50,50); transform:scale(50,50); }
	.nav_open #nav_bar:after { top: calc(50% - 1px); -webkit-transform: rotate(135deg); transform: rotate(135deg); }
	.nav_open #nav_bar span:before { opacity: 0; }
	.nav_open #nav_bar span:after { bottom: calc(50% - 1px); -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
@media screen and (max-width:1024px) { /* iPad 横 l */
	#nav_bar { display: block; }
}

/* mv ----------*/
#mv { position: relative; z-index: 1; height: 50rem; background-color: #FFF; }
#mv .page_header { position: relative; top: calc(50% + 5rem); padding-top: 8rem; color: #FFF; text-align: center; font-size: 4rem; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
#mv .page_header span { display: block; opacity: 0.7; font-size: 1.8rem; }

/* main ----------*/
#main { position: relative; z-index: 2; background-color: #FFF; }
#main .sec { padding-top: 10rem; padding-bottom: 10rem; }
@media screen and (max-width:414px) { /* iPhone 縦 s */
	#main .sec { padding-top: 6rem; padding-bottom: 6rem; }
}

/* pageup ----------*/
#pageup { position: fixed; z-index: 100; bottom: 2rem; right: 2rem; opacity: 0; }
#pageup a.sns { position: relative; display: block; display: block; width: 4rem; height: 4rem; margin-left: 1rem; margin-bottom: 1.5rem; line-height: 4rem; background-color: #333; background-color: rgba(0, 0, 0, 0.8); border-radius: 50%; text-align: center; transition:all 0s ease-out; }
#pageup a.is:hover { opacity: 1;
	background: -webkit-radial-gradient(32% 106%, circle cover, rgb(255, 225, 125) 0%, rgb(255, 205, 105) 10%, rgb(250, 145, 55) 28%, rgb(235, 65, 65) 42%, transparent 82%), -webkit-linear-gradient(-45deg, rgb(35, 75, 215) 12%, rgb(195, 60, 190) 58%);
	background: -moz-radial-gradient(32% 106%, circle cover, rgb(255, 225, 125) 0%, rgb(255, 205, 105) 10%, rgb(250, 145, 55) 28%, rgb(235, 65, 65) 42%, transparent 82%), -moz-linear-gradient(-45deg, rgb(35, 75, 215) 12%, rgb(195, 60, 190) 58%);
	background: -ms-radial-gradient(32% 106%, circle cover, rgb(255, 225, 125) 0%, rgb(255, 205, 105) 10%, rgb(250, 145, 55) 28%, rgb(235, 65, 65) 42%, transparent 82%), -ms-linear-gradient(-45deg, rgb(35, 75, 215) 12%, rgb(195, 60, 190) 58%);
	background: -o-radial-gradient(32% 106%, circle cover, rgb(255, 225, 125) 0%, rgb(255, 205, 105) 10%, rgb(250, 145, 55) 28%, rgb(235, 65, 65) 42%, transparent 82%), -o-linear-gradient(-45deg, rgb(35, 75, 215) 12%, rgb(195, 60, 190) 58%);
	background: radial-gradient(circle farthest-corner at 32% 106%, rgb(255, 225, 125) 0%, rgb(255, 205, 105) 10%, rgb(250, 145, 55) 28%, rgb(235, 65, 65) 42%, transparent 82%), linear-gradient(135deg, rgb(35, 75, 215) 12%, rgb(195, 60, 190) 58%);
}
#pageup a.fb:hover { opacity: 1; background-color: #333; }
#pageup a.sns i { color: #FFF !important; }
#pageup a.pu { position: relative; display: block; display: block; width: 6rem; height: 6rem; background-color: #333; background-color: rgba(0, 0, 0, 0.8); border-radius: 50%; }
#pageup a.pu span { position: relative; display: block; width: inherit; height: inherit; overflow: hidden; padding-top: 100%; }
#pageup a.pu:after, #pageup a.pu span:before, #pageup a.pu span:after { position: absolute; content: ""; display: block; width: 50%; height: 1px; background-color: #FFF; transition: all 0.2s ease-out; }
#pageup a.pu:after { top: 30%; left: 25%; width: 50%; }
#pageup a.pu span:before, #pageup a.pu span:after { bottom: 40%; width: 30.5%; }
#pageup a.pu span:before { right: 24%; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
#pageup a.pu span:after { left: 24%; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
#pageup a.pu:hover span:before, #pageup a.pu:hover span:after { bottom: 45%; }
	.nav_open #pageup { position: fixed !important; opacity: 1 !important; display: block !important; top: auto !important; bottom: 2rem !important; right: 2rem !important; }
	.nav_open #pageup .pu { display: none; }
@media screen and (max-width:1024px) { /* iPad 横 l */
	#pageup { bottom: 1rem; right: 1rem; }
	#pageup a.sns { margin-bottom: 1rem; }
}

#telinfo { position: fixed; z-index: 100; bottom: 1rem; left: 1rem; opacity: 1 !important; }
#telinfo a.i { position: relative; display: block; display: block; width: 4rem; height: 4rem; margin-left: 1rem; margin-bottom: 1.5rem; line-height: 4rem; background-color: #333; background-color: rgba(0, 0, 0, 0.8); border-radius: 50%; text-align: center; transition:all 0s ease-out; }
#telinfo a.i i { color: #FFF !important; }
#telinfo a.i:hover { opacity: 1; background-color: #333; }

/* footer ----------*/
#footer { background-color: #FFF; margin-bottom: 60vh; }
#footer-info { border-bottom: solid 1px #EEE; }
#footer-info > div { overflow: hidden; }
#footer-info > div li { background-repeat: no-repeat; background-size: cover; background-position: center center; transition: all 5s ease-out; }
#footer-info > div li:hover { -webkit-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); }
#footer-info > div:nth-child(1) { border-right: solid 1px #EEE; }
#footer-info > div:nth-child(1) li { background-image: url(../_img/common/f_link_bg_1.jpg); }
#footer-info > div:nth-child(2) li { background-image: url(../_img/common/f_link_bg_2.jpg); }
#footer-info li { position: relative; }
#footer-info li:before { position: absolute; top: 0; left: 0; content: ""; width: 100%; height: 100%; margin: auto; background-color: #FFF; transition: all 0.2s ease-out; pointer-events: none; -webkit-transform-origin: center center; transform-origin: center center; }
#footer-info li:hover:before { opacity: 0; -webkit-transform: scale(0.9, 0.9); transform: scale(0.9, 0.9); }
#footer-info li a { display: block; padding: 16rem 2rem; color: #333; text-decoration: none; text-align: center; line-height: 1.4; font-size: 3.5rem; font-weight: bold; }
#footer-info li a:hover { opacity: 1; color: #FFF; }
#footer-info li a .w { position: relative; z-index: 1; display: block; }
#footer-info li a .w span { display: block; opacity: 0.6; font-size: 1.6rem; font-weight: normal; }
#footer-bnr { border-bottom: solid 1px #EEE; }
#footer-bnr li {}
#footer-bnr div:first-child li { color: #333; background-color: #EEE; font-size: 1.4rem; }
#footer-bnr div:first-child li span { display: block; text-align: center; font-weight: bold; }
#footer-bnr div:nth-child(2) { border-right: solid 1px #EEE; }
#footer-bnr li a { display: block; padding: 4rem 8rem; text-align: center; }
#footer-bnr li span { position: relative; top: 50%; display: block; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
#footer-other { border-bottom: solid 1px #EEE; text-align: center;  }
#footer-other li { display: inline-block; padding: 3rem 0; }
#footer-other li a { display: inline-block; border: solid 1px #EEE; padding: 2rem 4rem; color: #333; text-decoration: none; font-size: 1.4rem; font-weight: bold; float: left; }
@media screen and (max-width:768px) { /* iPad 縦 m */
	#footer-info li a { font-size: 2.5rem; }
	#footer-bnr li a { padding: 3rem 10rem;  }
	#footer-bnr li span { top: 0; -webkit-transform: translateY(0); transform: translateY(0); }
	#footer-bnr div:first-child li span { padding: 2rem; }
	#footer-bnr div:nth-child(2) { border-right: none; border-bottom: solid 1px #EEE; }
}
@media screen and (max-width:414px) { /* iPhone 縦 s */
	#footer-info li a { padding: 8rem 2rem; }
}

/* footer_message ----------*/
#footer_message { position: fixed; z-index: -1; bottom: 0; left: 0; width: 100%; height: 60vh; background-image: url(../_img/common/bg_logo_w.png); background-repeat: no-repeat; background-position: center center; text-align: center; }
#footer_message .w { position: relative; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); padding: 2rem; }
#footer_message h2 { color: #333; font-size: 4rem; line-height: 1.4; margin-bottom: 2rem; }
#footer_message h2 small { opacity: 1; font-weight: bold; }
#footer_message p { color: #333; text-align: center; }
#footer_message .t { margin-bottom: 5rem; font-size: 1.6rem; font-weight: bold; }
#footer_message .tel { line-height: 1.4; }
#footer_message .tel strong { font-size: 3rem; }
#footer_message .copy { font-size: 1rem; position: absolute; bottom: 2rem; text-align: center; width: 100%; }

/* footer_message ----------*/
#mouse_cursor { position: absolute; z-index: 999999; pointer-events: none; transition:all 0.3s ease-out; }
#mouse_cursor:before { content: ""; display: block; position: absolute; top: -1rem; left: -1rem; width: 2rem; height: 2rem; border-radius: 0; border: solid 3px rgba(187,187,187,1); opacity: 0; transition:all 0.3s ease-out; }
#mouse_cursor[class^="important_cursor-"]:before, #mouse_cursor[class*=" important_cursor-"]:before { opacity: 1; top: -8rem; left: -8rem; width: 16rem; height: 16rem; border: solid 3px rgba(100,100,100,0.5); border-radius: 50%; }
#mouse_cursor.important_cursor-1:before {}
#mouse_cursor.important_cursor-2:before { border: solid 3px rgba(255,255,255,0.8); }
#mouse_cursor.important_cursor-3:before { top: -3rem; left: -3rem; width: 6rem; height: 6rem; border: solid 3px rgba(177,64,165,0.8); }
#mouse_cursor.important_cursor-4:before { top: -3rem; left: -3rem; width: 6rem; height: 6rem; border: solid 3px rgba(59,89,152,0.8); }
#mouse_cursor.important_cursor-5:before { top: -4rem; left: -4rem; width: 8rem; height: 8rem; border: solid 3px rgba(0,0,0,0.4); }
@media screen and (max-width:736px) { /* iPhone 横 ms */
	#mouse_cursor { display: none; }
}

/* hw ----------*/
.hw { padding: 10rem 2rem; background-position: center center; background-repeat: no-repeat; background-size: cover; }
.hw h2 { color: #FFF; text-align: center; line-height: 1.2; font-size: 3.5rem; }

/* photo view ----------*/
[data-aos="photo_view"] { display: block; position: relative; overflow: hidden; }
[data-aos="photo_view"]:before { position: absolute; z-index: 2; top: 0; content: ""; height: 100%; background-color: #333; }
[data-aos="photo_view"].aos-animate:before { animation: photo_view 1.5s ease 0s; }
[data-aos="photo_view"] img, [data-aos="photo_view"] .img { position: relative; z-index: 1; opacity: 1; }
[data-aos="photo_view"].aos-animate img, [data-aos="photo_view"].aos-animate .img { animation: photo_view_img 1.5s ease 0s; opacity: 1; }
@keyframes photo_view {
	0% { left: -50%; right: auto; width: 40%; -webkit-transform: skew(-25deg); transform: skew(-25deg); -webkit-transform-origin:right top; transform-origin:right top; }
	49% { left: -50%; right: auto; width: 150%; -webkit-transform: skew(0); transform: skew(0); -webkit-transform-origin:right top; transform-origin:right top; }
	50% { left: auto; right: -60%; width: 150%; -webkit-transform: skew(0); transform: skew(0); -webkit-transform-origin:left top; transform-origin:left top; }
	100% { left: auto; right: -60%; width: 40%; -webkit-transform: skew(25deg); transform: skew(25deg); -webkit-transform-origin:left top; transform-origin:left top; }
}
@keyframes photo_view_img {
	0% { opacity: 0; }
	49% { opacity: 0; }
	50% { opacity: 1; }
	100% { opacity: 1; }
}


/* pagination ----------*/
.pagination { text-align: center; }
.pagination .pagination_wrap {}
.pagination .pagination_wrap a, .pagination .pagination_wrap span { display: inline-block; width: 4rem; height: 4rem; margin: 0 0.25rem; border: solid 1px #DDD; background-color: #FFF; color: #333; text-decoration: none; text-align: center; line-height: 1; line-height: 4rem; font-size: 2rem; font-weight: bold; }
.pagination .pagination_wrap .pre, .pagination .pagination_wrap .nex {}
.pagination .pagination_wrap .pre {}
.pagination .pagination_wrap .nex {}
.pagination .pagination_wrap .pre-in, .pagination .pagination_wrap .nex-in {}
.pagination .pagination_wrap .pre-in {}
.pagination .pagination_wrap .nex-in {}
.pagination .pagination_wrap .pre-out, .pagination .pagination_wrap .nex-out {}
.pagination .pagination_wrap .pre-out {}
.pagination .pagination_wrap .nex-out {}
.pagination .pagination_wrap .current { border-color: #333; color: #FFF; background-color: #333; }
.pagination .pagination_wrap .inactive {}
.pagination .pagination_wrap .still { border: none; }


@media screen and (max-width:1024px) { /* iPad 横 l */
}
@media screen and (max-width:768px) { /* iPad 縦 m */
}
@media screen and (max-width:736px) { /* iPhone 横 ms */
}
@media screen and (max-width:414px) { /* iPhone 縦 s */
}
@media only screen and (orientation:landscape) { /* 横 */
}
@media only screen and (orientation:portrait) { /* 縦 */
}

/* memo
animate		transition:all 0.3s ease-out;
radius		border-radius:5px;
box-shadow	box-shadow:10px 10px 10px rgba(0,0,0,0.4);
text-shadow	text-shadow: 0 0 10px rgba(0,0,0,0.6);
rotate		-webkit-transform:rotate(45deg); transform:rotate(45deg);
skew			-webkit-transform:skew(45deg); transform:skew(45deg);
scale			-webkit-transform:scale(1,1); transform:scale(1,1);
translate	-webkit-transform:translate(0,0); transform:translate(0,0);
perspective	-webkit-transform:perspective(500px); transform:perspective(500px);
origin		-webkit-transform-origin:left bottom; transform-origin:left bottom;
V center		position:relative; top:50%; -webkit-transform:translateY(-50%); transform:translateY(-50%);
H center		position:relative; left:50%; -webkit-transform:translateX(-50%); transform:translateX(-50%);
triangle		width:0; height:0; border:80px solid transparent; border-top:80px solid #f00;
-webkit-overflow-scrolling:touch;
pointer-events: none;
*/