:root{--hl-pink:#E85298;--hl-pink-dark:#da3280;--hl-pink-light:#ffc8f6;--hl-text:#111;--hl-gray:#666;--hl-border:#e5e5e5;--hl-bg:#faf8f9}
html{scroll-behavior:smooth}
body{font-family:Arial,sans-serif;line-height:1.8;background-color:#fff;color:#000;margin:0;padding:0;font-size:16px;letter-spacing:.8px;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:100%;min-height:100vh}*{box-sizing:border-box}
.logo{background-color:#fff}
.header_job_cta{
    display: none;
}
.header_bottom{background-color:var(--hl-pink);box-shadow:0 3px 5px #db1571}
header .logo img{height:50px}
.hamburger{display:block;width:30px;height:24px;position:absolute;top:15px;right:15px;z-index:1000;cursor:pointer}
.hamburger span{display:block;height:3px;width:100%;background:#4d4b4c;margin:5px 0;transition:.4s;transform-origin:center}
.menu{position:fixed;top:0;right:0;width:250px;height:100%;background-color:var(--hl-pink);transform:translateX(100%);transition:.5s;padding-top:60px;z-index:999}
.menu ul{list-style:none;padding:0}.menu ul li{position:relative}.menu ul li a{display:block;width:100%;padding:10px 15px;color:#111;text-decoration:none;font-weight:bold;text-align:center}
.menu ul li a,.menu ul li a.has_submenu{cursor:pointer}.menu ul li ul.submenu{display:none;max-height:0;overflow:hidden;transition:max-height .4s ease-in-out}.menu.active{transform:translateX(0)}
/* 現在ページを少し目立たせる */
.job_nav > a {
    font-weight: 700;
}
.hamburger.active span:nth-child(1){transform:rotate(405deg) translate(5px,5px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.black_bg{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:100;background-color:#111;opacity:0;visibility:hidden;transition:all .6s;cursor:pointer}
.nav_open .black_bg{opacity:.8;visibility:visible}
.privacy_inner{width:min(900px,88%);margin:0 auto}
.privacy_title{padding:58px 0;background:var(--hl-pink);color:#fff;text-align:center}
.page_en{margin:0 0 3px;font-size:.78rem;font-weight:bold;letter-spacing:.22em}
.privacy_title h1{margin:0;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.4}
.privacy_content{padding:70px 0 90px}
.privacy_body{max-width:820px}
.privacy_intro{margin:0 0 48px;padding:24px;background:var(--hl-bg);border-left:4px solid var(--hl-pink);color:#444}
.policy_section{padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid var(--hl-border)}
.policy_section h2{margin:0 0 17px;padding-left:13px;border-left:4px solid var(--hl-pink);font-size:1.25rem;line-height:1.5}
.policy_section p{margin:0 0 13px}
.policy_section ul,.policy_section ol{margin:16px 0;padding-left:1.6rem}
.policy_section li{margin-bottom:8px}
.policy_note{padding:14px 16px;background:var(--hl-bg);color:#555;font-size:.9rem}
.company_info dl{margin:20px 0 0}
.company_info dl>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid #eee}
.company_info dt{font-weight:bold}
.company_info dd{margin:0}
.company_info a{color:var(--hl-pink);font-weight:bold;text-decoration:none}
.effective_date{margin:45px 0 0;text-align:right;font-size:.9rem;color:#555}
#footer{width:100%;background-color:var(--hl-pink-light)}
.footer_area{padding-top:.5rem}
.footer_contact{display:flex;margin:2rem 5%}
.footer_contact_inner1{margin:0 auto;padding:0;display:table;width:90%}
.footer_contact_inner2{width:10%}.f_contact_box2{padding-right:20rem}
.f_contact_box{display:table-cell}
footer .f_contact_box img{display:block;letter-spacing:3px;height:30px}
.f_contact_text01{font-size:1rem}
.f_contact_text02{margin:5px 0 0;font-size:1rem}.f_telno{font-size:2.5rem;font-weight:bold;font-style:normal;letter-spacing:1px;color:var(--hl-pink);text-decoration:none}
.f_time{margin-left:-7px;font-size:1rem;vertical-align:text-bottom}
.bold{font-weight:bold;color:#4d4b4c}
.f_line{padding-top:80px}
.copyright{background:var(--hl-pink);color:#fff;text-align:center}
.copyright p{margin:0}

@media(min-width:768px){
    header{position:fixed;top:0;left:0;width:100%;z-index:1000;background-color:#fff;box-shadow:0 2px 5px rgba(0,0,0,.1)}
    main{margin-top:116px}
    .logo{padding:10px 0 10px 5%}
    /* header_top */
    .header_top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        box-sizing: border-box;
    }
    /* PCではナビ内のお仕事リンクを非表示 */
    .mobile_job_nav {
        display: none !important;
    }
    /* PC右上のお仕事CTA */
    .header_job_cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        margin-right: 5%;
        padding: 11px 24px;

        background: #E85298;
        color: #fff;

        text-decoration: none;
        font-size: 0.9rem;
        font-weight: bold;
        
        border-radius: 6px;
        
        transition:background-color 0.2s,transform 0.2s;
    }
    .header_job_cta:hover {
        background: #da3280;
        transform: translateY(-1px);
    }
    .hamburger{display:none}
    .menu{position:relative;width:100%;transform:none;height:auto;padding-top:0;background-color:transparent}
    .menu ul{display:flex;list-style-type:none;padding:0;margin:0;width:100%}
    .accordion{display:table;flex:1;border-right:1px solid #fff;min-width:0;background-color:transparent;transition:background-color .3s ease}
    .accordion:hover{background-color:var(--hl-pink-dark)}
    .menu ul li a{display:table-cell;text-align:center;color:#fff}
    .menu ul li ul.submenu{position:absolute;background-color:#fff;display:none;top:100%;left:0;width:100%;max-height:none;overflow:visible}
    .menu ul li:hover ul.submenu{display:block}
    .menu ul li ul.submenu li a{display:block;color:var(--hl-pink)}
    .menu ul li ul.submenu li a:hover{color:#bd3f7a}}

@media(max-width:767px){
    .logo{padding:10px 0 10px 3%}
    .header_job_cta {
        display: none;
    }

    .mobile_job_nav {
        display: block;
    }

    .job_nav {
        padding: 10px 12px;
    }

    .job_nav > a {
        border: 2px solid #fff !important;
        padding: 10px 12px !important;
        background: rgba(255,255,255,.10);
    }

    .menu ul{display:block;margin:0;padding:0}
    .menu ul li a{color:#fff;text-align:left;border-bottom:1px solid #fff}
    .menu ul li ul.submenu li a{padding-left:35px;font-size:.95rem;background-color:rgba(255,255,255,.2);border-bottom:1px dashed #fff;color:#fff;text-align:left}
    .privacy_title{padding:42px 0}
    .privacy_content{padding:50px 0 65px}
    .privacy_intro{padding:18px;margin-bottom:38px;font-size:.9rem}
    .policy_section{padding-bottom:28px;margin-bottom:30px}
    .policy_section h2{font-size:1.08rem}
    .policy_section p,.policy_section li{font-size:.9rem}
    .company_info dl>div{grid-template-columns:1fr;gap:3px;padding:11px 0}
    #footer{background-color:var(--hl-pink-light)}
    .footer_area{padding:3% 0}
    .footer_contact{display:flex;flex-direction:column;text-align:center;margin:0}
    .footer_contact_inner1{margin:0 auto;padding:0;display:block;width:auto}
    .footer_contact_inner2{width:auto}
    .f_contact_box{display:block}
    .f_contact_box2{padding-right:0}
    .footer_contact p{margin:0}
    footer .f_contact_box img{height:30px;padding-bottom:10px;margin:0 auto}
    .f_contact_text01,.f_contact_text02,.f_time{font-size:.75rem}
    .f_telno{font-size:1.5rem}.f_line{padding:10px}}
