@charset "utf-8";

a:hover {
    text-decoration: none;
}

div:has(.btn-bookmark),
li:has(.btn-bookmark) {
    position: relative;
}

.form-control:focus {
    box-shadow: none !important;
    color: inherit;
}

.btn-bookmark {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 17px;
    height: 22px;
    background-image: url("../img/ico_bookmark.svg");
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    cursor: pointer;
}
.btn-bookmark.on {
    background-image: url("../img/ico_bookmark_on.svg");
}
.release-detail .single-inner .btn-bookmark {
    right: 15px;
}

.article-tag-list {
   width: 100%;
    height: 43px;
    margin: 12px 0 0;
    padding: 8px 21px 12px 30px;
    box-sizing: border-box;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    background-color: #F7F8F8;
}
.release-detail .single-inner .article-tag-list {
    height: auto;
    margin-top: 20px;
    text-overflow: unset;
    white-space: normal;
}
@media screen and (max-width: 767px) {
    .article-tag-list {
        margin-top: calc(20 / 750 * 100vw);
        height: calc(72 / 750 * 100vw);
        padding: calc(12 / 750 * 100vw) calc(30 / 750 * 100vw) calc(14 / 750 * 100vw);
    }
    .release-detail .single-inner .article-tag-list {
        margin-top: calc(40 / 750 * 100vw);
        padding: calc(20 / 750 * 100vw) calc(40 / 750 * 100vw) calc(24 / 750 * 100vw);
    }
}

.article-tag-list a {
    width: auto !important;
    margin: 0 14px 0 0 !important;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .05em;
    color: #A8ADAB;
}
.article-tag-list a:last-of-type {
    margin-right: 0 !important;
}
@media screen and (max-width: 767px) {
    .article-tag-list a:last-of-type {
        margin-right: calc(24 / 750 * 100vw);
        font-size: calc(22 / 750 * 100vw);
    }
    .release-detail .single-inner .article-tag-list {
        margin-right: calc(30 / 750 * 100vw);
    }
}

@media screen and (max-width: 767px) {
    #header #header_top .btn_item {
        display: none;
    }
}

#header .menu_item {
    background-color: #16331F;
}

@media screen and (max-width: 767px) {
    #main_fv .fv_menu {
        background-color: #16331F;
    }
}

@media screen and (max-width: 767px) {
    #main_fv .header_menu {
        background-color: #16331F;
    }
}

@media screen and (max-width: 767px) {
    #main_fv .header_menu ul {
        background-color: #16331F;
    }
}

#main_fv .fv_menu ul li .btn {
    color: #16331F;
}
@media screen and (max-width: 767px) {
    #main_fv .fv_menu ul li .btn {
        color: #ffffff;
    }
}

@media screen and (max-width: 767px) {
    #header {
        height: 115px !important;
    }
}

@media screen and (max-width: 767px) {
    #header #menuBtn {
        top: 68px;
    }
}

@media screen and (max-width: 767px) {
    #header .header_item {
        height: 75px;
        justify-content: space-between;
    }
}

#header .header_item .logo_item .logo span {
    margin-top: 0;
}

@media screen and (max-width: 767px) {
    #header #menu_logo .logo_box {
        height: 75px;
    }
}

@media screen and (max-width: 767px) {
    #header #menu_logo .logo span {
        margin-top: 0;
    }
}

#header .header_item .logo_item .logo span.press,
#header #menu_logo .logo span.press {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 104px;
    height: 15px;
    margin: 4px auto 0;
    font-size: 12px;
    letter-spacing: .05em;
    text-align: center;
    color: #fff;
    background-color: #103925;
}

@media screen and (max-width: 767px) {
    #header .menu_item #menu_list_item {
        padding-top: 115px;
        background-color: #f7f8f8;
    }
}

#header .menu_item #menu_list {
    justify-content: center;
    gap: 83px;
}
@media screen and (max-width: 767px) {
    #header .menu_item #menu_list {
        gap: 0;
    }
}
@media screen and (max-width: 980px) {
    #header .menu_item #menu_list {
        gap: 0;
        justify-content: space-between;
    }
}
@media screen and (min-width: 981px) and (max-width: 1027px), print {
    #header .menu_item #menu_list {
        gap: 75px;
    }
}

@media screen and (max-width: 767px) {
    #header .menu_item #menu_list li {
        border-top: 1px solid #E9EFEC;
    }
}

@media screen and (max-width: 767px) {
    #header .menu_item #menu_list li a:after {
        background-image: url("../img/ico_triangle_right.svg");
    }
}

@media screen and (max-width: 767px) {
    #header .menu_item #menu_list li + li {
        border-bottom: none;
    }
    #header .menu_item #menu_list li.full {
        width: 100%;
    }
    #header .menu_item #menu_list li.half {
        width: 50%;
    }
    #header .menu_item #menu_list li.half:nth-child(even) {
        border-right: 1px solid #E9EFEC;
    }
}

@media screen and (max-width: 767px) {
    #header .menu_item #menu_list li a {
        color: #16331F;
    }
    #header .menu_item #menu_list li a.text-center {
        justify-content: center;
    }
}

@media screen and (max-width: 767px) {
    #header .menu_item #menu_list .sp_admin_btn {
        padding-top: 0;
    }
}

@media screen and (max-width: 767px) {
    #header .menu_item #menu_list .last_menu {
        margin: 0 0 30px;
    }
}

@media screen and (max-width: 767px) {
    #header .menu_item #menu_list .last_menu a {
        color: #16331F;
        background-color: #EFF2F0;
    }
}

@media screen and (max-width: 767px) {
    #header .menu_item .last-middle-link {
        margin: 0 0 10px;
    }
    #header .menu_item .last-middle-link:last-of-type {
        margin-bottom: 25px;
    }
}
@media screen and (min-width: 768px) {
    #header .menu_item .last-middle-link {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    #header .menu_item .last-middle-link a {
        display: inline-block;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: .05em;
        color: #16331F;
    }
    #header .menu_item .last-middle-link a:after {
        /*right: -14px;*/
    }
}
@media screen and (min-width: 768px) {
    #header .menu_item .last-middle-link a {
        /*display: none;*/
    }
}

#header .menu_item .last-middle-link a span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}
#header .menu_item .last-middle-link a span:after {
    content: '';
    display: inline-block;
    width: 5px;
    height: 7px;
    background-image: url("../img/ico_triangle_right.svg");
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
}

#header .menu_item .sp-header-sns-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin: 0 0 30px;
}
@media screen and (min-width: 768px) {
    #header .menu_item .sp-header-sns-list {
        display: none;
    }
}

#header .menu_item .sp-header-sns-list li {
    width: 24px;
    margin: 0;
    padding: 0;
}

#header .menu_item .sp-header-sns-list a {

}
#header .menu_item .sp-header-sns-list a:after {
    content: none;
}

#header .menu_item .sp-header-menu-inner {
    padding: 0 20px;
}
@media screen and (min-width: 768px) {
    #header .menu_item .sp-header-menu-inner {
        display: none;
    }
}

#header .menu_item .sp-header-menu-inner .sp-header-menu-inner-title {
    margin: 0 0 15px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: left;
    color: #16331F;
}

#header .menu_item #category-menu_list {
    margin: auto;
    max-width: 1200px;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
    justify-content: end;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
#header .menu_item #category-menu_list li {
    position: relative;
    align-items: center;
    display: flex;
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list li {
        display: block;
    }
}
#header .menu_item #category-menu_list li a {
    display: block;
    font-size: 15px;
    font-weight: bold;
    line-height: 46px;
    font-family: "Noto Sans JP", sans-serif;
    color: #ffffff;
    position: relative;
    transition: 0.3s ease-in-out;
    text-align: center;
}
@media screen and (max-width: 980px) {
    #header .menu_item #category-menu_list li a {
        font-size: 13px;
    }
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list li a {
        font-size: 14px;
        font-weight: bold;
        color: #08192d;
        display: flex;
        flex-direction: row-reverse;
        justify-content: center;
    }
    #header .menu_item #category-menu_list li a span {
        font-size: 15px;
        margin-right: 10px;
    }
}
#header .menu_item #category-menu_list li a::after {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 3px;
    background: #ffffff;
    bottom: 0;
    transform: scale(0, 3);
    transform-origin: center top;
    /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
    transition: transform 0.3s;
    /*変形の時間*/
}
#header .menu_item #category-menu_list li a:hover {
    opacity: 1;
}
#header .menu_item #category-menu_list li a:hover:after {
    transform: scale(1, 3);
    /*ホバー後、x軸方向に1（相対値）伸長*/
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list li a:hover:after {
        transform: translateY(-50%);
    }
}
#header .menu_item #category-menu_list li .search_container {
    position: relative;
    box-sizing: border-box;
    display: block;
    padding: 0 35px 0 10px;
    border-radius: 50px;
    height: 32px;
    width: 200px;
    overflow: hidden;
    background: #ffffff;
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list li .search_container {
        padding: 0 25px 0 10px;
        width: 100%;
        height: 45px;
    }
}
#header .menu_item #category-menu_list li .search_container input[type="text"] {
    border: none;
    height: 32px;
    background: #ffffff;
    padding-block: 0;
    padding-inline: 0;
    padding: 0;
    width: 150px;
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list li .search_container input[type="text"] {
        width: calc(100% - 20px);
        height: 45px;
    }
}
#header .menu_item #category-menu_list li .search_container input[type="text"]:focus {
    outline: 0;
}
#header .menu_item #category-menu_list li .search_container input[type="submit"] {
    cursor: pointer;
    border: none;
    background: none;
    position: absolute;
    height: 100%;
    width: 16px;
    right: 16px;
    top: 0;
    outline: none;
    background: url(../img/search_icon.webp) no-repeat center / contain;
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list li .search_container input[type="submit"] {
        background-size: 16px 16px;
        background-position-x: right;
    }
}
#header .menu_item #category-menu_list li .search_container input::placeholder {
    color: #cccccc;
    font-size: 13px;
    text-align: left;
    width: 200;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    line-height: 32px;
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list li .search_container input::placeholder {
        line-height: 45px;
        width: 100%;
        height: 45px;
    }
}
#header .menu_item #category-menu_list .last_menu {
    display: none;
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list .last_menu {
        width: 100%;
        display: block;
    }
    #header .menu_item #category-menu_list .last_menu a {
        background: #EFF2F0;
        color: #16331F;
        padding: 20px;
        border-top: 1px solid #ffffff;
    }
}
#header .menu_item #category-menu_list .last_menu .sub_menu {
    display: none;
    border-top: 1px solid #ffffff;
    width: 100%;
    transition: 0.3s ease-in-out;
}
#header .menu_item #category-menu_list .last_menu .sub_menu li {
    width: 100%;
    padding: 0 20px;
    margin-top: 0;
}
#header .menu_item #category-menu_list .last_menu .sub_menu li:first-child {
    border-top: none;
}
#header .menu_item #category-menu_list .last_menu .sub_menu li a {
    font-size: 13px;
    font-weight: 500;
    background: #f7f8fa;
    padding-left: 0;
}
#header .menu_item #category-menu_list .last_menu .sub_menu .noborder {
    border-bottom: none;
}
#header .menu_item #category-menu_list .sp_admin_btn {
    padding: 0;
}
#header .menu_item #category-menu_list .sp_admin_btn .sp_admin_btn_item {
    display: none;
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list .sp_admin_btn .sp_admin_btn_item {
        padding: 13px 40px;
        justify-content: center;
        display: block;
    }
}
#header .menu_item #category-menu_list .sp_admin_btn .sp_admin_btn_item .txt_btn {
    font-size: 16px;
    font-weight: bold;
    color: #08192d;
    display: block;
    padding-right: 14px;
    width: fit-content;
    position: relative;
    margin: auto;
    margin-top: 20px;
}
#header
.menu_item
#category-menu_list
.sp_admin_btn
.sp_admin_btn_item
.txt_btn
+ .txt_btn {
    margin-top: 15px;
}
#header .menu_item #category-menu_list .sp_admin_btn .sp_admin_btn_item .txt_btn:hover {
    opacity: 1;
    color: #abb0b4;
}
#header .menu_item #category-menu_list .sp_admin_btn .sp_admin_btn_item .txt_btn::after {
    position: absolute;
    content: "";
    width: 6px;
    height: 8px;
    right: 0;
    top: 12px;
    z-index: 1;
    background: url(../img/btn_gai_icon.webp) no-repeat center / contain;
    transition: 0.3s ease-in-out;
}
#header .menu_item #category-menu_list .sp_admin_btn .sp_admin_btn_item .border_btn {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    background: #ffffff;
    border: 2px solid #08192d;
    color: #08192d;
    font-size: 16px;
    font-weight: bold;
    transition: 0.3s ease-in-out;
    margin-top: 18px;
}
#header
.menu_item
#category-menu_list
.sp_admin_btn
.sp_admin_btn_item
.border_btn::after {
    display: none;
}
#header
.menu_item
#category-menu_list
.sp_admin_btn
.sp_admin_btn_item
.border_btn:hover {
    opacity: 1;
    background: #08192d;
    color: #ffffff;
    transition: 0.3s ease-in-out;
}
#header .menu_item #category-menu_list .sp_admin_btn .sp_admin_btn_item .bg_btn {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    background: #08192d;
    border: 2px solid #08192d;
    color: #ffffff;
    font-size: 16px;
    font-weight: bold;
    transition: 0.3s ease-in-out;
}
#header .menu_item #category-menu_list .sp_admin_btn .sp_admin_btn_item .bg_btn::after {
    display: none;
}
#header .menu_item #category-menu_list .sp_admin_btn .sp_admin_btn_item .bg_btn:hover {
    opacity: 1;
    background: #ffffff;
    color: #08192d;
    transition: 0.3s ease-in-out;
}
#header .menu_item #category-menu_list .sub_menu {
    display: none;
    position: absolute;
    left: 0;
    top: 6.75rem;
    width: fit-content;
    text-align: left;
    background: #f0e9de;
    padding: 0 2.8125rem;
    border-radius: 2.1875rem;
    font-family: "Noto Sans JP", sans-serif;
    z-index: 55;
    transition: 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list .sub_menu {
        position: relative;
        background: none;
        padding: 0;
        left: auto;
        top: auto;
        width: fit-content;
        display: block;
        margin: auto;
    }
    #header .menu_item #category-menu_list .sub_menu::after {
        display: none;
    }
}
#header .menu_item #category-menu_list .sub_menu a {
    font-size: 1.0625rem;
    font-weight: bold;
    white-space: nowrap;
    font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list .sub_menu a {
        font-weight: 500;
        font-size: 15px;
        text-align: center;
    }
}
#header .menu_item #category-menu_list .sub_menu li {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    position: relative;
    width: fit-content;
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list .sub_menu li {
        margin: auto;
        margin-top: 20px;
    }
    #header .menu_item #category-menu_list .sub_menu li::after {
        display: none;
    }
}
#header .menu_item #category-menu_list .sub_menu li:last-child a {
    padding-right: 0;
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list .sub_menu li:last-child a {
        padding-right: auto;
    }
}
#header .menu_item #category-menu_list .sub_menu li:last-child a::before {
    display: none;
}
#header .menu_item #category-menu_list .sub_menu li:first-child {
    position: relative;
}
#header .menu_item #category-menu_list .sub_menu li:first-child::after {
    position: absolute;
    content: "";
    width: 2.5rem;
    height: 1.75rem;
    top: -0.625rem;
    left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: url(../img/common/sub_menu_icon.webp) no-repeat center / contain;
    transition: 0.3s ease-in-out;
}
#header .menu_item #category-menu_list .sub_menu li + li {
    margin-left: 20px;
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list .sub_menu li + li {
        margin-left: auto;
        margin-top: 15px;
    }
}
@media screen and (max-width: 768px) {
    #header .menu_item #category-menu_list {
        width: 100%;
        text-align: center;
        display: flex;
        flex-wrap: wrap;
        padding-left: 0;
        padding-right: 0;
    }
    #header .menu_item #category-menu_list li {
        width: 100%;
        margin: auto;
        position: relative;
        padding: 20px;
        border-top: 1px solid #e6e9f0;
    }
    #header .menu_item #category-menu_list li:first-child {
        border-top: none;
    }
    #header .menu_item #category-menu_list li a {
        line-height: 1.285;
        justify-content: left;
        position: relative;
        width: 100%;
    }
    #header .menu_item #category-menu_list li a:after {
        position: absolute;
        content: "";
        width: 6px;
        height: 8px;
        right: 0;
        left: auto;
        top: 50%;
        z-index: 1;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        background: url(../img/ico_triangle_right.svg) no-repeat center / contain;
        transition: 0.3s ease-in-out;
    }
}

#header .header_item .admin_btn_item {
    align-items: flex-end;
    gap: 30px;
}
@media screen and (max-width: 767px) {
    #header .header_item .admin_btn_item {
        display: flex;
        align-items: center;
        gap: 20px;
        margin: 0 51px 0 0;
    }
}

#header .header_item .admin_btn_item .navi-myMenu {
    position: relative;
}

#header .header_item .admin_btn_item .navi-myMenu .btn-myMenu {
    cursor: pointer;
    transition: all .2s;
}
#header .header_item .admin_btn_item .navi-myMenu .btn-myMenu:hover {
    opacity: .7;
}

@media screen and (max-width: 767px) {
    #header .header_item .admin_btn_item .navi-myMenu .btn-myMenu img {
        width: 24px;
        height: 24px;
    }
}

#header .header_item .admin_btn_item .navi-myMenu .btn-myMenu figure {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 3px;
    padding: 0 0 0 11px;
}

#header .header_item .admin_btn_item .navi-myMenu .btn-myMenu figure:after {
    content: '';
    width: 10px;
    height: 5px;
    background-image: url("../img/ico_arrow_down.svg");
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    transition: all .2s;
}
#header .header_item .admin_btn_item .navi-myMenu.open .btn-myMenu figure:after {
    transform: rotate(180deg);
}

#header .header_item .admin_btn_item .navi-myMenu .header-myMenu {
    position: absolute;
    top: 51px;
    right: 0;
    visibility: hidden;
    opacity: 0;
    width: 168px;
    padding: 8px 8px 9px;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #CCD3D0;
    border-radius: 4px;
    transform: translateY(-10px);
    transition: all .2s;
    z-index: 101;
}
#header .header_item .admin_btn_item .navi-myMenu .header-myMenu.open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

#header .header_item .admin_btn_item .navi-myMenu .header-myMenu .member-name {
    margin: 0 0 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: right;
}

#header .header_item .admin_btn_item .navi-myMenu .header-myMenu .member-email {
    margin: 0 0 16px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: right;
    color: #A8ADAB;
    word-break: break-all;
}

#header .header_item .admin_btn_item .navi-myMenu .header-myMenu .header-myMenu-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px 0 16px;
    border-top: 1px solid #EFEFEF;
    border-bottom: 1px solid #EFEFEF;
}
#header .header_item .admin_btn_item .navi-myMenu .header-myMenu .header-myMenu-list:last-of-type {
    margin: 0 0 8px;
}

#header .header_item .admin_btn_item .navi-myMenu .header-myMenu .header-myMenu-list li {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .05em;
}

#header .header_item .admin_btn_item .navi-myMenu .header-myMenu .header-myMenu-list li a {
    display: block;
}

#header .header_item .admin_btn_item .navi-myMenu .header-myMenu .btn-radius {
    width: 100%;
    height: 40px;
    box-sizing: border-box;
    border: 1px solid #CCD3D0;
    border-radius: 20px;
}

#header .header_item .admin_btn_item .navi-myMenu .header-myMenu .btn-radius a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
}

#header .header_item .admin_btn_item .btn-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
    #header .header_item .admin_btn_item .btn-label {
        font-size: 10px;
    }
}

#header .header_item .admin_btn_item .btn-headerSearch {
    cursor: pointer;
    transition: all .2s;
}
#header .header_item .admin_btn_item .btn-headerSearch:hover {
    opacity: .7;
}

#header .header_item .admin_btn_item .btn-headerSearch figure {
    margin: 0 0 3px;
}
@media screen and (max-width: 767px) {
    #header .header_item .admin_btn_item .btn-headerSearch figure {
        margin: 0;
    }
}

@media screen and (max-width: 767px) {
    #header .header_item .admin_btn_item .btn-headerSearch figure img {
        width: 24px;
        height: 24px;
    }

    #header .header_item .admin_btn_item .btn-headerSearch p {
        display: none;
    }
}

/* ↑headerおわり↑ */

.h2_ttl .ttl,
.h3_ttl,
.h2_ttl_allno .ttl,
.overseas_item_child_heading {
    color: #16331F;
}

.h2_ttl .en,
.h2_ttl_allno .en {
    color: #cdd3d0;
}

#main_content .inner.block {
    display: block;
}

@media screen and (max-width: 767px) {
    #main_fv {
        margin-top: 115px;
    }
}

#main_l.full {
    width: 100%;
    margin-bottom: 80px;
    padding-right: 0;
}

@media screen and (min-width: 768px), print {
    #main_l.full .main_list01 li {
        width: calc(32% - 15px);
    }
}

#main_l .keyword {
    background-color: #f7f8f8;
}

#main_l .keyword dl dt .key_list li a {
    color: #16331F;
    background-color: #E2EBE7;
    border-color: #E2EBE7;
}
#main_l .keyword dl dt .key_list li a:hover {
    border-color: #16331F;
}

#main_l .keyword .more_btn:after,
.main_btn::after,
#aricie .sub_ttl:after,
.txt_list_item li:after,
#focus .sub_ttl:after,
#news .sub_ttl:after,
.cat_item ul li .r_after:after,
#footer_c dl dt .txt_link a::after,
#sp_media .inner:after {
    background-image: url("../img/ico_triangle_right.svg");
}
.after_open::before,
.after_close::before {
    background-image: url("../img/ico_triangle_down.svg");
}

#main_l .main_list02 {
    margin: 0 0 40px;
}

#main_l .main_list02 li .img img {
    object-fit: cover;
}
#main_l .main_list02 li:first-child .img {
    width: 120px;
}

@media screen and (max-width: 767px) {
    #overseas {
        padding-right: 0;
        padding-left: 0;
    }
}

#overseas .overseas_item {
    padding: 30px 40px;
    background-color: #f7f8f8;
}
@media screen and (max-width: 767px) {
    #overseas .overseas_item {
        padding: 28px 20px 35px;
    }
}

.overseas_item_child {
    width: 47.94%;
}
@media screen and (max-width: 767px) {
    .overseas_item_child {
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .overseas_item_child .main_btn {
        width: 100%;
        height: 55px;
        padding: 15px;
    }
}

#overseas ul li .over_list .txt_item {
    width: calc(100% - 120px);
}

#overseas ul li .over_list .img {
    width: 120px;
}

#overseas ul li .over_list .img img {
    object-fit: cover;
    aspect-ratio: 120 / 100
}

.main_btn {
    background-color: #16331F;
    border-color: #16331F;
}
.main_btn.small {
    width: 238px;
}

#aricie .ttl_item {
    display: block;
}

#aricie .ttl_item .h2_ttl_allno {
    margin-bottom: 6px;
}

#aricie .ttl_item p {
    padding: 0;
}

#focus {
    margin: 0 0 117px;
}

#focus .sub_ttl::before {
    background-image: url("../img/ico_check.svg");
}

#news {
    margin: 0 0 117px;
}
@media screen and (max-width: 767px) {
    #news {
        margin-bottom: 72px;
    }
}

@media screen and (max-width: 767px) {
    #news .inner {
        padding: 0;
    }
}

.memberLimited {
    margin-bottom: 80px;
}

.memberLimited .limited-inner {
    position: relative;
    padding: 30px 0 60px;
    background-color: #EDF5F2;
}

.memberLimited .limited-inner .subTitle {
    position: absolute;
    top: -13px;
    left: 50%;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: center;
    color: #16331F;
    transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
    .memberLimited .limited-inner .subTitle {
        top: -12px;
        width: 100%;
        font-size: 16px;
    }
}

.memberLimited .limited-inner .section-title {
    margin: 0 0 40px;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: center;
    line-height: 1.625em;
    color: #16331F;
}
@media screen and (max-width: 767px) {
    .memberLimited .limited-inner .section-title {
        margin-bottom: 30px;
        font-size: 19px;
        line-height: 1.84em;
    }
}

.memberLimited .limited-inner .section-title .featured {
    position: relative;
    display: inline-block;
}

.memberLimited .limited-inner .section-title .featured .feature-mark {
    position: absolute;
    top: -26px;
    left: 0;
}
@media screen and (max-width: 767px) {
    .memberLimited .limited-inner .section-title .featured .feature-mark {
        top: -15px;
    }
}

.memberLimited .limited-inner .merit-list {
    display: flex;
    gap: 30px;
    justify-content: center;
    list-style: none;
    margin: 0 0 40px;
    padding: 0;
}
@media screen and (max-width: 767px) {
    .memberLimited .limited-inner .merit-list {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }
}

.memberLimited .limited-inner .merit-list li {
    width: 280px;
}
@media screen and (max-width: 767px) {
    .memberLimited .limited-inner .merit-list li {
        width: 295px;
    }
}

.memberLimited .limited-inner .merit-list li .merit-tooltip {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 125px;
    margin: 0 0 10px;
    padding: 18px 0 0;
    background-image: url("../img/bg_merit_tooltip.webp");
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
}
@media screen and (max-width: 767px) {
    .memberLimited .limited-inner .merit-list li .merit-tooltip {
        height: 115px;
        margin-bottom: 5px;
        padding-top: 16px;
        background-image: url("../img/bg_merit_tooltip_sp.webp");
    }
}

.memberLimited .limited-inner .merit-list li .merit-tooltip .merit-caption {
    margin: 0 0 3px;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
    .memberLimited .limited-inner .merit-list li .merit-tooltip .merit-caption {
        margin-bottom: 2px;
        font-size: 14px;
    }
}

.memberLimited .limited-inner .merit-list li .merit-tooltip .merit-title {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: center;
    line-height: 1.5em;
}

.memberLimited .limited-inner .main_btn {
    height: 50px;
    padding: 10px 13px;
}
@media screen and (max-width: 767px) {
    .memberLimited .limited-inner .main_btn {
        height: 55px;
        padding: 16px 0 17px;
    }
}

#footer_c dl dt .sns-list {
    display: flex;
    gap: 10px;
    margin: 24px 0 0;
}

#footer_c dl dt .sns-list li {
    width: 24px;
}

#footer_c dl dt .pc_copy {
    margin-top: 24px;
}

.message_item.media-request {
    margin-bottom: 60px;
}

.message_item .message-list {
    display: flex;
    flex-direction: column;
    gap: 28px;
    margin: 18px 0 0;
}

.message_item .message-list li {
    text-align: left;
}

.message_item .message-list li a {
    display: block;
}
.message_item .message-list li a:hover {
    color: #ABB0B4;
}

.message_item .message-list li a .message-category-name {
    margin: 0 0 3px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
}

.message_item .message-list li a .message-title {
    margin: 0 0 2px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1.75em;
}
.message_item .message-list li.important a .message-title {
    color: #D62D2D;
}

.message_item .message-list li a .message-date {
    font-size: 11px;
    letter-spacing: .05em;
    color: #A8ADAB;
}

@media screen and (max-width: 767px) {
    .cat_item {
        margin-top: 60px;
    }
}

.ranking_item.tag-ranking ul li + li {
    margin-top: 10px;
}
@media screen and (max-width: 767px) {
    .ranking_item.tag-ranking ul li + li {
        margin-top: 15px;
    }
}

@media screen and (max-width: 767px) {
    .ranking_item ul li .num {
        width: auto;
    }
}

.ranking_item.tag-ranking ul li .txt_item .ttl {
    margin-bottom: 0;
}

.search-modal {
    visibility: hidden;
    opacity: 0;
    z-index: 1000000;
    background-color: rgba(0, 0, 0, .5);
}
.search-modal.show-pr {
    visibility: visible;
    opacity: 1;
}

@media screen and (min-width: 768px) {
    .search-modal .search-left {
        max-width: 72%;
        padding-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .search-modal .search-right {
        max-width: none;
    }
}

.modal .modal-dialog {
    width: 100%;
}
@media screen and (min-width: 576px), print {
    .modal .modal-dialog {
        max-width: 880px;
    }
}

.fa-search.press-new {
    width: 48px;
    margin: 10px 0 0 0;
    padding: 0;
    transition: color .2s;
    position: absolute;
    font-size: 2rem;
}

.fa-search.press-new:before {
    font-size: 24px;
    color: #9e9e9e;
}

.form-control {
    padding: .5rem 0 .6rem;
    font-size: 1rem;
    line-height: 1.5;
    background-color: transparent;
    background-image: none;
    border-radius: 0;
    margin-top: .2rem;
    margin-bottom: 1rem;
    border: none;
    border-bottom: 1px solid;
    border-color: #bdbdbd !important;
    outline: 0;
    height: 2.1rem;
    width: 92%;
    width: -webkit-calc(100% - 3rem);
    width: calc(100% - 3rem);
    box-shadow: none;
    box-sizing: content-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
.search-modal .form-control {
    margin-left: 3rem;
}

.md-form .prefix~label {
    margin-left: 65px;
}

.md-form label {
    transition: .2s ease-out;
    color: #757575/* !important*/;
    position: absolute;
    top: 15px;
    left: 0;
    font-size: 15px;
    font-weight: 400;
    cursor: text;
}
.md-form label.active {
    font-size: 13px;
    transform: translateY(-140%);
}

.form-check-inline .form-check-label {
    font-weight: 400;
}

.search-modal .btn-search {
    width: 180px;
    height: 50px;
    margin: 0 0 24px;
    padding: 0;
    box-sizing: border-box;
    color: #ffffff;
    background-color: #16331F !important;
    border: 2px solid #16331F;
    border-radius: 25px;
    cursor: pointer;
}
.search-modal .btn-search:hover {
    color: #16331F !important;
    background: #ffffff !important;
}
.search-modal .btn-search:focus {
    box-shadow: none;
}

.search-modal .link-detail-search {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .05em;
    color: #16331F;
}

.search-modal .close {
    cursor: pointer;
    transition: .2s;
}
.search-modal .close:hover {
    opacity: .7;
}

.bookmark-notification {
    position: fixed;
    bottom: 50px;
    left: 50%;
    visibility: hidden;
    opacity: 0;
    width: 252px;
    height: 57px;
    background-color: #fff;
    border: 1px solid #CCD3D0;
    border-radius: 4px;
    z-index: 10;
    box-shadow: 0 0 10px 0 rgba(75,81,83,0.4);
    transition: all .4s;
    transform: translateX(-50%);
}
.bookmark-notification.limit {
    width: 290px;
}
.bookmark-notification.show-pr {
    visibility: visible;
    opacity: 1;
}

.bookmark-notification .bookmark-link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    color: #16331F;
}

.bookmark-notification .bookmark-link span {
    position: relative;
}
.bookmark-notification .bookmark-link span:before {
    content: '';
    position: absolute;
    top: 2px;
    left: -24px;
    display: inline-block;
    width: 16px;
    height: 13px;
    background-image: url("../img/ico_check2.svg");
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
}
.bookmark-notification.limit .bookmark-link span:before {
    height: 16px;
    background-image: url("../img/ico_prohibit.svg");
}
.bookmark-notification .bookmark-link span:after {
    content: '';
    position: absolute;
    top: 58%;
    right: -25px;
    display: inline-block;
    width: 7px;
    height: 14px;
    background-image: url("../img/ico_arrow_right.svg");
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
    .search-area {
        padding-right: 0;
        padding-left: 0;
    }
}

.breadcrumb {
    padding: 0;
    font-size: 14px;
    background-color: transparent;
}

.fa-map-marker:before {
    content: '';
    display: inline-block;
    width: 12px;
    height: 17px;
    background-image: url("../img/ico_pin.svg");
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
}

.breadcrumb-item {
    color: #16331F;
}
.release-detail ol.breadcrumb a.breadcrumb-item {
    color: #16331F !important;
}

.page-title {
    text-align: left;
    color: #16331F;
}

.area-selector {
    text-align: left;
}

[type=checkbox]:checked+label:before {
    border-width: 3px;
    border-color: transparent #16331F #16331F transparent;
}

@media screen and (max-width: 767px) {
    .col-6:has(.search-btn) {
        max-width: none;
    }
}

.search-btn {
    width: 180px;
    height: 50px;
    padding: 0 !important;
    box-sizing: border-box;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .05em;
    background-color: #16331F;
    border: 2px solid #16331F;
    border-radius: 25px;
}
.search-btn:hover {
    color: #16331F !important;
    background-color: #fff !important;
}
.search-btn.active, .search-btn:active, .search-btn:focus {
    background-color: #16331F !important;
}
@media screen and (max-width: 767px) {
    .search-btn {
        width: calc(590 / 750 * 100vw);
        height: calc(110 / 750 * 100vw);
        font-size: 30px;
        border-radius: 55px;
    }
}

@media screen and (max-width: 767px) {
    .search-area .form-inline .md-form {
        text-align: left;
    }
}

.search-area .row {
    border-bottom: none;
}

.articles {
    margin-top: 17px;
}

.articles .main_list01 {
    margin-top: 30px;
}

.pagination .page-item:first-of-type {
    margin-right: 14px;
}
.pagination .page-item:last-of-type {
    margin-left: 14px;
}

.pagination .page-link {
    padding: 8px;
    font-weight: 700;
    color: #16331F;
}

.pagination .page-link:hover {
    background-color: transparent;
}

.pagination.pg-info-dark .active {
    margin: 0 8px 0;
}

.pagination.pg-info-dark .active .page-link {
    padding: 7px 11px;
    background-color: #16331F;
    box-shadow: none;
}

.fa-angle-left:before,
.fa-angle-right:before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 16px;
    background-image: url("../img/ico_arrow_left.svg");
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
}
.fa-angle-left:before {
    background-image: url("../img/ico_arrow_left.svg");
}
.fa-angle-right:before {
    background-image: url("../img/ico_arrow_right.svg");
}

/* 記事詳細 */
main#main_content .release-body a:hover {
    color: #999 !important;
}

main.release-detail {
    margin-top: 50px !important;
}
@media screen and (max-width: 767px) {
    main.detail-search,
    main.release,
    main.release-detail {
        margin-top: calc(230 / 750 * 100vw) !important;
    }
}

.past-release {
    max-width: 1000px;
    margin-bottom: 117px;
}
@media screen and (max-width: 767px) {
    .past-release {
        margin-bottom: 72px;
    }
}

.past-release .h4-responsive {
    padding-bottom: 16px;
}

.past-release #main_l {
    width: 100%;
    padding-right: 0;
}

.past-release #main_l .main_list01 {
    column-gap: 40px;
    margin-bottom: 0;
}

.past-release #main_l .main_list01 li {
    width: calc(50% - 20px);
    margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
    .past-release #main_l .main_list01 li {
        width: 100%;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
    .past-release .main_btn {
        width: 295px;
        height: 55px;
        line-height: 36px;
    }
}

/* タッチスクリーンでもlightboxに左右矢印を出す */
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
    visibility: visible;
}

/* PRWireカスタマイズ版PhotoSwipe用スタイル */
.prwire-lightbox figure {
    margin:0;
    float:left;
}

.prwire-lightbox figure:nth-child(2n+1) {
    clear: both;
}

.prwire-lightbox figure .img-fluid {
    display:inline;
}
.prwire-lightbox figure img {
    cursor:-webkit-zoom-in;
    cursor:zoom-in;
    -webkit-transition:opacity .4s;
    transition:opacity .4s;
    border-radius:0;
}
.prwire-lightbox figure img:hover {
    opacity:.8;
}
.prwire-lightbox.no-margin [class*=col-] {
    padding:0;
}
.prwire-lightbox [class*=col-] {
    padding:.5rem;
}
.prwire-lightbox figure span {
    height: 80px;
    text-align: center;
    display: flex;
    align-items: center;
    /*    justify-content: center;*/
}
.prwire-lightbox figure img {
    max-height: 50px;
    width: auto;
    margin:auto auto 10px;
}
@media screen and (min-width: 576px) {
    .prwire-lightbox figure span {
        height: 120px;
    }
    .prwire-lightbox figure img {
        max-height: 90px;
        width: auto;
    }

}
@media screen and (min-width: 768px) {
    .prwire-lightbox figure span {
        height: 110px;
    }
    .prwire-lightbox figure img {
        max-height: 80px;
        width: auto;
    }
    .prwire-lightbox figure:nth-child(2n+1) {
        clear: none;
    }
    .prwire-lightbox figure:nth-child(4n+1) {
        clear: both;
    }
}
@media print, screen and (min-width: 992px) {
    .prwire-lightbox figure span {
        height: 130px;
    }
    .prwire-lightbox figure img {
        max-height: 100px;
        width: auto;
    }
}

/* ログイン */
.login-page {
    background-color: #E4EAE7;
}

.login-page #main_content {
    margin-top: calc(100 / 922 * 100vh);
    margin-bottom: calc(100 / 922 * 100vh);
}
@media screen and (max-width: 767px) {
    .login-page #main_content {
        margin-top: calc(345 / 1625 * 100vh);
        padding-bottom: calc(81 / 750 * 100vw);
    }
}
@media screen and (min-width: 1440px), print {
    .login-page #main_content {
        margin-top: 192px;
        margin-bottom: 192px;
    }
}

.login-page .login-wrapper {
    width: 700px;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper {
        width: calc(670 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-body {
    width: 100%;
    margin: 0 0 40px;
    padding: 32px 0 24px;
    flex: unset;
    box-sizing: border-box;
    background-color: #ffffff;
    border-radius: 8px;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body {
        margin-bottom: calc(48 / 750 * 100vw);
        padding: calc(50 / 750 * 100vw) 0 calc(40 / 750 * 100vw);
        border-radius: calc(16 / 750 * 100vw);
    }
}


.login-page .login-wrapper .login-body .logo {
    display: block;
    margin: 0 auto 24px;
    font-family: "futura-pt", sans-serif;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    line-height: 1.333;
    color: #a59348;
}
.login-page .login-wrapper .login-body .logo span {
    line-height: 0.666;
    color: #08192d;
    font-size: 36px;
    display: block;
    letter-spacing: 0.025em;
    font-weight: 600;
    margin-top: 2px;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .logo {
        position: relative;
        margin-bottom: calc(40 / 750 * 100vw);
        font-size: calc(28 / 750 * 100vw);
    }
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .logo span {
        font-size: calc(59 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-body .logo span.press {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 125px;
    height: 18px;
    margin: 4px auto 0;
    font-size: 14px;
    letter-spacing: .05em;
    text-align: center;
    color: #fff;
    background-color: #16331F;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .logo span.press {
        width: calc(221 / 750 * 100vw);
        height: calc(30 / 750 * 100vw);
        font-size: calc(24 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-body .loginModal-subHeader {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .loginModal-subHeader {
        font-size: calc(24 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-body .loginModal-subHeader span {
    color: #508EC4;
}

.login-page .login-wrapper .login-body .login-header {
    margin: 0 auto 20px;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .login-header {
        margin-bottom: calc(24 / 750 * 100vw);
        font-size: calc(32 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-body .login-lead {
    width: 500px;
    margin: 0 auto 24px;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: .05em;
    line-height: 1.71em;
    color: #333333;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .login-lead {
        width: calc(590 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-body .loginForm-wrapper {
    margin: 0 auto;
    padding: 0 100px 24px;
    border-bottom: 1px solid #C7CCD1;
}
.login-page .login-wrapper .login-body .loginForm-wrapper.no-border {
    padding-bottom: 0;
    border-bottom-color: snow;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .loginForm-wrapper {
        padding: 0 calc(40 / 750 * 100vw) calc(24 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-body .loginForm-wrapper .textBox-wrapper {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 3px;
}
.login-page .login-wrapper .login-body .loginForm-wrapper .textBox-wrapper.mb {
    margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .loginForm-wrapper .textBox-wrapper {
        gap: calc(12 / 750 * 100vw);
        margin-bottom: calc(16 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-body .loginForm-wrapper .login-textBox {
    width: 100%;
    height: 42px;
    padding: 10px 12px 11px;
    font-size: 15px;
    letter-spacing: .05em;
    box-sizing: border-box;
    border: 1px solid #C7CCD1;
}
.login-page .login-wrapper .login-body .loginForm-wrapper .login-textBox::placeholder {
    color: #ABB0B4;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .loginForm-wrapper .login-textBox {
        height: calc(84 / 750 * 100vw);
        padding: calc(19 / 750 * 100vw) calc(21 / 750 * 100vw) calc(24 / 750 * 100vw);
        font-size: calc(30 / 750 * 100vw) !important;
    }
}

.login-page .login-wrapper .login-body .loginForm-wrapper .link-forgot {
    margin: 0 0 3px;
}
.login-page .login-wrapper .login-body .loginForm-wrapper .link-forgot:last-of-type {
    margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .loginForm-wrapper .link-forgot {
        margin-bottom: calc(14 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-body .loginForm-wrapper .link-forgot a {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .05em;
    text-decoration: underline;
}
.login-page .login-wrapper .login-body .loginForm-wrapper .link-forgot a:hover {
    color: #A8ADAB;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .loginForm-wrapper .link-forgot a {
        font-size: calc(24 / 750 * 100vw);
        line-height: 1.41em;
    }
}

.login-page .login-wrapper .login-body .loginForm-wrapper .main_btn {
    width: 100%;
    margin: 0 0 12px;
    background-color: #16331F;
    border-color: #16331F;
    background-image: url("../img/ico_right_arrow.svg");
    background-repeat: no-repeat;
    background-position: right 20px top 50%;
    -webkit-background-size: 6px;
    background-size: 6px;
    cursor: pointer;
    transition: all .3s ease-in-out;
}
.login-page .login-wrapper .login-body .loginForm-wrapper .main_btn:hover {
    color: #16331F;
    background-color: #fff;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .loginForm-wrapper .main_btn {
        padding: calc(28 / 750 * 100vw);
        margin-bottom: calc(30 / 750 * 100vw);
        background-position: right calc(40 / 750 * 100vw) top 50%;
        -webkit-background-size: calc(10 / 750 * 100vw);
        background-size: calc(10 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-body .loginForm-wrapper .login-checkBox-wrapper {
    display: flex;
    justify-content: center;
    gap: 20px;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .loginForm-wrapper .login-checkBox-wrapper {
        flex-direction: column;
        align-items: center;
        gap: 0;
    }
}

.login-page .login-wrapper .login-body .loginForm-wrapper .login-checkBox-wrapper label {
    position: relative;
    padding: 0 0 0 22px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .05em;
    cursor: pointer;
}
.login-page .login-wrapper .login-body .loginForm-wrapper .login-checkBox-wrapper label:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 16px;
    height: 16px;
    box-sizing: border-box;
    border: 1px solid #C7CCD1;
    transition: all .3s;
}
.login-page .login-wrapper .login-body .loginForm-wrapper .login-checkBox-wrapper label:has(input:checked):before {
    width: 10px;
    height: 18px;
    border-top: none;
    border-right: 1px solid #508EC4;
    border-bottom: 1px solid #508EC4;
    border-left: none;
    transform: translateX(3px) translateY(-3px) rotate(40deg);
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .loginForm-wrapper .login-checkBox-wrapper label {
        width: calc(347 / 750 * 100vw);
        padding-left: calc(44 / 750 * 100vw);
        font-size: calc(24 / 750 * 100vw);
    }
    .login-page .login-wrapper .login-body .loginForm-wrapper .login-checkBox-wrapper label:before {
        width: calc(32 / 750 * 100vw);
        height: calc(32 / 750 * 100vw);
    }
    .login-page .login-wrapper .login-body .loginForm-wrapper .login-checkBox-wrapper label:has(input:checked):before {
        width: calc(20 / 750 * 100vw);
        height: calc(36 / 750 * 100vw);
        transform: translateX(calc(6 / 750 * 100vw)) translateY(calc(-6 / 750 * 100vw)) rotate(40deg);
    }
}

.login-page .login-wrapper .login-body .loginForm-wrapper .login-checkBox-wrapper label input[type="checkbox"] {
    appearance: none;
    width: 0;
    height: 0;
}

.login-page .login-wrapper .login-body .link-entry {
    padding: 20px 0 0;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .link-entry {
        padding-top: calc(32 / 750 * 100vw);
    }
    .login-page .login-wrapper .login-body .link-entry.back {
        padding-top: 0;
    }
}

.login-page .login-wrapper .login-body .link-entry a {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .05em;
    color: #0A1D33;
    text-decoration: underline;
}
.login-page .login-wrapper .login-body .link-entry a:hover {
    color: #A8ADAB;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-body .link-entry a {
        font-size: calc(28 / 750 * 100vw);
    }
    .login-page .login-wrapper .login-body .link-entry.back a {
        font-size: calc(24 / 750 * 100vw);
    }
}

.login-page .login-wrapper .otherLink-wrapper {
    display: flex;
    justify-content: center;
    gap: 90px;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .otherLink-wrapper {
        flex-direction: column;
        align-items: center;
        gap: calc(20 / 750 * 100vw);
    }
}

.login-page .login-wrapper .otherLink-wrapper .other-link {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .05em;
    text-decoration: underline;
    color: #16331F;
}

.login-page .login-wrapper .login-contact {
    width: 500px;
    margin: 32px auto 16px;
    padding: 20px 0 24px;
    box-sizing: border-box;
    color: #333333;
    background-color: #F7F8F8;
    border-radius: 8px;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-contact {
        width: calc(590 / 750 * 100vw);
        margin-bottom: calc(10 / 750 * 100vw);
        padding: calc(32 / 750 * 100vw) 0 calc(30 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-contact .login-contact-header {
    margin: 0 0 20px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-contact .login-contact-header {
        margin-bottom: calc(30 / 750 * 100vw);
        font-size: calc(30 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-contact .login-contact-subHeader {
    margin: 0 0 4px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: center;
    color: #A59348;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-contact .login-contact-subHeader {
        margin-bottom: 0;
        font-size: calc(26 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-contact .contact-page-link {
    margin: 0 0 24px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-contact .contact-page-link {
        margin-bottom: calc(24 / 750 * 100vw);
        font-size: calc(32 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-contact .contact-page-link a {
    color: #333333;
    text-decoration: underline;
}

.login-page .login-wrapper .login-contact .position-info {
    width: 330px;
    margin: 0 auto;
    padding: 20px 0;
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 8px;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-contact .position-info {
        width: calc(530 / 750 * 100vw);
        padding: calc(32 / 750 * 100vw) 0;
    }
}

.login-page .login-wrapper .login-contact .position-info .position-name {
    margin: 0 0 4px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-contact .position-info .position-name {
        margin-bottom: calc(4 / 750 * 100vw);
        font-size: calc(22 / 750 * 100vw);
    }
}

.login-page .login-wrapper .login-contact .position-info .tel-number {
    margin: 0 0 2px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: center;
}

.login-page .login-wrapper .login-contact .position-info .tel-number .prefix {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-contact .position-info .tel-number .prefix {
        font-size: calc(24 / 750 * 100vw);
    }
}

@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-contact .position-info .tel-number a {
        text-decoration: underline;
    }
}

.login-page .login-wrapper .login-contact .position-info .contact-time {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .05em;
    text-align: center;
    color: #9EA2A0;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .login-contact .position-info .contact-time {
        font-size: calc(22 / 750 * 100vw);
    }
}

.login-page .login-wrapper .main_btn.btn-release {
    width: 500px;
    margin-top: 32px;
    margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
    .login-page .login-wrapper .main_btn.btn-release {
        width: calc(590 / 750 * 100vw);
        margin-top: calc(50 / 750 * 100vw);
        margin-bottom: calc(10 / 750 * 100vw);
    }
}

@media screen and (max-width: 767px) {
    .col-md-12:has(.breadcrumb) {
        padding: 0;
    }
}

@media screen and (max-width: 767px) {
    .detail-search .form-inline .form-group {
        margin-right: 1.5rem;
    }
}

@media screen and (max-width: 767px) {
    .detail-search .select-wrapper input.select-dropdown {
        font-size: 1rem !important;
    }
}

.error-message {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .05em;
    color: #D62D2D;
}
@media screen and (max-width: 767px) {
    .error-message {
        font-size: calc(26 / 750 * 100vw);
        line-height: calc(38 / 26 * 1em);
    }
}

.search-area .error {
    color: #D62D2D;
}

.pt_item .list .btn {
    box-shadow: none;
}
