.article{ padding:0!important; }
.article, .article *{ font-family:'pt',sans-serif; }
section{ overflow:hidden; }



#sm{ display:flex; border-bottom:1px solid #ccc; margin:0 40px; justify-content:center; }
#sm > li{ min-width:157px; font-size:20px; font-weight:500; color:#333; line-height:1em; margin:0 0 -1px; text-align:center; }
#sm > li.act{ color:#a18b69; }
#sm > li > a{ display:block; font-size:inherit; font-weight:inherit; color:inherit; border-bottom:2px solid transparent; padding:17px 15px; }
#sm > li.act > a{ border-bottom:2px solid #a18b69; }

@media(max-width:991px){
    #sm{ margin:0 15px; } 
    #sm > li{ min-width:140px; font-size:20px; }
}
@media(max-width:768px){
    #sm > li{ min-width:110px; font-size:16px; }
    #sm > li > a{ padding:12px 10px; }
}



#sb01{ padding:150px 40px; }
.sb01_tt{ width:min(600px, 100%); text-align:center; word-break:keep-all; margin:0 auto 100px; }
.sb01_tt > img{ max-width:48px; margin:0 auto 20px; }
.sb01_tt > h3{ font-size:24px; font-weight:500; color:#333; line-height:1.5em; }

.sb01_pw{ display:flex; flex-flow:row wrap; margin:0 auto 80px; }
.sb01_pt{ width:50%; display:flex; }

.sb01_px{ display:flex; flex-direction:column; justify-content:space-between; word-break:keep-all; }
.sb01_px > h3{ width:min(100%, 600px); transform:translate(-53.5%, 0); margin:100px 0; background-color:#fff; -webkit-mask-image:url(./img/01-03.svg); backdrop-filter:brightness(0.5); mix-blend-mode:difference; }
.sb01_px > h3 > img{ display:block; width:100%; opacity:0; }
.sb01_px > p{ width:min(590px, 100%); padding:0 0 0 40px; font-size:16px; color:#333; line-height:1.5em; }
.sb01_pi{ width:100%; background-color:#333; background-image:url(./img/01-02.jpg); padding-top:87%; background-position:center; background-size:cover; background-repeat:no-repeat; }

.sb01_bn01{ background-color:#333; background-image:url(./img/01-04.jpg); background-position:center; background-size:cover; background-repeat:no-repeat; }
.sb01_bn01 > p{ padding:max(25%, 350px) 30px 30px; /* background-color:rgba(0,0,0,.15); text-shadow:1px 1px 2px rgba(0,0,0,.15); */ font-size:16px; color:#333; line-height:1.5em; text-align:center; word-break:keep-all; }

@media(max-width:991px){
    #sb01{ padding:100px 15px; }
}
@media(max-width:768px){
    .sb01_tt{ width:min(420px, 100%); margin:0 auto 60px; }
    .sb01_tt > img{ max-width:40px; margin:0 auto 10px; }
    .sb01_tt > h3{ font-size:18px; }
    
    .sb01_pt{ width:100%; }
    .sb01_pt.rt{ padding:0 15px; }
    .sb01_pi{ padding-top:max(50%, 300px); }
    .sb01_px > h3{ transform:translate(0, -45.8%); margin:0 auto; }
    .sb01_px > p{ width:min(600px, 100%); margin:0 auto; padding:0; font-size:14px; }
    
    .sb01_bn01 > p{ padding:max(25%, 300px) 20px 20px; font-size:14px; }
}
@media(max-width:500px){
    .sb01_tt > h3{ font-size:16px; }
}


#sb02{ background-image:url(./img/02-00.jpg); background-position:center; background-size:cover; background-repeat:no-repeat; background-attachment:fixed; }
#sb02 > .sb_con{ display:flex; align-items:center; padding:150px 40px; min-height:100dvh; background:linear-gradient(180deg, #f7f7f7 0%, rgba(247,247,247,.7) 200px, rgba(247,247,247,.7) calc(100% - 200px), #f7f7f7 100%); backdrop-filter:sepia(1) grayscale(0.6); }

.sb02_txt{ width:min(1400px, 100%); margin:0 auto; word-break:keep-all; display:flex; flex-flow:row wrap; align-items:flex-end; gap:40px; }
.sb02_txt > h3{ font-size:60px; font-weight:800; color:#333; line-height:1.1em; }
.sb02_txt > h4{ font-size:24px; font-weight:600; color:#333; line-height:1.5em; width:360px; }
.sb02_txt > h4.en{ font-size:24px; font-weight:600; color:#333; line-height:1.5em; width:490px; }
.sb02_txt > p{ font-size:16px; color:#333; line-height:1.5em; column-count:2; column-gap:20px; column-width:350px; }

@media(max-width:991px){
    #sb02 > .sb_con{ padding:150px 15px; }
}
@media(max-width:768px){
    .sb02_txt{ gap:0; }
    .sb02_txt > h3{ font-size:48px; margin-bottom:20px; }
    .sb02_txt > h4{ font-size:20px; width:auto; margin-bottom:40px; }
    .sb02_txt > p{ font-size:14px; }
}
@media(max-width:500px){
    #sb02 > .sb_con{ min-height:auto; }

    .sb02_txt > h3{ font-size:40px; margin-bottom:10px; }
    .sb02_txt > h4{ font-size:18px; margin-bottom:20px; }
}



#sb03{ padding:100px 0; }
.sb03_pw{ display:flex; flex-flow:row wrap; }
.sb03_pt{ display:flex; width:33.33333333%; }
.sb03_pb{ width:calc(100% + 2px); border-width:0 1px 0 1px; border-style:solid; border-color:#ddd; margin:-1px; padding:0 40px; }

.sb03_pi{ width:min(459px, 100%);  margin:0 auto 40px; }
.sb03_pi > div{ width:100%; padding-top:135.0762527233115%; background-position:center; background-size:cover; background-repeat:no-repeat; }
.sb03_pi > .pi01{ background-image:url('./img/03-01.jpg'); }
.sb03_pi > .pi02{ background-image:url('./img/03-02.jpg'); }
.sb03_pi > .pi03{ background-image:url('./img/03-03.jpg'); }
.sb03_px{ width:min(459px, 100%); margin:0 auto; text-align:center; word-break:keep-all; }
.sb03_px > h4{ font-size:22px; font-weight:600; color:#333; line-height:1.5em; margin-bottom:10px; }
.sb03_px > p{ font-size:16px; color:#333; line-height:1.5em; }

@media(max-width:991px){
    .sb03_pb{ padding:0 30px; }
}
@media(max-width:768px){
    .sb03_pt{ width:100%; }
    .sb03_pt:not(:first-child){ margin-top:1px; }
    .sb03_pb{ padding:40px 15px; border-width:1px 0 1px 0; display:flex; gap:30px; align-items:center; }
    .sb03_pi{ width:min(300px, 45%); margin:0; }
    .sb03_pi > div{ padding-top:100%; }
    .sb03_px{ text-align:left; }
    .sb03_px > h4{ font-size:20px; }
    .sb03_px > p{ font-size:14px; }
}



#sb04{ background-color:#333; background-image:url('./img/04-00.jpg'); background-position:center; background-size:cover; background-repeat:no-repeat; }
#sb04 > .sb_con{ padding:200px 40px; background-color:rgba(0,0,0,.7); }

.sb04_pw{ width:min(1400px, 100%); margin:0 auto; display:flex; flex-flow:row wrap; gap:40px; }
.sb04_pw > .bar{ width:1px; background:linear-gradient(0deg, rgba(255,255,255,0) 0%, #fff 50%, rgba(255,255,255,0) 100%); }
.sb04_pt{ width:calc(49.5% - 40px); }
.sb04_px{ text-align:center; word-break:keep-all; }
.sb04_px > h4{ font-size:24px; font-weight:600; color:#fff; line-height:1.5em; margin-bottom:10px; }
.sb04_px > p{ font-size:16px; color:#ccc; line-height:1.5em; }

@media(max-width:991px){
    #sb04 > .sb_con{ padding:150px 15px; }
}
@media(max-width:768px){
    .sb04_pt{ width:100%; }
    .sb04_pw > .bar{ height:1px; width:50%; margin:0 auto; background:linear-gradient(90deg, rgba(255,255,255,0) 0%, #fff 50%, rgba(255,255,255,0) 100%); }

    .sb04_px > h4{ font-size:22px; }
    .sb04_px > p{ font-size:14px; }
}