a:hover {
    text-decoration: none;
}

.camera_bar {
    z-index: 2;
}

.camera_thumbs {
    z-index: 1;
    opacity: 0.8;
}

.camera_thumbs_cont {
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
}

.camera_overlayer {
    opacity: .1;
}

#tenkin_navi {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background-color: rgb(2, 122, 198);
}

#tenkin_navi a {
    padding: 18px 40px;
    color: #fff;
    font-size: 14px;
    line-height: 20px;
    cursor: pointer;
    border-left: 1px dotted white;
}

#tenkin_navi a:last-child {
    border-right: 1px dotted white;
}

#camera_wrap_4 {
    height: 600px;
}

#wrap-tenkin-support-index {
    text-align: center;
}

#tenkin_support_description {
    clear: both;
    background-image: url('/houjin/images/ph01.jpg');
    background-repeat: no-repeat;
    background-position: center top;
    padding-top: 70px;
    padding-bottom: 70px;
    background-size: cover;
}

#tenkin_support_description > div {
    width: 80%;
    margin: auto;
    text-align: center;
}

.text01 {
    color: #027ac6;
    font-size: 17px;
    line-height: 34px;
    letter-spacing: 1px;
    background-color: transparent;
    margin-bottom: 40px;
}

#wrap_tenkin_support_items {
    display: flex;
    gap: 50px;
}

.tenkin_support_item p {
    text-align: left;
    line-height: 1.5;
    color: #004673;
    font-size: 13px;
}

#welcome_to_asahikawa {
    padding: 100px 50px;
    display: flex;
    gap: 50px;
    background-image: url('/houjin/images/ph04.jpg');
    background-repeat: no-repeat;
    background-position: center top;
    border-bottom: 2px solid #fff;
    background-size: cover;
}

#welcome_to_asahikawa > div {
    width: 50%;
}

#welcome_to_asahikawa .description {
    color: #fff;
    font-size: 13px;
    line-height: 30px;
    letter-spacing: 1px;
    text-shadow: 0px 0px 3px #182C50;
    text-align: left;
}

#welcome_to_asahikawa .description .title {
    font-size: 17px;
    margin-bottom: 10px;
}

#link_to_asahikawa {
    width: fit-content;
    display: flex;
    color: #004673;
    font-size: 14px;
    line-height: 20px;
    text-decoration: none;
    text-shadow: none;
    background-color: #fff;
    margin-top: 40px;
    padding: 20px;
    border-style: none;
    cursor: pointer;
    transition: 0.4s;
    border-radius: 6px;
    opacity: 0.9;
}

#wrap_links {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

#wrap_links .link {
    height: 380px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-repeat: no-repeat;
    background-position: center top;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    background-size: cover;
}

#wrap_links a {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    color: #004673;
    font-size: 14px;
    line-height: 21px;
    text-decoration: none;
    background-color: #fff;
    width: 140px;
    height: 140px;
    padding: 16px;
    border-style: none;
    cursor: pointer;
    transition: 0.4s;
    border-radius: 10px;
    opacity: 0.9;
    box-sizing: border-box;
}

#wrap_links .link:has(#link_to_staff) {
    background-image: url('/houjin/images/ph02.jpg');
}

#wrap_links .link:has(#link_to_transfer) {
    background-image: url('/houjin/images/ph03.jpg');
}

#wrap_links .link:has(#link_to_tantou) {
    background-image: url('/houjin/images/ph04.jpg');
}

#wrap_links .link:has(#link_to_flow) {
    background-image: url('/houjin/images/ph05.jpg');
}

#wrap_links .link:has(#link_to_contact) {
    background-image: url('/houjin/images/ph06.jpg');
}

#wrap_links .link:has(#link_to_company) {
    background-image: url('/houjin/images/ph07.jpg');
}

#wrap_staff_image {
    background-image: url('/houjin/images/ph11.jpg');
}

#wrap_transfer_image {
    background-image: url('/houjin/images/ph12.jpg');
    background-position: center;
}

#wrap_tantou_image {
    background-image: url('/houjin/images/ph13.jpg');
    background-position: center;
}

#wrap_flow_image {
    background-image: url('/houjin/images/ph10.jpg');
    background-position: center bottom;
}

#wrap_asahikawa_image {
    background-image: url('/houjin/images/ph20.jpg');
    background-position: center;
}

.wrap-head-image {
    display: flex;
    justify-content: center;
    background-repeat: no-repeat;
    background-position: center top;
    padding-top: 120px;
    padding-bottom: 120px;
    background-size: cover;
    text-align: center;
}

.wrap-head-title {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    color: rgb(0, 70, 115);
    font-size: 15px;
    line-height: 23px;
    background-color: rgb(255, 255, 255);
    width: 160px;
    height: 160px;
    opacity: 0.9;
    text-decoration: none;
    padding: 16px;
    border-style: none;
    border-radius: 10px;
    box-sizing: border-box;
}

.whole-article {
    padding: 70px 100px;
}

.wrap-article {
    margin-top: 80px;
}

.article-title {
    margin-bottom: 10px;
    color: #027ac6;
    font-size: 17px;
    line-height: 28px;
    letter-spacing: 1px;
    padding-left: 12px;
    border-left: 6px solid #027ac6;
}

.article-subtitle {
    margin-bottom: 50px;
    color: #556173;
}

#staff_introduction {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    margin-bottom: 50px;
}

#staff_image {
    background-image: url('/houjin/images/sample01.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 12px;
}

#staff_comment,
.wrap-transfer-notice-table {
    color: rgb(0, 70, 115);
    font-size: 13px;
    line-height: 28px;
    background-color: rgb(216, 231, 247);
    padding: 36px 50px;
    border-radius: 12px;
}

#wrap_staff_note {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background-image: url('/houjin/images/ph16.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 12px;
}

.note {
    display: flex;
    flex-direction: column;
    gap: 50px;
    padding: 60px;
    background-image: url('/houjin/images/back06.png');
}

.note_title {
    display: flex;
    justify-content: center;
    align-items: center;
    color: rgb(255, 255, 255);
    font-size: 20px;
    line-height: 40px;
    letter-spacing: 1px;
    text-shadow: rgb(24, 44, 80) 0px 0px 3px;
    text-align: center;
}

.note-subtitle {
    color: rgb(2, 122, 198);
    font-size: 17px;
    line-height: 30px;
    letter-spacing: 1px;
}

.note > div:not(:last-child) {
    position: relative;
}

.note > div:not(:last-child)::after {
    content: '';
    position: absolute;
    width: 100%;
    bottom: -25px;
    left: 0;
    border-bottom: 1px dotted #004673;
}

#staff_note_main {
    display: flex;
    gap: 15px;
}

#welcome_to_hokkaido_image {
    width: 30%;
}

.note .note-header {
    color: #004673;
    font-size: 15px;
    line-height: 26px;
    letter-spacing: 1px;
    padding-bottom: 6px;
}

.note .note-content {
    color: #004673;
    font-size: 13px;
    line-height: 28px;
}

#wrap_note {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 12px;
}

.transfer_note {
    background-image: url('/houjin/images/ph15.jpg');
}

.tantou_note {
    background-image: url('/houjin/images/ph14.jpg');
}

#wrap_promises {
    margin-top: 30px;
    display: grid;
    gap: 50px;
    grid-template-columns: repeat(3, 1fr);
}

#wrap_promises .promise {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

#wrap_promises .wrap-promise-image {
    position: relative;
    display: inline-block;
}

#wrap_promises .promise-number {
    position: absolute;
    inset: 13px 0px 0px 35px;
    color: #f9c211;
    font-size: 20px;
}

#wrap_promises .promise-text {
    color: #004673;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 1px;
}

.transfer-notice-table {
    width: 100%;
    border-collapse: collapse;
}

.transfer-notice-table thead tr {
    border-bottom: 1px solid rgb(0, 70, 115);
    font-size: 15px;
}

.transfer-notice-table td {
    padding: 15px;
}

.transfer-notice-table tbody tr {
    border-bottom: 1px dotted #004673;
}

.transfer-notice-table tbody tr td:first-child {
    position: relative;
}

.transfer-notice-table tbody tr td:first-child::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 30%;
    transform: translateY(-50%);
    background-color: #004673;
}

.feature {
    font-size: 13px;
    line-height: 24px;
    background-color: #d8e7f7;
    padding: 40px 50px;
    border-radius: 12px;
}

#wrap_promises .feature .promise-number {
    color: #027ac6;
}

.wrap-flow {
    margin-top: 30px;
    display: grid;
    gap: 50px;
    grid-template-columns: repeat(2, 1fr);
}

.flow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    color: #004673;
    font-size: 13px;
    line-height: 24px;
    background-color: #d8e7f7;
    padding: 40px 50px;
    border-radius: 12px;
}

.flow-image {
    width: 135px;
    height: auto;
}

.spot,
.event {
    position: relative;
    margin-top: 60px;
}

.spot::before,
.event::before {
    content: '';
    position: absolute;
    width: 100%;
    top: -30px;
    left: 0;
    border-bottom: 1px dotted #004673;
}

.spot-title,
.event-title {
    margin-bottom: 10px;
    color: rgb(2, 122, 198);
    font-size: 17px;
    line-height: 34px;
    letter-spacing: 1px;
}

.spot-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
}

.map iframe {
    border-radius: 12px;
}

.map-note {
    color: #004673;
    font-size: 13px;
    line-height: 24px;
    margin-top: 6px;
}

.spot .detail,
.event .detail {
    color: #004673;
    font-size: 13px;
    line-height: 28px;
    background-color: #d8e7f7;
    padding: 36px 50px;
    border-radius: 12px;
}

.spot .detail .row,
.event .detail .row {
    position: relative;
}

.spot .detail .row:not(:last-child)::after,
.event .detail .row:not(:last-child)::after {
    content: '';
    position: absolute;
    width: 100%;
    bottom: -15px;
    left: 0;
    border-bottom: 1px dotted #004673;
}


.spot .detail .row:not(:last-child),
.event .detail .row:not(:last-child) {
    margin-bottom: 30px;
}

.spot .detail .row .row-title {
    margin-bottom: 5px;
    color: rgb(0, 70, 115);
    font-size: 15px;
    line-height: 26px;
}

.spot .detail .detail-title {
    color: #0066b3;
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 1px;
}

.event-subtitle {
    margin-bottom: 30px;
    color: #556173;
}

.event .event-info .detail .event-month {
    color: #004673;
    font-size: 15px;
    line-height: 26px;
    letter-spacing: 1px;
    padding-bottom: 6px;
}

.event .event-info .detail .event-name {
    color: rgb(0, 102, 179);
    font-size: 14px;
    line-height: 28px;
    letter-spacing: 1px;
}

@media screen and (max-width: 768px) {
    #tenkin_navi {
        flex-wrap: nowrap;
        justify-content: flex-start;
        background-color: rgb(2, 122, 198);
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    #tenkin_navi a {
        padding: 15px 30px;
    }

    #camera_wrap_4 {
        height: 350px;
    }

    .camera_wrap img {
        width: 100%;
    }

    .camera_caption {
        margin: auto;
    }

    .wrap-head-image {
        background-position: unset;
    }

    .whole-article {
        padding: 30px;
    }

    .article-subtitle {
        line-height: 1.5;
    }

    #tenkin_support_description {
        background-size: contain;
    }

    #wrap_tenkin_support_items {
        flex-direction: column;
    }

    #welcome_to_asahikawa {
        padding: 30px 20px;
        flex-direction: column-reverse;
        box-sizing: border-box;
    }

    #welcome_to_asahikawa > div {
        width: 100%;

    }

    #welcome_to_asahikawa .description {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #welcome_to_asahikawa .description > div {
        padding: 0 5px;
        background-color: rgba(0, 0, 0, 0.3);
    }

    #wrap_links {
        grid-template-columns: 1fr 1fr;
    }

    #wrap_links .link {
        height: 200px;
    }

    #staff_introduction {
        display: flex;
        flex-direction: column;
    }

    #staff_image {
        width: 100%;
        height: 250px;
        background-size: contain;
    }

    #staff_comment,
    .wrap-transfer-notice-table {
        padding: 15px 25px;
    }

    #wrap_staff_note {
        display: flex;
        flex-direction: column;
    }

    #wrap_note.transfer_note {
        display: flex;
        flex-direction: column-reverse;
    }

    .note_title {
        padding: 20px;
    }

    .note {
        padding: 20px 30px;
    }

    #wrap_promises {
        grid-template-columns: 1fr;
    }

    .transfer-notice-table tr {
        display: flex;
        flex-direction: column;
        padding: 15px;
    }

    .transfer-notice-table td {
        padding: 0;
    }

    .transfer-notice-table td:first-child {
        font-size: 14px;
    }

    .transfer-notice-table tbody tr td:first-child::after {
        width: 0;
    }

    #wrap_note.tantou_note {
        display: flex;
        flex-direction: column;
    }

    .wrap-flow {
        grid-template-columns: 1fr;
    }

    .spot-info {
        display: block;
    }

    .spot .detail,
    .event .detail {
        padding: 15px 20px;
    }

    #welcome_to_hokkaido_image {
        display: none;
    }
}