

/* ********** */
/* フッター開始 */

.footer {
    background-color: #F2F2F1;
    margin-bottom: 3.703rem;
}
.footer_container {
    padding-top:3.703rem;
    padding-left:1.851rem;
    padding-right:1.851rem;
}
.footer_body_01 {
    position: relative;
    padding-bottom: 2.222rem;
}
.footer_body_02 {
    position: relative;
    margin-bottom: 2.222rem;
    border-bottom: 1px solid;
}
.footer_body_03 {}
.footer_logo {
    width: 7.7094rem;
    margin-bottom: 1.4814rem;
}
.footer_title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.851rem;
    line-height: 1em;
    font-weight: 700;
    color: #3B3C3C;
    margin-bottom: 1.851rem;
}
.footer_co_name {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.037rem;
    font-weight: 500;
    color:#3B3C3C;
    margin-bottom: 0.7407rem;
}
.footer_address {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 0.8888rem;
    font-weight: 400;
    color:#3B3C3C;
    margin-bottom: 1.111rem;
}
.footer_plicy_link {
    display: flex;
    position: relative;
    width: fit-content;
    font-size: 0.8888rem;
    color:#3B3C3C;
    align-items: center;
    margin-bottom: 2.222rem;
    text-decoration: none;
    transition: all .3s linear;
}
.footer_plicy_link::after {
    content: ''; /* 疑似要素にコンテンツを設定しない */
    display: block; /* 疑似要素をブロック要素として表示 */
    width: 100%; /* 親要素の幅を100%に設定 */
    height: 1px; /* 境界線の太さを設定 */
    position: absolute; /* 疑似要素を絶対位置に配置 */
    bottom: 0; /* 疑似要素を親要素の下部に配置 */
    left: 0; /* 疑似要素を親要素の左端に配置 */
    background-color: #3B3C3C; /* 境界線の色を設定 */
    transition: background-color 0.3s ease; /* 境界線の色をアニメーションさせる */
  }
.footer_plicy_link i {
    margin-left: .693rem;
    font-size: .9em;
}
.footer_plicy_link:hover {
    opacity: .8;
}
.footer_sns_links {
    display: flex;
    width: 100%;
}
.footer_sns_links img{
    width: 2.9629rem;
    height: 2.9629rem;
    margin-right: 1.804rem;
    filter: invert(24%) sepia(100%) saturate(6620%) hue-rotate(347deg) brightness(88%) contrast(115%);
}
.footer_page_links {
    margin-bottom: 2.592rem;
}
.footer_page_links2 .footer_page_links_top {
    margin-bottom: 0;
}
.footer_page_links2 .footer_page_links_top::after {display: none;}
.footer_page_links_top {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    margin-bottom: 1.111rem;
    text-decoration: none;
    transition: all .3s linear;
}
.footer_page_links_top:hover {
    opacity: .7;
}
.footer_page_links_top::after {
    content: ""; /* 疑似要素を作成 */
    display: block; /* ブロック要素にする */
    position: absolute; /* 絶対位置に */
    top: 50%; /* 垂直方向の中央に配置 */
    left: 0; /* 左端に配置 */
    width: 100%; /* 要素幅と同じ幅 */
    height: 1px; /* ボーダーの太さ */
    background-color: black; /* ボーダーの色 */
    transform: translateY(-50%); /* 垂直方向の中央に配置 */
}
.footer_page_links_top span {
    font-family: 'Noto Sans JP', sans-serif;
    background-color: #F2F2F1;
    z-index: 1;
    font-weight: 500;
}
.footer_page_links_top span:first-child {
    font-size: 1rem;
    line-height: 1em;
}
.footer_page_links_top span:last-child {
    font-size: 0.7777rem;
    line-height: 1rem;
    padding-left: 1.018rem;
    padding-right: 1.851rem;
}
.footer_page_links_list {
    display: flex;
    padding: 0;
    list-style-type: none;
    margin:0;
}
.footer_page_links_list a {
    font-family: 'Noto Sans JP', sans-serif;
    text-decoration: none;
    color:#3B3C3C;
    padding-right: 2.9629rem;
    font-size: .7777rem;
    font-weight: 500;
    transition: all .3s linear;
}
.footer_page_links_list a:hover {
    opacity: .5;
}
.footer_page_links_list li:last-child a {
    padding-right: 0;
}
.footer_page_links_box {
    margin-top: -1.111rem;
}
.footer_page_links_box_item .contact_link_box , 
.footer_page_links_box_item .contact_link_box_inner , 
.footer_page_links_box_item .contact_link_box_inner span{
    color:#3B3C3C;
    border-color: #3B3C3C;
}
.footer_page_links_box_item .contact_link_box img {
    filter: none;
}
.footer_page_links_box_item .contact_link_box:hover img {
    filter: invert(99%) sepia(13%) saturate(95%) hue-rotate(192deg) brightness(114%) contrast(100%);
}
.footer_page_links_box_item .contact_link_box {
    padding-right: 1.5rem;
}
.footer_copyright {
    display: flex;
    height: 3.703rem;
    width: 100%;
    justify-content: center;
    align-items: end;
}
.footer_copyright p {
    font-family: 'Noto Sans JP', sans-serif;
    color:#646464;
    font-size: 1.037rem;
    padding-bottom: .6296rem;
}


@media (min-width: 768px) {
    /* 
    ** メモ
    1900px想定
    24px = 3.2vw
    50px = 6.67vw
    100px = 12vw
    150px = 18vw
    100px = 5.26vw


    */

		.footer {
			margin-bottom: 0;
		}
    .footer_container {
        display: flex;
        padding-left: 5.555rem;
        padding-right: 5.555rem;
    }
    .footer_body_01 , .footer_body_02 , .footer_body_03 {
        position: relative;
        min-height: 21.966rem;
        width: 33.3333%;
        padding-top: 1.1111rem;
        padding-left: 3.8888rem;
        padding-bottom: 0;
    }
    .footer_body_01::after , .footer_body_02::after , .footer_body_03::after {
        content: "";
        display: block;
        position: absolute;
        top:0;
        right: 0;
        height:100%;
        width: 1px;
        background-color: #000;
    }
    .footer_body_01 {
        padding-left: 0;
    }
    .footer_body_02 {
        padding-right: 5.888rem;
        border-bottom: none;
        margin-bottom: 0;
    }
    .footer_body_03 {

    }
    .footer_logo {
        width: 8.6666rem;
        margin-bottom: 1.6666rem;
    }
    .footer_title {
        font-size: 1.6666rem;
        margin-bottom: 1.6666rem;
    }
    .footer_co_name {
        font-size: .7777rem;
        line-height: 1rem;
        margin-bottom: 0.5555rem;
    }
    .footer_address {
        font-size: 0.8888rem;
        margin-bottom: 1.6666rem;
    }
    .footer_plicy_link {
        font-size: 0.6666rem;
        margin-bottom: 2.222rem;
    }
    .footer_plicy_link i {
        margin-left: .538rem;
    }
    .footer_sns_links {
        display: flex;
        width: 100%;
    }
    .footer_sns_links img{
        width: 2.2222rem;
        height: 2.2222rem;
        margin-right: 1.666rem;
    }
    .footer_page_links {
        margin-bottom: 2.592rem;
    }
    .footer_page_links.footer_page_links2 {
        margin-bottom: 2.777rem;
    }
    .footer_body_03 .footer_page_links2:last-child {
        margin-bottom: 0;
    }
    .footer_page_links_top {
        margin-bottom: 1.3888rem;
        text-decoration: none;
    }
    .footer_page_links_top span:last-child {
        padding-left: 1.018rem;
        padding-right: 1.1111rem;
    }
    .footer_page_links_list {
        display: flex;
        padding: 0;
        list-style-type: none;
        margin:0;
    }
    .footer_page_links_list a {
        padding-right: 2.777rem;
        font-size: .7777rem;
    }
    .footer_page_links_box {
        margin-top: -1.666rem;
    }
    .footer_page_links_box_item .contact_link_box {
        min-height: 4.444rem;
        padding-left: 1.111rem;
        padding-right: .74rem;
        transition: all .3s linear;
        filter: none;
    }
    .footer_page_links_box_item .contact_link_box img {
        width: 1.6666rem;
        height: 1.6666rem;
        transition: all .3s linear;
    }
    .footer_page_links_box_item .contact_link_box_inner span {
        transition: all .3s linear;
    }
    .footer_page_links_box_item .contact_link_box_inner span:first-child {
        font-size: 1.3333rem;
        margin-bottom: 0.472rem;
    }
    .footer_page_links_box_item .contact_link_box_inner span:last-child {
        font-size: 0.777rem;
    }
    .footer_page_links_box_item .contact_link_box:hover {
        background-color: #3B3C3C;
    }
    .footer_page_links_box_item .contact_link_box:hover span {
        color: #FFF;
    }
    .footer_copyright {
        height: 3.3333rem;
    }
    .footer_copyright p {
        font-size: 0.7777rem;
        padding-bottom: .5555rem;
    }


















    /* ********** */


}