@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/*TOPのコンテンツの横幅を100%に*/
.home #content,
.home .l-content,
.home .l-container #top-main .post_content{
    max-width: 100% !important;
	margin:initial !important;
	padding:initial !important;
}

/*TOPテストのコンテンツの横幅を100%に*/
.page-template-page-top #content,
.page-template-page-top .l-content,
.page-template-page-top .l-container .post_content{
    max-width: 100% !important;
	margin:initial !important;
	padding:initial !important;
}

.page-template-page-top .l-mainContent{
    width:100%;
}


/*グルメリストのコンテンツの横幅を100%に*/
.single-items .l-container:not(.l-fixHeader__inner):not(header .l-container){
    max-width: initial !important;
    padding-left: initial !important;
    padding-right: initial !important;
}

.single-items .l-content{
    padding-top: 0 !important;
    margin:0 auto;
}

.single-items #breadcrumb{
    display:none !important;
}

/*グルメリストのサイドバー非表示、全幅コンテンツに*/
.single-items #sidebar{
    display:none;
}

.single-items #main_content{
    margin:auto;
    width:100%;
}

/*グルメリストテストのコンテンツの横幅を100%に*/
.single-itemstest .l-container:not(.l-fixHeader__inner):not(header .l-container){
    max-width: initial !important;
    padding-left: initial !important;
    padding-right: initial !important;
}

.single-itemstest .l-content{
    padding-top: 0 !important;
    margin:0 auto;
}

.single-itemstest #breadcrumb{
    display:none !important;
}

/*グルメリストテストのサイドバー非表示、全幅コンテンツに*/
.single-itemstest #sidebar{
    display:none;
}

.single-itemstest #main_content{
    margin:auto;
    width:100%;
}



body{
	text-align: justify;
	font-family: 'Noto Sans JP', sans-serif;
}

.-type-card .p-postList__item {
	width:25%;
}

.br-sp {
  display: none; /* デフォルトは非表示 */
}

@media (max-width: 768px) { /* スマホサイズ */
  .br-sp {
    display: block;
  }

.-type-card .p-postList__item {
	width:50%;
}	
}

#post_slider{
    display:none;
}

.f-pp{
    text-align:center;
    font-size:0.8rem;
}

.w-footer__box{
    padding:0;
}

.l-footer__widgetArea{
    padding-bottom:0;
}

.copyright{
    padding-bottom:1rem;
}

/*グルメリスト用*/
.i-title{
    background-color: #fded00;
    position:relative;
}

.i-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -300px;  /* 下にはみ出させる */
    width: 100%;
    height: 600px;   /* 弧の高さを調整 */
    background: #fded00; /* 同じ色でつなげる */
    border-bottom-left-radius: 50% 40%;
    border-bottom-right-radius: 50% 40%;
    z-index: -1; /* 背景扱いに */
}

.i-title-inner{
    max-width:1100px;
    margin:auto;
    display:flex;
    flex-direction: column;
    align-items: center;
    text-align:center;
    padding-top:50px;
}

.i-icon{
    max-width: 150px;
    margin-bottom:20px;
}

.i-copy{
    font-size:1.6rem;
    font-weight: 700;
    margin-bottom:20px;
}

.i-name{
    font-size:2.5rem;
    font-weight:900;
    color:#be0811;
    margin-bottom:10px;
    line-height:1.3;
}

.i-co{
    font-size: 1.4rem;
}

.i-slide{
    max-width:950px;
    margin:auto;
    margin-top:50px;
}

.mainslide {
  aspect-ratio: 20 / 13;   /* 常に 4:3 の比率を維持 */
  width: 100%;           /* 親要素に合わせて伸縮 */
  position: relative;
  overflow: hidden;      /* はみ出した部分は隠す */
  border-radius: 40px;;
}

.mainslide img {
  width: 100%;
  height: 100%;
  object-fit: cover;     /* 枠いっぱいに収めてトリミング */
  object-position: center; /* 中央基準 */
  display: block;
}

#thumbnail-slider{
    margin-top:30px;
}

.i-story{
    width:100%;
    position:relative;
    z-index:0;
    margin:40px auto 0;
    padding-bottom:300px;
}

.i-story-inner{
    max-width:950px;
    font-weight:200;
    line-height:1.8;
    margin:auto;
}

.i-story-tit{
    font-size:1.6rem;
    font-weight:700;
    color: #be0811;
    text-align: center;
    margin-bottom:30px;
}

.i-story::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -200px;  /* 下にはみ出させる */
    width: 100%;
    height: 400px;   /* 弧の高さを調整 */
    background: #fded00; /* 同じ色でつなげる */
    border-top-left-radius: 80% 70%;
    border-top-right-radius: 80% 70%;
    z-index: -10; /* 背景扱いに */
}

.i-story-f{
    display:flex;
    justify-content:space-between;
}

.i-story-t {
    width:63%;
}

.i-story-m-wrap{
    width:32%;
}

.i-story-m{
    position: relative;
    width: 100%;
    padding-top: 160%; /* アスペクト比 16:9 */
/** padding-top: 177.77%; /* アスペクト比 16:9 */
}

.i-story-m iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 20px;
}


.i-detail{
    width:100%;
    background:#fded00;
    position: relative;
    z-index: 100; /* 上にかぶせる */
    background-image:url('/wp-content/uploads/2025/09/bg-logo.png');
    background-repeat: no-repeat;
    background-size:30%;
    background-position: right -4% bottom;
}

.i-detail-inner{
    max-width:950px;
    margin:auto;
    font-weight:200;
}

.i-detail-tit{
    font-size:1.6rem;
    font-weight:700;
    color: #be0811;
    border-bottom:solid 2px #211915;
    padding-bottom :5px;
    margin:20px 0;
}

.i-detail-h{
    display:flex;
}

.i-detail-img{
    aspect-ratio: 1 / 1;   /* 正方形にする */
    width: 250px;
    position: relative;
    overflow: hidden;
}

.i-detail-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;     /* 枠いっぱいに収めてトリミング */
    object-position: center; /* 中央基準 */
    display: block;
}

.i-detail-m{
    margin-left:30px;
    max-width:670px;
}

.item-h-name{
    text-align:right;
    margin-top:15px;
}




.shop-data1{
    margin-bottom:20px;
    padding-bottom:10px;
}

.i-detail-f{
    display:flex;
    margin-bottom:5px;
}

.i-detail-t{
    font-weight:700;
    width:120px;
}

.other-shop{
    font-weight:700;
    font-size:1.2rem;
    color: #be0811;
    margin-bottom:10px;
    padding-bottom:5px;
    border-bottom:solid 1px #211915;
}

.i-bnr{
    display:flex;
    flex-direction: column;
    margin-top:60px;
    padding-bottom:20px;
}




/*TOP用*/

.g-list .p-postList__times{
    display:none;
}


.g-list .p-postList__thumb{
    border-radius: 15px;
}

.g-list{
	text-align: initial;
}



/* ページIDが48のページ内のリンク全て */
.page-id-48 #top-main a,
.item-main a {
  display: inline-block;       /* transformを効かせるために必要 */
  transition: transform 0.4s ease; /* ゆっくり拡大するアニメーション */
}

/* マウスオーバー時に拡大 */
.page-id-48 #top-main a:hover,
.item-main a:hover {
  transform: scale(1.05); /* 1.05倍に拡大 */
}

#top-main .g-list a{
    display:initial;
    transition:initial;
}

#top-main .g-list a:hover, 
#top-main .news-f-list a:hover{
    transform:initial;
}




.ov{
    width:100%;
    background:#fded00;
    position: relative;
     z-index: 1; /* 上にかぶせる */
}

.ov::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -170px;  /* 下にはみ出させる */
    width: 100%;
    height: 300px;   /* 弧の高さを調整 */
    background: #fded00; /* 同じ色でつなげる */
    border-bottom-left-radius: 80% 70%;
    border-bottom-right-radius: 80% 70%;
    z-index: -1; /* 背景扱いに */
}

.ov-inner{
    max-width:1100px;
    margin:auto;
}

.ov-copy{
    display:flex;
    justify-content:center;
    align-items:center;
    padding:80px 0;
}

.ov-img{
    max-width:370px;
    margin:0 30px;
}

.ov-t{
    max-width:750px;
    font-size:1.3rem;
    font-weight:700;
    margin:0 30px;
}

.ov-t1{
    font-size:2rem;
    font-weight:900;
    line-height:1.4;
    margin-bottom:20px;
}

.ov-t2{
    line-height:1.7;
}


.bnr{
    display:flex;
    flex-direction: column;
    padding-bottom:80px;
}

.bnr-link{
    max-width:800px;
    margin:auto;
}

.bnr-t{
    text-align:center;
}

.event{
    width:100%;
    background:#be0811;
    padding:200px 0;
    position:relative;
    z-index:0;
}

.event::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -170px;  /* 下にはみ出させる */
    width: 100%;
    height: 300px;   /* 弧の高さを調整 */
    background: #fff; /* 同じ色でつなげる */
    border-top-left-radius: 80% 70%;
    border-top-right-radius: 80% 70%;
    z-index: 2; /* 背景扱いに */
}


.event-inner{
    margin:auto;
    color:#fff;
    padding-bottom:60px;
}


.event-tit{
    text-align:center;
    background-image: url("/wp-content/uploads/2025/09/subtit-event.png");
    background-repeat: no-repeat;
    background-position: center 35px;
    padding-bottom:40px;
}

.event-tit-t{
    text-align: center;
}

.event-tit-y{
    color:#fded00;
    font-size:2.8rem;
    font-weight:800;
}

.event-tit-w{
    color:#fff;
    font-size:2.6rem;
    font-weight:800;
}

.event-f{
    margin-top:60px;
    display:flex;
    justify-content:center;
    width:100%;
}

.event-f2{
    display:flex;
    flex-direction: column;
    align-items:center;
    padding:0 60px;
}

.event-f2:first-child{
    border-right: solid 1px #fff;
}

.event-f3{
    display:flex;
    align-items:center;
    justify-content: center;
    margin-top:15px;
}

.event-m-wrap{
    max-width:900px;
    margin:50px auto 0;
    padding:0 10px;
}

.event-m {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* アスペクト比 16:9 */
}

.event-m iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.place{
    border:solid 1px #fff;
    padding:3px 8px;
    margin-right:10px;
}

.place-t{
    line-height:1.4;
}

.event-link{
    margin-top:15px;
}

.event-link a{
    display:inline-block;
    width:100%;
    height:100%;
    border:solid 1px #fff;
    border-radius: 10px;
    padding:5px 30px;
    color:#fff;
}

.list{
    width:100%;
    background:#fff;
    position: relative;
    z-index: 1; /* 上にかぶせる */
    padding-bottom:150px;
}

.list::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -170px;  /* 下にはみ出させる */
    width: 100%;
    height: 300px;   /* 弧の高さを調整 */
    background: #fded00; /* 同じ色でつなげる */
    border-top-left-radius: 80% 70%;
    border-top-right-radius: 80% 70%;
    z-index: 2; /* 背景扱いに */
}

.list-inner{
    max-width:1100px;
    margin:auto;
}

.list-tit{
    text-align:center;
    background-image: url("/wp-content/uploads/2025/09/subtit-list.png");
    background-repeat: no-repeat;
    background-position: center 35px;
    padding-bottom:40px;
}

.list-tit-t{
    text-align: center;
}

.list-tit-y{
    color:#be0811;
    font-size:2.8rem;
    font-weight:800;
}

.list-tit-w{
    color:#211915;
    font-size:2.8rem;
    font-weight:800;
}

.g-list{
    margin:50px 0;
}

.info{
    width:100%;
    background:#fded00;
    position:relative;
    z-index:10;
    margin-top:50px;
    padding-bottom:100px;
}

/*
.info::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -170px; 
    width: 100%;
    height: 300px;   
    background: #fded00;
    border-bottom-left-radius: 80% 70%;
    border-bottom-right-radius: 80% 70%;
    z-index: -1; 
}
*/

.news-inner{
    max-width:1100px;
    margin:80px auto 0;
}

.news-f{
    max-width:800px;
    margin:auto;
    display:flex;
    justify-content: space-between;
    align-items:center;
    padding-bottom:100px;
}

.news-f-head{
    width:220px;
    height:220px;
    border-radius: 50%;
    border:solid 3px #be0811;
    color:#be0811;
    font-size: 1.5rem;
    font-weight:800;
    display:flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.news-f-list{
    width:65%;
}


.sns-inner{
    max-width:1100px;
    margin:160px auto;
    padding:30px 0;
    background:#fff;
    border-radius: 40px;
}

.sns-tit{
    color:#be0811;
    font-size:2.8rem;
    font-weight:800;
    text-align: center;
}

.sns-f{
    display:flex;
    justify-content: center;
    padding:30px 0;
}

.sns-list{
    position: relative;
    width:170px;
    height: 170px;
    overflow: hidden;
    border-radius: 20px;
    margin:0 15px;
}

.sns-list:first-child{
    margin:0 15px 0 0;
}

.sns-list:last-child{
    margin:0 0 0 15px;
}

.sns-list img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.contact-inner{
    max-width:1100px;
    margin:100px auto 50px;
    padding:50px 0;
    background:#fff;
}

.contact-f{
    max-width:850px;
    margin:auto;
    display:flex;
    justify-content: space-between;
    align-items:center;
}

.contact-f-head{
    width:220px;
    height:220px;
    border-radius: 50%;
    border:solid 3px #be0811;
    color:#be0811;
    font-size: 2rem;
    font-weight:800;
    display:flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.contact-f-head-s{
    font-size:1rem;
    color:#211915;
    font-weight:400;
    align-items:center;
}

.contact-f-t{
    width:fit-content;
}

.contact-f-t1{
    font-size:1.2rem;
    margin-bottom:10px;
    display:flex;
    align-items: center;
}

.contact-f-t1a{
    color:#be0811;
    font-size:0.9rem;
    font-weight:700;
    border:solid 2px #be0811;
    width:65px;
    text-align:center;
    margin:0 15px;
}


.contact-f-t2{
    font-size:3rem;
    font-weight:900;
    margin:0 15px 15px;
}

.contact-f-t2 a{
    color:#be0811;
}
.contact-f-t3{
    margin:0 15px;
}

#post_slider{
    display:none;
}

/*TOP用メディアクエリ*/
@media screen and (max-width: 959px) {

section{
    padding:0 20px;
}

.ov-copy{
    display:flex;
    flex-direction: column;
    padding:40px 0;
}

.ov-img{
    max-width:200px;
    margin:0;
}

.ov-t{
    font-size:1rem;
    margin-top:20px;
    text-align: center;
}

.ov-t{
    margin:20px 0 0;
}

.ov-t1{
    font-size:1.5rem;
}

.bnr{
    padding-bottom:30px;
}

.ov::after {
    bottom: -80px;  /* 下にはみ出させる */
    width: 100%;
    height: 200px;   /* 弧の高さを調整 */
    border-bottom-left-radius: 45% 25%;
    border-bottom-right-radius: 45% 25%;
}

.event{
    padding:100px 0 60px;
}

.event::after {
    bottom: -150px;  /* 下にはみ出させる */
    width: 100%;
    height: 200px;   /* 弧の高さを調整 */
    border-top-left-radius: 45% 25%;
    border-top-right-radius: 45% 25%;
}

.event-inner{
    padding-bottom:20px;
}


.event-tit{
    max-width:100%;
    background-size:contain;
    background-repeat: no-repeat;
    background-position: center 20px;
}

.event-tit-y{
    font-size:2.2rem;
}

.event-tit-w{
    font-size:2.0rem;
}

.event-f{
    flex-direction: column;
    margin-top:0;
}

.event-f2{
    padding:30px 20px;
    margin-left:10px;
    margin-right:10px;
}

.event-f2 img{
    max-width:80%;
}

.event-f2:first-child{
    border-right: initial;
    border-bottom: solid 1px #fff;
}

.event-m-wrap{
    margin:10px auto 0;
    padding:0 10px 20px;
}


.list-tit{
    max-width:100%;
    background-size:contain;
    background-repeat: no-repeat;
    background-position: center 30px;
    padding-bottom:20px;
}

.list-tit-y{
    font-size:2.2rem;
}

.list-tit-w{
    font-size:2.0rem;
}

.list{
    padding-bottom:50px;
}

.g-list{
    margin:20px 0;
}

.list::after {
    bottom: -200px;  /* 下にはみ出させる */
    width: 100%;
    height: 200px;   /* 弧の高さを調整 */
    border-top-left-radius: 45% 25%;
    border-top-right-radius: 45% 25%;
}

.info{
    padding-bottom:30px;
}

.news-f{
    flex-direction: column;
    padding-bottom:50px;
}

.news-f-head{
    width:initial;
    height:initial;
    font-size: 2rem;
    margin-bottom:30px;
    border-radius: initial;
    border:initial;
    border-bottom:solid 3px #be0811;
    padding:0 2rem 10px;
}

.news-f-list{
    width:100%;
}

.sns-inner{
    margin:40px auto;
    border-radius: 60px;
}

.sns-tit{
    font-size:2rem;
}

.sns-f{
    flex-wrap:wrap;
    justify-content: center;
    padding:10px 0;
}

.sns-list{
    width:90px;
    height: 90px;
    margin:10px;
}

.sns-list:first-child{
    margin:10px !important;
}

.sns-list:last-child{
    margin:10px !important;
}

.contact-inner{
    margin:50px auto 50px;
    padding:30px 0;
}

.contact-f{
    flex-direction: column;
}

.contact-f-head{
    width:initial;
    height:initial;
    font-size: 2rem;
    margin-bottom:30px;
    border-radius: initial;
    border:initial;
    border-bottom:solid 3px #be0811;
    padding:0 2rem 10px;
    margin-bottom:30px;
}

.contact-f-t{
    max-width:95%;
    text-align:center;
}

.contact-f-t1{
    align-content: center;
}

.contact-f-t1b{
    text-align: left;
    font-size: 1rem;
    line-height:1.4;
}

 /* グルメリスト用メディアクエリ */
.i-title::after {
    bottom: -100px;  /* 下にはみ出させる */
    height: 100px;   /* 弧の高さを調整 */
    border-bottom-left-radius: 50%;
    border-bottom-right-radius:50%;
}

.i-title-inner{
    padding-top:20px;
}

.i-icon{
    max-width: 80px;
    margin-bottom:10px;
}

.i-copy{
    font-size:1.2rem;
    margin-bottom:10px;
}

.i-name{
    font-size:1.8rem;
}

.i-co{
    font-size: 1rem;
}

.mainslide {
    border-radius: 20px;;
}

.i-slide{
    margin-top:20px;
}


.i-story{
    padding-bottom:150px;
}

.i-story-tit{
    margin-bottom:20px;
}

.i-story::after{
    bottom: -100px;  /* 下にはみ出させる */
    height: 200px;   /* 弧の高さを調整 */
    border-top-left-radius: 45% 25%;
    border-top-right-radius: 45% 25%;
}

.i-story-f{
    flex-direction: column;
}

.i-story-t {
    width:100%;
}
.i-story-m-wrap{
    width:100%;
    margin:10px auto 0;
    padding:20px 0;
}

.i-detail{
    background-size:70%;
    background-position: right -6% bottom -3%;
}

.i-detail-f{
    display:flex;
    margin-bottom:5px;
    flex-direction: column;
}

.i-detail-h{
    flex-direction: column;
    align-items:center;
}

.i-detail-img{
    width:200px;
}

.i-detail-m{
    margin-left:0;
    margin-top:15px;
}

.i-bnr{
    margin-top:20px;
    padding-bottom:10px;
}





























}


 /* TOPループスライダー用1 */
.loop-slider {
    display: flex;
    overflow: hidden;
    gap: 1.5rem; /* 画像間の余白を指定 */
}

.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
    display: contents;
}

.loop-slider .swell-block-columns__inner {
    flex-wrap: nowrap;
    animation: infinity-scroll-left 20s infinite linear; /* アニメーションの時間を指定 */
}

.loop-slider .swell-block-column figure {
    width: 2500px; /* 画像の横幅を指定（パソコン） */
    position: relative;
}

.loop-slider .swell-block-column figure::before {
    display: none; /* padding-top で縦横比固定を解除 */
}

.loop-slider .swell-block-column figure img {
    width: 100% !important;
    object-fit: contain; /* cover → contain に変更 */
    object-position: center;
}

@media screen and (max-width: 959px) {
    .loop-slider .swell-block-column figure {
        width: 1200px; /* 画像の横幅を指定（スマホ） */
    }
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

 /* TOPループスライダー用2 */
.loop-slider2 {
    display: flex;
    overflow: hidden;
    gap: 3rem; /* 画像間の余白を指定 */
}

.loop-slider2 .wp-block-group__inner-container,
.loop-slider2 .swell-block-columns {
    display: contents;
}

.loop-slider2 .swell-block-columns__inner {
    flex-wrap: nowrap;
    animation: infinity-scroll-left 20s infinite linear; /* アニメーションの時間を指定 */
}

.loop-slider2 .swell-block-column figure {
    width: 1000px; /* 画像の横幅を指定（パソコン） */
    position: relative;
}

.loop-slider2 .swell-block-column figure::before {
    display: none; /* padding-top で縦横比固定を解除 */
}

.loop-slider2 .swell-block-column figure img {
    width: 100% !important;
    object-fit: contain; /* cover → contain に変更 */
    object-position: center;
}

@media screen and (max-width: 959px) {
    .loop-slider2 .swell-block-column figure {
        width: 550px; /* 画像の横幅を指定（スマホ） */
    }
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

 /* script.js用 */
.fade {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 1.5s, transform 0.5s;
}.fade.active {
	opacity: 1;
	transform: translateY(0px);
}

/* 初期状態：透明 */
#main_visual img.p-mainVisual__img {
  opacity: 0;
  transition: opacity 1.5s ease;
}

/* 表示状態：フェードイン */
#main_visual img.p-mainVisual__img.is-visible {
  opacity: 1;
}