/* PageTitleArea */
.page_ttl_area { position:relative; top:0; left:0; width:100%; height:auto; padding-top:90px; }
.page_ttl_wrap { position:relative; width:80%; left:10%; }
.page_ttl_img { position:relative; background:#fff; width:100%; height:100%; padding-top: 90%; left:50%; transform:translateX(-50%); overflow: hidden; }
.page_ttl_img img { position:absolute; width:auto; height:100%; top:50%; left:50%; transform:scale(1.4) translate(-50%, -50%); transform-origin:-5% -5%; animation: phFade .8s ease-in forwards; }
.page_ttl_txt { position:relative; top:-30px; color:#5c7471; animation: fadeUp .6s ease-in forwards; }
.page_ttl_txt h1 { font-size:6.4rem; letter-spacing:4px; line-height:80%; text-align:center; }
.page_ttl_txt h3 { font-size:1.5rem; text-align:center; letter-spacing:2px; }
.page_ttl_txt p { font-size:1.2rem; letter-spacing:1px; line-height:200%; margin-top:20px; }


/* ConceptArea */
.cpt_area { position:relative; width:100%; height:auto; padding:60px 0; }
.cpt_wrap { position:relative; width:100%;  }
.cpt_ph { position:relative; width:100%; height:200px; overflow:hidden; }
.cpt_ph img { position:absolute; top:0; left:0; width:100%; height:auto; transform:scale(1.4); transform-origin:top center; }
.cpt_txt { position:relative; width:80%; left:10%; padding:40px 0; color:#5c7471; }
.cpt_txt p { font-size:1.3rem; line-height:200%; letter-spacing:1px; margin:0; margin-bottom:10px; }

/* CompanyProfile */
.company_profile { position:relative; width:80%; left:10%; padding:0; padding-bottom:60px; color:#5c7471; }
.company_ttl { text-align:center; }
.company_ttl h2 { font-size:4.6rem; letter-spacing:2px; margin:0; line-height:80%; }
.company_ttl h3 { font-size:1.6rem; margin-top:10px; letter-spacing:2px; }
.company_info { position:relative; width:100%;
margin-top:20px; }
.company_info dl { position:relative; width:100%; font-size:1.3rem; display:flex; flex-wrap:wrap; }
.company_info dt { width:86px; padding:20px 0; margin:0;  border-bottom:1px solid #ccc; }
.company_info dd { width:calc(100% - 86px); padding:20px 0; margin:0; border-bottom:1px solid #ccc; }
.company_info dt:nth-of-type(6),
.company_info dd:nth-of-type(6) { border:none; }
.company_info dd a { color:#5c7471; font-size:1rem; margin-top:5px; display:inline-block; transition:all .3s ease; }
.company_info dd a:hover { opacity:0.6; text-decoration:underline; }

/* History */
.history { position:relative; width:100%; height:auto; padding:60px 0; background:#f4e5df; color:#5c7471; }
.history_wrap { position:relative; width:80%;
left:10%; }
.history_ttl { text-align:center; letter-spacing:2px;  }
.history_ttl h2 { position:relative; font-size:4.6rem; line-height:80%; }
.history_ttl h3 { position:relative; font-size:1.6rem; margin-top:10px; margin-bottom:40px; }
.history_ttl h3::after { content:''; position:absolute; background:#5c7471; width:60px; height:1px; left:50%; transform:translateX(-50%); bottom:-10px; }
.history_inner { position:relative; width:100%; }
.history_inner_detail { position:relative; width:100%; }
.border_t { position:relative; width:1px; height:60px; background: #5c7471; left:50%; transform:translatex(-50%); }
.year_b, .year_r { position:relative; left:50%; transform:translateX(-50%); border-radius:100%; z-index:2; }
.year_b { top:50px; width:90px; height:90px; background:#5c7471; color:#fff; margin-top:-50px; }
.year_r { top:35px; transform:translateX(-50%); width:70px; height:70px; background:#fff; color:#5c7471; margin-top:-35px; border-radius:100%; border:1px solid #5c7471; z-index:2; }
.year_b h3 { font-size:3rem; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); display:inline-block; }
.year_wrap { position:absolute; top:53%; left:50%; transform:translate(-50%, -50%); text-align:center; }
.year_r h3 { font-size:2rem; line-height:80%; margin:0; }
.year_r h4 { font-size:1.4rem; margin:0; }
.history_txt { position:relative; width:100%; top:0px; height:auto; padding:30px 20px; padding-top:50px; background:#fff; border-radius:8px; }
.history_txt p { margin:0; font-size:1.3rem; line-height:180%; }


/* NextContentsBnr */
.next_cont {position:relative; width:100%; height:140px; }
.next_cont_wrap { position:relative; width:80%; left:10%; top:50%; transform:translateY(-50%); display:flex; flex-wrap:nowrap; color:#5c7471; }
.next_cont_ttl { position:relative; width:40%; }
.next_cont_ttl h5 { font-size:1rem; display:inline-block; position:relative; top:calc(50% - 5px); transform:translateY(-50%); }
.next_cont_ttl h5::after { content:''; position:absolute; width:100%; height:1px; bottom:-4px; left:0; background: #5c7471; }
.next_cont_inner { position:relative; width:60%; height:auto; display:flex; flex-wrap:nowrap; align-items: center; transition:all .3s ease; }
.next_cont_inner a { position:absolute; width:100%; height:100%; top:0; left:0; }
.next_cont_txt { position:relative; width:calc(100% - 32px); transition:all .3s ease; }
.next_cont_txt h2 { font-size:2rem; line-height:80%; }
.next_cont_arw { position:relative; width:32px; height:32px; border:1px solid #5c7471; border-radius:100%; margin:0; transition:all .3s ease; }
.next_cont_arw::after { content:''; position:absolute; width:6px; height:6px; border-top:1px solid; border-right:1px solid; border-color:#5c7471; top:12px; ; left:11px; transform:rotate(45deg); transform-origin:center; transition:all .3s ease; }
.next_cont_inner:hover .next_cont_arw { background:#5c7471; }
.next_cont_inner:hover .next_cont_arw::after { border-color:#fff; left:12px; }
.next_cont_inner:hover .next_cont_txt { opacity:0.6; }




/* Brakepoints */
@media screen and (min-width:360px) {
    .page_ttl_txt p { margin-top:30px; }
    .cpt_ph { height:240px; }

}
@media screen and (min-width:410px) {
    .page_ttl_txt p { margin-top:40px; line-height:250%; }
    .cpt_area { padding:120px 0; }
}

@media screen and (min-width:760px) {
    .sp-on { display:none !important; }
    .tab-on { display:block !important; }
    .pc-on { display:none; }
    
    .page_ttl_wrap { display:flex; flex-direction: row-reverse; align-items: center; padding:60px 0; }
    .page_ttl_txt { top:0; width:50%;  }
    .page_ttl_img { width:50%; left:0; padding-top:50%; transform:none; }
    .page_ttl_txt h1 { font-size:6rem; text-align:left; }
    .page_ttl_txt h3 { font-size:1.6rem; text-align:left; }
    .page_ttl_txt p { font-size:1.3rem; line-height:200%; margin-top:20px; }
    .cpt_wrap { display:flex; flex-wrap:wrap; }
    .cpt_ph { width:50%; height:480px; }
    .cpt_ph img { width:auto; height:100%; }
    .cpt_txt { width:40%; left:0; padding:20px 0 20px 40px; }
    .company_profile { display:flex; flex-wrap:wrap; padding-bottom:120px; }
    .company_ttl { text-align:left; width:300px; padding-top:20px; }
    .company_ttl h2, .history_ttl h2 { font-size:4.8rem; }
    .company_info { width:calc(100% - 300px); margin:0; }
    .history { padding:120px 0; }
    .history_txt { padding:60px; }
    .next_cont { height:180px; }
    .next_cont_ttl { width:50%; }
    .next_cont_inner { width:50%; }
    .next_cont_ttl h5::after { top:50%; bottom:auto; left:110%; }
    .next_cont_txt h2 { font-size:3.6rem; letter-spacing:2px; }
    .next_cont_txt h3 { font-size:1.3rem; }
    .next_cont_txt { width:calc(100% - 46px); }
    .next_cont_arw { width:46px; height:46px; }
    .next_cont_arw::after { width:8px; height:8px; top:17px; left:15px; }
    .next_cont_inner:hover .next_cont_arw::after { left:18px; }

}

@media screen and (min-width:1080px) {
    .sp-on { display:none !important; }
    .tab-on { display:none !important; }
    .pc-on { display:block !important; }
    
    .page_ttl_txt h1 { font-size:8rem; letter-spacing:8px; }
    .page_ttl_txt h3 { font-size:2rem; }
    .page_ttl_txt p { font-size:1.4rem; margin-top:40px; }
    .cpt_txt { padding:0 0 0 60px; }
    .cpt_txt p { font-size:1.4rem; margin-bottom:20px; }
    .company_profile { padding-top:40px; padding-bottom:160px; }
    .company_ttl h2, .history_ttl h2 { font-size:6rem; letter-spacing:6px; }
    .company_ttl h3, .history_ttl h3 { font-size:2rem; }
    .company_ttl { width:380px; }
    .company_info { width:calc(100% - 380px); }
    .company_info dl { font-size:1.4rem; }
    .company_info dt { width:120px; }
    .company_info dd { width:calc(100% - 120px); }
    .company_info dd a { font-size:1.3rem; }
    .history { padding:160px 0; }
    .history_inner { padding-top:40px; }
    .history_txt { width:40%; top:-30px; margin-bottom:-30px; }
    .history_txt p { font-size:1.2rem; }
    .year_r, .year_b { margin-top:0; top:0; }
    .yfc { margin-top:-50px; top:50px; }
    .txt_l { left:0; }
    .txt_l::before { content:''; position:absolute; height:1px; width:20%;background:#5c7471; top:35px; right:-20%; }
    .txt_l::after { content:''; position:absolute; height:100%; width:1px; background:#5c7471; top:0; right:-25%; }
    .txt_r { left:58%; }
    .txt_r::before { content:''; position:absolute; height:1px; width:20%;background:#5c7471; top:35px; left:-20%; }
    .txt_r::after { content:''; position:absolute; height:100%; width:1px; background:#5c7471; top:0; left:-20%; }
    .history_txt { top:-70px; margin-bottom:-120px; padding:40px; }
    .ht_f { top:-35px; margin-bottom:-100px; }
    .ht_b { top:-80px; margin-bottom:-80px; }
    .next_cont { height:220px; }
    .next_cont_ttl h5 { font-size:1.2rem; }
    .next_cont_ttl { width:60%; }
    .next_cont_inner { width:40%; }
    .next_cont_txt h2 { font-size:4.2rem; }
    .next_cont_txt h3 { font-size:1.6rem; }
    .next_cont_txt { width:calc(100% - 60px); }
    .next_cont_arw { width:60px; height:60px; }
    .next_cont_arw::after { width:12px; height:12px; top:22px; left:20px; }
    .next_cont_inner:hover .next_cont_arw::after { left:24px; }
}

@media screen and (min-width:1280px) {
    .page_ttl_area { padding-top:100px; }
    .page_ttl_wrap { padding:50px 0; }
    .page_ttl_txt h1 { font-size:10rem; }
    .page_ttl_txt h3 { font-size:2rem; }
    .page_ttl_txt p { font-size:1.6rem; }
    .cpt_ph { height:540px; }
    .cpt_txt { padding:20px 0 0 80px; }
    .cpt_txt p { font-size:1.6rem; }
    .company_profile { padding-top:80px; padding-bottom:180px; }
    .company_ttl { width:480px; }
    .company_info { width:calc(100% - 480px); }
    .company_info dl { font-size:1.6rem; }
    .history_txt p { font-size:1.4rem; }

}

@media screen and (min-width:1920px) {
    .page_ttl_wrap { padding:80px 0; }
    .page_ttl_txt h1 { font-size:12rem; }
    .page_ttl_txt h3 { font-size:2.8rem; }
    .page_ttl_txt p { font-size:2rem; margin-top:40px; }
    .cpt_area { padding:160px 0; }
    .cpt_ph { width:55%; height:640px; }
    .cpt_ph img { width:100%; height:auto; }
    .cpt_txt { width:35%; padding-left:100px; }
    .cpt_txt p { font-size:2rem; }
    .company_ttl { width:640px; }
    .company_info { width:calc(100% - 640px); }
    .company_ttl h2, .history_ttl h2 { font-size:8rem; }
    .company_ttl h3, .history_ttl h3 { font-size:2.8rem; }
    .company_info dl { font-size:2rem; }
    .company_info dt { width:200px; }
    .company_info dd { width:calc(100% - 200px); }
    .company_info dd a { font-size:1.6rem; }
    .company_profile { padding-bottom:240px; }
    .history { padding:240px 0; }
    .year_b { width:140px; height:140px; }
    .year_b h3 { font-size:4.8rem; }
    .year_r { width:100px; height:100px; }
    .year_r h3 { font-size:3.2rem; }
    .year_r h4 { font-size:1.8rem; }
    .history_txt { top:-90px; margin-bottom:-120px; padding:60px; }
    .ht_f { top:-55px; margin-bottom:-90px; }
    .ht_b { top:-105px; padding-bottom:60px;  }
    .history_txt p { font-size:1.8rem; }
    .next_cont_txt h2 { font-size:4.8rem; }
    .next_cont_txt h3 { font-size:2rem; }
    .next_cont { height:240px; }
}

@media screen and (min-width:2560px) {
    .page_ttl_wrap { padding:120px 0; }
    .page_ttl_txt h1 { font-size:20rem; }
    .page_ttl_txt h3 { font-size:4.2rem; }
    .page_ttl_txt p { font-size:2.4rem; margin-top:60px; line-height:240%; }
    .cpt_txt p { font-size:2.4rem; }
    .cpt_ph { height:860px; }
    .cpt_txt { width:30%; padding:60px 0 0 120px; }
    .company_profile { width:70%; left:15%; padding-top:120px; padding-bottom:360px; }
    .company_ttl h2, .history_ttl h2 { font-size:12rem; }
    .company_ttl h3, .history_ttl h3 { font-size:3.6rem; }
    .company_ttl { width:800px; }
    .company_info { width:calc(100% - 800px); }
    .company_info dl { font-size:2.4rem; }
    .company_info dt { width:320px; padding:40px 0; }
    .company_info dd { width:calc(100% - 320px); padding:40px 0; }
    .history { padding:320px 0; }
    .history_wrap { width:70%; left:15%; }
    .history_ttl h3::after { width:120px; height:2px; bottom:-20px; }
    .history_inner { padding-top:80px; }
    .history_txt { top:-105px; margin-bottom:-170px; }
    .history_txt p { font-size:2.2rem; }
    .year_b { width:180px; height:180px; }
    .year_b h3 { font-size:6rem; }
    .ht_f { top:-75px; margin-bottom:-150px; }
    .ht_b { top:-120px; margin-bottom:-120px; }
    .year_r { width:140px; height:140px; }
    .year_r h3 { font-size:4rem; }
    .year_r h4 { font-size:2.4rem; }
    .next_cont { height:320px; }
    .next_cont_wrap { width:70%; left:15%; }
    .next_cont_ttl h5 { font-size:1.8rem; }
    .next_cont_txt { width:calc(100% - 80px); }
    .next_cont_txt h2 { font-size:6.4rem; }
    .next_cont_txt h3 { font-size:2.8rem; }
    .next_cont_arw { width:80px; height:80px; }
    .next_cont_arw::after { width:14px;height:14px; top:32px; left:28px; }
    .next_cont_inner:hover .next_cont_arw::after { left:32px; }

}
@media screen and (min-width:3840px) {
    .page_ttl_area { padding-top:280px; }
    .page_ttl_wrap { padding:100px 0; }
    .page_ttl_txt h1 { font-size:30rem; }
    .page_ttl_txt h3 { font-size:6rem; }
    .page_ttl_txt p { font-size:3.2rem; margin-top:80px; }
    .cpt_area { padding:400px 0; }
    .cpt_ph { height:1080px; }
    .cpt_txt { padding:120px 0 0 180px; }
    .cpt_txt p { font-size:3.2rem; }
    .company_profile { padding-bottom:400px; }
    .company_ttl h2, .history_ttl h2 { font-size:20rem; }
    .company_ttl h3, .history_ttl h3 { font-size:4.6rem; }
    .company_ttl { width:1200px; }
    .company_info { width:calc(100% - 1200px); }
    .company_info dl { font-size:3.2rem; }
    .company_info dt { width:460px; padding:80px 0; }
    .company_info dd { width:calc(100% - 460px); padding:80px 0; }
    .history { padding:400px 0; }
    .history_inner { padding-top:160px; }
    .history_txt { top:-125px; margin-bottom:-170px; padding:80px; }
    .history_txt p { font-size:2.8rem; }
    .year_b { width:240px; height:240px; }
    .year_b h3 { font-size:8rem; }
    .ht_f { top:-105px; margin-bottom:-150px; }
    .ht_b { top:-160px; margin-bottom:-160px; }
    .year_r { width:180px; height:180px; }
    .year_r h3 { font-size:6rem; }
    .year_r h4 { font-size:4rem; }
    .next_cont { height:460px; }
    .next_cont_ttl h5 { font-size:2.4rem; }
    .next_cont_txt h2 { font-size:12rem; }
    .next_cont_txt h3 { font-size:4rem; }
    .next_cont_txt { width:calc(100% - 120px); }
    .next_cont_arw { width:120px; height:120px; border:2px solid #5c7471; }
    .next_cont_arw::after { width:24px;height:24px; top:46px; left:40px; border-top:2px solid; border-right:2px solid; }
    .next_cont_inner:hover .next_cont_arw::after { left:42px; }

}