@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

body {
    font-family: "Noto Sans JP", sans-serif;
}

#spm01,
#spm02,
#spm03,
#spm04,
#spm05 {
    display: none;
}

#header2 {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
    justify-content: space-between;
    padding: 0 20px;
}

#he_left {
    position: relative;
    top: 0;
    padding: 35px 0;
    width: 227px;
}

#he_right {
    margin: 0;
}

#header_search_corner {
    display: none;
}

#header_navi {
    display: flex;
    list-style: none;
    margin: 20px 0 0 0;
    padding: 0;
    gap: 24px;
}

#header_navi .h_main {
    display: none;
}

#header_navi #moji_size {
    margin: 0;
}

#header_navi #moji_size dt {
    font-size: 1.6rem;
    font-weight: 400;
    min-width: auto;
}

#header_navi #moji_size dd a,
#header_navi #moji_size dd a#moji_large {
    font-size: 1.6rem;
    font-weight: 700;
    border-radius: 3px;
    border: none;
    color: #333333;
    background: #E8E8E8;
    box-sizing: border-box;
    border: 2px solid #e8e8e8;
    padding: 4px 8px;
}

#header_navi #moji_size dd a:hover,
#header_navi #moji_size dd a#moji_large:hover,
#header_navi #moji_size dd a.active,
#header_navi #moji_size dd a#moji_large.active {
    color: #333333;
    background: #E5F9F2;
    border: 2px solid #74DBD3;
}

#header_navi #haikei_color {
    margin: 0;
}

#header_navi #haikei_color dt {
    font-size: 1.6rem;
    font-weight: 400;
    min-width: auto;
}

#header_navi #haikei_color dd a,
#header_navi #haikei_color dd a#haikei_white,
#header_navi #haikei_color dd a#haikei_black,
#header_navi #haikei_color dd a#haikei_blue {
    font-size: 1.6rem;
    font-weight: 700;
    border-radius: 3px;
    border: none;
    color: #333333 !important;
    background: #E8E8E8 !important;
    border: 2px solid #e8e8e8 !important;
    padding: 4px 8px;
}

#header_navi #haikei_color dd a:hover,
#header_navi #haikei_color dd a#haikei_white:hover,
#header_navi #haikei_color dd a#haikei_black:hover,
#header_navi #haikei_color dd a#haikei_blue:hover,
#header_navi #haikei_color dd a.active,
#header_navi #haikei_color dd a#haikei_white.active,
#header_navi #haikei_color dd a#haikei_black.active,
#header_navi #haikei_color dd a#haikei_blue.active {
    color: #333333 !important;
    background: #E5F9F2 !important;
    border: 2px solid #74DBD3 !important;
}

#header_navi .h_lang {
    font-size: 1.6rem;
}

#header_navi .h_lang a {
    font-size: 1.6rem;
    border-radius: 3px;
    color: #333333;
    background-color: #E5F9F2;
    border: 2px solid #74DBD3;
    display: flex;
    text-decoration: none;
    align-items: center;
    padding: 4px 22px 7px 40px;
    line-height: 1;
    background-image: url(/img/common/icon-common-world.png);
    background-repeat: no-repeat;
    background-position: left 16px center;
    background-size: 18px;
}

#header_navi .h_lang a:hover {
    background-color: #C1F0E1;
}

#header_search {
    margin: 16px 0 0;
}

#header_search #cse-search-box-header {
    display: flex;
}

#header_search #cse-search-box-header #tmp_query_header {
    flex: 1;
    border-radius: 4px 0px 0px 4px;
    border: 2px solid #74DBD3;
    border-right: none;
    padding: 0 16px;
    background-image: url(https://www.google.com/cse/static/images/2x/ja/branding.png) !important;
    background-size: 100px auto !important;
    background-position: center left 20px !important;
}

#header_search #cse-search-box-header #tmp_query_header:focus {
    background: none !important;
}

#header_search #cse-search-box-header #tmp_query_header:focus-visible {
    outline: none;
}

#header_search #cse-search-box-header #tmp_query_header:not(:placeholder-shown) {
    background: none !important;
}

#header_search #cse-search-box-header #submit_header {
    border: none;
    background-color: #E5F9F2;
    color: #333333;
    font-size: 2.0rem;
    font-weight: 700;
    border-radius: 0 4px 4px 0;
    padding: 18px 30px 18px 60px;
    background-image: url(/img/common/icon-common-search.png);
    background-repeat: no-repeat;
    background-position: left 22px center;
    background-size: 32px;
    border: 2px solid #74DBD3;
}

#header_search #cse-search-box-header #submit_header:hover {
    background-color: #C1F0E1;
}

#header_search_corner_button {
    position: fixed;
    right: 0;
    top: 170px;
    width: 180px;
    height: auto;
    border-radius: 8px 0 0 8px;
    border: 2px solid #74DBD3;
    border-right: none;
    display: flex;
    justify-content: center;
    color: #333333;
    align-items: end;
    padding: 120px 10px 25px;
    box-sizing: border-box;
    font-size: 2.3rem;
    font-weight: 700;
    cursor: pointer;
    background-image: url(/img/common/icon-common-note.png);
    background-repeat: no-repeat;
    background-position: top 32px center;
    background-size: 74px;
    background-color: #E5F9F2;
    z-index: 50;
}

#header_search_corner_button:hover {
    background-color: #C1F0E1;
}

#header_search_corner {
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    background: #E5F9F2;
    transform: translateX(100%);
    transition: all 0.3s ease;
    left: 0;
    top: 0;
    z-index: 100;
    overflow-y: scroll;
    padding: 0 0 80px;
    box-sizing: border-box;
}

#header_search_corner.open {
    transform: translate(0);
}

#header_search_corner .header_search_corner_wrap {
    width: 1080px;
    margin: 0 auto;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_header {
    margin: 48px 0 0 0;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_header .header_search_corner_close {
    cursor: pointer;
    border-radius: 7px;
    color: #ffffff;
    background: #333333;
    width: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0 0 0 auto;
    box-sizing: border-box;
    padding: 7px 0;
    position: relative;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_header .header_search_corner_close::after {
    content: "";
    background-image: url(/img/common/icon-common-close.png);
    display: inline-block;
    width: 20px;
    height: 20px;
    background-size: 20px;
    background-repeat: no-repeat;
    margin: 0 0 0 12px;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box {
    display: flex;
    justify-content: space-between;
    margin: 24px 0 0 0;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner {
    width: 580px;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner h3 {
    font-size: 2.0rem;
    margin: 0;
    color: #333333;
    font-weight: 700;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse-search-box-corner {
    display: flex;
    border: 2px solid #74DBD3;
    border-radius: 13px;
    overflow: hidden;
    box-sizing: border-box;
    margin: 5px 0 0 0;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse-search-box-corner #tmp_query_corner {
    flex: 1;
    border: none;
    background-image: url(https://www.google.com/cse/static/images/2x/ja/branding.png) !important;
    background-size: 100px auto !important;
    background-position: center left 20px !important;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse-search-box-corner #tmp_query_corner:focus {
    background-image: none !important;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse-search-box-corner #tmp_query_corner:focus-visible {
    border: none;
    outline: none;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse-search-box-corner #tmp_query_corner:not(:placeholder-shown) {
    background-image: none !important;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse-search-box-corner #submit_corner {
    border: none;
    background-color: #E5F9F2;
    color: #333333;
    font-size: 1.6rem;
    line-height: 1;
    width: 150px;
    font-weight: 700;
    background-image: url(/img/common/icon-common-search.png);
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 19px;
    padding: 26px 8px 26px 0;
    border-left: 2px solid #74DBD3;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse-search-box-corner #submit_corner:hover {
    background-color: #C1F0E1;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse_filetype_corner {
    margin: 6px 0 0 0;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse_filetype_corner fieldset {
    text-align: right;
    border: none;
    padding: 0;
    font-size: 1.4rem;
    color: #333333;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id {
    width: 460px;
    margin: 0;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id #open_page_id_box {}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id #open_page_id_box .search_ttl {
    font-size: 2.0rem;
    color: #333333;
    font-weight: 700;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id #open_page_id_box .search_ipt {
    margin: 5px 0 0 0;
    width: 100%;
    border: 2px solid #74DBD3;
    border-radius: 13px;
    overflow: hidden;
    height: 72px;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id #open_page_id_box .search_ipt #open_page_id {
    width: calc(100% - 150px);
    height: 100%;
    padding: 20px;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id #open_page_id_box .search_ipt #open_page_id:focus-visible {
    border: none;
    outline: none;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id #open_page_id_box .search_ipt #open_page_id_submit {
    border: none;
    background-color: #E5F9F2;
    width: 150px;
    color: #333333;
    font-weight: 700;
    height: 100%;
    background-image: url(/img/common/icon-common-search.png);
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 19px;
    padding: 0 8px 0 0;
    border-left: 2px solid #74DBD3;
}

#header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id #open_page_id_box .search_ipt #open_page_id_submit:hover {
    background-color: #C1F0E1;
}

#header_search_corner .header_search_corner_wrap #search_trend_word {
    margin: 24px 0 0 0;
}

#header_search_corner .header_search_corner_wrap #search_trend_word #search_trend_word_ttl h2 {
    margin: 0 0 12px 0;
    font-size: 2.0rem;
    color: #333333;
}

#header_search_corner .header_search_corner_wrap #search_trend_word p {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

#header_search_corner .header_search_corner_wrap #search_trend_word p a {
    border-radius: 100px;
    background: #ffffff;
    text-decoration: none;
    color: #1A0DAB;
    font-size: 1.4rem;
    padding: 1px 10px;
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list {}

#header_search_corner .header_search_corner_wrap .top_search_menu_list h2 {
    font-size: 2.0rem;
    font-weight: 700;
    color: #333333;
    margin: 24px 0 16px;
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul {
    margin: 0;
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li {
    width: 200px;
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a {
    font-size: 1.6rem;
    color: #333333;
    text-decoration: none;
    text-align: center;
    display: block;
    border-radius: 13px;
    background-color: #ffffff;
    font-weight: 700;
    height: 100%;
    width: 100%;
    padding: 96px 0 12px;
    box-sizing: border-box;
    background-size: 60px;
    background-repeat: no-repeat;
    background-position: center top 16px;
    border: 2px solid #74DBD3;
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a:hover {
    background-color: #C1F0E1;
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a.icon-search01 {
    background-image: url(/img/common/icon-search01.png);
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a.icon-search02 {
    background-image: url(/img/common/icon-search02.png);
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a.icon-search03 {
    background-image: url(/img/common/icon-search03.png);
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a.icon-search04 {
    background-image: url(/img/common/icon-search04.png);
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a.icon-search05 {
    background-image: url(/img/common/icon-search05.png);
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a.icon-life01 {
    background-image: url(/img/common/icon-life01.png);
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a.icon-life02 {
    background-image: url(/img/common/icon-life02.png);
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a.icon-life03 {
    background-image: url(/img/common/icon-life03.png);
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a.icon-life04 {
    background-image: url(/img/common/icon-life04.png);
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a.icon-life05 {
    background-image: url(/img/common/icon-life05.png);
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a.icon-life06 {
    background-image: url(/img/common/icon-life06.png);
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a.icon-life07 {
    background-image: url(/img/common/icon-life07.png);
}

#header_search_corner .header_search_corner_wrap .top_search_menu_list ul li a.icon-life08 {
    background-image: url(/img/common/icon-life08.png);
}

#global_navi {}

#global_navi .gnav>ul {
    padding: 0;
    position: relative;
}

#global_navi .gnav>ul>li {
    padding: 22px 7px;
    border: none;
}

#global_navi .gnav>ul>li>a::after {
    content: "";
    position: absolute;
    right: -7px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 80px;
    background: #74DBD3;
}

#global_navi .gnav>ul>li:first-of-type>a::before {
    content: "";
    position: absolute;
    left: -7px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 80px;
    background: #74DBD3;
}

#global_navi .gnav>ul>li>a {
    padding: 59px 0 5px;
    font-family: "Zen Maru Gothic";
    font-size: 1.5rem;
    border-radius: 8px;
    background-size: 48px;
    background-repeat: no-repeat;
    background-position: center top 5px;
    color: #333333;
    position: relative;
}

#global_navi .gnav>ul>li:nth-of-type(1)>a {
    background-image: url(/img/common/icon-gnav01.png);
}

#global_navi .gnav>ul>li:nth-of-type(2)>a {
    background-image: url(/img/common/icon-gnav02.png);
}

#global_navi .gnav>ul>li:nth-of-type(3)>a {
    background-image: url(/img/common/icon-gnav03.png);
}

#global_navi .gnav>ul>li:nth-of-type(4)>a {
    background-image: url(/img/common/icon-gnav04.png);
}

#global_navi .gnav>ul>li:nth-of-type(5)>a {
    background-image: url(/img/common/icon-gnav05.png);
}

#global_navi .gnav>ul>li:nth-of-type(6)>a {
    background-image: url(/img/common/icon-gnav06.png);
}

#global_navi .gnav>ul>li:nth-of-type(7)>a {
    background-image: url(/img/common/icon-gnav07.png);
}

#global_navi .gnav>ul>li>a:hover {
    background-color: #E5F9F2;
}

#global_navi .gnav>ul>li .submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #ffffff;
    border: 2px solid #74DBD3;
    border-radius: 8px;
    z-index: 10;
    flex-wrap: wrap;
    gap: 22px;
    list-style: circle;
    padding: 44px;
    box-sizing: border-box;
    width: 1080px;
}

#global_navi .gnav>ul>li .submenu .submenu-item {
    width: calc(50% - 11px);
    border: none;
}

#global_navi .gnav>ul>li .submenu .submenu-item a {
    font-size: 1.6rem;
    font-weight: 400;
    color: #1A1A8C;
    text-align: left;
}


#global_navi .gnav>ul>li:hover>.submenu {
    display: flex;
}

@media screen and (max-width: 1080px) {
    #global_navi {
        display: none;
    }
}

#footer {
        background: #E5F9F2;
}

#footer #footer_link_pagetop {
    width: 146px;
    height: 133px;
}

#footer .footer_navi {
    padding: 74px 0 40px;
}

#footer .footer_navi ul {
    display: flex;
    justify-content: center;
    font-size: 1.4rem;
}

#footer .footer_navi ul li a {
    text-decoration: none;
    color: #333333;
}

#footer .footer_logo_wrap {
    max-width: 1200px;
    margin: 0 auto 40px;
    padding: 0 20px;
}

#footer .footer_logo_wrap img {
    height: auto;
    display: block;
    max-width: 243px;
    width: 100%;
}

#footer .footer_wrap {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    padding: 0 20px;
    flex-wrap: wrap;
    gap: 30px;
}

#footer .footer_wrap .footer_box_area {
    display: flex;
    flex-wrap: wrap;
    gap: 29px 96px;
    max-width: 742px;
    justify-content: center;
}

#footer .footer_wrap .footer_box_area .footer_box01 {
    width: 336px;
    position: relative;
}

#footer .footer_wrap .footer_box_area .footer_box01::after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background: #74DBD3;
    position: absolute;
    top: 0;
    right: -48px;
}

#footer .footer_wrap .footer_box_area .footer_box_title {
    font-size: 2.0rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    margin: 30px 0 0 0;
}

#footer .footer_wrap .footer_box_area .footer_box_title:first-of-type {
    margin: 0;
}

#footer .footer_wrap .footer_box_area .footer_box_title a {
    font-size: 1.4rem;
    font-weight: 400;
    display: inline-block;
    padding: 1px 10px;
    background: #ffffff;
    color: #333333;
    text-decoration: none;
    border-radius: 4px;
    margin: 0 0 0 8px;
}

#footer .footer_wrap .footer_box_area .footer_box_detail {
    font-size: 1.6rem;
    line-height: 1.8;
    margin: 8px 0 0 0;
}

#footer .footer_wrap .footer_box_area .footer_box_buttons {
    margin: 40px 0 0 0;
}

#footer .footer_wrap .footer_box_area .footer_box_buttons a {
    display: block;
    width: 200px;
    font-size: 1.6rem;
    text-decoration: none;
    color: #333333;
    background-color: #ffffff;
    border-radius: 100px;
    padding: 11px;
    text-align: center;
    margin: 0 0 16px 0;
        border: 2px solid #74DBD3;
}

#footer .footer_wrap .footer_box_area .footer_box02 {
    width: 310px;
}

#footer .footer_wrap .footer_box_area .footer_box03 {
    width: 100%;
    background: #ffffff;
    font-size: 1.5rem;
    padding: 14px 16px;
}

#footer .footer_wrap .footer_box_area .footer_box03 p {
    margin: 0;
    line-height: 1.8;
}

#footer .footer_wrap .footer_map_area {
    max-width: 424px;
}

#footer .footer_wrap .footer_map_area img {
    width: 100%;
    height: auto;
}

#footer #copyright {
    border-top: 1px solid #B6DEF4;
    margin: 90px 0 0 0;
    padding: 22px 0 44px 0;
    text-align: center;
    font-size: 1.4rem;
    color: #000000;
}


@media screen and (max-width: 670px) {

    #header2 {
        padding: 0;
    }

    #he_left {
        width: 132px;
        padding: 13px 0 10px 22px;
    }

    #he_right {
        display: none;
    }

    #header_search_corner_button {
        display: none;
    }

    #header_search_corner {
    }

    #spm01 {
        display: block;
        width: 80px;
        height: auto;
        font-size: 1.4rem;
        font-weight: 700;
        text-align: center;
        padding: 46px 0 10px;
        box-sizing: border-box;
        background-size: 34px;
        background-repeat: no-repeat;
        background-position: center top 12px;
        background-image: url(/img/common/spm01-01.png);
        cursor: pointer;
    color: #333333;
    background-color: #E5F9F2;
    border: 2px solid #74DBD3;
    }

    #spm02 {
        display: block;
        position: fixed;
        bottom: 0;
        background: #ffffff;
        width: 100%;
        z-index: 40;
    }

    #spm02 ul {
        display: flex;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    #spm02 ul li {
        flex: 1;
    }

    #spm02 ul li span,
    #spm02 ul li a {
    color: #333333;
    background-color: #E5F9F2;
    border-right: 1px solid #74DBD3;
        display: block;
        font-size: 1.6rem;
        font-weight: 700;
        text-align: center;
        padding: 42px 0 6px;
        text-decoration: none;
        position: relative;
        cursor: pointer;
    }

    #spm02 ul li:last-of-type span,
    #spm02 ul li:last-of-type a {
        border: none;
    }

    #spm02 ul li span::after,
    #spm02 ul li a::after {
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: 13px;
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat;
    }

    #spm02 ul li.icon-spm-osusume span::after,
    #spm02 ul li.icon-spm-osusume a::after {
        background-image: url(/img/common/spm02-01.png);
    }

    #spm02 ul li.icon-spm-search span::after,
    #spm02 ul li.icon-spm-search a::after {
        background-image: url(/img/common/spm02-02.png);
    }

    #spm02 ul li.icon-spm-menu span::after,
    #spm02 ul li.icon-spm-menu a::after {
        background-image: url(/img/common/spm02-03.png);
    }

    #spm02 ul li.icon-spm-home span::after,
    #spm02 ul li.icon-spm-home a::after {
        background-image: url(/img/common/spm02-04.png);
        width: 54px;
        height: 54px;
        top: -12px;
    }

    #spm03 {
        display: block;
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        z-index: 10;
        background: #ffffff;
        transform: translateY(100%);
        transition: all 0.3s ease;
        padding: 20px;
        box-sizing: border-box;
    }

    #spm03.open {
        transform: translate(0);
    }

    #spm03 .spm-close {
        width: 40px;
        height: 40px;
        top: 20px;
        right: 20px;
        position: absolute;
        background-image: url(/img/common/spm-close.png);
        background-size: contain;
        background-repeat: no-repeat;
        cursor: pointer;
    }

    #spm03 .spm_title {
        font-size: 1.8rem;
        font-weight: 700;
        padding: 15px 0 35px;
        text-align: center;
    }

    #spm03 .h_support_size dl,
    #spm03 .h_support_background dl {
        justify-content: start;
    }

    #spm03 #moji_size dt {
        font-size: 1.4rem;
        font-weight: 700;
        min-width: 6em;
    }

    #spm03 #moji_size dd a,
    #spm03 #moji_size dd a#moji_large {
        font-size: 1.6rem;
        font-weight: 700;
        border-radius: 3px;
        border: none;
        color: #333333;
        background: #E8E8E8;
    }

    #spm03 #moji_size dd a:hover,
    #spm03 #moji_size dd a#moji_large:hover,
    #spm03 #moji_size dd a.active,
    #spm03 #moji_size dd a#moji_large.active {
        color: #333333;
        background-color: #E5F9F2;
        border: 2px solid #74DBD3;
    }

    #spm03 #haikei_color {
        margin: 0;
    }

    #spm03 #haikei_color dt {
        font-size: 1.4rem;
        font-weight: 700;
        min-width: 6em;
    }

    #spm03 #haikei_color dd a,
    #spm03 #haikei_color dd a#haikei_white,
    #spm03 #haikei_color dd a#haikei_black,
    #spm03 #haikei_color dd a#haikei_blue {
        font-size: 1.6rem;
        font-weight: 700;
        border-radius: 3px;
        border: none;
        color: #333333 !important;
        background: #E8E8E8 !important;
    }

    #spm03 #haikei_color dd a:hover,
    #spm03 #haikei_color dd a#haikei_white:hover,
    #spm03 #haikei_color dd a#haikei_black:hover,
    #spm03 #haikei_color dd a#haikei_blue:hover,
    #spm03 #haikei_color dd a.active,
    #spm03 #haikei_color dd a#haikei_white.active,
    #spm03 #haikei_color dd a#haikei_black.active,
    #spm03 #haikei_color dd a#haikei_blue.active {
        color: #333333 !important;
        background-color: #E5F9F2 !important;
        border: 2px solid #74DBD3 !important;
    }

    #spm03>a {
        width: 100%;
        display: block;
        border-radius: 8px;
        padding: 17px 10px 17px 52px;
        box-sizing: border-box;
        font-size: 1.4rem;
        margin: 30px 0 0 0;
        background-image: url(/img/common/icon-common-world.png);
        background-repeat: no-repeat;
        background-position: left 16px center;
        background-size: 18px;
        color: #333333;
        background-color: #E5F9F2;
        border: 2px solid #74DBD3;
    }

    #spm04 {
        display: block;
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        z-index: 10;
        background: #ffffff;
        transform: translateY(100%);
        transition: all 0.3s ease;
        padding: 20px;
        box-sizing: border-box;
    }

    #spm04.open {
        transform: translate(0);
    }

    #spm04 .spm-close {
        width: 40px;
        height: 40px;
        top: 20px;
        right: 20px;
        position: absolute;
        background-image: url(/img/common/spm-close.png);
        background-size: contain;
        background-repeat: no-repeat;
        cursor: pointer;
    }

    #spm04 ul {
        list-style: none;
        margin: 55px 0 0 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    #spm04 ul li {}

    #spm04 ul li a {
        padding: 18px 38px;
        font-size: 1.8rem;
        font-weight: 700;
        color: #333333;
        text-decoration: none;
        display: block;
        width: 100%;
        box-sizing: border-box;
        background-color: #E5F9F2;
        border-radius: 8px;
        background-image: url(/img/common/icon-common-anchor.png);
        background-repeat: no-repeat;
        background-position: right 14px center;
        background-size: 30px;
        position: relative;
    }

    #spm04 ul li a::after {
        content: "";
        position: absolute;
        left: 16px;
        top: 50%;
        transform: translateY(-50%);
        width: 4px;
        height: 28px;
        background-color: #74DBD3;
    }

    #spm05 {
        display: block;
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        z-index: 10;
        background: #ffffff;
        transform: translateY(100%);
        transition: all 0.3s ease;
        padding: 20px;
        box-sizing: border-box;
    }

    #spm05.open {
        transform: translate(0);
    }

    #spm05 .spm-close {
        width: 40px;
        height: 40px;
        top: 20px;
        right: 20px;
        position: absolute;
        background-image: url(/img/common/spm-close.png);
        background-size: contain;
        background-repeat: no-repeat;
        cursor: pointer;
    }

    #spm05 ul {
        list-style: none;
        padding: 0;
        margin: 60px 0 0;
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    #spm05 ul li {}

    #spm05 ul li a {
        display: block;
        width: 100%;
        padding: 20px 10px 20px 88px;
        border-radius: 8px;
        border: 3px solid #74DBD3;
        box-sizing: border-box;
        color: #333333;
        text-decoration: none;
        font-size: 1.9rem;
        font-weight: 700;
        position: relative;
        background-position: left 34px center;
        background-repeat: no-repeat;
        background-size: 38px;
        background-color: #E5F9F2;
    }

    #spm05 ul li a.icon-spm05-01 {
        background-image: url(/img/top/icon-left-menu01.png);
    }

    #spm05 ul li a.icon-spm05-02 {
        background-image: url(/img/top/icon-left-menu02.png);
    }

    #spm05 ul li a.icon-spm05-03 {
        background-image: url(/img/top/icon-left-menu03.png);
    }

    #spm05 ul li a.icon-spm05-04 {
        background-image: url(/img/top/icon-left-menu04.png);
    }

    #spm05 ul li a.icon-spm05-05 {
        background-image: url(/img/top/icon-left-menu05.png);
    }

    #spm05 ul li a::after {
        content: "";
        position: absolute;
        width: 8px;
        height: 30px;
        background-color: #74DBD3;
        left: -3px;
        top: 50%;
        transform: translateY(-50%);
        border-radius: 100px;
    }

    #header_search_corner {
        background: #E5F9F2;
        transform: translateY(100%);
        z-index: 10;
    }

    #header_search_corner .header_search_corner_wrap {
        padding: 20px;
        box-sizing: border-box;
        width: 100%;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_header {
        margin: 0;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_header .header_search_corner_close {
        width: 40px;
        height: 40px;
        top: 20px;
        right: 20px;
        position: absolute;
        background-image: url(/img/common/spm-close.png);
        background-size: contain;
        background-repeat: no-repeat;
        cursor: pointer;
    font-size: 0;
    background-color: transparent;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_header .header_search_corner_close::after {
        display: none;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box {
        flex-wrap: wrap;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner {
        width: 100%;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner h3 {
    font-size: 1.6rem;
    color: #333333;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse-search-box-corner {
    border: 2px solid #74DBD3;
    border-radius: 8px;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse-search-box-corner #tmp_query_corner {
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse-search-box-corner #tmp_query_corner:focus {
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse-search-box-corner #tmp_query_corner:focus-visible {
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse-search-box-corner #tmp_query_corner:not(:placeholder-shown) {
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse-search-box-corner #submit_corner {
        font-size: 0;
        padding: 20px;
        width: 60px;
        background-position: center;
        height: 60px;
        box-sizing: border-box;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse_filetype_corner {
        margin: 6px 0 0 0;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_keyword_corner #cse_filetype_corner fieldset {
    color: #333333;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id {
        width: 100%;
        margin: 24px 0 0 0;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id #open_page_id_box {}

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id #open_page_id_box .search_ttl {
    font-size: 1.6rem;
    color: #333333;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id #open_page_id_box .search_ipt {
    width: 100%;
    border: 2px solid #74DBD3;
    height: auto;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id #open_page_id_box .search_ipt #open_page_id {
        width: calc(100% - 60px);
        height: 100%;
        padding: 20px;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id #open_page_id_box .search_ipt #open_page_id:focus-visible {
        border: none;
        outline: none;
    }

    #header_search_corner .header_search_corner_wrap .header_search_corner_box #top_search_page_id #open_page_id_box .search_ipt #open_page_id_submit {
        font-size: 0;
        padding: 20px;
        width: 60px;
        background-position: center;
        height: 60px;
        box-sizing: border-box;

    }

    #header_search_corner .header_search_corner_wrap #search_trend_word {
        margin: 24px 0 0 0;
    }

    #header_search_corner .header_search_corner_wrap #search_trend_word #search_trend_word_ttl h2 {
    font-size: 1.6rem;
    color: #333333;
    }

    #header_search_corner .header_search_corner_wrap #search_trend_word p {
    }

    #header_search_corner .header_search_corner_wrap #search_trend_word p a {
    }

    #header_search_corner .header_search_corner_wrap .top_search_menu_list {
        display: flex;
        flex-direction: column;
        margin: 0;
    }

    #header_search_corner .header_search_corner_wrap .top_search_menu_list h2 {
        font-size: 1.6rem;
        color: #333333;
    }

    #header_search_corner .header_search_corner_wrap .top_search_menu_list .top_search_menu_list_life {
        order: 1;
    }

    #header_search_corner .header_search_corner_wrap .top_search_menu_list .top_search_menu_list_life ul {
    gap: 2px;
    }

    #header_search_corner .header_search_corner_wrap .top_search_menu_list .top_search_menu_list_life ul li {
    width: calc(33% - 2px);
    }

    #header_search_corner .header_search_corner_wrap .top_search_menu_list .top_search_menu_list_life ul li a {
background-size: 36px;
    padding: 69px 6px 18px;
    font-weight: 400;
    font-size: 1.4rem;
    }

    #header_search_corner .header_search_corner_wrap .top_search_menu_list .top_search_menu_list_search {
        order: 2;
    }

    #header_search_corner .header_search_corner_wrap .top_search_menu_list .top_search_menu_list_search ul {
gap: 8px;
    }

    #header_search_corner .header_search_corner_wrap .top_search_menu_list .top_search_menu_list_search ul li {
    width: 100%;
    }

    #header_search_corner .header_search_corner_wrap .top_search_menu_list .top_search_menu_list_search ul a {
    padding: 16px 10px 16px 62px;
    text-align: left;
    font-size: 1.4rem;
    font-weight: 400;
    background-size: 30px;
    background-position: left 16px center;
    }

    #footer {
        padding: 20px 20px 60px;
    }

    #footer .footer_wrap {
        padding: 0;
    }

    #footer #footer_link_pagetop {
        display: none;
    }

    #footer .footer_navi {
        padding: 0 0 40px;
    }

    #footer .footer_navi ul {
        justify-content: start;
    }

    #footer .footer_wrap .footer_box_area {
        justify-content: start;
    }

    #footer .footer_wrap .footer_box_area .footer_box01 {
        width: 100%;
    }

    #footer .footer_wrap .footer_box_area .footer_box_buttons {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

}