@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700;900&display=swap');
/*-----------------------------------

	reset

-----------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }
a { text-decoration: none; color: inherit;}
b { font-weight: bold; }
img { vertical-align: bottom; line-height: 1.0;}
input, button { box-sizing: border-box; }


/*-----------------------------------

	共通

-----------------------------------*/
* {
    box-sizing: border-box;
}
html, body {
    width: 100dvw;
    height: 100dvh;
    overflow: hidden;
}
html {
    font-size: 62.5%;
    color: #231815;
    font-family: 'Noto Sans JP', YuGothic, "Yu Gothic Medium", "Yu Gothic", "Meiryo", sans-serif;
}
body {
    background: url("../img/bg.jpg") no-repeat center center / cover;
    font-weight: 600;
    -webkit-text-size-adjust:100%;
}
a {
    display: block;
    opacity: 1;
    transition: background .3s, color .3s, opacity .3s;
}
a.hover:hover {
    opacity: 0.6;
}
img {
    max-width: 100%;
    max-height: 100%;
}
img.wh100 {
    width: 100%;
    height: 100%;
}
.cont_inner > div {
    display: flex;
    align-items: center;
}
.inner {
    width: 100%;
    height: 87%;
}
@media screen and (max-width: 768px){
    .inner {
        height: 92%;
    }
}
.bold{
    font-weight: bold;
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}
.min { font-family: 'Noto Serif JP', serif; }
.sp {
    display: none;
}
@media screen and (max-width: 768px){
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
}

/*-----------------------------------

	読み込み完了時フェードイン

-----------------------------------*/
.grecaptcha-badge,
.loading {
    transition: opacity .5s;
    transition-delay: .5s;
    opacity: 0;
    pointer-events: none;
}
.grecaptcha-badge.loaded,
.loading.loaded {
    opacity: 1;
}
.grecaptcha-badge.transitionend,
.loading.transitionend {
    pointer-events: all;
}


/*-----------------------------------

	ボタン

-----------------------------------*/
.button {
    border-radius: 50px;
    display: flex;
    align-items: center;
    padding: 0 40px 0 25px;
    position: relative;
}
.button::after {
    content: "";
    width: auto;
    height: 58%;
    aspect-ratio: 1 / 1;
    background-color: #231815;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 9px;
    margin: auto;
    z-index: 1;
    transition: background .3s, color .3s;
}
.button::before {
    content: "";
    width: auto;
    height: 57%;
    aspect-ratio: 1 / 1;
    background: url("../img/arrow.svg") no-repeat center center / contain;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 9px;
    margin: auto;
    z-index: 2;
}
.button.c_yel {
    width: 220px;
    height: 45px;
    background-color: #fff100;
    font-size: 1.5rem;
    font-weight: bold;
}
.button.c_yel:hover {
    background-color: #f39800;
}
.button.c_red {
    width: auto;
    height: 46px;
    aspect-ratio: 306 / 46;
    background-color: #9a2226;
    border: 1px solid #9a2226;
    font-size: 2.2dvh;
    font-weight: bold;
    justify-content: center;
}
.button.c_red:hover {
    color: #9a2226;
    background-color: #fff;
}
.button.c_red:hover::after {
    background-color: #9a2226;
}
.button.c_ora {
    width: auto;
    height: 46px;
    aspect-ratio: 306 / 46;
    background-color: #f08300;
    border: 1px solid #f08300;
    font-size: 2.2dvh;
    font-weight: bold;
    justify-content: center;
}
.button.c_ora:hover {
    color: #f08300;
    background-color: #fff;
}
.button.c_ora:hover::after {
    background-color: #f08300;
}
.button.c_gre {
    width: auto;
    height: 55px;
    max-height: 6dvh;
    aspect-ratio: 316 / 55;
    background-color: #5d8351;
    border: 1px solid #5d8351;
    font-size: 2.3vh;
    font-size: 2.3dvh;
    font-weight: bold;
    justify-content: center;
    color: #fff;
}
.button.c_gre:hover {
    color: #5d8351;
    background-color: #fff;
}
.button.c_gre:hover::after {
    background-color: #5d8351;
}
.button.c_whi {
    width: 100%;
    max-height: 6dvh;
    aspect-ratio: 316 / 55;
    background-color: #fff;
    font-size: 2.3dvh;
    font-weight: bold;
    display: flex;
    justify-content: center;
    color: #5d8351;
}
.button.c_whi::after {
    background-color: #5d8351;
}
.button.c_whi:hover {
    color: #fff;
    background-color: #5d8351;
}
.button.c_whi:hover::after {
    background-color: #fff;
}
.button.c_whi:hover::before {
    background: url("../img/arrow_green.svg") no-repeat center center / contain;
}
@media screen and (max-width: 768px){
    .button.c_yel {
        width: 180px;
        font-size: 1.4rem;
    }
    .button.c_gre,
    .button.c_whi {
        max-height: 6.5dvh;
    }
}

.button_c {
    width: 23dvh;
    height: 23dvh;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size: 2.2dvh;
    line-height: 1.5em;
    font-weight: bold;
    text-align: center;
    color: #fff;
}
.button_c::after {
    content: "";
    width: auto;
    height: 20%;
    aspect-ratio: 1 / 1;
    background-color: #231815;
    border-radius: 50%;
    position: absolute;
    bottom: 22%;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 1;
    transition: background .3s, color .3s;
}
.button_c::before {
    content: "";
    width: auto;
    height: 20%;
    aspect-ratio: 1 / 1;
    background: url("../img/arrow.svg") no-repeat center center / contain;
    position: absolute;
    bottom: 22%;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 2;
}
.button_c.c_gre {
    background-color: #5d8351;
    border: 1px solid #5d8351;
    padding: 0 0 21%;
}
.button_c.c_gre:hover {
    color: #5d8351;
    background-color: #fff;
}
.button_c.c_gre:hover::after {
    background-color: #5d8351;
}
.button_img {
    width: 23.5dvh;
    position: relative;
}
.button_img img {
    width: 21dvh;
    position: absolute;
    top: -54%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
}
.button_img a {
    margin: 0 auto;
}
.button_c.c_yel {
    width: 22dvh;
    height: 22dvh;
    font-size: 2.7dvh;
    line-height: 1.5em;
    background-color: #fff100;
    color: #231815;
    padding: 0 0 6%;
}
.button_c.c_yel:hover {
    background-color: #f39800;
}
.button_c.c_yel::after,
.button_c.c_yel::before {
    height: 22%;
    bottom: 12%;
}
.button_c.c_ore {
    width: 22.2dvh;
    height: 22.2dvh;
    font-size: 3.2dvh;
    letter-spacing: 0.04em;
    line-height: 1.5em;
    background-color: #fff100;
    color: #231815;
    padding: 0;
    transition: background .3s, color .3s, opacity .3s;
}
@media screen and (min-width: 769px){
    .button_c.c_ore:hover {
        background-color: #f39800;
    }
}
.button_c.c_ore::before {
    content: none;
}
.button_c.c_red {
    width: 22.2dvh;
    height: 22.2dvh;
    font-size: 3.2dvh;
    letter-spacing: 0.04em;
    line-height: 1.5em;
    background-color: #9a2226;
    color: #fff;
    padding: 0;
    transition: background .3s, color .3s, opacity .3s;
}
@media screen and (min-width: 769px){
    .button_c.c_red:hover {
        background-color: #72191c;
    }
}
.button_c.c_ore .em,
.button_c.c_red .em {
    font-size: 1.65em;
}
.button_c.c_ore::before,
.button_c.c_ore::after,
.button_c.c_red::before,
.button_c.c_red::after {
    content: none;
}
@media screen and (max-width: 768px){
    .button_c.c_yel,
    .button_c.c_ore,
    .button_c.c_red {
        width: 21dvh;
        height: 21dvh;
        font-size: 2.5dvh;
        line-height: 1.5em;
    }
}


/*-----------------------------------

	タイトル

-----------------------------------*/
#title {
    width: auto;
    height: 100%;
    aspect-ratio: 425 / 615;
    margin-left: 40px;
}
#title .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}
#title .logo {
    height: 17%;
}
@media screen and (max-width:768px){
    #title {
        width: calc(100vw - 30px);
        width: calc(100dvw - 30px);
        margin-left: 0;
        margin-right: 15px;
    }
}
.lead {
    font-size: 6.5dvh;
    line-height: 1.4em;
    font-weight: bold;
    writing-mode: vertical-rl;
    white-space: pre;
    margin: 6dvh auto 0;
}
.lead span {
    color: #5d8351;
}
.page_ttl {
    margin: auto auto 0 3.5dvh;
}
.page_ttl img {
    height: 3dvh;
}
.page_ttl h3 {
    font-size: 2dvh;
    font-weight: bold;
    margin-top: 0.3em;
}
@media screen and (max-width: 768px){
    .lead {
        font-size: 6dvh;
        margin: 5dvh auto 0;
    }
    .page_ttl {
        margin: auto auto 0 5.5dvh;
    }
}

#title.ttl_bg {
    aspect-ratio: 830 / 615;
    margin-left: 0;
    padding-left: 40px;
    position: relative;
}
#title.ttl_bg .bg_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
#title.ttl_bg .bg_img::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #8d9292;
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
}
#title.ttl_bg .inner {
    width: auto;
    aspect-ratio: 425 / 535;
    position: relative;
    z-index: 2;
}
#title.ttl_bg .bg_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#title.ttl_bg .lead,
#title.ttl_bg .page_ttl h3 {
    color: #fff;
}
@media screen and (max-width:768px){
    #title.ttl_bg {
        width: calc(200vw - 60px);
        width: calc(200dvw - 60px);
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
    }
    #title.ttl_bg .inner {
        width: calc(100vw - 30px);
        width: calc(100dvw - 30px);
    }
}


/*-----------------------------------

	header

-----------------------------------*/
header {
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: space-between;
    padding-left: 40px;
}
header h1 {
    display: flex;
    align-items: center;
}
header a {
    width: 215px;
}
header a img {
    aspect-ratio: 300 / 40;
}
@media screen and (max-width: 768px){
    header {
        padding-left: 15px;
    }
    header a {
        width: 170px;
    }
}

/*ナビゲーション*/
#menu_btn {
    width: 104px;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
#menu_btn div {
    display: block;
    width: 60px;
    height: 10px;
    transition: all 0.3s;
    position: relative;
}
#menu_btn div span:first-child {
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: #fff;
    top: 0;
    right: 0;
    margin: auto;
    transition: all 0.3s;
}
#menu_btn div span:last-child {
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: #fff;
    bottom: 0;
    right: 0;
    margin: auto;
    transition: all 0.3s;
}
#menu_btn.active div span:first-child {
    top: 4px;
    transform: rotate(-160deg);
}
#menu_btn.active div span:last-child {
    bottom: 4px;
    transform: rotate(160deg);
}
@media screen and (max-width: 768px){
    #menu_btn {
        width: 75px;
    }
    #menu_btn div {
        width: 45px;
        height: 8px;
    }
}
header.active {
    background-color: #5d8351;
}
header nav {
    width: 100%;
    height: calc(100dvh - 50px);
    color: #fff;
    background-color: #5d8351;
    position: fixed;
    top: 50px;
    left: 0;
    display: none;
    z-index: 9999;
}
header nav .nav_inner {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-end;
}
header nav .main_menu {
    width: auto;
    height: 100%;
    aspect-ratio: 410 / 615;
    padding: 1% 0 0;
}
header nav .main_menu .menu_ttl {
    width: 68%;
    margin-bottom: 3%;
}
header nav .main_menu ul {
    width: 74%;
    margin-bottom: 6%;
}
header nav .main_menu li {
    border-bottom: 1px solid #fff;
}
header nav .main_menu li a {
    width: 100%;
    display: block;
    font-size: 2.8dvh;
    font-weight: bold;
    padding: 0.4em 0.8em;
    color: #fff;
}
header nav .main_menu li a:hover {
    color: #fff100;
}
header nav .main_menu .link_btn {
    width: 74%;
}
header nav .main_menu .link_btn a:not(:first-child) {
    margin-top: 3%;
}
header nav .main_menu .link_btn .button.c_red,
header nav .main_menu .link_btn .button.c_ora {
    max-width: 100%;
    height: auto;
    white-space: nowrap;
}
@media screen and (max-width:768px){
    header nav {
        height: calc(100dvh - 50px);
        top: 50px;
        overflow-x: auto;
    }
    header nav .nav_inner {
        height: auto;
        display: block;
    }
    header nav .main_menu {
        width: 86%;
        height: 100%;
        margin: 5% auto 0;
        padding: 1% 0 5%;
        aspect-ratio: initial;
    }
    header nav .main_menu .menu_ttl {
        width: auto;
        height: 4.5dvh;
        margin-bottom: 3%;
    }
    header nav .main_menu ul {
        width: 100%;
        flex-direction: column;
        gap: 0;
    }
    header nav .main_menu li {
        width: 100%;
        max-width: 100%;
    }
    header nav .main_menu li a {
        font-size: 2.6dvh;
    }
    header nav .main_menu .link_btn {
        width: 100%;
    }
    header nav .main_menu .link_btn .button.c_red,
    header nav .main_menu .link_btn .button.c_ora {
        width: 100%;
        max-height: 46px;
        margin-left: auto;
        margin-right: auto;
        font-size: 2dvh;
    }
}


/*-----------------------------------

	footer

-----------------------------------*/
footer {
    height: 80px;
    line-height: 1;
    padding-top: 5px;
    padding-left: 40px;
}

footer .career {
    display: none;
}
@media screen and (max-width:768px){
    footer {
        height: 70px;
        padding-top: 10px;
        padding-left: 15px;
    }
}


/*-----------------------------------

	main

-----------------------------------*/
#wrap {
    display: flex;
    justify-content: flex-end;
    position: relative;
}
#wrap::after {
    content: "";
    width: 20px;
    height: calc(100% - 16px);
    background: url("../img/main_deco.png") no-repeat bottom left / 100% 100%;
    position: absolute;
    left: 30px;
    top: 0;
    z-index: 1;
}
#wrap::before {
    content: "";
    width: 20px;
    height: 22px;
    z-index: -1;
    position: absolute;
    bottom: 0;
    left: 30px;
    background: url("../img/main_deco_b.png") no-repeat top left / 100% 100%;
}

#main {
    width: calc(100dvw - 50px);
    height: calc(100dvh - 130px);
    display: flex;
    overflow-y: scroll;
    position: relative;
    z-index: 2;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
#main::-webkit-scrollbar {
    display: none;
}

#scroll_area {
    display: flex;
}

.section_conts {
    padding-bottom: 14px;
}

.contents_block {
    height: calc(100dvh - 145px);
    position: relative;
    display: flex;
}
.contents_block::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: -2%;
    bottom: 0;
    box-shadow: 10px 10px 10px rgba(0,0,0,0.4);
    z-index: -1;
}
.section_conts:nth-last-child(2) .contents_block::after {
    width: 102%;
}
.section_conts:nth-last-child(2) .contents_block::before {
    content: "";
    width: 9px;
    height: 100%;
    background: url("../img/main_deco_r.png") top left / 100% 100%;
    position: absolute;
    top: 0;
    right: -9px;
}
.section_conts:last-child .contents_block::after {
    display: none;
}

#sec_last {
    background-color: rgba(0,0,0,0);
}
#sec_last .contents_block {
    width:100px;
}

.cont_inner {
    width: auto;
    height: calc(100dvh - 145px);
    display: flex;
    background-color: #fff;
    overflow: hidden;
}

@media screen and (max-width:768px){
    #main {
        width: calc(100dvw - 15px);
        height: calc(100dvh - 120px);
    }
    #scroll_area::-webkit-scrollbar,
    #main::-webkit-scrollbar {
        display: block;
        width: 1px;
        height: 5px;
        background-color: rgba(255,255,255,0);
    }
    #scroll_area::-webkit-scrollbar-thumb,
    #main::-webkit-scrollbar-thumb {
        background: #fff;
        border-radius: 5px;
    }

    #wrap::after {
        width: 15px;
        height: calc(100% - 16px);
        left: 0;
    }
    #wrap::before {
        width: 15px;
        height: 22px;
        left: 0;
    }

    .contents_block,
    .cont_inner {
        height: calc(100dvh - 134px);
    }

    #sec_last .contents_block {
        width: 15px;
    }

    .section_conts {
        padding-bottom: 9px;
    }

    .contents_block::after {
        box-shadow: 10px 5px 8px rgba(0,0,0,0.7);
    }
}

/*===============================================================

	コンテンツの横幅が足りない場合

===============================================================*/
#wrap.temp_small {
    justify-content: center;
}
#wrap.temp_small::after,
#wrap.temp_small::before {
    display: none;
}
.temp_small #main::after {
    content: "";
    width: 20px;
    height: calc(100% - 16px);
    background: url("../img/main_deco.png") no-repeat bottom left / 100% 100%;
    position: absolute;
    left: -20px;
    top: 0;
    z-index: 1;
}
.temp_small #main::before {
    content: "";
    width: 20px;
    height: 22px;
    z-index: -1;
    position: absolute;
    bottom: 0;
    left: -20px;
    background: url("../img/main_deco_b_sp.png") no-repeat top left / 100% 100%;
}
.temp_small #main {
    width: auto;
    display: flex;
    overflow-y: inherit;
    position: relative;
    z-index: 2;
}
.temp_small #sec_last {
    width: 10px;
}


/*===============================================================

	scroll section

===============================================================*/
[data-scroll-direction="horizontal"] [data-scroll-section] {
    white-space: inherit;
}
[data-scroll-direction="horizontal"] [data-scroll-container] {
    overflow: hidden;
}
[data-scroll] {
    transform: none;
    display: inline-block;
}
@media (min-width: 769px) {
    [data-scroll]:not(.is-inview) {
        transform: none !important;
    }
}


/*-----------------------------------

	main foot

-----------------------------------*/
#foot {
    height: 100%;
    aspect-ratio: 880 / 615;
    background-color: #5d8351;
    display: flex;
}
#foot .entry_area {
    width: 54%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 0 0 5.5% 6%;
}
#foot .menu_area {
    width: 41%;
    height: 100%;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#foot .copyright {
    width: 5%;
    height: 100%;
    padding-left: 1%;
}
#foot .entry_area .bg_img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
#foot .entry_area .bg_img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#foot .menu_area .menu_ttl {
    width: 78%;
    margin-bottom: 3%;
    padding-left: 4%;
}
#foot .menu_area ul {
    width: 84%;
    margin-bottom: 6%;
}
#foot .menu_area li {
    border-bottom: 1px solid #fff;
}
#foot .menu_area li a {
    width: 100%;
    display: block;
    font-size: 2.3dvh;
    font-weight: bold;
    padding: 0.4em 0.8em;
    color: #fff;
}
#foot .menu_area li a:hover {
    color: #fff100;
}
#foot .menu_area .link_btn {
    width: 84%;
}
#foot .menu_area .link_btn a:not(:first-child) {
    margin-top: 3%;
}
#foot .menu_area .link_btn .button.c_red,
#foot .menu_area .link_btn .button.c_ora {
    max-width: 100%;
    height: auto;
    white-space: nowrap;
}
#foot .menu_area .link_btn .button.c_ora {
    font-size: 1.8dvh;
}
#foot .copyright small {
    font-size: 1.6dvh;
    letter-spacing: 0.04em;
    color: #fff;
    writing-mode: vertical-rl;
    white-space: pre;
    padding: 70% 0 0;
}
#foot .entry_area .entry_button {
    position: relative;
}
#foot .entry_area .entry_button div.button_c {
    transition: background .3s, color .3s, opacity .3s;
}
#foot .entry_area .entry_choice {
    position: relative;
}
#foot .entry_area .entry_choice_list {
    display: flex;
}
#foot .entry_area .entry_choice_list li {
    position: relative;
}
#foot .entry_area .entry_choice_list li:nth-child(1) {
    z-index: 2;
}
#foot .entry_area .entry_choice_list li:nth-child(2) {
    margin-left: -10px;
    z-index: 1;
}
@media screen and (max-width:768px){
    #foot .entry_area .bg_img {
        height: 95%;
        top: 3%;
        left: -3%;
    }
}


/*-----------------------------------

	記事詳細

-----------------------------------*/
#article_title {
    height: 100%;
    aspect-ratio: 635 / 615;
    margin-right: 90px;
    flex-direction: column;
    align-items: flex-start;
}
#article_title .ttl_area {
    width: 100%;
    aspect-ratio: 635 / 375;
    position: relative;
    overflow: hidden;
    background: url("../img/article_ttl_bg.jpg") no-repeat center center / cover;
}
#article_title .ttl_area .bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#article_title .ttl_area h2 {
    width: 98%;
    position: absolute;
    bottom: -0.5%;
    left: 0;
    right: 0;
    margin: auto;
}
#article_title .article_ttl {
    width: 100%;
    height: 100%;
    flex: 1;
    padding: 8% 6% 6%;
    display: flex;
    justify-content: space-between;
    gap: 0 10%;
}
#article_title .article_ttl .ttl {
    font-size: 2.8dvh;
    line-height: 1.6em;
    font-weight: bold;
    max-height: 7em;
    overflow: auto;
    flex: 1;
}
#article_title .article_ttl .date .gre_box {
    font-size: 1.8dvh;
    line-height: 1;
    padding: 0.2em 0.7em;
    background-color: #5d8351;
    color: #fff;
    border-radius: 50px;
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
    display: inline-block;
}
#article_title .article_ttl .date .department {
    font-size: 1.8dvh;
    line-height: 1.5em;
    margin: 0.3em 0;
}
#article_title .article_ttl .date .name {
    font-size: 3.5dvh;
    line-height: 1;
    letter-spacing: 0.1em;
}
@media screen and (max-width:768px){
    #article_title {
        width: calc(100vw - 15px);
        width: calc(100dvw - 15px);
        margin-right: 0;
    }
    #article_title .ttl_area {
        height: 50%;
    }
    #article_title .article_ttl {
        padding: 5% 7% 4%;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 5%;
    }
    #article_title .article_ttl .ttl {
        max-height: 50%;
    }
}
/*-----------------------------------
内容
-----------------------------------*/
#article_main {
    height: 100%;
    display: flex;
    align-items: center;
}
#article_main .sec {
    height: 70%;
    display: flex;
    align-items: center;
}
#article_main .sec + .sec {
    margin-left: 11dvh;
}
#article_main .sec .txt_area {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-right: 7dvh;
    overflow: hidden;
    flex: 1;
}
#article_main .sec .txt_area .ttl {
    font-size: 2.4dvh;
    line-height: 1.6em;
    color: #5d8351;
    margin-bottom: 1.8em;
}
#article_main .sec .txt_area .txt {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    gap: 0 5%;
    overflow: hidden;
    order: 1;
}
#article_main .sec .txt_area .txt .col {
    width: 48dvh;
    height: 100%;
    font-size: 1.8dvh;
    line-height: 2em;
    overflow: auto;
}
#article_main .sec .img_area {
    aspect-ratio: 500 / 370;
    height: 78%;
    border-radius: 20px;
    overflow: hidden;
    order: 2;
}
#article_main .sec .img_area img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width:768px){
    #article_main .sec {
        height: 80%;
    }
    #article_main .sec + .sec {
        margin-left: 5dvh;
    }
    #article_main .sec .txt_area {
        margin-right: 0;
    }
    #article_main .sec .txt_area .ttl {
        font-size: 2.6dvh;
        margin-bottom: 1.5em;
        padding: 0 3vh;
    }
    #article_main .sec .txt_area .txt {
        gap: 0;
    }
    #article_main .sec .txt_area .txt .col {
        width: 43dvh;
        padding: 0 3vh;
    }
    #article_main .sec .img_area {
        aspect-ratio: 355 / 265;
        height: 50%;
        border-radius: 15px;
        margin-top: 8%;
    }
}
/*-----------------------------------
一覧を見る
-----------------------------------*/
#article_link {
    height: 100%;
    padding-left: 100px;
    margin-right: 150px;
}
#article_link .link_box {
    width: 24dvh;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 5%;
}
@media screen and (max-width:768px){
    #article_link {
        padding-left: 0;
        margin-right: 0;
    }
    #article_link .link_box {
        width: auto;
        height: 100%;
        aspect-ratio: 310 / 535;
    }
}


/* ===============================================
   スクロールボックス
=============================================== */
.scroll_area {
    overflow-y: auto;
    overflow-x: hidden;
}
.scroll_area::-webkit-scrollbar{
   width: 14px;
}
.scroll_area::-webkit-scrollbar-track{
   background-color: #ddd;
}
.scroll_area::-webkit-scrollbar-thumb{
    background-color: #96ad92;
    border-radius: 10px;
}
.scroll_area::-webkit-scrollbar-thumb:hover {
    background-color: #5d8351;
}
.scroll_area li {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.scroll_area a {
    pointer-events: visible !important;
    display: inline-block;
    margin-left: auto;
}
@media screen and (max-width:768px){
    .scroll_area::-webkit-scrollbar{
       width: 10px;
    }
}


/* ===============================================
   記事が0件
=============================================== */
.no_article {
    font-size: 2dvh;
    text-align: center;
}
.articles_area .no_article {
    width: 45dvh;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* ===============================================
   Anima
=============================================== */
[data-trigger] {
	opacity: 0;
}

