@charset "UTF-8";
/*common*/
.pc-only { display: block !important; }

.sp-only { display: none !important; }

section, main { position: relative; display: block; }

body { width: 100%; overflow-x: hidden; }

img { max-width: 100%; }

.mt20 { margin-top: 2.0rem; }

@media screen and (max-width: 767px) {
    .pc-only { display: none !important; }
    .sp-only { display: block !important; }
    html, body { width: 100%; overflow-x: hidden; }
}

/*no-js*/
/*.no-js .js-scroll-fade,
.no-js .top_main_txt,
.no-js .top_main_txt .catch,
.no-js .top_main_txt .read,
.no-js .top_main_scroll { opacity: 1!important; }
.no-js body.home #loading { display: none; }
.no-js body#home #header {-webkit-transform: translateY(0);transform: translateY(0);}
.no-js body:not(.home) #loading { display: none; }*/
/*loading*/

body #loading { background: #fff; display: block; height: 100%; left: 0; position: fixed; top: 0; width: 100%; z-index: 100010; pointer-events: none; -webkit-transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s; transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s; }

body #loading.is-animation { opacity: 0; }

/*loop*/
@keyframes loop {
    0% { transform: translateX(100%); }
  to { transform: translateX(-100%); }
}
@keyframes loop2 {
    0% { transform: translateX(0); }
  to { transform: translateX(-200%); }
}

/*fade*/
.js-scroll-fade:not(.top_about_ph):not(.hd_anime) { opacity: 0; }

.isActive:not(.top_about_ph):not(.hd_anime) { -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1); -webkit-animation-duration: 1.8s; animation-duration: 1.8s; -webkit-animation-name: fadeUp; animation-name: fadeUp; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; }

@-webkit-keyframes fadeUp {
    0% { opacity: 0; -webkit-transform: translateY(50px); transform: translateY(50px); }
  10% { opacity: 0; }
  to { opacity: 1; -webkit-transform: none; trfooter_logo_setansform: none; } 
}
@keyframes fadeUp { 
    0% { opacity: 0; -webkit-transform: translateY(50px); transform: translateY(50px); }
  10% { opacity: 0; }
  to { opacity: 1; -webkit-transform: none; transform: none; } 
}

/*header*/
.header_box { width: 100%; position: relative; position: fixed; z-index: 9999; }
.header_box > .inner { display: flex; width: 100%; height: 10.0rem; padding: 0 calc(21.4rem + 7.0%) 0 2.04%; background: #F9F9F9; justify-content: space-between; box-sizing: border-box; }
.header_logo { width: 24.7rem; line-height: 1; text-align: center; display: flex; align-self: center; }
.header_logo img { width: 100%; line-height: 0; }
.header_catch { width: 21.4rem; position: absolute; top: 1.2rem; right: 3.31%; }
.global_nav { flex-grow: 2; margin-left: 3.38%; }
.main_nav { display: flex; justify-content: space-between; width: 100%; padding: 5.0rem 5.7% 0; box-sizing: border-box; position: relative; }
.main_nav:before { content: ""; display: block; width: 1px; height: 1.45rem; background: #ccc; position: absolute; left: 0; top: 5.2rem; }
.main_nav:after { content: ""; display: block; width: 1px; height: 1.45rem; background: #ccc; position: absolute; right: 0; top: 5.2rem; }

.main_nav > li > * {  font-size: 1.6rem; line-height: 1.0; position: relative; }
.main_nav li.line { position: relative; }
.main_nav li.line:before { content: ""; display: block; width: 1px; height: 1.45rem; background: #ccc; position: absolute; left: 0; }

#nav01 > a:before,
#nav02 > a:before,
#nav03 > span:before,
#nav04 > a:before,
#nav05 > a:before,
#nav06 > span:before { content: ""; display: block; opacity: 0; width: 8.88rem; height: 3.52rem; border: 1px solid #B7282E; border-radius: 50%; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); -webkit-transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
#nav01 > a:before { width: 7.77rem; }
#nav05 > a:before { width: 12.2rem; }

#nav01 > a:hover:before,
#nav02 > a:hover:before,
#nav04 > a:hover:before,
#nav05 > a:hover:before { opacity: 1; }

body.home #nav01 > a:before,
body.company #nav02 > a:before,
body.realestate #nav03 > span:before,
body.parking #nav03 > span:before,
body.post-type-archive-news #nav04 > a:before,
body.tax-news_cat #nav04 > a:before,
body.single-news #nav04 > a:before,
body.contact #nav05 > a:before,
body.recruit #nav06 > span:before,
body.oneday #nav06 > span:before { opacity: 1; }

.op_global_nav { display: none; }

.btn_humberger_box { display: none; }

.acdpc_body { padding-top: 1.0rem; position: absolute!important; bottom: 0; -webkit-transform: translateY(100%); transform: translateY(100%); opacity: 0; pointer-events: none; -webkit-transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); } 
.acdpc_body.open { opacity: 1; pointer-events: visible; }
.acdpc_body > .inner { background: #fff; padding: 1.5rem 1.8rem; }
.acdpc_body * { white-space: nowrap; }
.acdpc_body .hd { font-size: 1.6rem; color: #333; }
.acdpc_body .hd + ul { margin-top: 1.5rem; }
.acdpc_body .type_cat { margin: 0.8rem 0 0; font-size: 1.3rem; line-height: 1.5; }
.acdpc_body .type_cat a { display: block; position: relative; margin-left: 0.9rem; padding: 0 2.5rem 0 1.5rem; }
.acdpc_body .type_cat a:before { content: ""; display: block; width: 0.9rem; height: 1px;  position: absolute; left: 0; top: 50%; background: #A3A3A3; }
.acdpc_body .type_cat a:after { content: ""; display: block;width: 1.4rem; height: 0.5rem; background: url("../img/arrow_link.svg") no-repeat center; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.acdpc_body .type_cat + .type_ex { margin-top: 1.5rem; }
.acdpc_body .type_ex { margin-top: 1.5rem; font-size: 1.6rem; line-height: 1.5; color: #333; }
.acdpc_body .type_ex a { display: block; position: relative; padding-right: 2.5rem; }
.acdpc_body .type_ex a:after { content: ""; display: block;width: 1.6rem; height: 1.2rem; background: url("../img/arrow_exlink.svg") no-repeat center; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.acdpc_body .type_ex + .type_ex { margin-top: 1.2rem;}
.acdpc_body .type_page { font-size: 1.6rem; color: #333; }
.acdpc_body .type_page a { display: block; position: relative; padding-right: 2.5rem; }
.acdpc_body .type_page a:after { content: ""; display: block;width: 1.4rem; height: 0.5rem; background: url("../img/arrow_link.svg") no-repeat center; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.acdpc_body .type_page + .type_page { margin-top: 1.2rem;}

@media screen and (min-width: 1600px) { 
    .header_catch { width: 17.4rem; position: absolute; top: 1.2rem; right: 3.31%; }
}

@media screen and (max-width: 1250px) { 
    .header_box > .inner { display: flex; width: 100%; height: 10.0rem; padding: 0 calc(17.1rem + 7.0%) 0 2.04%; background: #F9F9F9; justify-content: space-between; box-sizing: border-box; }
    .header_logo { width: 19.76rem; line-height: 1; text-align: center; display: flex; align-self: center; }
    .header_catch { width: 17.1rem; position: absolute; top: 1.2rem; right: 3.31%; }
    .main_nav li > * {  font-size: 1.3rem; line-height: 1.0; }
    
}
@media screen and (max-width: 900px) { 
    .header_box { width: 100%; position: relative; position: absolute; z-index: auto; }
    .header_box > .inner { display: flex; align-items: flex-start; width: 100%; height: 5.3rem; padding: 0; background: #F9F9F9; justify-content: space-between; box-sizing: border-box; }
    .header_logo { width: 16.6rem; line-height: 1; text-align: center; display: flex; align-self: auto; position: absolute; top: 1.1rem; left: 2.66%; z-index: 10; }
    .global_nav { display: none; }
    .header_catch { display: none; width: 11.7rem; position: absolute; top: 5.5rem; right: 4.53%; z-index: 10; }
    body.home .header_catch { display: block; }

    .btn_humberger_box { display: block; position: fixed; top: 1.5rem; right: 4.53%; z-index: 10000; }
    .btn_humberger { width: 7.3rem; height: 2.9rem; font-size: 1.2rem; color: #B7282E; background: #fff; line-height: 1; text-align: center; border: 1px solid #B7282E; border-radius: 50%; position: relative; }
    .btn_humberger > span { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
    .btn_humberger ._close { opacity: 0; }
    body.open .btn_humberger ._close { opacity: 1; }
    body.open .btn_humberger ._menu { opacity: 0; }
    
    .op_global_nav { display: block; width: 100%; height: 100vh; height: 100dvh; background: #F9F9F9; position: fixed; top: 0; left: 0; z-index: 9999; overflow-y: auto; }
    .op_global_nav > .inner { width: 100%; min-height: 100dvh; padding-bottom: 22.7rem; box-sizing: border-box; position: absolute; top: 0; }
    .nav_main { width: 86.66%; margin: 6.5rem auto 0; }
    .nav_main > li > a { display: block;font-size: 1.6rem; padding: 1.5rem 0; position: relative; }
    .nav_main > li > a:after { content: ""; display: block;width: 1.4rem; height: 0.5rem; background: url("../img/arrow_link.svg") no-repeat; center; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
    .nav_main > li > .acd { display: block;font-size: 1.6rem; padding: 1.5rem 0; position: relative; }
    .nav_main > li > .acd:before { content: ""; display: block; width: 1.3rem; height: 1px;  position: absolute; right: 0; top: 50%; background: #B7282E; }
    .nav_main .acd:after { content: ""; display: block; width: 1.3rem; height: 1px;  position: absolute; right: 0; top: 50%; background: #B7282E; -webkit-transform: rotate(90deg); transform: rotate(90deg); -webkit-transition: transform 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: transform 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    .nav_main .acd.open:after { -webkit-transform: rotate(0); transform: rotate(0); }
    .nav_main  > li { border-bottom: 1px solid #ccc; }
    .nav_main  > li > * { padding-left: 1.6rem; }
    .nav_main  > li ul { margin-bottom: 3.0rem; }
    .nav_main .hd { font-size: 1.6rem; color: #333; }
    .nav_main .type_cat { margin-top: 1.0rem; padding-left: 1.5rem; font-size: 1.3rem; line-height: 1.5; }
    .nav_main .type_cat a { display: block; position: relative; }
    .nav_main .type_cat a:before { content: ""; display: block; width: 0.9rem; height: 1px;  position: absolute; left: 0; top: 50%; background: #A3A3A3; }
    .nav_main .type_cat a:after { content: ""; display: block;width: 1.4rem; height: 0.5rem; background: url("../img/arrow_link.svg") no-repeat center; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
    .nav_main .type_ex { margin-top: 1.5rem; font-size: 1.6rem; line-height: 1.5; color: #333; }
    .nav_main .type_ex a { display: block; position: relative; }
    .nav_main .type_ex a:after { content: ""; display: block;width: 1.6rem; height: 1.2rem; background: url("../img/arrow_exlink.svg") no-repeat center; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
    .nav_main .type_ex + .type_ex { margin-top: 1.2rem;}
    .nav_main .type_page { font-size: 1.6rem; color: #333; }
    .nav_main .type_page a { display: block; position: relative; }
    .nav_main .type_page a:after { content: ""; display: block;width: 1.4rem; height: 0.5rem; background: url("../img/arrow_link.svg") no-repeat center; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
    .nav_catch { width: 21.7rem; position: absolute; right: 7.46%; bottom: 3.0rem; }
    
    .op_global_nav { display: block; opacity: 0; pointer-events: none; -webkit-transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    body.open .op_global_nav { opacity: 1; pointer-events: visible; }
    .op_global_nav > .inner { opacity: 0; -webkit-transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1) 0s; transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1) 0s; }
    body.open .op_global_nav > .inner { opacity: 1; -webkit-transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1) 0.3s; transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1) 0.3s; }
    
    .acd_body { display: none; }
    
}

/*top*/
main { padding-top: 10.0rem; }
.top_main > .inner { width: 100%; height: calc(100vh - 10.0rem); position: relative; }
.top_main_movie video { width: 100%; height: 100%; object-fit: cover; position: absolute; }
.top_main_catch { width: 13.3rem; position: absolute; left: 6.12%; top: 50%; z-index: 2; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.top_main .common_btn { width: 18.6rem; position: fixed; right: 2.04%; bottom: 4.2rem; z-index: 10; }
.top_main .common_btn a { display: flex; justify-content: space-between; border: 1px solid #B7282E; border-radius: 50%; align-items: center; font-size: 1.4rem; height: 4.9rem; padding: 0 2.0rem; background: #fff; }
.top_main .common_btn a + a { margin-top: 0.9rem; }
.top_main .common_btn .link_arrow { width: 1.4rem; line-height: 0; }

.link_scroll { position: absolute; left: 50%; bottom: 0; z-index: 10; display: flex; flex-direction: column; align-items: center; }
.link_scroll .txt { font-size: 1.3rem; color: #fff; font-weight: 400; transform: rotate(90deg); margin-bottom: 2.5rem; }
.link_scroll .line { width: 1px; height: 3.0rem; box-sizing: border-box; position: relative; }
.link_scroll .line:after {content: '';position: absolute;  top: 0;  left: 0;  width: 1px;  height: 3.0rem; background: #B7282E; animation: sdl 2.5s cubic-bezier(1, 0, 0, 1) infinite;}

@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.top_common_hd .en { font-size: 5.0rem; line-height: 1.2; }
.top_common_hd .ttl { font-size: 1.6rem; }
._first_cl:first-letter { color: #B7282E!important; }

.top_service { margin-top: 8.0rem; }
.top_service .top_common_hd { margin: 0 10.20% 0 6.12%; }

.top_service_main { position: relative; height: 29.78vw; }
.top_service_main .copy { font-size: 2.0rem; line-height: 2.0; width: 36.73%; margin-left: 22.95%; padding-top: 8.0rem; }
.top_service_main .line01 { width: 34.37%; position: absolute; left: -15%; top: -3.0rem; }
.top_service_main .line01 img { width: 100%; }
.top_service_main .line02 { width: 40.68%; position: absolute; right: 0; top: -3.0rem; }
.top_service_main .line02 img { width: 100%; }
.top_service .line03 { width: 100%; position: absolute; left: 0; bottom: 0; z-index: -1; }
.top_service .line03  img { width: 100%; }

.top_service_hd { font-size: 2.5rem; }
.top_service_body { margin: 0 10.20% 0 20.40%; }
.top_lineup_list { margin: 4.0rem 0 0 6.4rem; padding-bottom: 9.0rem; display: flex; justify-content: space-between; flex-wrap: wrap; }
.top_lineup_item { width: 43.75%; margin-bottom: 7.0rem; position: relative; }
.top_lineup_item .ph img { width: 100%; border-radius: 2.0rem; }
.top_lineup_item .hd_box { position: absolute; right: 0; }
.top_lineup_item .hd { font-size: 2.0rem; color: #B7282E; -webkit-transform: rotate(90deg) translateY(-120%); transform: rotate(90deg) translateY(-120%); transform-origin: top left; position: absolute; white-space: nowrap; }
.top_lineup_item .name { margin-top: 1.5rem; display: flex; flex-wrap: wrap; align-items: center; }
.top_lineup_item .name_main { margin-right: 1.4rem; font-size: 2.4rem; line-height: 1.5; }
.top_lineup_item a.name_main { padding-right: 2.7rem; position: relative; }
.top_lineup_item a.name_main:after { content: ""; display: block; width: 1.6rem; height: 1.2rem; background: url("../img/ico_exlink.svg") no-repeat center /contain;; position: absolute; right: 0; top: 1.7rem; }
.top_lineup_item a.name_main .txt { text-decoration: underline; text-decoration-style: solid; text-decoration-offset: 0%; text-decoration-thickness: 0%; text-decoration-skip-ink: auto; }
.top_lineup_item .name .btn { display: flex; justify-content: center; width: auto; position: relative; right: auto; top: auto; }
.top_lineup_item .name .btn a { width: 10.1rem; max-width: 20.0rem; display: flex; justify-content: space-between; border: 1px solid #B7282E; border-radius: 50%; align-items: center; font-size: 1.4rem; height: 4.4rem; padding: 0 1.0rem 0 1.0rem; box-sizing: border-box; background: #fff; }
.top_lineup_item .name .btn a + a { margin-left: 1.0rem; }
.top_lineup_item .name .btn .link_arrow { width: 1.4rem; line-height: 0; }

.top_lineup_item p { margin-top: 1.5rem; line-height: 1.875; }

.top_news > .inner { display: flex; justify-content: space-between; margin: 13.0rem 8.6% 0 6.12%; }
.top_news_head { width: 28.42%; } 
.top_news_body { width: 69.40%; } 

.top_news_cat { margin: 14.0rem 0 0 20.26%; }
.top_news_cat li + li { margin-top: 1.0rem; }
.top_news_cat li a { font-size: 1.3rem; position: relative; padding-left: 2.7rem; }
.top_news_cat li a:before { content: ""; display: block; width: 2.0rem; height: 1px; background: #A3A3A3; position: absolute; left: 0; top: 50%; }
.top_news_cat li.active a:before { background: #B7282E; }

.news_archive_item { display: flex; justify-content: space-between; align-items: flex-start; padding: 1.9rem 0; border-bottom: 1px solid #B7282E; }
.news_archive_item .txt { width:68%; display: block; }
.news_archive_item .ph { width: 27.58%; }
.news_archive_item .ph > div { padding-bottom: 62.5%; position: relative; overflow: hidden; }
.news_archive_item .ph > div img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.news_archive_item .date { width: 100%; margin-bottom: 1.5rem; font-size: 1.2rem; }
.news_archive_item .cat { display: inline-block; padding: 0 2.0rem; margin: 0.4rem 2.5rem 0 0; font-size: 1.3rem; white-space: nowrap; background: rgba(232, 56, 23, 0.1); border-radius: 30px; }
.news_archive_item .link_txt { display: inline; font-size: 2.0rem; line-height: 1.7; }
.top_news .common_link { display: flex; justify-content: flex-end; margin-top: 6.0rem; }

.page_main .news_archive_item:last-child { border-bottom: none; }

.common_link a { display: flex; align-items: center; line-height: 1.5; }
.common_link .txt { font-size: 1.6rem; }
.common_link .link_arrow { width: 1.4rem; margin-left: 0.9rem; line-height: 0; }

.top_recruit  { margin-top: 5.0rem; }
.top_recruit .top_common_hd { margin: 0 6.95%; }
.top_recruit_body { position: relative; }
.top_recruit_body .line { width: 100%; min-width: 186.2rem; position: absolute; left: 50%; top: 7.4rem; z-index: -1; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.top_recruit_body .line img { width: 100%; }
.top_recruit_body .catch { width: 5.86%; position: absolute; left: 16.51%; top: 34%; }
.top_recruit_body .main { width: 43.04%; margin: 0 auto; }
.top_recruit_body .main .read { font-size: 2.0rem; line-height: 1.8; text-align: center; margin-top: 2.0rem; }
.top_recruit_body .btn { width: 30.3rem; position: absolute; right: 6.56%; top: 55%; }
.top_recruit_body .btn a { display: flex; justify-content: space-between; border: 1px solid #B7282E; border-radius: 50%; align-items: center; font-size: 2.0rem; color: #B7282E; height: 12.0rem; margin-bottom: 1.5rem; padding: 0 4.0rem 0 5.2rem; background: #fff; }
.top_recruit_body .btn .link_arrow { width: 1.4rem; line-height: 0; }

.top_company > .inner { height: 40.0rem; margin-top: 18.9rem; position: relative; }
.top_company .ph { position: absolute; width: 100%; height: 100%; z-index: -1; }
.top_company .ph img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.top_company .ph:after { content: ""; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: rgba(0,0,0,0.5);}
.top_company .top_common_hd { padding: 10.0rem 0 0 6.25%; }
.top_company .top_common_hd .en,
.top_company .top_common_hd .ttl { color: #fff; }
.top_company_link { position: absolute; right: 11.41%; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.top_company_link a { display: flex; align-items: center; }
.top_company_link .txt { font-size: 2.0rem; color: #fff; }
.top_company_link .link_arrow { width: 1.4rem; line-height: 0; margin-left: 1.6rem; }

footer { background: #B7282E; padding: 6.8rem 0 9.0rem; position: relative; }
.footer_contact > .inner { display: flex; align-items: center; width: 87.76%; margin: 0 auto; }
.footer_contact .top_common_hd .en,
.footer_contact .top_common_hd .ttl { color: #fff; }
.footer_contact_link { width: 30.3rem; margin-left: 4.6rem; }
.footer_contact_link a { display: flex; justify-content: space-between; border: 1px solid #B7282E; border-radius: 50%; align-items: center; font-size: 2.0rem; color: #B7282E; height: 12.0rem; margin-bottom: 1.5rem; padding: 0 4.0rem 0 3.6rem; background: #fff; }
.footer_contact_link .link_arrow { width: 1.4rem; line-height: 0; }

.footer_info { margin: 29.0rem 0 0 72.71%; }
.footer_info > .inner { padding-right: 6%; }
.footer_info .logo { width: 20.8rem; }
.footer_info .txt { font-size: 1.6rem; color: #fff; line-height: 1.75; margin-top: 2.5rem; }
.footer_info .copyrights { font-size: 0.9rem; color: #fff; margin-top: 2.0rem; }
.footer_info address { color: inherit; }

.footer_line { width: 44.96%; position: absolute; left: 0; bottom: 3.7rem; }

@media screen and (max-width: 1300px) { 
    .top_service_main .copy { font-size: 1.6rem; line-height: 2.0; width: 36.73%; margin-left: 22.95%; padding-top: 8.0rem; }
    
    .top_lineup_item .name .btn a { width: 8.1rem; max-width: 20.0rem; display: flex; justify-content: space-between; border: 1px solid #B7282E; border-radius: 50%; align-items: center; font-size: 1.2rem; height: 3.4rem; padding: 0 0.5rem 0 0.5rem; box-sizing: border-box; background: #fff; }
}

@media screen and (max-width: 900px) { 
    main { padding-top: 8.0rem; }
    
    .top_service_main { position: relative; height: 35.78vw; }
    .top_service_main .copy { font-size: 1.6rem; line-height: 2.0; width: 28.73%; margin-left: 22.95%; padding-top: 8.0rem; }
    
    .top_recruit_body .btn { display: flex; justify-content: center; width: auto; margin-top: 4.0rem; position: relative; right: auto; top: auto; }
    .top_recruit_body .btn a { width: 45%; max-width: 20.0rem; display: flex; justify-content: space-between; border: 1px solid #B7282E; border-radius: 50%; align-items: center; font-size: 2.0rem; color: #B7282E; height: 12.0rem; margin-bottom: 1.5rem; padding: 0 4.0rem 0 5.2rem; background: #fff; }
    .top_recruit_body .btn a + a { margin-left: 2.46%; }
.top_recruit_body .btn .link_arrow { width: 1.4rem; line-height: 0; }
}

@media screen and (max-width: 767px) { 
    .top_main > .inner { width: 100%; height: 98.13vw; position: relative; }
.top_main_movie video { width: 100%; height: 100%; object-fit: cover; position: absolute; }
    .top_main_catch { width: 8.1rem; position: absolute; left: 6.12%; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
    .top_main .common_btn { display: flex; justify-content: center; width:100%; padding: 1.6rem 0; position: fixed; right: auto; bottom: 0; -webkit-transform: translateY(0%); transform: translateY(0%); background: #fff; }
    .top_main .common_btn a { display: flex; justify-content: space-between; width: 39.46%; max-width: 15.0rem; border: 1px solid #B7282E; border-radius: 50%; align-items: center; font-size: 1.1rem; height: 3.9rem; padding: 0 1.5rem; box-sizing: border-box; background: #fff; }
    .top_main .common_btn a + a { margin: 0 0 0 2.93%; }
    .top_main .common_btn .link_arrow { width: 1.1rem; line-height: 0; }


    .link_scroll { display: none; }

    .top_common_hd .en { font-size: 3.2rem; line-height: 1.2; }
    .top_common_hd .ttl { font-size: 1.037rem; }
._first_cl:first-letter { color: #B7282E!important; }

.top_service { margin-top: 8.0rem; }
.top_service .top_common_hd { margin: 0 10.20% 0 6.12%; }

    .top_service_main { position: relative; height: auto; }
    .top_service_main .copy { font-size: 1.4rem; line-height: 2.0; width: 89.60%; margin: 0 auto; padding-top: 3.0rem; }
    .top_service_main .line01 { display: none; }
    .top_service_main .line02 { width: 100%; position: relative; right: 0; top: 0; }
.top_service_main .line02 img { width: 100%; }
.top_service .line03 { width: 100%; position: absolute; left: 0; bottom: 0; }
    .top_service .line03  img { width: 170.66%; max-width: none; }

    .top_service_hd { font-size: 2.0rem; }
    .top_service_body { width: 89.60%; margin: 4.0rem auto 0; }
    .top_lineup_list { margin: 2.5rem 0 0 6.4rem; padding-bottom: 52.73vw; display: block; }
    .top_lineup_item { width: 91.18%; position: relative; }
    .top_lineup_item:nth-child(2n) { margin-top: 0; }
    .top_lineup_item + .top_lineup_item { margin-top: 5.0rem;}
    .top_lineup_item .ph img { width: 100%; border-radius: 1.0rem; }
.top_lineup_item .hd_box { position: absolute; right: 0; }
    .top_lineup_item .hd { font-size: 1.4rem; color: #B7282E; -webkit-transform: rotate(90deg) translateY(-120%); transform: rotate(90deg) translateY(-120%); transform-origin: top left; position: absolute; white-space: nowrap; }
.top_lineup_item .name { margin-top: 1.5rem; }
    .top_lineup_item .name_main { margin-right: 1.2rem; font-size: 2.0rem; line-height: 1.5; }
    .top_lineup_item a.name_main:after { content: ""; display: block; width: 1.6rem; height: 1.2rem; background: url("../img/ico_exlink.svg") no-repeat center /contain;; position: absolute; right: 0; top: 0.7rem; }
    .top_lineup_item a.name_main .txt { text-decoration: underline; text-decoration-style: solid; text-decoration-offset: 0%; text-decoration-thickness: 0%; text-decoration-skip-ink: auto; }
.top_lineup_item .name .btn { display: flex; justify-content: center; width: auto; position: relative; right: auto; top: auto; }
    .top_lineup_item .name .btn a { width: 7.7rem; display: flex; justify-content: space-between; border: 1px solid #B7282E; border-radius: 50%; align-items: center; font-size: 1.0rem; height: 3.4rem; padding: 0 1.0rem 0 1.0rem; box-sizing: border-box; background: #fff; }
    .top_lineup_item .name .btn a + a { margin-left: 0.9rem; }
    .top_lineup_item .name .btn .link_arrow { width: 1.1rem; line-height: 0; }
.top_lineup_item p { margin-top: 1.5rem; line-height: 1.875; }

    .top_news > .inner { display: block; justify-content: space-between; margin: 7.0rem 8.6% 0 6.12%; }
    .top_news_head { width: auto; } 
    .top_news_body { width: auto; } 

    .top_news_cat { margin: 2.0rem 0 0; }
    .top_news_cat ul { display: flex; flex-wrap: wrap; }
    .top_news_cat li + li { margin-top: 0; }
    .top_news_cat li { margin-bottom: 0.5rem; margin-right: 1.4rem; }
    .top_news_cat li a { font-size: 1.3rem; position: relative; padding-left: 2.2rem; }
    .top_news_cat li a:before { content: ""; display: block; width: 1.5rem; height: 1px; background: #A3A3A3; position: absolute; left: 0; top: 50%; }

    .news_archive_list { margin-top: 2.5rem; }
.news_archive_item { display: flex; justify-content: space-between; align-items: flex-start; padding: 1.9rem 0; border-bottom: 1px solid #B7282E; }
    .news_archive_item .txt { width:68%; display: flex; align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; }
.news_archive_item .ph { width: 27.58%; }
    .news_archive_item .date { width: auto; margin: 0.5rem 1.8rem 0 0; font-size: 1.0rem; }
    .news_archive_item .cat { display: inline-block; padding: 0 2.0rem; margin: 0 1.5rem 0 0; font-size: 1.1rem; white-space: nowrap; background: rgba(232, 56, 23, 0.1); border-radius: 30px; }
    .news_archive_item .link_txt { display: block; width: 100%; margin-top: 1.0rem; font-size: 1.3rem; line-height: 1.7; }
    .top_news .common_link { display: flex; justify-content: flex-end; margin-top: 2.0rem; }

.page_main .news_archive_item:last-child { border-bottom: none; }

.common_link a { display: flex; align-items: center; line-height: 1.5; }
    .common_link .txt { font-size: 1.4rem; }
.common_link .link_arrow { width: 1.4rem; margin-left: 0.9rem; line-height: 0; }

.top_recruit  { margin-top: 5.0rem; }
.top_recruit .top_common_hd { margin: 0 6.95%; }
.top_recruit_body { position: relative; }
    .top_recruit_body .line { width: 100%; min-width: 61.9rem; position: absolute; left: 50%; top: 25.3rem; z-index: -1; -webkit-transform: translateX(-50%); transform: translateX(-50%);  }
.top_recruit_body .line img { width: 100%; }
    .top_recruit_body .catch { width: 6.18rem; margin-left: 69.06%; position: relative; left: auto; top: auto; }
    .top_recruit_body .main { width: 89.06%; margin: 1.9rem auto 0; }
    .top_recruit_body .main .read { font-size: 1.4rem; line-height: 1.8; text-align: center; margin-top: 3.0rem; }
    .top_recruit_body .btn { display: flex; justify-content: center; width: 86.66%; max-width: 32.5rem; margin: 4.0rem auto 0; position: relative; right: auto; top: auto; }
    .top_recruit_body .btn a { width: 45%; max-width: 20.0rem; display: flex; justify-content: space-between; border: 1px solid #B7282E; border-radius: 50%; align-items: center; font-size: 1.4rem; color: #B7282E; height: auto; margin-bottom: 1.5rem; padding: 2.0rem 3.0rem 2.0rem 2.7rem; background: #fff; }
    .top_recruit_body .btn a + a { margin-left: 2.46%; }
    .top_recruit_body .btn .link_arrow { width: 1.2rem; line-height: 0; }

    .top_company > .inner { height: auto; margin-top: 6.0rem; position: relative; }
.top_company .ph { position: absolute; width: 100%; height: 100%; z-index: -1; }
.top_company .ph img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.top_company .ph:after { content: ""; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: rgba(0,0,0,0.5);}
    .top_company .top_common_hd { padding: 3.0rem 0 0 6.66%; }
.top_company .top_common_hd .en,
.top_company .top_common_hd .ttl { color: #fff; }
    .top_company_link { margin-top: 6.0rem; padding: 0 6.66% 1.0rem; position: relative; right: auto; top: auto; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.top_company_link a { display: flex; justify-content: flex-end; align-items: center; }
    .top_company_link .txt { font-size: 1.4rem; color: #fff; }
.top_company_link .link_arrow { width: 1.4rem; line-height: 0; margin-left: 1.6rem; }

    footer { background: #B7282E; padding: 4.8rem 0 3.6rem; position: relative; }
    .footer_contact > .inner { display: block; align-items: center; width: 87.76%; margin: 0 auto; }
.footer_contact .top_common_hd .en,
.footer_contact .top_common_hd .ttl { color: #fff; }
    .footer_contact_link { width: 30.3rem; margin: 3.0rem auto 0; }
.footer_contact_link a { display: flex; justify-content: space-between; border: 1px solid #B7282E; border-radius: 50%; align-items: center; font-size: 2.0rem; color: #B7282E; height: 12.0rem; margin-bottom: 1.5rem; padding: 0 4.0rem 0 3.6rem; background: #fff; }
.footer_contact_link .link_arrow { width: 1.4rem; line-height: 0; }

    .footer_info { width: 86.67%; margin: 4.8rem auto 0; }
    .footer_info > .inner { padding-right: 0; }
.footer_info .logo { width: 20.8rem; }
    .footer_info .txt { font-size: 1.4rem; color: #fff; line-height: 1.75; margin-top: 2.5rem; }
    .footer_info .copyrights { font-size: 1.0rem; color: #fff; margin-top: 2.0rem; }
.footer_info address { color: inherit; }

    .footer_line { width: 121.00%; margin: 5.0rem 0 0 -32%; position: relative; left: auto; bottom: auto; }
}

/*common*/
.page_head { position: relative; margin-top: 9.4rem; }
.page_head .top_common_hd { width: 87.75%; margin: 0 auto; padding: 2.5rem 0 7.5rem; }
.page_head .line01 { width: 16.70%; position: absolute; left: 0; bottom: 0; }
.page_head .line02 { width: 40.68%; position: absolute; right: 0; top: 0; }
.page_head .line01 svg,
.page_head .line02 svg { width: 100%; height: auto; }
.page_head .line02 .st0 {
    fill: none;
    stroke: #b7282e;
    stroke-miterlimit: 10;
    stroke-width: 0.6px;
}

.page_contents { display: flex; margin: 5.0rem 0 16.8rem; }
.page_nav { width: 14.56%; min-width: 20.8rem; margin-left: 11.16%; }
.page_nav._recruit { margin-top: -22%; } 
.page_main { width: 63.30%; margin: 0 0 0 2.86%; padding-top: 2.5rem; }
.page_main._news { width: 59.19%; margin: 0 0 0 10.06%; }

.page_nav:not(._nofix) > *:first-child { position: sticky; top: 15.0rem; }
.page_nav li + li { margin-top: 1.0rem; }
.page_nav li a { display: inline-block; font-size: 1.3rem; line-height: 1.5; position: relative; padding-left: 2.7rem; }
.page_nav li a:before { content: ""; display: block; width: 2.0rem; height: 1px; background: #A3A3A3; position: absolute; left: 0; top: 1.0rem; }
.page_nav li a.active:before { background: #B7282E; }
.page_nav .hd { font-size: 1.6rem; margin-bottom: 1.5rem; }
.page_nav ul + .hd { margin-top: 2.5rem; }

.page_common_hd { font-size: 2.5rem; }
.page_common_ttl { font-size: 3.0rem; margin-bottom: 3.5rem; }
.page_common_ttl2 { font-size: 1.3rem; }

@media screen and (max-width: 900px) { 
    .page_head { position: relative; margin-top: 1.7rem; }
    .page_head .top_common_hd { width: 86.66%; margin: 0 auto; padding: 1.8rem 0 2.9rem; }
    .page_head .line01 { width: 19.73%; position: absolute; left: 0; bottom: 0; }
    .page_head .line02 { width: 45.86%; position: absolute; right: 0; top: 0; }

    .page_contents { display: block; width: 86.66%; margin: 4.5rem auto 8.8rem; }
    .page_nav { width: auto; margin: 0 0 4.5rem; padding: 0 1.53%; }
    .page_nav._spline { padding-bottom: 4.0rem; margin-bottom: 6.0rem; border-bottom: 1px solid #D9D9D9; }
    .page_nav._spnone { display: none; }
    .page_nav._recruit { margin-top: 0; } 
    .page_main { width: auto; margin: 0; padding-top: 0; }
    .page_main._news { width: auto; margin: 0; }
    
    .page_nav > *:first-child { position: relative; top: 0; }
    .page_nav .row { width: 103.18%; margin-left: -1.59%; display: flex; flex-wrap: wrap; }
    .page_nav .row li { margin-right: 1.4rem; margin-bottom: 0.5rem; }
    .page_nav .row li + li { margin-top: 0; }
.page_nav li + li { margin-top: 1.0rem; }
.page_nav li a { display: inline-block; font-size: 1.3rem; line-height: 1.5; position: relative; padding-left: 2.7rem; }
.page_nav li a:before { content: ""; display: block; width: 2.0rem; height: 1px; background: #A3A3A3; position: absolute; left: 0; top: 1.0rem; }
.page_nav li a.active:before { background: #B7282E; }

.page_common_hd { font-size: 2.5rem; }
    .page_common_ttl { font-size: 1.6rem; margin-bottom: 2.0rem; }
    .page_common_ttl2 { font-size: 1.0rem; }
}

@media screen and (max-width: 767px) { 
    .page_nav._recruit { margin-top: 9.8rem; }
}


/*about*/
.about_item + .about_item { margin-top: 6.5rem; }
.about_item._outline,
.about_item._history { margin-top: 15.0rem; }
.about_ph_set { display: flex; justify-content: space-between; margin-top: 5.0rem; }
.about_ph_set .copy { width: 31.25%; margin-top: 0.5rem; margin-left: -3.22%; text-align: center; }
.about_ph_set .ph { width: 31.25%; margin-left: -3.22%; font-size: 1.6rem; line-height: 1.625; text-align: center; }
.about_ph_set .txt { width: 65.23%; }
.about_ph_set .txt p + p { margin-top: 2em; }
.about_ph_set .copy img { width: 9.5rem; }
.about_ph_set .ph img { display: block; border-radius: 50%; margin-bottom: 2.5rem; }

.about_table { margin: 6.7rem 0 0 9.27%; }
.about_table table { width: 100%; border-top: 1px solid #B7282E; }
.about_table table th, .about_table table td { font-size: 1.6rem; line-height: 1.5; border-bottom: 1px solid #B7282E; padding: 2.5rem 0; }
.about_table table th { width: 27.58%; font-weight: 500; }

.about_philosophy { margin-left: 34.77%; }
.about_philosophy .read { font-size: 3.2rem; font-weight: 700; line-height: 1.5;  text-indent: -2em;  padding-left: 2em; margin: 4.5rem 0; }
.about_philosophy .hd { font-size: 2.0rem; font-weight: 700; margin: 3.5rem 0 1.0rem; }
.about_philosophy ul { margin-left: 3em; }
.about_philosophy li { font-size: 2.0rem; padding-left: 1.5em; position: relative; }
.about_philosophy li:before { content: "・"; display: block; position: absolute; left: 0; }

@media screen and (min-width: 1400px) { 
    .about_philosophy .read { font-size: 3.2rem; font-weight: 700; line-height: 1.5;  text-indent: -3em;  padding-left: 3em; margin: 4.5rem 0; }
}
@media screen and (max-width: 1000px) { 
    .about_philosophy .read { font-size: 3.2rem; font-weight: 700; line-height: 1.5;  text-indent: -1.5em;  padding-left: 1.5em; margin: 4.5rem 0; }
}

@media screen and (max-width: 767px) { 
.about_item + .about_item { margin-top: 6.5rem; }
.about_item._outline,
    .about_item._history { margin-top: 6.0rem; }
    .about_ph_set { display: block; justify-content: space-between; margin-top: 1.0rem; }
    .about_ph_set .copy { width: 87.69%; margin: 0.5rem 0 4.7rem 10.76%; text-align: center; }
    .about_ph_set .ph { width: 87.69%; padding-left: 19.29%; margin: 0.5rem 0 4.7rem 10.76%; box-sizing: border-box; font-size: 1.4rem; line-height: 1.625; text-align: center; }
    .about_ph_set .txt { width: 87.69%; margin-left: 10.76%; }
.about_ph_set .txt p + p { margin-top: 2em; }
    .about_ph_set .copy img { width: 6.75rem; }
.about_ph_set .ph img { display: block; border-radius: 50%; margin-bottom: 2.5rem; }

    .about_table { width: 87.69%; margin: 1.3rem 0 0 10.76%; }
.about_table table { width: 100%; border-top: 1px solid #B7282E; }
    .about_table table th, .about_table table td { font-size: 1.3rem; line-height: 1.5; border-bottom: 1px solid #B7282E; padding: 2.0rem 0; }
    .about_table table th { width: 8em; }

    .about_philosophy { width: 87.69%; margin-left: 10.76%; }
    .about_philosophy .read { font-size: 1.8rem; font-weight: 700; line-height: 1.5; text-indent: -2.5em;  padding-left: 2.5em; margin: 1.5rem 0 2.0rem; }
    .about_philosophy .hd { font-size: 1.4rem; font-weight: 700; margin: 2.5rem 0 0.5rem; }
.about_philosophy ul { margin-left: 3em; }
    .about_philosophy li { font-size: 1.3rem; padding-left: 1.5em; position: relative; }
.about_philosophy li:before { content: "・"; display: block; position: absolute; left: 0; }
}

/*service*/
.page_nav_inq { background: #eee; padding: 1.6rem; margin-top: 2.5rem; font-size: 1.1rem; line-height: 1.7; }
.page_nav_inq .num { font-size: 1.4rem; }
.page_nav_inq .tel { margin: 1.5rem 0; }
.page_nav_inq .link a { display: flex; align-items: center; }
.page_nav_inq .link a .txt { color: #B7282E; }
.page_nav_inq .link a .arrow { width: 1.2rem; margin-left: 1.3rem; line-height: 0; }

.service_contact,
.service_item { padding-left: 9.27%; box-sizing: border-box; }

.service_contact { margin-top: 2.5rem; font-size: 1.1rem; line-height: 1.7; }
.service_item + .service_contact { margin-top: 7.0rem; }
.service_contact + .contact_item { margin-top: 7.0rem; }
.service_contact .hd { font-size: 3.0rem; font-weight: 700; margin-bottom: 5.0rem;}
.service_contact_inner { background: #eee; padding: 3.0rem 20.0rem 3.0rem 3.9rem; position: relative; }
.service_contact .read { font-size: 1.8rem; }
.service_contact .num { font-size: 1.6rem; }
.service_contact ._font_en { font-size: 2.0rem; }
.service_contact .num { font-size: 3.2rem; }
.service_contact .tel { font-size: 1.6rem; margin: 1.5rem 0 1.0rem; }
.service_contact .email { font-size: 1.6rem; }

.service_contact .btn { width: 15.8rem; position: absolute; right: 4.2rem; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.service_contact .btn a { display: flex; justify-content: space-between; border: 1px solid #B7282E; border-radius: 50%; align-items: center; font-size: 1.4rem; color: #B7282E; margin-bottom: 1.5rem; padding: 2.0rem 3.0rem 2.0rem 2.7rem; background: #fff; }
.service_contact .btn .link_arrow { width: 1.2rem; line-height: 0; }

.service_item { margin-top: 3.5rem; }
.page_common_hd + .service_item { margin-top: 7.0rem; }
.service_item .hd { font-size: 3.0rem; margin-bottom: 2.5rem; }
.service_item + .service_item { margin-top: 9.5rem; }
.service_item table th, .service_item table td { border: 1px solid #B7282E; }
.service_item table th { font-size: 1.6rem; padding: 1.5rem 0.5rem; text-align: center; background: #EEEEEE; font-weight: 500; }
.service_item table th:last-child { width: 18.31%; }
.service_item table td { vertical-align: middle; font-size: 1.6rem; line-height: 1.6; padding: 1.0rem 2.0rem; }
.service_item table td:last-child { padding: 1.0rem; }
.service_item table td a { display: inline-block; color: #B7282E; text-decoration: underline; }
.service_item table td .point { display: inline-block; font-size: 1.3rem; line-height: 1; margin-bottom: 0.5rem; padding: 0.5rem 1.2rem; background: rgba(232, 56, 23, 0.1); border-radius: 3.0rem; }

.service_item .notes { margin-top: 2.0rem; line-height: 1.5; }

.service_item_data { border: 1px solid #B7282E; }
.service_item_data + .service_item_data { border-top: none; }
.service_item_head { display: flex; align-items: center; background: #EEEEEE; }
.service_item_head .name { padding: 1.5rem 6.46%; flex-grow: 2; position: relative; font-size: 1.3rem; color: #B7282E; text-decoration: underline; }
.service_item_head .ph { width: 10.0rem; }
.service_item_head .ph > div { padding-bottom: 66%; position: relative; }
.service_item_head .ph > div img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.service_item_body { padding: 1.0rem 6.46%; }
.service_item_body dl { display: flex; flex-wrap: wrap; font-size: 1.3rem; }
.service_item_body dt { width: 6rem; }
.service_item_body dd { width: calc(100% - 6rem); }

.service_item_headset { display: flex; flex-wrap: wrap; align-items: flex-end; margin-bottom: 2.5rem; }
.service_item_headset .hd { margin-bottom: 0; }
.service_item_headset .link_contact { display: flex; align-items: center; font-size: 1.6rem; color: #B7282E; margin-left: 2.2rem; }
.service_item_headset .link_contact .arrow { width: 1.4rem; margin-left: 0.3rem; line-height: 0; }
.service_item_headset .btn_contact { display: flex; padding: 0.5rem 1.0rem; border-radius: 5px; align-items: center; font-size: 1.6rem; color: #fff; background: #B7282E; margin-left: 2.2rem; }
.service_item_headset .btn_contact .arrow { width: 1.4rem; margin-left: 0.5rem; line-height: 0; }

@media screen and (max-width: 900px) {
    .page_nav_inq { display: none; }
    .service_contact,
    .service_item { padding-left: 0; box-sizing: border-box; }
}

@media screen and (max-width: 767px) { 
    .page_nav_inq { display: none; }
.page_nav_inq .num { font-size: 1.4rem; }
.page_nav_inq .tel { margin: 1.5rem 0; }
.page_nav_inq .link a { display: flex; align-items: center; }
.page_nav_inq .link a .txt { color: #B7282E; }
.page_nav_inq .link a .arrow { width: 1.2rem; margin-left: 1.3rem; line-height: 0; }

    .service_contact,
    .service_item { padding-left: 0; box-sizing: border-box; }

.service_contact { margin-top: 2.5rem; font-size: 1.1rem; line-height: 1.7; }
    .service_item + .service_contact { margin-top: 5.0rem; }
    .service_contact .hd { font-size: 1.6rem; font-weight: 700; margin-bottom: 3.0rem;}
    .service_contact_inner { background: #eee; padding: 1.9rem; position: relative; }
    .service_contact .read { font-size: 1.3rem; }
    .service_contact .num { font-size: 1.6rem; }
    .service_contact ._font_en { font-size: 1.4rem; }
    .service_contact .num { font-size: 2.2rem; }
    .service_contact .tel { font-size: 1.1rem; margin: 1.5rem 0 1.0rem; }
.service_contact .email { font-size: 1.6rem; }

    .service_contact .btn { margin: 2.5rem auto 0; width: 15.8rem; position: relative; right: auto; top: auto; -webkit-transform: translateY(0%); transform: translateY(0%); }
.service_contact .btn a { display: flex; justify-content: space-between; border: 1px solid #B7282E; border-radius: 50%; align-items: center; font-size: 1.4rem; color: #B7282E; margin-bottom: 1.5rem; padding: 2.0rem 3.0rem 2.0rem 2.7rem; background: #fff; }
.service_contact .btn .link_arrow { width: 1.2rem; line-height: 0; }

    .service_item { margin-top: 5.0rem; }
    .page_common_hd + .service_item { margin-top: 3.5rem; }
    .service_contact + .contact_item { margin-top: 4.5rem; }
    .service_item .hd { font-size: 1.6rem; margin-bottom: 1.5rem; }
    .service_item + .service_item { margin-top: 3.5rem; }
.service_item table { border: 1px solid #B7282E; }
.service_item table th, .service_item table td { border: 1px solid #B7282E; }
.service_item table th { font-size: 1.6rem; padding: 1.5rem 0.5rem; text-align: center; background: #EEEEEE; font-weight: 500; }
.service_item table th:last-child { width: 18.31%; }
.service_item table td { vertical-align: middle; font-size: 1.6rem; line-height: 1.6; padding: 1.0rem 2.0rem; }
.service_item table td:last-child { padding: 1.0rem; }
.service_item table td a { display: inline-block; color: #B7282E; text-decoration: underline; }
.service_item table td .point { display: inline-block; font-size: 1.3rem; line-height: 1; margin-bottom: 0.5rem; padding: 0.5rem 1.2rem; background: rgba(232, 56, 23, 0.1); border-radius: 3.0rem; }
    
    .service_item_headset { display: flex; flex-wrap: wrap; align-items: flex-end; margin-bottom: 1.5rem; }
.service_item_headset .hd { margin-bottom: 0; }
    .service_item_headset .link_contact { display: flex; align-items: center; font-size: 1.2rem; color: #B7282E; margin-left: 1.6rem; }
.service_item_headset .link_contact .arrow { width: 1.0em; margin-left: 0.3rem; line-height: 0; }
    .service_item_headset .btn_contact { display: flex; padding: 0.2rem 0.6rem; border-radius: 5px; align-items: center; font-size: 1.2rem; color: #fff; background: #B7282E; margin-left: 1.0rem; }
.service_item_headset .btn_contact .arrow { width: 1.4rem; margin-left: 0.5rem; line-height: 0; }
}

/*map*/
.service_map { padding-left: 9.27%; margin: 6.0rem 0 11.0rem; }
#map {
    height: 45.0rem;
    width: 100%;
}
#filter-controls { margin-bottom: 2.0rem; text-align: right; }

/* フィルタリングオプションの基本スタイル */
.filter-option {
    display: inline-block;
    cursor: pointer;
    font-size: 1.5rem;
    margin-left: 3.8rem;
    line-height: 1.2;
}

/* 選択中のオプションのスタイル */
.filter-option.active {
    border-bottom: 1px solid #333;
}

/* InfoWindow（吹き出し）のカスタムスタイル */
.info-window-content {
    padding: 2.7rem 1.2rem 1.0rem;
}
.info-window-content h2 {
    font-size: 1.4rem;
    font-weight: 400;
    margin: 0 0 1.0rem 0;
}
.info-window-content p {
    font-size: 1.4rem;
    margin: 0;
    line-height: 2.0;
}
.info-window-content a { color: #B7282E; font-weight: 400; text-decoration: underline; }
.gm-style .gm-style-iw-tc::after {
    background: #fff;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
    clip-path: polygon(0 0, 0% 100%, 100% 0);
    content: "";
    height: 18px;
    left: 11px;
    position: absolute;
    top: -1.5rem;
    width: 25px;
}
.gm-style .gm-style-iw-c { border-radius: 0; -webkit-transform: translate3d(-10%, -108%, 0); transform: translate3d(-10%, -108%, 0); }
.gm-style-iw-chr { display: none; }

@media screen and (max-width: 900px) { 
    .service_map { padding-left: 0; margin: 6.0rem 0 11.0rem; }
}

@media screen and (max-width: 767px) {
    .service_map { width: 115.40%; padding-left: 0; margin: 6.0rem -7.7%; }
    #map {
        height: 33.7rem;
        width: 100%;
    } 
    #filter-controls { width: 86.66%; margin: 0 auto 2.0rem; text-align: right; }
    
    .filter-option {
        display: inline-block;
        cursor: pointer;
        font-size: 1.2rem;
        margin-left: 2.8rem;
        line-height: 1.2;
    }

    /* InfoWindow（吹き出し）のカスタムスタイル */
    .info-window-content {
        padding: 2.2rem 0.7rem 0.5rem;
    }
    .info-window-content h2 {
        font-size: 1.2rem;
        font-weight: 400;
        margin: 0 0 1.0rem 0;
    }
    .info-window-content p {
        font-size: 1.2rem;
        margin: 0;
        line-height: 2.0;
    }
    
}


/*recruit*/
.recruit_head { position: relative; margin-top: -7.5rem; }
.recruit_head .line { width: 100%; height: 10.0rem; position: relative; left: 50%; z-index: -1; -webkit-transform: translateX(-50%); transform: translateX(-50%);  }
.recruit_head .line img { width: 100%; }
.recruit_head .catch { width: 5.86%; position: absolute; right: 16.51%; top: 45%; }
.recruit_head .mainph { width: 43.04%; margin: -15.5rem auto 0; }

.jog_body { margin: 6.7rem 0 0 9.27%; }
.jog_body .hd { font-size: 3.0rem; margin-bottom: 3.0rem; }
.jog_body table { width: 100%; border-top: 1px solid #B7282E; }
.jog_body table th, .jog_body table td { font-size: 1.6rem; line-height: 1.5; border-bottom: 1px solid #B7282E; padding: 2.5rem 0; }
.jog_body table th { width: 27.58%; font-weight: 500; }
.jog_body .btn a { display: block; margin-top: 2.8rem; padding: 2.5rem 0; background: #B7282E; font-size: 2.0rem; color: #fff; line-height: 1.5; font-weight: 700; text-align: center; border-radius: 0.5rem; }
.jog_body .btn a .entry { display: inline-block; position: relative; padding-right: 2.0rem; color: inherit; }
.jog_body .btn a .entry .ico { position: absolute; top: 50%; right: 0; -webkit-transform: translateY(-50%); transform: translateY(-50%); line-height: 0; }
.jog_body .btn a .notes { font-size: 1.3rem; font-weight: 500; color: inherit; }

.jog_item + .page_common_hd { margin-top: 15.0rem; }

@media screen and (max-width: 900px) { 
    .recruit_head { position: relative; height: 5rem; margin-top: -1.5rem; }
    .recruit_head .catch { width: 5.86%; position: absolute; right: 16.51%; top: 10vw; }
}

@media screen and (max-width: 767px) { 
    .recruit_head { position: relative; height: auto; margin-top: -1.5rem; }
    .recruit_head .line { width: 165.06%; min-width: auto; position: relative; left: 50%; top: 7.4rem; z-index: -1; -webkit-transform: translateX(-50%); transform: translateX(-50%);  }
.recruit_head .line img { width: 100%; }
    .recruit_head .catch { width: 6.18rem; margin: 5.0rem auto 0; position: relative; right: auto; top: auto; }
    .recruit_head .mainph { width: 89.06%; margin: -9.5rem auto 0; }


    .jog_body { margin: 4.7rem 0 0 11.38%; }
    .page_common_hd + .jog_body { margin-top: 2.7rem; }
    .jog_body .hd { font-size: 2.0rem; margin-bottom: 2.0rem; }
.jog_body table { width: 100%; border-top: 1px solid #B7282E; }
    .jog_body table th, .jog_body table td { font-size: 1.3rem; line-height: 1.5; border-bottom: 1px solid #B7282E; padding: 2.0rem 0; }
.jog_body table th { width: 27.58%; font-weight: 500; }
    .jog_body .btn a { display: block; margin-top: 2.8rem; padding: 2.0rem 0; background: #B7282E; font-size: 1.6rem; color: #fff; text-align: center; border-radius: 0.5rem; }
    .jog_body .btn a .entry .ico { width: 1.2rem; position: absolute; top: 50%; right: 0; -webkit-transform: translateY(-50%); transform: translateY(-50%); line-height: 0; }
    .jog_body .btn a .entry .ico svg { width: 100%; }
    .jog_body .btn a .notes { font-size: 1.0rem; font-weight: 500; color: inherit; }

    .jog_item + .page_common_hd { margin-top: 10.0rem; }
}

/*staff*/
.page_main._recruit { padding-left: 9.27%; box-sizing: border-box; }
.page_main._staff { margin-top: 5.8rem; padding-left: 9.27%; box-sizing: border-box; }

.recruit_item { border: 1px solid #B7282E; border-radius: 2.0rem; position: relative; }
.recruit_item + .recruit_item { margin-top: 6.5rem; }
.recruit_item_head { display: flex; justify-content: space-between; cursor: pointer; }
.recruit_item_head .chara { width: 24.03%; margin-top: -6%; }
.recruit_item_head .profile { width: 69.82%; }

.recruit_item:nth-child(2n) .recruit_item_head { flex-direction: row-reverse; }
.recruit_item:nth-child(2n) .recruit_item_head .en,
.recruit_item:nth-child(2n) .recruit_item_head .name { padding-left: 14.82%; }
.recruit_item:nth-child(2n) .recruit_item_head .detail { margin-left: 14.82%; }
.recruit_item:nth-child(2n + 1) .recruit_item_head .chara { margin-left: 2.69%; }
.recruit_item:nth-child(2n) .recruit_item_head .chara { margin-right: 2.69%; }

.recruit_item_head .en { font-size: 3.4rem; color: #B7282E; line-height: 1.0; margin-top: 3.4rem; padding-bottom: 1.2rem; border-bottom: 1px solid #B7282E; } 
/*.recruit_item_head .name { font-size: 2.0rem; font-weight: 700; padding-bottom: 1.5rem; } */
.recruit_item_head .detail { display: flex; width: 85.18%; margin: 2.5rem 0; } 
.recruit_item_head .position { width: 46.36%; padding-right: 5%; box-sizing: border-box; font-size: 1.6rem; line-height: 1.75; }
.recruit_item_head .work { width: 51.64%; }
.recruit_item_head .work_hd { font-size: 1.6rem; font-weight: 700; line-height: 1.75; }
.recruit_item_head .work_list li { margin-top: 0.5rem; padding-left: 1.5em; font-size: 1.4rem; line-height: 1.5; position: relative; }
.recruit_item_head .work_list li:before { content: "✔"; position: absolute; left: 0; }

.recruit_item_body { display: none; padding-bottom: 6.6rem; }
.recruit_item_body .main_ph { width: 79.31%; margin: 6.5rem auto 0; }
.recruit_item_body .main_ph img,
.recruit_item_body .box img { border-radius: 2.0rem; }
.recruit_item_body .hd { padding: 0 10.34%; margin-top: 6.0rem; font-size: 2.0rem; font-weight: 700; line-height: 1.5; position: relative; }
.recruit_item_body .hd:before { content: ""; display: block; width: 8.62%; height: 1px; background: #B7282E; position: absolute; left: 0; top: 1.5rem; }
.recruit_item_body .box { width: 65.51%; margin: 3.5rem auto 0;  }
.recruit_item_body .shd { margin-top: 4.0rem; font-size: 1.6rem; font-weight: 700; }
.recruit_item_body .timeschdule { margin-top: 2.0rem; border-top: 1px dotted #A3A3A3; }
.recruit_item_body dl { display: flex; font-size: 1.6rem; border-bottom: 1px dotted #A3A3A3; padding: 1.6rem 0; }
.recruit_item_body dt { width: 8rem; line-height: 1.6; }
.recruit_item_body dd { width: calc(100% - 8rem); line-height: 1.6; }
.recruit_item_body .box figure { margin-top: 4.4rem; }

.favorite { font-family: "Zen Kurenaido", sans-serif; }
.favorite_head { position: relative; }
.favorite_line { margin-top: 9.6rem; padding-top: 3.2rem; }
.favorite_line img { width: 100%; }
.favorite_ico { width: 7.4rem; position: absolute; left: 50%; top: 0; -webkit-transform: translateX(-50%); transform: translateX(-50%);  }
.favorite_hd { margin-top: -1%; font-size: 3.0rem; line-height: 1.0; text-align: center; }
.favorite_body { display: flex; justify-content: center; width: 73.70%; margin: 4.0rem 0 0 10.34%; }
.favorite_body .ph { width: 59.15%; }
.favorite_body .ph._v { width: 40.05%; }
.favorite_body .ph img { border: 1.0rem solid #fff; box-shadow: 3px 3px 10px 0px #00000026; }
.favorite_body .txt { width: 32.79%; margin-left: 8.18%; font-size: 1.4rem; line-height: 1.7; }

.recruit_copy { width: 3.0rem; margin: 0 auto; }
.recruit_copy img { width: 100%; }

.recruit_btn { width: 3.4rem; height: 3.4rem; border-radius: 50%; border: 1px solid #B7282E; position: absolute; right: 3.23%; bottom: 3.2rem; }
.recruit_btn:before { content: ""; display: block; width: 1.7rem; height: 1px; background: #B7282E; position: absolute; left: 50%; top: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.recruit_btn:after { content: ""; display: block; width: 1.7rem; height: 1px; background: #B7282E; position: absolute; left: 50%; top: 50%; -webkit-transform: translateX(-50%) rotate(90deg); transform: translateX(-50%) rotate(90deg); }
.recruit_item_head.open .recruit_btn:after { -webkit-transform: translateX(-50%) rotate(0); transform: translateX(-50%) rotate(0); }

@media screen and (max-width: 900px) { 
    .page_main._recruit { padding-left: 0; box-sizing: border-box; }
}

@media screen and (max-width: 767px) { 
    .page_main._recruit { padding-left: 0; box-sizing: border-box; }
    .page_main._staff { margin-top: 5.0rem; padding-left: 0; box-sizing: border-box; }

.recruit_item { border: 1px solid #B7282E; border-radius: 2.0rem; position: relative; }
.recruit_item + .recruit_item { margin-top: 6.5rem; }
    .recruit_item_head { display: flex; justify-content: space-between; flex-wrap: wrap; }
    .recruit_item_head .chara { width: 35.03%; margin-top: -6%; }
    .recruit_item_head .profile { width: 61.23%; }

.recruit_item:nth-child(2n) .recruit_item_head { flex-direction: row-reverse; }
.recruit_item:nth-child(2n) .recruit_item_head .en,
.recruit_item:nth-child(2n) .recruit_item_head .name { padding-left: 13.56%; }
.recruit_item:nth-child(2n) .recruit_item_head .detail { margin-left: 13.56%; }
.recruit_item:nth-child(2n + 1) .recruit_item_head .chara { margin-left: 2.69%; }
.recruit_item:nth-child(2n) .recruit_item_head .chara { margin-right: 2.69%; }

    .recruit_item_head .en { font-size: 1.6rem; line-height: 1.0; margin-top: 3.4rem; padding-bottom: 1.2rem; border-bottom: 1px solid #B7282E; } 
    /*.recruit_item_head .name { font-size: 1.1rem; padding-bottom: 1.5rem; }*/ 
.recruit_item_head .detail { display: block; width: 91.39%; margin-top: 2.5rem; } 
    .recruit_item_head .position { width: auto; padding-right: 0; font-size: 1.3rem; line-height: 1.75; }
    .recruit_item_head .work { width: 82.78%; margin: 0 0 2.0rem 8.61%; }
    .recruit_item:nth-child(2n) .recruit_item_head .work { margin: 0 8.61% 2.0rem 0; }
    .recruit_item_head .work_hd { font-size: 1.4rem; line-height: 1.75; }
    .recruit_item_head .work_list li { margin-top: 0.5rem; padding-left: 1.5em; font-size: 1.2rem; line-height: 1.5; position: relative; }
.recruit_item_head .work_list li:before { content: "✔"; position: absolute; left: 0; }

.recruit_item_body { padding-bottom: 6.6rem; }
    .recruit_item_body .main_ph { width: 83.39%; margin: 3.0rem auto 0; }
    .recruit_item_body .hd { padding: 0 8.30%; margin-top: 4.0rem; font-size: 1.4rem; font-weight: 700; line-height: 1.5; position: relative; }
    .recruit_item_body .hd:before { content: ""; display: block; width: 6.76%; height: 1px; background: #B7282E; position: absolute; left: 0; top: 1.0rem; }
    .recruit_item_body .box { width: 83.39%; margin: 1.0rem auto 0;  }
    .recruit_item_body .shd { margin-top: 3.0rem; font-size: 1.3rem; font-weight: 700; }
.recruit_item_body .timeschdule { margin-top: 2.0rem; border-top: 1px dotted #A3A3A3; }
    .recruit_item_body dl { display: flex; font-size: 1.3rem; border-bottom: 1px dotted #A3A3A3; padding: 1.6rem 0; }
    .recruit_item_body dt { width: 5rem; line-height: 1.6; }
.recruit_item_body dd { width: calc(100% - 8rem); line-height: 1.6; }
    .recruit_item_body .box figure { margin-top: 3.0rem; }

.favorite { font-family: "Zen Kurenaido", sans-serif; }
.favorite_head { position: relative; }
    .favorite_line { margin-top: 6.0rem; padding-top: 2.0rem; }
.favorite_line img { width: 100%; }
    .favorite_ico { width: 4.0rem; position: absolute; left: 50%; top: 0; -webkit-transform: translateX(-50%); transform: translateX(-50%);  }
    .favorite_hd { margin-top: 1.0rem; font-size: 2.0rem; line-height: 1.0; text-align: center; }
    .favorite_body { display: block; justify-content: space-between; width: 73.70%; margin: 4.0rem 0 0 10.34%; }
    .favorite_body .ph { width: auto; }
    .favorite_body .ph._v { width: 66%; margin: 0 auto; }
.favorite_body .ph img { border: 0.7rem solid #fff; box-shadow: 3px 3px 10px 0px #00000026; }
    .favorite_body .txt { width: auto; margin-top: 1.5rem; font-size: 1.4rem; line-height: 1.7; }

    .recruit_copy { width: 2.0rem; margin: 0 auto; }
.recruit_copy img { width: 100%; }

.recruit_btn { width: 3.4rem; height: 3.4rem; border-radius: 50%; border: 1px solid #B7282E; position: absolute; right: 3.23%; bottom: 3.2rem; }
.recruit_btn:before { content: ""; display: block; width: 1.7rem; height: 1px; background: #B7282E; position: absolute; left: 50%; top: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.recruit_btn:after { content: ""; display: block; width: 1.7rem; height: 1px; background: #B7282E; position: absolute; left: 50%; top: 50%; -webkit-transform: translateX(-50%) rotate(90deg); transform: translateX(-50%) rotate(90deg); }
}

/*news*/
.news_head_meta { display: flex; align-items: center; }
.news_head .date { font-size: 1.2rem; }
.news_head .cat { display: inline-block; padding: 0 2.0rem; margin-left: 1.7rem; font-size: 1.3rem; background: rgba(232, 56, 23, 0.1); border-radius: 30px; }
.news_head .ttl { font-size: 3.2rem; margin-top: 0.5rem; } 
.news_body { margin-top: 5.0rem; }
.news_body > * + *  { margin-top: 2em; }

.news_body ul li { list-style-type: disc; font-size: 1.6rem; margin-left: 2rem; line-height: 1.7; }
.news_body ol li { list-style-type: decimal; font-size: 1.6rem; margin-left: 2rem; line-height: 1.7; }
.news_body li + li { margin-top: 0.5rem; }
.news_body  h2,
.news_body  h3,
.news_body  h4,
.news_body  h5,
.news_body  h6 { font-size: 2.0rem; font-weight: 700; }

.pagenate { margin-top: 9.0rem; padding-top: 2.0rem; font-size: 1.6rem; position: relative; border-top: 1px solid #B7282E; }
.news_archive_list + .pagenate { margin-top: 0; }
.pagenate .index { text-align: center; }
.pagenate .prev { position: absolute; left: 1.5rem; top: 2.0rem; }
.pagenate .prev a { display: flex; align-items: center; }
.pagenate .prev .arrow { width: 1.4rem; margin-right: 0.8rem; line-height: 0; -webkit-transform: scale(-1,1); transform: scale(-1,1); }
.pagenate .next { position: absolute; right: 1.5rem; top: 2.0rem; }
.pagenate .next a { display: flex; align-items: center; }
.pagenate .next .arrow { width: 1.4rem; margin-left: 0.8rem; line-height: 0; }

@media screen and (max-width: 767px) { 
.news_head_meta { display: flex; align-items: center; }
.news_head .date { font-size: 1.2rem; }
.news_head .cat { display: inline-block; padding: 0 2.0rem; margin-left: 1.7rem; font-size: 1.3rem; background: rgba(232, 56, 23, 0.1); border-radius: 30px; }
    .news_head .ttl { font-size: 1.6rem; margin-top: 0.5rem; } 
.news_body { margin-top: 5.0rem; }
.news_body * + *  { margin-top: 2em; }

    .news_body ul li { list-style-type: disc; font-size: 1.3rem; margin-left: 2rem; line-height: 1.7; }
    .news_body ol li { list-style-type: decimal; font-size: 1.3rem; margin-left: 2rem; line-height: 1.7; }
.news_body li + li { margin-top: 0.5rem; }
    .news_body  h2,
    .news_body  h3,
    .news_body  h4,
    .news_body  h5,
    .news_body  h6 { font-size: 1.6rem; font-weight: 700; }

    .pagenate { margin-top: 9.0rem; padding-top: 2.0rem; font-size: 1.3rem; position: relative; border-top: 1px solid #B7282E; }
.news_archive_list + .pagenate { margin-top: 0; }
.pagenate .index { text-align: center; }
    .pagenate .prev { position: absolute; left: 0; top: 2.0rem; }
.pagenate .prev a { display: flex; align-items: center; }
.pagenate .prev .arrow { width: 1.4rem; margin-right: 0.8rem; line-height: 0; -webkit-transform: scale(-1,1); transform: scale(-1,1); }
    .pagenate .next { position: absolute; right: 0; top: 2.0rem; }
.pagenate .next a { display: flex; align-items: center; }
.pagenate .next .arrow { width: 1.4rem; margin-left: 0.8rem; line-height: 0; }
}

/*contact*/
.contact_item { padding-left: 9.37%; }
.contact_item + .contact_item { margin-top: 14.0rem; }
.contact_item table th { width: 100%; }
.contact_item table { width: 100%; border-top: 1px solid #B7282E; }
.contact_item table th, .contact_item table td { font-size: 1.6rem; line-height: 1.5; border-bottom: 1px solid #B7282E; padding: 2.5rem 0; }
.contact_item table th { width: 50%; padding-right: 5%; box-sizing: border-box; font-weight: 500; }

.required { color: #B7282E; }
.form_item dt { font-size: 1.8rem; margin-top: 4.5rem; }
.form_item dd { font-size: 1.8rem; margin-top: 1.0rem; }
.form_item select,
.form_item input[type="text"],
.form_item input[type="tel"],
.form_item input[type="email"],
.form_item textarea { width: 100%; padding: 1.5rem 2.5rem; border: 1px solid #BFBFBF; box-sizing: border-box; border-radius: 0.5rem; }
.form_item textarea { height: 17.9rem; }

.privacy_txt { margin-top: 5.0rem; }
.btn_submit[type="submit"] { width: 100%; margin-top: 4.2rem; padding: 3.0rem 0; text-align: center; background: #B7282E; font-size: 2.0rem; color: #fff; border-radius: 0.5rem; }

.contact_item .fukidashi { margin-top: 2.5rem; padding: 3.5rem 4.3rem; font-size: 1.6rem; background: #F7E6E2; position: relative; }
.contact_item .fukidashi:before { content: ""; display: block; width: 0;height: 0;border-style: solid;border-right: 1.3rem solid transparent;border-left: 1.3rem solid transparent;border-bottom: 2.4rem solid #f7e6e2;border-top: 0; position: absolute; top: 0; left: 5.17%; -webkit-transform: translateY(-100%); transform: translateY(-100%); }

.hidden { display: none; }

@media screen and (max-width: 767px) { 
    .contact_item { padding-left: 0; }
    .contact_item + .contact_item { margin-top: 6.7rem; }
.contact_item table th { width: 100%; }
.contact_item table { width: 100%; border-top: 1px solid #B7282E; }
    .contact_item table th, .contact_item table td { font-size: 1.3rem; line-height: 1.5; border-bottom: 1px solid #B7282E; padding: 2.5rem 0; }
.contact_item table th { width: 50%; padding-right: 5%; box-sizing: border-box; font-weight: 500; }

.required { color: #B7282E; }
    .form_item dt { font-size: 1.5rem; margin-top: 4.0rem; }
    .form_item dd { font-size: 1.5rem; margin-top: 1.0rem; }
.form_item select,
.form_item input[type="text"],
.form_item input[type="tel"],
.form_item input[type="email"],
.form_item textarea { width: 100%; padding: 1.5rem 2.7rem; border: 1px solid #BFBFBF; box-sizing: border-box; border-radius: 0.5rem; }
.form_item textarea { height: 17.9rem; }

.privacy_txt { margin-top: 5.0rem; }
.btn_submit[type="submit"] { width: 100%; margin-top: 4.2rem; padding: 3.0rem 0; text-align: center; background: #B7282E; font-size: 2.0rem; color: #fff; border-radius: 0.5rem; }

    .contact_item .fukidashi { margin-top: 1.5rem; padding: 2.5rem 3.3rem; font-size: 1.3rem; background: #F7E6E2; position: relative; }
    .contact_item .fukidashi:before { content: ""; display: block; width: 0;height: 0;border-style: solid;border-right: 0.9rem solid transparent;border-left: 0.9rem solid transparent;border-bottom: 1.6rem solid #f7e6e2;border-top: 0; position: absolute; top: 0; left: 5.17%; -webkit-transform: translateY(-100%); transform: translateY(-100%); }
    
}

input[type="radio"] {
  position: relative;
  width: 3.2rem;
  height: 3.2rem;
  border: 1px solid #BFBFBF;
  border-radius: 50%;
  vertical-align: bottom;
    background: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  background: #000;
  content: '';
}

input[type="checkbox"] {
  position: relative;
  width: 2.3rem;
  height: 2.3rem;
  border: 1px solid #696969;
    border-radius: 3px;
    background: #fff;
  vertical-align: bottom;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 0.2rem;
  left: 0.7rem;
  transform: rotate(50deg);
  width: 0.6rem;
  height: 1.2rem;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  content: '';
}

@media screen and (max-width: 767px) { 
    input[type="radio"] {
      position: relative;
      width: 2.3rem;
      height: 2.3rem;
    }
    input[type="radio"]:checked:before {
      width: 1.1rem;
      height: 1.1rem;
    }
    
    input[type="checkbox"] {
      position: relative;
      width: 1.8rem;
      height: 1.8rem;
    }
    input[type="checkbox"]:checked:before {
      position: absolute;
      top: 0.1rem;
      left: 0.5rem;
      transform: rotate(50deg);
      width: 0.5rem;
      height: 0.9rem;
      border-right: 2px solid #000;
      border-bottom: 2px solid #000;
      content: '';
    }
}

/*form*/
.wpcf7-not-valid-tip { display: none!important; }
.formError .formErrorContent { font-size: 1.1rem!important; margin-top: 5px; }
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output { display: none!important; }

.error-message .undefinedformError { display: none!important; }
.error-message .parentFormcontact-form .formErrorContent { border-radius: 5px!important; }

.wpcf7-checkbox.acceptance .wpcf7-list-item-label { display: none!important; }

.privacy_txt .wpcf7-list-item { margin: 0 0.5rem 0 0; }
.form_item .wpcf7-list-item { margin-left: 0; }
.form_item .wpcf7-list-item + .wpcf7-list-item { margin-left: 3.0rem; }

.wpcf7-turnstile { text-align: center; margin-top: 8.0rem;}

/*privacy*/
.page_main._privacy > * { padding-left: 9.37%; }
.privacy_hd { font-size: 2.5rem; font-weight: 700; margin-bottom: 1.0rem; }
p + .privacy_hd { margin-top: 5.5rem; }
.page_main._privacy p + p { margin-top: 2em; }

@media screen and (max-width: 767px) { 
    .page_main._privacy > * { padding-left: 0; }
    .privacy_hd { font-size: 1.5rem; font-weight: 700; margin-bottom: 1.0rem; }
    p + .privacy_hd { margin-top: 3.0rem; }
.page_main._privacy p + p { margin-top: 2em; }
    
}

/*link*/
a.link_txt,
.service_item_headset .link_contact .txt { text-decoration: underline; }

@media (hover: hover) and (pointer: fine) {
    a.link_txt:hover,
    .service_item_headset .link_contact:hover .txt { text-decoration: none; }
    
    .footer_contact_link a .link_arrow img,
    .common_btn a .link_arrow img,
    .common_btn .link_arrow img,
    .common_link a .link_arrow img,
    .top_lineup_item .btn a .link_arrow img,
    .top_company_link a .link_arrow img,
    .service_item_headset .link_contact .arrow img,
    .service_item_headset .btn_contact .arrow svg { position: relative; left: 0; -webkit-transition: left 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: left 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
    .footer_contact_link a:hover .link_arrow img,
     .common_btn a:hover .link_arrow img,
     .common_btn:hover .link_arrow img,
     .common_link a:hover .link_arrow img,
    .top_lineup_item .btn a:hover .link_arrow img,
    .top_company_link a:hover .link_arrow img,
    .service_item_headset .link_contact:hover .arrow img,
    .service_item_headset .btn_contact:hover .arrow svg { left: 7px; }
    
    .acdpc_body .type_cat a:after,
    .acdpc_body .type_page a:after { -webkit-transition: right 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: right 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
    .acdpc_body .type_cat a:hover:after,
    .acdpc_body .type_page a:hover:after { right: -7px; }
    
    .top_lineup_item a.name_main:hover .txt { text-decoration: none; }
    
    .news_archive_item .ph > div img { -webkit-transition: transform 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: transform 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
    .news_archive_item:hover .ph > div img { -webkit-transform: scale(1.05); transform: scale(1.05); }
    
    .top_news_cat li a:before { -webkit-transition: background 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: background 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
    .top_news_cat li a:hover:before { background: #B7282E; }

    
}

