@charset "utf-8";

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

body{
letter-spacing: 0;
}

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

 .header {
  padding: 15px 20px;
 }

 .header_logo img {
  height: 57px;
 }

/* ハンバーガーメニュー */
 .menu_btn {
  display: block;
  position: relative;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: #F2950A;
  cursor: pointer;
  z-index: 999;
  -webkit-appearance: none;
  appearance: none;
 }

 .menu_line {
  position: absolute;
  left: 50%;
  width: 20px;
  height: 2px;
  background: #fff;
  transform: translateX(-50%);
  transition: transform 0.3s ease, opacity 0.3s ease, top 0.3s ease;
 }

 .menu_line:nth-child(1) { top: 16px; }
 .menu_line:nth-child(2) { top: 21px; }
 .menu_line:nth-child(3) { top: 26px; }

 .menu_btn.is-active .menu_line:nth-child(1) {
  top: 21px;
  transform: translateX(-50%) rotate(45deg);
 }
 .menu_btn.is-active .menu_line:nth-child(2) {
  opacity: 0;
 }
 .menu_btn.is-active .menu_line:nth-child(3) {
  top: 21px;
  transform: translateX(-50%) rotate(-45deg);
 }

 .header_nav {
  display: block;
  position: fixed;
  inset: 0;
  background: #efe8de;
  padding: 35px 20px 40px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
 }

 .header_nav.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(87px);
 }

 /* ナビメニュー */
 .header_menu {
  display: block;
  background: #fff;
  border-radius: 16px;
  padding: 10px 25px 50px;
  margin: 0 0 40px;
 }

 .header_menu li {
  padding: 0;
  border-bottom: 2px solid #F0EDE6;
 }

 .header_menu li::after {
  display: none;
 }

 .header_menu a::before{
  display: none;
 }

 .header_menu_privacy {
  display: block;
 }

 .header_menu a {
  padding: 18px 0;
  font-size: 18px;
 }

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

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

.main_v_slide{
aspect-ratio: 389 / 486;
max-height: 510px;
}

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

.main_v_text{
top: calc(50% + 4%);
max-width: 367px;
width: 89.8%;
}

/* badge */
a.next_badge {
display: none;
}

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

.page{
width: 100%;
}

.page_inner2,
.page_inner{
width: 96%;
margin: 0 5.5%;
}

.page_inner2{
padding: 40px 0;
}

.page_title{
height: 232px;
}

.page_title{
background-image: url("../img/page_ttl_bg_sp.png");
}

.page_title.event_title_bg{
background-image: url("../img/event_ttl_bg01_sp.png");
}

h2.page_title_head{
font-size: 22px;
width: 100%;
max-width: 280px;
}

h2.page_title_head::before{
width: 23.3%;
max-width: 65px;
height: 36%;
top: 20px;
transform: translateX(calc(-50% - 105px));
}

h2.page_title_head::after{
width: 17.8%;
max-width: 50px;
height: 49%;
bottom: 10px;
transform: translateX(calc(-50% + 110px));
}

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

h2 {
font-size: 20px;
}

h3{
font-size: 32px;
}

h3 .sub{
font-size: 16px;
top: -6px;
}

h4{
font-size: 18px;
}

p{
font-size: 15px;
}

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

.sec01 .page_inner{
padding: 60px 0 30px;
}

.sec01 .page_inner h2 span{
margin: 5px auto;
}

.sec01 .summary_img01{
width: 23.7%;
top: 7.6%;
}

.sec01 .summary_img02{
width: 23.7%;
top: 7.2%;
}

.sec01 .summary_img03{
width: 15.2%;
bottom: -3%;
}

.sec01 .summary_img04{
width: 22%;
bottom: -8.7%;
}

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

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

.sec02 .cta_sec{
padding: 30px;
}

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

.cta_schedule{
margin-top: 40px;
}

.cta_schedule .chedule_year{
font-size: 18px;
display: inline-block;
width: 100%;
}

.cta_schedule .schedule_day{
font-size: 40px;
}

.cta_schedule .schedule_day span{
font-size: 25px;
}

.cta_schedule .schedule_week{
width: 25px;
height: 25px;
font-size: 16px;
}

.cta_schedule .schedule_text{
font-size: 15px;
}

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

.sec03,
.sec03 .page_inner{
padding: 40px 0;
}

.sec03 .col_3_box{
gap: 40px;
margin-top: 40px;
}

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

.sec03 .summary_img01{
width: 40.7%;
bottom: -2.4%;
}

.sec03::before{
height: 100px;
}

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

.sec04 .col_2_box .col_item_left,
.sec04 .col_2_box .col_item_right{
width: 100%;
}

.hukidashi{
margin-top: 40px;
}

.hukidashi::after{
top: -35px;
left: 50%;
transform: translateX(-50%);
border-left: 16px solid transparent;
border-right: 16px solid transparent;
border-bottom: 20px solid #faf7f0;
}

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

.sec05,
.sec05 .page_inner{
padding: 40px 0;
}

.sec05::after{
height: 100px;
}

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

.sec07 .summary_img01{
width: 53.2%;
top: -6.2%;
}

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

.news_box{
padding: 40px 20px;
}

.news_list_wrap .news_list_item a {
flex-wrap: wrap;
gap: 6px 24px;
padding: 32px 50px 32px 32px;
}

.news_list_wrap .news_list_item a .date {
width: auto;
font-size: 15px;
}

.news_list_wrap .news_list_item a .title {
flex: 1 1 100%;
font-size: 14px;
}

.news_list_wrap .news_list_item a::after {
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%) rotate(45deg);
}

.news_list_box .news_list_wrap{
width: 100%;
}

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

.access_box{
margin-top: 40px;
}

.access_box .access_right,
.access_box .access_left{
width: 100%;
}

.access_box .access_left .shop{
font-size: 22px;
}

.access_box .access_left .shop span{
font-size: 14px;
}

.access_box .access_left .time{
padding: 20px;
}

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

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

.event_table dd,
.event_table dt {
padding: 30px 16px;
font-size: 14px;
line-height: 1.4;
}

.event_table dt{
flex-basis: 120px;
}

.event_table > div{
align-items: stretch;
}

.event_col_box .col_item_left2,
.event_col_box .col_item_right2{
width: 100%;
}

.event_col_box .col_item_bg{
padding: 24px;
width: 100%;
}

.event_sec .summary_img01{
width: 28.3%;
}

.event_sec .summary_img02{
width: 35.1%;
bottom: -7%;
right: 0;
}

.event_sec .summary_img03{
width: 19.8%;
bottom: -2%;
}

.event_sec h4{
font-size: 22px;
}

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

.event_sec h4 .text.sp{
display: inline-block;
}

.event_tab_area .tab_list {
align-items: stretch;
}

.event_tab_area .tab_list button {
font-size: 12px;
padding: 10px;
height: 100%;
}

.event_tab_area .tab_panel_wrap{
padding: 40px 20px;
}

.event_tab_area .tab_panel_wrap .round_img img{
border-radius: 18px;
}

.event_tab_area .tab_panel .panel_in_bg{
padding: 0;
background: none;
}

.event_tab_area .tab_panel .panel_in_bg .left,
.event_tab_area .tab_panel .panel_in_bg .right{
width: 100%;
}

.event_tab_area .cta_btn{
flex-direction: row;
}

.event_tab_area .cta_btn .btn_col{
padding: 8px 20px;;
}

.event_sec .cap2{
display: none;
}

.event_flow{
flex-direction: column;
}

.event_flow::before{
top: 0;
left: 50%;
width: 2px;
height: 100%;
z-index: -1;
}

.event_flow > div .event_flow_col{
padding: 30px;
}

.event_sec h4{
font-size: 18px;
width: fit-content;
}

.event_flow > div .event_flow_col .cta_btn .btn_col{
width: auto;
padding: 8px 20px;
}

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

.company_sec .page_inner2{
padding-left: 0;
padding-right: 0;
}

.company_sec .summary_img01{
width: 23.2%;
top: 20px;
}

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

.privacy_sec .page_inner2{
padding-left: 0;
padding-right: 0;
}

/* ページタイトル見出し */
.page-id-25 h2.page_title_head::before{
top: 10px;
}
.page-id-25 h2.page_title_head::after{
bottom: -10px;
}

.privacy_sec h3{
font-size: 20px;
margin-top: 40px;
}

.privacy_sec h3 span{
font-size: 26px;
}

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

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

.default_page_content > * + *,
.default_page_content .page_content > * + *,
.default_page_content .wp-block-image,
.default_page_content .wp-block-gallery{
margin-top: 30px;
}

.default_page_content h2{
font-size: 24px;
}

.default_page_content h3{
font-size: 20px;
}

.default_page_content h4{
font-size: 18px;
}

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

.post_sec h3{
font-size: 20px;
margin-top: 5px;
}

.post_sec .page_inner{
width: 96%;
margin: 0 5.5%;
padding: 40px 0;
}

.post_sec_bg{
padding: 40px 30px;
}

.post_date{
font-size: 14px;
}

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

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

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

.post_sec .btn_gap{
gap: 0;
}

.post_sec .cta_btn .btn_col{
width: auto;
}

.post_nav .cta_btn:not(.prev):not(.next) {
order: 1;
width: 100%;
}

.post_nav .prev {
order: 2;
width: 50%;
}

.post_nav .next {
order: 3;
width: 50%;
}

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

.contact_text_bg{
padding: 20px 40px;
}

.contact_text_bg .text::before,
.contact_text_bg .text::after{
position: absolute;
top: 50%;
transform: translateY(-50%);
font-size: 50px;
font-weight: 100;
margin: 0;
}

.contact_text_bg .text::before{
left: -15px;
}

.contact_text_bg .text::after{
right: -15px;
}

.contact_text_bg .dot{
display: none;
}

.form-card{
padding: 20px;
border-radius: 10px;
}

.wpcf7-form .form-label,
.wpcf7-form label{
font-size: 15px;
}

.wpcf7-form label.form-label{
flex-wrap: wrap;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
margin-top: 8px;
}

.wpcf7-form-control-wrap{
width: 100%;
margin: 0;
}

.file-upload-wrap{
width: 100%;
margin: 8px 0 0;
}

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

.wpcf7-form-control.wpcf7-radio{
display: flex;
flex-direction: column;
}

.privacy-check .wpcf7-list-item .wpcf7-list-item-label{
font-size: 15px;
line-height: 1.4;
}

.form-label.form-label--heading{
font-size: 18px !important;
}

.submit-wrap {
position: relative;
display: flex;
justify-content: center;
margin-top: 20px;
}

.submit-wrap .wpcf7-spinner {
position: absolute;
right: -30px;
top: 50%;
transform: translateY(-50%);
}

.wpcf7-form input[type="submit"]{
font-size: 14px;
padding: 10px 45px;
}

/* 出店のご相談 */
.page-id-78 .wpcf7-list-item.last{
flex-wrap: wrap;
margin: 0;
}

#other-field .wpcf7-text{
margin: 0;
}

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

 .cta_btn {
  flex-direction: column;
  gap: 12px;
 }

 .cta_btn .btn_col {
  width: 100%;
  justify-content: center;
  padding: 14px 20px;
  font-size: 15px;
 }

/* cta_btn2 */
.cta_btn2 {
flex-direction: column;
gap: 30px;
}

.cta_btn2 .btn_col{
padding: 32px;
}

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

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

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

/* sec_cta_btm */
.sec_cta_btm .page_inner{
padding: 40px 0;
}

.sec_cta_btm .vendor .left,
.sec_cta_btm .vendor .right{
width: 100%;
}

.sec_cta_btm .vendor .left p{
font-size: 40px;
}

.sec_cta_btm .vendor .left p span{
font-size: 14px;
}

.sec_cta_btm .vendor .right p{
padding-left: 0;
text-align: center;
margin-top: 40px;
}

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


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

.footer_inner{
padding: 30px 20px;
}

.footer_nav {
display: grid;
grid-template-columns: 1fr 1fr;
column-gap: 24px;
row-gap: 16px;
align-items: center;
justify-content: normal;
}

.footer_nav_list {
display: contents;
}

.footer_nav_list li {
padding: 0;
}

.footer_nav_list li::after {
display: none;
}

.footer_nav_list li:nth-child(1) { grid-column: 1; grid-row: 1; }
.footer_nav_list li:nth-child(2) { grid-column: 1; grid-row: 2; }
.footer_nav_list li:nth-child(3) { grid-column: 1; grid-row: 3; }
.footer_nav_list li:nth-child(4) { grid-column: 2; grid-row: 1; }
.footer_nav_list li:nth-child(5) { grid-column: 2; grid-row: 2; }

.footer_sns {
grid-column: 2;
grid-row: 3;
margin-left: 0;
}

.footer_copyright{
padding: 16px 20px;
}

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

.breadcrumb .breadcrumb_list .breadcrumb_item{
margin-top: 10px;
}

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

.pc{
display: none;
}

.sp{
display: block;
}

}
