/* section */
section { padding: 5vw 0; }
section >* { z-index: 3; }
section .title_box { margin-bottom: 40px; }
section .title_box font { text-transform: uppercase; line-height: 130%; letter-spacing: 8px; font-weight: 400; font-size: 39px; }
section .title_box font:last-child { margin-left: 15px; }
section .title_box .page_title { font-weight: 300; font-size: 23px; }
section.bg_box { background: no-repeat 50% / cover; background-attachment: fixed; }
section.bg_box:before , section.bg_box:after { position: absolute; width: 100%; height: 100%; background: var(--secondary); top: 0; left: 0; z-index: 1; content: ""; opacity: .6; }
section.bg_box:after { background: -webkit-linear-gradient(bottom,rgba(var(--secondary-rgb), 1) 0%,rgba(var(--secondary-rgb), .7) 100%); background: linear-gradient(to top,rgba(var(--secondary-rgb), 1) 0%,rgba(var(--secondary-rgb), .7) 100%); opacity: 1; }

/* about_area */
#about_area .img_item { margin-bottom: 30px; order: 1; }
#about_area .img_item:before { position: absolute; width: 90%; height: 100%; border: 1px rgba(var(--info-rgb), .1) solid; display: block; top: 30px; right: 30px; content: ""; }
#about_area .img_item img { width: 90%; }
#about_area .img_item a { padding: 20px 35px; letter-spacing: 5px; text-transform: uppercase; font-size: 13px; right: 30px; bottom: -30px; z-index: 3; }
#about_area .info_item article { margin-bottom: 30px; width: 90%; line-height: 210%; letter-spacing: 2px; font-weight: 100; }

/* list_box */
.list_box .info_box h3 { height: 30px; font-weight: 400; font-size: 18px; }

/* news_area */
#news_area .list_box .row { padding-bottom: 30px; }
#news_area .list_box .row img { height: 320px; }
#news_area .list_box .row .info_box { padding: 15px; width: calc(100% - 70px); box-shadow: 0 0 10px rgba(var(--black-rgb), .3); left: 20px; bottom: 0; }
#news_area .list_box .row .info_box p * { font-weight: 100; font-size: 14px; }
#news_area .list_box .row .info_box p a { margin-right: 10px; padding: 0 2px; max-width: calc(100% - 82px); height: 23px; z-index: 2; }

/* product_area */
#product_area img { height: 100%; }
#product_area .row .info_box >div { margin: auto; width: calc(100% - 100px); }
#product_area .row .info_box h3 { margin: 10px 0; }
#product_area .row .info_box .line { margin: 10px 0 30px; width: 50px; height: 1px; background: var(--primary); opacity: .7; }
#product_area .row .info_box article { height: 75px; font-weight: 300; font-size: 15px; -webkit-line-clamp: 3; }
#product_area .row .info_box .price { margin-top: 15px; min-height: 30px; }
#product_area .row .info_box .price font { margin-left: 20px; font-weight: 300; }

/* book_area */
#book_area .row img { height: 400px; }
#book_area .row .info_box { padding: 100px 15px 60px; width: calc(100% - 30px); background: -webkit-linear-gradient(top,transparent 0,rgba(var(--black-rgb), .01) 2%, rgba(var(--black-rgb), .8) 90%); background: linear-gradient(to bottom,transparent 0,rgba(var(--black-rgb), .01) 2%, rgba(var(--black-rgb), .8) 90%); bottom: -20px; left: 0; }

@media screen and (min-width: 1281px){
	#about_area .d_flex { align-items: center; }
	#news_area .list_box .row:hover .info_box { bottom: 30px; }
	#product_area .row:hover .info_box .line { width: 100%; }
	#book_area .row:hover .info_box { bottom: 0; }
}
@media screen and (max-width: 1280px){
	#about_area .img_item:before , #about_area .img_item img { width: 100%; }
	#about_area .img_item img { height: 100%; }
	#product_area .row .info_box { background: rgba(var(--secondary-rgb), .5); }
	#product_area .row .img_box { opacity: .1; }
}
@media screen and (max-width: 1024px){
	#about_area .img_item { width: 59vw; margin: 0 0 0 auto; order: inherit; }
	#about_area .img_item:before { border: 0; background: rgba(var(--secondary-rgb), .6); top: 0; right: 0; z-index: 2; }
	#about_area .info_item { margin-top: -80px; z-index: 4; }
}
@media screen and (max-width: 768px){
	#about_area .img_item { width: 80vw; height: 50vw; }
	#product_area .list_box { margin: auto; width: 400px; }
	#product_area .row .info_box >div { width: calc(100% - 60px); }
	#product_area .row .info_box article { height: 50px; -webkit-line-clamp: 2; }
	#book_area .row img { height: 350px; }
}
@media screen and (max-width: 640px){
	#about_area .img_item { width: 100%; height: 60vw; }
	#about_area .img_item:before { background: rgba(var(--secondary-rgb), 0); }
	#about_area .info_item { margin-top: 40px; }
}
@media screen and (max-width: 500px){
	#product_area .list_box { width: 100%; }
}