/*
    Theme Name: Smart Share 2022
    Version: 1.0
*/

.cst-main-post{
  margin: 0;
}

.hs-tools-menu.hs-collapsed{display: none !important;}

/*------------------------------------*\
    MAIN
\*------------------------------------*/
/* global box-sizing */
html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -webkit-font-feature-settings: 'pkna'; /* for Android 4.4*/
    font-feature-settings: 'pkna' ;
    -webkit-transition:.25s;
    transition:.25s;
}

body {
    font-family: 'Noto Sans JP', 'Amiko', 'Helvetica Neue', YuGothic, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif,monospace;
    /*font-family: YuGothic, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;*/
    line-height:1.65;
    font-size: 1em;
    color:#000;
    background-color:#fff;
    margin:0;
    padding:0;
}
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
audio,canvas,video{display:inline-block}
*,:after,:before{box-sizing:border-box;-webkit-backface-visibility:hidden;backface-visibility:hidden;}
a:active,a:hover{outline:0; cursor: pointer;}a:focus{outline:dotted thin;}
.small,small{font-size:.75rem}
dd,dl,menu,ol,ul,li{margin:0}
ol,ul,li{padding:0;list-style-type:none;}
img{max-width: 100%;height:auto;border:0;}
table, tr, th, td{border: none;}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
button,input{line-height:normal}
button,select{text-transform:none}
button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}
a{background-color:transparent;text-decoration:none;color:inherit;-webkit-transition:.25s;transition:.25s;}
a:hover{opacity:.75}
* html li { display:inline; }  /* IE6 hack */
* html { }  /* IE6 hack  */
*:first-child+html li { display:inline; } /* IE7 hack */
*:first-child+html { overflow-y:hidden; }
/*
ul { padding:0; margin:0; white-space:nowrap; }
*/
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}

h1,h2,h3,h4,h5,h6{
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna' ;
    margin:auto;
    padding:;
}
h1{}
h2{}
h3{}
p,div{padding:0; margin:0; line-height: 1.75em;}

@media only screen and (min-width: 768px){
    html {
        scroll-behavior: smooth;
    }
}
@media only screen and (max-width: 768px){
    body {font-size: 1.25em;}
}


/*------------------------------------*\
    マージン・パディング
\*------------------------------------*/
.m_all_5{   margin: 5px;}
.m_all_10{  margin: 10px;}
.m_all_15{  margin: 15px;}
.m_all_20{  margin: 20px;}
.m_all_25{  margin: 25px;}
.m_all_30{  margin: 30px;}
.m_all_40{  margin: 40px;}
.m_all_50{  margin: 50px;}
.m_all_70{  margin: 70px;}
.m_all_100{ margin: 100px;}

.m_t_5{margin-top: 5px;}
.m_t_10{margin-top: 10px;}
.m_t_15{margin-top: 15px;}
.m_t_20{margin-top: 20px;}
.m_t_30{margin-top: 30px;}
.m_t_40{margin-top: 40px;}
.m_t_50{margin-top: 50px;}
.m_t_70{margin-top: 70px;}
.m_t_80{margin-top: 80px;}
.m_t_100{margin-top: 100px;}

.m_l_0{margin-left: 0px !important;}
.m_l_5{margin-left: 5px;}
.m_l_10{margin-left: 10px;}
.m_l_15{margin-left: 15px;}
.m_l_20{margin-left: 20px;}
.m_l_30{margin-left: 30px;}
.m_l_40{margin-left: 40px;}
.m_l_50{margin-left: 50px;}
.m_l_70{margin-left: 70px;}
.m_l_80{margin-left: 80px;}

.m_r_5{margin-right: 5px;}
.m_r_10{margin-right: 10px;}
.m_r_15{margin-right: 15px;}
.m_r_20{margin-right: 20px;}
.m_r_30{margin-right: 30px;}
.m_r_40{margin-right: 40px;}
.m_r_50{margin-right: 50px;}
.m_r_70{margin-right: 70px;}
.m_r_80{margin-right: 80px;}

.m_b_0{margin-bottom: 0px !important;}
.m_b_5{margin-bottom: 5px;}
.m_b_10{margin-bottom: 10px;}
.m_b_15{margin-bottom: 15px;}
.m_b_20{margin-bottom: 20px;}
.m_b_30{margin-bottom: 30px;}
.m_b_40{margin-bottom: 40px;}
.m_b_50{margin-bottom: 50px;}
.m_b_60{margin-bottom: 60px;}
.m_b_70{margin-bottom: 70px;}
.m_b_80{margin-bottom: 80px;}


.p_all_5{   padding: 5px;}
.p_all_10{  padding: 10px;}
.p_all_15{  padding: 15px;}
.p_all_20{  padding: 20px;}
.p_all_25{  padding: 25px;}
.p_all_30{  padding: 30px;}
.p_all_40{  padding: 40px;}
.p_all_50{  padding: 50px;}
.p_all_70{  padding: 70px;}
.p_all_100{ padding: 100px;}

.p_t_5{padding-top: 5px;}
.p_t_10{padding-top: 10px;}
.p_t_15{padding-top: 15px;}
.p_t_20{padding-top: 20px;}
.p_t_30{padding-top: 30px;}
.p_t_40{padding-top: 40px;}
.p_t_50{padding-top: 50px;}
.p_t_70{padding-top: 70px;}
.p_t_80{padding-top: 80px !important;}
.p_t_90{padding-top: 90px;}
.p_t_100{padding-top: 100px;}

.p_l_5{padding-left: 5px;}
.p_l_10{padding-left: 10px;}
.p_l_15{padding-left: 15px;}
.p_l_20{padding-left: 20px;}
.p_l_30{padding-left: 30px;}
.p_l_40{padding-left: 40px;}
.p_l_50{padding-left: 50px;}
.p_l_70{padding-left: 70px;}
.p_l_80{padding-left: 80px;}
.p_l_90{padding-left: 90px;}
.p_l_100{padding-left: 100px;}

.p_r_5{padding-right: 5px;}
.p_r_10{padding-right: 10px;}
.p_r_15{padding-right: 15px;}
.p_r_20{padding-right: 20px;}
.p_r_30{padding-right: 30px;}
.p_r_40{padding-right: 40px;}
.p_r_50{padding-right: 50px;}
.p_r_70{padding-right: 70px;}
.p_r_80{padding-right: 80px;}

.p_b_0{padding-bottom: 0px !important;}
.p_b_5{padding-bottom: 5px !important;}
.p_b_10{padding-bottom: 10px;}
.p_b_15{padding-bottom: 15px;}
.p_b_20{padding-bottom: 20px;}
.p_b_30{padding-bottom: 30px;}
.p_b_40{padding-bottom: 40px;}
.p_b_50{padding-bottom: 50px;}
.p_b_70{padding-bottom: 70px;}
.p_b_80{padding-bottom: 80px;}
/*------------------------------------*\
    font-size
\*------------------------------------*/
.f_12{font-size: 12px;}
.f_13{font-size: 13px;}
.f_16{font-size: 16px;}
.f_19{font-size: 19px;}
.f_23{font-size: 23px;}
.f_27{font-size: 27px;}
.f_37{font-size: 37px;}
.f_49{font-size: 49px;}
.l-sp_25{letter-spacing: .25em;}
.l-sp_18{letter-spacing: .18em;}
.l-sp_16{letter-spacing: .16em;}
.l-sp_14{letter-spacing: .14em;}
.l-sp_12{letter-spacing: .12em;}
.l-sp_10{letter-spacing: .10em;}
.l-sp_08{letter-spacing: .08em;}
.l-sp_06{letter-spacing: .06em;}
.l-sp_04{letter-spacing: .04em;}


/*------------------------------------*\
    section
\*------------------------------------*/
.main {
    padding: 40px 0;
}
.unit{max-width: 1180px; width: 100%; margin:auto;padding:0; text-align: center; min-width: 1024px;}
/* wrapper */
.wrapper {margin:0 auto;position:relative; padding:0; max-width: 100% !important; width: 100% !important; display: block;}

section{
    max-width: none;
    width: 100%;
    min-width: none;
    padding: 90px 0;
    margin: 0;
}

.bg{position: absolute;line-height: 1;text-align: center;background-position: top center;background-repeat: repeat;background-size: auto;height: 100%;width: 100%;top: -90px;left:0;}
.centered {position: absolute;top: 50%;transform: translate(0, -50%);line-height: 1;text-align: center;width: 100%;}
.centered .main-top{max-width: 1280px;margin:0 auto;text-align: left;width: 90%;display: block;}
.centered img{margin:0 0 0 0;text-align: left;max-width: 888px;width: 90%;display: block;}

.container{padding: 80px 0 100px 0;}
.container.container_top{padding: 0;}

br.sp-br{ display: none; }


@media only screen and (max-width: 768px){
    .bg{top: 0;}
    .main {
      padding: 100px 0 20px 0;
    }
    .centered {position: absolute;top: 60%;transform: translate(0, -60%);line-height: 1;text-align: center;width: 100%;}
    .centered .main-top{max-width: 90%;margin:0 auto;text-align: left;width: 90%;display: block;}
    .centered img{margin:0 0 0 0;text-align: left;max-width: 100%;width: 100%;display: block;}
    .container {padding: 0px 0 50px 0;}
    br.sp-br{ display: block !important; }
    section{padding: 40px 0;}

}

/*------------------------------------*\
    h tag & title tag
\*------------------------------------*/

h2{font-size: 49px; color: #000; letter-spacing: .05em;}
h2.title-2{ 
    font-size: 7vw; font-weight: 700;
    /*color: #cbdee7;*/
    line-height: 1;
    word-wrap: break-word;
    margin: auto; padding: 0 0.5em;
    text-align: left; text-transform: uppercase;
    font-family: Lexend;
    letter-spacing: .05em;
    
 }
h2.title-2 span{display: none; color: #444; font-size: 16px; margin-top: 0em; letter-spacing: .1em; text-indent: 1em;}
.c-blue{color:#67accb;}
.f-bold{font-weight: bold;}

@media only screen and (max-width: 768px){
    h2.title-2{ 
        font-size: 60px;
        padding: 0 4vw;
    }
}


/*------------------------------------*\
    view-btn
\*------------------------------------*/

.view-btn{margin:50px auto;padding:0;text-align: center;display: table;}
.view-btn a,
.sec_ABOUT ul li a .view-btn{
    background-color: #fff;
    border:1px solid #67accb;
    color: #67accb !important;
    display: block;
    border-radius: 100px;
    padding: 0.6em 65px 0.4em 1em;
    font-size: 1.25em;
    position: relative;
}
.view-btn a:after,
.sec_ABOUT ul li a .view-btn:after {
    content: "\f061";
    font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 1.6rem;
    line-height: 1;
    position: absolute; top: calc(50% - 0.8rem); right: 1.8rem;
    -webkit-transition: all 0.3s; transition: all 0.3s;
}
    .sec_ABOUT ul li a .view-btn{
        display: table;
        line-height: 1;   
        position: absolute; bottom: 10%;
    }
.view-btn a:hover:after,
.sec_ABOUT ul li a:hover .view-btn:after {
  right: 0.5rem;
}

.view-btn02 {
    display: block !important;
    padding-top: 3vw;
}
.view-btn02 a {
    font-size: 14px; font-weight: 700;
    display: inline-block;
    position: relative;
    line-height: 1;
    padding: 0em 1.8em 1em;
    overflow: hidden;
}
.view-btn02 a::after {
    content: '';
    width: 100%; height: 1px;
    background: #000;
    display: block;
    position: absolute;
    bottom: 0; left: 0;
}

.view-btn02 a:hover::after {
    animation: underline 0.35s ease-in-out;
}

@keyframes underline{
    0%{
        -webkit-transform:translateX(0%);transform:translateX(0%)
    }49%{
        -webkit-transform:translateX(100%);transform:translateX(100%);visibility:hidden
    }50%{
        -webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:hidden
    }52%{
        visibility:visible
    }100%{
        -webkit-transform:translateX(0%);transform:translateX(0%)
    }
}


@media only screen and (max-width: 768px){
  .view-btn{
    margin: 20px auto;
  }
}

/*------------------------------------*\
    sub-page-wrap tags
\*------------------------------------
.title-top-img{ padding: 5.0em 0 1.6em 0;}
.title-top-img img{ width: auto; max-width: 346px;}*/
.sub-page-wrap{margin:0px auto 100px auto;width: 100%;padding:0;}
.wrap-big{width: 100%;display: block;  padding:0 80px;}
.wrap-medium{width: 100%;max-width: 1500px; padding:0 80px; margin:auto;}
.wrap-small{width: 100%;max-width: 800px;  padding:0 80px; margin:auto;}
.box{margin:0 auto 70px auto; max-width: 100%; padding:0;}
.all-center{text-align: center;}
.all-left{text-align: left;}
.all-right{text-align: right;}
.bg-white{background-color: #fff;}
.bg-blue-light{background-color: #EAF5FA;}
.bg-line{border-top: 1px solid #eee;}
@media only screen and (max-width: 768px){
    .sub-page-wrap{margin:0 auto;width: 100%;padding:0;}
    .wrap-big{width: 100%;display: block;}
    .wrap-medium{width: 100%;max-width: 100%; padding: 0vw 4.66667vw 22.4vw 4.66667vw; padding: 0 20px 50px;}
    .wrap-small{width: 100%;max-width: 100%;}
    .box{margin:auto; max-width: 100%;}
    .all-center{text-align: center;}
    .all-left{text-align: left;}
    .all-right{text-align: right;}
    .bg-white{background-color: #fff;}
    .bg-blue-light{background-color: #EAF5FA;}
    .bg-line{border-top: 1px solid #eee;}
    .title-top-img{ padding: 2.0em 0 1.6em 0;}
    .title-top-img img{ max-width: 80%; }
}

header {background: #fff;position: fixed;z-index: 3;width: 100%;left: 0;top: 0;height: 60px;}
/* sp */
@media only screen{
    html{font-size:12px;}
    .unit{max-width: 100%; width: 100%; min-width: 100%;}
}

/* pc */
@media only screen and (min-width: 900px){
    html {font-size:16px}
    footer{margin:0 auto;display: table;width: 100%;}
    .unit{min-width: 1024px;}
    header {background: #fff;position: fixed;z-index: 3;width: 100%;left: 0;top: 0;height: 80px;}
    
}

/*------------------------------------*\
    cookie
\*------------------------------------*/
.cookie-consent {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    font-size: 12px;
    color: #fff;
    background: rgba(0,0,0,.7);
    padding: 1.2em;
    box-sizing: border-box;
    z-index: 100;
    visibility: hidden;
  }
  .cookie-consent.is-show {
    visibility: visible;
  }
  .cookie-consent a {
    color: #fff !important;
  }
  .cookie-agree {
    color: #fff;
    background: #67accb;
    padding: .5em 1.5em;
    border-radius: 100px;
  }
  .cookie-agree:hover {
    cursor: pointer;
  }
  /* パッと消える */
  .cc-hide1 {
    display: none;
  }
  /* ゆっくり消える */
  .cc-hide2 {
    animation: hide 1s linear 0s;
    animation-fill-mode: forwards;
  }
  @keyframes hide {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
      visibility: hidden;
    }
  }

  @media only screen and (max-width: 768px){
    .cookie-consent {
      flex-direction: column;
    }
    .cookie-text {
      margin-bottom: 1em;
    }
  }
  
  /*------------------------------------*\
    header
\*------------------------------------*/
#fixed-header {position:fixed;top:0px;left:0;right:0;width:100%;height:80px;z-index:9999; border-bottom: 0;transition: .5s; border-bottom: 1px solid #eee;}
.logo{display: inline-table;float: left;}
.logo img{ margin:26px 0 0 30px; width: 200px !important;}

#fixed-header.is-show {
  top: 0;
}

@media only screen and (max-width: 768px){
    #fixed-header{height:55px;}
    .logo{display: inline-table;float: left;}
    .logo img{margin:1em 0 0 20px; max-width: 145px !important;}
}

/*------------------------------------*\
    NAV
\*------------------------------------*/
.nav-mobile-button{display: none;}
.nav{margin-right: 30px; display: table; float: right;}
@media (min-width:768px) {
    div.nav-menu {display: block;float:right;font-size: 16px;}
    div.nav-menu li {font-size: 16px;display: inline-table;margin:0;padding:0;-webkit-transition: all ease 0.8s;-moz-transition: all ease 0.8s;transition: all ease 0.8s;cursor: pointer;font-size:16px;font-weight: bold;float: left;line-height: 1.0;height: 80px;}

    div.nav-menu li a {
        font-size: 14px;line-height: 4.96em;
        padding: 0.35em 1.5em;
        /*background-color: #fff;
        background-image: none;
        border-bottom: 0px solid #EAEAEA;*/
        display: block; width: 100%;
        letter-spacing: .20em;
    }
    
    div.nav-menu li.nav-dropdown > a{
        pointer-events: none;
    }
    div.nav-menu li a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    }
    div.nav-menu li a::after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #67accb;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
    }
    div.nav-menu li a:hover::after {
    transform: scale(1, 1);
    }
    div.nav-menu li.{
        
        top: -3px;
    }
    div.nav-menu li a.active_menu{
        border-top:3px solid #67accb;
        line-height: 4.6;
    }
    div.nav-menu li a.active_menu::after{ background:none; }

    div.nav-menu li.hs-item-has-children ul.hs-menu-children-wrapper {
        display:none;position:absolute;background: rgba(255,255,255,.95);
        margin:0;padding:0;height: auto;
        line-height: 1;
        max-width:186px;
        animation: fadeIn 0.8s;
        z-index: 999;font-size: 14px; 
        font-weight: normal;
        overflow: hidden;
        border: 1px solid #fff;
    }
    div.nav-menu li.hs-item-has-children ul.hs-menu-children-wrapper li a {
        position: relative;
        display: block;
        width: 186px;
        background-color: #67accb;
        margin:0;
        padding:20px 10px 20px 35px;
        height: auto;line-height: 1;
        color: #fff;
        -webkit-transition: all ease 0.8s;
        -moz-transition: all ease 0.8s;
        transition: all ease 0.8s;
        background-image: url(./img/icons/conner-white.png);
        background-position: 20px center;
        background-repeat: no-repeat;
        background-size: 7px;
        font-size: 14px; 
        font-weight: normal; 
        letter-spacing: 0;
    }
    div.nav-menu li.hs-item-has-children ul.hs-menu-children-wrapper li a .fas{
        font-size: 80%;
        margin-left: 0.5em;
    }


    div.nav-menu li.hs-item-has-children ul.hs-menu-children-wrapper li a::after{
        position: absolute;
        top: auto !important;
        bottom: 0 !important;
        left: 0;
        content: '';
        width: 100%;
        height: 1px;
        background: #fff;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: transform .3s;
        
    }
    div.nav-menu li.hs-item-has-children ul.hs-menu-children-wrapper li a:hover{
        position: relative;
        background-position: 25px center;
        padding-left:45px;
    }

    div.nav-menu li.hs-item-has-children ul.hs-menu-children-wrapper li a:hover::after {
        transform: scale(1, 1);
    }
}

div.nav-menu li.hs-item-has-children.active-dropdown ul.hs-menu-children-wrapper {display:block !important;}
div.nav-menu li.hs-item-has-children:hover > a + ul.hs-menu-children-wrapper {display:block;}
div.nav-menu li.hs-item-has-children ul.hs-menu-children-wrapper li {display:block; margin:0; padding:0;height: auto;}




@media (max-width:768px) {
    div.nav-menu li a.active_menu{border-top:0 solid #67accb;line-height: 3.2em;}
    div.nav-menu li a.active_menu::after{ background:none; }
    .nav p.contact{float: none;}
    .nav li p.contact{position: relative;display: inline-table;padding: 0;margin: 30px auto;text-align: center;display: block;background-image:none; width: 100%; display: block;}
    .nav p.contact a{background-color: #E85E5E;color: #fff;width: 80%;height: auto;padding:0;margin:0 auto;text-align: center;line-height: 3.0;background-image:none;}
    .nav li p.fb{position: relative;display: inline-table;padding: 0;margin: 0 auto;text-align: center;display: block;background-image:none;}
    .nav p.fb a{border-bottom: 0;background-image:none;padding-left: 0;}
    .nav p.fb img{width: auto; max-width: 30px;}
    .nav-mobile-button {display:inline-block;position:absolute;right:0;top:0;background:#67accb;color:#000;margin:0;padding:12.5px 15px;cursor:pointer;border: 0; z-index: 1000;}
    .nav-mobile-button .line1, .nav-mobile-button .line2, .nav-mobile-button .line3 {width: 25px;height: 2px;background-color: #fff; margin: 6px 0;transition: 0.4s;}
    div.nav-menu {display:none;margin:0;height: 0;}
    div.open-nav-menu {
        position: fixed;
        background-color: rgba(255,255,255,.6);
        width: 100%;
        right: 0;
        top: 52px;
        height:100%;
        float: none;
        display: flex;
        flex-direction: column;
        text-align: left;

        background: rgba(255,255,255,1);
        height:calc(100vh - 55px);
        position: absolute;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 50px;
    }
    .nav-mobile-button-open {position: fixed;z-index:99999;}
    .nav-mobile-button-open .line1 {-webkit-transform: rotate(-45deg) translate(-7px, 3px);transform: rotate(-45deg) translate(-7px, 3px);}
    .nav-mobile-button-open .line2 {opacity: 0;}
    .nav-mobile-button-open .line3 {-webkit-transform: rotate(45deg) translate(-8px, -5px);transform: rotate(45deg) translate(-8px, -5px);}
    /*div.nav-menu ul{width: 100%; float: right;height: 100%; display: block;position: inherit; right: 0; background-color: #fff;}*/
    div.nav-menu li {display: block;line-height: 2.5em; height: auto; width: 100%;}
    div.nav-menu li > a {font-size: 5vw;font-weight: bold; line-height: 2.8em; padding: 0 0 0 20px;display: block;border-bottom: 1px solid #EAEAEA;width: 100%;letter-spacing: .25em;}
    div.nav-menu li.hs-item-has-children ul.hs-menu-children-wrapper {width:100%;position: relative;display:none;}
    div.nav-menu li.hs-item-has-children ul.hs-menu-children-wrapper li a {display: block;color: #000;font-size: 14px;}
    div.nav-menu li.hs-item-has-children ul.hs-menu-children-wrapper li a .fas{font-size: 80%; margin-left: 0.5em;}
    /*div.nav-menu li.nav-dropdown.active-dropdown {background: #67accb; display: block;width: 100% !important; margin: :0;}
    div.nav-menu li.nav-dropdown.active-dropdown ul.hs-menu-children-wrapper {display:block !important;}*/

    div.nav-menu li.hs-item-has-children ul.hs-menu-children-wrapper li a::after{display: none !important;}
    div.nav-menu li.hs-item-has-children ul.hs-menu-children-wrapper{ float: none; width: 100%; display: block !important; max-width: none;}

    div.nav-menu li.hs-item-has-children ul.hs-menu-children-wrapper li a {display: block;background: none; margin:0;padding:1em 4em;height: auto;width: auto;line-height: 1;font-size: 3.5vw; font-weight: normal; letter-spacing: 0;}

}


/*------------------------------------*\
    index : home   main visual;
\*------------------------------------*/
.main-visual {
    width: 100%;
    position: relative;
    background-size: cover;
    background-position: center;
    min-height: 500px;
    z-index: 20;
    height: 100vh;
    justify-content: center;
    align-items: center;
    display: flex;
    overflow: hidden;
    /*background: rgb(103,170,202);
    background: radial-gradient(circle, rgba(103,170,202,1) 0%, rgba(103,170,202,1) 82%, rgba(43,125,163,1) 100%) !important;*/
}

.main-visual:after {
    content: "";
    display: inline-block;
    position: absolute;
    bottom: 30px;
    left: calc(50% - 27px);
    border-bottom: solid 5px #333;
    border-right: solid 5px #333;
    width: 54px;
    height: 54px;
    transform: rotate(45deg);
    animation: fuwafuwa 1s infinite ease-in-out .8s alternate;
}

@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(45deg);
  }
  50% {
    transform:translate(0, -7px) rotate(45deg);
  }
  100% {
    transform:translate(0, 0) rotate(45deg);
  }
}

/*.main-visual h1 {
    font-size: 6.5vw;
    margin-bottom: 1.15rem;
    line-height: 1.3;
    display: inline-block;
    text-align: left !important;

    color: transparent !important;
    background-clip: text;
    -webkit-background-clip: text;
    background-size: 300% 300%;
    background-image: linear-gradient(
      to right,
      #67accb 4.2%,
      #000 4.2%,
      #000 13%,
      #67accb 13%,
      #67accb 16.2%,
      #000 16.2%,
      #000 24%,
      #67accb 24%,
      #67accb 27.2%,
      #000 27.2%,
      rgba(255, 255, 255, 0) 60%
    );
    background-image: linear-gradient(
      to right,
      #000 60%,
      rgba(255, 255, 255, 0) 60%
    );
    background-position: left 100% center;
    transform: translate(-20px, 0);
    animation-name: toRight;
    animation-duration: 2.4s;
    animation-iteration-count: 0.9;
    animation-timing-function: ease-out;
    animation-delay: 0.5s;
    animation-fill-mode: forwards;
  }
  .main-visual h1 span{
      font-size: 1.5em;
      color: #67accb;
  }


@keyframes toRight {
  100% {
    transform: translate(0, 0);
    background-position: left 0% center;
  }
}*/

.main-visual h1{
    overflow: hidden;
    font-size: 6.5vw;
    margin-bottom: 1.15rem;
    line-height: 1.3;
    display: inline-block;
    text-align: left !important;
    text-shadow: 0 0 2px rgba(0,0,0, 0.3);;
}
.main-visual h1 span span{
    font-size: 1.75em;
    color: #67accb;
}

/*.leftAnime{
    opacity: 0;
}

.slideAnimeLeftRight {
	animation-name:slideTextX100;
	animation-duration:2s;
	animation-fill-mode:forwards;
    opacity: 0;
}
@keyframes slideTextX100 {
  from {
	transform: translateX(-100%);
        opacity: 0;
  }
  to {
	transform: translateX(0);
    opacity: 1;
  }
}

.slideAnimeRightLeft {
	animation-name:slideTextX-100;
	animation-duration:2s;
	animation-fill-mode:forwards;
    opacity: 0;
}
@keyframes slideTextX-100 {
  from {
	transform: translateX(100%);
    opacity: 0;
  }
  to {
	transform: translateX(0);
    opacity: 1;
  }
}*/


.main-visual h1 > span{
    display: inline-block;
    position: relative;
    animation-iteration-count: 1;
    animation-timing-function: ease;
    animation-fill-mode:forwards;
}
.main-visual h1 > span.slideAnime-left,
.main-visual h1 > span.slideAnime-right {
    animation-duration: 3s;
    animation-delay: 1s;
}
.main-visual h1 > span.slideAnime-left {
    top: 0; left: 1.8em;
    animation-name: moveToLeft;
}
.main-visual h1 > span.slideAnime-right {
    top: 0; right: 1.8em;
    animation-name: moveToRight;
}
.main-visual h1 > span.slideAnime-center {
    opacity: 0;
    animation-name: fadeIn;
    animation-duration: 1s;
    animation-delay: 3.8s;
}

@keyframes fadeIn {
    100% {
        opacity: 1;
    }
}
@keyframes moveToRight {
    100% {
        right: 0px;
    }
}
@keyframes moveToLeft {
    100% {
        left: 0px;
    }
}
  


.main-visual .inner {
    padding: 0;
    display: flex !important;
    flex-shrink: 0;
    margin:0;
}

.main-visual .bg {
    padding: 0;
    display: flex !important;
    flex-shrink: 0;
    margin:0;
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
}
.main-visual .bg span{
    padding: 0 0.5em 0;
    margin: -0.15em 0 0 -0.5em;
    box-sizing: border-box;
    white-space: nowrap;
    line-height: 1;
}

.main-visual .bg01 span{
    font-size: 52vw; font-weight: bold;
    /*background: linear-gradient(231deg, #f9f9f9, #fdfdfd, #f9f9f9, #fdfdfd, #f9f9f9);
    background-size: 600% 600%;
    background-clip: text;
    -webkit-background-clip: text;*/
    color: rgba(0,0,0, 0.03);
}
.main-visual .bg01 span:first-child {animation :infinity-scroll-left 195s infinite linear 0.5s both;}

.main-visual .bg02 span{
    font-family: 'Cardo', serif;
    font-family: 'Alegreya Sans SC', sans-serif;
    font-size: 22vw; font-weight: bold;
    color: rgba(103,170,202, 0.03);
    letter-spacing: -0.08em;
}
.main-visual .bg02 span{animation :infinity-scroll-right 195s infinite linear 0.5s both;}

.main-visual .bg03{
    top: 70%;
}
.main-visual .bg03 span{
    font-family: 'Lexend Tera', sans-serif;
    font-size: 22vw; font-weight: bold;
    color: rgba(103,170,202, 0.05);
    letter-spacing: -0.2em;
}
.main-visual .bg03 span{animation :infinity-scroll-right 195s infinite linear 0.5s both;}

.main-visual .bg04{
    top: -10%;
}
.main-visual .bg04 span{
    font-family: 'Major Mono Display', monospace;
    font-family: 'League Spartan', sans-serif;
    font-size: 15vw; font-weight: bold;
    color: rgba(0,0,0, 0.05);
}
.main-visual .bg04 span {animation :infinity-scroll-left 95s infinite linear 0.5s both;}

.main-visual .bg05{
    top: 70%;
}
.main-visual .bg05 span{
    font-size: 10vw; font-weight: bold;
    color: rgba(0,0,0, 0.03);
}
.main-visual .bg05 span {animation :infinity-scroll-left 130s infinite linear 0.5s both;}

.main-visual .bg06{
    top: 20%;
}
.main-visual .bg06 span{
    font-family: 'Lexend Tera', sans-serif;
    font-size: 15vw; font-weight: bold;
    color: rgba(103,170,202, 0.04);
    letter-spacing: -0.2em;
}
.main-visual .bg06 span {animation :infinity-scroll-left 95s infinite linear 0.5s both;}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(-50%);
    }
    to {
        transform: translateX(-150%);
    }
}
@keyframes infinity-scroll-right {
    from {
        transform: translateX(-150%);
    }
    to {
        transform: translateX(-50%);
    }
}


@media only screen and (max-width: 768px){
    .main-visual h1 {
        font-size: 8.5vw;
    }
    .main-visual .bg span{
        font-size: 142vw;
    }
    .main-visual .bg02 span{
        font-size: 222vw;
    }
    .main-visual:after {
        left: calc(50% - 17px);
        border-bottom: solid 3px #333;
        border-right: solid 3px #333;
        width: 34px;
        height: 34px;
    }
    
}


/*------------------------------------*\
    index : home   service;
\*------------------------------------*/
.sec_SERVICE{
    background-image: linear-gradient(#f3f3f3 1px, transparent 1px),linear-gradient(to right, #f3f3f3 1px, #fff 1px);
    background-size: 15px 15px; background-repeat: repeat;
}

.sec_SERVICE{
    background: #67accb;
}
.sec_SERVICE h2.title-2{
    color: #fff;
}

.sec_SERVICE ul{
    margin:50px 4%; padding: 0;
    display: flex; flex-wrap: wrap;
    gap: 20px 2%;
}
.sec_SERVICE ul li{
    padding:0 2em 2em; margin:0;
    width: 49%; height: 24vw;
    text-align: center; vertical-align: middle; 
    border: 1px solid #f9f9f9;
    display: table;
    background-color: #fff;
    /*box-shadow: 0 0 5px #ccc;*/
}
    .sec_SERVICE ul li.service1{border-right: 1px solid #f9f9f9;;}
    .sec_SERVICE ul li.service3{border-right: 1px solid #f9f9f9;}

.sec_SERVICE ul li div{
    text-align: center; vertical-align: middle; 
    display: table-cell;
}
    .sec_SERVICE ul li div h5{ line-height: 1.65em; margin-bottom: 10px; padding-top: 3vw;}
    .sec_SERVICE ul li.service1 div h5{color: #d53539;}
    .sec_SERVICE ul li.service4 div h5{color: #44498c;}
    .sec_SERVICE ul li.service1 div img{margin:auto;text-align: center;width:270px;display: block;}
    .sec_SERVICE ul li.service4 div img{margin:auto;text-align: center;width:570px;display: block;}
    .sec_SERVICE ul li.service2 div img{margin:auto;text-align: center;width:370px;display: block;}
    .sec_SERVICE ul li.service3 div img{margin:auto;text-align: center;width:340px;display: block;}
    .sec_SERVICE ul li div p{ padding-top: 2vw; font-size: 14px;}

@media only screen and (max-width: 768px){
    .sec_SERVICE ul{
        display: block;
    }
    .sec_SERVICE ul li{
        width: 100%; height: auto;
        margin: 0.5em 0 !important;
        padding: 0 2em 5vw;
    }
    .sec_SERVICE ul li.service1 div img{width:70%;}
    .sec_SERVICE ul li.service2 div img{width:100%;}
    
    .sec_SERVICE ul li div h5{padding-top: 5vw;}
    .sec_SERVICE ul li div p { padding-top: 6vw;}
    .sec_SERVICE ul li div p br { display: none; }
}

/*------------------------------------*\
    index : CLIENTS;
\*------------------------------------*/
.sec_CLIENTS h2.title-2{
    color: #67accb;
}
.sec_CLIENTS ul{
    display: flex;
    flex-wrap: wrap;
    margin-top: 80px;
}
.sec_CLIENTS ul li{
    width: 16.66%;
    padding: 2% 2%;
}
.sec_CLIENTS ul li img{
    width: 100%;
    height: 35px;
    /* border: 1px solid #ddd; */
    object-fit: contain;
}
.sec_CLIENTS ul li.h_m img{
    height: 45px;
}
.sec_CLIENTS ul li.h_l img{
    height: 55px;
}

/* sp */
@media only screen and (max-width: 768px){
    .sec_CLIENTS ul{
        margin-top: 40px;
    } 
    .sec_CLIENTS ul li {
        width: 33.333%;
        padding: 3% 7%;
    }
    .sec_CLIENTS ul li img{
        height: 15px;
    }
    .sec_CLIENTS ul li.h_m img{
        height: 25px;
    }
    .sec_CLIENTS ul li.h_l img{
        height: 35px;
    }
    
}

/*------------------------------------*\
    index : news-wrap;
\*------------------------------------*/
.sec_NEWS{
    background: #67accb;
}
.sec_NEWS h2.title-2{
    color: #fff;
}

.news-wrap-bg{background-image: url(./img/bg-line.gif);background-repeat: repeat-y;background-position: top center;background-size:100%;width: 100%;max-width: 1180px;margin:0 auto;padding:100px 0 70px 0;display: table;}
.sec_NEWS ul{width: 100%;margin:auto; text-align: left; padding: 50px 3%; display: flex;}
.sec_NEWS ul li{padding:0; margin:10px .98% 40px .98%; width: 33%; vertical-align: top;background-color: #f8f8f8;}
.sec_NEWS ul li a{display: block; cursor: pointer;padding:0; margin:0;}
.sec_NEWS ul li a:hover{opacity: 1; display: block; cursor: pointer;}
.sec_NEWS ul li .outer{width: 100%;height: 170px; overflow:hidden;}
.sec_NEWS ul li .inner{display:table-cell;height: auto;width: 100%;vertical-align: middle;}
.sec_NEWS ul li .news-content{padding:20px;letter-spacing: .10em;margin:0;display: block;text-align: left;word-break: break-all;}
.sec_NEWS ul li .news-content p.title{
    font-weight: bold; 
    margin:0; font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    max-height: 20px;      /* fallback */
    -webkit-line-clamp: 1; /* number of lines to show */
    -webkit-box-orient: vertical;
}
.sec_NEWS ul li .news-content h3{ margin:5px 0 10px 0; font-size: 18px;overflow: hidden;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;min-height: 50px;}
.sec_NEWS ul li .news-content p.content{ margin:5px 0 10px 0; font-size: 14px;overflow: hidden;display: -webkit-box;-webkit-line-clamp: 4;-webkit-box-orient: vertical;min-height: 100px; text-align: justify;}
.sec_NEWS ul li .news-content h4.date{
    font-family: Lexend;
    font-weight: 200;
    font-size: 1.75em;
}

/* sp */
@media only screen and (max-width: 768px){
    .sec_NEWS ul{
      display: block;
    }
    .sec_NEWS ul li {
        display: block;
        margin: 10px .98% 10px .98%;
        width: auto;
    }
    .sec_NEWS ul li .news-content p.content {
        -webkit-line-clamp: 3;
        min-height: 90px;
    }
    .sec_NEWS ul li .news-content .img img {
        max-height: 50vw;
    }
}


/*------------------------------------*\
    index : logo-wrap;
\*------------------------------------*/
.sec_LOGO h2.title-2 {
    color: #67accb;
}
.sec_LOGO ul {
    margin: 100px 4%;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}
.sec_LOGO ul li {
    padding: 0;
    margin: 0;
    width: 50%;
    vertical-align: middle;
    display: table;
}
.sec_LOGO ul li a[target="_blank"]:after {
    content: "\f35d";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #67accb;
    display: inline-block;
    margin-left: 0.5em;
}
.sec_LOGO ul > li:nth-of-type(2){
	display: grid;
	place-items: center;
}
.sec_LOGO ul > li:nth-of-type(2) img{
	width: 60%;
}
.sec_LOGO ul li ol{
	margin: 1.25em;
}
.sec_LOGO ul li ol li{
    width: 100%;
    height: auto;
    text-align: left;
    display: list-item;
	list-style-type: auto;
	padding: 0.2em 0;
}
.sec_LOGO ul li ol li a {
    color: #67accb;
}

/* sp */
@media only screen and (max-width: 768px){
	.sec_LOGO ul {
		display: block;
	}
	.sec_LOGO ul li {
		width: 100%;
	}
	.sec_LOGO ul > li:nth-of-type(2){
		padding: 17vw 0 10vw;
	}
}


/*------------------------------------*\
    page-news
\*------------------------------------*/
.page-news-single{
  padding-top: 0;
}
.page-news .wrap-newslist {
    display: flex;
    flex-wrap: wrap;
    padding: 0 !important;
    border-top: 1px solid #f9f9f9;
}
.page-news .wrap-newslist li{
    width: 33.333%;
    padding: 50px 3vw;
    border: 1px solid #f9f9f9;
    position: relative;
    text-align: justify;
}
.page-news .wrap-newslist li h3{
    font-size: 18px;
    line-height: 1.55;
    text-decoration: underline;
    margin-bottom:10px;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    height: 55px;
    overflow: hidden;
}
.page-news .wrap-newslist li h4{
    font-family: Lexend;
    font-weight: 200;
    font-size: 1.75em;
    margin-bottom:10px;
}
.page-news .wrap-newslist li p{
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    max-height: 145px;
    overflow: hidden;
}\
.page-news .wrap-newslist li .content{
    font-size: 14px;
}
/*.page-news .wrap-newslist li a{
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 10;
}*/
.page-news .wrap-newslist li:nth-child(2n){
    background: #f9f9f9;
}
.page-news .wrap-newslist li dl{
    font-size: 1.8vw;
    padding-bottom: 0.5em;
}
.page-news .wrap-newslist li .img{
    margin: -40px -2.5vw 20px;
}
.page-news .wrap-newslist li .img img{
    width: 100%; max-height: 17.5vw;
    object-fit: cover; object-position: top;
}

.page-news .wrap-newslist li{
    transition: background-color 0.3s linear;
}
/* .page-news .wrap-newslist li:hover{
    background: #000 !important;
    color: #fff;
} */

.blog-pagination{
    margin: 0;
    padding: 50px 0 0 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 1px solid #f9f9f9;
}
.blog-pagination a, .blog-pagination strong {
    font-size: 22px;
    margin: auto 0.25em;
    padding: 0;
    line-height: 1;
    color: #777;
    font-family: Lexend;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.blog-pagination strong{
  background: none;
  color:#231815;
}

.blog-pagination a.blog-pagination__prev-link,
.blog-pagination a.blog-pagination__next-link,
.blog-pagination a.blog-pagination__last_link{
    background: #eee;
    border-radius: 50%;
}

.blog-pagination a:active{color:#67accb !important; }
.blog-pagination a:hover{color: #67accb;}




@media (max-width:768px) {
    .page-news .wrap-newslist li {
        width: 100%;
        padding: 15px 20px;
    }
    .page-news .wrap-newslist li:nth-child(2n){
        background: none;
    }
    .page-news .wrap-newslist li .img{
        margin: 0;
    }
    .page-news .wrap-newslist li .img img{
        max-height: 24.5vw;
    }
    .hs-blog-listing .blog-pagination {
        -webkit-box-ordinal-group: unset;
        -ms-flex-order: 3;
        order: unset;
        flex-direction: unset;
        flex-wrap: wrap;
    }

}


/*------------------------------------*\
    page-contact
\*------------------------------------*/

.page-contact .sf_one_column .sf_field {
    padding: 2.5vw 0;
}
/*.page-contact .sf_one_column .sf_field.sf_field_agree,
.page-contact .sf_one_column .sf_type_recaptcha{
    padding: 0;
    text-align: center;
}
.page-contact .sf_one_column .sf_type_recaptcha .g-recaptcha{
    display: inline-block;
}*/

.page-contact .sf_one_column .sf_field label,
.page-contact .sf_one_column .sf_field .wpcf7-form-control-wrap {
    display: block;
    float: left;
    box-sizing: border-box;
}

.page-contact .sf_one_column .sf_field label{
    padding: 1.2rem 0;
    width: 25%;
    font-weight: bold;
}
.page-contact .sf_one_column .sf_field .wpcf7-form-control-wrap {
    width: 75%;
}

.page-contact .sf_one_column .sf_field select,
.page-contact .sf_one_column .sf_field input[type='text'],
.page-contact .sf_one_column .sf_field input[type='email'],
.page-contact .sf_one_column .sf_field input[type='tel'],
.page-contact .sf_one_column .sf_field textarea{
    padding: 1.2rem 2.4rem;
    background: #f3f3f3;
    border: transparent;
    border-radius: 0.4rem;
    width: 100%;
}
.page-contact .sf_one_column .sf_field textarea{
    height: 12vw;
}

.page-contact .sf_one_column .sf_field label::after{
    content: "必須";
    font-size: 11px;
    color: rgb(255, 255, 255);
    white-space: nowrap;
    background: #d53539;
    padding: 0.5em 0.5em;
    display: inline-block;
    line-height: 1;
    margin-left: 0.5em;
}
.page-contact input[type="submit"]{
    background-color: #67accb;
    color: #fff;
    display: block;
    font-weight: bold;
    padding: 1em 3em;
    letter-spacing: .25em;
    font-size: 16px;
    border: none;
    margin: 16em auto 0 !important;
    text-align: center;
    border-radius: 100px;
}

.wpcf7 form .wpcf7-response-output {
    margin: 0;
    padding: 0;
    border: none !important;
    text-align: center;
    color: #777;
    font-size: 13px;
}
.wpcf7-not-valid-tip {
    font-size: 12px;
    padding: 0 0 2em;
}

@media only screen and (max-width: 768px){
    .page-contact .sf_one_column .sf_field label,
    .page-contact .sf_one_column .sf_field .wpcf7-form-control-wrap{
        display: block;
        float: none;
        width: 100% !important;
    }
    .page-contact .sf_one_column .sf_field textarea {
        height: 42vw;
    }
}


/*------------------------------------*\
    about-wrap
\*------------------------------------*/
.sec_ABOUT{
    padding: 0 !important;
}

.sec_ABOUT h2.title-2{
    color: #fff;
}

.sec_ABOUT ul{
    padding:0;
    display: table;
    width: 100%;
    margin: 0;
}

.sec_ABOUT ul li{
    display: table-cell;
    margin:0;
    width: 50%; height: 30vw;
    background-repeat: no-repeat; background-size: cover;
    color: #fff; vertical-align: middle;
    /*border-top: 1px solid #a2bdca; border-bottom: 1px solid #a2bdca;*/
    position: relative;
    overflow: hidden;
}
.sec_ABOUT ul li a .bg_img{
    background-size: cover;
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: -1;
    transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1),transform 1s cubic-bezier(0.16, 1, 0.3, 1),-webkit-transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.sec_ABOUT ul li a:hover .bg_img{
    transform: scale(1.02);
}
.sec_ABOUT ul li:first-child a .bg_img{
    background-image: url('https://243317975.fs1.hubspotusercontent-na2.net/hubfs/243317975/top_bg-culture.png');
}
.sec_ABOUT ul li:last-child a .bg_img{
    background-image: url('https://243317975.fs1.hubspotusercontent-na2.net/hubfs/243317975/top_bg-aboutus.png');
}

.sec_ABOUT ul li a .text{
    padding:50px 4%; 
}
.sec_ABOUT h2.title-2{
    padding: 0 0 0.08em 0;
}
.sec_ABOUT h3.title-3 span{
    background: #67accb;
    padding: 0.3em 0.7em;
    line-height: 1;
}
.sec_ABOUT ul li a{
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
}


@media only screen and (max-width: 768px){
    .sec_ABOUT ul li {
        display: block;
        width: auto; height: 77vw;
    }
    .sec_ABOUT ul li a .bg_img{
    }
    .sec_ABOUT h2.title-2 {
        padding: 0 0 0.35em 0;
    }
    .sec_ABOUT h3.title-3 span{
        font-size: 3.5vw;
    }
  
    .sec_ABOUT ul li a .text {
        padding: 4vw 4%;
    }
}


/*------------------------------------*\
    page-recrute_bene
\*------------------------------------*/

.page-recrute_bene article ul{
    display: flex;
    flex-wrap: wrap;
    margin: -2vw 0;
}
.page-recrute_bene article ul li{
    width: 33.333%;
    padding: 2vw 3.5vw;
}
.page-recrute_bene article ul li img{
    width: 30%;
    margin-bottom: 2vw;
}
.page-recrute_bene article ul li h3{
    font-size: 24px;
    margin-bottom: 2vw;
}

.page-recrute_bene iframe{
    width: 100% !important;
}

@media only screen and (max-width: 768px){
    .page-recrute_bene{
      padding: 0;
    }
    .page-recrute_bene article ul li {
        width: 100%;
        padding: 7vw 3.5vw;
    }
    .page-recrute_bene article ul li h3 {
        font-size: 20px;
        margin: 0.75em 0 0.5em;
    }
}

/*------------------------------------*\
    page-logo
\*------------------------------------*/
.page-logo .box > ul {
    display: flex;
    margin-top: 4em;
    margin-bottom: 10em;
}
.page-logo .box > ul > li {
    padding: 0;
    margin: 0;
    width: 50%;
    vertical-align: middle;
    display: table;
}
.page-logo .box > ul > li .view-btn02 a {
    margin: 0 1em;
}
.page-logo .box > ul > li{
	display: grid;
	place-items: center;
}
.page-logo .box > ul > li img{
	width: 60%;
}
.page-logo .box > ul > li.is img{
	width: 90%;
}
.page-logo .box ol{
	margin: 1.25em;
}
.page-logo .box ol li{
    width: 100%;
    height: auto;
    text-align: left;
    display: list-item;
	list-style-type: auto;
	padding: 0.2em 0;
}
.page-logo h2 {
    font-size: 28px;
    margin: 2em 0 1.12em 0; 
    margin-left: 0.5em;
    text-indent: -0.5em;
    line-height: 1.35;
}
.page-logo h2:before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 1.4em;
    border-radius: 3px;
    background: #67accb;
    vertical-align: top;
    margin-right: 0.35em;
}
/* sp */
@media only screen and (max-width: 768px){
    .page-logo h2 {
        font-size: 4.3vw;
    }
    .page-logo .wrap-big{
        padding: 0 20px;
    }
    .page-logo .box > ul {
        display: block;
    }
    .page-logo .box > ul > li {
        width: 100%;
    }
    .page-logo .box > ul > li img {
        width: 70%;
        margin: 5em 0 2em;
    }
    .page-logo .box > ul > li.is img {
        width: 100%;
    }
    .logo-wrap.logo-wrap_ss{

    }
}


/*------------------------------------*\
    page-common
\*------------------------------------*/
.h1_page{padding: 0 30px 0px;}
.h1_page h1, .h1_page h2{
    font-size: 80px;
    line-height: 1.75em;
    font-family: Lexend;
    letter-spacing: .05em;
    margin: 0 0 1.4rem;
}
.h1_page h1 span, .h1_page h2 span{font-size: 21px; display: block; line-height: 1.2; letter-spacing: 0.15em;}

.h1_page p{
    max-width: 980px;
    margin: 0 5em;
}
.h1_page ol{
	margin: 1.25em 6.2em;
  max-width: 980px;
}
.h1_page ol li{
    width: 100%;
    height: auto;
    text-align: left;
    display: list-item;
	list-style-type: auto;
	padding: 0.2em 0;
}
.h1_page ul{
    margin: 2em 5em 0;
    display: flex;
    gap: 1em 3em;
    flex-wrap: wrap;
}
.h1_page ul a{
    display: flex;
    align-items: center;
    gap: 0.5em;
    font-weight: 700;
}
.h1_page ul a svg{
  width: 1.5rem;
  height: 1.5rem;
}
.container_page h1 {
    font-size: 38px;
    line-height: 1.5;
    margin: 0 0 1em 0;
    font-family: Lexend;
}

.container_page .h1_page h2{
    padding: 0;
}

.container_page h2 {
    font-size: 28px;
    margin: 1em 0 1.12em 0; 
    margin-left: 0.5em;
    text-indent: -0.5em;
    line-height: 1.35;
}
.container_page h2:before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 1.4em;
    border-radius: 3px;
    background: #67accb;
    vertical-align: top;
    margin-right: 0.35em;
}

.container_page h3 {
    font-size: 24px;
    margin: 2em 0 1.12em 0; margin-left: 28px;
    text-indent: -28px;
}
.container_page h3:before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 33px;
    border-radius: 3px;
    background: linear-gradient(180deg, rgba(103,170,202,1) 0%, rgba(103,170,202,1) 50%, rgba(238,238,238,1) 50%, rgba(238,238,238,1) 100%);#67accb;
    vertical-align: top;
    margin-right: 0.35em;
}

.container_page h4 {
    font-size: 20px;
    margin: 2em 0 1.12em 0; margin-left: 23px;
    text-indent: -12px;
}
.container_page h4:before {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #67accb;
    display: inline-block;
    margin-right: 0.5em;
}

.container_page a {
    color: #67accb;
}
.container_page a[target="_blank"]:after {
    content: "\f35d";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #67accb;
    display: inline-block;
    margin-left: 0.5em;
}

.container_page .at-above-post.addthis_tool{
    padding: 10px 0 30px 0;
}

.container_page article p{
    margin: 1.12em 0;
    text-indent: 0;
}

.container_page article ul{
    margin: 0 0 1.12em 0;
}
.page-about .sub-page-wrap ul li,
.container_page article ul li {
    padding: 0.15em 0;
    text-indent: -0.95em;
    margin-left: 1em;
}
.page-about .sub-page-wrap ul li::before,
.container_page article ul li:before {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #67accb;
    display: inline-block;
    margin-right: 0.5em;
    text-indent: 0;
    padding: 0;
}
.container_page article ul li ul li{
    padding: 0.3em 0px;
    text-indent: -1.5em;
    margin-left: 1.75em;
}
.container_page article ul li ul li:before {
    content: "\f101";
}
.container_page article ul li ul li ul li{
    padding: 0.1em 0px;
    text-indent: -1em;
}
.container_page article ul li ul li ul li:before {
    content: "\f0da";
}
.container_page article ol{
    list-style-type: decimal;
    margin-left: 0.5em;
    padding-bottom: 4em;
}
.container_page article ol li{
    list-style-type: decimal;
    margin-left: 0.5em;
    padding: 0.75em 0px;
}
.container_page article figure{
    margin: 1.12em 0;
}
.container_page article table.table_border{
    margin: 1em 0;
}
.container_page article table.table_border td,
.container_page article table.table_border th{
  border: 1px solid #ddd;
  padding: 0.5em;
}
.container_page article div.div_flex{
    display: flex;
    padding: 0 0 4em 0;
}
.container_page article div.div_flex div{
    width: 50%;
    padding: 0 2em;
    text-align: center;
}

.container_page table {
    border: none!important;
    border-collapse: collapse;
    border-spacing: 2px;
    display: table;
    max-width: 100%;
    width: 100%!important;
}

.container_page table tbody tr th {
    border: none;
    border-bottom: 3px solid #ddd;
    display: table-cell;
    font-weight: bolder;
    padding: 10px;
    position: static;
    text-align: left;
    vertical-align: middle;
    width: 26%;
    word-break: break-word;
}

.container_page table tbody tr td {
    border: none;
    border-bottom: 1px solid #ddd;
    display: table-cell;
    padding: 10px;
    position: static;
    vertical-align: inherit;
    word-break: break-word;
}
.container_page li {
    display: list-item;
    margin: .2em 0 .2em 2.4em;
    text-indent: -1.9em;
}
.container_page li:before{
    color: #67accb;
    content: "\f00c";
    font-family: fontawesome;
    font-weight: 700;
    padding-right: 10px;
}


@media only screen and (max-width: 768px){
    .h1_page{padding: 0 20px 0;}
    .h1_page h1, .h1_page h2{font-size: 10vw !important; line-height: 1.4em;}
    .h1_page h1 span, .h1_page h2 span{font-size: 4vw !important;}
    .h1_page p {margin: 0 7vw; font-size: 14px;}
    .h1_page ol{margin: 1.25em calc(4vw + 1.25em) 1.25em calc(7vw + 1.25em);}
    .h1_page ul {margin: 2em 7vw 0;  gap: 1.5em 2em; flex-wrap: wrap;}

    .container_page h1 {font-size: 28px;}
    .container_page h2 {font-size: 24px; margin-left: 18px; text-indent: -18px;}
    .container_page h3 {font-size: 20px;}
    .container_page h3:before {height: 24px;}
    .container_page h4 {font-size: 18px;}

    .container_page article table tbody tr td, .news-post .container_page table tbody tr th {
        height: auto!important;
    }
}


/*------------------------------------*\
    index : about
\*------------------------------------*/
.page-about .box-750{
    display: flex;
    flex-wrap: wrap;
}
.page-about .box-750 table{
    width: 50%;
    border:none;
}
.page-about .box-750 table:last-child{
    width: 100%;
}
.page-about .box-750 table th,
.page-about .box-750 table td{
    padding: 2em 0.5em;
    text-align: left;
    vertical-align: top;
    border:none;
}
.page-about .box-750 table th{width: 115px;}

.page-about .smartshare-map{
    width: 100%;
    height: 36vw;
    overflow: hidden;
    margin: 0 0 -100px;
}
.page-about .smartshare-map .hs-responsive-embed-wrapper{
  max-width: none !important;
  max-height: none !important;
}
.page-about .smartshare-map iframe{
    height: calc(36vw + 340px) !important;
    width: 100%;
    margin: -170px 0;
}

.page-about .box-philosophy{
    padding: 140px 0 220px;
    text-align: center;
    line-height: 2;
}
.page-about .box-philosophy h1{
    font-size: 32px;
    line-height: 1.95;
}
.page-about section:nth-child(2) .wrap-medium{
    display: flex;
}
.page-about .box-message:nth-child(1){
    width: 40%;
    padding: 3vw 0;
}
.page-about .box-message:nth-child(2){
    position: relative;
    width: 60%;
}
.page-about .box-message:nth-child(2) p{
    position: absolute;
    right: 0;
    bottom: -20px;
    width: 120%;
    background: #231815;
    color:#fff;
    padding: 2vw 2vw 2vw 11vw;
    font-size: 0.9em;
    z-index: -3;
}
.page-about .box-message:nth-child(2) p > span{
    display: block;
    text-align: right;
    margin-top: 2em;
}
.page-about .box-message:nth-child(2) p span span{
    font-size: 1.55em;
}

@media only screen and (max-width: 768px){
    .page-about .box-philosophy {padding: 80px 0 160px;}
    .page-about .box-philosophy h1{font-size: 6.5vw; padding-bottom: 1em;}
    .page-about .box-philosophy h1 span{display: block; transform: rotate(90deg);}

    .page-about .box-750 {display: block;}
    .page-about .box-750 table {width: 100%;}

    .page-about .smartshare-map {height: 86vw;}
    .page-about .smartshare-map iframe {height: calc(86vw + 340px) !important;}

    .page-about section:nth-child(2) .wrap-medium{display: block;}
    .page-about .box-message:nth-child(1), .page-about .box-message:nth-child(2){width: 100%;}
    .page-about .box-message:nth-child(2) p{position: relative; bottom: 0; width: 100%; padding: 4vw;}
}


/*------------------------------------*\
    index : news-single
\*------------------------------------*/
.news-single .breadcrumbs {
  margin: -80px 0 0 0;
}

.news-single .breadcrumbs ul {
    list-style: none;
    padding: 0;
    width: 100%
}

.news-single .breadcrumbs ul li {
    float: left
}

.news-single .breadcrumbs ul li a {
    color: #3c3c3c;
    display: block;
    float: left;
    font-size: 90%;
    letter-spacing: 0;
    margin: 0;
    padding: 15px 20px;
    position: relative;
    text-decoration: unset
}

.news-single .breadcrumbs ul li a:after {
    border-bottom: none;
    border-left: none;
    border-top: none;
    color: #3c3c3c;
    content: "\f105";
    font-family: FontAwesome;
    margin-top: 0;
    padding: 15px 0;
    position: absolute;
    right: -1px;
    top: 0
}

.news-single .breadcrumbs ul li>span {
    color: #3c3c3c;
    display: block;
    float: left;
    font-size: 90%;
    letter-spacing: 0;
    margin: 0;
    overflow: hidden;
    padding: 15px 20px;
    position: relative;
    text-decoration: unset;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 43vw
}

.news-single .breadcrumbs ul li:first-child a {
    padding-left: 10px
}

.news-single{
    max-width: 980px;
    border: 1px solid #E8E8E8;
    padding: 40px 80px;
    border-radius: 30px;
    background: #fff;
    text-align: justify;
}
.news-single .date{
    color: #909090;
    font-size: 24px;
    padding-bottom: 0.5em;
    font-family: Lexend;
}
.news-single .case-feautred-image-wrapper{
  margin-bottom: 3em;
}
.news-single .content{
    width: 960px;
    margin: auto;
}
.news-single a[target="_blank"]::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    font-size: 80%;
    content: "\f35d";
    margin-left: 0.5em;
}
.news-single figure{
  margin: 0;
}

@media (max-width:768px) {
    .news-single{
      padding: 4vw;
      margin: 20px;
      width: auto;
    }
    .news-single .date {
        font-size: 18px;
    }
    .news-single .content{
        width: auto;
    }
}


/*------------------------------------*\
    page-joinus
\*------------------------------------
.page-joinus .joinus-wrap h2{
    line-height: 1.7;
}
.page-joinus .joinus-wrap p{
    font-size: 1.1em;
    padding: 3em 0 0 0;
}
.page-joinus .careerrecruit-wrap ul {
    display: flex;
    flex-wrap: wrap;
    padding: 0 !important;
    border: 1px solid #f9f9f9;
}
.page-joinus .careerrecruit-wrap ul li{
    width: 33.333%;
    padding: 80px 3vw;
    border: 1px solid #f9f9f9;
    position: relative;
}
.page-joinus .careerrecruit-wrap ul li a{
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 10;
}
.page-joinus .careerrecruit-wrap ul li h3{
    font-size: 1.8vw; font-weight: normal;
    padding-bottom: 0.5em;
}
.page-joinus .careerrecruit-wrap ul li:nth-child(2n){
    background: #f9f9f9;
}
.page-joinus .careerrecruit-wrap ul li{
    transition: background-color 0.3s linear;
}
.page-joinus .careerrecruit-wrap ul li:hover{
    background: #000 !important;
    color: #fff;
}

.page-joinus .culture-wrap ul {
    display: flex;
    flex-wrap: wrap;
    padding: 0 !important;
}
.page-joinus .culture-wrap ul li{
    width: 33.333%;
    padding: 80px 3vw;
    position: relative;
}
.page-joinus .culture-wrap ul li h3{
    font-size: 1.8vw; font-weight: normal;
    padding-bottom: 0.5em;
}
.page-joinus .culture-wrap ul li img{
    width: 30%;
    margin-bottom: 2vw;
}
.page-joinus video{
    width: 30vw;
    position: absolute;
    right: 1vw;
    bottom: -8vw;
    object-fit: cover;
    height: 30vw;
    object-position: center center;
}

.page-joindetail .news-single{
  margin-bottom: 40px;
}
.page-joindetail .news-single h2:first-child{
  margin-top: 0px;
}

@media only screen and (max-width: 768px){
    .page-joinus .joinus-wrap h2{
        font-size: 6vw;
    }
    .page-joinus .wrap-big{
        padding: 0 20px;
    }
    .page-joinus .culture-wrap ul,
    .page-joinus .careerrecruit-wrap ul {
        display: block;
    }
    .page-joinus .culture-wrap ul li,
    .page-joinus .careerrecruit-wrap ul li{
        width: 100%;
    }
    .page-joinus .culture-wrap ul li{
        padding: 20px 3vw;
    }
    .page-joinus .culture-wrap ul li h3,
    .page-joinus .careerrecruit-wrap ul li h3 {
        font-size: 5vw;
    }
}*/
section:not(:last-child).page-joinus{
    max-width: 1042px;
    margin: auto;
    padding: 40px 0;
}
section.page-joinus_b{
    padding-bottom: 0;
    margin-bottom: -110px;
}
.page-joinus h2 {
    font-size: 28px;
    margin: 2em 0 1.12em 0; 
    margin-left: 0.5em;
    text-indent: -0.5em;
    line-height: 1.35;
}
.page-joinus h2:before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 1.4em;
    border-radius: 3px;
    background: #67accb;
    vertical-align: top;
    margin-right: 0.35em;
}
.page-joinus#people .d_flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2em;
}
.page-joinus#people .d_flex div{
   width: 48%;
}
.page-joinus#people .d_flex div h3{
   font-size: 16px;
   margin: 10px 0;
}
.page-joinus#jobtype .d_flex,
.page-joinus#culture .d_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2em;
}
.page-joinus#jobtype .d_flex > div,
.page-joinus#culture .d_flex > div{
  width: 48%;
  min-height: 234px;
  background: #EFEFEF;
  padding: 36px 36px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.page-joinus#culture .d_flex > div:nth-child(2),
.page-joinus#culture .d_flex > div:nth-child(3),
.page-joinus#jobtype .d_flex > div:nth-child(2),
.page-joinus#jobtype .d_flex > div:nth-child(3),
.page-joinus#jobtype .d_flex > div:nth-child(6),
.page-joinus#jobtype .d_flex > div:nth-child(7){
  background: #F9F9F9;
}
.page-joinus#jobtype .d_flex > div h3,
.page-joinus#culture .d_flex > div h3{
   font-size: 20px;
   text-align: left;
   width: 100%;
}
.page-joinus#jobtype .d_flex > div h3 span,
.page-joinus#culture .d_flex > div h3 span{
   font-size: 14px;
}
.page-joinus#people .view-btn,
.page-joinus#jobtype .d_flex > div .view-btn,
.page-joinus#culture .d_flex > div .view-btn {
    margin: 20px 0;
    text-align: right;
    display: block;
}
.page-joinus#people .view-btn{
    margin-top: -70px;
    margin-bottom: 28px;
}
.page-joinus#people .view-btn a,
.page-joinus#jobtype .d_flex > div .view-btn a,
.page-joinus#culture .d_flex > div .view-btn a {
    padding: 0.4em 50px 0.4em 1em;
    font-size: 0.95em;
  display: inline-block;
}
.page-joinus#people .view-btn a:after,
.page-joinus#jobtype .d_flex > div .view-btn a:after,
.page-joinus#culture .d_flex > div .view-btn a:after {
    font-size: 1rem;
    top: calc(50% - 0.5rem);
}

@media only screen and (max-width: 768px){
  section:not(:first-child).page-joinus {
    padding: 4vw;
  }
  .page-joinus h2 {
    font-size: 4.3vw;
  }
  .page-joinus .d_flex{
    display: block !important;
  }
  .page-joinus .d_flex div{
    width: auto !important;
  } 
  .page-joinus#people .d_flex div{
    margin-bottom: 1.5em;
  }
  .page-joinus#jobtype .d_flex > div,
  .page-joinus#culture .d_flex > div{
    background: #EFEFEF !important;
  }
  .page-joinus#jobtype .d_flex > div:nth-child(2n),
  .page-joinus#culture .d_flex > div:nth-child(2n){
    background: #F9F9F9 !important;
  }
}


/*------------------------------------*\
    page-joinus_detail
\*------------------------------------*/
.page-joinus_detail ul{
    display: table;width: 100%;
}
.page-joinus_detail ul li{
    display: table-cell;
    width: 80%;
    vertical-align: top;
    margin:0; padding:0 0 2vw 0;
}
.page-joinus_detail ul li:first-child{
    width: 20%;
}
.page-joinus_detail ul li:first-child h3{
    font-size: 1.8vw;
    line-height: 1.3;
    text-align: left;
}
.page-joinus_detail ul li h4{
    font-size: 1.075em;
    padding: 1em 0 0;
}
.page-joinus_detail ul li h5{
    font-size: 1vw;
    padding: 1em 0 0.4em;
    font-weight: normal;
}
.page-joinus_detail ul li ul.li_mark{
    padding: 0.25em 0; margin: 0;
    display: block;
    width: auto;
}
.page-joinus_detail ul li ul.li_mark li {
    padding: 0.25em 0px; margin-left: 1em;
    text-indent: -0.5em;
    display: block;  width: auto;
}
.page-joinus_detail ul li ul.li_mark li:before {
    content: "\f105";
    font-family: "Font Awesome 5 Free"; font-weight: 900;
    color: #67accb;
    display: inline-block;
    margin-right: 0.5em;
}
.page-joinus_detail ul li .ul-links{
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    background: #f7f7f7;
    padding: 1vw;
}
.page-joinus_detail ul li .ul-links li{
    width: 50%;
    padding: 1vw;
}
.page-joinus_detail ul li .ul-links li span{
    font-size: 75%;
}

@media only screen and (max-width: 768px){
    .page-joinus_detail ul li:first-child h3 {
        font-size: 7vw;
    }
    .page-joinus_detail ul li {
        display: block;
        width: auto !important;
    }
    .page-joinus_detail ul li:first-child {
        width: auto;
    }
    .page-joinus_detail ul li .p_l_50{
        padding-left: 0 !important;
    }
    .page-joinus_detail ul li .ul-links li{
        width: 100% !important;
    }
}

/*------------------------------------*\
    page-form
\*------------------------------------*/
.container_form .contact-form{
    max-width: 980px;
    border: 1px solid #E8E8E8;
    padding: 80px;
    border-radius: 30px;
    background: #fff;
}
.container_form .contact-form .hs-form-booleancheckbox {
    text-align: center;
    margin: 40px 0 0;
}
.container_form .contact-form input[type="checkbox"]{
  width: auto !important;
  float: none !important;
}
.legal-consent-container .hs-form-booleancheckbox-display>span{
   display: inline-block !important;
}
.container_form .contact-form input[type="text"],
.container_form .contact-form input[type="email"],
.container_form .contact-form input[type="tel"],
.container_form .contact-form textarea{
    padding: 1.2rem 2.4rem;
    background: #f3f3f3;
    border: transparent;
    border-radius: 0.4rem;
}
.container_form .contact-form label {
    font-size: 1em;
}

.container_form .contact-form input[type="submit"]{
  background-color: #fff;
    border: 1px solid #67accb;
    color: #67accb !important;
    display: block;
    border-radius: 100px;
    padding: 1em 2em;
    font-size: 1.25em;
    position: relative;
    margin: 20px auto -20px;
}

.container_form.container_form_thanks{
  text-align: center;
}
.container_form.container_form_thanks h3{
  font-size: 28px;
  margin-bottom: 0.75em;
}

@media only screen and (max-width: 768px){
  .container_form .contact-form{
    padding: 8vw;
    margin: 20px;
    width: auto;
  }
}

/*------------------------------------*\
    footer
\*------------------------------------*/
.footer{background: #fff;}

.footer .ptop a{
    background: #67accb;
    text-align: center;
    color: #fff; font-size: 30px;
    display: block;
    padding: 0.5em 0;
}
.footer .ptop a::before {
    content: "\f106";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 1.5em;
    vertical-align: top;
    display: inline-block;
    line-height: 1;
    margin-right: 0.5em;
    transition: all 0.3s; transition: all 0.3s;
    position: relative;
    top: 0em;
}
.footer .ptop a:hover::before {
    top: -0.1rem;
  }

.footer .inner{
    display: flex;
    padding: 35px 30px;
}
.footer .menu-list{
    display: table;
    width: 60%;
}
.footer .menu-list > span,
.footer .menu-list ul{
    display: table-cell;
    width: 33.333%;
    vertical-align: top;
}

.footer .menu-list ul li{
    font-size: 14px;
    line-height: 1.7;
}
/*.footer .menu-list ul:first-child li{
    font-size: 2.5vw; font-weight: bold;
    line-height: 1.4;
}*/
.footer .menu-list .active-branch li,
.footer .menu-list ul li.ti{
    padding-bottom: 0.2em;
    font-weight: bold;
    font-size: 23px;
}
.footer .menu-list ul li.ti2{
    padding-top: 1em;
}
.footer .menu-list ul li .fas {
    font-size: 80%;
    margin-left: 0.5em;
}
.footer .menu-list ul li img,
.footer .menu-list ul li svg{
    width: 20px; height: 20px;
    vertical-align: middle;
    margin-right: 6px;
}
/*.footer .menu-list ul li path{
    fill: #67accb;
}*/
.footer .footer_mark .img{
    width: 77px;
    display: inline-block;
    font-size: 10px;
    vertical-align: top;
    margin: 0 1em;
}
.footer .footer_bnr img{
    max-width: 350px;
    margin-top: 30px;
}
.footer .footer_logo{
    width: 40%;
    text-align: right;
}
.footer .footer_logo img.logo-img{
    max-width: 430px;
    margin: 0 0 20px 0;
}

.footer .menu-list_b{
    padding: 35px 30px;
    text-align: right;;
}
.footer .menu-list_b li{
    display: inline-block;
    padding-left: 3em;
}
.footer .menu-list_b li::before {
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 1.23em;
    vertical-align: top;
    display: inline-block;
    line-height: 1.5;
    margin-right: 0.35em;
}
.footer .copyright{
    border-top: 1px solid #fff;
    padding: 35px 30px;
    line-height: 1;
    font-size: 13px;
}


@media only screen and (max-width: 768px){
    .footer .inner {
        display: block;
    }
    .footer .menu-list {
        display: flex;
        width: 100%;
        flex-wrap: wrap;
    }
    .footer .menu-list > span,
    .footer .menu-list ul {
        display: block;
        width: 50%;
        margin-bottom: 3em;
    }
    .footer .footer_logo{
        width: auto;
        text-align: center;
    }
    .footer .footer_logo img.logo-img {
        width: 100%;
    }
    .footer .footer_mark .img {
        width: 76px;
    }
    .footer .menu-list_b{
        text-align: center;
    }
    .footer .menu-list_b ul{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 36px;
    }
    .footer .menu-list_b li{
        display: block;
        text-align: left;
        padding: 0;
    }
    .footer .copyright{
        text-align: center;
    }    
}



/*------------------------------------*\
    名刺用
\*------------------------------------*/

.page-service-info__header {
    border-bottom: 1px solid #EEE;
    display: flex;
    align-items: center;
    padding: 24px 0;
    justify-content: center;
}
.page-service-info__header .logo-img {
    margin: 0 1em 0 30px;
}
.page-service-info__header h1{
    font-size: 20px;
    margin: 0;
    padding: 0;
    line-height: 1.2;
    border-left: 1px solid #E4E4E4;
    padding-left: 1em;
}
.page-service-info__header h1 span{
    font-size: 11px;
    display: block;
}
.page-service-info{
    padding: 0;
}
.page-service-info section:not(:first-child),
.page-service-info main{
    max-width: 1042px;
    margin: auto;
    border-bottom: 1px solid #EEE;
    padding: 40px 0;
}
.page-service-info main h2{
    text-align: center;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -1.08px;
    margin: 0 0 40px 0;
    line-height: normal;
}
.page-service-info main h2 br{
    display: none;
}
.page-service-info main .menu{
    overflow-x: scroll;
    padding-bottom: 15px;
}
.page-service-info main .menu::-webkit-scrollbar {
  height: 6px; /* スクロールバーの高さ */
}
.page-service-info main .menu::-webkit-scrollbar-thumb {
  background: #EFEFEF; /* ツマミの色 */
  border-radius: 7px; /* ツマミ両端の丸み */
}
.page-service-info main .menu::-webkit-scrollbar-track {
  background: #F9F9F9; /* トラックの色 */
  border-radius: 7px; /* トラック両端の丸み */
}
.page-service-info main .menu ul{
    display: flex;
    justify-content: space-between;
    width: 1230px;
}
.page-service-info main .menu ul li{
    width: 13%;
}
.page-service-info main .menu a{
    font-size: 14px;
    display: block;
    text-align: center;
}
.page-service-info main .menu a span{
    display: block;
    font-weight: 700;
}
.page-service-info main .menu img {
    height: 75px !important;
    margin-bottom: 20px;
    object-fit: contain;
    width: 75px !important;
}
.page-service-info .d_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.page-service-info .d_flex .d_flex-l{
    text-align: center;
    width: 50%;
}
.page-service-info .d_flex .d_flex-r{
    width: 43%;
}
.page-service-info .d_flex .d_flex-l h4{
    text-align: center;
    font-size: 24px;
    line-height: normal;
    letter-spacing: -0.72px;
}
.page-service-info .d_flex .d_flex-l h3 img{
    max-height: 45px;
    margin: 40px 0;

}
.page-service-info .d_flex .d_flex-l .btn a{
    border-radius: 110px;
    background: #67ACCB;
    display: inline-block;
    color: #fff;
    font-family: Lexend;
    font-size: 16px;
    font-weight: 500;
    line-height: 102.3%;
    padding: 0.95em 2.1em;
    position: relative;
    margin: 40px 0 0;
}
.page-service-info .d_flex .d_flex-l .btn a svg{
    position: absolute;
    right: 0.75em;
    top: 1em;
}
.page-service-info .d_flex .d_flex-w3{
    width: 32%;
    text-align: center;
}
.page-service-info .d_flex .d_flex-w3 h3{
    color: #67ACCB;
    font-size: 20px;
    margin: 7px 0;
}
.page-service-info .d_flex .d_flex-w3 p{
    font-size: 14px;
}
.page-service-info #other .d_flex{
    gap: 32px 2%;
    justify-content: left;
}
@media only screen and (max-width: 768px){
    .page-service-info__header {
        padding: 14px 0;
    }
    .page-service-info__header .logo a{
        line-height: 1;
    }
    .page-service-info__header h1 {
        font-size: 16px;
    }
    .page-service-info__header h1 span {
        font-size: 10px;
    }
    .page-service-info main h2{
        font-size: 24px;
        margin-top: 0;
    }
    .page-service-info main .menu {
        overflow-x: scroll;
        margin: 0 0 0 30px;
    }
    .page-service-info main h2 br{
        display: inline;
    }    
    .page-service-info main .menu ul{
        width: 770px;
    }
    .page-service-info main .menu a {
        font-size: 12px;
    }
    .page-service-info main .menu img {
        height: 55px !important;
        width: 55px !important;
    }

    .page-service-info .d_flex {
        display: block;
        padding: 0 30px;
    }
    .page-service-info .d_flex .d_flex-l, .page-service-info .d_flex .d_flex-r,
    .page-service-info .d_flex .d_flex-w3 {
        width: auto;
    }
    .page-service-info .d_flex .d_flex-l h4 {
        font-size: 16px;
    }
    .page-service-info .d_flex .d_flex-w3 p,
    .page-service-info .d_flex .d_flex-l p {
        font-size: 12px;
    }
    .page-service-info .d_flex .d_flex-w3 p br,
    .page-service-info .d_flex .d_flex-l p br{
        display: none;
    }
    .page-service-info .d_flex .d_flex-l h3 img,
    .page-service-info .d_flex .d_flex-l .btn a{
        margin: 30px 0;
    }
    .page-service-info .d_flex .d_flex-r {
        padding: 0 10%;
    }
    .page-service-info .d_flex .d_flex-w3 {
        padding-bottom: 30px;
    }
}


/*------------------------------------*\
    page-service
\*------------------------------------*/
section:not(:first-child).page-service{
    max-width: 1042px;
    margin: auto;
    padding: 40px 0;
}
.page-service h2 {
    font-size: 28px;
    margin: 2em 0 1.12em 0; 
    margin-left: 0.5em;
    text-indent: -0.5em;
    line-height: 1.35;
}
.page-service h2:before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 1.4em;
    border-radius: 3px;
    background: #67accb;
    vertical-align: top;
    margin-right: 0.35em;
}
.page-service .d_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.page-service .d_flex .d_flex-l{
    text-align: center;
    width: 50%;
}
.page-service .d_flex .d_flex-r{
    width: 43%;
}
.page-service .d_flex .d_flex-l h4{
    text-align: center;
    font-size: 24px;
    line-height: normal;
    letter-spacing: -0.72px;
}
.page-service .d_flex .d_flex-l h3 img{
    max-height: 45px;
    margin: 20px 0;
}
.page-service .points{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 40px;
}
.page-service .points div{
  width: 32%;
  background: #EFEFEF;
  padding: 24px;
  text-align: center;
}
.page-service .points div:nth-child(2n){
  background: #F9F9F9;
}
.page-service .points div svg{
  width: 47px;
  height: 47px;
}
.page-service .points div h5{
  font-size: 16px;
  margin-top: 10px;
}

.page-service#other .image{
  width: 45%;
  margin-bottom: 24px;
}
.page-service#other .text{
  width: 51%;
}
.page-service#other .text h3{
  color: #67ACCB;
  font-size: 20px;
}
.page-service#other .text .view-btn {
    margin: 20px auto;
    float: right;
}
.page-service#other .text .view-btn a {
    padding: 0.4em 50px 0.4em 1em;
    font-size: 0.95em;
}
.page-service#other .text .view-btn a:after {
    font-size: 1rem;
    top: calc(50% - 0.5rem);
}

@media only screen and (max-width: 768px){
  section:not(:first-child).page-service {
    padding: 4vw;
  }
  .page-service h2 {
    font-size: 4.3vw;
  }
  .page-service .d_flex{
    display: block;
  }
  .page-service .d_flex .d_flex-l,
  .page-service .d_flex .d_flex-r{
    width: auto;
  } 
  .page-service .d_flex .d_flex-l {
    margin: 5vw 0;
  }
  .page-service .d_flex .d_flex-r {
    margin: 0 13vw;
  }
  .page-service .d_flex .d_flex-l h4 {
    font-size: 16px;
  }
  .page-service .d_flex .d_flex-l p {
    font-size: 14px;
  }
  .page-service .d_flex .d_flex-l p br{
    display: none;
  }
  .page-service .points {
    display: block;
  }
  .page-service .points div {
    width: auto;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2vw 0;
  }
  .page-service .points div h5 {
    font-size: 14px;
    width: 80%;
    margin: 0;
  }
  .page-service#other{
    margin-bottom: 30px;
  }
  .page-service#other .image,
  .page-service#other .text{
    width: auto;
  }
  .page-service#other .image{
    margin-bottom: 10px;
  }
  .page-service#other .text .view-btn{
    margin: 10px auto 36px;
  }
}