:root {
    --icon-arrow-right: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M6%2014c-.26%200-.51-.1-.71-.29a.996.996%200%200%201%200-1.41L9.59%208l-4.3-4.29A.996.996%200%201%201%206.7%202.3l5%205c.19.18.3.43.3.7s-.11.52-.29.71l-5%205c-.2.19-.45.29-.71.29z%22%2F%3E%3C%2Fsvg%3E");
    --icon-check: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M5.61%2011.71c.2.19.46.29.72.29.26%200%20.52-.1.72-.29L13.2%205.7c.4-.39.4-1.02%200-1.41-.4-.39-1.04-.39-1.44%200L6.33%209.6%204.24%207.56c-.4-.39-1.04-.39-1.44%200-.4.39-.4%201.02%200%201.41l2.81%202.74z%22%2F%3E%3C%2Fsvg%3E");
    --icon-plus: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M14%207H9V2H7v5H2v2h5v5h2V9h5V7z%22%2F%3E%3C%2Fsvg%3E");
    --icon-tel: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M6.3%206.5c-.3-.4-.1-.9.3-1.2L8%204.5c.4-.2.5-.7.3-1.1L6.6.4C6.4%200%205.9-.1%205.5.1L4%201c-1.8%201.1-3%204.1.2%209.6s6.4%206%208.2%205l1.5-.8c.4-.2.5-.7.3-1.1l-1.7-2.9c-.2-.4-.7-.5-1.1-.3l-1.5.8c-.4.2-.9.1-1.1-.3L6.3%206.5z%22%2F%3E%3C%2Fsvg%3E");
    --icon-mail: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22m16%209.2-2.1-2.1L16%205.3zM2.1%207.1%200%209.2V5.3zM16%2011.2V14H0v-2.8L3.1%208%208%2012.2%2012.9%208z%22%2F%3E%3Cpath%20d%3D%22M16%202v1.7l-8%206.9-8-6.9V2z%22%2F%3E%3C%2Fsvg%3E");
    --icon-new-window: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%3E%3Cpath%20d%3D%22M4.25%202v9.75H14V2H4.25zm8.81%208.81H5.19V2.94h7.88v7.87z%22%2F%3E%3Cpath%20d%3D%22M2.94%2013.06V4.25H2V14h9.75v-.94H2.94z%22%2F%3E%3Cpath%20d%3D%22m7.46%209.33%202.76-2.76v1.99h.94V4.97H7.57v.94h1.99L6.79%208.67l.67.66z%22%2F%3E%3C%2Fsvg%3E");
    --color-white: #fff;
    --color-black: #000;
    --color-black-light: #222;
    --color-gray: #666;
    --color-gray-light: #909090;
    --color-gray-light-b: #707070;
    --color-gray-light-c: #ddd;
    --color-gray-pale: #f6f6f6;
    --color-gray-pale-b: #eee;
    --color-gray-pale-c: #F8F8F8;
    --color-blue: #0086cd;
    --color-blue-b: #0075C4;
    --color-green: #0b6d7d;
    --color-blue-gradient: linear-gradient(45deg, #0077CA 0%, #0086cd 100%);
    --color-red: #c7192a;
    --font-sans: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    --font-serif: "Times New Roman", "Noto Serif JP", YuMincho, "Yu Mincho", "HGP明朝B", serif;
    --font-en: Satisfy, cursive, sans-serif;
    --transition-duration: 0.15s;
    --transition-opacity: 0.65;
    --container-size-xsmall: clamp(512px, 54.7794117647vw, 745px);
    --container-size-small: clamp(0px, 74.2647058824vw, 1010px);
    --container-size-medium: min( calc( 100% - clamp(0px, 17.6470588235vw, 240px) ), 1180px );
    --container-size-large: min( calc( 100% - clamp(0px, 17.6470588235vw, 240px) ), 1360px );
    --font-10: 10px;
    --font-11: clamp(11px, 0.8088235294vw, 11px);
    --font-12: clamp(11px, 0.8823529412vw, 12px);
    --font-13: clamp(12px, 0.9558823529vw, 13px);
    --font-14: clamp(13px, 1.0294117647vw, 14px);
    --font-15: clamp(13px, 1.1029411765vw, 15px);
    --font-16: clamp(14px, 1.1764705882vw, 16px);
    --font-17: clamp(14px, 1.25vw, 17px);
    --font-18: clamp(15px, 1.3235294118vw, 18px);
    --font-19: clamp(16px, 1.3970588235vw, 19px);
    --font-20: clamp(16px, 1.4705882353vw, 20px);
    --font-21: clamp(17px, 1.5441176471vw, 21px);
    --font-22: clamp(18px, 1.6176470588vw, 22px);
    --font-23: clamp(18px, 1.6911764706vw, 23px);
    --font-24: clamp(19px, 1.7647058824vw, 24px);
    --font-25: clamp(19px, 1.8382352941vw, 25px);
    --font-26: clamp(20px, 1.9117647059vw, 26px);
    --font-27: clamp(21px, 1.9852941176vw, 27px);
    --font-28: clamp(21px, 2.0588235294vw, 28px);
    --font-29: clamp(22px, 2.1323529412vw, 29px);
    --font-30: clamp(23px, 2.2058823529vw, 30px);
    --font-31: clamp(23px, 2.2794117647vw, 31px);
    --font-32: clamp(24px, 2.3529411765vw, 32px);
    --font-33: clamp(24px, 2.4264705882vw, 33px);
    --font-34: clamp(25px, 2.5vw, 34px);
    --font-35: clamp(26px, 2.5735294118vw, 35px);
    --font-36: clamp(26px, 2.6470588235vw, 36px);
    --font-37: clamp(27px, 2.7205882353vw, 37px);
    --font-38: clamp(28px, 2.7941176471vw, 38px);
    --font-39: clamp(28px, 2.8676470588vw, 39px);
    --font-40: clamp(29px, 2.9411764706vw, 40px);
    --font-41: clamp(29px, 3.0147058824vw, 41px);
    --font-42: clamp(30px, 3.0882352941vw, 42px);
    --font-43: clamp(31px, 3.1617647059vw, 43px);
    --font-44: clamp(31px, 3.2352941176vw, 44px);
    --font-45: clamp(32px, 3.3088235294vw, 45px);
    --font-46: clamp(33px, 3.3823529412vw, 46px);
    --font-47: clamp(33px, 3.4558823529vw, 47px);
    --font-48: clamp(34px, 3.5294117647vw, 48px);
    --font-49: clamp(34px, 3.6029411765vw, 49px);
    --font-50: clamp(35px, 3.6764705882vw, 50px);
    --font-51: clamp(36px, 3.75vw, 51px);
    --font-52: clamp(36px, 3.8235294118vw, 52px);
    --font-53: clamp(37px, 3.8970588235vw, 53px);
    --font-54: clamp(38px, 3.9705882353vw, 54px);
    --font-55: clamp(38px, 4.0441176471vw, 55px);
    --font-56: clamp(39px, 4.1176470588vw, 56px);
    --font-57: clamp(39px, 4.1911764706vw, 57px);
    --font-58: clamp(40px, 4.2647058824vw, 58px);
    --font-59: clamp(41px, 4.3382352941vw, 59px);
    --font-60: clamp(41px, 4.4117647059vw, 60px);
    --font-65: clamp(44px, 4.7794117647vw, 65px);
    --font-100: clamp(66px, 7.3529411765vw, 100px) ;
}

@media (max-width: 767px) {
    :root {
        --container-size-xsmall: 90vw;
        --container-size-small: 90vw;
        --container-size-medium: 90vw;
        --container-size-large: 95vw;
    }
}

._d-none {
    display: none !important;
  }
  
  ._d-block {
    display: block !important;
  }
  
  ._d-inline-block {
    display: inline-block !important;
  }
  
  ._d-inline {
    display: inline !important;
  }
  
  ._d-flex {
    display: flex !important;
  }
  
  ._d-inline-flex {
    display: inline-flex !important;
  }
  
  @media (min-width: 560px) {
    ._d-sm-none {
      display: none !important;
    }
    ._d-sm-block {
      display: block !important;
    }
    ._d-sm-inline-block {
      display: inline-block !important;
    }
    ._d-sm-inline {
      display: inline !important;
    }
    ._d-sm-flex {
      display: flex !important;
    }
    ._d-sm-inline-flex {
      display: inline-flex !important;
    }
  }
  @media (min-width: 768px) {
    ._d-md-none {
      display: none !important;
    }
    ._d-md-block {
      display: block !important;
    }
    ._d-md-inline-block {
      display: inline-block !important;
    }
    ._d-md-inline {
      display: inline !important;
    }
    ._d-md-flex {
      display: flex !important;
    }
    ._d-md-inline-flex {
      display: inline-flex !important;
    }
  }
  @media (min-width: 960px) {
    ._d-lg-none {
      display: none !important;
    }
    ._d-lg-block {
      display: block !important;
    }
    ._d-lg-inline-block {
      display: inline-block !important;
    }
    ._d-lg-inline {
      display: inline !important;
    }
    ._d-lg-flex {
      display: flex !important;
    }
    ._d-lg-inline-flex {
      display: inline-flex !important;
    }
  }
  @media (min-width: 1200px) {
    ._d-xl-none {
      display: none !important;
    }
    ._d-xl-block {
      display: block !important;
    }
    ._d-xl-inline-block {
      display: inline-block !important;
    }
    ._d-xl-inline {
      display: inline !important;
    }
    ._d-xl-flex {
      display: flex !important;
    }
    ._d-xl-inline-flex {
      display: inline-flex !important;
    }
  }

/* 事業所一覧 */
#page_body > .breadcrumbs{
    margin-bottom: clamp(30px, 4.6511627907vw, 80px)
}
.office_kv{
    background: url(../img/office/office_kv.jpg);
    background-position: top;
    background-size: cover;
    background-repeat: no-repeat;
}
.office{
    background-color: var(--color-gray-pale-c);
    padding: clamp(30px, 4.6511627907vw, 80px) 0 clamp(0px, 2.3255813953vw, 40px);
}
.office_marg{
     padding-bottom: clamp(30px, 4.6511627907vw, 80px);
}
.office_wrap{
    background-color: var(--color-white);
    margin: 0 clamp(0px, 11.6279069767vw, 200px);
}
.office_flx{
    display: flex;
    padding: clamp(0px, 4.5930232558vw, 79px) clamp(0px, 4.6511627907vw, 80px);
}
.office_img{
    width: 50%;
}
.office_info{
    margin-left: clamp(0px, 2.3255813953vw, 40px);
    margin-top: clamp(0px, 4.3604651163vw, 75px);
    width: 50%;
}
.office_info > h3{
    position: relative;
    font-size: var(--font-30);
    font-weight: bold;
    padding-bottom: clamp(0px, 2.2674418605vw, 39px);
    border-bottom: 1px solid #CECACA;
}
.office_info > h3::before{
    content: "";
    position: absolute;
    bottom: -1%;
    left: 0;
    width: 20%;
    border-top: 2px solid var(--color-blue-b);
}
.office_info--list{
    font-size: var(--font-18);
    margin-top: clamp(0px, 2.3255813953vw, 40px);
}
.office_info--list > div{
    display: flex;
}
.office_info--list > div + div{
    margin-top: clamp(9px, 1.1363636364vw, 20px);
}
.office_info--list > div > dt{
    flex: 1 1 22%;
    max-width: 22%;
}
.office_info--list > div > dd{
    flex: 1 1 0%;
    margin-left: 0;
}
.office_map{
    padding: 0 clamp(0px, 4.6511627907vw, 80px) clamp(0px, 4.6511627907vw, 80px);
}

@media (max-width:767px) {
    .office_wrap{
        margin: 0 15px;
    }
    .office_flx{
        flex-direction: column;
        padding: 20px 10px;
    }
    .office_img{
        width: 100%;
    }
    .office_img > img{
        margin: 0 auto;
    }
    .office_info{
        width: 100%;
    }

}

/* 404 */
.notfound-container{
    max-width: var(--container-size-medium);
    margin: 0 auto;
    padding: clamp(125px,14.7058823529vw,200px) 0 clamp(138px,16.1764705882vw,220px);
}
.notfound-container>.text{
    text-align: center;
    font-size: var(--font-15);
    line-height: 2;
    word-break: break-all;
}
@media (max-width:560px) {
    .notfound-container>.text{
        text-align: justify;
    }
}
.notfound-container>.action{
    margin-top: clamp(31px,3.6764705882vw,50px);
    text-align: center;
}
.c-btn{
    position: relative;
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: rgba(0,0,0,0);
    vertical-align: middle;
    font: inherit;
    text-decoration: none;
    text-align: inherit;
    line-height: 1;
    white-space: nowrap;
    color: inherit;
    cursor: pointer;
}
.c-btn.-typeA{
    justify-content: center;
    gap: 0.5em;
    min-width: clamp(248px,24.2647058824vw,330px);
    padding: 1.5em;
    background: var(--color-white);
    border: 1px solid var(--color-black-light);
    font-weight: bold;
    font-size: var(--font-16);
    letter-spacing: 0;
    color: var(--color-black-light);
    transition-property: opacity,background-color,border-color,color;
}
.c-btn.-typeA::after{
    content: "";
    width: 1em;
    aspect-ratio: 1/1;
    background: currentColor;
    -webkit-mask: var(--icon-arrow-right) no-repeat center/contain;
    mask: var(--icon-arrow-right) no-repeat center/contain;
}

/* サイトマップ */
.sitemap{
    max-width: var(--container-size-medium);
    /* margin: 0 auto; */
    margin: 0 clamp(0px, 14.5348837209vw, 250px);
    padding: clamp(30px, 4.6511627907vw, 80px) 0 clamp(30px, 4.6511627907vw, 80px);
    line-height: 2.2;
}
.sitemap > h2{
    position: relative;
    font-size: var(--font-30);
    font-weight: bold;
    border-bottom: 1px solid #CECACA;
}
.sitemap > h2::after{
    content: "";
    position: absolute;
    bottom: -1%;
    left: 0;
    width: 20%;
    border-top: 2px solid var(--color-blue-b);
}

@media (max-width:767px) {
    .sitemap{
        margin: 0 15px;
    }
}

.sitemap > .sitemap_ul{
    padding: 2em;
}
.sitemap ul.child{
    padding-left: 2em;
}

/* プライバシーポリシー */
.privacy{
    max-width: var(--container-size-medium);
    /* margin: 0 auto; */
    margin: 0 clamp(0px, 14.5348837209vw, 250px);
    padding: clamp(30px, 4.6511627907vw, 80px) 0 clamp(30px, 4.6511627907vw, 80px);
    line-height: 2.2;
}
.privacy_wrap > h2{
    position: relative;
    font-size: var(--font-30);
    font-weight: bold;
    border-bottom: 1px solid #CECACA;
    margin-bottom: 0.5em;
}
.privacy_wrap > h2::after{
    content: "";
    position: absolute;
    bottom: -1%;
    left: 0;
    width: 20%;
    border-top: 2px solid var(--color-blue-b);
}
@media (max-width:767px) {
    .privacy{
        margin: 0 15px;
    }
}
.privacy_wrap{
    margin: 2em 0;
}
.privacy_wrap > p{
    font-size: var(--font-16);
}

/* お問い合わせフォーム */
.contact_inner{
    max-width: var(--container-size-medium);
    margin: 0 auto;
}
.contact-container {
    max-width: var(--container-size-medium);
    margin: 0 auto;
    padding: clamp(44px, 5.8528428094vw, 70px) 0 clamp(50px, 4.6511627907vw, 80px);
}
.contact_inner > .lead {
    font-size: var(--font-17);
    line-height: 2;
    text-align: justify;
    word-break: break-all;
}
@media (min-width: 560px) {
    .contact_inner > .lead {
      text-align: center;
    }
}
.contact_inner > .lead > .heading {
    margin-bottom: 0.75em;
    font-size: var(--font-21);
    text-align: center;
}
.contact_inner > .lead > .heading.-error {
    color: var(--color-red);
}
.contact_inner > .form {
    margin-top: clamp(31px,3.6764705882vw,50px);
}
@media (min-width: 768px) {
    .contact_inner > .form {
        padding: clamp(47px,5.5147058824vw,75px) clamp(63px,7.3529411765vw,100px);
    }
}
.contact-flow {
    position: relative;
    display: flex;
    justify-content: space-between;
    max-width: clamp(188px, 25.0836120401vw, 300px);
    margin: 0 auto;
    font-size: var(--font-12);
}
.contact-flow::before {
    content: "";
    position: absolute;
    top: calc(0.4375em - 1px);
    right: 2.25em;
    left: 2.25em;
    border-top: 2px solid var(--color-gray-light-c);
}
.contact-flow > li {
    z-index: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.875em;
    width: 4.5em;
    text-align: center;
    color: var(--color-gray-light-c);
    white-space: nowrap;
}
.contact-flow > li::before {
    content: "";
    width: 0.875em;
    height: 0.875em;
    background: currentColor;
    border-radius: 100%;
}
.contact-flow > li.-current {
    color: var(--color-black);
}

.contact-form {
    margin-top: clamp(47px, 6.27090301vw, 75px);
}
.contact-form > div + div {
    margin-top: clamp(19px, 2.508361204vw, 30px);
}
.contact-form > div > dt {
    font-size: var(--font-16);
    line-height: 1.625;
}
.contact-form > div > dd {
    flex: 1 1 0%;
    margin-top: clamp(5px, 0.6688963211vw, 8px);
    font-size: var(--font-15);
    line-height: 1.5;
}
.contact-form > .contact_privacy {
    margin-top: clamp(38px, 5.016722408vw, 60px);
    margin-bottom: clamp(31px,3.6764705882vw,50px);
    text-align: center;
    line-height: 2;
}
.mw_wp_form_confirm .contact-form > .privacy > dd, .mw_wp_form_preview .contact-form > .privacy > dd {
    display: none;
}

.contact-form > .submit > dd {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: clamp(13px, 1.6722408027vw, 20px);
}
@media (min-width: 560px) {
    .contact-form > .submit > dd {
      flex-direction: row-reverse;
    }
}
.contact-form a {
    color: var(--color-red);
    text-decoration: underline;
}
.contact-form .required {
    margin-left: 0.25em;
    color: var(--color-red);
}

.c-form-control {
    --c-form-control-border: 1px solid var(--color-gray-light);
    --c-form-control-border-radius: 5px;
    --c-form-control-padding: .75em 1em;
    --c-form-control-background: var(--color-gray-pale);
    --c-form-control-line-height: 1.625;
    --c-form-control-font-size: 16px;
    --c-form-control-font-color: inherit;
    --c-form-control-textarea-padding: 1em;
}
@media (min-width: 768px) {
    .c-form-control {
      --c-form-control-padding: 1.125em;
      --c-form-control-font-size: var(--font-17);
    }
}

.c-form-control {
    box-sizing: border-box;
    display: block;
    width: 100%;
    margin: 0;
    padding: var(--c-form-control-padding, 0);
    border: var(--c-form-control-border, none);
    border-radius: var(--c-form-control-border-radius, 0);
    background: var(--c-form-control-background, transparent);
    font: inherit;
    font-size: var(--c-form-control-font-size, inherit);
    line-height: var(--c-form-control-line-height, inherit);
    color: var(--c-form-control-font-color, inherit);
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
.c-form-control:disabled {
    cursor: not-allowed;
}
textarea.c-form-control {
    padding: var(--c-form-control-textarea-padding, 0);
    resize: vertical;
}

select.c-form-control {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='22' viewBox='0 0 30 22'%3e%3cpath fill='%23343a40' d='M15 22L0 0h30z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: calc(100% - 0.75em) 50%;
    background-size: 0.5em auto;
}
select.c-form-control[multiple], select.c-form-control[size]:not([size="1"]) {
    background-image: none;
}

.c-form-control.-auto {
    display: inline-block;
    width: auto;
}

.c-btn.-contactAction {
    justify-content: center;
    min-width: clamp(175px, 23.4113712375vw, 280px);
    padding: 1.125em 3.25em;
    font-size: var(--font-16);
    text-align: center;
}
.c-btn.-contactAction.-submit {
    background: var(--color-blue);
    border: 3px solid var(--color-blue);
    color: var(--color-white);
}
.c-btn.-contactAction.-back {
    background: var(--color-white);
    border: 3px solid var(--color-blue);
    color: var(--color-blue);
}

/* rss */
.rss_container{
    padding-bottom: 7em;
    padding-top: 0;
}
@media (max-width:767px) {
    .rss_container{
        padding-bottom: 2em;
    }
}

/* ヘッダー　スクロース挙動 */
#nav-header-top.bg{
    background-color: rgba(255, 255, 255, 0.89);
    transition: all .65s;
}
.nav-header-top__link.bg_color{
    color: #222;
    filter: none;
}
@media (max-width:1099px) {
    #nav-header-top.bg{
        background-color: transparent;
    }
}

.person{
    width: 80%;
    margin: 0 auto;
}

/* お問い合わせ*/
.contact-captcha{
    text-align: center;
    margin-bottom: clamp(30px, 3.488372093vw, 60px);
}
.contact-captcha > img{
    margin: 0 auto;
}
.contact-captcha > input{
    padding: 5px 10px;
    margin-top: 1em;
}