.section_area {padding: 5vw 0;position: relative;}
.section_area .area_title {position: relative;padding-bottom: .3em;text-align: center;font-family: "Yuji Boku", serif;font-size: 48px;font-weight: 400;letter-spacing: 4px;color: #2e2e2e;}
.section_area .sub_title {font-weight: 500;color: var(--primary);font-size: 22px;letter-spacing: 6px;}
.section_area .entit {font-weight: 500;font-size: 17px;color: #222023;font-family: "Cormorant", serif;text-transform: uppercase;letter-spacing: 2.2px;margin-bottom: 30px;}
.section_area .more_btn {position: relative;display: inline-flex;align-items: center;border: 1px solid #2e2e2e;text-decoration: none;box-sizing: border-box;transition: all 0.35s ease;}
.section_area .more_btn:hover{background: rgb(193 193 193 / 30%);}
.section_area .more_btn span {position: relative;display: block;transition: all 0.35s ease;padding: 14px 80px;font-size: 15px;color: #202020;font-weight: 500;letter-spacing: 4px;}
.section_area .more_btn::before,.more_btn::after,.more_btn span::before,.more_btn span::after {content: "";position: absolute;width: 5px;height: 5px;background: #2e2e2e;transition: all 0.35s ease;}
.section_area .more_btn::before {top: -2.5px;left: -2.5px;}
.section_area .more_btn::after {top: -2.5px;right: -2.5px;}
.section_area .more_btn span::before {bottom: -2.5px;left: -2.5px;}
.section_area .more_btn span::after {bottom: -2.5px;right: -2.5px;}
.section_area .more_btn:hover::before {width: calc(100% + 5px);height: 2px;}
.section_area .more_btn:hover::after {width: 3px;height: calc(100% + 5px);}
.section_area .more_btn:hover span::before {height: calc(100% + 5px);width: 2px;}
.section_area .more_btn:hover span::after {width: calc(100% + 5px);height: 2px;}

/* wrap */
#wrap{position:relative;z-index: 1;}
#wrap:before{content:'';background-image: url(/images/01/aboutBg.png);position: absolute;top: -130px;width: 100%;height: 100%;background-repeat: no-repeat;background-position: top;z-index: -1;}

/* about_area */
#about_area {padding-top: 14vw;}
#about_area .bg{position:absolute;top: 115px;right: 0;width: 50%;background-image: url(/images/01/stone-pattern-bg.jpg);height: 340px;z-index: -1;background-repeat: no-repeat;background-position: right;background-size: 80%;}
#about_area .fixTxt{position:absolute;color: #3e3e3e;opacity: .15;font-size: 130px;font-family: "Cormorant", serif;left: 50px;top: 10px;letter-spacing: 20px;}
#about_area .text {position:absolute;writing-mode: vertical-lr;display: grid;align-items: center;height: 100%;top: 0;left: calc(10vw + 5px);gap: 15px;grid-auto-flow: column;grid-template-columns: 0.59fr 220px 1fr;font-size: 17px;letter-spacing: 7px;}
#about_area .text:before, #about_area .text:after{content:'';width: 1px;display: block;height: 100%;background: #b6b6b6;opacity: .4;}
#about_area .workframe {display: grid;width: min(75%, 1480px);justify-content: space-between;align-items: center;grid-template-columns: 28% 67%;margin-right: 6%;}
#about_area .morebox  {margin-top:50px;}
#about_area .info_box h2 {margin-bottom: 1em;color: #2e2e2e;font-family: "Yuji Boku", serif;font-size: 48px;word-spacing: 100vw;line-height: 1.3;font-weight: 400;letter-spacing: 3px;}
#about_area .info_box h1 {font-size: 18px;font-weight: 600;letter-spacing: 1px;margin-bottom: 10px;}
#about_area .info_box article p{font-size:17px;text-align: justify;line-height: 2;font-weight: 500;letter-spacing: 1.5px;}
#about_area .img_box img { width: 100%; height: 100%; }

/* vision_area */
#vision_area{padding: 0 0 2vw;}
#vision_area .workframe{margin:0;width: 90%;display: grid;justify-content: space-between;align-items: center;grid-template-columns: 40.5% 53.4%;}
#vision_area .info_box .vision-title {font-family: "Yuji Boku",serif;font-weight: 400;font-size: 35px;letter-spacing: 6px;margin-top: -80px;}
#vision_area .vision_bottom {display: grid;align-items: center;justify-content: center;gap: 65px;grid-template-columns: repeat(2,1fr);}
#vision_area .vision_item {display: grid;grid-template-columns: 95px 1fr;gap: 25px;margin-top: 90px;}
#vision_area .vision_item:last-child{grid-template-columns:125px 1fr;position: relative;}
#vision_area .vision_item:last-child:before{content:'';position: absolute;left: -50px;height: 100%;width: 1px;background: #b7b7b7;}
#vision_area .vision_num { line-height: 1; white-space: nowrap; display: flex; align-items: flex-start; gap: 10px; }
#vision_area .vision_num .counter { font-size: 57px; font-weight: 500; display: inline-block; color: var(--primary); line-height: 1; }
#vision_area .vision_num span:not(.counter) {font-size: 22px;vertical-align: top;display: inline-block;font-weight: 600;color: var(--primary);}
#vision_area .vision_txt h3 {margin: 0 0 12px;font-size: 19px;font-weight: 500;letter-spacing: 3px;line-height: 1.5;}
#vision_area .vision_txt p {margin: 0;color: #6d6d6d;font-size: 14px;line-height: 2;letter-spacing: 1px;width: 90%;font-weight: 500;}

/* product_area */
#product_area .bg{position:absolute;width: 100%;aspect-ratio: 384/185;background-size: 100%;background-repeat: no-repeat;background-position: 0;top: 45%;}
#product_area .entit, #product_area .sub_title {text-align:center;}
#product_area .entit{margin-bottom:10px;}
#product_area .area_article {width: min(100%, 550px);text-align: center;margin: 0 auto 80px;color: #6d6d6d;font-size: 14px;letter-spacing: 2px;font-weight: 500;}
#product_area .grid-layout {display: grid;grid-template-columns: repeat(6,1fr);grid-auto-rows: 195px;gap: 17px;}
#product_area .grid-item { position: relative; overflow: hidden; background: #ddd; cursor: pointer; }
#product_area .grid-item a {display: flex;width: 100%;height: 100%;position: relative;text-decoration: none;color: #fff;}
#product_area .grid-item img {width: 100%;height: 100%;object-fit: cover;display: block;transform: scale(1);transition: transform 0.8s ease,filter 0.8s ease;filter: grayscale(20%) brightness(0.78);}
#product_area .grid-item a::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.12); z-index: 1; transition: background 0.5s ease; }
#product_area .grid-item:hover img { transform: scale(1.06); filter: grayscale(0%) brightness(0.92); }
#product_area .grid-item:hover::before { background: rgba(0,0,0,0.04); }
#product_area .item-title {position: absolute;top: 24px;left: 24px;z-index: 2;color: #fff;font-size: 22px;line-height: 1.2;letter-spacing: 4px;font-weight: 500;text-shadow: 0 2px 8px rgba(0,0,0,0.25);}
#product_area .item-id {position: absolute;right: 22px;bottom: 25px;z-index: 2;color: rgba(255,255,255,0.5);font-size: 22px;letter-spacing: 5px;line-height: 1;text-shadow: 0 2px 8px rgba(0,0,0,0.25);font-weight: 600;}
#product_area .grid-item:nth-child(1) { grid-column: 1/4; grid-row: 1/3; }
#product_area .grid-item:nth-child(2) { grid-column: 4/7; grid-row: 1/2; }
#product_area .grid-item:nth-child(3) { grid-column: 4/5; grid-row: 2/4; }
#product_area .grid-item:nth-child(4) { grid-column: 5/7; grid-row: 2/4; }
#product_area .grid-item:nth-child(5) { grid-column: 1/4; grid-row: 3/4; }
#product_area .grid-item:nth-child(6) { grid-column: 1/2; grid-row: 4/5; }
#product_area .grid-item:nth-child(7) { grid-column: 2/3; grid-row: 4/5; }
#product_area .grid-item:nth-child(8) { grid-column: 3/4; grid-row: 4/5; }
#product_area .grid-item:nth-child(9) { grid-column: 4/5; grid-row: 4/5; }
#product_area .grid-item:nth-child(10) { grid-column: 5/6; grid-row: 4/5; }
#product_area .grid-item:nth-child(11) { grid-column: 6/7; grid-row: 4/5; }
#product_area .grid-item.small .item-title { font-size: 20px; top: 18px; left: 18px; letter-spacing: 3px; }
#product_area .grid-item.small .item-id { font-size: 22px; right: 16px; bottom: 14px; }

/* photo_area */
#photo_area .item_row { padding: 4% 6%; border: 2px var(--g_100) solid; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#photo_area .item_row .img_box img { width: 100px; aspect-ratio: 1/1; }
#photo_area .item_row .info_box { margin-left: 6%; width: 1%; flex: 1 1 auto; }
#photo_area .item_row .info_box h3 { margin-bottom: .5em; max-height: 3.2em; height: auto; -webkit-line-clamp: 2; }
#photo_area .item_row .info_box font { padding: .5em 1em; background: var(--primary); border-radius: 2em; display: inline-block; line-height: 1; font-weight: 300; font-size: .9em; color: white; }

/* news_area */
#news_area{display:grid;justify-content: space-between;grid-template-columns: 24% 71%;padding: 1vw 0 0;}
#news_area .bg {height: 100%;background-size: cover;background-repeat: no-repeat;background-position: 50% 50%;animation: bgMoveHorizontal 12s ease-in-out infinite alternate;}
@keyframes bgMoveHorizontal{0%{background-position:45% 50%;}100%{background-position:55% 50%;}}
#news_area .workframe{width: 84%;margin: 13vw 0 5vw;display: grid;grid-template-columns: 275px 1fr;gap: 100px;}
#news_area .titbix{position:relative;}
#news_area .morebox {position:absolute;bottom:0}
#news_area .area_title {text-align:left;}
#news_list li{border-bottom:1px solid #dedede;padding: 30px 0;position: relative;}
#news_list li:after{content:'';position: absolute;bottom: -1px;left: 0;width: 0;height: 1px;background: var(--primary);}
#news_list li:hover:after{width:100%}
#news_list li:first-child{border-top:1px solid #dedede}
#news_list li .item_row{display:grid;grid-template-columns: 100px 1fr;gap: 30px;align-items: center;}
#news_list .item_row .time {font-size: 18px;color: #585858;border-right: 1px solid #dedede;display: flex;flex-direction: column;align-items: center;font-weight: 500;padding-right: 20px;}
#news_list .item_row .time b{font-size: 54px;line-height: 1;font-weight: 500;color: var(--primary);}
#news_list .item_row .h3 {height: auto;font-size: 22px;font-weight: 600;letter-spacing: .5px;}
#news_list .item_row article {margin-bottom: .5em;height: auto;font-size: 18px;color: #5b5b5b;-webkit-line-clamp: 1;font-weight: 500;letter-spacing: .5px;}

@media screen and (min-width: 1161px){
    #about_area .bg{background-attachment: fixed;}
	#photo_area .item_row:hover { border-color: var(--primary); }
}
@media screen and (max-width: 1680px){
    #vision_area .workframe{width:95%}
    #vision_area .info_box .vision-title{margin-top: -30px;}
}
@media screen and (max-width: 1280px){
    #news_area .workframe{width: 95%;}
    #about_area .workframe{width: 85%;}
    #vision_area .info_box .vision-title{margin-top: 30px;}
    #about_area .text{left: calc(1vw + 11px);}
}
@media screen and (max-width: 1024px){
    #product_area .bg{top:unset;bottom: -7%;}
    #product_area .grid-layout{grid-template-columns: repeat(3, 1fr);}
    #product_area .grid-item:nth-child(1) {grid-column: 1/3;gr;grid-row: 1/3;}
    #product_area .grid-item:nth-child(2) {grid-column: 3/4;grid-row: 1/2;}
    #product_area .grid-item:nth-child(3) {grid-column: 3/4;grid-row: 2/3;}
    #product_area .grid-item:nth-child(4) {grid-column: 1/2;grid-row: 3/5;}
    #product_area .grid-item:nth-child(5) {grid-column: 2/4;grid-row: 3/5;}
    #product_area .grid-item:nth-child(6) {grid-column: 1/2;grid-row: 5/6;}
    #product_area .grid-item:nth-child(7) {grid-column: 2/3;grid-row: 5/6;}
    #product_area .grid-item:nth-child(8) {grid-column: 3/4;grid-row: 5/6;}
    #product_area .grid-item:nth-child(9) {grid-column: 1/2;grid-row: 6/7;}
    #product_area .grid-item:nth-child(10) {grid-column: 2/3;grid-row: 6/7;}
    #product_area .grid-item:nth-child(11) {grid-column: 3/4;grid-row: 6/7;}
    #about_area, #vision_area{background-image: url(/images/01/aboutBg.png);background-size: cover;background-position: bottom;background-repeat: no-repeat;}
    #about_area .info_box{margin-top:80px;width: 90%;}
    #about_area .text, #vision_area .photo {display:none;}
    #about_area .workframe{width: 93%;display: flex;flex-direction: column;gap: 70px;margin-right: 0;align-items: flex-start;}
    #vision_area .workframe{display:block;margin: 0 auto;width: 85%;}
    #vision_area .info_box .vision-title, #vision_area .info_box .sub_title{text-align:center;}
    #vision_area .info_box .vision-title{margin:0}
    #vision_area{padding-bottom: 9vw;padding-top: 50px;background-position: 50% 50%;}
    #news_area .workframe{display:flex;flex-direction: column;align-items: stretch;margin: 13vw 0 10vw;}
    #news_area .morebox{position:relative;margin-top: 40px;}
}
@media screen and (max-width: 768px){
    .section_area{padding:10vw 0}
    #vision_area .vision_txt p{width:100%;letter-spacing: .5px;}
    #vision_area .vision_num{justify-content: flex-end;}
    #vision_area .vision_item, #vision_area .vision_item:last-child{margin-top: 45px;grid-template-columns: 135px 1fr;gap: 45px;}
    #vision_area .vision_bottom{grid-template-columns:1fr;gap: 0;}
    #about_area{padding-top: 3vw;}
    #about_area .fixTxt{font-size:80px;top: -40px;}
	#wrap:before{background-size: 130%;}
    #vision_area .vision_item:last-child:before{display:none;}
}
@media screen and (max-width: 640px){
    #product_area .area_article{margin-bottom:40px;}
    #news_area{display:block;padding: 20vw 0;}
    #news_area .workframe{margin:0 auto;width: 85%;gap: 60px;}
    #product_area .bg{aspect-ratio: 1/2;background-size: cover;bottom: -3%;}
    #product_area .item-title{top:15px;left:15px;font-size: 18px;}
    #product_area .item-id{right:15px;bottom:15px;font-size:16px;}
    #product_area .grid-layout{grid-template-columns: repeat(2, 1fr);grid-auto-rows: 150px;gap: 8px;}
    #product_area .grid-item {grid-column: span 1 !important;grid-row: span 1 !important;}
    #vision_area{background-size: 370%;padding-bottom: 15vw;}
    #vision_area .vision_item, #vision_area .vision_item:last-child{margin-top: 35px;grid-template-columns: 105px 1fr;gap: 25px;}
    #vision_area .vision_num .counter{font-size: 45px;}
    #vision_area .info_box .vision-title{font-size: 27px;letter-spacing: 2px;margin-bottom: 5px;}
    #vision_area .info_box .sub_title{font-size: 18px;margin-bottom: 20px;}
    #about_area .info_box{margin-top:40px;}
    #about_area .fixTxt, #news_area .bg{display:none;}
    .section_area .area_title{font-size:35px;}
    #wrap:before{top: -40px;}
    #news_list .item_row .time b{font-size:40px;}
    #news_list .item_row .time, #news_list .item_row article{font-size: 14px;}
    #news_list li .item_row{grid-template-columns: 85px 1fr;}
    #news_list .item_row .h3{font-size:18px}
}