@charset "utf-8";


/*-------------------------------------------- */
/* font
---------------------------------------------- */

@font-face {
	font-family: 'HiraginoMincho-W2';
	font-style: normal;
	font-weight: 200;
	font-display: swap;
	src: url(/files/user/anniversary_40th/font/HiraginoMincho-W2.woff2) format('woff2'),
		url(/files/user/anniversary_40th/font/HiraginoMincho-W2.woff) format('woff'),
		url(/files/user/anniversary_40th/font/HiraginoMincho-W2.otf) format('opentype');
}
@font-face {
	font-family: 'HiraginoMincho-W4';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(/files/user/anniversary_40th/font/HiraginoMincho-W4.woff2) format('woff2'),
		url(/files/user/anniversary_40th/font/HiraginoMincho-W4.woff) format('woff'),
		url(/files/user/anniversary_40th/font/HiraginoMincho-W4.otf) format('opentype');
}


/*-------------------------------------------- */
/* common
---------------------------------------------- */


/*-------------------------------------------- */
/* #mv
---------------------------------------------- */

#mv,
.mv_wrap {
    position: relative;
    display: block;
    width: 100%;
}
.mvBox {
    display: block;
    width: 100%;
    height: 640px;
    background: url(/files/user/anniversary_40th/images/top/mv_water01_sp.jpg) no-repeat center 0;
    background-size: cover;
    padding-top: 79px;
}
.mv_wrap {
    position: relative;
    display: block;
    width: 375px;
    height: 640px;
    margin: 0 auto;
    z-index: 2;
}
.mv_wrap::before {
    content: "";
    display: block;
    width: 390px;
    height: 640px;
    background: url(/files/user/anniversary_40th/images/top/mv_year_sp.svg) no-repeat 0 0;
    background-size: 390px auto;
    position: absolute;
    top: -79px;
    left: 50%;
    margin-left: -195px;
    z-index: 1;
}
.mv_logoAnniv {
    display: block;
    width: 173px;
    height: 162px;
    margin: 0 auto;
}
.mv_title {
    display: block;
    font-family: 'HiraginoMincho-W4';
    font-size: 21px;
    line-height: 1.7;
    color: #45415E;
    z-index: 11;
    width: 375px;
    margin-top: -6px;
    padding-left: 42px;
}
.mv_txt {
    display: block;
    font-size: 12px;
    line-height: 22px;
    color: #2E323C;
    position: relative;
    width: 375px;
    margin-top: 25px;
    padding-left: 42px;
}
@media screen and (min-width: 769px) {
    .mvBox {
        display: block;
        width: 100%;
        min-width: 1200px;
        height: 1116px;
        background: url(/files/user/anniversary_40th/images/top/mv_water01_pc.jpg) no-repeat center 0;
        background-size: cover;
        padding-top: 190px;
    }
    .mv_wrap {
        width: 100%;
        min-width: 1200px;
        max-width: 1600px;
        height: 1116px;
    }
    .mv_wrap::before {
        width: 1600px;
        height: 1116px;
        background: url(/files/user/anniversary_40th/images/top/mv_year_pc.svg) no-repeat 0 0;
        background-size: 1600px auto;
        position: absolute;
        top: -190px;
        margin-left: -800px;
    }
    .mv_logoAnniv {
        width: 402px;
        height: 376px;
    }
    .mv_title {
        font-size: 40px;
        line-height: 1.7;
        width: 760px;
        margin: -5px auto 0;
        padding-left: 0;
    }
    .mv_txt {
        font-size: 16px;
        line-height: 30px;
        width: 760px;
        margin: 30px auto 0;
        padding-left: 0;
    }
}


/*-------------------------------------------- */
/* #history_list
---------------------------------------------- */

.historyList {
    display: block;
    width: 375px;
    margin: 12px auto 0;
    position: relative;
    z-index: 2;
}
.historyList_box {
    position: relative;
    display: block;
    width: 100%;
    text-decoration: none;
}
.historyList_box + .historyList_box {
    margin-top: 26px;
}
.historyList_tit {
    display: block;
    width: 100%;
    padding-left: 32px;
    font-family: 'HiraginoMincho-W2';
    font-size: 40px;
    line-height: 35px;
}
.historyList_year {
    display: inline-block;
    font-family: 'HiraginoMincho-W2';
    font-size: 40px;
    line-height: 35px;
    background: url(/files/user/anniversary_40th/images/top/since01.svg) no-repeat right center;
    background-size: 19px auto;
    padding-right: 25px;
}
.historyList_tit_txt {
    display: block;
    width: 100%;
	font-family: 'Hiragino Kaku Gothic ProN', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    font-size: 19px;
    line-height: 55px;
    margin-top: -8px;
    padding-left: 2px;
}
.historyList_txt {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 303px;
    min-height: 61px;
    position: relative;
    z-index: 2;
    background: rgba(233, 230, 225, 0.9);
    padding: 9px 30px 7px 33px;
    margin-top: -12px;
}
.historyList_txt span {
    font-size: 12px;
    line-height: 23px;
    color: #2E323C;
}
.historyList_txt::before {
    content: "";
    display: block;
    width: 10px;
    height: 14px;
    background: url(/files/user/anniversary_40th/images/top/icn_ar01.svg) no-repeat 0 0;
    background-size: 10px auto;
    position: absolute;
    top: 50%;
    margin-top: -7px;
    right: 10px;
    z-index: 2;
}
.historyList_img {
    display: block;
    width: 356px;
    height: 215px;
    margin-top: -19px;
    margin-left: auto;
    will-change: opacity;
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: opacity 0.3s;
}
@media screen and (min-width: 769px) {
    .historyList {
        width: 100%;
        min-width: 1200px;
        max-width: 1600px;
        margin: 0 auto 0;
    }
    .historyList_box {
        min-width: 1200px;
        height: 430px;
        overflow: hidden;
    }
    .historyList_box + .historyList_box {
        margin-top: 52px;
    }
    .historyList_tit {
        display: block;
        width: 1200px;
        padding-left: 0;
        font-family: 'HiraginoMincho-W2';
        position: absolute;
        top: 20px;
        left: 50%;
        margin-left: -600px;
    }
    .historyList_year {
        display: inline-block;
        font-family: 'HiraginoMincho-W2';
        font-size: 80px;
        line-height: 70px;
        background: url(/files/user/anniversary_40th/images/top/since01.svg) no-repeat right center;
        background-size: 37px auto;
        padding-right: 48px;
    }
    .historyList_tit_txt {
        display: block;
        width: 100%;
        font-size: 32px;
        line-height: 55px;
        margin-top: 10px;
        padding-left: 1px;
    }
    .historyList_txt {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 700px;
        min-height: 89px;
        z-index: 2;
        background: rgba(233, 230, 225, 0.9);
        padding: 9px 80px 7px 200px;
        position: absolute;
        top: 172px;
        left: 50%;
        margin-left: -800px;
    }
    .historyList_txt span {
        font-size: 16px;
        line-height: 30px;
        color: #2E323C;
    }
    .historyList_txt::before {
        content: "";
        display: block;
        width: 18px;
        height: 28px;
        background: url(/files/user/anniversary_40th/images/top/icn_ar01.svg) no-repeat 0 0;
        background-size: 18px auto;
        position: absolute;
        top: 50%;
        margin-top: -14px;
        right: 15px;
        z-index: 2;
    }
    .historyList_img {
        width: 968px;
        height: 430px;
        margin-top: 0;
        position: absolute;
        top: 0;
        left: 50%;
        margin-left: -168px;
        transition: opacity 0.3s;
    }
}
@media (hover: hover) {
    .media_pc .historyList_btn:hover .historyList_img {
        opacity: 0.6;
    }
}
@media (hover: none) {
    .media_pc .historyList_btn:active .historyList_img {
        opacity: 0.6;
    }
}


/*-------------------------------------------- */
/* #2026
---------------------------------------------- */

.motto {
    position: relative;
    display: block;
    width: 375px;
    height: 512px;
    margin: 50px auto 0;
}
.motto_wrap {
    display: block;
    width: 100%;
    max-width: 375px;
    margin: 0 auto;
    padding: 33px 66px 35px 20px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}
.motto_tit {
    display: block;
    width: 100%;
    font-family: 'HiraginoMincho-W2';
    font-size: 40px;
    line-height: 35px;
    color: #fff;
    padding-left: 11px;
}
.motto_txt {
    display: block;
    width: 100%;
    background: rgba(255, 255, 255, 0.7);
    padding: 20px 12px 18px 22px;
    font-family: 'HiraginoMincho-W4';
    -webkit-font-smoothing: subpixel-antialiased;
    font-size: 11px;
    line-height: 19px;
    color: #2E323C;
    margin-top: 25px;
}
.motto_img {
    display: block;
    width: 375px;
    height: 512px;
}
@media screen and (min-width: 769px) {
    .motto {
        width: 100%;
        height: auto;
        min-height: 945px;
        margin: 63px auto 0;
    }
    .motto_wrap {
        display: block;
        width: 1200px;
        height: 714px;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0;
        position: absolute;
        top: 50%;
        margin-top: -303px;
        left: 50%;
        margin-left: -600px;
    }
    .motto_tit {
        width: 100%;
        font-size: 80px;
        line-height: 70px;
        padding-left: 0;
    }
    .motto_txt {
        display: block;
        width: 792px;
        background: rgba(255, 255, 255, 0.7);
        padding: 40px 91px 38px 61px;
        font-size: 20px;
        line-height: 36px;
        margin-top: 87px;
    }
    .motto_img {
        display: block;
        width: 100%;
        min-width: 1600px;
        height: auto;
    }
}
@media screen and (min-width: 769px) and (max-width: 1600px) {
    .motto_img {
        position: relative;
        display: block;
        width: 100%;
        min-width: 1200px;
        height: 945px;
    }
    .motto_img img {
        display: block;
        width: 1600px;
        height: 945px;
        position: absolute;
        top: 0;
        left: 50%;
        margin-left: -800px;
    }
}


/*-------------------------------------------- */
/* #mv02
---------------------------------------------- */

.mvBox02 {
    position: relative;
    display: block;
    width: 100%;
    height: 667px;
    margin: 0 auto;
    z-index: 2;
}
.mv02_wrap {
    position: absolute;
    display: block;
    width: 375px;
    height: 667px;
    position: absolute;
    top: 0;
    /* left: 50%;
    margin-left: -187.5px; */
    left: 0;
    z-index: 2;
    padding-top: 239px;
}
.mv02_title {
    display: block;
    width: 100%;
    padding-left: 31px;
}
.mv02_title_year {
    display: inline-block;
    font-family: 'HiraginoMincho-W2';
    font-size: 85px;
    line-height: 35px;
    color: #fff;
    padding-right: 42px;
    background: url(/files/user/anniversary_40th/images/page/since02.svg) no-repeat right center;
    background-size: 37px auto;
}
.mv02_title_txt {
    display: block;
    width: 100%;
    font-size: 25px;
    line-height: 28px;
    color: #fff;
    -webkit-font-smoothing: subpixel-antialiased;
    margin-top: 2px;
    padding-left: 11px;
}
.mv02_copy {
    position: relative;
    display: block;
    width: 317px;
    font-size: 15px;
    line-height: 23px;
    color: #fff;
    /* -webkit-font-smoothing: subpixel-antialiased; */
    font-weight: bold;
    padding-left: 42px;
    margin-top: 30px;
}
.mv02_copy small {
    font-size: 10px;
}
.mv02_copy::after {
    content: "";
    display: block;
    width: 1000px;
    height: 2px;
    position: absolute;
    bottom: -12px;
    right: 20px;
    border-top: 1px solid #fff;
}
.mv02_txt {
    display: block;
    width: 100%;
    font-size: 12px;
    line-height: 22px;
    color: #fff;
    margin-top: 25px;
    padding-left: 42px;
}
.mv02_img {
	display: flex;
	justify-content: space-between;
    width: 100%;
    height: 667px;
    overflow: hidden;
}
.mv02_img img {
    display: block;
    width: 100% !important;
    height: 667px !important;
	object-fit: cover;
}
/* . xxxx {
	display: flex;
	justify-content: space-between;
	width: 180px;
	height: 180px;
	overflow: hidden;
}
.xxxx img {
	display: block;
	width: 100% !important;
	height: 180px !important;
	object-fit: cover;
} */

@media screen and (min-width: 769px) {
    .mvBox02 {
        height: 878px;
    }
    .mv02_wrap {
        width: 1200px;
        height: 878px;
        padding-top: 339px;
        left: 50%;
        margin-left: -600px;
    }
    .mv02_title {
        padding-left: 0;
    }
    .mv02_title_year {
        font-size: 170px;
        line-height: 70px;
        color: #fff;
        padding-right: 82px;
        background: url(/files/user/anniversary_40th/images/page/since02.svg) no-repeat right center;
        background-size: 71px auto;
    }
    .mv02_title_txt {
        font-size: 55px;
        line-height: 55px;
        margin-top: 8px;
        padding-left: 30px;
    }
    .mv02_copy {
        position: relative;
        display: block;
        width: 548px;
        font-size: 20px;
        line-height: 30px;
        color: #fff;
        /* -webkit-font-smoothing: subpixel-antialiased; */
        font-weight: bold;
        padding-left: 31px;
        margin-top: 116px;
    }
    .mv02_copy_1986 {
        width: 660px;
    }
    .mv02_copy_2003 {
        width: 620px;
    }
    .mv02_copy_2012 {
        width: 640px;
    }
    .mv02_copy_2014 {
        width: 450px;
    }
    .mv02_copy_2020 {
        width: 620px;
    }
    .mv02_copy.multi_line {
        margin-top: 84px;
    }
    .mv02_copy small {
        font-size: 14px;
    }
    .mv02_copy::after {
        content: "";
        display: block;
        width: 2000px;
        height: 2px;
        position: absolute;
        bottom: -10px;
        right: 0;
        border-top: 1px solid #fff;
    }
    .mv02_txt {
        display: block;
        width: 100%;
        font-size: 16px;
        line-height: 30px;
        color: #fff;
        margin-top: 28px;
        padding-left: 30px;
    }
    .mv02_img {
        display: flex;
        justify-content: space-between;
        width: 100%;
        min-width: 1260px;
        height: 878px;
        overflow: hidden;
    }
    .mv02_img img {
        display: block;
        width: 100% !important;
        height: 878px !important;
        object-fit: cover;
    }
}
/* @media screen and (min-width: 769px) and (max-width: 1600px) {
    .mv02_img {
        position: relative;
        display: flex;
        justify-content: space-between;
        width: 100%;
        min-width: 1200px;
        height: 878px;
    }
    .mv02_img img {
        display: block;
        width: 1600px !important;
        height: 878px !important;
        object-fit: cover;
    }
} */


/*-------------------------------------------- */
/* .timelineNav01
---------------------------------------------- */

.timelineNav01 {
    display: block;
    width: 100%;
    height: 82px;
    background-color: #E9E6E1;
    padding: 0 0 0;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
}
.timelineNav01_wrap {
    position: relative;
    display: block;
    width: 100%;
    height: 82px;
}
.timelineNav01_annivBtn {
    display: block;
    width: 110px;
    height: 30px;
    position: absolute;
    top: 0;
    left: 0;
    padding: 7px 2px 0 10px;
}
.timelineNav01_sc {
    display: block;
    width: 100%;
    height: 52px;
    position: absolute;
    top: 30px;
    left: 0;
    overflow: auto;
    overflow: scroll;
	-ms-overflow-style: none;    /* IE, Edge 対応 */
	scrollbar-width: none;       /* Firefox 対応 */
}
.box-timelineNav01_sc::-webkit-scrollbar {
	display: none;
	-webkit-appearance: none;
}
.timelineNav01_list {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0 63px 0 146px;
    width: 790px;
}
.timelineNav01_listBtn {
    position: relative;
    display: flex;
    justify-content: center;
    width: 83px;
    height: 52px;

}
.timelineNav01_listBtn span {
    display: inline-block;
    font-family: 'HiraginoMincho-W2';
    font-size: 15px;
    line-height: 15px;
    color: #58556F;
    -webkit-font-smoothing: subpixel-antialiased;
    position: absolute;
    top: 14px;
    transition: opacity 0.3s !important;
}
.timelineNav01_listBtn.is_active span {
    font-size: 25px;
    line-height: 25px;
    top: 6px;
}
.timelineNav01_listBtn::before {
    content: "";
    display: block;
    width: 7.5px;
    height: 7.5px;
    border-radius: 30px;
    position: absolute;
    bottom: 9px;
    left: 50%;
    margin-left: -4px;
    background-color: #58556F;
}
.timelineNav01_listBtn::after {
    content: "";
    display: block;
    width: 100%;
    height: 13px;
    position: absolute;
    bottom: 0;
    left: 0;
    border-top: 1px solid #58556F;
}
.timelineNav01_listBtn:nth-child(1):after {
    width: 50%;
    left: 50%;
}
.timelineNav01_listBtn:nth-child(7):after {
    width: 50%;
}

@media screen and (min-width: 769px) {
    .timelineNav01 {
        min-width: 1260px;
    }
    .timelineNav01_wrap {
        width: 1200px;
        margin: 0 auto;
    }
    .timelineNav01_annivBtn {
        display: block;
        width: 210px;
        height: 66px;
        position: absolute;
        top: 7px;
        left: 0;
        padding: 10px 14px 10px 0;
    }
    .timelineNav01_sc {
        width: 1008px;
        height: 82px;
        top: 0;
        left: 222px;
        overflow: none !important;
        pointer-events: inherit !important;
    }
    .timelineNav01_list {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: flex-start;
        padding: 0;
        width: 1008px;
    }
    .timelineNav01_listBtn {
        width: 144px;
        height: 82px;
    }
    .timelineNav01_listBtn span {
        font-size: 24px;
        line-height: 24px;
        top: 23px;
    }
    .timelineNav01_listBtn.is_active span {
        font-size: 36px;
        line-height: 36px;
        top: 11px;
    }
    .timelineNav01_listBtn::before {
        width: 13px;
        height: 13px;
        border-radius: 30px;
        bottom: 13px;
        margin-left: -6.5px;
    }
    .timelineNav01_listBtn::after {
        height: 19.5px;
    }
}
@media (hover: hover) {
    .media_pc .timelineNav01_listBtn:hover span {
        opacity: 0.6;
    }
}
@media (hover: none) {
    .media_pc .timelineNav01_listBtn:active span {
        opacity: 0.6;
    }
}


/*-------------------------------------------- */
/* .history
---------------------------------------------- */

.history {
    position: relative;
    display: block;
    width: 100%;
    z-index: 0;
}
.history_wrap {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    width: 375px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    overflow: hidden;
}
.history_l {
    position: relative;
    display: block;
    width: 66px;
    /* background: url(/files/user/anniversary_40th/images/page/dot_line.svg) repeat-y right 0;
    background-size: 2px 6px; */
}
.history_r {
    display: block;
    width: 309px;
    padding: 39px 22px;
}
.history_bg {
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: auto;
	height: 100%;
	overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    /* background: url(/files/user/anniversary_40th/images/page/bg_wave02_sp.jpg) no-repeat center center;
    background-size: cover; */
}
.history_bg img {
	display: block;
	width: 100% !important;
	height: auto !important;
	object-fit: cover;
}
@media screen and (max-width: 768px) {
    .history_bg {
        background: url(/files/user/anniversary_40th/images/page/bg_wave02_sp.jpg) no-repeat center 0;
        background-size: cover;
    }
}
@media screen and (min-width: 769px) {
    .history_wrap {
        width: 1200px;
    }
    .history_l {
        width: 162px;
    }
    .history_r {
        width: 1038px;
        padding: 74px 0 120px 99px;
    }
    /* .history_bg {
        display: flex;
        justify-content: space-between;
        width: 100%;
        height: auto;
        height: 100%;
        overflow: hidden;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1;
    }
    .history_bg img {
        display: block;
        width: 100% !important;
        height: auto !important;
        object-fit: cover;
    } */
    .history_bg {
        /* display: flex;
        justify-content: space-between;
        width: 100%;
        height: auto;
        height: 100%;
        overflow: hidden;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1; */
        background: url(/files/user/anniversary_40th/images/page/bg_wave02_pc.jpg) no-repeat center 0;
        background-size: cover;
    }
}

/* .timelineNav02
---------------------------------------------- */

.timelineNav02 {
    display: block;
    width: 66px;
    position: relative;
    top: 30px;
    left: 0;
    z-index: 2;
}
.timelineNav02::before {
    content: "";
    display: block;
    width: 66px;
    height: 240px;
    background: url(/files/user/anniversary_40th/images/page/dot_line.svg) repeat-y right 0;
    background-size: 2px 6px;
    position: absolute;
    top: -200px;
    right: 0;
}
.timelineNav02::after {
    content: "";
    display: block;
    width: 66px;
    height: calc(100% + 2000px);
    background: url(/files/user/anniversary_40th/images/page/dot_line.svg) repeat-y right 0;
    background-size: 2px 6px;
    position: absolute;
    bottom: calc((100% + 2000px ) * -1 + 20px);
    right: 0;
}
.timelineNav02_box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 66px;
    height: 30px;
    padding-right: 10px;
}
.timelineNav02_box::before {
    content: "";
    display: block;
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    border-right: 1px solid #58556F;
}
.timelineNav02_box:nth-child(1)::before {
    height: 50%;
    top: auto;
    bottom: 0;
}
.timelineNav02_box:last-child::before {
    height: calc(50% + 10px);
    top: -10px;
}
.timelineNav02_box:not(:first-child):not(:last-child)::before {
    height: calc(100% + 10px);
    top: -10px;
}
.timelineNav02_box span {
    display: inline-block;
    font-family: 'HiraginoMincho-W2';
    font-size: 13px;
    line-height: 13px;
    color: #58556F;
    /* -webkit-font-smoothing: subpixel-antialiased; */
    transition: opacity 0.3s;
    will-change: opacity;
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.timelineNav02_btn {
    height: 40px;
    padding-right: 10px;
}
.timelineNav02_btn span {
    font-size: 20px;
    line-height: 20px;
}
.timelineNav02_btn:after {
    content: "";
    display: block;
    width: 6.5px;
    height: 6.5px;
    border-radius: 30px;
    position: absolute;
    top: 50%;
    margin-top: -3.5px;
    right: -3px;
    z-index: 2;
    background-color: #58556F;
}
* + .timelineNav02_btn {
    margin-top: 8px;
}

@media screen and (min-width: 769px) {

    .timelineNav02 {
        width: 162px;
        height: auto;
        /* top: 126px; */
        top: 68px;
    }
    .timelineNav02_box {
        width: 162px;
        /* height: 60px; */
        height: 52px;
        padding-right: 46px;
    }
    .timelineNav02_box::before {
        content: "";
        display: block;
        width: 2px;
        height: 100%;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1;
        border-right: 1px solid #58556F;
    }
    .timelineNav02_box:nth-child(1)::before {
        height: 50%;
        top: auto;
        bottom: 0;
    }
    .timelineNav02_box:last-child::before {
        height: calc(50% + 30px);
        top: -30px;
    }
    .timelineNav02_box:not(:first-child):not(:last-child)::before {
        height: calc(100% + 30px);
        top: -30px;
    }
    .timelineNav02_box span {
        display: inline-block;
        font-family: 'HiraginoMincho-W2';
        font-size: 22px;
        line-height: 22px;
        color: #58556F;
        /* -webkit-font-smoothing: subpixel-antialiased; */
    }
    .timelineNav02_btn {
        /* height: 80px; */
        height: 70px;
        padding-right: 46px;
    }
    .timelineNav02_btn span {
        font-size: 36px;
        line-height: 36px;
        will-change: opacity;
        transform: translateZ(0);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    .timelineNav02_btn:after {
        content: "";
        display: block;
        width: 13px;
        height: 13px;
        border-radius: 30px;
        position: absolute;
        top: 50%;
        margin-top: -6.5px;
        right: -6.5px;
        z-index: 2;
        background-color: #58556F;
    }
    * + .timelineNav02_btn {
        /* margin-top: 20px; */
        margin-top: 15px;
    }


    .timelineNav02.is_mini {
        width: 162px;
        /* top: 126px; */
        top: 44px;
    }
    .timelineNav02.is_fixed {
        top: 150px !important;
    }
    .timelineNav02.is_mini.is_fixed {
        top: 126px !important;
    }
    .timelineNav02.is_mini .timelineNav02_box {
        width: 162px;
        /* height: 60px; */
        height: 45px;
        padding-right: 46px;
    }
    /* .timelineNav02_box::before {
        content: "";
        display: block;
        width: 2px;
        height: 100%;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1;
        border-right: 1px solid #58556F;
    }
    .timelineNav02_box:nth-child(1)::before {
        height: 50%;
        top: auto;
        bottom: 0;
    }
    .timelineNav02_box:last-child::before {
        height: 50%;
    }
    .timelineNav02_box:not(:first-child):not(:last-child)::before {
        height: calc(100% + 30px);
        top: -30px;
    }
    .timelineNav02_box span {
        display: inline-block;
        font-family: 'HiraginoMincho-W2';
        font-size: 22px;
        line-height: 22px;
        color: #58556F;
        -webkit-font-smoothing: subpixel-antialiased;
    } */
    .timelineNav02.is_mini .timelineNav02_btn {
        /* height: 80px; */
        height: 60px;
        padding-right: 46px;
    }
    .timelineNav02.is_mini .timelineNav02_btn span {
        /* font-size: 36px;
        line-height: 36px; */
        font-size: 30px;
        line-height: 30px;
        will-change: opacity;
        transform: translateZ(0);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    /* .timelineNav02_btn:after {
        content: "";
        display: block;
        width: 13px;
        height: 13px;
        border-radius: 30px;
        position: absolute;
        top: 50%;
        margin-top: -6.5px;
        right: -6.5px;
        z-index: 2;
        background-color: #58556F;
    } */
    .timelineNav02.is_mini * + .timelineNav02_btn {
        /* margin-top: 20px; */
        margin-top: 0;
    }
}

@media (hover: hover) {
	.media_pc .timelineNav02_btn:hover span {
		opacity: 0.6;
	}
}
@media (hover: none) {
	.media_pc .timelineNav02_btn:active span {
		opacity: 0.6;
	}
}


/* .history_event
---------------------------------------------- */

.history_event {
    position: relative;
    display: block;
    width: 100%;
}
.history_event_box {
    position: relative;
    display: block;
    width: 100%;
}
.history_event_box + .history_event_box {
    margin-top: 18px;
}
.history_event_title {
    display: block;
    width: 100%;
}
.history_event_year {
    display: block;
    width: 100%;
    font-family: 'HiraginoMincho-W2';
    font-size: 20px;
    line-height: 20px;
    color: #58556F;
    /* -webkit-font-smoothing: subpixel-antialiased; */
}
.history_event_txt {
    display: block;
    width: 100%;
    font-size: 11px;
    line-height: 16px;
    color: #2E323C;
    margin-top: 6px;
}
.history_eventList {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    margin-top: 8px;
}
.history_eventList_img {
    position: relative;
    display: block;
    width: calc((100% - 5px)/2);
    height: 130px;
    margin-left: 5px;
    margin-top: 5px;
}
.history_eventList_img:nth-child(odd) {
    margin-left: 0 !important;
}
.history_eventList_img:nth-child(1),
.history_eventList_img:nth-child(2) {
    margin-top: 0 !important;
}
.history_eventList_img:not(.is_noitem)::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}
.history_eventList_img img {
    display: block;
    width: 100% !important;
    height: 130px !important;
}

@media screen and (min-width: 769px) {
    .history_event_box + .history_event_box {
        margin-top: 86px;
    }
    .history_event_title {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
    }
    .history_event_year {
        position: relative;
        display: block;
        width: 174px;
        font-size: 40px;
        line-height: 40px;
    }
    .history_event_year:before {
        content: "";
        display: block;
        width: 2px;
        height: 36px;
        position: absolute;
        top: 50%;
        margin-top: -18px;
        right: 0;
        border-right: 1px solid #58556F;
    }
    .history_event_txt {
        width: calc(100% - 174px);
        font-size: 18px;
        line-height: 1.55;
        margin-top: 0;
        padding: 7px 0 0 23px;
    }
    .history_eventList {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
        margin-top: 20px;
    }
    .history_eventList_img {
        position: relative;
        display: block;
        width: calc((100% - 20px)/2);
        height: 460px;
        margin-left: 20px;
        margin-top: 20px;
    }
    .history_eventList_img:nth-child(odd) {
        margin-left: 0 !important;
    }
    .history_eventList_img:nth-child(1),
    .history_eventList_img:nth-child(2) {
        margin-top: 0 !important;
    }
    .history_eventList_img:not(.is_noitem)::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        border: 1px solid #fff;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
    }
    .history_eventList_img img {
        display: block;
        width: 100% !important;
        height: 460px !important;
    }

}


/*-------------------------------------------- */
/* .project_item
---------------------------------------------- */

.projectItem {
    display: block;
    width: 100%;
    background-color: #58556F;
    position: relative;
    z-index: 2;
}
.projectItem_wrap {
    display: block;
    width: 375px;
    margin: 0 auto;
    padding: 31px 10px 34px;
}
.projectItem_title {
    display: block;
    font-size: 24px;
    font-weight: bold;
    line-height: 24px;
    color: #fff;
}
.projectItem_title_sub {
    display: block;
    font-size: 12px;
    font-weight: normal;
    line-height: 14px;
    margin-top: 5px;
}
.projectList {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    margin-top: 15px;
}
.projectList_box {
    display: block;
    width: calc((100% - 21px)/4);
    height: 84px;
    margin-top: 7px;
    margin-left: 7px;
}
.projectList_box:nth-child(1),
.projectList_box:nth-child(2),
.projectList_box:nth-child(3),
.projectList_box:nth-child(4) {
    margin-top: 0 !important;
}
.projectList_box:nth-child(4n+1) {
    margin-left: 0 !important;
}
.projectList_box.is_noitem {
    border: 1px solid transparent;
}

@media screen and (min-width: 769px) {
    .projectItem_wrap {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: flex-start;
        width: 1200px;
        margin: 0 auto;
        padding: 82px 0;
    }
    .projectItem_l {
        display: block;
        width: 260px;
    }
    .projectItem_r {
        display: block;
        width: 940px;
    }
    .projectItem_title {
        font-size: 27px;
        line-height: 27px;
    }
    .projectItem_title_sub {
        font-size: 14px;
        line-height: 14px;
        margin-top: 6px;
    }
    .projectList {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
        margin-top: 0;
    }
    .projectList_box {
        display: block;
        width: calc((100% - 48px)/4);
        height: 223px;
        margin-top: 16px;
        margin-left: 16px;
        transition: opacity 0.2s;
        will-change: opacity;
        transform: translateZ(0);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    .projectList_btn {
        will-change: opacity;
        transform: translateZ(0);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
}
@media (hover: hover) {
    .media_pc .projectList_btn:hover {
        opacity: 0.6 !important;
    }
}
@media (hover: none) {
    .media_pc .projectList_btn:active {
        opacity: 0.6;
    }
}


/*-------------------------------------------- */
/* #modal_item
---------------------------------------------- */

.modalBox {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 13000;
}
.modalBox_wrap {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.modalBox_wrap.is_scroll {
    display: block;
    overflow: auto;
}
.modalSlide_closeBtn {
    display: block;
    width: 45px;
    height: 45px;
    background: url(/files/user/img/common/btn_close01.svg) center center no-repeat;
    background-size: 30px 30px;
    position: absolute;
    top: 14px;
    right: 0;
    z-index: 10;
    text-indent: -9999px;
    filter:
		drop-shadow(0 0 4px rgba(88,85,111,1))
		drop-shadow(0 0 4px rgba(88,85,111,1))
		drop-shadow(0 0 4px rgba(88,85,111,1))
		drop-shadow(0 0 4px rgba(88,85,111,1))
		drop-shadow(0 0 4px rgba(88,85,111,1))
		drop-shadow(0 0 4px rgba(88,85,111,1));
}
.modal_cover {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #58556F;
    opacity: 0.95;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.modalSlideFrame {
    position: relative;
    display: block;
    width: 375px;
    margin: 0 auto;
}

@media screen and (min-width: 769px) {
    .modalSlide_closeBtn {
        display: block;
        width: 90px;
        height: 90px;
        background: url(/files/user/img/common/btn_close01.svg) center center no-repeat;
        background-size: 60px 60px;
        position: absolute;
        top: 0;
        right: -5px;
        z-index: 10;
        filter: none;
    }
    .modalSlideFrame {
        width: 100%;
        max-width: 1200px;
        padding-right: 70px;
    }
}

/* .modalSlide
---------------------------------------------- */

.modalSlide {
    position: relative;
    display: block;
    width: 375px;
    overflow: hidden;
}
.modalSlide_box {
    display: block;
    width: 375px;
    padding: 30px 18px 110px;
}
.modalSlide_project_title {
    display: block;
    width: 100%;
    color: #fff;
}
.modalSlide_project_year {
    position: relative;
    display: inline-block;
    font-family: 'HiraginoMincho-W2';
    font-size: 20px;
    line-height: 20px;
    padding-right: 24px;
}
.modalSlide_project_year::before {
    content: "";
    display: block;
    width: 2px;
    height: 18px;
    position: absolute;
    top: 50%;
    margin-top: -9px;
    right: 0;
    border-right: 1px solid #fff;
}
.modalSlide_project_txt {
    display: block;
    width: 100%;
    font-size: 12px;
    line-height: 1.5;
    margin-top: 2px;
}
.modalSlide_img {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 168px;
    margin-top: 14px;
}
.modalSlide_img::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: 1px solid #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}
.modalSlide_img.noitem::before {
    content: "";
    display: none;
}
.modalSlide_img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}
.modalSlide_img01 {
    width: 254px;
    height: 168px;
}
.modalSlide_img02,
.modalSlide_img03 {
    width: 165px;
    height: 165px;
    margin-top: 12px;
}
.modalSlide_img03 {
    margin-left: 10px;
}
.modalSlide_img_group {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    width: 100%;
}
.modalSlide_item_title {
    display: block;
    width: 100%;
    color: #fff;
    margin-top: 30px;
}
.modalSlide_item_title_main {
    display: block;
    width: 100%;
    font-size: 12px;
    font-weight: bold;
    line-height: 12px;
}
.modalSlide_item_title_sub {
    display: block;
    width: 100%;
    font-size: 10px;
    line-height: 1.4;
    margin-top: 2px;
}
.modalSlide_txt {
    display: block;
    width: 100%;
    margin-top: 9px;
    font-size: 10px;
    line-height: 1.4;
    color: #fff;
    margin-top: 7px;
}

@media print, screen and (min-width: 769px) {
    .modalSlide {
        position: relative;
        display: block;
        width: 100%;
        max-width: 1130px;
        overflow: hidden;
    }
    .modalSlide_box {
        display: flex !important;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: stretch;
        justify-content: flex-start;
        width: 100%;
        max-width: 1130px;
        padding: 38px 0 100px;
    }
    .modalSlide_box_l {
        display: block;
        width: 430px;
        padding-left: 34px;
        padding-top: 16px;
    }
    .modalSlide_box_r {
        display: block;
        /* width: 714px; */
        width: calc(100% - 430px);
        padding-right: 32px;
        padding-top: 12px;
    }
    .modalSlide_project_title {
        display: block;
        width: 100%;
        color: #fff;
    }
    .modalSlide_project_year {
        position: relative;
        display: inline-block;
        font-family: 'HiraginoMincho-W2';
        font-size: 40px;
        line-height: 40px;
        padding-right: 48px;
    }
    .modalSlide_project_year::before {
        content: "";
        display: block;
        width: 2px;
        height: 36px;
        position: absolute;
        top: 50%;
        margin-top: -18px;
        right: 0;
        border-right: 1px solid #fff;
    }
    .modalSlide_project_txt {
        display: block;
        width: 100%;
        font-size: 22px;
        line-height: 1.5;
        margin-top: 16px;
    }
    .modalSlide_img {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 682px;
        height: 336px;
        margin-top: 0;
    }
    .modalSlide_img img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
    }
    .modalSlide_img01 {
        width: 507px;
        height: 336px;
    }
    .modalSlide_img02 {
        width: 330px;
        height: 330px;
        margin-top: 0;
    }
    .modalSlide_img03 {
        margin-left: 3.5%;
    }
    /* 画面幅1200px〜769pxのとき、比率を保ったまま縮小 */
    /* JavaScriptで動的にサイズを調整するため、CSSは基本設定のみ */
    @media screen and (min-width: 769px) and (max-width: 1200px) {
        .modalSlide_img01 {
            max-width: 100%;
            box-sizing: border-box;
        }
        .modalSlide_img02 {
            max-width: 100%;
            box-sizing: border-box;
        }
    }
    .modalSlide_item_title {
        display: block;
        width: 100%;
        color: #fff;
        margin-top: 0;
        padding-top: 4px;
    }
    .modalSlide_item_title_main {
        display: block;
        width: 100%;
        font-size: 19px;
        font-weight: bold;
        line-height: 19px;
    }
    .modalSlide_item_title_sub {
        display: block;
        width: 100%;
        font-size: 14px;
        line-height: 1.4;
        margin-top: 4px;
    }
    .modalSlide_txt {
        display: block;
        width: 100%;
        font-size: 12px;
        line-height: 1.4;
        color: #fff;
        margin-top: 10px;
    }
    
    @media screen and (min-width: 769px) and (max-width: 1030px) {
        .modalSlide_box_l {
            display: block;
            width: 340px;
            padding-left: 34px;
            padding-top: 16px;
        }
        .modalSlide_box_r {
            display: block;
            /* width: 714px; */
            width: calc(100% - 340px);
            padding-right: 32px;
            padding-top: 12px;
        }
        .modalSlide_project_title {
            display: block;
            width: 100%;
            color: #fff;
        }
        .modalSlide_project_year {
            position: relative;
            display: inline-block;
            font-family: 'HiraginoMincho-W2';
            font-size: 32px;
            line-height: 32px;
            padding-right: 32px;
        }
        .modalSlide_project_year::before {
            content: "";
            display: block;
            width: 2px;
            height: 28px;
            position: absolute;
            top: 50%;
            margin-top: -14px;
            right: 0;
            border-right: 1px solid #fff;
        }
        .modalSlide_project_txt {
            display: block;
            width: 100%;
            font-size: 17px;
            line-height: 1.5;
            margin-top: 16px;
        }
        .modalSlide_item_title_main {
            display: block;
            width: 100%;
            font-size: 16px;
            font-weight: bold;
            line-height: 19px;
        }
        .modalSlide_item_title_sub {
            display: block;
            width: 100%;
            font-size: 12px;
            line-height: 1.4;
            margin-top: 4px;
        }
    }
}


/*-------------------------------------------- */
/* .nextBtn,.prevBtn
---------------------------------------------- */

.modalSlide_prevBtn01,
.modalSlide_nextBtn01 {
	display: block;
	width: 42px;
	height: 42px;
	background: url(/files/user/img/common/btn_prev01.svg) 0 0 no-repeat;
	background-size: contain;
	position: absolute;
	/* top: 110px; */
    bottom: 35px;
	/* margin-top: -21px; */
	left: 0;
	z-index: 10;
    transform: translate(0,0,99);
    text-indent: -9999px;
}
.modalSlide_nextBtn01 {
	background: url(/files/user/img/common/btn_next01.svg) 0 0 no-repeat;
	background-size: contain;
	left: auto;
	right: 0;
}

/* PC：.nextBtn,.prevBtn
********************************************** */

@media print, screen and (min-width: 769px) {

	.modalSlide_prevBtn01,
	.modalSlide_nextBtn01 {
		/* display: block; */
		width: 50px;
		height: 50px;
		/* top: 136px; */
        bottom: auto;
        top: 50%;
        margin-top: 100px;
		/* background: url(/files/user/img/common/btn_prev01.png) 0 0 no-repeat;
		background-size: contain;
		position: absolute;
		top: 50%; */
		/* margin-top: -25px; */
		/* left: 0;
		z-index: 10; */
	}
	.modalSlide_nextBtn01 {
		/* background: url(/files/user/img/common/btn_next01.png) 0 0 no-repeat;
		background-size: contain; */
		left: auto;
		right: 0;
	}
}



/*-------------------------------------------- */
/* .slick
---------------------------------------------- */

.slick-track {
    display: flex !important;
}
.slick-list.draggable {
	overflow: visible;
}
.slick-slide {
    /* height: 160px !important; */
}

/* .slick-dots
---------------------------------------------- */

.slick-dots {
	display: flex;
    justify-content: flex-start;
	width: 250px;
    height: 1px;
	background-color: #909090;
	transition: all 0.2s;
	margin: 0 auto 0;
    bottom: 55px !important;
    position: relative;
}
.slick-dots li {
	position: relative;
	display: inline-block;
	height: 1px;
	text-indent: -9999px;
	margin: 0;
	background-color: #fff;
	transition: opacity 0.3s;
	opacity: 0;
}
.slick-dots li.slick-active {
	opacity: 1;
}
.slick-dots li button {
	display: none;
}
@media print, screen and (min-width: 769px) {

	.slick-dots {
        width: 500px;
        bottom: 50px !important;
        left: 34px;
    }
}