@charset "UTF-8";

@import url("https://use.typekit.net/vaa4avh.css");
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Libre+Caslon+Text:ital,wght@0,400;0,700;1,400&family=Metal&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Raleway:ital,wght@0,100..900;1,100..900&family=Zen+Old+Mincho&display=swap');

/*----------------------------------------
 全体
----------------------------------------*/

html,body{
height: 100%;
}

body{
font-size: 15px;
line-height: 2;
font-weight: 400;
font-family: "Noto Sans JP", sans-serif;
color: #333;
-webkit-text-size-adjust: 100%;
word-wrap: break-word;
min-height: 100vh;
font-feature-settings: "palt";
-webkit-font-feature-settings: "palt";
-moz-font-feature-settings: "palt";
letter-spacing: 2px;
}

*,
*:before,
*:after{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

a,
a:link{
/* color: #194980; */
/* text-decoration: none; */
}

a:hover{
color: #9f1718;
}

a:visited{
color: #194980;
}

img{
width: 100%;
height: auto;
flex-shrink: 0;
vertical-align: bottom;
-webkit-backface-visibility: hidden;
}

a img:hover{
opacity: 0.7;
transition: 0.5s;
}

div,
a,
p,
img{
min-height: 0%; /* IE11設定 */
}

/*----------------------------------------
 header
----------------------------------------*/

.header {
position: fixed;
top: 0;
left: 0;
z-index: 999;
background: #fff;
padding: 14px 3.8%;
width: 100%;
}

.header_inner {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 1324px;
width: 100%;
margin: 0 auto;
}

.header_logo {
margin: 0;
line-height: 0;
flex-shrink: 0;
}

.header_logo img {
display: block;
height: 76px;
width: auto;
}

/* グロナビ・メニュー */
.header_nav {
display: flex;
align-items: center;
gap: 40px;
}

.header_menu {
display: flex;
align-items: center;
list-style: none;
margin: 0;
padding: 0;
}

.header_menu li {
position: relative;
padding: 0 20px;
}

.header_menu li:first-child {
padding-left: 0;
}

.header_menu_privacy {
display: none;
}

.header_menu li:not(:last-child):not(.header_menu_privacy)::after {
content: "";
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
width: 2px;
height: 15px;
background: #F0EDE6;
}

.header_menu li:last-child::after {
display: none;
}

.header_menu a {
display: block;
color: #333;
font-size: 15px;
font-weight: bold;
text-decoration: none;
white-space: nowrap;
}

.header_menu a::before{
border-bottom: dotted 2px #64852F;
top: 33px;
content: "";
display: block;
position: relative;
transition: all .3s ease;
-webkit-transition: all .3s ease;
opacity: 0;
transform: translateY(8px);
width: 100%;
}

.header_menu a:hover::before{
opacity: 1;
transform: translateY(0);
}

.header_menu li.current_page_item > a::before,
.header_menu li.current-menu-item > a::before,
.header_menu li.current-menu-parent > a::before,
.header_menu li.current_page_parent > a::before,
.header_menu li.current-menu-ancestor > a::before {
opacity: 1;
transform: translateY(0);
}

.header_menu li:first-child.current_page_item > a::before,
.header_menu li:first-child.current-menu-item > a::before{
opacity:0;
transform:translateY(10px);
}

.header_menu a:hover {
opacity: 1;
}

.menu_btn {
display: none;
}

body.is-menu-open {
overflow: hidden;
}

/*----------------------------------------
 main
----------------------------------------*/

main{
padding-top: var(--header-height);
display: block;
}

/*----------------------------------------
 section
----------------------------------------*/

section {
width: 100%;
}


/*----------------------------------------
 figure
----------------------------------------*/

figure {
position: relative;
display: block;
width: 100%;
}

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

.main_v{
position: relative;
}

.main_v_slider{
width: 100%;
}

.main_v_slide{
position: relative;
display: block;
width: 100%;
height: 100%;
aspect-ratio: 1440 / 618;
max-height: 626px;
background: center center / cover no-repeat;
}

.main_v_slide.img01{
background-image: url("../img/mv01.webp");
}

.main_v_bg picture,
.main_v_bg img{
display: block;
width: 100%;
height: auto;
}

.main_v_text{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 99;
width: 69.5%;
max-width: 1000px;
}

.main_v_text picture,
.main_v_text img{
display: block;
width: 100%;
height: auto;
}

/*----------------------------------------
 page
----------------------------------------*/

.page{
width: 100%;
display: flex;
justify-content: center;
align-items: flex-start;
flex-wrap: wrap;
}

.page_inner{
width: 90%;
max-width: 1144px;
display: flex;
justify-content: center;
align-items: flex-start;
flex-wrap: wrap;
}

.page_inner2{
width: 87.4%;
max-width: 1000px;
padding: 80px 0;
display: flex;
justify-content: center;
align-items: flex-start;
flex-wrap: wrap;
}

.page_title{
width: 100%;
height: 363px;
padding: 30px;
display: flex;
justify-content: center;
align-items: center;
background-position: bottom;
background-repeat: no-repeat;
background-size: cover;
background-color: #FAFAF3;
background-image: url("../img/page_ttl_bg.png");
}
.page_title:before{
content: "";
display: block;
padding-top: 37.35%;
}

/* 固定ページタイトル背景（ページ名）_title_bg */
.page_title.event_title_bg{
background-image: url("../img/event_ttl_bg01.png");
}

h2.page_title_head{
font-size: 36px;
font-weight: bold;
line-height: 1;
text-align: center;
letter-spacing: 0.3rem;
color: #1F1714;
padding: 50px 10px;
margin: 0;
border-radius: 16px;
/* outline: 5px dashed #5EA4E4; */
/* outline-offset: -15px; */
background-position: center;
background-repeat: no-repeat;
background-size: contain;
background-image: url("../img/page_ttl_bg02.png");
position: relative;
z-index: 2;
}

h2.page_title_head::before{
content: "";
position: absolute;
width: 11.3%;
max-width: 92px;
height: 44%;
top: 5px;
left: 50%;
transform: translateX(calc(-50% - 180px));
background-position: center;
background-repeat: no-repeat;
background-size: cover;
background-image: url("../img/page_obj01.svg");
z-index: 9;
}

h2.page_title_head::after{
content: "";
position: absolute;
width: 7%;
max-width: 57px;
height: 53.6%;
bottom: -15px;
left: 50%;
transform: translateX(calc(-50% + 190px));
background-position: center;
background-repeat: no-repeat;
background-size: cover;
background-image: url("../img/page_obj02.svg");
z-index: 9;
}

/*----------------------------------------
 headline
----------------------------------------*/

h2 {
font-size: 35px;
color: #1F1714;
line-height: 1.75;
font-weight: bold;
display: inline-block;
text-align: center;
width: 100%;
}

h3{
font-size: 45px;
font-family: "Raleway", sans-serif;
font-weight: bold;
line-height: 1;
color: #1F1714;
display: inline-block;
margin: 0 0;
padding: 0 0;
text-align: left;
width: 100%;
}

h3 .head{
color: #64852F;
}

h3 .sub{
font-size: 18px;
display: inline-block;
position: relative;
top: -10px;
width: 100%;
}

h4{
font-size: 20px;
font-weight: bold;
display: inline-block;
margin: 0 0;
padding: 0 0;
text-align: center;
width: 100%;
}

h5{
font-weight: normal;
display: inline-block;
margin: 0 0;
padding: 0 0;
width: 100%;
}

p{
font-size: 16px;
font-weight: normal;
}


sup.top {
font-size: 50%;
vertical-align: top;
}

sup.bottom {
font-size: 50%;
vertical-align: bottom;
}

/*----------------------------------------
 sec01
----------------------------------------*/

.sec01{
background: #FAFAF3;
}

.sec01 .page_inner{
padding: 120px 0 60px;
z-index: 1;
}

.sec01 .page_inner h2 span{
display: block;
border-bottom: dashed 2px #E4DABE;
width: fit-content;
margin: 10px auto;
}

/* summary_img */
.sec01 .summary_img01{
width: 14.8%;
position: absolute;
top: 11.6%;
left: 0;
z-index: -1;
pointer-events:none;
}

.sec01 .summary_img02{
width: 14.8%;
position: absolute;
top: 31.5%;
right: 0;
z-index: -1;
pointer-events:none;
}

.sec01 .summary_img03{
width: 12.4%;
position: absolute;
bottom: -5.8%;
left: 0;
z-index: -1;
pointer-events:none;
}

.sec01 .summary_img04{
width: 16.5%;
position: absolute;
bottom: -17.5%;
right: 0;
z-index: -1;
pointer-events:none;
}

/* badge */
a.next_badge {
position: absolute;
top: -85px;
right: 0;
width: 170px;
height: 170px;
border-radius: 50%;
background: #F2950A;
box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
transform-origin: center;
text-decoration: none;
cursor: pointer;
border: none;
-webkit-tap-highlight-color: transparent;
transition: ease .3s;
opacity: 0;
animation: fade_in_badge 0.6s ease-out forwards;
animation-delay: 0.5s;
}

a.next_badge:hover {
opacity: 0.7 !important;
}

a.next_badge:active {
transform: scale(0.97);
}

@keyframes fade_in_badge {
0% {
opacity: 0;
transform: scale(0.7) translateY(10px);
}
100% {
opacity: 1;
transform: scale(1) translateY(0);
}
}

.next_badge_label {
font-size: 15px;
font-weight: bold;
letter-spacing: 0.05em;
margin-bottom: 5px;
}

.next_badge_date {
display: flex;
align-items: baseline;
justify-content: center;
font-family: "din-2014", sans-serif;
line-height: 1;
font-size: 50px;
letter-spacing: -4px;
font-weight: bold;
gap: 1px;
}

.next_badge_date span {
font-size: 22px;
font-weight: bold;
letter-spacing: 0;
margin: 0 2px 0 1px;
}

.next_badge_day {
display: inline-flex;
align-items: center;
justify-content: center;
width: 25px;
height: 25px;
border-radius: 50%;
background: #fff;
color: #ee9a2d;
font-size: 15px !important;
font-weight: bold;
margin-left: 8px;
}

.next_badge hr {
width: 70%;
border: none;
border-top: 2px dashed #fff;
opacity: 0.8;
margin: 6px 0;
}

.next_badge_link {
font-size: 15px;
font-weight: bold;
display: flex;
align-items: center;
}

.next_badge_link::after {
content: "";
display: inline-block;
width: 9px;
height: 9px;
border-style: solid;
border-width: 2px 2px 0 0;
border-color: #fff;
transform: rotate(45deg);
margin-left: 2px;
}

/*----------------------------------------
 sec02
----------------------------------------*/

.sec02{
background: #FAFAF3;
}

.sec02 .page_inner{
padding: 60px 0 60px;
}

.sec02 .cta_sec{
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
padding: 80px;
background: #fff;
border-radius: 24px;
width: 100%;
}

.sec02 .cta_sec .cta_sec_col{
width: 43.6%;
}

.cta_schedule{
font-weight: bold;
letter-spacing: 0;
padding-bottom: 5px;
margin-top: 60px;
border-bottom: dashed 2px #E4DABE;
width: 100%;
}

.cta_schedule .chedule_year{
font-size: 22px;
font-family: "din-2014", sans-serif;
line-height: 1;
margin-right: 0;
}

.cta_schedule .schedule_day{
font-size: 45px;
font-family: "din-2014", sans-serif;
line-height: 1;
margin-right: 5px;
}

.cta_schedule .schedule_day span{
font-size: 30px;
line-height: 1;
margin: 0;
}

.cta_schedule .schedule_week{
display: inline-flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
border-radius: 50%;
background: #000;
color: #fff;
font-size: 20px;
font-weight: bold;
margin-right: 10px;
}

.cta_schedule .schedule_text{
font-size: 22px;
line-height: 1;
margin-right: 0;
}

/*----------------------------------------
 sec03
----------------------------------------*/

.sec03{
background: #FAFAF3;
padding: 0 0 80px;
position: relative;
height: 100%;
z-index: 1;
}

.sec03 .page_inner{
padding: 80px 0;
z-index: 1;
}

.sec03::before{
content: "";
position: absolute;
left: 0;
width: 100%;
background-repeat: no-repeat;
background-size: cover;
pointer-events: none;
background-color: #FAFAF3;
}

.sec03::before{
bottom: 0;
height: 250px;
background-image: url(../img/top_bg01.svg);
background-position: top;
z-index: 1;
}

.sec03 .col_3_box{
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
gap: 40px 0;
margin-top: 60px;
width: 100%;
}

.sec03 .col_3_box .col_item{
width: 30%;
}

.sec03 h4{
margin-bottom: 10px;
padding-bottom: 5px;
border-bottom: dashed 2px #E4DABE;
}

/* summary_img */
.sec03 .summary_img01{
width: 16%;
position: absolute;
bottom: -7.6%;
left: 0;
z-index: -1;
pointer-events:none;
}

/*----------------------------------------
 sec04
----------------------------------------*/

.sec04{
background: #fff;
}

.sec04 .page_inner{
padding: 80px 0 0;
}

.sec04 .col_2_box{
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
width: 100%;
}

.sec04 .col_2_box .col_item_left{
width: 35.7%;
}

.sec04 .col_2_box .col_item_right{
width: 61.7%;
}

/* insta 吹き出し */
.hukidashi {
position: relative;
width: 100%;
padding: 26px 24px 22px;
margin-top: 80px;
background: #faf7f0;
border-radius: 28px;
text-align: center;
}

.hukidashi::after {
content: "";
position: absolute;
top: 50px;
right: -20px;
width: 0;
height: 0;
border-top: 16px solid transparent;
border-bottom: 16px solid transparent;
border-left: 20px solid #faf7f0;
}

.hukidashi_sub {
font-size: 17px;
font-weight: bold;
color: #1f1714;
letter-spacing: .02em;
}

.hukidashi_id {
margin-top: 10px;
font-size: 25px;
font-weight: bold;
color: #1f1714;
line-height: 1.2;
}

.hukidashi_id span {
background: linear-gradient(0deg, rgb(250 230 118) 40%, transparent 0, transparent);
}

.hukidashi_tag {
margin-top: 10px;
font-size: 12px;
font-weight: normal;
color: #737070;
letter-spacing: .04em;
}

/*----------------------------------------
 sec05
----------------------------------------*/

.sec05{
background: #FAFAF3;
padding: 80px 0;
position: relative;
height: 100%;
z-index: 1;
overflow: hidden;
}

.sec05 .page_inner{
padding: 80px 0 40px;
z-index: 1;
}

.sec05::after{
content: "";
position: absolute;
left: 0;
width: 100%;
background-repeat: no-repeat;
background-size: cover;
pointer-events: none;
background-color: #FAFAF3;
}

.sec05::after{
top: -20px;
height: 150px;
background-image: url("../img/top_bg02.svg");
background-position: bottom;
}

/*----------------------------------------
 sec06
----------------------------------------*/

.sec06{
background: #FAFAF3;
}

.sec06 .page_inner{
padding: 40px 0;
}

/*----------------------------------------
 sec07
----------------------------------------*/

.sec07{
background: #FAFAF3;
}

.sec07 .page_inner{
padding: 80px 0;
z-index: 1;
}

.sec07 .summary_img01{
width: 17.4%;
position: absolute;
top: 0;
right: 0;
z-index: -1;
pointer-events:none;
}

/*----------------------------------------
 news
----------------------------------------*/

.news_box{
padding: 60px;
background: #F0EEE6;
border-radius: 24px;
width: 100%;
}

.news_list_wrap {
list-style: none;
margin: 0;
padding: 0;
}

.news_list_wrap .news_list_item {
margin-bottom: 20px;
}

.news_list_wrap .news_list_item:last-child {
margin-bottom: 0;
}

.news_list_wrap .news_list_item a {
display: flex;
align-items: center;
gap: 32px;
background-color: #FFFFFF;
border-radius: 10px;
padding: 18px 24px;
text-decoration: none;
color: inherit;
position: relative;
}

.news_list_wrap .news_list_item a .date {
flex: 0 0 auto;
font-family: "din-2014", sans-serif;
font-size: 16px;
color: #908B7E;
letter-spacing: 0;
}

.news_list_wrap .news_list_item a .title {
flex: 1 1 auto;
font-size: 16px;
color: #1F1714;
line-height: 1.6;
}

.news_list_wrap .news_list_item a::after {
content: "";
flex: 0 0 auto;
width: 8px;
height: 8px;
border-top: 2px solid #EF9714;
border-right: 2px solid #EF9714;
transform: rotate(45deg);
margin-left: 8px;
}

/* 記事一覧ページ */
.news_list_box{
background: #FAFAF3;
}

.news_list_box .news_list_wrap{
width: 87%;
}

/*----------------------------------------
 access
----------------------------------------*/

.access_box{
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
width: 100%;
margin-top: 60px;
}

.access_box .access_left{
width: 45.8%;
}

.access_box .access_left .shop{
display: inline-block;
font-size: 30px;
font-weight: bold;
letter-spacing: 2px;
padding-bottom: 5px;
border-bottom: dashed 2px #E4DABE;
width: 100%;
}

.access_box .access_left .shop span{
font-size: 18px;
margin-left: 10px;
letter-spacing: 0;
}

.access_box .access_left .address{
display: inline-block;
color: #737070;
font-weight: normal;
letter-spacing: 0;
margin-top: 20px;
width: 100%;
}

.access_box .access_left .time{
padding: 22px 32px;
margin-top: 20px;
background: #F0EEE6;
border-radius: 10px;
}

.access_box .access_left .time .ride{
display: flex;
align-items: flex-start;
justify-content: flex-start;
width: 100%;
}

.access_box .access_left .time .ride .left{
white-space: nowrap;
margin-right: 10px;
}

a.gmap_link2,
.access_box .access_left a.gmap_link{
display: inline-flex;
align-items: center;
gap: 5px;
font-weight: bold;
letter-spacing: 0;
line-height: 1;
color: #e58d00;
text-decoration: none;
transition: opacity .3s;
margin-top: 20px;
}

a.gmap_link2{
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 20px;
margin: 0;
}

a.gmap_link2 svg,
.access_box .access_left a.gmap_link svg{
width: 20px;
height: 20px;
flex-shrink: 0;
margin-top: 3px;
}

a.gmap_link2:hover,
.access_box .access_left a.gmap_link:hover{
opacity: .7;
}

.access_box .access_right{
width: 50%;
}

.access_box .access_right iframe{
height: 100%;
width: 100%;
aspect-ratio: 16 / 9;
}

/*----------------------------------------
 イベント概要
----------------------------------------*/

.event_sec{
background: #FAFAF3;
}

.event_sec .page_inner{
padding: 80px 0;
position: relative;
z-index: 1;
}

.event_sec h4{
font-size: 26px;
text-align: left;
}

.event_sec h4 .text{
line-height: 1.5;
margin: 5px 0;
padding-bottom: 5px;
display: inline-block;
border-bottom: dashed 2px #E4DABE;
width: fit-content;
}

.event_sec h4 .text .pc{
display: contents !important;
}

.event_sec h4 .text.sp{
display: none;
}

.event_sec h5{
font-size: 16px;
color: #1F1714;
font-weight: bold;
text-align: center;
width: 100%;
}

.event_sec .summary_img01{
width: 18.3%;
position: absolute;
top: 0;
right: 4%;
z-index: -1;
pointer-events:none;
}

.event_sec .summary_img02{
width: 16.3%;
position: absolute;
bottom: -14%;
right: 8.7%;
z-index: -1;
pointer-events:none;
}

.event_sec .summary_img03{
width: 10.3%;
position: absolute;
bottom: 0;
right: 8.7%;
z-index: 1;
pointer-events:none;
}

.event_col_box{
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
width: 100%;
}

.event_col_box .col_item_left{
width: 56.3%;
}

.event_col_box .col_item_right{
width: 38.8%;
}

.event_col_box .col_item_left2{
width: 50%;
}

.event_col_box .col_item_right2{
width: 46.5%;
}

.event_col_box .col_item_bg{
width: 32.3%;
padding: 32px;
background: #FAF7F0;
border-radius: 12px;
}

.event_col_box .col_item_bg .title{
font-size: 18px;
font-weight: bold;
text-align: center;
padding-bottom: 8px;
line-height: 1.5;
border-bottom: dashed 2px #E4DABE;
}

.event_table {
display: flex;
flex-direction: column;
border-radius: 16px;
overflow: hidden;
background: #fff;
width: 100%;
}

.event_table > div {
display: flex;
border-bottom: 2px dashed #F0EEE6;
align-items: center;
}

.event_table > div:last-child {
border-bottom: none;
}

.event_table dt,
.event_table dd {
margin: 0;
padding: 36px 18px;
font-size: 15px;
font-weight: normal;
line-height: 1;
letter-spacing: 0;
}

.event_table dt {
flex: 0 0 140px;
text-align: center;
color: #908B7E;
border-right: 2px dashed #F0EEE6;
}

.event_table dd {
flex: 1;
color: #1F1714;
}

@media screen and (max-width : 1070px){

.event_col_box .col_item_right,
.event_col_box .col_item_left{
width: 100%;
}

.event_col_box .col_item_right{
margin-top: 40px;
}

}

.event_sec.bg01{
position: relative;
background: #fff;
padding: 80px 0;
}

.event_sec.bg01::before,
.event_sec.bg01::after{
content: "";
position: absolute;
left: 0;
width: 100%;
background-repeat: no-repeat;
background-size: cover;
pointer-events: none;
background-color: #FAFAF3;
}

.event_sec.bg01::before{
top: 0;
height: 500px;
background-image: url("../img/event_bg01.svg");
background-position: top;
z-index: 0;
}

.event_sec.bg01::after{
bottom: 0;
height: 100px;
background-image: url("../img/event_bg02.svg");
background-position: bottom;
z-index: 0;
}

.event_tab_area {
margin-top: 60px;
width: 100%;
}

/* 出店要項 タブ部分 */
.event_tab_area .tab_list {
display: flex;
justify-content: space-between;
list-style: none;
margin: 0;
padding: 0;
}

.event_tab_area .tab_list li {
text-align: center;
width: 31.4%;
}

.event_tab_area .tab_list button {
width: 100%;
padding: 20px 10px;
border: 4px solid #F2F0E8;
border-bottom: none;
background: #fff;
font-size: 18px;
font-weight: bold;
color: #1F1714;
cursor: pointer;
border-radius: 16px 16px 0 0;
font-family: inherit;
transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .15s ease;
}

.event_tab_area .tab_list li:not(:last-child) button {
margin-right: 6px;
}

.event_tab_area .tab_list button:hover:not(.is-active) {
background: #F2F0E8;
color: #1F1714;
}

.event_tab_area .tab_list button:active {
transform: scale(0.97);
}

.event_tab_area .tab_list button.is-active {
background: #F2F0E8;
border-color: #F2F0E8;
}

.event_tab_area .tab_panel_wrap {
background: #F2F0E8;
border-radius: 0 0 16px 16px;
padding: 60px;
display: flex;
justify-content: center;
flex-wrap: wrap;
}

.event_tab_area .tab_panel {
display: none;
text-align: center;
width: 100%;
}

.event_tab_area .tab_panel .panel_in_bg{
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
padding: 24px;
background: #fff;
border-radius: 20px;
}

.event_tab_area .tab_panel .panel_in_bg .left{
width: 63.7%;
}

.event_tab_area .tab_panel .panel_in_bg .right{
width: 26.7%;
}

.event_tab_area .event_table dt,
.event_tab_area .event_table dd{
padding: 20px 18px;
}

.event_tab_area .event_table dd{
text-align: left;
}

.event_tab_area .tab_panel.is-active {
display: block;
animation: tabFadeIn .35s ease;
}

@keyframes tabFadeIn {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
.event_tab_area .tab_panel.is-active { animation: none; }
.event_tab_area .tab_list button,
.event_tab_area .btn { transition: none; }
}

.event_tab_area .cta_btn .btn_col{
padding: 10px 60px;
}

.event_flow {
display: flex;
align-items: stretch;
position: relative;
}

.event_flow::before {
content: "";
position: absolute;
top: 24px;
left: 16.6666%;
width: 66.6666%;
height: 2px;
background: #F0EEE6;
z-index: 0;
}

.event_flow > div {
flex: 1;
text-align: center;
}

.event_flow > div .event_flow_col{
width: 95.8%;
height: 100%;
max-height: 286px;
padding: 50px 40px;
margin: 0 auto;
background: #fff;
border-radius: 16px;
}

.event_flow span {
position: relative;
z-index: 1;
display: flex;
font-family: "din-2014", sans-serif;
align-items: center;
justify-content: center;
width: 52px;
height: 52px;
margin: 0 auto 40px;
border-radius: 50%;
background: #EAF0D4;
color: #333;
font-size: 22px;
font-weight: bold;
letter-spacing: 0;
}

.event_flow h4 {
font-size: 20px;
text-align: center;
font-weight: bold;
color: #1F1714;
padding-bottom: 5px;
border-bottom: 2px dashed #E4DABE;
}

.event_flow p{
font-size: 15px;
text-align: left;
}

/*----------------------------------------
 運営会社
----------------------------------------*/

.company_sec{
background: #FAFAF3;
}

.company_sec .page_inner2{
padding-left: 40px;
padding-right: 40px;
z-index: 1
}

.company_sec p{
width: 100%;
}

.company_sec p.P_BDB{
width: fit-content;
}

.company_sec .col_3_box{
display: flex;
justify-content: space-between;
align-items: stretch;
flex-wrap: wrap;
width: 100%;
}

.company_sec .col_3_box .col_item{
width: 32.7%;
}

.company_sec .summary_img01{
position: absolute;
top: 40px;
right: 0;
z-index: -1;
pointer-events:none;
}

/*----------------------------------------
 プライバシーポリシー
----------------------------------------*/

.privacy_sec{
background: #FAFAF3;
}

.privacy_sec .page_inner2{
padding-left: 40px;
padding-right: 40px;
}

.privacy_sec h3{
font-size: 24px;
line-height: 1;
margin-top: 60px;
}

.privacy_sec h3 span{
font-size: 30px;
font-family: "din-2014", sans-serif;
display: inline-block;
margin-right: 5px;
}

/*----------------------------------------
 汎用固定ページ
----------------------------------------*/

.default .page_inner{
padding: 80px 0;
}

.default_page_content{
width: 100%;
}

.default_page_content > * + *,
.default_page_content .page_content > * + *{
margin-top: 40px;
}

.default_page_content h2,
.default_page_content h3,
.default_page_content h4{
text-align: left;
}

.default_page_content h2{
font-size: 30px;
line-height: 1.5;
}

.default_page_content h3{
font-size: 24px;
line-height: 1.5;
padding-bottom: 10px;
border-bottom: 2px dashed #E4DABE;
}

.default_page_content h4{
font-size: 20px;
line-height: 1.5;
}

.default_page_content .wp-block-image,
.default_page_content .wp-block-gallery{
margin-top: 40px;
}

/*----------------------------------------
 投稿
----------------------------------------*/

.post_sec{
background: #FAFAF3;
}

.post_sec h3{
font-size: 30px;
line-height: 1.5;
padding-bottom: 10px;
border-bottom: 2px dashed #E4DABE;
margin-top: 10px;
}

.post_sec .page_inner{
width: 87.4%;
max-width: 1000px;
padding: 80px 0;
}

.post_sec_bg{
padding: 80px;
background: #fff;
border-radius: 40px;
width: 100%;
}

.post_date{
font-size: 15px;
font-family: "din-2014", sans-serif;
color: #908B7E;
text-align: left;
font-weight: normal;
letter-spacing: 0;
margin: 0;
width: 100%;
}

.post_sec_bg h3 ~ * {
margin-top: 40px;
}

.post_sec p.wp-block-paragraph{
margin-top: 40px;
}

.post_sec figure{
margin-top: 40px;
}

.post_sec .cta_btn .btn_col::after{
display: none;
}

.post_sec .cta_btn .btn_col::before{
content: "";
display: inline-block;
width: 9px;
height: 9px;
border-style: solid;
border-width: 2px 2px 0 0;
transform: rotate(-135deg);
margin-left: 2px;
}

.post_sec .btn_gap{
gap: 17%;
}

/* ブロックエディタ */
.post_sec p.wp-block-paragraph a,
p.wp-block-paragraph a{
display: inline-flex;
text-decoration: none;
color: #F2950A;
letter-spacing: 0;
margin: 0 3px;
align-items: center;
position: relative;
top: 1px;
}

.post_sec p.wp-block-paragraph a::after,
p.wp-block-paragraph a::after {
content: "";
flex: 0 0 auto;
width: 8px;
height: 8px;
border-top: 2px solid #F2950A;
border-right: 2px solid #F2950A;
transform: rotate(45deg);
margin-left: 2px;
}

/*----------------------------------------
 出店を申込む・出店のご相談
----------------------------------------*/

.contact_sec{
background: #FAFAF3;
}

.contact_box{
width: 100%;
}

.contact_text_bg{
padding: 30px 60px;
background: #EAF0D4;
border-radius: 16px;
}

.contact_text_bg .text{
text-align: center;
position: relative;
}

.contact_text_bg .text::before{
content: "\\";
display: inline-block;
margin-right: 0.5em;
}

.contact_text_bg .text::after{
content: "/";
display: inline-block;
margin-left: 0.5em;
}

.wpcf7-form {
padding: 0;
width: 100%;
}

.form-card {
background: #fff;
border-radius: 40px;
padding: 50px 60px;
margin-top: 40px;
}

.wpcf7-form .form-card:first-child {
margin-top: 0;
}

.wpcf7-form .form-label,
.wpcf7-form label {
display: block;
font-weight: bold;
font-size: 16px;
color: #1F1714;
margin-bottom: 12px;
}

.form-card label + label,
.form-card label + .form-label,
.form-card .form-label + label {
margin-top: 24px;
}

.wpcf7-form label.form-label{
display: flex;
align-items: flex-start;
justify-content: flex-start;
}

.form01 .radio-group--inline{
width: 100%;
margin: 0;
}

.form04 .form-label{
display: flex;
align-items: center;
flex-wrap: wrap;
}

.form05 label{
display: flex;
align-items: center;
}

.form-label--heading {
font-size: 20px !important;
text-align: left;
padding-bottom: 5px;
border-bottom: dashed 2px #E4DABE !important;
margin-bottom: 30px !important;
width: 100%;
}

.optional-badge {
display: inline-block;
background: #ADADAD;
color: #fff;
font-size: 12px;
font-weight: normal;
padding: 2px 8px;
border-radius: 4px;
margin-left: 8px;
margin-top: 2px;
vertical-align: middle;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
width: 100%;
background: #FAFAF3;
border: none;
border-radius: 8px;
padding: 14px 16px;
font-size: 14px;
color: #1F1714;
box-sizing: border-box;
}

.wpcf7-form-control-wrap{
width: 67.2%;
margin-left: auto;
}

.wpcf7-form textarea {
min-height: 96px;
resize: vertical;
line-height: 1.7;
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
color: #908B7E;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
outline: 2px solid #F2950A;
outline-offset: 1px;
}

.radio-group--inline{
width: 67.2%;
margin-left: auto;
}

.radio-group--inline .wpcf7-list-item {
display: inline-flex;
align-items: center;
margin: 0 28px 0 0;
}
.radio-group .wpcf7-list-item-label {
font-size: 14px;
font-weight: 400;
color: #1F1714;
cursor: pointer;
padding-left: 6px;
}
.radio-group input[type="radio"] {
appearance: none;
-webkit-appearance: none;
width: 18px;
height: 18px;
border: 1.5px solid #cfcabc;
border-radius: 50%;
position: relative;
cursor: pointer;
margin: 0;
flex-shrink: 0;
}
.radio-group input[type="radio"]:checked {
border-color: #F2950A;
}
.radio-group input[type="radio"]:checked::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 10px;
height: 10px;
border-radius: 50%;
background: #F2950A;
transform: translate(-50%, -50%);
}

.form-row {
display: flex;
align-items: center;
flex-wrap: wrap;
margin-bottom: 16px;
}
.form-label--inline {
margin: 0 24px 0 0;
flex-shrink: 0;
}
.wpcf7-acceptance.optional label,
.wpcf7-radio label{
display: flex;
align-items: center;
}
.wpcf7-acceptance.optional label{
margin-bottom: 0;
margin-top: 20px;
}
.form-note {
font-size: 12px;
color: #908B7E;
margin-bottom: 12px;
display: inline-block;
}

.file-upload-wrap {
position: relative;
width: 67.2%;
margin-left: auto;
}
.codedropz-upload-handler{
border: 1.5px dashed #F2950A;
}
.codedropz-upload-container{
border: none;
width: 100%;
margin-left: 0;
border-radius: 16px;
padding: 40px 20px;
text-align: center;
background: #fffdf8;
}
.file-upload-wrap input[type="file"] {
position: absolute;
inset: 0;
opacity: 0;
cursor: pointer;
}
.codedropz-upload-inner .codedropz-btn-wrap a.cd-upload-btn,
.file-select-btn {
display: inline-block;
border: 1.5px solid #F2950A;
color: #F2950A;
background: #fff;
font-weight: bold;
font-size: 14px;
padding: 10px 24px;
border-radius: 8px;
margin-bottom: 16px;
cursor: pointer;
}
.codedropz-upload-wrapper,
.file-upload-note {
font-size: 12px;
font-weight: normal;
color: #908B7E;
line-height: 1.8;
margin: 0;
}
.codedropz-upload-inner{
display: flex;
flex-direction: column-reverse;
align-items: center;
justify-content: center;
}
.dnd-upload-status .dnd-upload-details .name{
letletter-spacing: 0;
color: #333;
align-items: flex-end;
}
.dnd-upload-status .dnd-upload-details .name em{
letter-spacing: 0;
font-size: 11px;
}

.privacy-check {
margin-bottom: 0;
font-size: 13px;
color: #1F1714;
}
.privacy-check .wpcf7-list-item {
display: flex;
align-items: flex-start;
margin-left: 0;
font-weight: normal;
}
.privacy-check .wpcf7-list-item .wpcf7-list-item-label{
font-size: 16px;
font-weight: normal;
}
.privacy-check input[type="checkbox"] {
appearance: none;
-webkit-appearance: none;
width: 16px;
height: 16px;
border: 1.5px solid #cfcabc;
border-radius: 4px;
margin: 2px 8px 0 0;
flex-shrink: 0;
cursor: pointer;
position: relative;
}
.privacy-check input[type="checkbox"]:checked {
background: #F2950A;
border-color: #F2950A;
}
.privacy-check input[type="checkbox"]:checked::after {
content: "";
position: absolute;
left: 4px;
top: 1px;
width: 4px;
height: 8px;
border: solid #fff;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}

.submit-wrap,
.confirm-btn-wrap {
text-align: center;
margin-top: 28px;
}
.wpcf7-form input[type="submit"] {
background: #F2950A;
color: #fff;
font-weight: bold;
font-size: 15px;
border: none;
border-radius: 999px;
padding: 16px 65px;
cursor: pointer;
transition: background 0.2s ease;
}

.wpcf7-form input[type="submit"] {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath d='M1 1l3 3-3 3' stroke='white' stroke-width='1' fill='none'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: calc(100% - 24px) center;
background-size: 15px 15px;
}

.confirm-value {
font-weight: 400;
color: #1F1714;
background: #FAFAF3;
border-radius: 8px;
padding: 12px 16px;
margin-top: 8px;
}
.confirm-value--pre {
white-space: pre-wrap;
}

.submit-wrap .wpcf7-spinner{
background-color: #F2950A;
}

#other-field .wpcf7-text{
margin-bottom: 10px;
margin-left: 10px;
}

/* valid */
.wpcf7-not-valid-tip{
color: #F01F1F;
font-size: 12px;
letter-spacing: 0;
}

.wpcf7-not-valid-tip::before {
content: "!";
display: inline-flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
margin-right: 6px;
border-radius: 50%;
background: #F01F1F;
color: #fff;
font-size: 12px;
font-weight: bold;
}

/*----------------------------------------
 cap
----------------------------------------*/

.cap{
font-size: 12px;
font-weight: normal;
color: #737070;
line-height: 1.2;
padding: 0;
letter-spacing: 0 !important;
}

.cap2{
display: flex;
align-items: center;
font-size: 12px;
font-weight: normal;
color: #737070;
line-height: 1.2;
padding: 0;
letter-spacing: 0 !important;
}

.cap2 span{
color: #F0EDE6;
font-size: 250%;
font-weight: bold;
}

.cap a.link{
display: inline-flex;
align-items: center;
color: #F2950A;
text-decoration: none;
margin: 0 3px;
position: relative;
}

.cap a.link::after{
content: "";
flex: 0 0 auto;
width: 8px;
height: 8px;
border-top: 2px solid #F2950A;
border-right: 2px solid #F2950A;
transform: rotate(45deg);
margin-left: 2px;
margin-bottom: 1px;
}

/*----------------------------------------
 cta_btn
----------------------------------------*/

.cta_btn {
display: flex;
align-items: center;
gap: 12px;
}

.cta_btn .btn_col {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 30px;
border-radius: 999px;
font-size: 14px;
font-weight: bold;
letter-spacing: 1px;
text-decoration: none;
white-space: nowrap;
border: 1px solid #F2950A;
transition: opacity 0.2s ease;
}

.cta_btn .btn_col::after {
content: "";
display: inline-block;
width: 9px;
height: 9px;
border-style: solid;
border-width: 2px 2px 0 0;
transform: rotate(45deg);
margin-left: 2px;
}

.cta_btn .btn_bg1::after {
border-color: #F2950A;
}

.cta_btn .btn_bg2::after {
border-color: #fff;
}

.cta_btn .btn_bg1 {
background: #fff;
color: #F2950A;
}

.cta_btn .btn_bg2 {
background: #F2950A;
color: #fff;
}

.cta_btn .btn_col:hover {
opacity: 0.8;
}

/* cta_btn2 */
.cta_btn2 {
display: flex;
gap: 32px;
}

.cta_btn2 .btn_col {
font-family: "Raleway", sans-serif;
flex: 1;
padding: 40px;
border-radius: 16px;
text-decoration: none;
box-sizing: border-box;
transition: opacity 0.2s ease;
}

.cta_btn2 .btn_col:hover {
opacity: 0.8;
}

.cta_btn2 .btn_bg2 {
background: #F2950A;
color: #fff;
}

.cta_btn2 .btn_bg1 {
background: #fff;
border: 2px solid #F2950A;
color: #F2950A;
}

.cta_btn2 .btn_ttl {
position: relative;
display: inline-block;
font-size: 40px;
font-weight: bold;
letter-spacing: 0.03em;
line-height: 1;
margin: 0;
width: 100%;
}

.cta_btn2 .btn_ttl::after {
content: "";
position: absolute;
top: 50%;
right: 40px;
width: 16px;
height: 16px;
border-top: 3px solid currentColor;
border-right: 3px solid currentColor;
transform: rotate(45deg) translateY(-50%);
}

.cta_btn2 .btn_ttl .btn_sub {
display: inline-block;
font-size: 20px;
font-weight: bold;
line-height: 1;
width: 100%;
}

.cta_btn2 .btn_txt {
line-height: 1.5;
margin-top: 20px;
}

/* sec_cta_btm */
.sec_cta_btm{
background: #1C57A0;
}

.sec_cta_btm .page_inner{
padding: 80px 0;
}

.sec_cta_btm .vendor{
color: #fff;
font-weight: bold;
display: flex;
justify-content: space-between;
align-items: flex-end;
flex-wrap: wrap;
width: 100%;
}

.sec_cta_btm .vendor .left{
width: 34.7%;
}

.sec_cta_btm .vendor .left p{
font-size: 50px;
font-weight: bold;
line-height: 1;
text-align: center;
white-space: nowrap;
width: 100%;
}

.sec_cta_btm .vendor .left p span{
font-size: 20px;
font-weight: normal;
display: inline-block;
margin-bottom: 10px;
width: 100%;
}

.sec_cta_btm .vendor .right{
width: 57.6%;
}

.sec_cta_btm .vendor .right p{
padding-left: 2%;
}

.sec_cta_btm .cta_btn2{
margin-top: 60px;
}

.sec_cta_btm .cta_btn2 .btn_ttl{
font-size: 30px;
}

.sec_cta_btm .cta_btn2 .btn_ttl .btn_sub{
font-size: 16px;
}

.sec_cta_btm .cta_btn2 .btn_ttl::after{
right: 0;
}

.cta_btn.next a,
.cta_btn.prev a{
align-items: center;
color: #F2950A;
text-decoration: none;
display: inline-flex;
align-items: center;
}

.cta_btn.prev a::before{
content: "";
display: inline-block;
width: 9px;
height: 9px;
border-style: solid;
border-width: 2px 2px 0 0;
transform: rotate(-135deg);
margin-right: 10px;
}

.cta_btn.next a::after{
content: "";
display: inline-block;
width: 9px;
height: 9px;
border-style: solid;
border-width: 2px 2px 0 0;
transform: rotate(45deg);
margin-left: 10px;
}

/*---------------------------------------------
 パンくずリスト
---------------------------------------------*/

.breadcrumb{
padding: 12px 0;
}

.breadcrumb .breadcrumb_list{
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0;
margin: 0;
padding: 0;
list-style: none;
}

.breadcrumb .breadcrumb_list .breadcrumb_item{
display: flex;
align-items: center;
font-size: 13px;
font-weight: bold;
letter-spacing: 0;
line-height: 1.4;
}

.breadcrumb .breadcrumb_list .breadcrumb_item a{
color: #F2950A;
text-decoration: none;
transition: opacity .3s;
}

.breadcrumb .breadcrumb_list .breadcrumb_item a:hover{
opacity: .7;
}

.breadcrumb .breadcrumb_list .breadcrumb_item:not(:last-child)::after{
content: "";
display: inline-block;
width: 8px;
height: 8px;
margin: 0 12px;
border-top: 2px solid #E4DABE;
border-right: 2px solid #E4DABE;
transform: rotate(45deg);
}

.breadcrumb .breadcrumb_list .breadcrumb_item.current{
color: #1F1714;
}

/*----------------------------------------
 footer
----------------------------------------*/

.footer {
width: 100%;
background: #FAFAF3;
}

.footer_inner {
padding: 40px 20px;
background: #F0EDE6;
}

.footer_nav {
display: flex;
justify-content: center;
align-items: center;
}

.footer_nav_list {
display: flex;
align-items: center;
list-style: none;
margin: 0;
padding: 0;
}

.footer_nav_list li {
position: relative;
padding: 0 20px;
font-size: 15px;
}

.footer_nav_list li:not(:last-child)::after {
content: "";
position: absolute;
top: 50%;
right: 0;
width: 2px;
height: 14px;
background: #fff;
transform: translateY(-50%);
}

.footer_nav_list li a{
color: #1F1714 !important;
text-decoration: none;
font-weight: bold;
}

.footer_nav_list li a:hover {
opacity: 0.7;
}

.footer_sns{
margin-left: 20px;
display: flex;
align-items: center;
}

.footer_sns_icon {
width: 26px;
height: 26px;
}

.footer_sns_link {
display: inline-flex;
color: #1F1714 !important;
}

.footer_copyright{
color: #1F1714;
font-size: 12px;
text-align: center;
letter-spacing: 0;
padding: 35px 20px;
width: 100%;
}

.footer_copyright a{
text-decoration: none;
color: #1F1714;
}

.to-top{
position: fixed;
display: flex;
align-items: center;
justify-content: center;
width: 50px;
height: 50px;
right: 0;
bottom: 0;
font-size: 30px;
padding: 10px;
color: #fff;
background: #c09f33;
cursor: pointer;
border-top-left-radius: 15px;
}

/*----------------------------------------
 ページネーション（WP標準）
----------------------------------------*/

.pagination{
margin-top: 20px;
text-align: center;
display: inline-block;
width: 100%;
}

.pagination .nav-links{
display: flex;
justify-content: center;
align-items: center;
gap: 16px;
flex-wrap: wrap;
}

.pagination .screen-reader-text{
display: none;
}

.pagination .page-numbers{
display: flex;
align-items: center;
justify-content: center;
width: 50px;
height: 35px;
min-width: 30px;
padding: 3.5px 10px;
border: 2px solid #F2950A;
border-radius: 100px;
background: #fff;
color: #F2950A;
font-size: 15px;
font-weight: bold;
line-height: 1;
text-decoration: none;
transition: .3s;
box-sizing: border-box;
}

.pagination a.page-numbers:hover{
background: #F2950A;
color: #fff;
}

.pagination .page-numbers.current{
background: #F2950A;
color: #fff;
pointer-events: none;
}

.pagination .prev,
.pagination .next{
position: relative;
font-size: 0;
color: #F2950A;
}

.pagination .prev::before,
.pagination .next::before{
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 8px;
height: 8px;
border-top: 2px solid currentColor;
border-right: 2px solid currentColor;
transform-origin: center;
}

.pagination .next::before{
transform: translate(-60%, -50%) rotate(45deg);
}

.pagination .prev::before{
transform: translate(-40%, -50%) rotate(-135deg);
}

.pagination a:hover::before{
border-color: #fff;
}

/*----------------------------------------
 その他
----------------------------------------*/

.linkno{
pointer-events: none;
opacity: 0.3;
}

a.link_clbtn2,
a.link_clbtn{
display: inline-flex;
text-decoration: none;
color: #F2950A;
letter-spacing: 0;
margin: 0 5px;
align-items: center;
position: relative;
top: 1px;
}

a.link_clbtn::after {
content: "";
flex: 0 0 auto;
width: 8px;
height: 8px;
border-top: 2px solid #F2950A;
border-right: 2px solid #F2950A;
transform: rotate(45deg);
margin-left: 2px;
}

a.link_clbtn2 svg{
width: 20px;
height: 20px;
flex-shrink: 0;
margin-top: 2px;
margin-left: 2px;
}

.round_img img{
display: block;
width: 100%;
height: auto;
border-radius: 12px;
}

/*----------------------------------------
 pc/sp
----------------------------------------*/

.pc{
display: block;
}

.sp{
display: none;
}
