@charset "UTF-8";

body {
    font-family: 'Zen Old Mincho', '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
    /*明朝体の場合*/
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.0;
    letter-spacing: 1.6px;
    color: #333;
    background-color: #fff;
}

body.is_fixed {
    overflow: hidden;
}

img {
    max-width: 100%;
    /*レスポンシブの表示崩れ対策*/
    vertical-align: bottom;
    /*画像の隙間なくす*/
}

h2 {
    font-size: 2.4rem;
}

/* ドロワーメニュー */
.sp-nav {
    position: fixed;
    top: 0;
    right: 0;
    /* width: 260px;
    height: 430px; */
    width: 100%;
    height: 100dvh;
    z-index: 100;
    transform: translateY(-100%);
    transition: ease .4s;
    /*ハンバーガーメニュークリック時のナビゲーションメニュー出現を遅延*/
    overflow: hidden; /*スマホでスクロールするとドロワーメニュー下部が少しだけ表示されるのを解消*/
}

.sp_nav_item {
    background: #533C39 url(../img/bgimg.svg) repeat center center/cover;
    /* background-blend-mode: multiply; */
    width: 100%;
    height: 100dvh;  
    padding: 160px 30px 43px;
    overflow-y: auto;  /* 縦方向のスクロールを有効化（ドロワーから見切れた部分をスクロール化） */
    -webkit-overflow-scrolling: touch;  /* iOSでのスムーズスクロール（ドロワーから見切れた部分をスクロール化）*/
}

.sp_nav_item_wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-bottom: 37px;
    
}

.sp_nav_item_wrapper li {
    color: #fff;
    font-size: 2.0rem;
    letter-spacing: 2.0px;
    text-align: center;
    /* border-bottom: solid 1px #fff;
    padding-bottom: 16px; */
}

/* .sp_nav_item_wrapper a::before {
    font-size: 0.8rem;
    letter-spacing: 2.0px;
    color: #fff;
    display: block;
}

.sp_nav_item_wrapper a:nth-of-type(1)::before {
    content: "PAGE TOP";
    margin-left: 2px;
}

.sp_nav_item_wrapper a:nth-of-type(2)::before {
    content: "OUTLINE";
    margin-left: 2px;
}

.sp_nav_item_wrapper a:nth-of-type(3)::before {
    content: "SCHEDULE";
    margin-left: 3px;
}

.sp_nav_item_wrapper a:nth-of-type(4)::before {
    content: "ACCESS";
    margin-left: 1px;
}

.sp_nav_item_wrapper a:nth-of-type(5)::before {
    content: "PICK UP";
    margin-left: 4px;
}

.sp_nav_item_wrapper a:nth-of-type(6)::before {
    content: "ANNOUNCE";
    margin-left: 2px;
} */

.sp_nav_btn {
    position: fixed;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    z-index: 9999;
    transition: background-color .4s ease;
    cursor: pointer;
}

.sp_nav_btn.scrolled {
    background-color: #533C39;
    /* スクロール後の背景色 */
}

.sp_nav_btn.scrolled.active {
    background-color: transparent;
}

.sp_nav_btn span:nth-child(1) {
    transition: ease .4s;
    position: absolute;
    top: 36px;
    right: 24px;
    display: block;
    width: 32px;
    height: 1px;
    background-color: #fff;
}

.sp_nav_btn span:nth-child(2) {
    transition: ease .4s;
    position: absolute;
    top: 44px;
    right: 24px;
    display: block;
    width: 32px;
    height: 1px;
    background-color: #fff;
}

/* ハンバーガーメニュークリック後の挙動 */
.sp-nav.active {
    transform: translateY(0);
    
}

.sp_nav_btn.active span:nth-child(1) {
    transform: rotate(45deg);
    top: 44px;
}

.sp_nav_btn.active span:nth-child(2) {
    transform: rotate(-45deg);
}

/* .sp_nav_under{
    position: fixed;
    bottom: 0;
    background-color: #34583E;
    width: 100%;
}

.sp_nav_under_wrapper{
    display: flex;
    align-items: center;
    padding: 13px 0;
}

.sp_nav_under_wrapper li{
    width: 50%;
    height: auto;
    text-align: center;
}

.sp_nav_under_wrapper li:nth-child(1){
    border-right: solid 1px #fff;
}

.sp_nav_under_wrapper li img{
    width: 66px;
    height: auto;
}

.sp_nav_under_wrapper li p{
    font-size: 2.0rem;
    letter-spacing: 2px;
    color: #fff;
} */

main {
    background-color: #F6F3E7;
}

/* メインビジュアル */
.mainvisual_section {
    /* background: url(../img/mainvisual1.jpg) no-repeat center center/cover;
    width: 100%;
    height: 100vh; */
    position: relative;
}

/* .mainvisual_section {
    width: 100%;
    height: 100vh;
    position: relative;
}*/ 

.mainvisual_inner {
    width: 100%;
    height: 100vh;
    
}

.mainvisual_img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    object-position: center;
    transition: opacity 1s ease-out;
} 



.text_wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    text-align: center;
    width: 326px;
    z-index: 2;
}

.site_title {
    font-size: 2.0rem;
    font-weight: 400;
    letter-spacing: 2px;
}

.site_title_sub {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 1.6px;
    margin-bottom: 10px;
}

.date {
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 1.2px;
}

/* はじめに */

.js_fadein {
    opacity: 0;
    /* 最初は透明 */
    transform: translateY(30px);
    /* 30px 下にずらす */
    transition: opacity 1s ease-out, transform 1s ease-out;
}

.js_fadein.active {
    opacity: 1;
    transform: translateY(0);
}


.lead_section {
    padding-top: 60px;
    margin-bottom: 40px;
}

.lead_title {
    text-align: center;
    margin-bottom: 35px;
}

.lead_section_wrapper1 {
    position: relative;
    padding-top: 294px;
    margin-bottom: 56px;
}

.lead_img1 {
    position: absolute;
    top: 0;
    left: 0;
    /* width: 320px; */
    width: 85.333333%;
    height: auto;
}

.lead_img2 {
    position: absolute;
    top: 165px;
    right: 0;
    width: 148px;
    height: auto;
}

.lead_text1 {
    margin: 0 30px 20px;
}

.lead_text2 {
    margin: 0 30px;
}

.lead_img3 {
    width: 100%;
    height: auto;
    margin-bottom: 50px;
}

.lead_text3 {
    margin: 0 30px 50px;
}

.lead_img_wrapper2 {
    position: relative;
    padding-top: 330px;
    margin-bottom: 45px;
}

.lead_img4 {
    position: absolute;
    top: 0;
    right: 0;
    width: 267px;
    height: auto;
}

.lead_img5 {
    position: absolute;
    top: 95px;
    left: 0;
    width: 146px;
    height: auto;
}

.lead_text4 {
    margin: 0 30px 55px;
}

.lead_img6 {
    width: 100%;
    height: auto;
}



/* 開催概要 */
.outline_section {
    background: url(../img/outline_bgimg.jpg) no-repeat center center/cover;
    padding: 80px 30px;
}

.outline_title {
    color: #fff;
    margin-bottom: 30px;
}

.outline_title::before {
    content: "OUTLINE";
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 2.4px;
    color: #fff;
    display: block;
    padding-left: 2px;
}

.outline_inner {
    color: #fff;
    font-size: 1.6rem;
    letter-spacing: 0;
    margin-bottom: 40px;
}

.outline_subtext p{
    font-size: 1.4rem;
    color: #fff;
    margin-bottom: 10px;
}

.outline_subtext p:last-child{
    margin-bottom: 0;
}

.outline_subtext p a{
    text-decoration: underline;
}

.outline_inner dt {
    border-bottom: solid 1px #fff;
    display: flex;
    align-items: center;
    padding-bottom: 4px;
    margin-bottom: 4px;
}

.outline_inner span {
    content: "";
    display: inline-block;
    align-items: center;
    margin: 12px 7px 0 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 12px solid #fff;
    transform: translateY(-50%);
}

.outline_inner dd {
    margin-bottom: 16px;
}

.outline_inner dd:last-child {
    margin-bottom: 0;
}

/* 日程について */
.schedule_section {
    padding: 80px 0;
}

.schedule_title {
    margin: 0 0 30px 30px;
}

.schedule_title::before {
    content: "SCHEDULE";
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 2.4px;
    color: #533C39;
    display: block;
    padding-left: 5px;
}

.schedule_img {
    width: 100%;
}

.day_inner {
    padding: 30px 30px 80px;
}

.day_title {
    font-size: 3.6rem;
    color: #533C39;
    margin-bottom: 10px;
}

.day3-4 .day_title{
    margin-bottom: 0;
}

.day_title span {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 500;
    color: #533C39;
    margin-left: 10px;
}

.tab_area {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.day1_tab_btn.active,
.day5-6_tab_btn.active {
    display: inline-block;
    padding: 6px 20px 7px 21px;
    background-color: #533C39;
    color: #fff;
}

.day1_tab_btn,
.day5-6_tab_btn {
    display: inline-block;
    padding: 6px 20px 7px 21px;
    background-color: #E9DAAA;
    color: #333333;
    cursor: pointer;
}

.day1_tab_btn:hover,
.day5-6_tab_btn:hover {
    opacity: 0.8;
}

.day1_tab_btn.active:hover,
.day5-6_tab_btn.active:hover {
    cursor: default;
    opacity: 1;
}

.day1_panel,
.day5-6_panel {
    display: none;
}

.day1_panel.active,
.day5-6_panel.active,
.timetable_inner {
    display: grid;
    grid-template-columns: 30% 70%;
    row-gap: 16px;
    margin-bottom: 16px;
}

.day5-6_panel.active a {
    all: revert;
}

.day1_panel.active dt,
.day5-6_panel.active dt,
.timetable dl dt {
    font-size: 1.6rem;
    border-bottom: solid 1px #333333;
    padding-bottom: 16px;
}

.day1_panel.active dt::before,
.day5-6_panel.active dt::before,
.timetable dl dt::before {
    content: "";
    background: url(../img/time_icon.png) no-repeat center center/cover;
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 10px;
}

.day1_panel.active dd,
.day5-6_panel.active dd,
.timetable dl dd {
    /* margin-top: -2px; */
    font-size: 1.6rem;
    letter-spacing: 0.7px;
    border-bottom: solid 1px #333333;
    padding: 0 0 16px 12px;
}

.timetable_subtext {
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.7px;
    margin-bottom: 8px;
}

.timetable_subtext:last-child{
    margin-bottom: 0;
}

.timetable_subtext a {
    all: revert;
}

.day3-4_text {
    padding-bottom: 25px;
}

.googlelist_btn {
    background-color: #533C39;
    text-align: center;
    color: #fff;
    padding: 10px 0;
    margin-bottom: 30px;
}

/* .day3-4_subtext {
    font-size: 1.4rem;
    letter-spacing: 0.7px;
    margin: 10px 0 20px;
    border-top: solid 1px #333333;
    padding-top: 10px;
} */

/* 画像スライダー */

.img_slide{
    width: 300px;
    height: auto;
    margin-right: 5px;
}

.img_slide:last-child{
    margin-right: 0;
}
    
/* 集合場所 */
.access_section {
    padding: 80px 30px;
    background: #EBE6D6 url(../img/access_bgimg.svg) repeat center center/cover;
    /* background-blend-mode: multiply; */
}

.access_title {
    font-size: 2.4rem;
    margin-bottom: 20px;
}

.access_title::before {
    content: "ACCESS";
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 2.4px;
    color: #533C39;
    display: block;
    padding-left: 3px;
}

.title_kansai,
.title_narita{
    display: flex;
    font-size: 2.0rem;
    border-bottom: solid 1px #333333;
    margin-bottom: 15px;
}

.title_kansai span,
.title_narita span{
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 12px solid #333;
    transform: translateY(-50%);
    margin: 20px 10px 0 0;
}

.access_text{
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    line-height: 1.5;
    margin-bottom: 18px;
}

.map_caption{
    font-size: 1.4rem;
    letter-spacing: 1.4px;
    color: #E50014;
}

.kansai_airport_map{
    border: solid 1px #333333;
    margin-bottom: 30px;
}

.narita_airport_map img{
    border: solid 1px #333333;
}


/* ご当地おすすめ情報 */
.pickup_section {
    padding: 80px 0 0;
}

.pickup_title {
    font-size: 2.4rem;
    margin: 0 0 20px 30px;
}

.pickup_title::before {
    content: "PICK UP";
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 2.4px;
    color: #533C39;
    display: block;
    padding-left: 5px;
}

.pickup_text {
    letter-spacing: 1.6px;
    line-height: 2.0;
    margin: 0 30px 46px;
}

.gourmet_title,
.touristspot_title {
    position: relative;
}

.gourmet_img img,
.touristspot_img img {
    width: 100vw;
    height: auto;
}

.gourmet_text_wrapper {
    position: relative;
    background-color: #533C39;
    padding: 50px 38px 0;
    height: 260px;
}

.touristspot_text_wrapper {
    position: relative;
    background-color: #34583E;
    padding: 50px 38px 0;
    height: 260px;
}

.gourmet_title,
.touristspot_title {
    font-size: 2.0rem;
    color: #fff;
    letter-spacing: 1px;
    margin-bottom: 10px;
    text-align: center;
}

.gourmet_text,
.touristspot_text {
    color: #fff;
    letter-spacing: 0.8px;
    line-height: 2.0;
}

.gourmet_text_wrapper span,
.touristspot_text_wrapper span {
    background: url(../img/pickup_ornament_blown.png) no-repeat center center/cover;
    display: inline-block;
    width: 110px;
    height: 110px;
    position: absolute;
}

.gourmet_text_wrapper span:nth-of-type(1),
.touristspot_text_wrapper span:nth-of-type(1) {
    top: 0;
    right: 0;
}

.gourmet_text_wrapper span:nth-of-type(2),
.touristspot_text_wrapper span:nth-of-type(2) {
    bottom: 0;
    right: 0;
    transform: rotate(90deg);
}

.gourmet_text_wrapper span:nth-of-type(3),
.touristspot_text_wrapper span:nth-of-type(3) {
    top: 0;
    left: 0;
    transform: rotate(-90deg);
}

.gourmet_text_wrapper span:nth-of-type(4),
.touristspot_text_wrapper span:nth-of-type(4) {
    bottom: 0;
    left: 0;
    transform: rotate(-180deg);
}

.swiper-slide {
    position: relative;
}

.swiper-button-prev::after,
.swiper-button-next::after {
    position: absolute;
    bottom: 120px;
    color: #fff;
    z-index: 100;
}

.swiper-pagination {
    width: 100% !important;
    position: absolute !important;
    bottom: 28px !important;
    display: flex !important;
    column-gap: 14px !important;
    z-index: 100 !important;
    justify-content: center !important;
    align-items: center;
}

.swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    list-style: none !important;
    background-color: #8D8989 !important;
    cursor: pointer !important;
}

.swiper-pagination-bullet-active {
    background-color: #fff !important;
}


/* 注意事項について */
.announce_section {
    padding: 80px 30px;
}

.announce_title {
    font-size: 2.4rem;
    margin-bottom: 30px;
}

.announce_title::before {
    content: "ANNOUNCE";
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 2.4px;
    padding-left: 2px;
    color: #533C39;
    display: block;
}

.announce_title_sub{
    background-color: #533C39;
    color: #fff;
    font-size: 1.8rem;
    letter-spacing: 1.8px;
    padding: 9px 0 9px 24px;
    margin-bottom: 16px;
}

.announce_text{
    margin: 0 0 24px 8px;
}

.announce_text a {
    all: revert;
}

.process_title,
.check_list_title{
    display: flex;
    font-size: 1.6rem;
    border-bottom: solid 1px #333333;
    margin-bottom: 15px;
}

.process_title span,
.check_list_title span{
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 12px solid #333;
    transform: translateY(-50%);
    margin: 17px 10px 0 0;
}

.process_wrapper{
    margin-bottom: 60px;
}

.process_list{
    border-bottom: solid 1px #333333;
}

.process_list li{
    display: flex;
    font-size: 1.5rem;
    display: block;
    margin-bottom: 24px;
}

.process_heading{
    background-color: #EBE6D6;
    padding-left: 16px;
    margin-bottom: 10px;
}

.process_text{
    padding-left: 16px;
}

.process_text a{
    all: revert;
}

.process_sub_text{
    margin-bottom: 48px;
}

.check_list{
    border-bottom: solid 1px #333333;
    margin-bottom: 10px;
}

.check_list li{
    font-size: 1.5rem;
    margin-bottom: 24px;
}

.check_list_heading{
    background-color: #EBE6D6;
    padding-left: 16px;
    margin-bottom: 10px;
}

.check_list_heading span{
    letter-spacing: 0;
}

.check_list_text{
    padding-left: 16px;
    margin-bottom: 8px;
}

.check_list_subtext{
    font-size: 1.4rem;
    letter-spacing: 0.7px;
}

/* WCJ海外フォーラム公式LINE */
.line_section {
    background: url(../img/line_bgimg.jpg) no-repeat top center/cover;
    width: 100%;
    height: 100%;
    padding: 80px 0;
}

.line_title {
    font-size: 2.4rem;
    color: #fff;
    letter-spacing: 0.48px;
    margin-bottom: 12px;
    text-align: center;
}

.line_title span{
    display: block;
    font-size: 2.4rem;
    font-weight: 500;
    margin-top: -12px;
}

.line_title::before {
    content: "参加者限定オープンチャット";
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 1.6px;
    color: #fff;
    display: block;
    text-align: center;
    margin-bottom: 8px;
}

.line_text {
    font-size: 1.6rem;
    color: #fff;
    letter-spacing: 1.6px;
    line-height: 2.0;
    width: 80%;
    text-align: center;
    margin: 0 auto 24px;
}

.openchat_wrapper{
    padding: 0 30px;
}

.openchat_title{
    color: #333;
    background-color: #fff;
    padding: 4px 0;
    text-align: center;
    margin-bottom: 24px;
    position: relative;
}

.openchat_title::before{
    content: "";
    background: url(../img/openchat_ornament.png) no-repeat center center/cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 39px;
    height: 40px;
}

.openchat_title::after{
    content: "";
    background: url(../img/openchat_ornament.png) no-repeat center center/cover;
    position: absolute;
    top: 0;
    right: 0;
    width: 39px;
    height: 40px;
    transform: rotate(180deg);
}

.openchat_list{
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    row-gap: 10px;
}

.openchat_list li{
    color: #fff;
    font-size: 1.5rem;
    line-height: 1.7;
    text-indent: -2em;
    padding-left: 2em;
}

.line_section .btn_wrapper {
    display: flex;
    justify-content: center;
}

.line_btn {
    width: fit-content;
    background-color: #16AD54;
    padding: 4px 15px;
    display: flex;
    column-gap: 6px;
}

.line_btn p {
    color: #fff;
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    display: flex;
    align-items: center;
}

.line_btn img {
    width: 32px;
    height: auto;
}

/* フッター */

footer {
    background: #533C39 url(../img/footer_bgimg.svg) repeat center center/cover;
    /* background-blend-mode: multiply; */
    padding: 80px 30px 18px;
}

.footer_nav{
    margin-bottom: 60px;
}

.footer_nav a{
    display: block;
    /* padding-bottom: 10px; */
    margin-bottom: 16px;
    /* border-bottom: solid 1px #fff; */
}

.footer_nav a:last-child{
    margin-bottom: 0;
}

.footer_nav a li {
    color: #fff;
    font-size: 2.0rem;
    font-weight: 500;
    text-align: center;
    letter-spacing: 2.0px;
}

.copyright {
    font-size: 1.0rem;
    color: #fff;
    letter-spacing: 0.5px;
    text-align: center;
}

/* レスポンシブ */
@media (max-width: 374px) {
    .day1_panel.active,
    .day5-6_panel.active,
    .timetable_inner {
        grid-template-columns: 35% 65%;
    }

    .day_title span{
        display: none;
    }

}


@media  (min-width: 414px) and (max-width: 999px) {
    /* 共通 */

    body {
        font-size: 3.8647343vw;
        /* line-height: 7.729469vw;
        letter-spacing: 0.386473vw; */
    }

    /* ドロワーメニュー */

.sp_nav_item {
    padding: 38.647343vw 7.246377vw 10.386473vw;
}

.sp_nav_item_wrapper {
    gap: 4.830918vw;
    padding-bottom: 8.937198vw;
    
}

.sp_nav_item_wrapper li {
    font-size: 4.830918vw;
    letter-spacing: 0.483092vw;
    /* border-bottom: solid 0.241546vw #fff; */
}

/* .sp_nav_item_wrapper li::before {
    font-size: 2.415459vw;
    letter-spacing: 0.483092vw;
}

.sp_nav_item_wrapper li:nth-child(1)::before {
    margin-left: 0.483092vw;
}

.sp_nav_item_wrapper li:nth-child(2)::before {
    margin-left: 0.724638vw;
}

.sp_nav_item_wrapper li:nth-child(3)::before {
    margin-left: 0.241546vw;
}

.sp_nav_item_wrapper li:nth-child(4)::before {
    margin-left: 0.966184vw;
}

.sp_nav_item_wrapper li:nth-child(5)::before {
    margin-left: 0.483092vw;
} */

    .sp_nav_btn {
        width: 19.323671vw;
        height: 19.323671vw;
    }

    .sp_nav_btn span:nth-child(1) {
        top: 8.695652vw;
        right: 5.797101vw;
        width: 7.729469vw;
        height: 0.241546vw;
    }

    .sp_nav_btn span:nth-child(2) {
        top: 10.628019vw;
        right: 5.797101vw;
        width: 7.729469vw;
        height: 0.241546vw;
    }

    /* ハンバーガーメニュークリック後の挙動 */
    .sp_nav_btn.active span:nth-child(1) {
        top: 10.628019vw;
    }

    /* メインビジュアル */
    .text_wrapper {
        width: 78.743961vw;
    }

    .site_title {
        font-size: 4.830918vw;
        letter-spacing: 0.483092vw;
    }

    .site_title_sub {
        font-size: 3.864734vw;
        letter-spacing: 0.386473vw;
        margin-bottom: 2.415459vw;
    }

    .date {
        font-size: 2.898551vw;
        letter-spacing: 0.289855vw;
    }


    /* はじめに */
    .lead_section {
        padding-top: 19.323671vw;
        margin-bottom: 9.6661836vw;
    }

    .lead_title {
        font-size: 5.797101vw;
        margin-bottom: 8.454106vw;
    }

    .lead_section_wrapper1 {
        padding-top: 71.014493vw;
        margin-bottom: 27.028986vw;
    }

    .lead_img1 {
        width: 85.066667vw;
    }

    .lead_img2 {
        top: 39.855072vw;
        width: 39.466667vw;
    }

    .lead_text1 {
        margin: 0 7.246377vw 4.83091787vw;
    }

    .lead_text2 {
        margin: 0 7.246377vw;
    }

    .lead_img3 {
        margin-bottom: 12.077295vw;
    }

    .lead_text3 {
        margin: 0 7.246377vw 12.077295vw;
    }

    .lead_img_wrapper2 {
        padding-top: 79.710145vw;
        margin-bottom: 10.869565vw;
    }

    .lead_img4 {
        width: 71.2vw;
    }

    .lead_img5 {
        top: 22.94686vw;
        width: 38.933333vw;
    }

    .lead_text4 {
        margin: 0 7.246377vw 13.043478vw;
    }



    /* 開催概要 */
    .outline_section {
        padding: 19.323671vw 7.246377vw;
    }

    .outline_title {
        font-size: 5.797101vw;
        margin-bottom: 7.24637681vw;
    }

    .outline_title::before {
        font-size: 2.898551vw;
        letter-spacing: 0.57971vw;
        padding-left: 0.57971vw;
    }

    .outline_inner {
        font-size: 3.8647343vw;
        margin-bottom: 9.66183575vw;
    }

    .outline_subtext p{
        font-size: 3.38164251vw;
        margin-bottom: 2.41545894vw;
    }

    .outline_inner dt {
        border-bottom: solid 0.241546vw #fff;
        padding-bottom: 0.966183575vw;
        margin-bottom: 0.966183575vw;
    }

    .outline_inner span {
        margin: 2.89855072vw 1.6982126vw 0 0;
        border-top: 1.207729vw solid transparent;
        border-bottom: 1.207729vw solid transparent;
        border-left: 2.898551vw solid #fff;
    }

    .outline_inner dd {
        margin-bottom: 3.8647343vw;
    }


    /* 日程について */
    .schedule_section {
        padding: 19.323671vw 0;
    }

    .schedule_title {
        font-size: 5.797101vw;
        margin: 0 0 7.24637681vw 7.246377vw;
    }

    .schedule_title::before {
        font-size: 2.898551vw;
        letter-spacing: 0.57971vw;
        padding-left: 1.449275vw;
    }

    .schedule_img {
        width: 100%;
    }

    .day_inner {
        padding: 7.246377vw 7.246377vw 20.845411vw;
    }

    .day_title {
        font-size: 8.695652vw;
        margin-bottom: 2.41545894vw;
    }

    .day_title span {
        font-size: 3.467633vw;
        margin-left: 2.415459vw;
    }

    .tab_area {
        gap: 2.415459vw;
        margin-bottom: 4.830918vw;
    }

    .day1_tab_btn.active,
    .day5-6_tab_btn.active {
        padding: 1.467633vw 4.830918vw 1.661836vw 4.830918vw;
    }

    .day1_tab_btn,
    .day5-6_tab_btn {
        padding: 1.467633vw 4.830918vw 1.661836vw 4.830918vw;
    }

    .day1_panel.active,
    .day5-6_panel.active,
    .timetable_inner{
        grid-template-columns: 27% 73%;
        row-gap: 3.467633vw;
        margin-bottom: 3.467633vw;
    }

    .day1_panel.active dt,
    .day5-6_panel.active dt,
    .timetable dl dt {
        font-size: 3.62318841vw;
        border-bottom: solid 0.241546vw #333333;
        padding-bottom: 3.467633vw;
    }

    .day1_panel.active dt::before,
    .day5-6_panel.active dt::before,
    .timetable dl dt::before {
        width: 3.467633vw;
        height: 3.467633vw;
        margin-right: 2.415459vw;
    }

    .day1_panel.active dd,
    .day5-6_panel.active dd,
    .timetable dl dd {
        font-size: 3.62318841vw;
        letter-spacing: 0.166184vw;
        border-bottom: solid 0.241546vw #333333;
        padding: 0 0 3.467633vw 2.898551vw;
    }

    .timetable_subtext {
        font-size: 3.467633vw;
        line-height: 5.07246377vw;
        letter-spacing: 0.166184vw;
        margin-bottom: 1.93236715vw;
    }

    .day3-4_text {
        font-size: 3.864734vw;
        padding-bottom: 6.038647vw;
    }

    .day3-4_subtext {
        font-size: 3.467633vw;
        letter-spacing: 0.166184vw;
        margin: 2.415459vw 0 4.830918vw;
    }

    .googlelist_btn {
        padding: 2.415459vw 0;
    }

    .img_slide{
    width: 72.463768vw;
    height: auto;
    margin-right: 2.415459vw;
    }


/* 集合場所 */

    .access_section {
        padding: 19.323671vw 7.246377vw;
    }

    .access_title {
        font-size: 5.797101vw;
        margin-bottom: 4.83091787vw;
    }

    .access_title::before {
        font-size: 2.898551vw;
        letter-spacing: 0.57971vw;
        padding-left: 0.57971vw;
    }

    .title_kansai,
    .title_narita{
        font-size: 4.830918vw;
        border-bottom: solid 0.241546vw #333333;
        margin-bottom: 3.467633vw;
    }

    .title_kansai span,
    .title_narita span{
        border-top: 1.207729vw solid transparent;
        border-bottom: 1.207729vw solid transparent;
        border-left: 2.898551vw solid #333;
        margin: 3.864734vw 2.415459vw 0 0;
    }

    .access_text{
        font-size: 3.864734vw;
        letter-spacing: 0.193237vw;
        line-height: 5.79710145vw;
        margin-bottom: 3.467633vw;
    }

    .map_caption{
        font-size: 3.381643vw;
        letter-spacing: 0.338164vw;
    }

    .kansai_airport_map{
        border: solid 0.241546vw #333333;
        margin-bottom: 7.246377vw;
    }

    .narita_airport_map img{
        border: solid 0.241546vw #333333;
    }
    

    /* ご当地おすすめ情報 */
    .pickup_section {
        padding: 19.323671vw 0 0;
    }

    .pickup_title {
        font-size: 5.797101vw;
        margin: 0 0 4.83091787vw 7.246377vw;
    }

    .pickup_title::before {
        font-size: 2.898551vw;
        letter-spacing: 0.57971vw;
        padding-left: 1.449275vw;
    }

    .pickup_text {
        letter-spacing: 0.38647343vw;
        line-height: 7.729469vw;
        margin: 0 7.246377vw 11.603773vw;
    }

    .gourmet_text_wrapper,
    .touristspot_text_wrapper {
        padding: 12.077295vw 9.178744vw 0;
        height: 62.801932vw;
    }

    .gourmet_title,
    .touristspot_title {
        font-size: 4.830918vw;
        letter-spacing: 0.241546vw;
        margin-bottom: 2.415459vw;
    }

    .gourmet_text,
    .touristspot_text {
        font-size: 3.864734vw;
        letter-spacing: 0.193237vw;
        line-height: 7.729469vw;
    }

    .gourmet_text_wrapper span,
    .touristspot_text_wrapper span {
        width: 26.570248vw;
        height: 26.570248vw;
    }

    /* swiperカスタマイズ */
    /* .swiper-button-prev {
        top: 27.028986vw;
        left: 3.467633vw;
        z-index: 100;
        border-top: solid 0.57971vw #fff;
        border-left: solid 0.57971vw #fff;
        width: 6.521739vw;
        height: 6.521739vw;
    }

    .swiper-button-next {
        top: 27.028986vw;
        right: 3.467633vw;
        z-index: 100;
        border-top: solid 0.57971vw #fff;
        border-left: solid 0.57971vw #fff;
        width: 6.521739vw;
        height: 6.521739vw;
    }

    .swiper-pagination {
        width: 100%;
        bottom: 6.763285vw;
        column-gap: 3.467633vw;
        z-index: 100;
    }

    .swiper-pagination-bullet {
        width: 1.932367vw;
        height: 1.932367vw;
    } */

.swiper-button-prev::after,
.swiper-button-next::after {
    bottom: 28.985507vw !important;
}

.swiper-pagination {
    bottom: 6.763285vw !important;
    column-gap: 3.467633vw !important;
}

.swiper-pagination-bullet {
    width: 1.932367vw !important;
    height: 1.932367vw !important;
}

/* 注意事項について */
.announce_section {
    padding: 19.323671vw 7.246377vw;
}

.announce_title {
    font-size: 5.797101vw;
}

.announce_title::before {
    font-size: 2.898551vw;
    letter-spacing: 0.57971vw;
    padding-left: 0.483091787vw;
}

.announce_title_sub{
    font-size: 4.347826vw;
    letter-spacing: 0.434783vw;
    padding: 2.173913vw 0 2.173913vw 5.797101vw;
    margin-bottom: 3.8647343vw;
}

.announce_text{
    margin: 0 0 5.79710145vw 1.93236715vw;
}

.process_title,
.check_list_title{
    font-size: 3.8647343vw;
    border-bottom: solid 0.241546vw #333333;
    margin-bottom: 3.467633vw;
}

.process_title span,
.check_list_title span{
    border-top: 1.207729vw solid transparent;
    border-bottom: 1.207729vw solid transparent;
    border-left: 2.898551vw solid #333;
    margin: 4.10628019vw 2.415459vw 0 0;
}

.process_wrapper{
    margin-bottom: 14.4927536vw;
}

.process_list{
    border-bottom: solid 0.241546vw #333333;
}

.process_list li{
    font-size: 3.381643vw;
}

.process_sub_text{
    margin-bottom: 11.594203vw;
}

.check_list{
    border-bottom: solid 0.241545894vw #333333;
    margin-bottom: 2.41545894vw;
}

.check_list li{
    font-size: 3.62318841vw;
    margin-bottom: 5.79710145vw;
}

.check_list_heading{
    padding-left: 3.8647343vw;
    margin-bottom: 2.41545894vw;
}

.check_list_text{
    padding-left: 3.8647343vw;
    margin-bottom: 1.93236715vw;
}

.check_list_subtext{
    font-size: 3.38164251vw;
    letter-spacing: 0.169082126vw;
}


    /* WCJ海外フォーラム公式LINE */
    .line_section {
    padding: 19.3236715vw 0;
}

.line_title {
    font-size: 5.79710145vw;
    letter-spacing: 0.115942029vw;
    margin-bottom: 2.89855072vw;
}

.line_title::before {
    font-size: 3.8647343vw;
    letter-spacing: 0.38647343vw;
    margin-bottom: 1.93236715vw;
}

.line_text {
    font-size: 3.8647343vw;
    letter-spacing: 0.38647343vw;
    margin: 0 auto 5.79710145vw;
}

.openchat_wrapper{
    padding: 0 7.24637681vw;
}

.openchat_title{
    padding: 0.966183575vw 0;
    margin-bottom: 5.79710145vw;
}

.openchat_title::before{
    width: 9.42028986vw;
    height: 9.66183575vw;
}

.openchat_title::after{
    width: 9.42028986vw;
    height: 9.66183575vw;
}

.openchat_list{
    margin-bottom: 5.79710145vw;
    row-gap: 2.41545894vw;
}

.openchat_list li{
    font-size: 3.62318841vw;
    line-height: 6.15942029vw;
    text-indent: -7.24637681vw;
    padding-left: 7.24637681vw;
}

.line_btn {
    padding: 0.966183575vw 3.62318841vw;
    column-gap: 1.44927536vw;
}

.line_btn p {
    font-size: 3.8647343vw;
    letter-spacing: 0.38647343vw;
}

.line_btn img {
    width: 7.7294686vw;
    height: auto;
}

    /* フッター */

    footer {
        padding: 19.3236715vw 7.246377vw 4.347826vw;
    }

    .footer_nav{
        margin-bottom: 14.4927536vw;
    }

    .footer_nav a{
    /* padding-bottom: 10px; */
    margin-bottom: 3.8647343px;
    /* border-bottom: solid 1px #fff; */
    }

    .footer_nav a:last-child{
        margin-bottom: 0;
    }

    .footer_nav a li {
        font-size: 4.83091787vw;
        letter-spacing: 0.483091787vw;
        margin-bottom: 3.864734vw;
    }

    .footer_nav li:last-child {
        margin-bottom: 4.830918vw;
    }

    .copyright {
        font-size: 2.415459vw;
        letter-spacing: 0.120773vw;
    }
}

@media (min-width: 1000px) {
    .pc_mainvisual {
        background-image: url(../img/pc_background_img.jpg);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        background-attachment: fixed;
    }

    .sp_nav{
        width: 400px;
        height: 100dvh;
        margin: 0 auto;
        overflow: hidden;
    }

    .sp_nav_item{
        width: 400px;
        height: 100dvh;
        margin: 0 auto; 
    }

    .sp_nav_btn{
        right: calc(50% - 200px);
        margin: 0 auto;
    }

    main,
    footer {
        width: 400px;
        margin: 0 auto;
    }
}