@charset "UTF-8";
/* reset.css */
*{margin:0;padding:0;line-height:calc(0.25rem + 1em + 0.25rem)}*,::before,::after{box-sizing:border-box}*:where(:not(fieldset,progress,meter)){border-width:0;border-style:solid;background-origin:border-box;background-repeat:no-repeat}html{block-size:100%;-webkit-text-size-adjust:none}@media (prefers-reduced-motion:no-preference){html:focus-within{scroll-behavior:smooth}}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeSpeed;min-block-size:100%}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,svg,video){block-size:auto;max-inline-size:100%}:where(svg){stroke:none;fill:currentColor}:where(svg):where(:not([fill])){stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}:where(svg):where(:not([width])){inline-size:5rem}:where(input,button,textarea,select),:where(input[type="file"])::-webkit-file-upload-button{color:inherit;font:inherit;font-size:inherit;letter-spacing:inherit}:where(textarea){resize:vertical}@supports (resize:block){:where(textarea){resize:block}}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}h1{font-size:2em}:where(ul,ol)[role="list"]{list-style:none}a:not([class]){text-decoration-skip-ink:auto}:where(a[href],area,button,input,label[for],select,summary,textarea,[tabindex]:not([tabindex*="-"])){cursor:pointer;touch-action:manipulation}:where(input[type="file"]){cursor:auto}:where(input[type="file"])::-webkit-file-upload-button,:where(input[type="file"])::file-selector-button{cursor:pointer}@media (prefers-reduced-motion:no-preference){:focus-visible{transition:outline-offset 145ms cubic-bezier(.25,0,.4,1)}:where(:not(:active)):focus-visible{transition-duration:0.25s}}:where(:not(:active)):focus-visible{outline-offset:5px}:where(button,button[type],input[type="button"],input[type="submit"],input[type="reset"]),:where(input[type="file"])::-webkit-file-upload-button,:where(input[type="file"])::file-selector-button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;text-align:center}:where(button,button[type],input[type="button"],input[type="submit"],input[type="reset"])[disabled]{cursor:not-allowed}

/* common.css */
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
body {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}
.wrapper,
.wrapper * {
    box-sizing: border-box;
}
ul li{
    list-style: none;
}
a {
    text-decoration: none;
    color: #333;
    transition: .3s;
}
br.sp_none{
    display:none;
}
.common_bnr_area {
    width:100%;
    text-align:center;
    background: #00000070;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index:20;
}
.common_bnr_area a {
    padding:10px;
}
.common_bnr_area img{
    margin:auto;
    width:100%;
    max-width:980px;
}
@media screen and (min-width: 768px){
	.common_bnr_area a{
        padding: 10px 20px;
	}
    br.sp_none{
        display:block;
    }
}
/* header_footer.css */
.snv,
.gnv {
    list-style: none;
}
/* header */

#top-head {
    position: relative;
    width: 100%;
    line-height: 1;
    z-index: 999;
    height: 99px;
}
#top-head .inner {
    position: relative;
    width: 100%;
    max-width:1000px;
    margin:auto;
}
.head_logo {
    position: absolute;
    left: 0;
    top: 0;
}
.logo_stay {
    position: absolute;
    left: 37px;
    top: 18px;
}
.logo_move {
    position: absolute;
    display: none;
}
a.scroll_point {
    display: block;
    box-sizing: content-box;
    margin-top: -180px;
    padding-top: 180px;
}
.snv {
    width: fit-content;
    position: absolute;
    right:15px;
    top:5px;
}
.snv .snaviprivacypolicy{
    display: none;
}
.snv a {
    font-weight: bold;
    font-size: 16px;
    text-decoration: none;
    padding: 3px 20px;
    border-radius: 50px;
    border: 1px solid #999;
    transition: .3s;
}
.snv a:hover {
    color: #3766E8;
    border-color: #3766E8;
}

/* Fixed */
#top-head.fixed .head_logo {
    display: none;
}
#top-head.fixed .logo_move {
    display: block;
}
#top-head.fixed .gnv a {
    background: none;
    height: auto;
    width: auto;
    font-weight: bold;
    color: #454545;
    text-decoration: none;
}
#top-head.fixed .gnv a:hover {
    text-decoration: underline;
}
#top-head {
    margin-top: 0;
    top: 0;
    position: fixed;
    padding-top: 10px;
    height: 55px;
    background: rgba(255,255,255,.8);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
    box-shadow: 0px 5px 5px -2.5px rgba(0, 0, 0, .05);
    transition: top 0.65s ease-in;
}
#top-head .head_logo {
    display: none;
}
#top-head .logo_move {
    display: block;
    width: 150px;
    height:auto;
    left: 10px;
}
.gnv {
    position: absolute;
    width: auto;
    height: auto;
    left: 190px;
    top: 7px;
    display: flex;
}
.gnv li {
    float: none;
    list-style: none;
    height: auto;
    text-indent: 0;
    line-height: 1.2;
    padding: 0;
    font-size:15px;
    margin-right: 25px;
}
.gnv li:last-child {
    margin-right: 0;
}
#global-nav .gnv li a {
    background: none;
    width: auto;
    height: auto;
}
.gnv a {
    font-size: 1.125em;
    font-weight: bold;
    color: #454545;
    text-decoration: none;
}
.gnv a:hover {
    text-decoration: underline;
}
/* gnv以外 */
.contents {
    padding: 56px 0 0;
}

/* Toggle Button */
#nav-toggle {
    display: none;
    position: absolute;
    right: 12px;
    top: 14px;
    width: 34px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
}
.logo_link {
    display: none;
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #4B5461;
    left: 0;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
    top: 0;
}
#nav-toggle span:nth-child(2) {
    top: 11px;
}
#nav-toggle span:nth-child(3) {
    top: 22px;
}
@media screen and (max-width: 740px) {
    #top-head {
        width: 100%;
        padding: 0;
    }
    #top-head {
        top: 0;
        position: fixed;
        margin-top: 0;
        height: 0;
        background: none;
    }
    /* Fixed reset */
    #top-head.fixed {
        padding-top: 0;
        background: transparent;
    }
    #mobile-head {
        background: rgba(255, 255, 255, .8);
        box-shadow: 0px 5px 5px -2.5px rgba(0, 0, 0, .1);
        width: 100%;
        height: 56px;
        z-index: 999;
        position: relative;
    }
    #top-head.fixed .logo_move,
    #top-head .logo_move {
        display: none;
    }
    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -500px;
        background: rgba(255,255,255,.95);
        width: 100%;
        text-align: center;
        padding: 5px 0 0;
        transition: .5s ease-in-out;
    }
    #nav-toggle {
        display: block;
    }
    .logo_link {
        display: block;
        position: absolute;
        left: 10px;
        top: 10px;
    }
    .logo_link img{
        width:150px;
        height:auto;
    }
    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        transform: rotate(-315deg);
    }
    /* #global-nav スライドアニメーション */
    .open #global-nav {
        transform: translateY(555px);
        box-shadow: 0px 10px 10px -5px rgba(0,0,0,.25);
    }
    #top-head.open .gnv,
    #top-head.open .gnv li {
        display: block;
        position: static;
        padding: 0;
        margin: 0;
        line-height: 2.5;
    }
    #top-head.open .gnv>li {
        border-bottom: 1px solid #d1d1d1;
        padding: 4px;
    }
    .open .snv {
        display: flex;
        width: 100%;
        position: static;
        font-size:15px;
    }
    .open .snv li {
        margin: 0;
        width: calc((100% - 1px) / 2);
    }
    .open .snv li:nth-of-type(odd) {
        border-right: 1px solid #ccc;
    }
    .snv .snaviprivacypolicy {
        display: block;
    }
    .open .snv a {
        display: block;
        border-radius: 0;
        border: 0;
        padding: 15px 0;
        height: auto;
        font-weight: normal;
    }
}

/* footer
-------------------------------------------------*/
footer .back_to_top{
    display:block;
    width:210px;
    font-size:14px;
    padding:10px 15px;
    margin:0 0 0 auto;
}
footer .back_to_top span{
    background:url(../images/ico_arrow.svg) no-repeat 98% 4px;
    background-size: 12px auto;
    padding:0 20px 0 0;
}
footer .inquiry_wrap{
    width:100%;
    border-top: 1px solid #eee;
}
footer .inquiry{
    display:flex;
    flex-direction: column; 
    text-align:center;
    padding:15px;
}
footer .inquiry dt,
footer .inquiry a{
    font-weight:bold;
}
footer .inquiry dt{
    font-size:18px;
    padding:0 0 15px;
}
footer .inquiry .mail a{
    display: inline-block;
    width: 100%;
    max-width: 245px;
    font-size:18px;
    padding:10px;
    border:1px solid #d1d1d1;
    border-radius:6px;
    margin:0 auto 15px;
    background:#fff;
}
footer .inquiry .mail a span{
    position:relative;
    padding-left:25px;
    background:url(../images/ico_mail.svg) no-repeat left center;
    background-size:20px auto;
}
footer .inquiry .tel a{
    font-size:30px;
    color:#393F48;
    letter-spacing: 0.04em;
}
footer .inquiry .tel p{
    font-size:13px;
}
footer .footer_inner{
    background: #393F48;
    color: #EBEEF2;
}
footer .footer_inner a {
    color: #EBEEF2;
}
footer .pr_box {
    background: #D1D1D1;
    display: flex;
    flex-direction: column;
    padding: 15px;
    color: #333;
    gap:15px;
}
footer .pr_box li {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 6px;
    padding: 10px;
    font-size: 12px;
}
footer .pr_box li:last-child {
    margin: 0;
}
footer .pr_box li:not(.txt) a {
    width: 120px;
}
footer .pr_box li:not(.txt) p {
    width: calc(100% - 120px);
}
footer .footer_inner .pr_box a {
    color: #3766E8;
}
footer .pr_box a img {
    margin: auto;
}
footer .pr_box .p_mark a img {
    width: 65px;
}
footer .pr_box .pca_partner a img {
    width: 135px;
}
footer address {
    font-style: normal;
}
footer .fb_link {
    display: block;
    width: 40px;
    height: auto;
    opacity: .7;
    margin: 10px auto 15px 15px;
}
footer .fb_link img {
    width: 100%;
}
footer nav li {
    line-height: 1.3;
    margin: 0 0 15px;
}
footer nav>ul {
    padding: 15px 15px 0;
}
footer nav>ul>li {
    padding: 12px 0 10px;
}
footer nav .links>li {
    border-bottom: 1px solid #676A6E;
}
footer nav .links>li>a {
    display: block;
    font-weight: bold;
    color: #fff;
    font-size: 1.1em;
    margin: 0 0 15px;
    letter-spacing: .08em;
}
footer nav .links .gnv_lv2 {
    display: flex;
    flex-wrap: wrap;
}
footer nav .links .gnv_lv2>li {
    width: 50%;
}
footer nav .links_lv2 li {
    padding: 0;
}
footer .address_box {
    border-top: 1px solid #676A6E;
    margin: 0 15px;
    padding: 20px 5px;
}
footer .address_box p,
footer .address_box address {
    line-height: 2.5;
}
footer small {
    display:block;
    text-align:center;
    padding: 5px 15px;
    background:#21252b;
    color: #858b93;
}

@media screen and (min-width: 768px){
    footer .res_line{
        display:none;
    }
    footer .inquiry {
        flex-flow: row wrap;
        align-items: center;
        justify-content: space-between;
        max-width:720px;
        margin:auto;
        padding:40px 0;
    }
    footer .inquiry dt{
        width:100%;
        padding:0 0 15px;
    }
    footer .inquiry dd{
        width:50%;
        max-width:348px;
    }
    footer .inquiry .mail a{
        margin:auto;
    }
    footer .inquiry .tel a{
        pointer-events:none;
    }
    footer .pr_box {
        flex-direction: row;
        justify-content: center;
    }
    footer .pr_box li {
        max-width:350px;
    }
    footer .nav_wrap{
        max-width:1000px;
        margin:auto;
    }
    footer .links{
        display:flex;
        flex-wrap: wrap; 
    }
    footer .navitop{
        width:100%;
    }
    footer .navicorporateinfo,
    footer .navisolution,
    footer .navirecruit,
    footer .naviproducts{
        width:calc(100% / 4);
    }
    footer nav .links .gnv_lv2 {
        flex-wrap: column;
    }
    footer nav .links .gnv_lv2>li {
        width:100%;
        padding-right: 30px;
    }
    footer .links_lv2{
        display:flex;
    }
    footer .links_lv2 > li{
        margin:0 15px 0 0;
    }
    footer .address_box address{
        line-height:1.7;
    }
}