*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    font-size: 62.5%;
}
body {
    font: 1.6rem/1 "ヒラギノ角ゴ Pro W3";
    font-feature-settings: "palt";
    color: #333;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
}
p {
    line-height: 1.5;
}
img {
    display: block;
    max-width: 100%;
    height: auto;
}
ul, ol {
    list-style: none;
}
a {
    text-decoration: none;
}
/* ヘッダー ----------------------------------------*/
.head-wrap {
    background-color: #8c2126;
    padding: 0 0 0 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
}
.head-nav {
    display: flex;
    font: 18px "ヒラギノ明朝 Pro W3";
}
.head-nav > li > a {
    display: flex;
    align-items: center;
    height: 80px;
    padding: 0 16px;
    color: #fff;
}
.head-nav > li > a:hover {
    color: #8c2126;
    background-color: #fff;
    opacity: .5;
    transition: .5s;
}
.head-nav-child {
    display: none;
    position: absolute;
    top: 80px;
    right: 0;
    left: 0;
    font-family: "ヒラギノ明朝 Pro W6";
    text-align: center;
}
.head-nav-child li {
    border-bottom: 1px solid #8c2126;
}
.head-nav-child a {
    display: block;
    color: #8c2126;
    background-color: #fff;
    padding: 16px 0;
    font-size: 16px;
}
.head-nav > li:hover .head-nav-child {
    display: block;
}
.head-nav-child a:hover {
    color: #fff;
    background-color: #8c2126;
    transition: .5s;
}
.sp {
    display: none;
}
/* メイン ----------------------------------------*/
.wrap-inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 16px;
}
/* メインビジュアル -----------------*/
.mainvisual-wrap {
    position: relative;
    z-index: -1;
}
.catch-decoration {
    position: absolute;
    top: -20px;
    animation: updown 4s ease-in-out infinite;
    z-index: -1;
}
@keyframes updown {
    50% {
        transform: translateY(20px);
    }
}
.catch-decoration-left {
    left: 0;
}
.catch-decoration-right {
    right: 0;
}
.mainvisual {
    display: flex;
    flex-flow: column;
    align-items: center;
    margin-bottom: 120px;
}
.mainvisual-catch {
    color: #007440;
    font: 32px "ヒラギノ明朝 Pro W6";
    margin: 32px 0;
}
.mainvisual-object {
    position: relative;
    margin-bottom: 16px;
    animation: drop 1s ease-in-out;
    transform-origin: bottom;
    z-index: -1;
}
@keyframes drop {
    0% {
        top: -1000px;
    }
    60% {
        transform: scaleY(1);
    }
    80% {
        top: 0;
        transform: scaleY(0.8);
    }
}
.mainvisual-office-name {
    font: 24px "ヒラギノ角ゴ Pro W3";
}
.mainvisual-office-name span {
    color: #8c2126;
}
.mainvisual-logo {
    margin-bottom: 120px;
}
.mainvisual-message {
    color: #8c2126;
    font: 32px/56px "ヒラギノ明朝 Pro W6";
}
/* 私たちについて ----------------*/
.section-title {
    position: relative;
    margin: 0 auto 80px;
    max-width: 520px;
    height: 140px;
}
.section-title img {
    position: absolute;
}
.section-title h2:nth-child(2) img {
    animation: switch 2s infinite;
}
@keyframes switch {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
.item-title,
.item-title + p {
    text-align: center;
}
.item-title {
    color: #8c2126;
    font: 32px "ヒラギノ明朝 Pro W6";
    margin-bottom: 16px;
}
.item-title + p {
    font: 16px/32px "ヒラギノ明朝 Pro W6";
    margin-bottom: 80px;
}
/* 吹き出し --------------------*/
.description-balloon {
    margin-bottom: 80px;
}
.description-balloon li {
    display: flex;
}
.description-balloon li:not(:last-child) {
    margin-bottom: 40px;
}
.balloon-right-wrap {
    justify-content: flex-end;
}
.balloon {
    max-width: 550px;
    padding: 20px;
}
.balloon-right {
    position: relative;
    background-color: #8c2126;
    margin-right: 32px;
}
.balloon-right::before {
    content: "";
    position: absolute;
    top: 40px;
    right: -32px;
    border: 12px solid transparent;
    border-left: 20px solid #8c2126;
}
.balloon h4,
.balloon p {
    color: #fff;
}
.balloon h4 {
    font: 24px "ヒラギノ角ゴ Pro W6";
}
.character-icon img {
    max-width: 100px;
}
.balloon-left-wrap .character-icon {
    margin-right: 32px;
}
.balloon-left {
    position: relative;
    background-color: #285064;
}
.balloon-left::before {
    content: "";
    position: absolute;
    top: 40px;
    left: -32px;
    border: 12px solid transparent;
    border-right: 20px solid #285064;
}
/* 吹き出しここまで ---------------*/
.support {
    padding: 40px 16px;
    background-image: url(../images/background_circus.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-bottom: 120px;
}
.support-description {
    display: flex;
    justify-content: space-between;
    max-width: 960px;
    margin: 0 auto;
}
.support-description-wrap {
    background-color: #fff;
    border-radius: 16px;
    padding: 20px;
    width: calc((100% - 24px) / 2);
}
.support-description-title {
    font: 24px "ヒラギノ角ゴ Pro W6";
    color: #285064;
    border-bottom: 2px solid #333;
    margin-bottom: 16px;
}
.employment dt {
    font: 16px "ヒラギノ角ゴ Pro W6";
    color: #8c2126;
}
.way p:not(:last-child) {
    margin-bottom: 16px;
}
.department-title {
    margin-bottom: 120px;
}
.banner {
    margin: 0 auto;
}
/* 部門 ---------------------*/
.department {
    margin-bottom: 120px;
}
.department-wrap:not(:last-child) {
    margin-bottom: 24px;
}
.department-title-wrap {
    display: flex;
    align-items: center;
    color: #fff;
    background-color: #8c2126;
    padding: 8px 24px;
    border-radius: 16px 16px 0 0;
}
.department-name {
    font: 18px "ヒラギノ角ゴ Pro W6";
    color: #8c2126;
    background-color: #fff;
    margin-right: 8px;
    padding: 0 4px;
}
.department-team-name {
    font: 28px "ヒラギノ角ゴ Pro W6";
}
.department-content-wrap {
    display: flex;
    justify-content: space-between;
    padding: 24px;
    border: 3px solid #8c2126;
    border-top: transparent;
}
.department-img-wrap {
    position: relative;
    width: 40%;
}
.department-img-wrap img {
    width: 52%;
}
.department-img-wrap img:nth-child(2) {
    position: absolute;
    right: 0;
    bottom: 0;
}
.department-description {
    font: 20px/1 "ヒラギノ角ゴ Pro W6";
    width: 56%;
}
.department-description li:not(:last-child) {
    border-bottom: 2px dotted #cacaca;
    margin-bottom: 8px;
    padding-bottom: 8px;
}
/* 部門ここまで -----------------*/
.reason {
    background-color: #eee4d0;
    padding: 40px 16px;
    margin-bottom: 120px;
}
.reason-title {
    color: #285064;
    font: 24px "ヒラギノ角ゴ Pro W6";
    text-align: center;
    margin-bottom: 16px;
}
.reason-description {
    display: flex;
    justify-content: space-between;
    max-width: 960px;
    margin: 0 auto;
}
.reason-description-wrap {
    background-color: #fff;
    border: 2px solid #8c2126;
    border-radius: 16px;
    padding: 20px;
    width: calc((100% - 48px) / 3);
}
.reason-description-wrap h4 {
    color: #8c2126;
    font: 20px "ヒラギノ角ゴ Pro W6";
}
/* 会社概要 ------------------------*/
/* サテライト ----------*/
.office-info {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 120px;
}
.office-info-wrap {
    display: flex;
    padding: 20px;
    width: calc((100% - 24px) / 2);
}
.office-info-wrap:not(:last-child) {
    margin-bottom: 24px;
}
.satellite-info-wrap {
    background-color: #eee4d0;
}
.office-info-img-wrap {
    margin-right: 16px;
    width: 50%;
}
.office-info-detail-wrap {
    width: 50%;
}
.office-info-title {
    font: 20px "ヒラギノ角ゴ Pro W6";
    border-bottom: 2px solid;
    margin-bottom: 8px;
}
.office-info-title span {
    font-size: 14px;
}
.satellite-info-title,
.satellite-info-detail {
    color: #8c2126;
}
.office-info-detail {
    font-size: 14px;
    word-break: break-all;
}
/* 関連事業QR -----------------*/
.related {
    display: flex;
    justify-content: space-between;
    margin-bottom: 120px;
}
.related-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #dce6dc;
    border-radius: 16px;
    padding: 20px;
    width: calc((100% - 48px) / 3);
}
.related-catch {
    text-align: center;
    margin-bottom: 16px;
}
.related-logo {
    margin-bottom: 32px;
}
/* 介護保険サービス事業 --------------*/
.group-name {
    font-size: 22px;
    background-color: #007440;
    color: #fff;
    text-align: center;
    margin-bottom: 12px;
    padding: 4px;
}
.care-info-wrap {
    background-color: #eee;
}
.care-info-title,
.care-info-detail {
    color: #285064;
}
/* 釧路市&地域企業との協働事業 -----------*/
.collabo-business {
    margin-bottom: 120px;
}
/* 地域連携事業 -----------*/
.align-business {
    margin-bottom: 200px;
}
.align-business img:not(:last-child) {
    margin-bottom: 24px;
}
/* フッター ----------------------------------------*/
.foot-nav {
    display: flex;
    justify-content: center;
    font: 18px "ヒラギノ明朝 Pro W3";
    margin-bottom: 16px;
}
.foot-nav li:not(:last-child) {
    margin-right: 16px;
}
.foot-nav a {
    color: #8c2126;
}
.foot-nav a:hover {
    opacity: .5;
    transition: .5s;
}
.foot-wrap {
    display: flex;
    justify-content: center;
    color: #fff;
    background-color: #8c2126;
    padding: 40px 16px;
}
.foot-office-name-wrap {
    margin-right: 40px;
}
.foot-office-name-wrap p {
    margin-bottom: 8px;
}
.contact span {
    color: #8c2126;
    background-color: #fff;
    padding: 2px 4px;
    font: 14px "ヒラギノ角ゴ Pro W6";
    margin-right: 4px;
}
.copyright {
    font-size: 14px;
    color: #fff;
    background-color: #5a2126;
    text-align: center;
    padding: 4px 0;
}
.to-top {
    position: fixed;
    right: 16px;
    bottom: 40px;
}
.to-top:hover {
    animation: bound .5s ease-in-out;
}
@keyframes bound {
    25% {
        transform: translateY(-20px);
    }
    50% {
        transform: translateY(0);
    }
    75% {
        transform: translateY(-10px);
    }
}
/*-------------------------------------------

760px以下

-------------------------------------------*/
@media screen and ( max-width: 760px) {
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    .head-wrap {
        height: 60px;
    }
    .head-logo {
        width: 200px;
    }
    .hm-button {
        position: fixed;
        top: 10px;
        right: 16px;
        width: 40px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 3;
    }
    .hm-button span,
    .hm-button span::before,
    .hm-button span::after {
        content: "";
        display: block;
        position: absolute;
        width: 40px;
        height: 4px;
        background-color: #5a2126;
        transition: .5s;
    }
    .hm-button span::before {
        bottom: 10px;
    }
    .hm-button span::after {
        top: 10px;
    }
    #hm-button-check:checked ~ .hm-button span {
        background-color: rgba(255, 255, 255, 0);
    }
    #hm-button-check:checked ~ .hm-button span::before {
        bottom: 0;
        transform: rotate(45deg);
        background-color: #fff;
    }
    #hm-button-check:checked ~ .hm-button span::after {
        top: 0;
        transform: rotate(-45deg);
        background-color: #fff;
    }
    #hm-button-check {
        display: none;
    }
    /* ハンバーガーメニューの内容 ---------*/
    .hm-content-wrap {
        position: fixed;
        top: 0;
        right: -100%;
        width: 70%;
        height: 100%;
        background-color: #7f715a;
        z-index: 2;
        padding: 0 16px;
        transition: .5s;
    }
    .hm-content {
        margin: 80px 0 0 0;
    }
    .hm-content li:not(:last-child) {
        border-bottom: 1px solid #fff;
    }
    #hm-child-check,
    #hm-child-check02 {
        display: none;
    }
    .hm-child-button,
    .hm-content a {
        display: block;
        padding: 16px;
        color: #fff;
        font: 18px "ヒラギノ明朝 Pro W3";
    }
    .hm-child-button::before {
        content: "▼";
        position: relative;
        top: -2px;
        font-size: 12px;
        margin-right: 8px;
    }
    .hm-child {
        display: none;
    }
    .hm-child a {
        font-size: 16px;
    }
    .hm-child-button:hover,
    .hm-content a:hover {
        background-color: #fff;
        color: #9b8261;
        transition: .5s;
    }
    .hm-close-area {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100%;
        background-color: #fff;
        opacity: .5;
        z-index: 1;
    }
    #hm-button-check:checked ~ .hm-content-wrap,
    #hm-button-check:checked ~ .hm-close-area {
        right: 0;
    }
    #hm-child-check:checked ~ .hm-child-button::before,
    #hm-child-check02:checked ~ .hm-child-button::before {
        content: "▲";
    }
    #hm-child-check:checked ~ .hm-child,
    #hm-child-check02:checked ~ .hm-child {
        display: block;
    }
    /* ハンバーガーメニューの内容ここまで ---------*/
    .mainvisual {
        margin-bottom: 60px;
    }
    .mainvisual-catch {
        font-size: 24px;
    }
    .mainvisual-office-name {
        font-size: 20px;
    }
    .mainvisual-logo {
        width: 90%;
        margin-bottom: 60px;
    }
    .mainvisual-message {
        font: 24px/42px "ヒラギノ明朝 Pro W6";
    }
    /* 私たちについて --------------------*/
    .section-title {
        margin-bottom: 40px;
    }
    .item-title {
        font-size: 28px;
        margin-bottom: 8px;
    }
    .item-title + p {
        line-height: 28px;
        margin-bottom: 60px;
    }
    .description-balloon {
        margin-bottom: 60px;
    }
    .description-balloon li:not(:last-child) {
        margin-bottom: 24px;
    }
    .balloon h4 {
        font-size: 20px;
    }
    .support {
        margin-bottom: 60px;
    }
    .support-description {
        flex-wrap: wrap;
    }
    .support-description li:not(:last-child) {
        margin-bottom: 16px;
    }
    .support-description-wrap {
        width: 100%;
    }
    .support-description-title {
        font-size: 20px;
        margin-bottom: 8px;
    }
    .department-title {
        margin-bottom: 60px;
    }
    .department {
        margin-bottom: 60px;
    }
    .department-title-wrap {
        padding: 6px 16px;
    }
    .department-name {
        font-size: 16px;
    }
    .department-team-name {
        font-size: 24px;
    }
    .department-content-wrap {
        padding: 16px;
    }
    .department-description {
        font-size: 16px;
    }
    .department-description li:not(:last-child) {
        margin-bottom: 6px;
        padding-bottom: 6px;
    }
    .reason {
        margin-bottom: 60px;
    }
    .reason-title {
        font-size: 20px;
        margin-bottom: 8px;
    }
    .reason-description {
        flex-wrap: wrap;
    }
    .reason-description-wrap {
        padding: 16px;
        width: 100%;
    }
    .reason-description-wrap:not(:last-child) {
        margin-bottom: 8px;
    }
    .reason-description-wrap h5 {
        font-size: 16px;
    }
    .office-info {
        margin-bottom: 60px;
    }
    .office-info-wrap {
        width: 100%;
    }
    .office-info-wrap:not(:last-child) {
        margin-bottom: 12px;
    }
    .office-info-img-wrap {
        max-width: 205px;
    }
    .office-info-detail-wrap {
        width: 100%;
    }
    .related {
        flex-wrap: wrap;
        margin-bottom: 60px;
    }
    .related-wrap {
        width: calc((100% - 24px) / 2);
    }
    .related-wrap:not(:last-child) {
        margin-bottom: 24px;
    }
    .related-catch {
        font-size: 14px;
    }
    .group-name {
        font-size: 18px;
    }
    .collabo-business {
        margin-bottom: 60px;
    }
    .align-business {
        margin-bottom: 120px;
    }
    .foot-wrap {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 24px 16px;
    }
    .foot-office-name-wrap {
        margin: 0 0 16px;
        font-size: 14px;
    }
}
/*-------------------------------------------

620px以下

-------------------------------------------*/
@media screen and ( max-width: 620px) {
    .balloon {
        padding: 16px;
    }
    .balloon::before {
        top: 24px;
    }
    .balloon h4 {
        font-size: 18px;
    }
    .character-icon img{
        width: 70px;
    }
    .department-title-wrap {
        padding: 4px 12px;
    }
    .department-name {
        font-size: 14px;
    }
    .department-team-name {
        font-size: 20px;
    }
    .department-content-wrap {
        padding: 12px;
    }
    .department-img-wrap {
        width: 24%;
    }
    .department-img-wrap img {
        width: 100%;
    }
    .department-img-wrap img:nth-child(1) {
        margin-bottom: 12px;
    }
    .department-img-wrap img:nth-child(2) {
        position: static;
    }
    .department-description {
        width: 72%;
    }
}
/*-------------------------------------------

480px以下

-------------------------------------------*/
@media screen and ( max-width: 480px) {
    .mainvisual {
        margin-bottom: 40px;
    }
    .catch-decoration {
        height: 120px;
    }
    .mainvisual-catch {
        font-size: 20px;
        margin: 24px 0;
    }
    .mainvisual-object {
        margin-bottom: 8px;
        width: 100px;
    }
    .mainvisual-office-name {
        font-size: 16px;
    }
    .mainvisual-logo {
        margin-bottom: 40px;
    }
    .mainvisual-message {
        font: 20px/34px "ヒラギノ明朝 Pro W6";
    }
    .section-title {
        margin-bottom: 0;
    }
    .item-title {
        font-size: 20px;
        margin-bottom: 4px;
    }
    .item-title + p {
        font: 14px/24px "ヒラギノ明朝 Pro W6";
        margin-bottom: 40px;
    }
    .description-balloon {
        margin-bottom: 40px;
    }
    .description-balloon li:not(:last-child) {
        margin-bottom: 16px;
    }
    .balloon {
        padding: 14px;
    }
    .balloon h4 {
        font-size: 16px;
    }
    .balloon p {
        font-size: 14px;
    }
    .support {
        padding: 16px;
        margin-bottom: 40px;
    }
    .support-description-title {
        font-size: 18px;
    }
    .support-description-wrap p {
        font-size: 14px;
    }
    .department-title {
        margin-bottom: 40px;
    }
    .department {
        margin-bottom: 40px;
    }
    .department-wrap:not(:last-child) {
        margin-bottom: 8px;
    }
    .department-team-name {
        font-size: 18px;
    }
    .department-description {
        font-size: 14px;
    }
    .department-description li:not(:last-child) {
        margin-bottom: 4px;
        padding-bottom: 4px;
    }
    .reason {
        padding: 20px;
        margin-bottom: 40px;
    }
    .reason-title {
        font-size: 18px;
    }
    .reason-description-wrap {
        padding: 14px;
    }
    .reason-description-wrap h4 {
        font-size: 18px;
    }
    .reason-description-wrap p {
        font-size: 14px;        
    }
    .office-info {
        margin-bottom: 40px;
    }
    .office-info-wrap:not(:last-child) {
        margin-bottom: 8px;
    }
    .office-info-title {
        font-size: 16px;
    }
    .related {
        margin-bottom: 40px;
    }
    .related-wrap {
        padding: 16px;
        width: 100%;
    }
    .related-wrap:not(:last-child),
    .related-catch {
        margin-bottom: 8px;
    }
    .related-logo {
        margin-bottom: 16px;
    }
    .group-name {
        font-size: 16px;
    }
    .collabo-business {
        margin-bottom: 40px;
    }
    .align-business {
        margin-bottom: 80px;
    }
    .align-business img:not(:last-child) {
        margin-bottom: 8px;
    }
    .foot-nav {
        margin-bottom: 8px;
    }
}