.wrap { position: relative; background: #fff; z-index: 998; }
.wrap #wrapBox >div { position: relative; }
.wrap #wrapBox .bg {position: absolute;width: 100%;height: 100%;background: no-repeat 50% / cover;top: 0;left: 0;overflow: hidden;}
#productBox .bg:after{content:'';position: absolute;width: 100%;height: 100%;background: #191919;opacity: .85;}

/* more */
p.more {margin: 40px 0 0;text-align: center;}
p.more a {
    position: relative;
    overflow: hidden;
    padding: 5px 30px;
    display: inline-block;
    align-items: center;
    letter-spacing: .06em;
    line-height: 30px;
    transition: 1.2s ease 1.8s;
    transform: translateX(0%);
    animation-name: elementor-animation-pulse;
    animation-duration: .7s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    color: #fff;
    background: #ffc107;
    margin: 0 10px;
}
@keyframes elementor-animation-pulse{
	0%{transform:scale(1.0)}
	50%{transform:scale(0.95)}
	100%{transform:scale(1.0)}
}
p.more a font {position: relative;padding: 7px 0;display: inline-block;z-index: 2;}
p.more a span {position: relative;margin-left: 70px;width: 100px;height: 1px;background: #000;display: inline-block;transition: transform .4s cubic-bezier(.23,1,.32,1),background .4s ease;transform-origin: center left;display: none;}

/* bgTxt */
.bgTxt { position: absolute; z-index: 1; }
.bgTxt.stitle { -webkit-writing-mode: vertical-lr; writing-mode: vertical-lr; font-size: 70px; }
.bgTxt.title {width: 100%;text-align: right;font-size: 140px;color: #eeeeee;text-transform: uppercase;font-weight: bold;}

/* NewsBox */
#NewsBox{
    padding: 50px 0;
}
#NewsBox ul { position: relative; margin-bottom: 0; padding: 7vw 0 0; display: block; font-size: 0; z-index: 2; }
#NewsBox ul li { position: relative; text-align: right; }
#NewsBox ul li .img {position: relative;padding: 0 10px 10px 0;width: calc(50% - 10px);display: inline-block;}
#NewsBox ul li .img:before { position: absolute; width: calc(100% - 10px); height: calc(100% - 10px); background: url(/images/34/img-bgline.png); top: 10px; left: 10px; -webkit-animation: newimg 1s linear infinite; animation: newimg 1s linear infinite; content: ""; }
#NewsBox ul li .img a.photo {transform-origin: center top;transform: translate3d(0,0,-300px) rotateZ(-3deg) rotateY(30deg) rotateX(-15deg);transition-property: transform,opacity;transition-duration: 3s,.5s;transition-timing-function: cubic-bezier(.755,.05,.855,.06),ease;opacity: 0;background-size: contain;}
#NewsBox ul li.slick-current .img a.photo { transform: translate3d(0,0,0) rotateZ(0deg) rotateY(0deg) rotateX(0deg); transition: transform 1s cubic-bezier(.23,1,.32,1) .2s,opacity .6s ease .2s; opacity: 1; }
#NewsBox ul li .info p a { padding: 2px 15px; background: #000; display: inline-block; color: #fff; vertical-align: middle; }
#NewsBox ul li .info p font { margin-left: 10px; display: inline-block; }
#NewsBox ul li .info h3 { margin: 10px 0; }
#NewsBox ul li .info h3 a { height: 60px; font-size: 18px; color: #000; -webkit-line-clamp: 2; }
#NewsBox ul li .info article{overflow:hidden;height: 110px;}
#NewsBox .btn {position: absolute;left: calc(45% - 80px);bottom: 10px;z-index: 10;}
#NewsBox .btn a { margin: 0 10px; color: #000; }
#NewsBox p.more { margin-top: 50px; }

/* productBox */
#productBox {padding: 10vw 0 5vw;overflow: hidden;}
#productBox .bgTxt.stitle {top: -160px;z-index: 3;right: 0;color: #fff;writing-mode: horizontal-tb;width: 100%;text-align: center;}
#productBox .bgTxt.title{
    opacity: .15;
    text-align: center;
    display: none;
}
#NewsBox ul {padding: 5vw 0 0;width: 75%;margin: 0 auto 0 15%;}
#productBox .wall-column { width: calc(100% / 3); display: inline-block; box-sizing: border-box; }
#productBox .wall{
    position: relative;
    z-index: 2;
    width: 90%;
    margin: 0 auto;
}

#productBox .article {position: relative;margin: 25px;display: inline-block;width: calc((100%/4) - 55px);}
#productBox .article a { position: absolute; width: 100%; height: 100%; display: block; top: 0; left: 0; z-index: 10; }
#productBox .article .imgBox { position: relative; overflow: hidden; }
#productBox .article .imgBox article { position: absolute; padding: 20px 20px 30px; width: calc(100% - 40px); background: #fff; color: #777070; bottom: -99px; z-index: 2; }
#productBox .article .imgBox article p { height: 58px;  -webkit-line-clamp: 2; }
#productBox .article .info { position: relative; margin-top: -15px; padding: 0 20px 15px; z-index: 9; }
#productBox .article .info p span { display: inline-block; color: #d80707; }
#productBox .article .info p span.old { margin-right: 10px; color: #8f8f8f; }
#productBox .article .info h3 { margin: 20px 0; height: 30px; font-weight: 400; font-size: 18px; -webkit-line-clamp: 1; }

/* aboutBox */
#aboutBox {overflow: hidden;position: relative;background: #150336;}
#aboutBox:before {position: absolute;width: 20vw;height: 100%;background: #f2f8fa;background: -moz-linear-gradient(left, rgba(0,0,0,0) 0%, rgb(242, 248, 250) 75%);background: -webkit-linear-gradient(left, rgba(0,0,0,0) 0%,rgb(242, 248, 250) 75%);background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgb(20 2 53) 75%);filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#f2f8fa',GradientType=1 );display: block;top: 0;left: calc(30vw + 1px);z-index: 2;content: "";}
#aboutBox .imgs { position: absolute; width: 50vw; height: 100%; top: 0; left: 0; z-index: 1; }
#aboutBox .imgs .list {height: 100%;background: no-repeat 50% / cover;}
#aboutBox .info {position: relative;padding: 70px 0 70px 50vw;width: 750px;z-index: 3;}
#aboutBox .info .title {font-size: 40px;color: #fff;text-transform: uppercase;}
#aboutBox .info .stitle {margin-bottom: 25px;padding: 5px 0 15px;font-size: 20px;color: #fff;}
#aboutBox .info article {font-size: 16px;line-height: 230%;color: #dedede;text-align: justify;}
#aboutBox #SeoStarRating {margin: 15px 0 30px;display: none;}
#aboutBox p.more { text-align: left; }

/* bookBox */
#bookBox { padding: 50px 0 50px calc((100% - 1100px) / 2); font-size: 0; }
#bookBox .row { position: relative; width: 50%; display: inline-block; z-index: 2; }
#bookBox #customBox .bgTxt.stitle { z-index: 2; }
#bookBox #customBox ul { position: relative; padding: 0 10% 0 20%; z-index: 3; }
#bookBox #customBox ul li h3 { font-size: 40px; }
#bookBox #customBox p.more a { border-color: #000; }
#bookBox #customBox p.more a:after { background: #000; }
#bookBox #BookList ul { overflow: hidden; }
#bookBox #BookList ul li { position: relative; margin-bottom: 1px; float: left; width: 25%; }
#bookBox #BookList ul li:nth-child(6n) { width: 50%; }
#bookBox #BookList ul li a.photo { margin-right: 1px; }
#bookBox #BookList ul li h3 { position: absolute; padding: 5px 20px; width: calc(100% - 41px); background: rgba(0, 0, 0, .7); left: 0; bottom: 0; }
#bookBox #BookList ul li h3 a { height: 30px; color: #fff; text-align: center; -webkit-line-clamp: 1; }

@keyframes newimg { 0% { background-position: 0; } to { background-position: -7px; } }
@-webkit-keyframes newimg { 0% { background-position: 0; } to { background-position: -7px; } }

@media screen and (max-width: 1440px) {
    #aboutBox .info{width: 610px;}
}
@media screen and (min-width: 1281px) {
	#productBox .wall-column .article:hover .imgBox article { bottom: 0; }
}
@media screen and (max-width: 1280px) {
	#aboutBox .imgs , #bookBox .row { width: 100%; }
	#aboutBox .imgs .list { height: 100vw; }
	#aboutBox .info {padding: 70px 15%;width: 70%;background: rgb(0 0 0 / 70%);}
	#aboutBox:before { opacity: 0; }
	#aboutBox p.more a:after { background: #000; }
	#aboutBox p.more a { border-color: #000; }
	#bookBox { padding: 50px 5%; font-size: 0; }
	#bookBox #customBox ul { padding: 0 0 0 130px; }
	#bookBox #BookList { padding: 50px 0 20px; }
	#productBox .bgTxt.stitle{top: -120px;}
}
@media screen and (min-width: 981px) {
	#NewsBox ul li .info { position: absolute; width: 39%; left: 0; bottom: 20%; }
}
@media screen and (max-width: 1024px) {
    #productBox .article{    width: calc(50% - 55px);}
	#productBox .bgTxt.stitle{top: -60px;}
	.bgTxt.stitle{font-size: 50px;z-index: 2;}
}
@media screen and (max-width: 980px) {
	#NewsBox ul{width:100%;margin: 0 auto;}
	#productBox{padding-bottom: 70px;}
	.bgTxt.stitle {position: relative;-webkit-writing-mode: inherit;writing-mode: inherit;text-align: center;}
	.bgTxt.title { display: none; }
	#NewsBox ul li { text-align: center; }
	#NewsBox ul li .img {width: calc(90% - 10px);}
	#NewsBox ul li .info {margin-top: 20px;width: calc(90% - 10px);display: inline-block;}
	#NewsBox .btn { left: auto; right: 0; }
	#productBox .bgTxt.stitle {top: -20px;}
	#productBox .wall-column { width: 50%; }
	#aboutBox .info .title { font-size: 8vw; }
	#aboutBox .info .stitle { font-size: 5vw; }
	#bookBox #customBox ul { padding: 0; }
	#bookBox #BookList ul li , #bookBox #BookList ul li:nth-child(6n) { width: calc(100% / 3); }
}
@media screen and (max-width: 680px) {
	#productBox .wall { margin: auto; width: 80%; }
	#productBox .wall-column { width: 100%; }
	#aboutBox .imgs .list { height: 180vw; }
	.bgTxt.stitle{font-size: 35px;}
}
@media screen and (max-width: 500px) {
	#productBox .article{width: calc(50% - 35px);margin: 15px;}
	#NewsBox .btn { bottom: -10px; }
	#bookBox #BookList ul li , #bookBox #BookList ul li:nth-child(6n) { width: 50%; }
	#bookBox #BookList ul li:nth-child(3n) { width: 100%; }
}
@media screen and (max-width: 450px) {
	#productBox .wall { width: 100%; }
	#aboutBox .info { padding: 10vw 5vw; width: 90vw; }
}