@charset "UTF-8";
/*==================================================================================================
	index
==================================================================================================*/
#top .mv {
    padding-top: 110px;
}

@media (max-width: 840px) {
    #top .mv {
        padding-top: 87.5px;
    }
}

@media (max-width: 540px) {
    #top .mv {
        padding-top: 72.5px;
    }
}

#top .mv_img {
    position: relative;
}

#top .mv_img .img_container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
}

#top .mv_img .img_block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#top .mv_img .img_wrap {
    min-height: 160px;
    height: 10vw;
}

@media (max-width: 840px) {
    #top .mv_img .img_wrap {
        height: 22.5vw;
        min-height: 125px;
    }
}

#top .mv_img .img_wrap.-wrap_01 {
    width: 35%;
}

@media (max-width: 840px) {
    #top .mv_img .img_wrap.-wrap_01 {
        width: 37.5%;
    }
}

#top .mv_img .img_wrap.-wrap_02 {
    width: 40%;
}

@media (max-width: 840px) {
    #top .mv_img .img_wrap.-wrap_02 {
        width: 47.5%;
    }
}

#top .mv_img .img_wrap.-wrap_03 {
    width: 30%;
    margin-left: auto;
    margin-right: 25%;
}

@media (max-width: 840px) {
    #top .mv_img .img_wrap.-wrap_03 {
        width: 50%;
        margin-right: 10%;
    }
}

#top .mv_img .img_wrap.-wrap_04 {
    width: 50%;
    margin-left: 10%;
}

@media (max-width: 840px) {
    #top .mv_img .img_wrap.-wrap_04 {
        width: 60%;
    }
}

#top .mv_img .img_wrap.-wrap_05 {
    width: 30%;
}

@media (max-width: 840px) {
    #top .mv_img .img_wrap.-wrap_05 {
        width: 35%;
    }
}

#top .mv_img .img_wrap.-wrap_06 {
    width: 50%;
}

@media (max-width: 840px) {
    #top .mv_img .img_wrap.-wrap_06 {
        width: 55%;
    }
}

#top .mv_img .img_item {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    min-height: 160px;
    height: 10vw;
}

@media (max-width: 840px) {
    #top .mv_img .img_item {
        height: 22.5vw;
        min-height: 125px;
    }
}

#top .mv_img .img_catch {
    position: absolute;
    top: 50%;
    left: 5%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    z-index: 10;
}

#top .mv_img .img_catch .catch_txt {
    font-family: futura-pt, sans-serif;
    font-size: clamp(7.2rem, 10vw, 15rem);
    font-weight: 600;
    line-height: 1;
    text-shadow: 0 0 25px #fff, 0 0 15px #fff;
    color: #1a1a1a;
}

@media (max-width: 840px) {
    #top .mv_img .img_catch .catch_txt {
        font-size: 14vw;
    }
}

@media (max-width: 840px) {
    #top .mv_img .img_catch .catch_txt .block {
        display: block;
    }
}

#top .mv_bottom {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding: 0 3.5% 0 5%;
}

#top .mv_txt {
    font-size: clamp(3.2rem, 4.6vw, 4.8rem);
    font-weight: 500;
    text-shadow: 0 0 15px #fff, 0 0 10px #fff;
    margin-top: -1em;
    position: relative;
    line-height: 2;
}

@media (max-width: 540px) {
    #top .mv_txt {
        font-size: 5.6vw;
    }
}

@media (max-width: 540px) {
    #top .mv_txt.-pc {
        display: none;
    }
}

@media (min-width: 541px) {
    #top .mv_txt.-mb {
        display: none;
    }
}

#top .mv_txt .stroke {
    -webkit-text-stroke: clamp(1px, 0.25vw, 1.5px) #333333;
    text-stroke: clamp(1px, 0.25vw, 1.5px) #333333;
    color: transparent;
}

#top .mv_entry {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: -webkit-linear-gradient(45deg, #45a8d6, #9fc8d6);
    background: linear-gradient(45deg, #45a8d6, #9fc8d6);
    background-size: 200% 200%;
    /*サイズを大きくひきのばす*/
    -webkit-animation: bggradient 5s ease infinite;
    animation: bggradient 5s ease infinite;
    position: relative;
    width: 200px;
    height: 200px;
    border-radius: 150px;
    margin-bottom: 30px;
}

@media (max-width: 1024px) {
    #top .mv_entry {
        display: none;
    }
}

#top .mv_entry::before {
    position: absolute;
    content: "";
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border: 1px solid #fff;
    border-radius: 150px;
}

#top .mv_entry:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

#top .mv_entry .main {
    font-family: futura-pt, sans-serif;
    font-size: clamp(3.2rem, 4.6vw, 4.8rem);
    font-weight: 400;
    line-height: 1;
    color: #fff;
}

#top .mv_entry .sub {
    font-size: 2rem;
    font-weight: 500;
    color: #fff;
}

#top .mv_entry_deco {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(1.3);
    transform: translate(-50%, -50%) scale(1.3);
    width: 100%;
    -webkit-animation: 20s linear infinite rotation_01;
    animation: 20s linear infinite rotation_01;
}

@-webkit-keyframes rotation_01 {
    0% {
        -webkit-transform: translate(-50%, -50%) scale(1.3) rotate(0);
        transform: translate(-50%, -50%) scale(1.3) rotate(0);
    }
    100% {
        -webkit-transform: translate(-50%, -50%) scale(1.3) rotate(360deg);
        transform: translate(-50%, -50%) scale(1.3) rotate(360deg);
    }
}

@keyframes rotation_01 {
    0% {
        -webkit-transform: translate(-50%, -50%) scale(1.3) rotate(0);
        transform: translate(-50%, -50%) scale(1.3) rotate(0);
    }
    100% {
        -webkit-transform: translate(-50%, -50%) scale(1.3) rotate(360deg);
        transform: translate(-50%, -50%) scale(1.3) rotate(360deg);
    }
}

#top .banner_inner {
    position: relative;
}

#top .banner_btn {
    position: absolute;
    right: 10px;
    bottom: -12.5%;
    width: 60%;
}

@media (max-width: 540px) {
    #top .banner_btn {
        position: relative;
        right: auto;
        bottom: auto;
        width: 90%;
        margin: 20px auto 0;
    }
}

#top .banner_btn .btn_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

#top .banner_btn .btn_item {
    width: 50%;
    padding: 0 5px;
}

#top .banner_btn .btn_link {
    display: block;
}

#top .banner_btn .btn_link:hover {
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
}

#top .news_inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#top .news_head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#top .news_btn.-pc {
    margin-top: 3.5em;
}

@media (max-width: 840px) {
    #top .news_btn.-pc {
        display: none;
    }
}

@media (min-width: 841px) {
    #top .news_btn.-mb {
        display: none;
    }
}

#top .news_list {
    width: 60%;
    padding-left: 5%;
}

@media (max-width: 840px) {
    #top .news_list {
        width: 100%;
        padding-left: 0;
        margin-top: 15px;
    }
}

#top .event_inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#top .event_head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#top .event_btn.-pc {
    margin-top: 3.5em;
}

@media (max-width: 840px) {
    #top .event_btn.-pc {
        display: none;
    }
}

@media (min-width: 841px) {
    #top .event_btn.-mb {
        display: none;
    }
}

#top .event_list {
    width: 70%;
    padding-left: 5%;
    margin-top: 30px;
}

@media (max-width: 840px) {
    #top .event_list {
        width: 100%;
        padding-left: 0;
    }
}

#top .event_item {
    width: 47.5%;
}

@media (max-width: 540px) {
    #top .event_item {
        width: 100%;
    }
}

#top .keyword {
    background-image: url(../img/01_top/keyword_bg_01.jpg);
    background-size: cover;
    background-position: center center;
    padding: calc(clamp(100px, 12vw, 150px) * 0.75) 5%;
}

#top .keyword::before {
    content: "";
    position: absolute;
    background-size: cover;
    background-position: center center;
    background-image: url(../img/01_top/keyword_bg_01.jpg);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    /* 初期状態では透明度を0に設定 */
    -webkit-transition: opacity, 0.5s;
    transition: opacity, 0.5s;
    /* 透明度の変化をアニメーション化 */
}

#top .keyword.-bg_01::before {
    opacity: 1;
    background-image: url(../img/01_top/keyword_bg_01.jpg);
}

#top .keyword.-bg_02::before {
    opacity: 1;
    background-image: url(../img/01_top/keyword_bg_02.jpg);
}

#top .keyword.-bg_03::before {
    opacity: 1;
    background-image: url(../img/01_top/keyword_bg_03.jpg);
}

#top .keyword.-bg_04::before {
    opacity: 1;
    background-image: url(../img/01_top/keyword_bg_04.jpg);
}

#top .keyword.-bg_05::before {
    opacity: 1;
    background-image: url(../img/01_top/keyword_bg_05.jpg);
}

#top .keyword.-bg_06::before {
    opacity: 1;
    background-image: url(../img/01_top/keyword_bg_06.jpg);
}

#top .keyword.-bg_07::before {
    opacity: 1;
    background-image: url(../img/01_top/keyword_bg_07.jpg);
}

#top .keyword.-bg_08::before {
    opacity: 1;
    background-image: url(../img/01_top/keyword_bg_08.jpg);
}

#top .keyword_inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#top .keyword_secttl {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

#top .keyword_secttl .main {
    -webkit-text-stroke: clamp(1px, 0.25vw, 3px) #fff;
    text-stroke: clamp(1px, 0.25vw, 3px) #fff;
    padding-bottom: 0.125em;
}

#top .keyword_secttl .main::before {
    background-color: #fff;
    height: 95%;
}

#top .keyword_secttl .sub {
    color: #fff;
    margin-top: -0.5em;
}

#top .keyword_btn {
    border-bottom: 1px solid #fff;
    color: #fff;
}

@media (max-width: 840px) {
    #top .keyword_btn {
        -webkit-box-ordinal-group: 4;
        -webkit-order: 3;
        -ms-flex-order: 3;
        order: 3;
    }
}

#top .keyword_btn::before {
    background: #fff;
}

#top .keyword_btn::after {
    background-color: #fff;
}

#top .keyword_btn:hover {
    color: #fff;
}

#top .keyword_btn:hover::after {
    background-color: #fff;
}

#top .keyword_list {
    width: 90%;
    margin: 50px auto 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 30px 2.5%;
}

@media (max-width: 840px) {
    #top .keyword_list {
        width: 100%;
        margin: 30px auto 0;
        gap: 3.5vw 3.5%;
    }
}

#top .keyword_item {
    width: calc((100% - 2.5% * 3) / 4);
    opacity: 0.8;
    -webkit-transition: 0.5s opacity, 0.5s -webkit-transform;
    transition: 0.5s opacity, 0.5s -webkit-transform;
    transition: 0.5s opacity, 0.5s transform;
    transition: 0.5s opacity, 0.5s transform, 0.5s -webkit-transform;
}

@media (max-width: 840px) {
    #top .keyword_item {
        width: calc((100% - 3.5% * 2) / 3);
    }
}

@media (max-width: 540px) {
    #top .keyword_item {
        width: calc((100% - 3.5% * 1) / 2);
    }
}

#top .keyword_item:hover {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

#top .keyword_link {
    position: relative;
}

#top .keyword_link::before {
    content: "";
    position: absolute;
    bottom: 5%;
    right: 5%;
    width: min(1.35vw, 20px);
    height: min(1.35vw, 20px);
    -webkit-transition: 0.5s right, 0.5s bottom, 0.5s background-color;
    transition: 0.5s right, 0.5s bottom, 0.5s background-color;
    background-color: #9d7e44;
    -webkit-mask-image: url(../img/00_cmn/arrow.svg);
    mask-image: url(../img/00_cmn/arrow.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    z-index: 1;
}

@media (max-width: 840px) {
    #top .keyword_link::before {
        width: 2vw;
        height: 2vw;
    }
}

@media (max-width: 540px) {
    #top .keyword_link::before {
        width: 3vw;
        height: 3vw;
    }
}

#top .keyword_link:hover::before {
    bottom: calc(5% + 3.5%);
    right: calc(5% - 2.5%);
}

#top .story_secttl .main {
    padding-bottom: 0.125em;
}

#top .story_secttl .main::before {
    height: 95%;
}

#top .story_slider {
    margin-top: 10px;
    margin-right: calc(50% - 50vw);
}

#top .story_slider_inner {
    position: relative;
}

#top .story_slider_inner .btn_prev,
#top .story_slider_inner .btn_next {
    position: absolute;
    top: -90px;
    right: 10vw;
    width: 70px;
    height: 70px;
    background-color: #333333;
    border: none;
    -webkit-transition: 0.5s background-color, 0.5s -webkit-transform;
    transition: 0.5s background-color, 0.5s -webkit-transform;
    transition: 0.5s transform, 0.5s background-color;
    transition: 0.5s transform, 0.5s background-color, 0.5s -webkit-transform;
}

#top .story_slider_inner .btn_prev:hover,
#top .story_slider_inner .btn_next:hover {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
    background-color: #9d7e44;
}

@media (max-width: 540px) {
    #top .story_slider_inner .btn_prev,
    #top .story_slider_inner .btn_next {
        width: 45px;
        height: 45px;
        top: -60px;
        right: 7.5%;
    }
}

#top .story_slider_inner .btn_prev {
    right: calc(10vw + 90px);
    -webkit-mask-image: url(../img/01_top/story_prev.svg);
    mask-image: url(../img/01_top/story_prev.svg);
    -webkit-mask-position: center;
    mask-position: center;
}

@media (max-width: 540px) {
    #top .story_slider_inner .btn_prev {
        right: calc(7.5% + 60px);
    }
}

#top .story_slider_inner .btn_next {
    -webkit-mask-image: url(../img/01_top/story_next.svg);
    mask-image: url(../img/01_top/story_next.svg);
    -webkit-mask-position: center;
    mask-position: center;
}

#top .story_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

#top .story_item {
    width: 60vw;
    min-width: 760px;
    margin-right: 2.5%;
    position: relative;
}

@media (max-width: 840px) {
    #top .story_item {
        width: 80%;
        min-width: auto;
    }
}

#top .story_link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
}

@media (max-width: 840px) {
    #top .story_link {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

#top .story_link::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 95%;
    background-color: #eee7d8;
    -webkit-transition: 0.5s background-color;
    transition: 0.5s background-color;
}

#top .story_link::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 90px;
    height: 90px;
    background-color: #fff;
    z-index: 10;
    -webkit-clip-path: polygon(100% 0, 0 100%, 100% 100%);
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

#top .story_link:hover::before {
    background-color: #eae1cf;
}

#top .story_link:hover .story_img .active {
    opacity: 0;
}

#top .story_link:hover .story_img .hover {
    opacity: 1;
}

#top .story_link:hover .story_arrow {
    bottom: calc(12.5px + 10px);
    right: calc(17.5px - 10px);
}

#top .story_content {
    position: relative;
    z-index: 15;
    width: 70%;
    margin-right: -20%;
    padding: 0 0 30px min(30px,5%);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media (max-width: 840px) {
    #top .story_content {
        width: 100%;
        padding: 0 min(30px,5%) 30px;
        margin-top: -45%;
        margin-right: 0;
    }
}

@media (max-width: 540px) {
    #top .story_content {
        margin-top: -25%;
    }
}

#top .story_tag {
    margin-bottom: 5%;
}

@media (max-width: 540px) {
    #top .story_tag {
        margin-bottom: 0%;
    }
}

#top .story_tag .tag_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.35em 0.25em;
}

#top .story_tag .tag_item {
    color: #333333;
    background-color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 15px;
    border-radius: 50px;
    font-weight: 500;
}

@media (max-width: 540px) {
    #top .story_tag .tag_item {
        font-size: 2vw;
    }
}

#top .story_tag .tag_item.-lg {
    font-size: 125%;
}

@media (max-width: 540px) {
    #top .story_tag .tag_item.-lg {
        font-size: 2vw;
    }
}

#top .story_tag .tag_item.-xl {
    font-size: 150%;
    font-weight: 600;
}

@media (max-width: 540px) {
    #top .story_tag .tag_item.-xl {
        font-size: 2.5vw;
    }
}

#top .story_catch {
    margin-top: 30px;
}

#top .story_catch .main {
    width: 50%;
}

#top .story_catch .sub {
    color: #8c060d;
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 700;
    margin-top: 0.5em;
    display: inline-block;
}

#top .story_profile {
    margin-top: 30px;
}

#top .story_profile .profile_basic {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 95%;
}

#top .story_profile .profile_basic span {
    color: #333333;
    display: inline-block;
    position: relative;
}

#top .story_profile .profile_basic .dept::before,
#top .story_profile .profile_basic .position::before {
    content: " / ";
    font-size: 90%;
    margin-left: 0.5em;
}

#top .story_profile .profile_name {
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    font-weight: 700;
    color: #333333;
    display: block;
}

#top .story_profile .profile_data {
    margin-top: 1em;
    width: 60%;
    font-size: 95%;
}

@media (max-width: 540px) {
    #top .story_profile .profile_data {
        width: 75%;
    }
}

#top .story_profile .profile_data .data_item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    color: #564525;
    border-bottom: 1px solid rgba(157, 126, 68, 0.5);
    padding: 0.25em 0;
}

#top .story_profile .profile_data .data_item .ttl {
    width: 35%;
    line-height: 1.4;
}

#top .story_profile .profile_data .data_item .txt {
    width: 65%;
    padding-left: 1em;
    line-height: 1.4;
}

#top .story_img {
    position: relative;
    z-index: 10;
    width: 50%;
    aspect-ratio: 3 / 4;
}

@media (max-width: 840px) {
    #top .story_img {
        width: 60%;
        margin-left: auto;
    }
}

@media (max-width: 540px) {
    #top .story_img {
        width: 75%;
    }
}

#top .story_img .active {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    opacity: 1;
    -webkit-transition: 0.5s opacity;
    transition: 0.5s opacity;
}

#top .story_img .hover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    opacity: 0;
    -webkit-transition: 0.5s opacity;
    transition: 0.5s opacity;
}

#top .story_arrow {
    position: absolute;
    bottom: 12.5px;
    right: 17.5px;
    width: 25px;
    height: 25px;
    -webkit-transition: 0.5s right, 0.5s bottom, 0.5s background-color;
    transition: 0.5s right, 0.5s bottom, 0.5s background-color;
    background-color: #9d7e44;
    -webkit-mask-image: url(../img/00_cmn/arrow.svg);
    mask-image: url(../img/00_cmn/arrow.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    z-index: 15;
}

#top .story_btn {
    margin-left: auto;
}

#top .movie_link {
    padding: 0;
    border: none;
    position: relative;
    -webkit-transition: 0.5s -webkit-transform;
    transition: 0.5s -webkit-transform;
    transition: 0.5s transform;
    transition: 0.5s transform, 0.5s -webkit-transform;
    text-align: left;
    text-transform: none;
}

#top .movie_link:hover {
    -webkit-transform: scale(1.025);
    transform: scale(1.025);
}

#top .movie_ttl {
    position: absolute;
    bottom: 10px;
    left: 15px;
}

#top .movie_ttl .main {
    display: block;
    color: #fff;
    font-size: calc(clamp(3.6rem, 6vw, 6rem) * 1.25);
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    line-height: 1;
}

#top .movie_ttl .sub {
    display: block;
    color: #fff;
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    font-weight: 500;
}

#top .movie_content div iframe {
    height: 100px !important;
}

#top .welfale_txt {
    font-size: 2rem;
    margin-top: 1em;
}

@media (max-width: 540px) {
    #top .welfale_txt {
        font-size: 1.6rem;
    }
}

#top .welfale_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 1400px;
    margin: 50px auto 0;
    gap: 50px 3.5%;
}

@media (max-width: 840px) {
    #top .welfale_list {
        row-gap: 7.5vw;
    }
}

#top .welfale_item {
    width: calc((100% - 3.5% * 3) / 4);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}

@media (max-width: 1400px) {
    #top .welfale_item {
        width: calc((100% - 3.5% * 2) / 3);
    }
}

@media (max-width: 840px) {
    #top .welfale_item {
        width: calc((100% - 3.5% * 1) / 2);
    }
}

#top .welfale_item::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    background-color: rgba(157, 126, 68, 0.15);
    z-index: 0;
    -webkit-transition: 0.5s -webkit-transform;
    transition: 0.5s -webkit-transform;
    transition: 0.5s transform;
    transition: 0.5s transform, 0.5s -webkit-transform;
}

#top .welfale_item:hover::before {
    -webkit-transform: translate(-50%, -50%) scale(1.75);
    transform: translate(-50%, -50%) scale(1.75);
}

#top .welfale_item:hover .ttl {
    color: #333333;
}

#top .welfale_item .ttl {
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    font-weight: 700;
    color: #808080;
    display: block;
    margin-bottom: 0.5em;
    position: relative;
    -webkit-transition: 0.5s color;
    transition: 0.5s color;
}

#top .welfale_item .txt {
    position: relative;
}

#top .menu_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media (max-width: 1400px) {
    #top .menu_list {
        max-width: 1024px;
        margin: 0 auto;
    }
}

#top .menu_item {
    width: calc(100% / 4 - 2%);
}

@media (max-width: 1400px) {
    #top .menu_item {
        width: calc(100% / 2 - 2.5%);
    }
}

#top .menu_item:nth-child(even) {
    margin-top: 50px;
}

#top .menu_link {
    position: relative;
}

#top .menu_link:hover .menu_txt::after {
    right: -50px;
    top: calc(50% - 10px);
    background-color: #fff;
}

@media (max-width: 540px) {
    #top .menu_link:hover .menu_txt::after {
        right: -35px;
        top: calc(50% - 5px);
    }
}

#top .menu_link:hover .menu_img img {
    -o-object-position: 45%;
    object-position: 45%;
}

#top .menu_img {
    position: relative;
}

#top .menu_img::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 50%;
    background: #666;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(102, 102, 102, 0)), color-stop(35%, rgba(102, 102, 102, 0.2)), to(rgba(102, 102, 102, 0.7)));
    background: -webkit-linear-gradient(top, rgba(102, 102, 102, 0) 0%, rgba(102, 102, 102, 0.2) 35%, rgba(102, 102, 102, 0.7) 100%);
    background: linear-gradient(180deg, rgba(102, 102, 102, 0) 0%, rgba(102, 102, 102, 0.2) 35%, rgba(102, 102, 102, 0.7) 100%);
}

#top .menu_img img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    aspect-ratio: 2 / 2.5;
}

#top .menu_ttl {
    position: absolute;
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    font-size: clamp(3.6rem, 6vw, 6rem);
    bottom: 10px;
    left: -0.15em;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    color: #fff;
    line-height: 1;
    z-index: 10;
}

#top .menu_txt {
    position: absolute;
    right: 60px;
    bottom: 0.5em;
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    color: #fff;
    z-index: 10;
}

@media (max-width: 540px) {
    #top .menu_txt {
        font-size: 3.6vw;
        right: 40px;
    }
}

#top .menu_txt::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -40px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 25px;
    height: 25px;
    -webkit-transition: 0.5s right, 0.5s top, 0.5s background-color;
    transition: 0.5s right, 0.5s top, 0.5s background-color;
    background-color: #fff;
    -webkit-mask-image: url(../img/00_cmn/arrow.svg);
    mask-image: url(../img/00_cmn/arrow.svg);
}

@media (max-width: 540px) {
    #top .menu_txt::after {
        width: 17.5px;
        height: 17.5px;
        right: -30px;
    }
}

/*==================================================================================================
	お知らせ
==================================================================================================*/
#news .archive_list {
    width: 70%;
    padding-left: 5%;
}

@media (max-width: 840px) {
    #news .archive_list {
        width: 100%;
        padding-left: 0;
    }
}

#news .archive_item {
    width: 47.5%;
}

@media (max-width: 540px) {
    #news .archive_item {
        width: 100%;
    }
}

#news .article {
    margin-top: 0;
    padding-top: calc(clamp(80px, 12vw, 150px) * 1.5);
}

/*==================================================================================================
	イベント情報
==================================================================================================*/
#event .archive_list {
    -webkit-column-gap: 3.75%;
    -moz-column-gap: 3.75%;
    column-gap: 3.75%;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

@media (max-width: 840px) {
    #event .archive_list {
        -webkit-column-gap: 5%;
        -moz-column-gap: 5%;
        column-gap: 5%;
    }
}

#event .archive_item {
    width: calc(100% / 3 - 2.5%);
}

@media (max-width: 840px) {
    #event .archive_item {
        width: 47.5%;
    }
}

@media (max-width: 540px) {
    #event .archive_item {
        width: 100%;
    }
}

#event .article {
    margin-top: 0;
    padding-top: calc(clamp(80px, 12vw, 150px) * 1.5);
}

#event .article_apply {
    width: 540px;
    max-width: 100%;
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    font-weight: 500;
    border: 1px solid #333333;
    padding: 1.75em 1em;
    -webkit-transition: none;
    transition: none;
    color: #333333;
    position: relative;
    margin: 2.5em auto 0;
    text-align: center;
    -webkit-transition: 0.5s color, 0.5s border;
    transition: 0.5s color, 0.5s border;
}

#event .article_apply::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 35px;
    height: 35px;
    -webkit-transition: 0.5s right, 0.5s top, 0.5s background-color;
    transition: 0.5s right, 0.5s top, 0.5s background-color;
    background-color: #333333;
    -webkit-mask-image: url(../img/00_cmn/arrow.svg);
    mask-image: url(../img/00_cmn/arrow.svg);
}

@media (max-width: 540px) {
    #event .article_apply::after {
        width: 25px;
        height: 25px;
    }
}

#event .article_apply:hover {
    color: #9d7e44;
    border: 1px solid #9d7e44;
}

#event .article_apply:hover::after {
    right: 15px;
    top: calc(50% - 10px);
    background-color: #9d7e44;
}

/*==================================================================================================
	キーワードで知る
==================================================================================================*/
#keyword .sec {
    padding-bottom: 200px;
}

@media (max-width: 840px) {
    #keyword .sec {
        padding-bottom: 100px;
    }
}

@media (max-width: 540px) {
    #keyword .sec {
        padding-bottom: 0;
    }
}

#keyword .sec_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    row-gap: 120px;
}

@media (max-width: 840px) {
    #keyword .sec_list {
        row-gap: 80px;
    }
}

#keyword .sec_item {
    width: 42.5%;
    position: relative;
}

@media (max-width: 840px) {
    #keyword .sec_item {
        width: 45%;
    }
}

@media (max-width: 540px) {
    #keyword .sec_item {
        width: 100%;
    }
}

@media (max-width: 540px) {
    #keyword .sec_item:nth-child(odd) {
        padding-right: 15%;
    }
}

#keyword .sec_item:nth-child(even) {
    top: 200px;
}

@media (max-width: 840px) {
    #keyword .sec_item:nth-child(even) {
        top: 100px;
    }
}

@media (max-width: 540px) {
    #keyword .sec_item:nth-child(even) {
        top: 0;
        padding-left: 15%;
    }
}

#keyword .sec_item#keyword_01, #keyword .sec_item#keyword_02, #keyword .sec_item#keyword_03, #keyword .sec_item#keyword_04, #keyword .sec_item#keyword_05, #keyword .sec_item#keyword_06, #keyword .sec_item#keyword_07, #keyword .sec_item#keyword_08 {
    scroll-margin-top: 160px;
}

#keyword .sec_img {
    margin: 0 30px;
    position: relative;
}

@media (max-width: 840px) {
    #keyword .sec_img {
        margin: 0;
    }
}

#keyword .sec_img::before {
    z-index: 5;
    content: "";
    position: absolute;
    bottom: -12.5px;
    right: -12.5px;
    width: 100%;
    height: 100%;
    border: 2px solid #9d7e44;
}

#keyword .sec_img img {
    position: relative;
    z-index: 10;
}

#keyword .sec_ttl {
    color: #9d7e44;
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    font-weight: 500;
    line-height: 1.6;
    margin: 2em 0 0.75em;
}

@media (max-width: 840px) {
    #keyword .sec_ttl {
        margin: 1.5em 0 0.75em;
    }
}

/*==================================================================================================
	ストーリー
==================================================================================================*/
#story .archive {
    padding-bottom: 200px;
}

@media (max-width: 840px) {
    #story .archive {
        padding-bottom: 150px;
    }
}

@media (max-width: 540px) {
    #story .archive {
        padding-bottom: 50px;
    }
}

#story .archive_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    row-gap: 150px;
}

@media (max-width: 840px) {
    #story .archive_list {
        row-gap: 5vw;
    }
}

#story .archive_item {
    width: 45%;
    position: relative;
}

@media (max-width: 540px) {
    #story .archive_item {
        width: 100%;
    }
}

@media (max-width: 540px) {
    #story .archive_item:nth-child(odd) {
        padding-right: 10%;
    }
}

#story .archive_item:nth-child(even) {
    top: 200px;
}

@media (max-width: 840px) {
    #story .archive_item:nth-child(even) {
        top: 100px;
    }
}

@media (max-width: 540px) {
    #story .archive_item:nth-child(even) {
        top: 0;
        padding-left: 10%;
    }
}

#story .archive_link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
}

#story .archive_link::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 95%;
    background-color: #eee7d8;
    -webkit-transition: 0.5s background-color;
    transition: 0.5s background-color;
}

#story .archive_link::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 90px;
    height: 90px;
    background-color: #fff;
    z-index: 10;
    -webkit-clip-path: polygon(100% 0, 0 100%, 100% 100%);
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

#story .archive_link:hover::before {
    background-color: #dfd0b5;
}

#story .archive_link:hover .archive_arrow {
    bottom: calc(12.5px + 10px);
    right: calc(17.5px - 10px);
}

#story .archive_content {
    position: relative;
    z-index: 15;
    width: 100%;
    padding: 0 min(30px,5%) 30px;
    margin-top: -17.5%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#story .archive_catch {
    width: 80%;
}

#story .archive_profile {
    margin-top: 40px;
}

#story .archive_type {
    background-color: #9d7e44;
    color: #fff;
    display: inline-block;
    line-height: 1;
    padding: 0.35em 0.5em;
}

#story .archive_data {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

#story .archive_data span {
    color: #333333;
    display: inline-block;
    position: relative;
}

#story .archive_data .dept::before,
#story .archive_data .position::before {
    content: " / ";
    font-size: 90%;
    margin-left: 0.5em;
}

#story .archive_name {
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    font-weight: 700;
    color: #333333;
    display: block;
}

#story .archive_tag {
    margin-top: 30px;
}

#story .archive_tag .tag_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.5em 0.5em;
}

#story .archive_tag .tag_item {
    color: #333333;
    background-color: #fff;
    border: 2px solid #9d7e44;
    display: inline-block;
    padding: 0 1em;
    border-radius: 50px;
}

#story .archive_img {
    position: relative;
    z-index: 10;
    width: 60%;
    margin-left: auto;
}

@media (max-width: 540px) {
    #story .archive_img {
        width: 75%;
    }
}

#story .archive_arrow {
    position: absolute;
    bottom: 12.5px;
    right: 17.5px;
    width: 25px;
    height: 25px;
    -webkit-transition: 0.5s right, 0.5s bottom, 0.5s background-color;
    transition: 0.5s right, 0.5s bottom, 0.5s background-color;
    background-color: #9d7e44;
    -webkit-mask-image: url(../img/00_cmn/arrow.svg);
    mask-image: url(../img/00_cmn/arrow.svg);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    z-index: 15;
}

#story .head {
    margin-top: 0;
    padding-top: calc(clamp(80px, 12vw, 150px) * 1);
}

#story .head_outer {
    position: relative;
    width: 85%;
}

@media (max-width: 1400px) {
    #story .head_outer {
        width: 95%;
    }
}

@media (max-width: 840px) {
    #story .head_outer {
        width: 100%;
    }
}

#story .head_outer::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: calc(100%);
    height: calc(100% - 60px);
    background-color: #e7dbc6;
    -webkit-transition: 0.5s background-color;
    transition: 0.5s background-color;
}

#story .head_inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 1400px;
    margin-left: auto;
}

@media (max-width: 840px) {
    #story .head_inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

#story .head_content {
    position: relative;
    z-index: 15;
    width: 70%;
    margin-right: -20%;
    padding: 0 0 30px min(30px,5%);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media (max-width: 840px) {
    #story .head_content {
        width: 100%;
        padding: 0 min(30px,5%) 30px;
        margin-top: -45%;
    }
}

@media (max-width: 540px) {
    #story .head_content {
        margin-top: -25%;
    }
}

#story .head_tag {
    margin-bottom: 5%;
}

@media (max-width: 540px) {
    #story .head_tag {
        margin-bottom: 0%;
    }
}

#story .head_tag .tag_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.35em 0.25em;
}

#story .head_tag .tag_item {
    color: #333333;
    background-color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 15px;
    border-radius: 50px;
    font-weight: 500;
}

@media (max-width: 540px) {
    #story .head_tag .tag_item {
        font-size: 2vw;
    }
}

#story .head_tag .tag_item.-lg {
    font-size: 125%;
}

@media (max-width: 540px) {
    #story .head_tag .tag_item.-lg {
        font-size: 2vw;
    }
}

#story .head_tag .tag_item.-xl {
    font-size: 150%;
    font-weight: 600;
}

@media (max-width: 540px) {
    #story .head_tag .tag_item.-xl {
        font-size: 2.5vw;
    }
}

#story .head_catch {
    margin-top: 30px;
}

#story .head_catch .main {
    width: 50%;
}

#story .head_catch .sub {
    color: #8c060d;
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 700;
    margin-top: 0.5em;
    display: inline-block;
}

#story .head_profile {
    margin-top: 30px;
}

#story .head_profile .profile_basic {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 95%;
}

#story .head_profile .profile_basic span {
    color: #333333;
    display: inline-block;
    position: relative;
}

#story .head_profile .profile_basic .dept::before,
#story .head_profile .profile_basic .position::before {
    content: " / ";
    font-size: 90%;
    margin-left: 0.5em;
}

#story .head_profile .profile_name {
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    font-weight: 700;
    color: #333333;
    display: block;
}

#story .head_profile .profile_data {
    margin-top: 1em;
    width: 60%;
    font-size: 95%;
}

@media (max-width: 540px) {
    #story .head_profile .profile_data {
        width: 75%;
    }
}

#story .head_profile .profile_data .data_item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    color: #564525;
    border-bottom: 1px solid rgba(157, 126, 68, 0.5);
    padding: 0.25em 0;
}

#story .head_profile .profile_data .data_item .ttl {
    width: 35%;
    line-height: 1.4;
}

#story .head_profile .profile_data .data_item .txt {
    width: 65%;
    padding-left: 1em;
    line-height: 1.4;
}

#story .head_img {
    position: relative;
    z-index: 10;
    width: 50%;
    aspect-ratio: 3 / 4;
}

@media (max-width: 840px) {
    #story .head_img {
        width: 60%;
        margin-left: auto;
    }
}

@media (max-width: 540px) {
    #story .head_img {
        width: 75%;
    }
}

#story .head_img .active {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    opacity: 1;
    -webkit-transition: 0.5s opacity;
    transition: 0.5s opacity;
}

#story .head_img .hover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    opacity: 0;
    -webkit-transition: 0.5s opacity;
    transition: 0.5s opacity;
}

#story .article_content {
    margin-top: calc(clamp(100px, 12vw, 120px) * 0.75);
}

#story .article_content .content_sentence {
    max-width: 840px;
}

#story .article_content .content_sentence.-left {
    margin-right: auto;
}

#story .article_content .content_sentence.-center {
    margin: 0 auto;
}

#story .article_content .content_sentence.-right {
    margin-left: auto;
}

#story .article_content .content_sentence .ttl {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    font-weight: 500;
    color: #fff;
    display: block;
    line-height: 1.6;
    margin-bottom: 0.5em;
    background-color: #9d7e44;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 0.75em;
}

#story .article_content .content_sentence .txt .-red {
    color: #8c060d;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.6;
}

#story .article_content .content_img {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#story .article_content .content_img.-small {
    width: 50%;
}

@media screen and (max-width: 840px) {
    #story .article_content .content_img.-small {
        width: 75%;
    }
}

@media screen and (max-width: 540px) {
    #story .article_content .content_img.-small {
        width: 90%;
    }
}

#story .article_content .content_img.-medium {
    width: 75%;
}

@media screen and (max-width: 840px) {
    #story .article_content .content_img.-medium {
        width: 100%;
    }
}

#story .article_content .content_img.-large {
    width: 100%;
}

#story .article_content .content_img.-left {
    margin-right: auto;
}

#story .article_content .content_img.-center {
    margin: 0 auto;
}

#story .article_content .content_img.-right {
    margin-left: auto;
}

#story .article_content .content_img.-asp16-9 {
    aspect-ratio: 16 / 9;
}

#story .article_content .content_img.-asp4-3 {
    aspect-ratio: 4 / 3;
}

#story .article_content .content_img.-asp3-2 {
    aspect-ratio: 3 / 2;
}

#story .article_content .content_img.-asp3-2 {
    aspect-ratio: 2 / 1;
}

#story .article_content .content_img.-asp9-16 {
    aspect-ratio: 9 / 16;
}

#story .article_content .content_img.-asp3-4 {
    aspect-ratio: 3 / 4;
}

#story .article_content .content_img.-asp2-3 {
    aspect-ratio: 2 / 3;
}

#story .article_content .content_img.-asp2-1 {
    aspect-ratio: 2 / 1;
}

#story .article_content .content_img.-asp1-1 {
    aspect-ratio: 1 / 1;
}

#story .article_content .content_datalist {
    max-width: 840px;
}

#story .article_content .content_datalist.-left {
    margin-right: auto;
}

#story .article_content .content_datalist.-center {
    margin: 0 auto;
}

#story .article_content .content_datalist.-right {
    margin-left: auto;
}

#story .article_content .content_datalist .datalist_heading {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
}

#story .article_content .content_datalist .datalist_heading .en {
    font-size: calc($fs-md * 1.5);
    font-weight: 500;
    color: #9d7e44;
    font-family: futura-pt, sans-serif;
    position: relative;
    display: block;
    line-height: 1.4;
    margin-right: 0.15em;
}

#story .article_content .content_datalist .datalist_heading .ja {
    font-size: 2rem;
    font-weight: 500;
    margin-bottom: 0.35em;
}

#story .article_content .content_datalist .datalist_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

#story .article_content .content_datalist .datalist_list.-standard {
    gap: 0.35em 0;
}

#story .article_content .content_datalist .datalist_list.-standard .datalist_item {
    background-color: #fff;
}

#story .article_content .content_datalist .datalist_list.-underline .datalist_item {
    border-bottom: 1px solid rgba(157, 126, 68, 0.5);
}

#story .article_content .content_datalist .datalist_item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0.75em 1em;
}

@media (max-width: 840px) {
    #story .article_content .content_datalist .datalist_item {
        padding: 0.5em 1em;
    }
}

#story .article_content .content_datalist .datalist_item .ttl {
    width: 100px;
    font-weight: 500;
}

@media (max-width: 840px) {
    #story .article_content .content_datalist .datalist_item .ttl {
        width: 100%;
    }
}

#story .article_content .content_datalist .datalist_item .txt {
    width: calc(100% - 100px);
    padding-left: 1em;
}

@media (max-width: 840px) {
    #story .article_content .content_datalist .datalist_item .txt {
        width: 100%;
        padding-left: 0;
    }
}

/*==================================================================================================
	代表メッセージ
==================================================================================================*/
#message .about_inner {
    z-index: 10;
}

#message .about_head {
    padding-left: 5%;
}

@media (max-width: 840px) {
    #message .about_head {
        padding-left: 0;
    }
}

#message .about_head .txt {
    font-size: clamp(3.6rem, 6vw, 6rem);
    font-weight: 500;
    position: relative;
    line-height: 1.6;
}

#message .about_head .stroke {
    -webkit-text-stroke: clamp(1px, 0.25vw, 1.5px) #9d7e44;
    text-stroke: clamp(1px, 0.25vw, 1.5px) #9d7e44;
    color: transparent;
}

#message .about_content {
    max-width: calc(840px + 10%);
    margin-left: auto;
    margin-top: calc(clamp(100px, 12vw, 150px) * 0.65);
    padding-left: 10%;
}

@media (max-width: 840px) {
    #message .about_content {
        margin-top: 40px;
        padding-left: 15%;
    }
}

#message .about_content .ttl {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    font-weight: 500;
    color: #9d7e44;
    margin-bottom: 1em;
    display: block;
    position: relative;
}

#message .about_content .ttl span {
    position: relative;
    z-index: 10;
}

#message .about_content .ttl::before {
    content: "";
    position: absolute;
    top: -0.5em;
    left: -1.25em;
    background-image: url(../img/04_message/head_deco.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 60px;
    height: 40px;
}

@media (max-width: 840px) {
    #message .about_content .ttl::before {
        top: -0.25em;
        left: -1em;
        width: 40px;
        height: 25px;
    }
}

#message .about_movie {
    margin-top: calc(clamp(100px, 12vw, 150px) * 0.65);
    margin-inline: auto;
    max-width: 840px;
}

#message .about_movie .movie_link {
    padding: 0;
    border: none;
    position: relative;
    -webkit-transition: 0.5s -webkit-transform;
    transition: 0.5s -webkit-transform;
    transition: 0.5s transform;
    transition: 0.5s transform, 0.5s -webkit-transform;
    text-align: left;
    text-transform: none;
}

#message .about_movie .movie_link:hover {
    -webkit-transform: scale(1.025);
    transform: scale(1.025);
}

#message .about_movie .movie_ttl {
    position: absolute;
    bottom: 10px;
    left: 15px;
}

#message .about_movie .movie_ttl .main {
    display: block;
    color: #fff;
    font-size: calc(clamp(3.6rem, 6vw, 6rem) * 1.25);
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    line-height: 1;
}

#message .about_movie .movie_ttl .sub {
    display: block;
    color: #fff;
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    font-weight: 500;
    text-align: left;
}

#message .about_movie .movie_content div iframe {
    height: 100px !important;
}

#message .about_deco {
    position: absolute;
    left: -10%;
    top: 20%;
    width: 840px;
    -webkit-animation: 40s linear infinite rotation_02;
    animation: 40s linear infinite rotation_02;
}

@media (max-width: 1024px) {
    #message .about_deco {
        width: 80%;
        left: -15%;
    }
}

@-webkit-keyframes rotation_02 {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes rotation_02 {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

#message .ideal_inner {
    background-color: #fff;
    overflow: hidden;
    padding: 50px min(80px,5%);;
}

#message .ideal_head {
    position: relative;
}

#message .ideal_head .head_content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 10;
}

@media (max-width: 840px) {
    #message .ideal_head .head_content {
        width: 100%;
    }
}

#message .ideal_head .head_content .ttl {
    font-size: clamp(3.2rem, 4.6vw, 4.8rem);
    font-weight: 500;
    position: relative;
    line-height: 1.6;
    -webkit-text-stroke: clamp(1px, 0.25vw, 1.5px) #9d7e44;
    text-stroke: clamp(1px, 0.25vw, 1.5px) #9d7e44;
    color: transparent;
    padding-right: 0.5em;
}

@media (max-width: 1400px) {
    #message .ideal_head .head_content .ttl {
        padding-right: 0.5em;
    }
}

#message .ideal_head .head_content .border {
    background-color: #9d7e44;
    height: 1px;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

#message .ideal_head .head_content .txt {
    font-size: clamp(3.2rem, 4.6vw, 4.8rem);
    font-weight: 500;
    position: relative;
    line-height: 1.6;
    color: #9d7e44;
    padding-left: 0.5em;
}

@media (max-width: 1400px) {
    #message .ideal_head .head_content .txt {
        width: 100%;
        padding-left: 0;
        margin-left: auto;
        margin-top: 0.5em;
    }
}

#message .ideal_head .head_content .txt .stroke {
    -webkit-text-stroke: clamp(1px, 0.25vw, 1.5px) #9d7e44;
    text-stroke: clamp(1px, 0.25vw, 1.5px) #9d7e44;
    color: transparent;
}

#message .ideal_head .head_txtanim {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, 10%);
    transform: translate(0, 10%);
}

#message .ideal_head .head_txtanim_inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    margin: 0 -7.5% 0;
}

@media (max-width: 840px) {
    #message .ideal_head .head_txtanim_inner {
        margin-top: 0px;
    }
}

#message .ideal_head .head_txtanim_inner span {
    color: #fafafa;
    font-size: 10rem;
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    white-space: nowrap;
    padding: 0 50px 0 0;
    margin-top: -0.75em;
    line-height: 1.4;
    -webkit-animation: marquee-left 25s linear infinite;
    animation: marquee-left 25s linear infinite;
    position: relative;
}

@-webkit-keyframes marquee-left {
    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

@keyframes marquee-left {
    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

@media (max-width: 840px) {
    #message .ideal_head .head_txtanim_inner span {
        font-size: 10vw;
        -webkit-animation: marquee-left 15s linear infinite;
        animation: marquee-left 15s linear infinite;
    }
}

@media (max-width: 540px) {
    #message .ideal_head .head_txtanim_inner span {
        font-size: 12vw;
    }
}

#message .ideal_point {
    margin-top: 50px;
}

#message .ideal_point .point_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    row-gap: 50px;
}

@media (max-width: 840px) {
    #message .ideal_point .point_list {
        row-gap: 30px;
    }
}

#message .ideal_point .point_item {
    width: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media (max-width: 1024px) {
    #message .ideal_point .point_item {
        width: 90%;
    }
}

#message .ideal_point .point_item:nth-child(1), #message .ideal_point .point_item:nth-child(2) {
    padding-right: 10%;
}

@media (max-width: 1400px) {
    #message .ideal_point .point_item:nth-child(1), #message .ideal_point .point_item:nth-child(2) {
        padding-right: 5%;
    }
}

@media (max-width: 1024px) {
    #message .ideal_point .point_item:nth-child(1), #message .ideal_point .point_item:nth-child(2) {
        padding-right: 0;
    }
}

#message .ideal_point .point_item:nth-child(3), #message .ideal_point .point_item:nth-child(4) {
    padding-left: 10%;
}

@media (max-width: 1400px) {
    #message .ideal_point .point_item:nth-child(3), #message .ideal_point .point_item:nth-child(4) {
        padding-left: 5%;
    }
}

@media (max-width: 1024px) {
    #message .ideal_point .point_item:nth-child(3), #message .ideal_point .point_item:nth-child(4) {
        padding-left: 0;
    }
}

#message .ideal_point .point_item:nth-child(even) {
    margin-left: auto;
}

#message .ideal_point .point_img {
    width: 45%;
    position: relative;
    z-index: 5;
}

#message .ideal_point .point_content {
    width: 70%;
    margin-left: -15%;
    position: relative;
    z-index: 10;
}

#message .ideal_point .point_content .en {
    display: block;
}

#message .ideal_point .point_content .ttl {
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    font-weight: 500;
}

#message .ideal_txt {
    color: #9d7e44;
    margin-top: 50px;
}

#message .greeting {
    padding-bottom: 80px;
}

@media (max-width: 1024px) {
    #message .greeting {
        padding-bottom: 0;
    }
}

#message .greeting_inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
}

@media (max-width: 1024px) {
    #message .greeting_inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

#message .greeting_img {
    width: 50%;
}

@media (max-width: 1024px) {
    #message .greeting_img {
        width: 80%;
    }
}

#message .greeting_txt {
    width: 65%;
    margin-left: -15%;
    margin-bottom: -80px;
    background-color: rgba(255, 255, 255, 0.7);
    padding: 30px min(50px,5%);;
}

@media (max-width: 1024px) {
    #message .greeting_txt {
        width: 80%;
        margin-bottom: 0px;
        margin-top: -30px;
        margin-left: auto;
    }
}

@media (max-width: 540px) {
    #message .greeting_txt {
        width: 95%;
    }
}

#message .greeting_txt .name {
    display: block;
    text-align: right;
    margin-top: 1.25em;
}

/*==================================================================================================
	会社紹介
==================================================================================================*/
#company .img {
    margin: clamp(60px, 12vw, 150px) 0;
}

#company .img_block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#company .img_wrap {
    min-height: 160px;
    height: 10vw;
}

@media (max-width: 840px) {
    #company .img_wrap {
        height: 22.5vw;
        min-height: 125px;
    }
}

#company .img_wrap.-wrap_01 {
    width: 35%;
}

@media (max-width: 840px) {
    #company .img_wrap.-wrap_01 {
        width: 37.5%;
    }
}

#company .img_wrap.-wrap_02 {
    width: 40%;
}

@media (max-width: 840px) {
    #company .img_wrap.-wrap_02 {
        width: 47.5%;
    }
}

#company .img_wrap.-wrap_03 {
    width: 30%;
    margin-left: auto;
    margin-right: 25%;
}

@media (max-width: 840px) {
    #company .img_wrap.-wrap_03 {
        width: 50%;
        margin-right: 10%;
    }
}

#company .img_wrap.-wrap_04 {
    width: 60%;
    margin-left: 15%;
}

@media (max-width: 840px) {
    #company .img_wrap.-wrap_04 {
        width: 65%;
    }
}

#company .img_wrap.-wrap_05 {
    width: 30%;
}

@media (max-width: 840px) {
    #company .img_wrap.-wrap_05 {
        width: 35%;
    }
}

#company .img_wrap.-wrap_06 {
    width: 50%;
    margin-left: auto;
}

@media (max-width: 840px) {
    #company .img_wrap.-wrap_06 {
        width: 55%;
    }
}

#company .img_item {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    min-height: 160px;
    height: 10vw;
}

#company .img_item.-item_01 {
    background-image: url(../img/01_top/mv_01.jpg);
}

#company .img_item.-item_02 {
    background-image: url(../img/01_top/mv_02.jpg);
}

#company .img_item.-item_03 {
    background-image: url(../img/01_top/mv_03.jpg);
}

#company .img_item.-item_04 {
    background-image: url(../img/01_top/mv_04.jpg);
}

#company .img_item.-item_05 {
    background-image: url(../img/01_top/mv_05.jpg);
}

#company .img_item.-item_06 {
    background-image: url(../img/01_top/mv_06.jpg);
}

@media (max-width: 840px) {
    #company .img_item {
        height: 22.5vw;
        min-height: 125px;
    }
}

#company .philosophy_secttl .main {
    padding-bottom: 0.125em;
}

#company .philosophy_secttl .main::before {
    height: 95%;
}

#company .philosophy_head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: clamp(40px, 6vw, 80px);
}

#company .philosophy_head .en {
    font-family: futura-pt, sans-serif;
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    font-weight: 400;
    line-height: 1.4;
    color: rgba(157, 126, 68, 0.5);
    display: inline-block;
    text-align: center;
}

@media (max-width: 540px) {
    #company .philosophy_head .en {
        font-size: 2rem;
    }
}

#company .philosophy_head .main {
    display: inline-block;
    font-size: clamp(3.6rem, 6vw, 6rem);
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    margin: 0.5em 0;
}

#company .philosophy_head .txt {
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    color: #9d7e44;
    font-size: 2rem;
}

@media (max-width: 540px) {
    #company .philosophy_head .txt {
        font-size: 1.8rem;
    }
}

#company .philosophy_list {
    margin: calc(clamp(40px, 6vw, 80px) * 1.5) auto;
    max-width: 1024px;
    padding-left: min(35px,5%);
}

#company .philosophy_item {
    width: 70%;
}

@media (max-width: 840px) {
    #company .philosophy_item {
        width: 90%;
    }
}

#company .philosophy_item:nth-child(even) {
    margin-left: auto;
}

#company .philosophy_item:not(:last-child) {
    margin-bottom: clamp(50px, 6vw, 80px);
}

#company .philosophy_item .main {
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    line-height: 1.6;
    font-weight: 500;
    color: #686868;
    position: relative;
    margin-bottom: 0.75em;
    display: block;
}

#company .philosophy_item .main::before {
    position: absolute;
    content: "";
    left: -1em;
    top: 0.85em;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 10px;
    height: 10px;
    background-color: #aaa;
}

#company .philosophy_item .main .brown {
    color: #9d7e44;
}

#company .philosophy_item .sub {
    padding-left: 5%;
}

#company .movie_inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: clamp(40px, 6vw, 80px);
}

@media (max-width: 840px) {
    #company .movie_inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

#company .movie_link {
    padding: 0;
    border: none;
    position: relative;
    -webkit-transition: 0.5s -webkit-transform;
    transition: 0.5s -webkit-transform;
    transition: 0.5s transform;
    transition: 0.5s transform, 0.5s -webkit-transform;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    text-align: left;
    text-transform: none;
}

#company .movie_link:hover {
    -webkit-transform: scale(1.025);
    transform: scale(1.025);
}

#company .movie_ttl {
    margin-left: 30px;
}

@media (max-width: 840px) {
    #company .movie_ttl {
        margin-left: 0;
    }
}

#company .movie_ttl .main {
    font-family: futura-pt, sans-serif;
    font-size: clamp(7.2rem, 10vw, 15rem);
    line-height: 1;
    font-weight: 400;
    -webkit-text-stroke: clamp(1px, 0.25vw, 3px) #9d7e44;
    text-stroke: clamp(1px, 0.25vw, 3px) #9d7e44;
    color: transparent;
    margin-left: -0.05em;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    position: relative;
    display: inline-block;
    overflow: hidden;
}

@media (max-width: 840px) {
    #company .movie_ttl .main {
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
    }
}

#company .movie_ttl .main::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    height: 100%;
    width: 100%;
    background-color: #564525;
}

#company .movie_ttl .main.-animate::before {
    -webkit-animation: secttl-bg 0.75s ease-out forwards;
    animation: secttl-bg 0.75s ease-out forwards;
}

@-webkit-keyframes secttl-bg {
    0% {
        left: 0;
    }
    100% {
        left: 100%;
    }
}

@keyframes secttl-bg {
    0% {
        left: 0;
    }
    100% {
        left: 100%;
    }
}

#company .movie_ttl .sub {
    display: block;
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    font-weight: 700;
    margin-bottom: 0.75em;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    text-orientation: sideways;
}

@media (max-width: 840px) {
    #company .movie_ttl .sub {
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        text-orientation: mixed;
        margin-top: -0.5em;
    }
}

#company .movie_content div iframe {
    height: 100px !important;
}

#company .information {
    margin-top: calc(clamp(60px, 12vw, 150px) + 30px);
}

#company .information_inner {
    background-color: #fff;
    padding: 0 min(80px,5%) 50px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

#company .information_secttl {
    margin-top: clamp(-80px, -6vw, -40px);
}

#company .information_secttl .sub {
    margin-top: -0.5em;
}

#company .information_data {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    margin-top: 30px;
}

#company .information_data .data_list {
    width: calc(100% / 2 - 25px);
}

@media (max-width: 1024px) {
    #company .information_data .data_list {
        width: 100%;
    }
}

#company .information_data .data_item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 12.5px;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#company .information_data .data_item .ttl {
    width: 130px;
    font-weight: 500;
}

@media (max-width: 540px) {
    #company .information_data .data_item .ttl {
        width: 100%;
    }
}

#company .information_data .data_item .txt {
    width: calc(100% - 140px);
    color: #333333;
}

@media (max-width: 540px) {
    #company .information_data .data_item .txt {
        width: 100%;
    }
}

#company .information_data .data_item .txt .management {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

#company .information_data .data_item .txt .management_ttl {
    font-weight: 700;
}

#company .information_data .data_item .txt .management_info {
    margin-bottom: 0.75em;
}

#company .information_sdgs {
    margin-top: 30px;
}

#company .information_sdgs .sdgs_img {
    max-width: 700px;
}

#company .information_sdgs .sdgs_txt {
    margin-top: 1.5em;
    font-size: 1.8rem;
}

/*==================================================================================================
	選考フロー
==================================================================================================*/
#flow .sec_item {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 20px 50px 40px 0;
    width: 85%;
}

@media (max-width: 840px) {
    #flow .sec_item {
        padding: 20px 5% 30px 0;
    }
}

@media (max-width: 540px) {
    #flow .sec_item {
        width: 90%;
    }
}

#flow .sec_item:not(:last-child) {
    margin-bottom: 80px;
}

@media (max-width: 540px) {
    #flow .sec_item:not(:last-child) {
        margin-bottom: 50px;
    }
}

#flow .sec_item:not(:last-child)::after {
    content: "";
    position: absolute;
    bottom: -50px;
    left: 52.5%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    background-image: url(../img/03_flow/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 35px;
    height: 25px;
}

@media (max-width: 540px) {
    #flow .sec_item:not(:last-child)::after {
        width: 25px;
        height: 20px;
        bottom: -35px;
    }
}

#flow .sec_item:nth-child(even) {
    margin-left: auto;
}

#flow .sec_item::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 97.5%;
    height: 100%;
    background-color: #fff;
}

@media (max-width: 540px) {
    #flow .sec_item::before {
        width: 95%;
    }
}

#flow .sec_num {
    font-family: futura-pt, sans-serif;
    font-size: clamp(7.2rem, 10vw, 15rem);
    line-height: 1;
    font-weight: 400;
    -webkit-text-stroke: clamp(1px, 0.25vw, 3px) #9d7e44;
    text-stroke: clamp(1px, 0.25vw, 3px) #9d7e44;
    color: transparent;
    position: relative;
}

#flow .sec_content {
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-left: 5%;
    position: relative;
}

@media (max-width: 540px) {
    #flow .sec_content {
        padding-left: 7.5%;
    }
}

#flow .sec_ttl {
    font-size: clamp(2.2rem, 3vw, 2.4rem);
    font-weight: 500;
    color: #9d7e44;
    margin: 0.5em 0 1em;
    line-height: 1.6;
}

#flow .sec_txt a {
    color: #9d7e44;
    text-decoration: underline;
    display: inline-block;
}

#flow .sec_entry {
    max-width: 840px;
    margin-top: 30px;
}

#flow .sec_entry .entry_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#flow .sec_entry .entry_item {
    width: calc(100% / 2 - 7.5px);
}

@media (max-width: 840px) {
    #flow .sec_entry .entry_item {
        width: 100%;
    }
    #flow .sec_entry .entry_item:nth-child(2) {
        margin-top: 10px;
    }
}

#flow .sec_entry .entry_link {
    display: block;
    text-align: center;
    position: relative;
    font-size: 2rem;
    font-weight: 500;
    color: #fff;
    line-height: 1.4;
    padding: 0.75em 0.25em;
    -webkit-animation: bggradient2 5s ease infinite;
    animation: bggradient2 5s ease infinite;
}

@-webkit-keyframes bggradient2 {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

@keyframes bggradient2 {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

#flow .sec_entry .entry_link.-newgrad {
    background: -webkit-linear-gradient(45deg, #2084b8, #9fc8d6);
    background: linear-gradient(45deg, #2084b8, #9fc8d6);
}

#flow .sec_entry .entry_link.-career {
    background: -webkit-linear-gradient(45deg, #e16c0c, #e9bc74);
    background: linear-gradient(45deg, #e16c0c, #e9bc74);
}

#flow .sec_entry .entry_link::before {
    position: absolute;
    content: "";
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border: 1px solid #fff;
}

#flow .sec_entry .entry_link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 20px;
    height: 20px;
    -webkit-transition: 0.5s right, 0.5s top, 0.5s background-color;
    transition: 0.5s right, 0.5s top, 0.5s background-color;
    background-color: #fff;
    -webkit-mask-image: url(../img/00_cmn/arrow.svg);
    mask-image: url(../img/00_cmn/arrow.svg);
}

@media (max-width: 840px) {
    #flow .sec_entry .entry_link::after {
        width: 17.5px;
        height: 17.5px;
    }
}

#flow .sec_entry .entry_link:hover {
    color: #fff;
}

#flow .sec_entry .entry_link:hover::after {
    right: 10px;
    top: calc(50% - 10px);
    background-color: #fff;
}

/*==================================================================================================
	募集要項
==================================================================================================*/
#requirement .job_body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
}

#requirement .job_tab .tab_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    min-height: 76px;
}

@media (max-width: 840px) {
    #requirement .job_tab .tab_list {
        min-height: 70px;
    }
}

#requirement .job_tab .tab_list > .act {
    background-color: #9d7e44;
    color: #fff;
    padding: 0.75em 0.25em;
}

#requirement .job_tab .tab_list > .near {
    background-color: #e5e5e5;
}

#requirement .job_tab .tab_list li {
    background-color: #e5e5e5;
    width: calc(100% / 4 - 5px);
    text-align: center;
    color: #333333;
    padding: 0.25em 0.25em;
    border-radius: 2.5px 2.5px 0px 0px;
    position: relative;
    display: block;
    cursor: pointer;
    -webkit-transition: 0.5s padding, 0.5s color, 0.5s background-color;
    transition: 0.5s padding, 0.5s color, 0.5s background-color;
    font-size: 2rem;
    font-weight: 500;
}

@media (max-width: 840px) {
    #requirement .job_tab .tab_list li {
        font-size: 1.8rem;
        width: calc(100% / 3 - 5px);
    }
}

#requirement .job_tab .tab_list li:hover {
    padding: 0.75em 0.25em;
}

#requirement .job_content {
    background-color: #fff;
    padding: 50px min(50px,5%);;
}

#requirement .job_content .content_inner {
    display: none;
}

#requirement .job_content .content_inner.act {
    display: block;
}

#requirement .job_content .content_item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 1em 1em;
    border-bottom: 1px solid #ccc;
}

#requirement .job_content .content_item:first-child {
    border-top: 1px solid #ccc;
}

#requirement .job_content .content_item .ttl {
    width: 130px;
}

@media (max-width: 540px) {
    #requirement .job_content .content_item .ttl {
        width: 100%;
    }
}

#requirement .job_content .content_item .txt {
    width: calc(100% - 140px);
}

@media (max-width: 540px) {
    #requirement .job_content .content_item .txt {
        width: 100%;
    }
}

/*==================================================================================================
	長期インターンシップ
==================================================================================================*/
#internship .internship_inner {
    z-index: 10;
}

#internship .internship_head {
    padding-left: 5%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media (max-width: 840px) {
    #internship .internship_head {
        padding-left: 0;
    }
}

#internship .internship_head .head_textarea {
    width: 60%;
}

@media (max-width: 840px) {
    #internship .internship_head .head_textarea {
        width: 100%;
    }
}

#internship .internship_head .head_textarea .txt {
    font-size: clamp(3.6rem, 6vw, 6rem);
    font-weight: 500;
    position: relative;
    line-height: 1.6;
}

#internship .internship_head .head_textarea .stroke {
    -webkit-text-stroke: clamp(1px, 0.25vw, 1.5px) #9d7e44;
    text-stroke: clamp(1px, 0.25vw, 1.5px) #9d7e44;
    color: transparent;
}

#internship .internship_head .head_img {
    width: 40%;
}

@media (max-width: 840px) {
    #internship .internship_head .head_img {
        width: 100%;
        margin-top: 1em;
    }
}

#internship .internship_content {
    width: 100%;
}

#internship .internship_content .lists {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

#internship .internship_content .lists .list {
    max-width: calc(840px + 10%);
    margin-left: auto;
    margin-top: calc(clamp(100px, 12vw, 150px) * 0.65);
}

@media (max-width: 840px) {
    #internship .internship_content .lists .list {
        margin-top: 40px;
    }
}

#internship .internship_content .lists .list:nth-child(odd) {
    padding-left: 10%;
}

#internship .internship_content .lists .list:nth-child(even) {
    padding-right: 10%;
}

#internship .internship_content .ttl {
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    font-weight: 500;
    color: #9d7e44;
    margin-bottom: 1em;
    display: block;
    position: relative;
}

#internship .internship_content .ttl span {
    position: relative;
    z-index: 10;
}

#internship .internship_content .ttl::before {
    content: "";
    position: absolute;
    top: -0.5em;
    left: -1.25em;
    background-image: url(../img/04_message/head_deco.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 60px;
    height: 40px;
}

@media (max-width: 840px) {
    #internship .internship_content .ttl::before {
        top: -0.25em;
        left: -1em;
        width: 40px;
        height: 25px;
    }
}

#internship .internship .requirements {
    margin-top: calc(clamp(60px, 12vw, 150px) + 30px);
}

#internship .internship .requirements_inner {
    background-color: #fff;
    padding: 0 min(80px,5%) 50px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

#internship .internship .requirements_secttl {
    margin-top: clamp(-80px, -6vw, -40px);
}

#internship .internship .requirements_secttl .sub {
    margin-top: -0.5em;
}

#internship .internship .requirements_data {
    width: 100%;
    margin-top: 30px;
}

#internship .internship .requirements_data .data_item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 12.5px;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-top: 1px solid #ccc;
    padding: 1.5em 0;
}

#internship .internship .requirements_data .data_item .ttl {
    width: 30%;
    font-weight: 500;
}

@media (max-width: 540px) {
    #internship .internship .requirements_data .data_item .ttl {
        width: 100%;
    }
}

#internship .internship .requirements_data .data_item .txt {
    width: 70%;
    color: #333333;
}

@media (max-width: 540px) {
    #internship .internship .requirements_data .data_item .txt {
        width: 100%;
    }
}

#internship .internship .requirements_data .data_item .txt .management {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

#internship .internship .requirements_data .data_item .txt .management_ttl {
    font-weight: 700;
}

#internship .internship .requirements_data .data_item .txt .management_info {
    margin-bottom: 0.75em;
}

#internship .internship_deco {
    position: absolute;
    left: -10%;
    top: 20%;
    width: 840px;
    -webkit-animation: 40s linear infinite rotation_02;
    animation: 40s linear infinite rotation_02;
}

@media (max-width: 1024px) {
    #internship .internship_deco {
        width: 80%;
        left: -15%;
    }
}

@keyframes rotation_02 {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/*==================================================================================================
	エントリー
==================================================================================================*/
#entry .newgrad#newgrad {
    scroll-margin-top: 100px;
}

#entry .newgrad_inner {
    background-color: #fff;
    padding: 0 min(80px,5%) 50px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

#entry .newgrad_secttl {
    margin-top: clamp(-60px, -4.5vw, -30px);
}

#entry .newgrad_secttl .main {
    font-size: calc(clamp(7.2rem, 10vw, 15rem) * 0.75);
    padding-bottom: 0.175em;
}

#entry .newgrad_secttl .sub {
    margin-top: -1em;
}

#entry .newgrad_txt {
    margin-top: 1.5em;
}

#entry .newgrad_btn {
    margin-top: 30px;
    width: 400px;
    max-width: 100%;
}

#entry .newgrad_link:hover {
    opacity: 0.7;
}

#entry .career#career {
    scroll-margin-top: 100px;
}

#entry .career_inner {
    background-color: #fff;
    padding: 0 min(80px,5%) 50px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

#entry .career_secttl {
    margin-top: clamp(-60px, -4.5vw, -30px);
}

#entry .career_secttl .main {
    font-size: calc(clamp(7.2rem, 10vw, 15rem) * 0.75);
}

#entry .career_txt {
    margin-top: 1.5em;
}

/*==================================================================================================
	サイトマップ
==================================================================================================*/
#sitemap .menu_nav {
    width: 100%;
}

#sitemap .menu_nav .nav_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-height: 420px;
    height: auto;
}

@media (max-width: 840px) {
    #sitemap .menu_nav .nav_list {
        max-height: none;
    }
}

#sitemap .menu_nav .nav_item {
    width: 40%;
}

@media (max-width: 540px) {
    #sitemap .menu_nav .nav_item {
        width: 95%;
    }
}

#sitemap .menu_nav .nav_link {
    display: block;
    padding: 1.25em 0;
    position: relative;
}

#sitemap .menu_nav .nav_link .main {
    display: block;
    color: #4d4d4d;
    font-family: futura-pt, sans-serif;
    font-size: clamp(2.8rem, 3.6vw, 3.2rem);
    line-height: 1;
    -webkit-transition: 0.5s color;
    transition: 0.5s color;
}

#sitemap .menu_nav .nav_link .sub {
    display: block;
}

#sitemap .menu_nav .nav_link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 20px;
    height: 20px;
    -webkit-transition: 0.5s right, 0.5s top, 0.5s background-color;
    transition: 0.5s right, 0.5s top, 0.5s background-color;
    background-color: rgba(77, 77, 77, 0.7);
    -webkit-mask-image: url(../img/00_cmn/arrow.svg);
    mask-image: url(../img/00_cmn/arrow.svg);
}

@media (max-width: 840px) {
    #sitemap .menu_nav .nav_link::after {
        width: 17.5px;
        height: 17.5px;
    }
}

#sitemap .menu_nav .nav_link:hover .main {
    color: #9d7e44;
}

#sitemap .menu_nav .nav_link:hover::after {
    right: 0px;
    top: calc(50% - 10px);
    background-color: #9d7e44;
}

#sitemap .menu_entry {
    width: 100%;
}

@media (max-width: 840px) {
    #sitemap .menu_entry {
        margin-top: 30px;
    }
}

#sitemap .menu_entry .entry_list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#sitemap .menu_entry .entry_item {
    width: calc(100% / 2 - 7.5px);
}

@media (max-width: 540px) {
    #sitemap .menu_entry .entry_item {
        width: 100%;
    }
    #sitemap .menu_entry .entry_item:nth-child(2) {
        margin-top: 10px;
    }
}

#sitemap .menu_entry .entry_link {
    display: block;
    text-align: center;
    position: relative;
    font-size: 2rem;
    font-weight: 500;
    color: #fff;
    line-height: 1.4;
    padding: 0.75em 0.25em;
    -webkit-animation: bggradient2 5s ease infinite;
    animation: bggradient2 5s ease infinite;
}

@keyframes bggradient2 {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

#sitemap .menu_entry .entry_link.-newgrad {
    background: -webkit-linear-gradient(45deg, #2084b8, #9fc8d6);
    background: linear-gradient(45deg, #2084b8, #9fc8d6);
}

#sitemap .menu_entry .entry_link.-career {
    background: -webkit-linear-gradient(45deg, #e16c0c, #e9bc74);
    background: linear-gradient(45deg, #e16c0c, #e9bc74);
}

#sitemap .menu_entry .entry_link::before {
    position: absolute;
    content: "";
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border: 1px solid #fff;
}

#sitemap .menu_entry .entry_link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 20px;
    height: 20px;
    -webkit-transition: 0.5s right, 0.5s top, 0.5s background-color;
    transition: 0.5s right, 0.5s top, 0.5s background-color;
    background-color: #fff;
    -webkit-mask-image: url(../img/00_cmn/arrow.svg);
    mask-image: url(../img/00_cmn/arrow.svg);
}

@media (max-width: 840px) {
    #sitemap .menu_entry .entry_link::after {
        width: 17.5px;
        height: 17.5px;
    }
}

#sitemap .menu_entry .entry_link:hover {
    color: #fff;
}

#sitemap .menu_entry .entry_link:hover::after {
    right: 10px;
    top: calc(50% - 10px);
    background-color: #fff;
}

/*==================================================================================================
	404,サンクスページ
==================================================================================================*/
#error .sec,
#thanks .sec {
    margin-top: 0;
    padding-top: calc(clamp(80px, 12vw, 150px) * 1.5);
}

#error .sec_ttl,
#thanks .sec_ttl {
    font-family: futura-pt, sans-serif;
    font-size: clamp(3.6rem, 6vw, 6rem);
    color: #9d7e44;
    text-align: center;
    margin-bottom: 0.35em;
    padding-bottom: 0.15em;
    border-bottom: 1px solid #ccc;
}

#error .sec_txt,
#thanks .sec_txt {
    text-align: center;
}

#error .sec_btn,
#thanks .sec_btn {
    width: 180px;
}
