.container, p {
	font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    line-height: 1.8;
    color: #333;
}
.container {
    overflow: hidden;
}
p.small, p>.small {
    font-size: 12px;
}
p.big, p>.big {
    font-size: 16px;
}
.wrap {
    width: 92%;
    max-width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}
.container img {
    vertical-align: top;
}
.container a:hover {
    text-decoration: none;
}

.pop_btn {
	cursor: pointer;
}
.bgAll {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background: #000;
	opacity: 0.5;
	width: 100%;
	height: 100%;
	z-index: 10;
}
.popup {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 11;
}
.popup .popupWrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
}
.closeBtn {
    position: absolute;
}
.popup .closeBtn:hover {
	cursor: pointer;
	opacity: 0.8;
}
.anc_target {
    position: absolute;
    top: -50px;
}
.MainTitle img {
    display: block;
}
.SubTitle {
    font-family: "Concert One", sans-serif;
    font-size: 20px;
    position: relative;
    margin-top: 22px;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.SubTitle span {
    display: block;
    padding-right: 20px;
    flex-shrink: 0;
    padding-bottom: 2px;
    line-height: 21px;
}
.SubTitle::after {
    content: '';
    display: inline-block;
    height: 3px;
    background: inherit;
    position: relative;
    right: 0;
    width: 100%;
}
.figcaption {
    font-size: 12px;
    font-weight: 300;
    padding-top: 5px;
    position: absolute;
}
.splide__pagination {
    bottom: 0;
    left: auto;
    right: 0;
    gap: 5px;
    padding: 0;
}
.splide__pagination__page {
    width: 40px;
    height: 5px;
    border-radius: 0;
    background-color: #DEDEDE;
    opacity: 1;
    margin: 0;
}
.splide__pagination__page.is-active {
    transform: none;
    background-color: #0068B7;
}

@media screen and (max-width: 1120px) {
    img {
        max-width: 100%;
        height: auto;
    }
    .wrap {
        width: 92%;
    }
}
@media screen and (max-width: 7680px) {
    .splide__pagination__page {
        width: 25px;
    }
}
@media screen and (max-width: 599px) {
    body.fixed {
        position: fixed!important;
    }
    p.big, p>.big {
        font-size: 14px;
    }
    .splide__pagination li {
        line-height: 0;
    }
    .splide__pagination__page {
        width: 20px;
    }
    .SubTitle {
        font-size: 16px;
        line-height: 1.3;
        margin-top: 10px;
    }
    .SubTitle span {
        width: 100%;
        padding: 0;
        text-align: center;
    }
    .SubTitle::after {
        display: none;
    }
    .figcaption {
        font-size: 10px;
        line-height: 15px;
    }
}
@media screen and (max-width: 375px) {
    .wrap {
        width: 92%;
    }
}

/* fv */
.fv {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    z-index: 0;
}
.fv::before {
    content: '';
    position: absolute;
    z-index: -1;
    background-image: url('/images/kankou/expo2025/fv_bg.svg');
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: center top;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.fv .wrap {
    display: flex;
    justify-content: space-between;
    padding-top: 48px;
    column-gap: 3%;
}
.fv_heading {
    position: relative;
}
.fv_heading img {
    margin-left: -16px;
}
.fv_heading p {
    line-height: 1.37;
}
.fv_heading span {
    display: block;
}
.fv_heading .fv_txt01 {
    font-weight: 700;
    padding-bottom: 10px;
    font-size: 28px;
    line-height: 1.5;
    background-color: #FFFFFF;
}
.fv_heading .fv_txt02 {
    font-size: 58px;
    line-height: 1.4;
    /* font-family: "Mochiy Pop One", sans-serif; */
    background-color: #FFFFFF;
    font-weight: 900;
    letter-spacing: -1px;
}
.fv_illust {
    position: absolute;
    z-index: 4;
    left: 50%;
    transform: translateX(-50%);
}
.fv .splide {
    width: calc(830px + 22%);
    margin-right: -29%;
    padding-bottom: 22px;
}
.fv .splide .splide__track {
    border-radius: 50px 0 0 50px;
    filter: drop-shadow(rgba(0,0,0,0.16) 0 2px 5px);
}
.fv .splide .splide__track img {
    width: 100%;
    height: 548px;
    object-fit: cover;
}
.fv .splide__pagination {
    right: 22%;
    bottom: 0.5em;
}

@media screen and (max-width: 1366px) {
    .fv .splide {
        width: 830px;
        margin-right: -6%;
    }
    .fv .splide__pagination {
        right: 6%;
    }
}
@media screen and (max-width: 1199px) {
    .fv_heading .fv_txt01 {
        font-size: 24px;
    }
    .fv_heading .fv_txt02 {
        font-size: 46px;
    }
}
@media screen and (max-width: 1120px) {
    .fv .splide {
        width: 61%;
        margin-right: -4.5%;
    }
    .fv .splide .splide__track img {
        height: 450px;
    }
    .fv .splide__pagination {
        right: 4.5%;
    }
}
@media screen and (max-width: 900px) {
    .fv_heading .fv_txt01 {
        font-size: 20px;
    }
    .fv_heading .fv_txt02 {
        font-size: 44px;
    }
}
@media screen and (max-width: 768px) {
    .fv .splide .splide__track img {
        height: 360px;
    }
    .fv_heading .fv_txt01 {
        font-size: 18px;
    }
    .fv_heading .fv_txt02 {
        font-size: 44px;
    }
}
@media screen and (max-width: 599px) {
    .fv::before {
        background-image: url('/images/kankou/expo2025/fv_bg_sp.svg');
        background-position: center bottom;
        background-size: 100%;
    }
    .fv .splide {
        width: 100%;
        margin: 0;
    }
    .fv .splide .splide__track {
        border-radius: 0;
        filter: none;
    }
    .fv .splide .splide__track img {
        height: 300px;
        width: 100vw;
        object-fit: cover;
    }
    .fv .splide__pagination {
        bottom: 0.5em;
    }
    .fv .figcaption {
        left: 4%;
    }
    .fv .wrap {
        flex-direction: column;
        padding-top: 13px;
    }
    .fv_heading {
        text-align: center;
    }
    .fv_heading img {
        margin: auto;
    }
    .fv_heading .fv_txt01 {
        font-size: 18px;
        line-height: 21px;
        background: none;
    }
    .fv_heading .fv_txt02 {
        font-size: 46px;
        line-height: 60px;
        background: none;
    }
    .fv_illust {
        position: unset;
        margin: 8px auto;
        transform: none;
    }
}
@media screen and (max-width: 374px) {
    .fv::before {
        background-size: auto;
    }
}


/* intro */
.intro {
    padding: 80px 0;
    position: relative;
}
.intro .MainTitle {
    margin-bottom: 30px;
}
.intro_txt {
    width: 100%;
    max-width: 720px;
    margin: auto;
    text-align: center;
}
.intro_txt p {
    color: #0068B7;
    font-weight: 500;
    line-height: 2;
}

@media screen and (max-width: 599px) {
    .intro {
        padding: 30px 0 0;
    }
}
@media screen and (max-width: 375px) {
    .intro_txt p {
        font-size: 3.58974vw;
    }
}


/* menu */
.navbar {
    height: 92px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
}
.navbar li {
    width: 110px;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 500;
}
.navbar li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.navbar li svg {
    transition: transform .3s ease;
}
.navbar li a:hover {
    opacity: 1;
    color: #0068B7;
}
.navbar li a:hover svg {
    fill: #0068B7;
    transform: translateY(-5px);
}
.navbar li span {
    display: block;
    margin-bottom: 5px;
}
#menu_bar {
    height: 92px;
}
#menu_bar.fixed {
    height: 50px;
    position: fixed;
    z-index: 4;
    top: 0;
    background: #fff;
    width: 100%;
    border-bottom: 1px solid #D1C9AE;
}
#menu_bar.fixed .navbar {
    height: 50px;
    gap: 0;
}
#menu_bar.fixed .navbar li {
    width: auto;
    padding: 0 40px;
    flex-grow: 1;
}
#menu_bar.fixed .navbar li:not(:last-child) {
    border-right: 1px solid #F6F5F0;
}
#menu_bar.fixed .navbar li a {
    flex-direction: row;
    justify-content: center;
    color: #333;
}
#menu_bar.fixed .navbar li a br {
    display: none;
}
#menu_bar.fixed .navbar li span {
    margin-bottom: 0;
    margin-right: 8px;
}
#menu_bar.fixed .navbar li a:hover {
    color: #0068B7;
}
#menu_bar.fixed .navbar li a:hover svg {
    transform: none;
}
#menu_bar.fixed .navbar li svg {vertical-align: bottom;}
#menu_bar.fixed .navbar li:nth-child(1) svg {width: 16px; height: 17px;}
#menu_bar.fixed .navbar li:nth-child(2) svg {width: 20px; height: 15px;}
#menu_bar.fixed .navbar li:nth-child(3) svg {width: 16px; height: 17px;}
#menu_bar.fixed .navbar li:nth-child(4) svg {width: 20px; height: 17px;}
#menu_bar.fixed .navbar li:nth-child(5) svg {width: 13px; height: 17px;}

@media screen and (max-width: 1120px) {
    #menu_bar.fixed .navbar li {
        padding: 0 3vmin;
    }
}
@media screen and (max-width: 900px) {
    .navbar {
        gap: 2vmin;
    }
    #menu_bar.fixed .navbar li {
        padding: 0 1vmin;
    }
}
@media screen and (max-width: 599px) {
    .navbar {
        flex-wrap: wrap;
        height: auto;
        gap: 0;
    }
    .navbar li {
        width: calc(50vw - 1px);
    }
    .navbar li:nth-last-of-type(-n+2) {
        width: calc(50vw - 1px);
    }
    .navbar li a {
        height: 80px;
        justify-content: center
    }
    .navbar li a:hover svg {
        transform: none;
    }
    .navbar li:nth-of-type(-n+2) {
        border-bottom: 1px solid #E5E1D0;
    }
    .navbar li:not(:nth-of-type(2n)) {
        border-right: 1px solid #E5E1D0;
    }
    #menu_bar {
        height: 161px;
        border-top: 1px solid #E5E1D0;
    }
    #menu_bar.fixed {
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;
        border-top: none;
    }
    #menu_bar.fixed .navbar {
        flex-wrap: nowrap;
        justify-content: flex-start
    }
    #menu_bar.fixed .navbar li {
        padding: 0 15px;
    }
    #menu_bar.fixed .navbar li a {
        height: 50px;
    }
    #menu_bar.fixed .navbar li:not(:last-child) {
        border: none;
    }
}
@media screen and (max-width: 374px) {
    .navbar li {
        font-size: 3.2vw;
    }
}


/* info */
.info {
    background: #F8F8F8;
    padding: 65px 0 40px;
}
.info .MainTitle {
    text-align: center;
    margin-bottom: 30px;
}
.info .MainTitle img {
    margin: auto;
}
.info_box {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    row-gap: 30px;
}
.info_box .item {
    background: #fff;
    border-radius: 40px;
    width: calc(50% - 20px);
    box-sizing: border-box;
    padding: 35px 40px 20px;
    position: relative;
}
.info_box .item h3 {
    font-size: 20px;
    line-height: 1.3;
    font-weight: 500;
    display: flex;
    align-items: center;
    column-gap: 10px;
    margin-bottom: 15px;
}
.info_box .item p {
    line-height: 2;
}
.info_box .item .big {
    font-weight: 500;
    line-height: 1.5;
}
.info_box .item .small {
    font-weight: 300;
    line-height: 1.5;
    margin-bottom: 5px;
}
.info_box .item p.small {
    margin: 10px 0;
}
.info_box .item:last-child {
    padding-bottom: 75px;
}
.link_btn {
    width: 100%;
    max-width: 250px;
    margin: 20px auto 0;
    border: 1px solid #0068B7;
    padding:  9px 0;
    border-radius: 10px;
    color: #0068B7;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
.link_out {
    position: relative;
}
.link_out::after {
    content: '';
    display: inline-block;
    background: url('/images/kankou/expo2025/icon_link.svg') no-repeat center /100%;
    width: 0.75em;
    height: 0.75em;
    margin-left: 0.5em;
    vertical-align: -2px;
}
.info_box .link_out {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
}
.info_box dl {
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    font-weight: 300;
}
.info_box dt {
    /* text-align-last: justify; */
    width: 5em;
    font-weight: 500;
}
.info_box dd {
    width: calc(100% - 5em);
}
.info_link_list {
    display: flex;
    margin: 30px auto 0;
    align-items: center;
    justify-content: center;
    gap: 30px;
}
.info_link_list .link_btn {
    margin: 0;
    font-size: 18px;
    border-radius: 28px;
    padding: 10px 0;
    max-width: 334px;
    
}
@media screen and (min-width: 600px) and (max-width: 760px) {
    .info_link_list .link_btn {
        font-size: 2vw;
        width: 50%;
    }
}
.info_link_list .link_btn.link_out.link_color::after {
    width: 16px;
    height: 16px;
}
.info_link_list .link_btn:hover {
    opacity: 1;
    color: #0068B7;
    border-color: #0068B7;
    background: #fff;
}
.info_link_list .link_btn:hover:after {
    background-image: url('/images/kankou/expo2025/icon_link.svg');
}
.link_color {
    background: #0068B7;
    color: #fff;
}
.link_out.link_color::after {
    background-image: url('/images/kankou/expo2025/icon_link_w.svg');
}
.sns_list {
    background: #fff;
    border-radius: 28px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 10px;
    box-sizing: border-box;
}
.sns_list::before {
    content: '';
    position: absolute;
    background: url('/images/kankou/expo2025/sns_dec.svg') no-repeat center top / auto;
    width: 34px;
    height: 27px;
    top: -16px;
    right: -12px;
}
.sns_list .ttl {
    border-right: 1px solid #D1C9AE;
    padding: 0 20px;
    margin: 0;
}
.sns_list ul {
    display: flex;
    padding: 0 20px;
    column-gap: 15px;
}
.sns_list img {
    display: block;
}
@media screen and (max-width: 1120px) {
    .info_box .item {
        padding: 30px;
    }
}
@media screen and (max-width: 768px) {
    .info_box {
        row-gap: 20px;
    }
    .info_box .item {
        width: calc(50% - 10px);
    }
}
@media screen and (max-width: 599px) {
    .info {
        padding: 45px 0 40px;
    }
    .info .MainTitle {
        margin-bottom: 23px;
    }
    .info_box {
        flex-direction: column;
        row-gap: 20px;
    }
    .info_box .item {
        width: 100%;
    }
    .info_box .item:last-child {
        padding-bottom: 30px;
    }
    .info_box .item h3 {
        font-size: 18px;
        line-height: 1.2;
        justify-content: center;
    }
    .info_box .item p {
        line-height: 1.6;
    }
    .info_box .item p:last-child {
        margin-bottom: 0;
    }
    .info_box .link_out {
        position: unset;
        transform: none;
    }
    .info_link_list {
        flex-direction: column;
    }
    .info_link_list .link_btn {
        font-size: 16px;
        padding: 12px 0;
        max-width: 300px;
    }
}


/* about */
.aboutEXPO {
    padding: 80px 0;
	background: -moz-linear-gradient(135deg, #0068B7, #6CAFE2);
	background: -webkit-linear-gradient(135deg, #0068B7, #6CAFE2);
    background: linear-gradient(135deg,  #0068B7,#6CAFE2);
    position: relative;
    z-index: 0;
}
.aboutEXPO::before {
    content: '';
    position: absolute;
    background-image: url('/images/kankou/expo2025/about_bg.svg');
    background-repeat: no-repeat;
    background-position: right top;
    background-size: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
}
.aboutEXPO p {
    color: #FFFFFF;
}
.aboutEXPO .wrap {
    display: flex;
    justify-content: space-between;
}
.aboutEXPO .TitleArea {
    margin-top: -46px;
    margin-bottom: 40px;
}
.aboutEXPO .SubTitle {
    color: #6CAFE2;
}
.aboutEXPO .SubTitle::after {
    background: #6CAFE2;
}
.aboutEXPO .TxtArea {
    width: 50%;
    max-width: 600px;
}
.aboutEXPO .TxtArea p {
    line-height: 2;
    font-weight: 500;
}
.aboutEXPO .ImgArea {
    width: 45%;
    max-width: 540px;
    position: relative;
}
.aboutEXPO .ImgArea img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 50px;
}
.aboutEXPO .figcaption {
    right: 0;
}
@media screen and (max-width: 1120px) {
    .favorite .favorite_list .item .txt {
        padding: 3%;
    }
}
@media screen and (max-width: 599px) {
    .aboutEXPO {
        padding: 30px 0 40px;
    }
    .aboutEXPO::before {
        background-image: url('/images/kankou/expo2025/about_bg_sp.svg');
        background-size: 100%;
        background-position: right bottom;
    }
    .aboutEXPO .wrap {
        flex-direction: column;
    }
    .aboutEXPO .TxtArea,.aboutEXPO .ImgArea {
        width: 100%;
        max-width: 100%;
    }
    .aboutEXPO .TitleArea {
        margin-top: 0;
        margin-bottom: 30px;
    }
    .aboutEXPO .MainTitle img {
        margin: auto;
    }
    .aboutEXPO .ImgArea {
        margin-bottom: 35px;
    }
    .aboutEXPO .ImgArea img {
        border-radius: 30px;
    }
}


/* イベント event */
.event {
    background: #EAEAEA;
    padding: 60px 0;
}
.event .MainTitle {
    margin-bottom: 20px;
}
.event_post {
    position: relative;
    padding: 20px 0 0;
    width: 250px;
    font-weight: 500;
}
.event_post .event_tag {
    color: #fff;
    border: 1px solid #fff;
    border-radius: 20px;
    background: #E60012;
    padding: 10px 10px;
    position: absolute;
    z-index: 2;
    top: 0;
    left: -6px;
}
.event_post .event_tag::before {
    content: '';
    position: absolute;
    background: url(/images/kankou/expo2025/event_tag_bubble.svg) no-repeat bottom center / auto;
    width: 8px;
    height: 8px;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
}
.event_post .event_tag img {
    display: block;
}
.event_post .event_img img {
    border-radius: 40px;
    width: 250px;
    height: 250px;
    object-fit: cover;
    object-position: center;
}
.event_post p {
    color: #0068B7;
}
.event_post .event_ttl {
    font-size: 16px;
    line-height: 1.5;
    margin-top: 10px;
    margin-bottom: 10px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}
.event .splide__track {
    padding-bottom: 60px;
    padding-right: 6px !important;
    padding-left: 6px !important;
}
.event .splide__list .splide__slide {
    margin-right: 60px;
}
.event .splide__arrows {
    position: absolute;
    bottom: 0;
    width: 140px;
    left: 50%;
    transform: translateX(-50%);
    height: 30px;
}
.event .splide__arrow {
    background: none;
    opacity: 1;
    width: 20px;
    height: 20px;
}
.event .splide__arrow:disabled {
    opacity: 0.5;
}
.event .splide .splide__pagination {
    counter-reset: pagination-num;
    font-size: 18px;
    font-weight: 500;
    color: #0068B7;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 5em;
    display: flex !important;
}
.event .splide .splide__pagination__page:before {
    counter-increment: pagination-num;
    content: counter( pagination-num );
}
.event .wrap {
    position: relative;
    z-index: 0;
}
.event .event_illust {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}
@media screen and (max-width: 1024px) {
    .event .splide__list .splide__slide {
        margin-right: 40px;
    }
}
@media screen and (max-width: 599px) {
    .event {
        padding: 40px 0;
    }
    .event_post {
        width: 200px;
    }
    .event_post .event_img img {
        width: 200px;
        height: 200px;
    }
    .event_post .event_ttl {
        font-size: 14px;
    }
    .event_post p.small {
        text-align: center;
        line-height: 1.3;
    }
    .event .splide__list .splide__slide {
        margin-right: 26px;
    }
    .event .splide__track {
        padding-bottom: 50px;
        margin-left: -4vw;
        padding-left: calc(4vw + 6px) !important;
        padding-right: calc(4vw + 6px) !important;
        width: 100vw;
        box-sizing: border-box;
    }
    .event .splide__arrows {
        height: 26px;
    }
    .event .splide__arrow {
        width: 26px;
        height: 26px;
    }
    .event .splide .splide__pagination {
        font-size: 16px;
    }
}


/* 見どころポイント point */
.point {
    position: relative;
    padding: 50px 0 90px;
    z-index: 0;
}
.point .TitleArea {
    margin-bottom: 50px;
}
.point .SubTitle {
    color: #E60012;
}
.point .SubTitle::after {
    background: #E60012;
}
.point .point_list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 48px 80px;
}
.point .point_list .item {
    width: calc(50% - 40px);
}
.point .point_list .item .img {
    margin-bottom: 40px;
    position: relative;
}
.point .point_list .item .img img {
    border-radius: 50px;
    filter: drop-shadow(rgba(0,0,0,0.16) 0 2px 5px);
}
.point .point_list .item .img .figcaption {
    right: 0;
}
.point .point_list .item .txt p {
    line-height: 2;
    font-weight: 500;
}
.point .point_list .item .item_ttl {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    column-gap: 10px;
}
.point .point_list .item .item_ttl p {
    font-weight: 700;
    font-size: 26px;
    line-height: 1.5;
    color: #D60112;
}
.point .point_list .item.item04 .item_ttl p span {
    font-size: 24px;
}
.point::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 9.6vw 0 0 49.5vw;
    border-color: transparent transparent transparent #f2f9ff;
}

@media screen and (max-width: 1120px) {
    .point .point_list .item .item_ttl p {
        font-size: 23px;
    }
}
@media screen and (max-width: 768px) {
    .point .point_list {
        gap: 30px 40px;
    }
    .point .point_list .item {
        width: calc(50% - 20px);
    }
}
@media screen and (max-width: 599px) {
    .point {
        padding: 40px 0 20px;
    }
    .point .TitleArea {
        margin-bottom: 30px;
    }
    .point .MainTitle img {
        margin: auto;
    }
    .point .point_list {
        flex-direction: column;
        row-gap: 0;
    }
    .point .point_list .item {
        width: 100%;
        padding: 30px 0;
        border-bottom: 2px solid #F2F9FF;
    }
    .point .point_list .item:first-child {
        padding-top: 0;
    }
    .point .point_list .item:last-child {
        padding-bottom: 0;
        border-bottom: none;
    }
    .point .point_list .item .img {
        margin-bottom: 30px;
    }
    .point .point_list .item.item02 .img {
        margin-bottom: 15px;
    }
    .point .point_list .item .img img {
        border-radius: 30px;
        width: 100%;
    }
    .point .point_list .item .img .figcaption {
        font-size: 10px;
        min-height: 0;
    }
    .point .point_list .item .item_ttl {
        align-items: flex-start;
    }
    .point .point_list .item .item_ttl p {
        font-size: 22px;
    }
    .point .point_list .item.item04 .item_ttl p span {
        font-size: 17px;
    }
    .point::after {
        border-width: 25vw 0 0 49.5vw;
    }
}

/* 推しパビリオン */
.favorite {
    position: relative;
    background-color: #F2F9FF;
    z-index: 0;
    padding: 40px 0 100px;
}
.favorite::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 49.5vw 9.6vw 0;
    border-color: transparent #ffffff transparent transparent;
}
.favorite::after {
    content: '';
    position: absolute;
    background-image: url('/images/kankou/expo2025/favorite_bg.svg');
    background-repeat: no-repeat;
    background-size: auto;
    background-position: top center;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.favorite .TitleArea {
    margin-bottom: 40px;
}
.favorite .SubTitle {
    color: #6CAFE2;
}
.favorite .SubTitle::after {
    background: #6CAFE2;
}
.favorite .favorite_list {
    display: flex;
    flex-direction: column;
    row-gap: 60px;
}
.favorite .favorite_list .item {
    display: flex;
    column-gap: 20px;
    justify-content: space-between;
}
.favorite .favorite_list .item:nth-child(even) {
    flex-direction: row-reverse;
}
.favorite .favorite_list .item .splide {
    max-width: 520px;
    width: 44%;
    padding-bottom: 15px;
}
.favorite .favorite_list .item .splide__track {
    border-radius: 50px;
    filter: drop-shadow(rgba(0,0,0,0.16) 0 3px 5px);
}
.favorite .favorite_list .item .splide__track img {
    height: 300px;
    object-fit: cover;
}
.favorite .favorite_list .item .txt {
    max-width: 660px;
    width: 55%;
    background: #FFFFFF;
    border-radius: 0 50px 50px 50px;
    filter: drop-shadow(rgba(0,0,0,0.16) 0 3px 5px);
    padding: 38px 40px;
    box-sizing: border-box;
    height: 300px;
}
.favorite .favorite_list .item:nth-child(even) .txt {
    border-radius: 50px 0 50px 50px;
}
.favorite .favorite_list .item .txt .item_ttl {
    margin-bottom: 20px;
}
.favorite .favorite_list .item .txt .item_ttl p {
    display: inline-flex;
    align-items: center;
    background-color: #0068B7;
    padding: 0 10px;
    color: #FFFFFF;
    column-gap: 5px;
    border-radius: 5px;
    margin-bottom: 10px;
    line-height: 25px;
    font-weight: 500;
}
.favorite .favorite_list .item .txt .item_ttl h3 {
    color: #0068B7;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.4;
}
.favorite .favorite_list .item .txt p {
    line-height: 2;
    font-weight: 500;
}
@media screen and (max-width: 1120px) {
    .favorite .favorite_list .item .txt {
        padding: 3%;
        height: auto;
    }
    .favorite .favorite_list .item .txt .item_ttl {
        margin-bottom: 10px;
    }
    .favorite .favorite_list .item .txt .item_ttl h3 {
        font-size: 21px;
    }
}
@media screen and (max-width: 599px) {
    .favorite {
        padding: 80px 0 60px;
    }
    .favorite::before {
        border-width: 0 49.5vw 25vw 0;
    }
    .favorite::after {
        background-image: url('/images/kankou/expo2025/favorite_bg_sp.svg');
        margin-top: -6vw;
    }
    .favorite .TitleArea {
        margin-bottom: 18px;
    }
    .favorite .favorite_list {
        flex-direction: column;
        row-gap: 20px;
    }
    .favorite .favorite_list .item {
        flex-direction: column;
        background: #FFFFFF;
        border-radius: 45px;
        padding: 15px 15px 30px;
        filter: drop-shadow(rgba(0,0,0,0.16) 0 3px 5px);
    }
    .favorite .favorite_list .item:nth-child(even) {
        flex-direction: column;
    }
    .favorite .favorite_list .item .splide {
        width: 100%;
        margin-bottom: 10px;
    }
    .favorite .favorite_list .item.item02 .splide {
        margin-bottom: 15px;
    }
    .favorite .favorite_list .item .splide__track {
        border-radius: 30px;
        filter: none;
    }
    .favorite .favorite_list .item .splide__track img {
        height: unset;
    }
    .favorite .favorite_list .item .txt {
        width: 100%;
        padding: 0;
        border-radius: 0;
        background: none;
        filter: none;
    }
    .favorite .favorite_list .item .txt .item_ttl p {
        font-size: 12px;
        line-height: 23px;
    }
    .favorite .favorite_list .item .txt .item_ttl h3 {
        font-size: 22px;
    }
    .favorite .favorite_list .item .txt p {
        line-height: 24px;
    }
}


/* おすすめの旅行プラン plan */
.plan {
    background-color: #F6F5F0;
    height: 100%;
    overflow: hidden;
    padding: 60px 0;
    position: relative;
}
.plan .TitleArea {
    margin-bottom: 20px;
}
.plan .TitleArea .Description {
    font-size: 13px;
    margin-top: 15px;
    font-weight: 300;
}
.plan .ranking-box-intermediate .text-link {
    text-decoration: underline;
    font-weight: 500;
}
.plan_recommend-list {
    display: flex;
    flex-wrap: wrap;
    margin: -10px;
}
.plan_recommend-item {
    background: #fff;
    padding: 30px 20px 20px;
    width: calc(50% - 20px);
    margin: 10px;
    border: 1px solid #D1C9AE;
    display: block;
    position: relative;
    box-sizing: border-box;
}
.plan_recommend-head {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 500;
}
.plan_recommend-row {
    display: flex;
}
.plan_recommend-body {
    flex: 2.56;
}
.plan_recommend-info_label {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    background: #E8A2A2;
    line-height: 1;
    padding: 5px 8px;
    display: inline-flex;
    align-items: center;
    color: #fff;
    font-weight: 500;
    font-size: 11px;
    white-space: nowrap;
}
.plan_recommend-info_label:before {
    content: "";
    display: block;
    position: absolute;
    width: 14px;
    height: 100%;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    transform: translateX(-99.5%);
    background: linear-gradient(60deg, transparent 50%, #e8a2a2 52%);
}
.plan_recommend-info_label.label_new {
    right: 50px;
    padding: 5px 20px 5px 8px;
    background: #D1C9AE;
}
.plan_recommend-info_label.label_new:before {
    background: linear-gradient(60deg, transparent 50%, #D1C9AE 52%);
}
.plan_recommend-info_row {
    margin: 10px 0 10px 0;
}
.plan_recommend-info_row img {
    margin-right: 8px;
}
.plan_recommend-info_area {
    margin: 5px 0px;
    line-height: 1.4;
    font-weight: 500;
    display: flex;
    align-items: center;
    font-size: 13px;
    color: #E8A2A2;
}
.plan_recommend-info_budget {
    margin: 5px 0px;
    line-height: 1.4;
    font-weight: 500;
    display: flex;
    align-items: center;
    font-size: 13px;
}
.plan_recommend-info-txt {
    font-size: 13px;
    line-height: 1.4;
    font-weight: 300;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.plan_recommend-planner {
    display: flex;
    padding: 0;
    box-sizing: border-box;
    margin-top: 10px;
}
.plan_recommend-planner img {
    margin-right: 10px;
    width: 30px;
    height: 30px;
}
.plan_recommend-planner_name {
    font-weight: 500;
    font-size: 13px;
    line-height: 1.4;
}
.plan_recommend-planner_name small {
    font-size: 11px;
    display: block;
}
.plan_recommend-img {
    margin-left: 15px;
}
.plan_recommend-schedule {
    margin-top: 15px;
}
.plan_recommend-schedule_head {
    position: relative;
    margin-bottom: 5px;
}
.plan_recommend-schedule_head img {
    width: 75px;
}
.plan_recommend-schedule_head:after {
    content: "";
    display: block;
    position: absolute;
    height: 0;
    width: calc((100% - 85px)* 2);
    background: #E8A2A2;
    border-top: 4px dashed #fff;
    transform: scale(0.5);
    transform-origin: right;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
.plan_recommend-schedule_destination {
    display: flex;
    align-items: center;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 8px;
    font-size: 15px;
}
.plan_recommend-schedule_destination:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background: #000;
    transform: rotate(45deg);
    margin-right: 5px;
}
.plan_recommend-schedule_destination small {
    font-weight: 400;
    align-self: flex-end;
    margin-left: 3px;
    font-size: 13px;
}
.plan_recommend-schedule_street {
    display: flex;
    margin: -5px;
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    width: calc(100% + 5px);
}
.plan_recommend-schedule_street-item {
    margin: 5px;
    width: 33.333%;
    padding-right: 35px;
    position: relative;
    display: flex;
    align-items: flex-start;
    box-sizing: border-box;
    min-width: 234px;
}
.plan_recommend-schedule_street-item:not(:last-child):after {
    content: "";
    display: block;
    background: url('/images/plan/ranking/icon_arrow.svg') no-repeat center center / 100% auto;
    width: 28px;
    height: 11px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}
.plan_recommend-schedule_street-item__body {
    margin-left: 10px;
}
.plan_recommend-schedule_street-item__label {
    background: #000;
    color: #fff;
    line-height: 1;
    padding: 2px 10px 3px;
    border-radius: 35px;
    font-size: 11px;
    font-weight: 500;
    margin-bottom: 6px;
    display: inline-block;
    transform: translateY(-2px);
}
.plan_recommend-schedule_street-item__shop {
    font-weight: 500;
    display: block;
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: 0.3px;
}
.plan_recommend-link {
    margin: 40px auto 0;
    width: 100%;
}
.plan_recommend-link img {
    margin-right: 10px;
}
.plan_recommend-link a {
    width: 380px;
    background: #0068B7;
    padding: 15px 0;
    border-radius: 10px;
    font-size: 16px;
    color: #fff;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
}
.plan_recommend .ContentsArea {
    position: relative;
}
.plan_recommend .ContentsArea::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -30px;
    left: 0;
    width: 100%;
    height: 100px;
    background: #F6F5F0;
    opacity: 1;
    visibility: visible;
    transition: 0.3s;
}
.plan_recommend .ContentsArea.open {
    position: relative;
    margin-bottom: 0px;
}
.plan_recommend .ContentsArea.open::after {
    display: none;
}
.ContentsAreaMore {
    width: 100%;
    max-width: 300px;
    display: block;
    font-weight: 500;
    color: #333;
    font-size: 14px;
    text-align: center;
    padding: 10px 0;
    border: 1px solid #000;
    border-radius: 23px;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translate(-50%,0);
    -webkit-transform: translate(-50%,0);
    -ms-transform: translate(-50%,0);
    z-index: 1;
    background-color: #fff;
    cursor: pointer;
}
.ContentsAreaMore:hover {
    opacity: .7;
}
.ContentsAreaMore span {
    font-size: 12px;
}
@media screen and (max-width: 599px) {
    .plan {
        padding: 40px 0;
    }
    .plan_recommend-list {
        flex-direction: column;
        margin: 0;
        row-gap: 10px;
    }
    .plan_recommend-item {
        width: 100%;
        margin: 0;
    }
    .plan_recommend-ttl {
        font-size: 14px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }
    .plan_recommend-img {
        width: 130px;
        margin-left: 10px;
    }
    .plan_recommend-info_area, .plan_recommend-info_budget {
        font-size: 11px;
    }
    .plan_recommend-planner_name {
        font-size: 12px;
        line-height: 1.1;
    }
    .plan_recommend-link {
        margin-top: 20px;
        width: 100%;
    }
    .plan_recommend-link a {
        font-size: 14px;
        width: 100%;
    }
    .plan_recommend .ContentsArea::after {
        left: -4%;
        width: 100vw;
    }
}

/* 記事 共通 */
.article_block {
    position: relative;
    padding-top: 100px;
    z-index: 1;
}
.article_block::before {
    content: '';
    width: calc(50vw + 200px);
    height: 800px;
    position: absolute;
    top: 180px;
    opacity: 0.1;
    z-index: -1;
}
.article_block.no_top {
    min-height: 800px;
}
.article_block.no_top .wrap {
    padding-top: 60px;
}
.article_block.no_top::before {
    content: '';
    top: 100px;
}
.article_block.no_top .MainTitle {
    margin-bottom: 20px;
}
.topArea {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
}
.topArea.ttlRight {
    flex-direction: row-reverse
} 
.topArea .MainTitle {
    margin: 0 60px;
}
.topArea .main_article {
    width: 72%;
    max-width: 860px;
}
.topArea .main_article-img {
    margin-bottom: 30px;
}
.topArea .main_article-img img {
    display: block;
    width: 100%;
}
.topArea .main_article-img a {
    display: flex;
    align-items: flex-end;
}
.topArea.ttlLeft .main_article-img a {
    flex-direction: row-reverse;
}
.topArea .main_article-txt {
    font-size: 16px;
    font-weight: 500;
    line-height: 2;
}
.main_article-readmore {
    /* font-family: "Mochiy Pop One", sans-serif; */
    font-weight: 500;
    padding: 20px 21px 40px;
    position: relative;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 8px;
    color: #fff;
    display: flex;
    flex-direction: row;
    align-items: center;
}
.main_article-readmore::before {
    content: "";
    display: block;
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 0 60px;
}
.main_article-readmore::after {
    content: '';
    position: absolute;
    bottom: 20px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent #fff;
}
.topArea.ttlLeft .main_article-readmore::before {
    transform: scaleX(-1);
}
.prArea {
    display: flex;
    justify-content: space-between;
    margin: 20px 0 30px;
}
.pr_article-img {
    max-width: 590px;
    width: 50%;
}
.pr_article-img img {
    width: 100%;
    height: auto;
    box-shadow: 0 0 20px rgba(0,0,0,0.2);
    border-radius: 10px;
}
.main_article-body {
    max-width: 570px;
    width: 47.5%;
}
.pr_article-ttl {
    margin-bottom: 20px;
}
.pr_article-name {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 15px;
    padding-left: 40px;
    position: relative;
    line-height: 1.5;
}
.pr_article-name::before {
    content: 'PR';
    font-size: 12px;
    background: #000;
    color: #fff;
    padding: 3px 7px;
    border-radius: 5px;
    position: absolute;
    left: 0;
    top: 3px;
    line-height: 1.4;
}
.pr_article-intro {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 300;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.pr_article-info p {
    font-size: 13px;
    line-height: 1.5;
    font-weight: 300;
    margin-bottom: 15px;
    position: relative;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    padding-left: 30px;
}
.pr_article-info p img {
    display: inline-block;
    margin-right: 5px;
}
.pr_article-info p::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 15px;
    height: 100%;
    background-repeat: no-repeat;
    background-size: 100% auto;
}
.pr_article-info p.pr_article-add::before {background-image: url(/images/kankou/expo2025/icon_article_add.svg);}
.pr_article-info p.pr_article-time::before {background-image: url(/images/kankou/expo2025/icon_article_calendar.svg);}
.pr_article-info p.pr_article-holiday::before {background-image: url(/images/kankou/expo2025/icon_article_rest.svg);}
.pr_article-info p.pr_article-access::before {background-image: url(/images/kankou/expo2025/icon_article_walk.svg);}
.pr_article-info p.pr_article-bus::before {background-image: url(/images/kankou/expo2025/icon_article_bus.svg);}
.pr_article-link {
    display: flex;
    justify-content: flex-end;
    margin-top: 30px;
    column-gap: 4.35%;
}
.pr_article-btn {
    background: #fff;
    width: 31%;
    max-width: 173px;
    border: 1px solid #000;
    border-radius: 10px;
    padding: 8px 0;
    box-sizing: border-box;
    text-align: center;
    font-weight: 500;
    position: relative;
}
.pr_article-btn::after {
    content: '▸';
    display: inline-block;
    position: absolute;
}
.pr_article-btn:last-of-type {
    background: #E8A2A2;
    color: #fff;
}
.article_list {
    display: flex;
    flex-flow: wrap;
    gap: 20px;
}
.article_list img {
    display: block;
}
.article_list-item {
    background: #fff;
    border: 1px solid #999;
    border-radius: 10px;
    overflow: hidden;
    width: calc(25% - 15px);
    max-width: 285px;
    box-sizing: border-box;
    position: relative;
}
.article_list-item a {
    display: block;
}
.article_list-body {
    padding: 8px 10px;
}
.article_list-tag {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 2px 10px;
    background: #F6F5F0;
    border: 1px solid #D1C9AE;
    z-index: 2;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
}
.article_list-location {
    display: inline-flex;
    align-items: center;
    background: #F2F2F2;
    font-size: 10px;
    line-height: 1.4;
    column-gap: 5px;
    padding: 0 10px;
    font-weight: 500;
    color: #999;
    margin-bottom: 5px;
}
.article_list-location_spot {
    font-size: 11px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    max-width: 151px;
}
.article_list-location_dist {
    font-size: 16px;
    color: #AF9D63;
}
.article_list-name {
    font-weight: 500;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 8px;
}
.article_list-add {
    width: 84%;
    font-size: 12px;
    font-weight: 300;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.article_list-read {
    position: absolute;
    bottom: 10px;
    right: 10px;
}
.article_list-bottom {
    width: 100%;
    padding: 40px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 20px;
}
.article_list-bottom a {
    height: 60px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.article_list-more {
    width: 380px;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
}
.article_list-more img {
    height: auto;
    margin-right: 10px;
}
.article_list-map {
    flex-direction: column;
    width: 100px;
    font-size: 13px;
    font-weight: 500;
    color: #fff;
}
.article_related {
    margin-top: 40px;
}
.article_related .article_related-wrap {
    display: flex;
    flex-wrap: wrap;
    margin-top: 25px;
    max-height: 500px;
    overflow: hidden;
    transition: max-height 0.3s linear;
    position: relative;
    gap: 20px;
}
#gourmet_article_related .article_related-wrap.open,
#kankou_article_related .article_related-wrap.open,
#yado_article_related .article_related-wrap.open {
    max-height: unset;
}
.article_related .article_related-wrap::after {
    content: "";
    display: block;
    width: 100%;
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    height: 150px;
    background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.6) 20%, rgba(255, 255, 255, 0.8) 55%, #fff 90%);
}
.article_related .moreBtn {
    display: block;
    width: 100%;
    max-width: 300px;
    font-weight: 500;
    color: #333;
    font-size: 14px;
    text-align: center;
    background: #FFF;
    border: 1px solid #000;
    border-radius: 23px;
    padding: 10px 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    box-sizing: border-box;
    z-index: 1;
    cursor: pointer;
}
.article_related .article_related-wrap.open::after {
    display: none;
} 
.article_related-wrap.open .moreBtn {
    display: none;
}
.article_related-item {
    width: calc(25% - 15px);
    max-width: 285px;
}
.article_related-ttl {
    font-size: 15px;
    line-height: 1.5;
    font-weight: 500;
    margin-top: 10px;
}
.article_related-date {
    font-size: 12px;
    font-weight: 300;
    text-align: right;
    color: #333;
}
@media screen and (max-width: 1120px) {
    .topArea .MainTitle {
        margin: 0;
    }
}
@media screen and (max-width: 900px) {
    .topArea .MainTitle {
        width: 18%;
    }
    .topArea .main_article {
        width: 70%;
    }
    .article_list-location {
        padding: 0 5px;
    }
    .article_list-location_spot {
        max-width: 50%;
    }
    .article_list-location_dist {
        font-size: 13px;
    }
}
@media screen and (max-width: 599px) {
    .article_block {
        padding-top: 0;
        margin-top: 80px;
    }
    .article_block::after {
        content: '';
        position: absolute;
        left: 3.9vw;
        background-repeat: no-repeat;
        background-size: 100%;
        z-index: 1;
    }
    .article_block.no_top {
        min-height: unset;
    }
    .article_block.no_top .wrap {
        padding-top: 0;
    }
    .article_block.no_top::before {
        min-height: 728px;
    }
    .article_block.no_top .MainTitle {
        text-align: center;
        padding-top: 80px;
    }
    .topArea {
        flex-direction: column;
        position: relative;
        z-index: 0;
    }
    .topArea .MainTitle {
        width: 100%;
        max-width: 92%;
        margin: 0 auto;
        padding-top: 90px;
    }
    .topArea .MainTitle img {
        width: 100%;
    }
    .topArea .main_article {
        width: 100%;
        padding: 30px 0 40px;
    }
    .topArea .main_article-img {
        margin-bottom: 20px;
    }
    .topArea .main_article-img a {
        flex-direction: column;
    }
    .main_article-readmore {
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        font-size: 14px;
        letter-spacing: 0;
        padding: 9px 34px 9px 24px;
        max-height: 30px;
    }
    .main_article-readmore::before {
        border-width: 0 12px 30px 0;
        top: 0;
        left: -12px;
    }
    .main_article-readmore::after {
        border-width: 5px 0 5px 6px;
        bottom: 10px;
        right: 12px;
    }
    .topArea .main_article-txt {
        font-size: 14px;
        line-height: 1.6;
    }
    .main_article-bottom {
        position: absolute;
        bottom: -25px;
        right: 15px;
        font-size: 16px;
        font-family: "Kaisei Opti", serif;
        display: flex;
        align-items: center;
        opacity: 0.5;
    }
    .main_article-bottom span {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 50px;
        height: 50px;
        border: 1px solid;
        border-radius: 50%;
        margin-left: 10px;
    }
    .main_article-bottom img {
        display: block;
    }
    .prArea {
        flex-direction: column;
        margin: 40px 0;
    }
    .article_block.no_top .prArea {
        margin-top: 20px;
    }
    .pr_article-img {
        width: 100%;
        margin-bottom: 15px;
    }
    .main_article-body {
        width: 100%;
    }
    .pr_article-intro {
        font-size: 14px;
        margin-bottom: 15px;
        -webkit-line-clamp: 3;
    }
    .pr_article-info p {
        font-size: 12px;
    }
    .pr_article-link {
        margin-top: 15px;
    }
    .pr_article-btn {
        width: 32%;
        padding: 12px 6px 12px 0;
    }
    .article_list {
        flex-direction: column;
        gap: 15;
    }
    .article_list-item {
        background: none;
        max-width: 100%;
        width: 100%;
        border: 0;
        border-bottom: 1px solid #CCC;
        border-radius: 0;
        padding-bottom: 15px;
        margin-bottom: 0;
    }
    .article_list-item a {
        display: flex;
        column-gap: 10px;
    }
    .article_list-img {
        flex-shrink: 0;
    }
    .article_list-body {
        padding: 0;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        position: relative;
        width: 100%;
    }
    .article_list-tag {
        display: inline-block;
        padding: 0 10px;
        margin-bottom: 8px;
        top: 0;
        left: 0;
    }
    .article_list-location {
        padding: 0;
        background: none;
        margin: 0;
        position: absolute;
        bottom: 0;
        width: 88%;
    }
    .article_list-location_spot {
        font-size: 12px;
        max-width: 60%;
    }
    .article_list-location_dist {
        font-size: 14px;
    }
    .article_list-read {
        right: 0;
        bottom: 0;
    }
    .article_list-bottom {
        padding: 20px 0 40px;
        column-gap: 8px;
    }
    .article_list-bottom a {
        font-size: 16px;
    }
    .article_list-more img {
        margin-right: 5px;
    }
    .article_list-bottom .article_list-map {
        font-size: 11px;
    }
    .article_related {
        margin-top: 0;
    }
    .article_related-item {
        width: 100%;
        max-width: 100%;
        border-bottom: 1px solid #CCC;
        padding-bottom: 20px;
        display: flex;
        align-items: center;
        column-gap: 10px;
    }
    .article_related-img {
        flex-shrink: 0;
    }
    .article_related-img img {
        width: 160px;
        height: 90px;
        object-fit: cover;
        object-position: center;
    }
    .article_related-ttl {
        font-size: 13px;
        margin-top: 0;
    }
    .article_related .article_related-wrap {
        max-height: 800px;
    }
    .article_related .moreBtn {
        border-radius: 5px;
    }
}

/* グルメ gourmet */
#gourmet::before {
    right: 0;
    border-radius: 100px 0 0 100px;
    background: #EFBF22;
}
#gourmet .topArea .MainTitle img {
    width: 150px;
    height: auto;
}
#gourmet .main_article-readmore {
    background: #EFBF22;
}
#gourmet .main_article-readmore::before {
    border-color: transparent transparent transparent #EFBF22;
}
#gourmet .article_list-more {
    background: #EFBF22;
}
#gourmet .article_list-map {
    background-image: url(/images/kankou/expo2025/gourmet_map_bg.svg);
    background-color: #EFBF22;
}
#gourmet .backBtn {
    background: #EFBF22;
}
#gourmet .searchFacilityaWrap .toggle {
    background: #EFBF22;
}
#gourmet .searchFacilityaWrap .facilityList li .facilityText .facilityInfo .facilityAccess {
    color: #DBA800;
}
#gourmet .searchFacilityaWrap .facilityList li {
    border-color: #EFBF22;
}
#map-canvas-gourmet {
    width: 100%;
    height: 100%;
}

/* レジャー kankou */
#kankou::before {
    left: 0;
    border-radius: 0 100px 100px 0;
    background: #F5B581;
}
#kankou .topArea .MainTitle img {
    width: 150px;
    height: auto;
}
#kankou .main_article-readmore {
    background: #F5B581;
}
#kankou .main_article-readmore::before {
    border-color: transparent transparent transparent #F5B581;
}
#kankou .article_list-more {
    background: #F5B581;
}
#kankou .article_list-map {
    background-image: url(/images/kankou/expo2025/kankou_map_bg.svg);
    background-color: #F5B581;
}
#kankou .backBtn {
    background: #F5B581;
}
#kankou .searchFacilityaWrap .toggle {
    background: #F5B581;
}
#kankou .searchFacilityaWrap .facilityList li .facilityText .facilityInfo .facilityAccess {
    color: #F5B581;
}
#kankou .searchFacilityaWrap .facilityList li {
    border-color: #F5B581;
}
.map #map-canvas-kankou {
    width: 100%;
    height: 100%;
}

/* 旅館・ホテル  yado */
#yado {
    padding-bottom: 100px;
}
#yado::before {
    right: 0;
    border-radius: 100px 0 0 100px;
    background: #66B2DD;
}
#yado .topArea .MainTitle img {
    width: 150px;
    height: auto;
}
#yado .main_article-readmore {
    background: #66B2DD;
}
#yado .main_article-readmore::before {
    border-color: transparent transparent transparent #66B2DD;
}
#yado .article_list-more {
    background: #66B2DD;
}
#yado .article_list-map {
    background-image: url(/images/kankou/expo2025/yado_map_bg.svg);
    background-color: #66B2DD;
}
#yado .backBtn {
    background: #66B2DD;
}
#yado .searchFacilityaWrap .toggle {
    background: #66B2DD;
}
#yado .searchFacilityaWrap .facilityList li .facilityText .facilityInfo .facilityAccess {
    color: #66B2DD;
}
#yado .searchFacilityaWrap .facilityList li {
    border-color: #66B2DD;
}
.map #map-canvas-yado {
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 599px) {
    #yado {
        padding-bottom: 80px;
    }
    #gourmet::before, 
    #kankou::before, 
    #yado::before {
        top: 0;
        width: 100vw;
        height: 100vw;
        border-radius: 50vw 50vw 0 0;
    }
    #gourmet::after {
        background-image: url(/images/kankou/expo2025/gourmet_txt_bg.svg);
        top: 2.57vw;
        width: 22.82vw;
        height: 24vw;
    }
    #kankou::after {
        background-image: url(/images/kankou/expo2025/kankou_txt_bg.svg);
        top: 5.1vw;
        width: 19.5vw;
        height: 18.7vw;
    }
    #yado::after {
        background-image: url(/images/kankou/expo2025/yado_txt_bg.svg);
        top: 0;
        width: 26.7vw;
        height: 25.13vw;
    }
    #gourmet .topArea .MainTitle img,
    #kankou .topArea .MainTitle img,
    #yado .topArea .MainTitle img {
        width: 100%;
    }
    #gourmet .main_article-readmore::before {
        border-color: transparent #EFBF22 transparent transparent;
    }
    #kankou .main_article-readmore::before {
        border-color: transparent #F5B581 transparent transparent;
    }
    #yado .main_article-readmore::before {
        border-color: transparent #66B2DD transparent transparent;
    }
    #gourmet .main_article {
        background: #fdf8e8;
    }
    #gourmet .main_article-bottom {
        color: #EFBF22;
    }
    #kankou .main_article {
        background: #fef7f2;
    }
    #kankou .main_article-bottom {
        color: #F5B581;
    }
    #yado .main_article {
        background: #eff7fb;
    }
    #yado .pr_article-btn:last-of-type {
        padding: 2% 3.5%;
        line-height: 1.2;
    }
    #yado .main_article-bottom {
        color: #66B2DD;
    }
    #popMap-gourmet .mapTop {
        background: #EFBF22;
    }
    .mapWrap .backBtn {
        background: none;
    }
    #popMap-gourmet .toggle, #popMap-gourmet .searchFacilityaWrapSp .facilityList li .facilityText .facilityInfo .facilityAccess {
        color: #DBA800;
    }
    #popMap-kankou .mapTop {
        background: #F5B581;
    }
    #popMap-kankou .toggle, #popMap-kankou .searchFacilityaWrapSp .facilityList li .facilityText .facilityInfo .facilityAccess {
        color: #F5B581;
    }
    #popMap-yado .mapTop {
        background: #66B2DD;
    }
    #popMap-yado .toggle, #popMap-yado .searchFacilityaWrapSp .facilityList li .facilityText .facilityInfo .facilityAccess {
        color: #66B2DD;
    }
}


/* article page */
.articleWrap {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
}
.articleMainBlock {
    max-width: 800px;
    width: 67%;
}
.articleSideBlock {
    max-width: 340px;
    width: 28.5%;
}
.articleTopImg {
    margin-bottom: 15px;
}
.articleTopTitle {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 20px;
}
.articleTopText {
    font-weight: 300;
    font-size: 16px;
    color: #333;
    line-height: 1.8;
    margin-top: 20px;
}
.articleTitle {
    margin-top: 40px;
    font-size: 23px;
    font-weight: 500;
}
.articleSubTitle {
    font-weight: 500;
    font-size: 23px;
    color: #333;
    line-height: 1.5;
    margin-top: 20px;
}
.articleText {
    font-weight: 300;
    font-size: 16px;
    color: #333;
    line-height: 1.75;
    margin-top: 15px;
}
.articleInfoWrap {
    background: #F7F7F7;
    padding: 30px 35px 40px;
    margin-top: 30px;
}
.articleInfoWrap .infoName {
    font-weight: 500;
    color: #333;
    font-size: 18px;
    line-height: 1.5;
    padding-bottom: 10px;
    position: relative;
}
.articleInfoWrap .articleInfo {
    position: relative;
    margin-top: 20px;
}
.articleInfoWrap .articleInfo dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    min-height: 100px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #333;
    font-size: 14px;
    line-height: 1.4;
}
.articleInfoWrap .articleInfo dl dt {
    width: 60px;
    display: inline-block;
    font-weight: 500;
    margin-top: 20px;
    margin-right: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.articleInfoWrap .articleInfo dl dd {
    width: calc(100% - 92px);
    font-weight: 300;
    margin-top: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow-wrap: break-word;
}
.articleInfoWrap .articleInfo dl dt:first-child,
.articleInfoWrap .articleInfo dl dt:first-child + dd { 
    margin-top: 0;
}
.articleInfoWrap .articleInfo dl dd:nth-of-type(-n+3) {
    padding-right: 125px;
}
.articleInfoWrap .articleInfo .link_out {
    color: #F5B581;
    font-weight: 500;
    text-decoration: underline;
}
.articleInfoWrap .articleInfo .link_out::after {
    background-image: url(/images/kankou/expo2025/icon_link_color.svg);
}
.articleInfoLink {
    margin-top: 15px;
    display: flex;
    justify-content: flex-end;
    column-gap: 20px;
}
.articleInfoLink .articleBtn {
    width: 245px;
    padding: 8px 0;
    text-align: center;
    color: #fff;
    border-radius: 30px;
    position: relative;
}
.articleInfoLink .articleBtn::after {
    content: '▸';
    display: inline-block;
    margin-left: 5px;
    position: absolute;
}
.articleInfoLink .articleBtn.reservationBtn {
    background: #E39313!important;
}
.articleInfoWrap .map {
    position: absolute;
    top: 0;
    right: 0;
}
.articleInfoWrap .map a {
    display: block;
}
.articleInfoWrap .map a img {
    width: 100%;
    max-width: 98px;
    height: auto;
}
.articleBottomLink {
    margin: 60px auto;
    max-width: 500px;
    width: 100%;
}
.articleBottomLink a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #000;
    padding: 24px 40px;
    position: relative;
    border-radius: 20px;
}
.articleBottomLink a::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent #000;
}

/* article side */
.sideBlock {
    margin-bottom: 40px;
}
.sideBlockTitle {
    color: #333;
    font-size: 23px;
    line-height: 1.5;
    font-weight: 500;
    padding-bottom: 5px;
}
.sideBlockTitle img {
    display: block;
}
.sideRelationList {
    margin-top: 15px;
}
.sideRelationList li {
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.sideRelationList li a {
    display: flex;
    justify-content: space-between;
}
.sideRelationText {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    width: 61.7%;
    max-width: 210px;
    position: relative;
    box-sizing: border-box;
}
.sideRelationTitle {
    color: #333;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.sideRelationDate {
    color: #333;
    width: calc(100% - 30px);
    font-weight: 500;
    font-size: 12px;
    font-weight: 300;
    text-align: right;
    position: absolute;
    bottom: 0;
    right: 0;
    line-height: 1;
}
/* article slider */
.articleSlidImg2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 20px;
}
.articleSlidImg2 .swiper-main--wrap {
    width: calc(100% - 104px);
    position: relative;
}
.articleSlidImg2 .swiper-main--wrap .swiper-main {
    width: calc(100% - 15px);
    max-width: 680px;
    margin-left: 0;
    margin-right: 15px;
    position: relative;
    overflow: hidden;
}
.articleSlidImg2 .swiper-main--wrap .swiper-main .swiper-slide img {
    width: 100%;
    height: auto;
}
.articleSlidImg2 .swiper-thumbnail {
    width: 104px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
.articleSlidImg2 .swiper-thumbnail .swiper-wrapper {
    display: block;
}
.articleSlidImg2 .swiper-thumbnail .swiper-slide {
    width: 104px;
    height: auto;
    margin-bottom: 5px;
    opacity: 0.4;
    cursor: pointer;
    border: 2px solid transparent;
    box-sizing: border-box;
}
.articleSlidImg2 .swiper-thumbnail .swiper-slide:last-child {
    margin: 0;
}
.articleSlidImg2 .swiper-thumbnail .swiper-slide img {
    width: 100%;
    max-height: 70px;
    -o-object-fit: cover;
    object-fit: cover;
}
.articleSlidImg2 .swiper-thumbnail .swiper-slide-thumb-active {
    opacity: 1;
    position: relative;
}
.articlePickupImg {
    position: absolute;
    top: 25px;
    left: 25px;
    z-index: 10;
}
/* article gourmet */
.gourmet_article .articleTitle {
    color: #333;
    padding-bottom: 5px;
    border-bottom: 3px solid #EFBF22;
}
.gourmet_article .articleInfoWrap .articleInfo .link_out {
    color: #E3B109;
}
.gourmet_article .articleInfoWrap .articleInfo .link_out::after {
    background-image: url(/images/kankou/expo2025/icon_link_gourmet.svg);
}
.gourmet_article .articleInfoLink .articleBtn {
    background: #EFBF22;
}
.gourmet_article .articleInfoWrap .infoName {
    border-bottom: 2px solid #EFBF22;
}
.gourmet_article .articleSlidImg2 .swiper-thumbnail .swiper-slide-thumb-active {
    border-color: #D1B100;
}
.gourmet_article .sideBlockTitle {
    border-bottom: 3px solid #EFBF22;
}
.gourmet_article .sideRelationList li::after {
    content: "";
    background-image: linear-gradient(to right, #EFBF22, #EFBF22 4px, transparent 4px, transparent 8px);
    background-size: 8px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: 0;
}
/* article kankou */
.kankou_article .articleTitle {
    color: #000;
    padding-left: 18px;
    position: relative;
}
.kankou_article .articleTitle::before {
    content: '';
    position: absolute;
    width: 8px;
    height: 30px;
    background: #F5B581;
    left: 0;
    top: 7px;
}
.kankou_article .articleInfoLink .articleBtn {
    background: #EFBF22;
}
.kankou_article .articleInfoWrap .infoName {
    position: relative;
}
.kankou_article .articleInfoWrap .infoName::after {
    content: "";
    background-image: linear-gradient(to right, #000, #000 4px, transparent 4px, transparent 8px);
    background-size: 8px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
/* article yado */
.yado_article .articleTitle {
    color: #333;
    padding-bottom: 5px;
    border-bottom: 3px solid #66B2DD;
}
.yado_article .articleInfoWrap .articleInfo .link_out {
    color: #66B2DD;
}
.yado_article .articleInfoWrap .articleInfo .link_out::after {
    background-image: url(/images/kankou/expo2025/icon_link_yado.svg);
}
.yado_article .articleInfoLink .articleBtn {
    background: #66B2DD;
}
.yado_article .articleInfoWrap .infoName {
    border-bottom: 2px solid #66B2DD;
}
@media screen and (max-width: 599px) {
    .articleWrap {
        display: block;
        margin-top: 5px;
    }
    .articleMainBlock, .articleSideBlock {
        width: 100%;
        max-width: 100%;
        padding-bottom: 20px;
    }
    .articleTopTitle {
        font-size: 23px;
    }
    .articleTopText {
        font-size: 14px;
        line-height: 1.5;
        margin-top: 15px;
    }
    .articleTitle {
        font-size: 18px;
        line-height: 1.4;
    }
    .articleSubTitle {
        font-size: 18px;
    }
    .articleText {
        font-size: 14px;
        line-height: 1.5;
        margin-top: 10px;
    }
    .articleInfoLink {
        flex-direction: column;
        row-gap: 15px;
        margin-top: 20px;
    }
    .articleInfoLink .articleBtn {
        width: 88%;
        margin: auto;
        display: block;
        line-height: 1.5;
        font-size: 16px;
        padding: 10px 0;
    }
    .articleInfoWrap {
        padding: 20px 7%;
        margin: 20px -4% 0;
        position: relative;
    }
    .articleInfoWrap .infoName {
        font-size: 16px;
    }
    .articleInfoWrap .articleInfo {
        margin-top: 15px;
    }
    .articleInfoWrap .articleInfo dl {
        font-size: 12px;
    }
    .articleInfoWrap .articleInfo dl dt {
        width: 50px;
        font-size: 12px;
        margin-top: 15px;
        margin-right: 15px;
    }
    .articleInfoWrap .articleInfo dl dd {
        width: calc(100% - 65px);
        font-size: 12px;
        margin-top: 15px;
    }
    .articleInfoWrap .articleInfo dl dd:nth-of-type(-n+3) {
        padding-right: 0;
    }
    .articleInfoWrap .articleInfo dl dd.address {
        padding-right: 60px !important;
        min-height: 53px;
    }
    .articleInfoWrap .map {
        width: 52px;
    }
    .articleSlidImg2 {
        display: block;
    }
    .articleSlidImg2 .swiper-main--wrap {
        width: 100%;
        position: relative;
    }
    .articleSlidImg2 .swiper-main--wrap .swiper-main {
        position: relative;
        width: 100%;
        overflow: hidden;
    }
    .articleSlidImg2 .swiper-thumbnail {
        max-width: unset;
        width: 100%;
    }
    .articleSlidImg2 .swiper-thumbnail .swiper-wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-top: 2%;
        border-width: 1px;
    }
    .articleSlidImg2 .swiper-thumbnail .swiper-slide {
        width: 15% !important;
        height: auto;
        margin-right: 2%;
        border-width: 1px;
    }
    .articlePickupImg {
        top: 10px;
        left: 10px;
    }
    .articleBottomLink {
        margin: 40px 0;
    }
    .articleBottomLink a {
        padding: 16px 20px;
    }
    .sideBlockTitle {
        font-size: 18px;
    }
    .sideRelationList .articleImg {
        width: 120px;
        object-fit: cover;
        object-position: center;
    }
    .sideRelationText {
        flex: 1;
        max-width: unset;
        width: auto;
        margin-left: 10px;
    }
    .gourmet_article .articleTitle {
        border-width: 2px;
    }
    .kankou_article .articleTitle::before {
        height: 100%;
        top: 0;
    }
}

/* article tabs */
.articleSpotTitle {
    margin-top: 40px;
}
.nearestSection .spotTab {
    display: flex;
    justify-content: center;
    border-bottom: 1px solid #000;
    margin-top: 15px;
    column-gap: 30px;
}
.nearestSection .spotTab input {
    display: none;
}
.nearestSection .spotTab .tabItem {
    display: block;
    flex-grow: 1;
    width: 37.5%;
    max-width: 300px;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 300;
    color: #000;
    text-align: center;
    border: 1px solid #000;
    padding: 8px 0px;
    border-bottom: unset;
    border-radius: 5px 5px 0 0;
    box-sizing: border-box;
    cursor: pointer;
}
.nearestSection .spotTab input:checked+.tabItem {
    color: #FFF;
    background: #000;
}
.nearestSection .aroundInfoWrap {
    scrollbar-width: thin;
    position: relative;
}
.nearestSection .aroundInfoWrap {
    display: none;
}
.nearestSection .aroundInfoWrap.on {
    display: block;
}
.nearestSection .aroundInfoWrap .swiper-container {
    padding-bottom: 10px;
}
.nearestSection .aroundInfoWrap .aroundInfoList {
    display: inline-flex;
    margin-top: 20px;
}
.nearestSection .aroundInfoWrap .aroundInfoList li {
    width: 260px;
    border: 1px solid #999;
    margin-right: 20px;
    box-sizing: border-box;
    position: relative;
}
.nearestSection .aroundInfoWrap .aroundInfoList li:before {
    content: "";
    display: block;
    width: 32px;
    height: 33px;
    background-image: url(/images/kankou/expo2025/icon_arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 16px;
    right: 10px;
}
.nearestSection .aroundInfoWrap .aroundInfoList li a {
    display: block;
}
.nearestSection .aroundInfoWrap .aroundInfoList li .aroundInfoImgWrap {
    position: relative;
}
.nearestSection .aroundInfoWrap .aroundInfoList li .aroundInfoImgWrap img {
    width: 100%;
    height: auto;
}
.nearestSection .aroundInfoWrap .aroundInfoList li .aroundInfoTextWrap {
    width: 100%;
    padding: 8px 10px 15px;
    box-sizing: border-box;
}
.nearestSection .aroundInfoWrap .aroundInfoList li .aroundInfoTag {
    position: absolute;
    top: 8px;
    left: 8px;
    font-size: 12px;
    line-height: 1.2;
    padding: 4px 12px;
    background: #F6F5F0;
    border: 1px solid #D1C9AE;
}
.nearestSection .aroundInfoWrap .aroundInfoList li .aroundInfoTextWrap .aroundInfoDistance {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    background: #F2F2F2;
    padding: 1px 6px;
    box-sizing: border-box;
    line-height: 1.4;
}
.nearestSection .aroundInfoWrap .aroundInfoList li .aroundInfoTextWrap .aroundInfoDistance .spotName {
    display: inline-block;
    color: #999;
    font-size: 11px;
    margin-right: 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nearestSection .aroundInfoWrap .aroundInfoList li .aroundInfoTextWrap .aroundInfoDistance .small {
    display: inline-block;
    color: #999;
    font-size: 10px;
    margin-right: 6px;
    flex-shrink: 0;
}
.nearestSection .aroundInfoWrap .aroundInfoList li .aroundInfoTextWrap .aroundInfoDistance .num {
    display: inline-block;
    color: #AF9D63;
    font-size: 16px;
    flex-shrink: 0;
}
.nearestSection .aroundInfoWrap .aroundInfoList li .aroundInfoTextWrap .aroundInfoTitle {
    width: 100%;
    min-height: 39px;
    color: #333;
    font-size: 14px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-top: 6px;
}
.nearestSection .aroundInfoWrap .aroundInfoList li .aroundInfoTextWrap .aroundInfoAddress {
    width: calc(100% - 45px);
    min-height: 38px;
    color: #333;
    font-size: 12px;
    font-weight: 300;
    line-height: 1.6;
    margin-top: 8px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.nearestSection .aroundInfoWrap .swiper-button-next, .nearestSection .aroundInfoWrap .swiper-button-prev {
    position: absolute;
    margin-top: 0;
    width: 30px;
    height: 45px;
    bottom: calc(50% - 40px);
    background: rgba(0, 0, 0, 0.7);
    z-index: 3;
    top: unset;
    left: unset;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
}
.nearestSection .aroundInfoWrap .swiper-button-prev {
    left: 0;
}
.nearestSection .aroundInfoWrap .swiper-button-next {
    right: 0;
}
.nearestSection .aroundInfoWrap .swiper-button-next.swiper-button-disabled, .nearestSection .aroundInfoWrap .swiper-button-prev.swiper-button-disabled {
    pointer-events: unset;
}
.nearestSection .aroundInfoWrap .swiper-button-prev:before {
    display: block;
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    border: 0px;
    top: 35%;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -webkit-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
    margin-left: 12px;
}
.nearestSection .aroundInfoWrap .swiper-button-next:before {
    display: block;
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    border: 0px;
    top: 35%;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-left: 7px;
}
@media screen and (max-width: 599px) {
    .articleSpotTitle {
        margin-top: 20px;
    }
    .nearestSection .spotTab {
        column-gap: 15px;
    }
    .nearestSection .spotTab .tabItem {
        max-width: 150px;
        font-size: 14px;
    }
    .nearestSection .aroundInfoWrap .swiper-container {
        margin: 0 -4%;
        padding: 0 4% 10px;
    }
    .nearestSection .aroundInfoWrap .swiper-scrollbar {
        height: 4px;
    }
}

/* hitokoto */
.articleHitokotoWrap {
    display: flex;
    justify-content: space-between;
    column-gap: 20px;
}
.articleHitokotoCol {
    flex: 1;
}
.articleHitokoto {
    margin-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 58px;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
    cursor: pointer;
}
.articleHitokoto:hover {
    opacity: 0.7;
}
.articleHitokotoLeft {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.articleHitokotoImg {
    width: 45px;
    line-height: 1;
}
.articleHitokotoImg img {
    border-radius: 50%;
    width: 100%;
}
.articleHitokotoText {
    width: 60px;
    margin-left: 8px;
    margin-right: 7px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.articleHitokotoText p {
    font-size: 10px;
    line-height: 1.5;
    font-weight: 300;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.articleHitokotoText p span {
    display: block;
}
.articleHitokotoFukidashi {
    position: relative;
    display: inline-block;
    margin: 0px 0 0px 0px;
    padding: 13px 12px;
    color: #333;
    font-size: 12px;
    background: #FFF;
    border: solid 1px #888;
    width: calc(100% - 110px);
    border-radius: 10px;
}
.articleHitokotoFukidashi::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -6px;
    margin-top: -2px;
    border: 2px solid transparent;
    border-right: 4px solid #FFF;
    z-index: 2;
}
.articleHitokotoFukidashi::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -10px;
    margin-top: -4px;
    border: 4px solid transparent;
    border-right: 6px solid #555;
    z-index: 1;
}
.articleHitokotoFukidashi img {
    position: absolute;
    top: -6px;
    left: 9px;
    background: #fff;
    padding: 1px 3px;
}
.articleHitokotoFukidashi p {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    font-size: 12px;
}
.articleTaiken {
    margin-top: 25px;
}
.articleTaiken a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
}
.articleTaiken a::after {
    content: "";
    width: 6px;
    height: 6px;
    border: 0;
    border-bottom: solid 1px #333;
    border-right: solid 1px #333;
    position: absolute;
    right: 15px;
    top: calc(50% - 5px);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.articleTaiken .articleTaikenImg {
    width: 110px;
}
.articleTaiken .articleTaikenImg img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100px;
    vertical-align: top;
}
.articleTaiken .articleTaikenText {
    background: #F7F1EC;
    padding: 14px 30px 14px 15px;
    width: calc(100% - 155px);
}
.articleTaiken .articleTaikenText .articleTaikenTextTop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.articleTaiken .articleTaikenText .articleTaikenTextPlanner {
    margin-left: 15px;
    width: 23px;
}
.articleTaiken .articleTaikenText .articleTaikenTextPlanner img {
    border-radius: 50%;
}
.articleTaiken .articleTaikenText .articleTaikenTextTop span {
    display: block;
}
.articleTaiken .articleTaikenText .articleTaikenTextTop span img {
    line-height: 1;
    display: block;
}
.articleTaiken .articleTaikenText .articleTaikenTextTop .articleTaikenTextSub {
    font-size: 10px;
    padding-bottom: 5px;
    margin-left: 2px;
    font-weight: 300;
}
.articleTaiken .articleTaikenText .articleTaikenTextdisc {
    font-size: 12px;
    margin-top: 8px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-weight: 300;
}
#kankou .bgPop {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    background: #000;
    opacity: 0.5;
    width: 100%;
    height: 100%;
    z-index: 20;
}
.articleHitokotoPop {
    display: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    background: #fff;
    position: fixed;
    z-index: 50;
    padding: 30px 40px 35px;
    border-radius: 20px;
    min-width: 720px;
}
.articleHitokotoPop .articleHitokotoPopTop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.articleHitokotoPop .articleHitokotoPopImg img {
    border-radius: 50%;
}
.articleHitokotoPop .articleHitokotoPopText {
    margin-left: 20px;
}
.articleHitokotoPop .articleHitokotoPopText p {
    font-size: 14px;
    font-weight: 300;
}
.articleHitokotoPop .articleHitokotoPopText p span {
    margin-right: 2px;
}
.articleHitokotoPop .articleHitokotoPopLead {
    margin-top: 10px;
    font-size: 14px;
    font-weight: 300;
}
.articleHitokotoPop .articleHitokotoPopBtn {
    display: block;
    margin-top: 25px;
    margin-left: auto;
}
.articleHitokotoPop .articleHitokotoClose {
    position: absolute;
    top: 30px;
    right: 30px;
}
.articleHitokotoPopBtn {
    margin-top: 0;
    text-align: center;
    max-width: 240px;
    width: 100%;
    border: 1px solid #000;
    color: #333;
    font-size: 14px;
    background: #F5B581;
    border-radius: 20px;
    padding: 8px 6px 8px 0;
    position: relative;
    line-height: 1.4;
}
.articleHitokotoPopBtn::after {
    content: "";
    position: absolute;
    bottom: 4px;
    right: 14px;
    display: inline-block;
    width: 28px;
    height: 28px;
    background-image: url(/images/kankou/expo2025/Icon_arrow_black.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: bottom center;
}
.areaTaikenMore {
    margin-top: 10px;
    text-align: right;
    font-size: 12px;
    font-weight: 300;
}
@media screen and (max-width: 599px) {
    .articleHitokotoPopBtn {
        font-size: 16px;
        line-height: 1.5;
        border-radius: 23px;
        padding: 9.5px 0;
        position: relative;
        max-width: 88%;
        display: block;
        text-align: center;
        margin: 0 auto;
    }
    .articleHitokotoPopBtn::after {
        width: 31px;
        height: 31px;
        bottom: 6px;
    }
    .articleHitokotoLeft {
        flex-direction: column;
    }
    .articleHitokotoImg {
        width: 41px;
    }
    .articleHitokotoText p {
        line-height: 1.2;
    }
    .articleHitokotoFukidashi p {
        -webkit-line-clamp: 2;
    }
    .articleTaiken {
        margin-top: 15px;
    }
    .articleTaiken .articleTaikenImg {
        width: 91px;
    }
    .articleTaiken .articleTaikenImg img {
        height: 83px;
    }
    .articleTaiken .articleTaikenText {
        width: calc(100% - 91px);
        padding: 11px 25px 11px 11px;
    }
    .articleTaiken .articleTaikenText .articleTaikenTextPlanner {
        width: 21px;
        margin-left: 10px;
    }
    .articleTaiken .articleTaikenText .articleTaikenTextdisc {
        margin-top: 5px;
        line-height: 1.34;
    }
    .articleTaiken .articleTaikenText .articleTaikenTextTop .articleTaikenTextSub {
        padding-bottom: 0;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden;
    }
    .articleHitokotoPop {
        min-width: 70%;
    }
    .articleHitokotoPop .articleHitokotoClose {
        top: 15px;
        right: 15px;
    }
    .articleHitokotoWrap {
        flex-direction: column;
    }
    .articleHitokotoCol {
        display: flex;
        column-gap: 15px;
        width: 100%;
        align-items: flex-start;
    }
    .articleHitokotoCol .articleHitokoto {
        position: relative;
        height: unset;
        z-index: 0;
        position: relative;
        flex: 1;
    }
    .articleHitokotoCol .articleHitokotoLeft {
        position: absolute;
        top: 20px;
        left: 15px;
        z-index: 2;
        width: calc(100% - 30px);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-top: 0px;
        flex-direction: row;
    }
    .articleHitokotoCol .articleHitokotoLeft .articleHitokotoImg {
        width: 30px;
        height: auto;
        display: inline-block;
    }
    .articleHitokotoCol .articleHitokotoLeft .articleHitokotoImg img {
        width: 30px;
        height: auto;
        display: inline-block;
    }
    .articleHitokotoCol .articleHitokotoLeft .articleHitokotoText {
        width: calc(100% - 52px);
        margin-left: 8px;
        margin-right: 0;
        line-height: 1.2;
        margin-top: 0px;
        display: inline-block;
    }
    .articleHitokotoCol .articleHitokotoLeft .articleHitokotoText span {
        display: inline-block;
    }
    .articleHitokotoCol .articleHitokotoFukidashi {
        width: 100%;
        padding: 52px 15px 15px 15px;
    }
    .articleHitokotoCol .articleHitokotoFukidashi::before, 
    .articleHitokotoCol .articleHitokotoFukidashi::after {
        display: none;
    }
    .articleHitokotoCol .articleHitokotoFukidashi p {
        -webkit-line-clamp: 3;
        line-height: 1.4;
        margin-top: 0;
    }
    .areaTaikenMore {
        text-align: center;
        text-decoration: underline;
        margin-top: 10px;
    }
}

/* わくわく万博体験レポート */
.report {
    padding: 90px 0 80px;
}
.report .wrap {
    border: 2px solid #6CAFE2;
    border-radius: 55px;
    padding: 60px 0 30px;
}

.report .TitleArea {
    max-width: 1040px;
    height: auto;
    width: 86%;
    margin: auto;
}
.report .SubTitle {
    color: #E60012;
    margin-top: 26px;
}
.report .SubTitle::after {
    content: '';
    display: inline-block;
    height: 3px;
    position: relative;
    right: 0;
    width: 100%;
    background: #E60012;
}

.report .reportList {
    max-width: 1040px;
    width: 86%;
    margin: 60px auto 0;
}

.reportList .item {
    position: relative;
}
.reportList .item .itemlink {
    display: flex;
    align-items: flex-start;
    gap: 5.7%;
}
.reportList .item:first-child {
    padding-bottom: 33px;
}
.reportList .item:not(:first-child) {
    padding: 30px 0 33px;
}
.reportList .item:not(:last-child)::after {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    position: absolute;
    bottom: 0;
    background: url(/images/kankou/expo2025/line_blue.svg) repeat-x;
    background-size: contain;
}

.reportList .item .text {
    max-width: 580px;
    height: auto;
    flex-shrink: 1;
}

.reportList .item .thumb {
    max-width: 400px;
    height: auto;
}

.reportList .data {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.reportList .data .author {
    color: #0068B7;
    font-weight: 500;
    line-height: 100%;
}
.reportList .data .author::before {
    content: "";
    display: inline-block;
    background-image: url(/images/kankou/expo2025/icon_pen_b.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 13px;
    height: 13px;
    margin-right: 5px;
    vertical-align: sub;
}
.reportList .data .day {
    font-weight: 300;
    color: #333333;
    line-height: 100%;
}
.reportList .data .day::before {
    content: "";
    display: inline-block;
    background-image: url(/images/kankou/expo2025/icon_uptime.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 14px;
    height: 14px;
    margin-right: 5px;
    vertical-align: sub;
}

.reportList h3 {
    font-size: 24px;
    line-height: 1.458;
    font-weight: 700;
    color: #0068B7;
}

.reportList .lead {
    line-height: 1.714;
    margin: 20px 0 18px;
    font-size: 14px;
    font-weight: 300;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* 行数を指定 */
}

.reportList .readmore {
    display: flex;
    justify-content: flex-end;
    line-height: 100%;
    font-size: 14px;
    font-weight: 500;
    color: #E60012;
    text-decoration: underline!important;
}
.reportList .readmore.sp {
    display: none;
}

.reportList .readmore::after {
    content: "▸";
    display: inline-block;
}

.reportList .thumb {
    max-width: 400px;
    width: 38%;
}

.reportList .thumb img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 960px) {
    .reportList .item .itemlink {
        display: block;
    }

    .reportList .item .text,
    .reportList .item .thumb {
        max-width: unset;
        width: 100%;
    }

    .reportList .item .thumb {
        text-align: center;
        margin-top: 15px;
    }
}
@media screen and (max-width: 599px) {
    .report {
        padding: 40px 0;
    }

    .report .wrap {
        border: none;
        border-radius: 0;
        padding: 0;
    }

    .report .TitleArea {
        width: 100%;
        max-width: unset;
    }

    .report .MainTitle img,
    .favorite .MainTitle img {
        margin-right: auto;
        margin-left: auto;
    }

    .report .SubTitle {
        margin-top: 15px;
    }

    .report .reportList {
        margin-top: 30px;
        width: 100%;
        max-width: unset;
        margin: 30px 0 0;
    }

    .reportList .item:not(:first-child) {
        padding: 31px 0 30px;
    } 
    .reportList .item:last-child {
        padding-bottom: 0;
    }

    .reportList .item .text {
        position: relative;
        max-width: unset;
    }

    .reportList .data .author {
        font-size: 12px;
    }
    .reportList .data .day {
        font-size: 12px;
    }

    .reportList h3 {
        font-size: 16px;
        line-height: 1.625;
    }

    .reportList .lead {
        margin-top: 10px;
    }

    .reportList .thumb {
        max-width: unset;
        width: 100%;
        margin-bottom: 15px;
    }
    .reportList .thumb img {
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    .reportList .readmore.sp {
        display: block;
        font-size: 14px;
        color: #E60012;
        display: flex;
        justify-content: flex-end;
        text-decoration: underline!important;
        font-weight: 500;
    }

    .reportList .readmore.pc {
        display: none;
    }

}