@charset "utf-8";

/* -----------------------------------------------------------
　common
----------------------------------------------------------- */

@media screen and (max-width: 767px){ 

  body {
    -webkit-text-size-adjust: 100%;
    font-size:1.4rem;
  }
  .pc_cont {display:none!important;} 

}

/* -----------------------------------------------------------
  template
----------------------------------------------------------- */

@media screen and (max-width: 767px){

  /* :::::::::: header :::::::::: */
  
  header {height:50px;}  
  header .logo {
    width:160px;
    top:12px;
    left:10px;
  }
  header .logo.fadein {width:90px;}
  header .menu_logo {
    width:160px;
    top:12px;
    left:10px;
  }
  header .btn_entry {
    width:100px;
    font-size:1.5rem;
    top:0;
    right:70px;
  }
  header .btn_menu {
    width:30px;
    height:16px;
    top:16px;
    right:20px;
  }
  header .btn_menu span::before ,header .btn_menu span::after {width:30px;}
  header .btn_menu span::before {box-shadow:0 7px 0 0 #245a95;}
  header .btn_menu.open span::before {
    width:20px;
    top:7px;
  }
  header .btn_menu.open span::after {
    width:20px;
    bottom:7px;
  }
  nav.open {
    height:100vh;
    overflow-y:auto;
  }
  nav .menu_box {
    height:auto;
    padding:60px 0 20px;
    overflow:hidden;
  }
  nav .menu_box section {
    padding:0 5%;
    margin:0 auto;
  }
  nav .menu_box section h2 span:nth-of-type(1) {font-size:2.4rem;}
  nav .menu_box section h2 span:nth-of-type(2) {font-size:1.7rem;}
  nav .menu_box section h2:after {bottom:0.45em;}
  nav .menu_box section ul {flex-wrap:wrap;}
  nav .menu_box section ul li {
    width:48%;
    margin:0 4% 6% 0;
  }
  nav .menu_box section ul li:nth-child(even) {margin:0 0 6%;}
  nav .menu_box section ul li:last-child {margin:0 0 6%;}
  nav .menu_box section:nth-of-type(2) ul li {
    width:100%;
    margin:0 0 6%;
  }
  nav .menu_box section ul li a p {font-size:1.4rem;}
  .header_entry > div {
    min-height:auto;
    padding:70px 0 0;
  }
  .header_entry section {
    min-height:calc(100vh - 30% - 320px);
    padding:0 5%;
    margin:0 auto 5%;
  }
  .header_entry section h2 {margin:0 0 8%;}
  .header_entry section h2 span:nth-of-type(1) {font-size:5rem;}
  .header_entry section h2 span:nth-of-type(2) {font-size:1.8rem;}
  .header_entry section > p {margin:0 auto 8%;}
  .header_entry section dl {
    display:block;
    padding:6%;
    margin:0 auto 8%;
  }
  .header_entry section dl dt {
    display:block;
    font-size:1.7rem;
    margin:0 auto 5%;
  }
  .header_entry section dl dd p {
    font-size:0;
    display:inline-block;
    width:46%;
    margin:0 1%;
  }
  .header_entry .nav_sitemap {position:static;}
  .header_entry .copyright {
    position:static;
    padding:5% 0 70px;
  }
  .nav_sitemap {padding:10% 0 5%;}
  .nav_sitemap .box ul {
    display:block;
    float:none;
    margin:0 0 10%;
  }
  .nav_sitemap .box ul li {
    display:block;
    font-size:1.2rem;
    margin:0 0 0.5em;
  }
  .nav_sitemap .box p {
    display:block;
    width:250px;
    float:none;
  }
  .copyright {
    height:auto;
    padding:5% 0;
    background:var(--color01);
  }
  .copyright p {
    line-height:1.2;
    font-size:1.1rem;
    padding:0 5%; 
  }
  .nav_entry {padding:8% 0 10%;}
  .nav_entry .box {
    display:block;
    overflow:hidden;
  }
  .nav_entry p:nth-of-type(1) {
    display:block;
    font-size:3.8rem;
    margin:0 0 1em;
  }
  .nav_entry p:nth-of-type(1) span {
    display:inline-block;
    background:var(--bg01);
    background:var(--bg02);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .nav_entry p:nth-of-type(2) {
    width:150px;
    font-size:3rem;
    float:right;
  }
  nav .nav_sitemap {padding:10% 0 70px;}
  nav .nav_sitemap .box p {width:250px;margin:0;}
  nav .nav_entry {padding:6% 0 10%;}
  nav .nav_entry p:nth-of-type(1) {font-size:3.8rem;}
  nav .nav_entry p:nth-of-type(2) {
    width:150px;
    font-size:3rem;
    margin:0;
    clear:both;
  }

  /* :::::::::: main :::::::::: */
  
  /*main {background:url("../img/common/bg_main_sp.png") top center / 18%;}*/
  main article {overflow:hidden;}
  .box {padding:0 5%;}
  .btn_common {
    width:300px;
    height:50px;
    line-height:50px;
  }
  .btn_banner a > p:nth-of-type(1) {
    height:40px;
    line-height:40px;
    font-size:1.8rem;
    padding:0 20px;
    bottom:40px;
  }
  .btn_banner a > p:nth-of-type(2) {
    height:40px;
    line-height:40px;
    font-size:1.6rem;
    padding:0 20px;
  }
  .btn_banner {margin:0 auto;}
  .btn_banner.col02,.btn_banner.col21,.btn_banner.col12,.btn_banner.col03 {
    justify-content:center;
    flex-wrap:wrap
  }
  .btn_banner li {margin:0 0 10%;}
  .btn_banner.col02 li {
    position:relative;
    width:100%;
    margin:0 0 10%;
  }
  .btn_banner.col21 li:nth-child(1) {width:100%;}
  .btn_banner.col21 li:nth-child(2) {width:100%;}
  .btn_banner.col12 li:nth-child(1) {width:100%;}
  .btn_banner.col12 li:nth-child(2) {width:100%;}
  .btn_banner.col03 li {width:100%;}
  .btn_banner li > p {font-size:1.4rem;}

  /* :::::::::: aside :::::::::: */

  .aside_nav  {display:none;}
  .aside_contact {padding:5%;}
  .aside_contact .box {
    display:block;
    padding:10% 5%;
  }
  .aside_contact .box > div {width:100%;}
  .aside_contact .box > div h2 {font-size:1.6rem;}
  .aside_contact .box > div p:nth-of-type(2) {margin:3% 0 0;}
  .aside_contact .box > div p span {
    display:block;
    font-size:2rem;
    margin:2% 0 0;
  }
  .aside_contact .box .btn_bnr {
    width:240px;
    margin:10% auto 0;
  }
  .aside_contact .box .btn_bnr a span:nth-of-type(1) {font-size:2rem;}
  .aside_contact .box .btn_bnr a span:nth-of-type(2) {font-size:1rem;}

  /* :::::::::: footer :::::::::: */
  
  footer .pagetop {
    width:90px;
    right:15px;
    bottom:50px;
  }
  footer .pagetop span {width:50px;}
} 

/* -----------------------------------------------------------
 sub_common
----------------------------------------------------------- */

@media screen and (max-width: 767px) {
  
  .kv_sub {
    min-height:180px;
    padding:50px 0 0;
    margin:0;
    background:none;
  }
  .kv_sub::before {
    position:absolute;
    display:block;
    content:"";
    width:100%;
    height:100px;
    background:var(--bg01);
    background:var(--bg02);
    top:0;
    left:0;
    right:0;
  }
  .kv_sub .kv_img {height:240px;}
  .kv_sub .box {
    position:relative;
    width:100%;
    padding:0;
    top:-5px;
    margin:0 auto 6%;
  }
  .kv_sub .kv_img + .box {
    margin:0;
    top:-30px;
  }
  .kv_sub .title01 ,.kv_sub .title02 {
    position:relative;
    left:0;
  }
  .kv_sub .title01 {
    font-size:3.6rem;
    padding:0.25em 5%;
    bottom:0;
    margin:25px 0 0;
  }
  .kv_img + .box .title01 {margin:0;}
  .kv_sub .title02 {
    font-size:2rem;
    padding:0.65em 5%;
    bottom:0;
  }
  .interview .kv_sub .kv_img + .box {margin:0 0 50px;}
  .interview .kv_sub .title02 {width:100px;}
  .kv_sub .title02 + p {bottom:0;}
  .project .kv_sub .title02 {letter-spacing:-0.175em;}
  .project.interview .kv_sub .title02 {letter-spacing:0;}
  .project .kv_sub .title02 + p {left:calc(180px + 10%);}
  .project.interview .kv_sub .title02 + p {left:100px;}
  .kv_sub .fadein .title02 + p span {
    min-width:90px;
    font-size:1.5rem;
  }
  .kv_sub .title02 + p + p {
    font-size:1.5rem;
    left:5%;
    bottom:-50px;
    height:50px;
    padding:5px 0 0;
    line-height:25px;
  }
  .kv_sub + .box {padding:0 5% 10%;}
  .kv_sub + .box > p {font-size:1.5rem;}
  .head_section > .box {padding:0 5% 10%;}
  .head_section > .box > h2 {
    font-size:2.4rem;
    margin:0 0 6%;
  }
  .head_section > .box > p {font-size:1.5rem;}
  .area_g {padding:12% 0;}
  .area_g .box {padding:0 2.5%;}
  .section_r,.section_l {margin:0 auto 12%;}
  .section_r::after,.section_l::after {width:20vw;}
  .section_r::after {left:100%;}
  .section_l::after {right:100%;}
  .section_r > div ,.section_l > div {padding:12% 2.5%;}
  .h2_common {margin:0 auto 8%;}
  .h2_common span:nth-of-type(1) {font-size:2.5em;}
  .h2_common span:nth-of-type(2) {font-size:1.7rem;}
  .h3_common {
    font-size:2rem;
    margin:10% auto 5%;
    padding:0 0 5px;
  }
  .h_common {
    font-size:2rem;
    padding:0.3em 1em;
    margin:0 0 5%;
  }
  .ac {
    font-size:1.5rem;
    padding:0.5em 2.5em;
    margin:8% 0 0;
  }
  .ac::before {
    width:16px;
    right:10px;
  }
  .ac.open::after {
    height:16px;
    right:17px;
  }
  .ac span::before {
    font-size:2rem;
    height:1em;
    margin:auto;
    top:0;
    bottom:0;
    left:0.5em;
  }
  .ac + div {
    margin:6% 0 10%;
    padding:0 0 0 2.5em;
  }
  .ac + div::before {
    font-size:2rem;
    top:0;
    left:0.6em;
  }
  table th {
    display:block;
    width:100%;
    padding:1em 1.5em;
    border-bottom:none;
  }
  table td {
    display:block;
    width:100%;
    padding:1em 1.5em;
    border-bottom:none;
  }
  table tr:nth-last-of-type(1) td {border-bottom:solid 1px #CCCCCC;}
  .recommend {padding:12% 0 0;}
  .anc_list li a {font-size:1.3rem;}
  .member li figure {margin:0 0 3%;}
  .member li figure p {
    width:80px;
    height:30px;
    line-height:30px;
  }
  .member li .member_year {font-size:1.1rem;}
  .member li .member_sect {font-size:1.4rem;}
  .member li .member_catch {
    font-size:1.7rem;
    margin:0 0 6%;
  }
  .member li .member_name {font-size:1.7rem;}
  .member li .btn_common {
    height:40px;
    line-height:40px;
    margin:6% auto 0;
  }
  .member li .btn_common a {font-size:1.6rem;}
  .i_box .box {display:block;}
  .i_box .text_area {width:100%;}
  .i_box .img_area {display:none;}
}

/* -----------------------------------------------------------
 PAGE
----------------------------------------------------------- */

@media screen and (max-width: 767px) {
  
  /**project**/

  .project .head_section section {margin:10% auto 0;}
  .project .head_section section h3 {font-size:2rem;}
  .project .head_section section .member {overflow:hidden;}
  .project .head_section section .member li {
    display:inline-block;
    width:45%;
    margin:0 10% 10% 0;
    float:left;
  }
  .project .head_section section .member li:nth-child(odd) {clear:both;}
  .project .head_section section .member li:nth-child(even) {margin:0 0 8%;}
  .i_box.area_g .box {padding:0% 5%;}
  .iv h2 {
    font-size:1.6rem;
    padding:0.75em;
    margin:0 0 6%;
  }
  .iv h2::after {width:100vw;}
  .iv .catch {
    font-size:2rem;
    margin:0 0 6%;
  }
  .iv p {
    font-size:1.5rem;
    margin:0 0 8%;
  }
  .iv p:nth-last-of-type(1) {margin:0 0 8%;} 
  .iv p + img {
    display:block;
    width:100%;
    margin:0 auto 12%;
  }
  .iv:nth-last-of-type(1)  p + img {margin:0;} 
  .pj_slider {
    margin:12% 0 0;
    background:none;
    padding:0;
  }
  .pj_slider ul .slick-arrow {
    width:34px;
    height:34px;
    top:40%;
  }
  .pj_slider ul .slick-prev {left:-17px;}
  .pj_slider ul .slick-next {right:-17px;}

  /**business**/

  .business .head_section p {margin:0 auto 10%;}
  .business .head_section .anc_list li {
    width:46%;
    margin:0 7% 6% 0;
  }
  .business .head_section .anc_list li:nth-child(even) {margin:0 0 6%;}
  .job_sect {padding:15px 0 0;}
  .job_sect h2 span {
    height:40px;
    line-height:40px;
  }
  .job_sect h2 span:nth-of-type(1) {font-size:2rem;}
  .job_sect h2 span:nth-of-type(2) {font-size:1.7rem;}
  .job_sect figure {margin:0 auto 5% }
  .job_sect > p {
    font-size:1.5rem;
    margin:0 0 8%;
  }
  .job_sect h3 {
    font-size:1.7rem;
    margin:6% auto 5%;
    padding:0 0 5px;
    }
  .job_sect .member {
    margin:0 auto 10%;
  }
  .job_sect .member li {
    display:inline-block;
    width:45%;
    margin:0 10% 10% 0;
    float:left;
  }
  .job_sect .member li:nth-child(odd) {clear:both;}
  .job_sect .member li:nth-child(even) {margin:0 0 10%;}
  .job_sect .member li .btn_common a {font-size:1.6rem;}

  /**works**/

  .works_list .box {padding:0 5%;}
  .works_list ul {display:block;}
  .works_list ul li {
    width:100%;
    margin:0 auto 8%;
    padding:3% 3% 6%;
  }
  .works_list ul li:nth-child(3n) {margin:0 0 8%;}
  .works_list ul li figure {margin:0 0 5%;}
  .works_list ul li figure .result_cat span {
    min-width:100px;
  }
  .works_list ul li > dl {padding:0 5%;}
  .works_list ul li > dl > dt {
    font-size:1.7rem;
    margin:3% 0 0;
  }

  /** interview **/

  .interview_list .box {padding:0 5%;}
  .interview_list .member {display:block;}
  .interview_list .member li {
    width:100%;
    margin:0 0 10%;
    padding:0 0 10%;
  }
  .interview_list .member li:nth-child(odd)::before {display:none;}
  .interview_list .member li .member_name {font-size:1.7rem;}
  .interview_list .member li .member_sect {font-size:1.4rem;}
  .interview_list .member li .member_year {font-size:1.1rem;}
  .interview_list .member li .btn_common {
    position:absolute;
    width:150px;
    height:40px;
    bottom:8%;
  }
  .interview_list .member li .btn_common a {font-size:1.6rem;}
  .interview .head_section > .box {padding:0 5%;}
  .interview .pv {
    padding:64% 0 0;
    margin:0 auto 12%;
  }
  .mes_innner {
    padding:8px;
    margin:0 auto 12%;
  }
  .mes_innner h2 {
    width:200px;
    height:40px;
    line-height:40px;
    font-size:1.7rem;
    top:-20px;
    left:-10px;
  }
  .mes_innner > div {padding:15% 5% 10%;}
  .mes_innner > div dl dt {
    width:100px;
    margin:0 auto 5%;
  }
  .mes_innner > div dl dd:nth-of-type(1) {font-size:2.7rem;}
  .schedule {padding:10% 0;}
  .sc_box {
    display:block;
    width:100%;
    margin:0 auto;
  }
  .sc_box dl {
    width:100%;
    font-size:1.5rem;
  }
  .sc_box dl:nth-of-type(1) {margin:0 auto 8%;}
  .sc_box dl dt {
    width:70px;
    padding:0.65em 30px 0 0;
  }
  .sc_box dl dt::before {left:60px;}
  .sc_box dl dt::after {left:53px;}
  .sc_box dl dd {
    width:calc(100% - 80px);
    margin:0 0 3%;
  }
  .sc_box > div {
    display:block;
    width:100%;
    padding:8% 5%;
  }
  .others {padding:12% 0;}
  .others .member li {
    width:45vw;
    margin:0 2.5vw;
  }
  .others .member .slick-arrow {
    width:36px;
    height:36px;
    top:32%;
  }
  .others .member .slick-prev {left:-3%;}
  .others .member .slick-next {right:-3%;}

  /** company **/

  .field_section .area_g {padding:70px 0 1px;}
  .field_section .section_r > div, .field_section .section_l > div {
    padding:60px 2.5% 0;
    margin:0 auto 70px;
    overflow:hidden;
  }
  .field_section section section {
    width:100%;
    margin:0 auto 8%;
    float:none;
  }
  .field_section section section:nth-of-type(even) {margin:0 auto 8%;}
  .field_section h2 {margin:0 auto 5%;}
  .field_section h2 span:nth-of-type(1) {
    height:60px;
    line-height:60px;
    font-size:3.2rem;
    margin:0 auto 3%;
  }
  .field_section h2 span:nth-of-type(2) {font-size:1.6rem;}
  .field_section h2 + p {
    font-size:1.5rem;
    margin:0 auto 8%;
  }
  .field_section h3 {top:-35px;width:100%;}
  .field_section h3 span:nth-of-type(1) {
    height:35px;
    line-height:35px;
    font-size:2rem;
    padding:0 5% 0 5%;
  }
  .field_section h3 span:nth-of-type(2) {
    height:30px;
    line-height:30px;
    font-size:1.7rem;
    padding:0 5%;
  }
  .field_section h4 {
    font-size:2rem;
    padding:0 0 8px;
    margin:0 auto 3%;
  }
  .field_section:nth-of-type(1) h4 + p {
    width:100%;
    float:none;
    margin:0 0 4%;
  }
  .field_section:nth-of-type(1) figure.right {
    width:100%;
    float:none;
    margin:0 auto 8%;
  }
  .field_section figure {margin:0 auto 8%;}  
  .field_section .total_section {margin:0 auto 12%;}
  .field_section .total_section > div {margin:0 auto;}
  .total_section p {margin:0 auto 8%;}
  .total_section figure {margin:0 auto 0%;}
  .total_section figure img {width:100%;}
  .total_box > div {
    width:100%;
    margin:0 auto 10%;
    float:none;
  }
  .total_box > div:nth-of-type(even) {margin:0 auto 10%;}
  .total_box > div figure {margin:0 auto 3%;}
  .total_box > div dl dt {
    font-size:1.8rem;
    margin:0 0 3%;
  }
  .total_box > div dl dd {margin:0 auto 5%;}
  .total_box > div dl dd ul li {
    width:100px;
    height:40px;
    line-height:40px;
    font-size:1.6rem;
  }
  .field_section:nth-of-type(2) > .box {padding-top:60px;}
  .field_section:nth-of-type(2) .section_r > div {
    display:block;
    padding:60px 2.5% 0;
  }
  .field_section:nth-of-type(2) .section_r:nth-last-of-type(1)  {margin-bottom:12%;}
  .field_section:nth-of-type(1) .section_l > div {padding-bottom:10%;}
  .field_section:nth-of-type(2) .section_l > div {padding-bottom:10%;}
  .field_section:nth-of-type(2) .section_l > div figure {margin:0;}
  .field_section:nth-of-type(2) .section_r > div {overflow:visible;}
  .field_section:nth-of-type(2) .section_r > div div {width:100%;}
  .field_section:nth-of-type(2) .section_r > div figure {
    position:relative;
    width:103%;
    margin:0;
    left:2.5%;
  }
  .field_section:nth-of-type(2) .section_r > div figure img {width:100%;}
  .field_section:nth-of-type(2) .section_r > div div {
    display:block;
    padding:0 2.5%;
    margin:0 auto 5%;
  }

  /** office **/

  .office_list .box {padding:0 5%;}
  .office_list .box > div figure {
    width:100%;
    margin:0;
  }
  .office_list .box > div:nth-of-type(even) figure {
    width:100%;
    margin:0;
  }
  .office_list .box > div dl {
    position:static;
    width:100%;
    padding:5%;
    margin:0 auto 8%;
  }
  .office_list .box > div dl dt {
    font-size:1.6rem;
    margin:0 0 2%;
  }
  .office_list .box > div dl dt > span {
    font-size:2.8rem;
    margin:0 0 3%;
  }
  .office_list .box > div dl dd {font-size:1.5rem;}
  .office .gallery {padding:10% 0 0;}
  .office .gallery ul li {
    width:47%;
    margin:0 6% 6% 0;
  }
  .office .gallery ul li:nth-child(3n) {margin:0 6% 6% 0;}
  .office .gallery ul li:nth-child(even) {margin:0 0 6%;}
  .office .gallery ul li p {font-size:1.7rem;}
  .office .gallery ul li span {font-size:1.3rem;}
  .gallery_modal > div {padding:20% 10%;}
  .gallery_modal > div ul li dl {
    padding:5%;
    margin:0 0 8%;
  }
  .gallery_modal > div ul li dl dt {
    font-size:1.7rem;
    margin:0 0 3%;
  }
  .gallery_modal > div ul .slick-arrow {
    width:36px;
    height:36px;
  }
  .gallery_modal > div ul .slick-prev {left:-18px;}
  .gallery_modal > div ul .slick-next {right:-18px;}

  /** faq **/

  .faq h1::before {left:120%;}
  .faq .anc_list {margin:10% 0 0;}
  .faq .anc_list li {
    display:block;
    width:180px;
    height:40px;
    line-height:40px;
    margin:0 0 5%;
  }
  .faq .anc_list li a {font-size:1.6rem;}
  .fiximg {
    top:-4vw;
    right:0;
  }
  .faq section:nth-of-type(1) .fiximg {
    width:35.6vw;
    height:34vw;
    top:-8vw;
  }
  .faq section:nth-of-type(2) .fiximg {
    width:33vw;
    height:32.2vw;
    top:-8vw;
    right:15px;
  }
  .faq section:nth-of-type(3) .fiximg {
    width:32.6vw;
    height:23.7vw;
    top:1vw;
    right:9px;
  }

  /** education **/

  .education .anc_list {
    margin:10% 0 0;
    overflow:hidden;
  }
  .education .anc_list li {
    display:block;
    width:48%;
    height:50px;
    margin:0 4% 5% 0;
    float:left;
  }
  .education .anc_list li:nth-child(even) {margin:0 0 5%;}
  .education .anc_list li a {font-size:1.6rem;}
  .education section:nth-of-type(1) .fiximg {
    width:31.8vw;
    height:21.7vw;
    top:2vw;
    right:8%;
  }
  .education section:nth-of-type(2) .fiximg {
    width:48vw;
    height:42vw;
    top:-12vw;
    right:-1%;
  }
  .education section > div > dl{
    display:block;
    margin:0 0 10%;
  }
  .education section > div > dl > dt {
    width:100%;
    height:40px;
    font-size:1.7rem;
    line-height:40px;
    writing-mode:inherit;
    margin:0 auto 3%;
  }
  .education section > div > dl:nth-of-type(1) > dt::after {display:none;}
  .education section > div > dl > dd {width:100%;}
  .education section > div > dl > dd > dl {margin:0 0 30px;}
  .education section > div > dl > dd > dl > dt {
    width:40%;
    font-size:1.4rem;
  }
  .education section > div > dl > dd > dl > dt span {font-size:1.8rem;}
  .education section > div > dl > dd > dl > dd {
    width:60%;
    padding:1em;
  }
  .education section > div > dl > dd > .point dt {width:40%;}
  .education section > div > dl > dd > .point > dd {width:60%;}
  .education #anc01 + section > div > dl:nth-of-type(2) > dd > dl > dt span:nth-of-type(2) {
    font-size:1.4rem;
    margin:5px 0 0;
  }
  .education section > div .follow_up {margin:10% 0 0;}
  .education section > div .follow_up p {padding:1em;}
  .education .education_detail > div > section {margin:0 auto 12%;}
  .education .education_detail > div > section:nth-last-of-type(1) {margin: 0 auto;}

  /** career **/

  .career .fiximg {
    width:24vw;
    height:27.7vw;
    top:-5vw;
  }
  .career .tab_menu li {
    width:160px;
    height:40px;
    line-height:40px;
    font-size:1.6rem;
    margin:0 10px 0 0;
  }
  .career .tab_menu li::after {
    border-left:solid 25px var(--color01);
    border-top:solid 40px transparent;
  }
  .career .tab_menu li.job07::after {border-left:solid 30px var(--color04);;}
  .career .tab_content p:nth-of-type(1) {
    width:100%;
    font-size:2.4rem;
    margin:0 0 30px;
  }
  .career .tab_content p:nth-of-type(1)::after {
    border-top:solid 10px var(--color01);
    border-left:solid 15px transparent;
    border-right:solid 15px transparent;
  }
  .career .tab_content dl {
    position:relative;
    display:block;
    margin:0 0 30px;
  } 
  .career .tab_content dl dt {
    display:block;
    width:100%;
    font-size:2rem;
    text-align:center;
    border-right:none;
    border-bottom:solid 2px var(--color01);
  }
  .career .tab_content dl dt::after {display:none;}
  .career .tab_content dl::after {
    position:absolute;
    display:block;
    content:"";
    width:0;
    height:0;
    margin:auto;
    left:0;
    right:0;
    top:100%;
    border-top:solid 10px var(--color01);
    border-left:solid 15px transparent;
    border-right:solid 15px transparent;
  }
  .career .tab_content dl dd {
    width:100%;
    padding:1em;
  }
  .career .tab_content dl + p {
    width:100%;
    font-size:2rem;
    margin:0 0 50px;
  }
  .career .tab_content dl + p::before ,
  .career .tab_content dl + p::after ,
  .career .tab_content dl + p span::before {
    border-top:solid 10px var(--color01);
    border-left:solid 15px transparent;
    border-right:solid 15px transparent;
  }
  .career .tab_content dl + p::after {top:calc(100% + 20px);}
  .career .tab_content dl + p span::before  {top:calc(100% + 40px);}
  .career .tab_content:nth-of-type(2) p:nth-of-type(1)::after {border-top:solid 10px var(--color04);}
  .career .tab_content:nth-of-type(2) dl dt {
    border-right:none;
    border-bottom:solid 2px var(--color04);
  }
  .career .tab_content:nth-of-type(2) dl::after {border-top:solid 10px var(--color04);}
  .career .tab_content:nth-of-type(2) dl + p::before ,
  .career .tab_content:nth-of-type(2) dl + p::after ,
  .career .tab_content:nth-of-type(2) dl + p span::before {border-top:solid 10px var(--color04);}

  /** description **/

  .rec_flow {display:block;}
  .rec_flow li {
    display:block;
    width:100%;
    height:40px;
    font-size:1.7rem;
    line-height:40px;
    padding:0;
    margin:0 auto 20px;
    writing-mode:inherit;
    text-align:center;
  }
  .rec_flow li::after {
    border-top:solid 10px #E0E9F3;
    border-left:solid 15px transparent;
    border-right:solid 15px transparent;
    margin:auto;
    left:0;
    right:0;
    top:100%;
    bottom:auto;
  }
  .rec_flow + p {font-size: 1.4rem;}
}
  
/* -----------------------------------------------------------
 static
----------------------------------------------------------- */

@media screen and (max-width: 767px) {
  
  /** KV **/

  .kv {
    height:100svh;
    background:var(--bg01);
    background:var(--bg03);
  }
  .kv .kv_first {
    top:10svh;
    left:5%;
  }
  .kv .kv_first h2 {font-size:9.6vw;}
  .kv .kv_first p {font-size:2.4vw;}
  .kv .kv_second {
    text-align:center;
    padding:1.3em;
    left:5%;
    right:5%;
    top:auto;
    bottom:3%;
  }
  .kv .kv_second p {
    display:inline-block;
    text-align:left;
    font-size:3.8vw;
  }
  .kv .kv_img ul {
    width:120vw;
    height:77vw;
    left:-50vw;
    right:-50vw;
  }
  .kv .kv_img ul li {
    width:7.5vw;
    height:18.5vw;
  }
  .kv .kv_img ul li p {
    width:10em;
    font-size:2.4vw;
  }
  .kv .kv_img img:nth-of-type(1) {
    width:120vw;
    max-width:none;
    top:10vh;
    bottom:0;
    left:-50vw;
    right:-50vw;
  }
  .kv .kv_img img:nth-of-type(2) {
    width:120vw;
    top:50vh;
    bottom:0;
    right:0;
    left:0;
  }
  .kv .kv_img img:nth-of-type(3) {width:30vw;}
  .kv .kv_img img:nth-of-type(4) {width:3vw;}

  /** header_business **/

  .header_business section {
    width:100%;
    padding:70px 5%;
    margin:0 auto 10%;
  }
  .header_business section h2 {margin:0 0 8%;}
  .header_business section h2 span:nth-of-type(1) {
    font-size:5rem;
    line-height:1;
    margin:0 0 2%;
  }
  .header_business section h2 span:nth-of-type(2) {font-size:1.8rem;}
  .header_business section div > dl {
    padding:5%;
    margin:0 auto 6%;
  }
  .header_business section div > dl dt {
    display:block;
    width:100%;
    font-size:1.4rem;
    padding:0 0 3%;
    margin:0 0 3%;
    border-right:none;
    border-bottom:solid 1px var(--color01);
  }
  .header_business section div > dl dt span {font-size:1.7rem;}
  .header_business section div > dl dd {
    display:block;
    width:100%;
    font-size:1.4rem;
    padding:0;
  }
  .header_business section div > ul {
    width:84%;
    margin:0 auto 8%;
  }
  .header_business section div > ul .slick-slide {display:block;}
  .header_business section div > ul .slick-arrow {
    width:36px;
    height:36px;
  }
  .header_business section div > ul .slick-prev {left:-18px;}
  .header_business section div > ul .slick-next {right:-18px;}
  .header_business section div > ul .slick-slide > figure {
    width:100%;
    padding:66.6% 0 0;
  }
  .header_business section div > ul .slick-slide > dl {
    width:100%;
    padding:5%;
    overflow:hidden;
  }
  .header_business section div > ul .slick-slide > dl > dt {
    font-size:1.7rem;
    margin:0 0 0.5em;
  }
  .header_business section div > ul .slick-slide > dl > dd {font-size:1.3rem;}
  .header_business section div > ul .slick-slide > dl > dd dt {
    width:6em;
    line-height:1.5;
  }
  .header_business section div > ul .slick-slide > dl > dd dd {
    width:calc(100% - 6em);
    line-height:1.5;
    margin:0 0 0.25em;
  }
  .header_business section .btn_common {margin:8% auto 12%;}
  
  
  /** home - main **/

  .home > article > section {padding:10% 0 0;}
  .home > article > section h2 {
    text-align:center;
    margin:0 auto 8%;
  }
  .home > article > section h2 > span:nth-of-type(1) {
    font-size:4rem;
    line-height:1;
    margin:0 auto 3%;
  }
  .home > article > section h2 > span:nth-of-type(2) {font-size:1.8rem;}
  
  /** home_news **/
  
  .home_news {
    height:auto;
  }
  .home_news section {
    width:100%;
    height:auto;
    padding:0;
  }
  .home_news section h2 {
    width:100%;
    height:50px;
    line-height:50px;
    padding:0 5%;
    font-size:2rem;
    float:none;
  }
  .home_news section .news_slider {
    width:100%;
    height:auto;
    padding:0 10%;
    float:none;
  }
  .home_news section .news_slider li {
    width:100%;
    height:auto;
    padding:0.75em 0;
    line-height:1.5;
  }
  .home_news section .news_slider.slick-initialized li {display:-webkit-box;} 
  .home_news section .news_slider li span {display:block;}
  .home_news section .news_slider li span span:nth-of-type(1) ,
  .home_news section .news_slider li span span:nth-of-type(2) {
    width:100%;
  }
  .home_news section .news_slider .slick-arrow {
    width:10vw;
    height:100%;
  }
  .home_news section .news_slider .slick-prev {background:url("../img/common/ar_l.png") no-repeat center left 40% / 12px;right:auto;left:0;}
  .home_news section .news_slider .slick-next {background:url("../img/common/ar_r.png") no-repeat center right 40% / 12px;left:auto;right:0;}
  .home_news section .news_slider .slick-prev:hover {background:url("../img/common/ar_l.png") no-repeat center left 40% / 12px;}
  .home_news section .news_slider .slick-next:hover {background:url("../img/common/ar_r.png") no-repeat center right 40% / 12px;}
  .home_news section .news_slider .slick-prev:focus {background:url("../img/common/ar_l.png") no-repeat center left 40% / 12px;}
  .home_news section .news_slider .slick-next:focus {background:url("../img/common/ar_r.png") no-repeat center right 40% / 12px;}
  .home_news section .news_slider .slick-prev:focus:hover {background:url("../img/common/ar_l.png") no-repeat center left 40% / 12px;}
  .home_news section .news_slider .slick-next:focus:hover {background:url("../img/common/ar_r.png") no-repeat center right 40% / 12px;}
  .home_news section .news_slider .slick-prev::after {content:none;}

  /** home_job **/

  .home > article > .home_job {padding:10% 0;}
  .home > article > .home_job h2 > span:nth-of-type(1) {font-size:8rem;}
  .home > article > .home_job h2 > span:nth-of-type(1) span::before {
    width:180px;
    height:130px;
    left:1.4em;
    top:6px;
  }
  .home_job > .box > .paraimg {left:0;}
  .home > article > .home_job .btn_banner {margin:0 auto;}
  .home > article > .home_job .btn_banner li {margin:0 0 10%;}
  .home_case > div {
    padding:10% 0 0;
    margin:10% 0 0;
  }
  .home_case > div .paraimg {
    width:40%;
    padding:32% 0 0;
    top:20%;
    right:-5%;
}
  .home_case > div::after {
    position:absolute;
    display:block;
    content:"";
    width:100%;
    height:10px;
    background:var(--bg01);
    background:var(--bg02);
    left:0%;
    top:0;
  } 
  .home_case > div h3 {
    position:static;
    padding:0;
    margin:0 0 6%;
  }
  .home_case > div h3 > span:nth-of-type(1) {
    height:40px;
    line-height:40px;
    font-size:1.8rem;
    padding:0 20px;
  }
  .home_case > div h3 > span:nth-of-type(2) {
    height:40px;
    line-height:40px;
    font-size:1.6rem;
    padding:0 20px;
  }
  .home_case > div .case_slider {
    width:90%;
    margin:0 auto 10%;
  }
  .home_case > div .case_slider .slick-list {padding:0;}
  .home_case > div .case_slider li figure {
    width:100%;
    padding:100% 0 0;
    float:none;
    margin:0 auto 6%;
  }
  .home_case > div .case_slider li div {
    width:100%;
    padding:0;
    float:none;
  }
  .home_case > div .case_slider li div::after {display:none;} 
  .home_case > div .case_slider li div .case_cat {
    height:30px;
    line-height:30px;
    margin:0 5px 8% 0;
    padding:0 1em;
    font-size:1.4rem;
  }
  .home_case > div .case_slider li div .case_title {font-size:1.7rem;}
  .home_case > div .case_slider .slick-arrow {
    position:absolute;
    width:40px;
    height:40px;
    top:40vw;
  }  
  .home_case > div .case_slider .slick-prev {left:-20px;}
  .home_case > div .case_slider .slick-next {right:-20px;}
  .home_case .case_thumb {display:none;}
  
  /** home_about **/
  
  .home > article > .home_about {padding:10% 0 0;}
  .home_about .paraimg {right:0;}
  .home > article > .home_about h2 > span:nth-of-type(1) {font-size:7rem;}
  .home > article > .home_about h2 > span:nth-of-type(1)::before {
    width:100px;
    height:80px;
    bottom:30px;
    left:-10px;
  }
  .home > article > .home_about h2 > span:nth-of-type(1)::after {
    width:44px;
    height:94px;
    top:10px;
    right:-5px;
  }

  /** home_people **/
  
  .home > article > .home_people {
    position:relative;
    margin:10% 0 0;
    padding:12% 0 10%;
  }
  .home > article > .home_people .box {padding:0 5%;}
  .home > article > .home_people h2 > span:nth-of-type(1) {font-size:7rem;}
  .home > article > .home_people h2 > span:nth-of-type(1)::after {
    width:1.4em;
    height:1.2em;
    top:0.4em;
    right:-0.25em;
  }
  .home > article > .home_people section {
    width:100%;
    margin:0 auto 5%;
  }
  .home > article > .home_people section h3 {
    position:static;
    width:100%;
    text-align:left;
    margin:0 auto 10%;
  }
  .home > article > .home_people section h3 > span:nth-of-type(1) {
    height:40px;
    line-height:40px;
    font-size:1.8rem;
    padding:0 20px;
  }
  .home > article > .home_people section h3 > span:nth-of-type(2) {
    height:40px;
    line-height:40px;
    font-size:1.6rem;
    padding:0 20px;
  }
  .home > article > .home_people section ul li {margin:0 10px;}
  .home > article > .home_people section ul li .job_cat {
    width:110px;
    height:35px;
    line-height:35px;
    font-size:1.6rem;
  }
  .home > article > .home_people section ul li figure {
    width:90%;
    margin:0 auto 18%;
    float:none;
  }
  .home > article > .home_people section ul li div {
    width:100%;
    padding:0 0 0 0;
    float:none;
  }
  .home > article > .home_people section ul li div .people_catch {font-size:1.7rem;}
  .home > article > .home_people section ul li div .people_name {font-size:2.4rem;}
  .home > article > .home_people section ul li div .btn_common {
    width:300px;
    margin:10% auto 0;
  }
  .home > article > .home_people section ul .slick-arrow {
    width:40px;
    height:40px;
    top:45vw;
  }
  .home > article > .home_people section ul .slick-prev {left:12px;}
  .home > article > .home_people section ul .slick-next {right:12px;}
  .home > article > .home_people section ul .slick-dots {
    width:90%;
    margin:auto;
    top:90vw;
    bottom:auto;
    left:0;
    right:0;
  }
  .home > article > .home_people section ul .slick-dots li {
    width:16px;
    height:16px;
    margin:0 4px;
  }

  /** home_info **/

  .home_info .btn_banner li a {padding:15% 0;}
  .home_info .btn_banner li a span {font-size:1.8rem;}
  .home_info .btn_banner li:nth-child(1) a span::before {
    width:35px;
    height:46px;
  }
  .home_info .btn_banner li:nth-child(2) a span::before {
    width:54px;
    height:43px;
  }
  

  
  
  
  
  
  
  
  
  
  
  
  
  
}