@charset "utf-8";
/*------------------------  pages.css  ------------------------*/



/*----------------------  ホーム  ----------------------*/


/*-----  movie  -----*/
.movie { margin: 0 auto; padding: 50px 3% 46px; max-width: 1180px; }
.movie .movie-block { position: relative; padding-top: 56.25%; width: 100%; border-radius: 8px; overflow: hidden; }
.movie .movie-block iframe { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; }

@media screen and (max-width: 800px) {
 .movie { padding: 20px 3% 24px; }
}


/*-----  h-main  -----*/
.h-main { margin: 0 auto; padding: 50px 3% 55px; max-width: 1180px; }
.h-main .h-main-block { border-radius: 8px; overflow: hidden; }
.h-main .h-main-block .link { display: block; }
.h-main .h-main-block .nolink:hover { opacity: 1; }

@media screen and (max-width: 800px) {
 .h-main { padding: 24px 3% 24px; }
}


/*-----  mv  -----*/
.mv { margin: 0 auto; padding: 50px 3% 55px; max-width: 1180px; }
.mv .mv-block { background: url(/images/mv_bg.png) no-repeat center #fef7e8; background-size: cover; }

@media screen and (max-width: 800px) {
 .mv { padding: 24px 3% 24px; }
 .mv .mv-block { background: url(/images/mv_bg_sp.png) no-repeat center #fef7e8; background-size: cover; }
 .mv .mv-block .mv-img { margin: 0 auto; max-width: 420px; }
}


/*-----  h-info  -----*/
.h-info { margin: -8px auto 0; padding: 0 3% 44px; max-width: 1180px; }
.h-info .ttl-block { display: flex; align-items: baseline; padding: 0 0 12px; }
.h-info .ttl-block .en { font-family: 'Kanit', sans-serif; font-weight: 800; font-size: 36px; }
.h-info .ttl-block .ttl { padding-left: 12px; font-weight: 800; font-size: 17px; }
.h-info .info-block { padding: 0 0 12px; }
.h-info .info-block .link { display: block; position: relative; padding: 16px 38px 16px 16px; font-size: 16px; line-height: 1.5; }
.h-info .info-block .link::after { content: ''; position: absolute; top: 50%; right: 16px; width: 15px; height: 15px; background: url(/images/ico_arrow02.svg) no-repeat; background-size: contain; transform: translate(0, -50%); }
.h-info .info-block .ext::after { background: url(/images/ico_external02.svg) no-repeat; }

@media screen and (max-width: 800px) {
 .h-info { margin: 0 auto; padding: 0 3% 14px; }
 .h-info .ttl-block { padding: 0 0 8px; }
 .h-info .ttl-block .en { font-size: 28px; }
 .h-info .ttl-block .ttl { padding-left: 8px; font-size: 15px; }
 .h-info .info-block { padding: 0 0 10px; }
 .h-info .info-block .link { padding: 13px 32px 13px 12px; font-size: 15px; }
 .h-info .info-block .link::after { right: 10px; width: 13px; height: 13px; }
}


/*-----  news-topic  -----*/
.news-topic { background: #fbc400; }
.news-topic .news-topic-block { display: flex; align-items: center; justify-content: space-between; position: relative; margin: 0 auto; padding: 0 3%; max-width: 1180px;  }
.news-topic .ttl { flex-basis: 130px; font-family: 'Kanit', sans-serif; font-weight: 800; font-size: 38px; }
.news-topic .news-topic-list { padding: 0 3%; width: calc(100% - 220px); }
.news-topic .news-topic-list .news-item { height: 90px; font-size: 16px; line-height: 1.5; }
.news-topic .news-topic-list .news-item .link { display: flex; align-items: center; width: 100%; height: 100%; }
.news-topic .news-topic-list .news-item .link:hover { color: #cd001a; opacity: 1; }
.news-topic .news-topic-list .news-item .nolink { display: flex; align-items: center; height: 100%; pointer-events: none; }
.news-topic .news-topic-list .news-item .date { font-family: 'Kanit', sans-serif; font-weight: 800; font-size: 17px; }
.news-topic .news-topic-list .news-item .news-title { height: 1.5em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.news-topic .news-topic-btn { flex-basis: 130px; }
.news-topic .news-topic-btn .btn { justify-content: center; margin-left: auto; padding: 0; width: 120px; height: 44px; }
.news-topic .news-topic-btn .btn::after { display: none; }

@media screen and (max-width: 800px) {
 .news-topic { margin: 36px 0 60px; }
 .news-topic .news-topic-block { display: block; padding: 0; }
 .news-topic .ttl { position: absolute; top: -36px; left: 3%; font-size: 28px; }
 .news-topic .news-topic-list { padding: 0 3%; width: 100%; }
 .news-topic .news-topic-list .news-item { height: 74px; font-size: 15px; }
 .news-topic .news-topic-list .news-item .link:hover { color: #22150e; }
 .news-topic .news-topic-list .news-item .date { font-size: 16px; }
 .news-topic .news-topic-btn { position: absolute; bottom: -55px; right: 3%; }
 .news-topic .news-topic-btn .btn { width: 114px; height: 42px; }
}


/*-----  ad-slider  -----*/
.ad-slider { padding: 60px 0 5px; }
.ad-slider .link { display: block; background: none; }
.ad-slider .nolink:hover { opacity: 1; }
.ad-slider .slider .slick-slide { position: relative; margin: 0 10px; width: 840px; overflow: hidden; }
.ad-slider .dots { margin: 15px 0 0; }
.ad-slider .dots .slick-dots { text-align: center; }
.ad-slider .dots .slick-dots li { display: inline-block; }
.ad-slider .dots .slick-dots button { display: block; margin: 6px; width: 12px; height: 12px; font-size: 0; background: #22150e; border-radius: 50%; opacity: .5; cursor: pointer; }
.ad-slider .dots .slick-dots .slick-active button { background: #cd001a; opacity: 1; }

@media screen and (max-width: 960px) {
 .ad-slider .slider .slick-slide { width: 800px; }
}

@media screen and (max-width: 800px) {
 .ad-slider { padding: 26px 0 5px; }
 .ad-slider .slider .slick-slide { margin: 0 4px; width: 90vw; }
 .ad-slider .dots { margin: 6px 0 0; }
 .ad-slider .dots .slick-dots button { margin: 5px; width: 10px; height: 10px; }
}


/*-----  h-menu  -----*/
.h-menu { margin: 0 auto; padding: 45px 3% 90px; max-width: 1180px; }
.h-menu .menu-block { display: flex; flex-wrap: wrap; margin: 0 -10px; }
.h-menu .menu-block .p-block { padding: 0 10px 20px; flex-basis: calc(100%/4); }
.h-menu .menu-block .p-block .link { position: relative; display: block; height: 100%; background: url(/images/bg_h_menu.jpg) no-repeat center bottom; background-size: cover; }
.h-menu .menu-block .p-block .p-info { position: absolute; top: 0; left: 0; padding: 14px 18px; }
.h-menu .menu-block .p-block .p-info .en { padding: 0 0 2px; font-family: 'Kanit', sans-serif; font-weight: 800; font-size: 28px; }
.h-menu .menu-block .p-block .p-info .name { font-weight: 800; font-size: 16px; }
.h-menu .menu-block .p-block .p-img { padding: 52px 5px 5px; }

@media screen and (max-width: 960px) {
 .h-menu .menu-block .p-block { flex-basis: calc(100%/3); }
}

@media screen and (max-width: 800px) {
 .h-menu { padding: 20px 3% 40px; }
 .h-menu .menu-block { margin: 0 -5px; }
 .h-menu .menu-block .p-block { padding: 0 5px 10px; }
 .h-menu .menu-block .p-block .p-info { padding: 8px 10px; }
 .h-menu .menu-block .p-block .p-info .en { padding: 0 0 2px; font-size: 22px; }
 .h-menu .menu-block .p-block .p-info .name { font-size: 14px; }
 .h-menu .menu-block .p-block .p-img { padding: 48px 2px 2px; }
}

@media screen and (max-width: 500px) {
 .h-menu .menu-block .p-block { flex-basis: calc(100%/2); }
}





/*----------------------  メニュー  ----------------------*/


/*-----  menu-nav  -----*/
.top-nav { padding: 8px 0 16px; background: #fbc400; }
.top-nav .top-nav-inner { margin: 0 auto; padding: 0 36px; max-width: 1120px; }
.menu-nav { display: none; }
.menu-nav.slick-initialized { display: block; }
.menu-nav .nav { padding: 0 2px; font-weight: 800; font-size: 15px; line-height: 1.1; }
.menu-nav .nav .nav-link { display: block; padding: 9px 18px; text-align: center; border-radius: 9999px; }
.menu-nav .nav .active { background: #22150e; color: #fff; }
.menu-nav .slide-arrow { position: absolute; top: 50%; width: 18px; height: 18px; transform: translate(0, -50%); cursor: pointer; }
.menu-nav .prev-arrow { left: -24px; background: url(/images/ico_prev.svg) no-repeat; background-size: contain; }
.menu-nav .next-arrow { right: -24px; background: url(/images/ico_next.svg) no-repeat; background-size: contain; }

@media screen and (max-width: 960px) {
 .top-nav .top-nav-inner { margin: 0 auto; padding: 0 26px; }
 .menu-nav.slick-initialized { padding: 0 10px; }
 .menu-nav .prev-arrow { left: -14px; }
 .menu-nav .next-arrow { right: -14px; }
}

@media screen and (max-width: 800px) {
 .top-nav { padding: 7px 0 12px; background: #fbc400; }
 .top-nav .top-nav-inner { margin: 0 auto; padding: 0 24px; }
 .menu-nav .nav { padding: 0 1px; font-size: 14px; }
 .menu-nav .nav .nav-link { padding: 8px 14px; }
}


/*-----  notes-block-top  -----*/
.notes-block-top { margin: 0 auto; padding: 12px 3% 0; max-width: 1180px; font-weight: 800; font-size: 15px; line-height: 1.3; }
.notes-block-top .note { padding: 3px 0 0; }
.notes-block-top .link { color: #cd001a; text-decoration: underline; }

@media screen and (max-width: 800px) {
 .notes-block-top { padding: 8px 3% 0; font-size: 14px; }
}


/*-----  notes-block  -----*/
.notes-block { padding: 30px 0 0; font-size: 14px; line-height: 1.5; }
.notes-block .note { padding: 2px 0 0; }

@media screen and (max-width: 800px) {
 .notes-block { padding: 20px 0 0; font-size: 13px; }
}


/*-----  btn-block  -----*/
.btn-block { display: flex; justify-content: flex-end; margin: 30px 0 0; }
.btn-block .allergen-btn { width: 240px; }
.btn-block .nutrition-btn { margin-left: 13px; width: 230px; }

@media screen and (max-width: 800px) {
 .btn-block { display: block; margin: 20px 0 0; }
 .btn-block .allergen-btn { width: auto; }
 .btn-block .nutrition-btn { margin: 10px 0 0; width: auto; }
}


/*-----  back-btn  -----*/
.back-btn { margin: 30px auto 0; width: 240px; }

@media screen and (max-width: 800px) {
 .back-btn { margin: 30px auto 0; width: auto; }
}


/*-----  kids banner  -----*/
.kids-banner { margin: 2px auto 25px; }

@media screen and (max-width: 800px) {
 .kids-banner { margin: 2px auto 12px; }
}






/*----------------------  店舗情報  ----------------------*/


/*-----  店舗一覧  -----*/
.shop-select { display: grid; padding: 0 0 40px; }
.shop-select .select-cont { display: none; }
.shop-select .select-cont.active { display: revert; }
.shop-select .select-block { position: relative; overflow: hidden; width: 100%; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 6px rgba(0,0,0,0.1); }
.shop-select .select-block::before { content: ''; position: absolute; top: 21px; right: 16px; width: 16px; height: 16px; background: url(/images/ico_arrow02.svg) no-repeat; background-size: contain; transform: rotate(90deg); }
.shop-select .select-block select { position: relative; width: 100%; margin: 0; padding: 19px 40px 20px 16px; text-overflow: ellipsis; border: none; outline: none; border-radius: 0; background: transparent; background-image: none; box-shadow: none; text-indent: .01px; -moz-appearance: none; -webkit-appearance: none; appearance: none; font-weight: 800; font-size: 19px; line-height: 1; color: #22150e; cursor: pointer; z-index: 2; }
.shoplist { display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 16px; grid-row-gap: 16px; padding: 24px 0 0; }
.shoplist .list-block .link { display: block; position: relative; padding: 10px 28px 11px 11px; height: 100%; }
.shoplist .list-block .link::after { content: ''; position: absolute; top: 50%; right: 8px; width: 16px; height: 16px; background: url(/images/ico_arrow02.svg); background-size: contain; transform: translate(0, -50%); }
.shoplist .list-block .shopname { display: flex; align-items: center; }
.shoplist .list-block .shopname .ico { width: 28px; }
.shoplist .list-block .shopname .name { padding-left: 7px; font-weight: 800; font-size: 19px; line-height: 1.3; }
.shoplist .list-block .add { padding: 5px 1px 0; font-size: 15px; line-height: 1.5; }
.shoplist .list-block .open { padding: 1px 1px 0; font-weight: 600; font-size: 15px; line-height: 1.5; color: #cd001a; }
.shoplist .list-block .close { padding: 1px 1px 0; font-weight: 600; font-size: 15px; line-height: 1.5; color: #cd001a; }

@media screen and (max-width: 800px) {
 .shop-select { padding: 0 0 20px; }
 .shop-select .select-block::before { top: 19px; right: 13px; width: 14px; height: 14px; }
 .shop-select .select-block select { padding: 18px 38px 18px 13px; font-size: 16px; }
 .shoplist { display: block; padding: 16px 0 0; }
 .shoplist .list-block { padding: 0 0 10px; }
 .shoplist .list-block .link { padding: 9px 26px 10px 10px; }
 .shoplist .list-block .link::after { right: 8px; width: 14px; height: 14px; }
 .shoplist .list-block .shopname .ico { width: 20px; }
 .shoplist .list-block .shopname .name { padding-left: 5px; font-size: 16px; }
 .shoplist .list-block .add { padding: 4px 1px 0; line-height: 1.4; }
}


/*-----  店舗詳細  -----*/
.shop { padding: 40px 5% 50px; }
.shop .shopname { display: flex; align-items: center; padding: 0 0 20px; }
.shop .shopname .ico { width: 54px; }
.shop .shopname .name { flex: 1; padding-left: 12px; font-weight: 800; font-size: 28px; line-height: 1.3; }
.shop .shop-block { display: flex; }
.shop .shop-block .table { flex: 1; padding: 0 5% 0 0; }
.shop .shop-block .table .item { display: flex; padding: 20px 5px; border-top: 1px solid #dbb789; font-size: 16px; line-height: 1.6; }
.shop .shop-block .table .item .name { flex-basis: 21%; font-weight: 600; }
.shop .shop-block .table .item .data { flex: 1; }
.shop .shop-block .table .item .data .ei { padding: 0 0 3px; }
.shop .shop-block .table .item .data .to { padding: 8px 0 3px; }
.shop .shop-block .table .item .data .hours { display: flex; padding: 0 0 3px; }
.shop .shop-block .table .item .data .hours:last-of-type { padding: 0; }
.shop .shop-block .table .item .data .days { flex-basis: 4.5em; }
.shop .shop-block .table .item .data .time { flex: 1; }
.shop .shop-block .table .item .data .time .lo { margin-left: 4px; font-size: 14px; }
.shop .shop-block .table .item .data .holiday { padding: 4px 0 0; }
.shop .shop-block .table .item .open { font-weight: 600; color: #cd001a; }
.shop .shop-block .table .item .close { font-weight: 600; color: #cd001a; }
.shop .shop-block .table .item .link { display: block; position: relative; padding-left: 15px; font-weight: 600; line-height: 1.5; }
.shop .shop-block .table .item .link::after { content: ''; position: absolute; top: 50%; left: -1px; width: 13px; height: 13px; background: url(/images/ico_arrow02.svg); background-size: contain; transform: translate(0, -50%); }
.shop .shop-block .table .recruit { padding: 30px 0 0; border-top: 1px solid #dbb789; }
.shop .shop-block .table .recruit .bnr { margin: 0 auto; max-width: 340px; }
.shop .shop-block .table .recruit .bnr .link { display: block; }
.shop .shop-block .map { flex-basis: 42%; height: 480px; }


@media screen and (max-width: 800px) {
 .shop { padding: 16px 4% 30px; }
 .shop .shopname { padding: 0 0 14px; }
 .shop .shopname .ico { width: 28px; }
 .shop .shopname .name { padding-left: 7px; font-size: 20px; }
 .shop .shop-block { display: block; }
 .shop .shop-block .table { padding: 0 0 26px; }
 .shop .shop-block .table .item { display: block; padding: 16px 5px; font-size: 15px; }
 .shop .shop-block .table .item .name { padding: 0 0 3px; }
 .shop .shop-block .table .item .data .to { padding: 6px 0 3px; }
 .shop .shop-block .table .item .data .days { flex-basis: 4.8em; }
 .shop .shop-block .table .item .data .time .lo { display: block; margin-left: 0; }
 .shop .shop-block .table .item .link { padding-left: 16px; }
 .shop .shop-block .table .item .link::after { width: 12px; height: 12px; }
 .shop .shop-block .table .recruit { padding: 26px 0 0; }
 .shop .shop-block .map { height: 320px; }
}


/*-----  shoplist-btn  -----*/
.shoplist-btn { margin: 40px auto 0; width: 230px; }

@media screen and (max-width: 800px) {
 .shoplist-btn { margin: 30px auto 0; width: auto; }
}



/*----------------------  会社概要  ----------------------*/


.company { padding: 50px 5%; }
.company .table { margin: 0 auto; }
.company .table .item { display: flex; padding: 25px 10px; border-bottom: 1px solid #dbb789; font-size: 16px; line-height: 1.6; }
.company .table .item:first-of-type { border-top: 1px solid #dbb789; }
.company .table .name { flex-basis: 20%; font-weight: 600; }
.company .table .data { flex: 1; }

@media screen and (max-width: 800px) {
 .company { padding: 35px 4%; }
 .company .table .item { display: block; padding: 16px 5px; font-size: 15px; }
 .company .table .name { padding: 0 0 5px; }
}



/*----------------------  安全安心  ----------------------*/


.m-safety { margin-bottom: 50px; }
.m-safety .main-img { height: 320px; background: url(/images/safety/main_visual.jpg) no-repeat center; background-size: cover; }
.m-safety .safety-inner { padding: 45px 4% 40px; }
.m-safety .head { margin: 0 0 40px; padding: 0 0 22px; border-bottom: 1px solid #dfc29d; font-weight: 800; font-size: 28px; line-height: 1.3; }
.m-safety .subhead { margin: 40px 0 28px; font-weight: 800; font-size: 20px; line-height: 1.3; }
.m-safety .btn-set { display: flex; }
.m-safety .pdf-btn { margin: 0 20px 0 0; width: 340px; }
.m-safety .pdf-btn:last-of-type { margin: 0; }
.m-safety .pdf-btn .btn { display: flex; align-items: center; height: 54px; position: relative; padding: 0 30px 0 58px; background: #fbc400; font-weight: 800; font-size: 17px; line-height: 1.3; color: #22150e; border-radius: 9999px; }
.m-safety .pdf-btn .btn::before { content: ''; position: absolute; top: 50%; left: 20px; width: 24px; height: 24px; background: url(/images/ico_pdf.png); background-size: contain; transform: translate(0, -50%); }
.m-safety .pdf-btn .btn::after { display: none; }
.m-safety .list-block { padding: 35px 0 0; font-size: 16px; line-height: 1.6; }
.m-safety .list-block .list { margin: 0 0 22px 26px; list-style-type: disc; text-indent: -5px; }
.s-safety { display: flex; flex-wrap: wrap; margin: 0 -10px; }
.s-safety .s-block { padding: 0 10px 20px; flex-basis: calc(100%/2); }
.s-safety .block { position: relative; padding: 30px 7% 115px; height: 100%; } 
.s-safety .block .head { margin: 0 0 15px; font-weight: 800; font-size: 22px; line-height: 1.3; }
.s-safety .block .txt { font-size: 16px; line-height: 1.6; }
.s-safety .block .link-btn { position: absolute; bottom: 36px; left: 6%; width: 240px; }

@media screen and (max-width: 800px) {
 .m-safety { margin-bottom: 30px; }
 .m-safety .main-img { height: 140px; }
 .m-safety .safety-inner { padding: 25px 5% 20px; }
 .m-safety .head { margin: 0 0 30px; padding: 0 0 14px; font-size: 20px; }
 .m-safety .subhead { margin: 30px 0 20px; font-size: 17px; }
 .m-safety .btn-set { display: block; }
 .m-safety .pdf-btn { margin: 0 0 14px; width: 100%; }
 .m-safety .pdf-btn .btn { height: 50px; padding: 0 22px 0 48px; font-size: 16px; }
 .m-safety .pdf-btn .btn::before { left: 16px; width: 22px; height: 22px; }
 .m-safety .list-block { padding: 26px 0 0; font-size: 15px; }
 .m-safety .list-block .list { margin: 0 0 15px 22px; }
 .s-safety { display: block; margin: 0; }
 .s-safety .s-block { padding: 0 0 20px; }
 .s-safety .s-block:last-of-type { padding: 0; }
 .s-safety .block { padding: 20px 5% 25px; } 
 .s-safety .block .head { margin: 0 0 10px; font-size: 18px; }
 .s-safety .block .txt { font-size: 15px; }
 .s-safety .block .link-btn { position: relative; bottom: 0; left: 0; padding: 24px 0 0; width: 100%; }
}





/*----------------------  アレルゲン  ----------------------*/


.allergen { padding: 50px 4% 25px; }
.allergen .pdf-btn { width: 440px; }
.allergen .pdf-btn .btn { display: flex; justify-content: center; align-items: center; height: 60px; position: relative; background: #fbc400; font-weight: 800; font-size: 18px; line-height: 1.3; color: #22150e; border-radius: 9999px; }
.allergen .pdf-btn .btn::before { content: ''; position: absolute; top: 50%; left: 22px; width: 26px; height: 26px; background: url(/images/ico_pdf.png); background-size: contain; transform: translate(0, -50%); }
.allergen .pdf-btn .btn::after { content: ''; position: absolute; top: 50%; right: 24px; width: 16px; height: 16px; background: url(/images/ico_external02.svg); background-size: contain; transform: translate(0, -50%); }
.allergen .list-block { padding: 40px 0 0; font-size: 16px; line-height: 1.6; }
.allergen .list-block .list { margin: 0 0 22px 26px; list-style-type: disc; text-indent: -5px; }

@media screen and (max-width: 800px) {
 .allergen { padding: 30px 5% 10px; }
 .allergen .pdf-btn { width: 100%; }
 .allergen .pdf-btn .btn { height: 52px; font-size: 16px; }
 .allergen .pdf-btn .btn::before { left: 16px; width: 22px; height: 22px; }
 .allergen .pdf-btn .btn::after { right: 16px; width: 14px; height: 14px; }
 .allergen .list-block { padding: 25px 0 0; font-size: 15px; }
 .allergen .list-block .list { margin: 0 0 18px 22px; }
}




/*----------------------  ニュース  ----------------------*/


/*-----  news-year  -----*/
.news-year { position: absolute; top: 52px; right: 3%; }
.news-year .select { position: relative; overflow: hidden; width: 160px; background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 6px rgba(0,0,0,0.1); }
.news-year .select::before { content: ''; position: absolute; top: 17px; right: 14px; width: 16px; height: 16px; background: url(/images/ico_arrow02.svg) no-repeat; background-size: contain; transform: rotate(90deg); }
.news-year .select select { position: relative; width: 100%; margin: 0; padding: 16px 40px 16px 16px; text-overflow: ellipsis; border: none; outline: none; border-radius: 0; background: transparent; background-image: none; box-shadow: none; text-indent: .01px; -moz-appearance: none; -webkit-appearance: none; appearance: none; font-weight: 800; font-size: 16px; color: #22150e; cursor: pointer; z-index: 2; }

@media screen and (max-width: 800px) {
 .news-year { top: 26px; right: 3%; }
 .news-year .select { width: 130px; }
 .news-year .select::before { top: 15px; right: 13px; width: 14px; height: 14px; }
 .news-year .select select { padding: 14px 36px 14px 13px; font-size: 15px; }
}


/*-----  news-switch  -----*/
.news-switch { display: flex; justify-content: center; flex-wrap: wrap; position: relative; padding: 13px 0 0; }
.news-switch::before { content: ''; position: absolute; top: 0; width: 100%; height: 61px; background: #fff; border-radius: 8px; overflow-x: auto; box-shadow: 0 1px 6px rgba(0,0,0,0.1); }
.news-switch > label { order: -1; position: relative; margin: 0 8px; padding: 10px 40px; background: #fff; font-weight: 800; font-size: 15px; text-align: center; cursor: pointer; border-radius: 9999px; z-index: 2; transition: .2s all; }
.news-switch > label:hover, .news-switch label:has(:checked) { background: #22150e; color: #fff; }
.news-switch input { display: none; }
.news-switch > div { display: none; width: 100%; padding: 29px 0 0; }
.news-switch label:has(:checked) + div { display: block; }

@media screen and (max-width: 960px) {
 .news-switch > label { margin: 0 6px; padding: 10px 30px; }
}

@media screen and (max-width: 800px) {
 .news-switch { padding: 11px 0 0; }
 .news-switch::before { height: 52px; }
 .news-switch > label { margin: 0 1px; padding: 8px 15px; font-size: 14px; }
 .news-switch > div { padding: 24px 0 0; }
}



.news-list { padding: 2px 3%; }
.news-list .list .news-item { border-bottom: 1px solid #dbb789; font-size: 16px; line-height: 1.5; }
.news-list .list .news-item:last-of-type { border-bottom: none; }
.news-list .list .news-item .link { display: flex; align-items: center; padding: 22px 6px; }
.news-list .list .news-item .nolink { display: flex; align-items: center; padding: 22px 6px; pointer-events: none; }
.news-list .list .news-item .item { flex-basis: 13.5em; display: flex; align-items: center; }
.news-list .list .news-item .date { flex-basis: 5.6em; font-family: 'Kanit', sans-serif; font-weight: 800; font-size: 18px; }
.news-list .list .news-item .cat { flex-basis: 8em; font-size: 14px; }
.news-list .list .news-item .cat .label { display: flex; justify-content: center; align-items: center; width: 94px; height: 24px; border-radius: 9999px; }
.news-list .list .news-item .cat .c01 { border: 1px solid #359ee0; color: #359ee0; }
.news-list .list .news-item .cat .c02 { border: 1px solid #5eb583; color: #5eb583; }
.news-list .list .news-item .cat .c03 { border: 1px solid #db1927; color: #db1927; }
.news-list .list .news-item .news-title { flex: 1; }

.news-pn { display: flex; justify-content: center; align-items: center; padding: 25px 0 0; }
.news-pn .news-pn-item { padding: 0 3px; }
.news-pn .news-pn-prev { padding-right: 20px; }
.news-pn .news-pn-next { padding-left: 20px; }
.news-pn .link { display: flex; justify-content: center; align-items: center; width: 48px; height: 48px; background: #fff; border-radius: 50%; font-family: 'Kanit', sans-serif; font-weight: 800; font-size: 20px; color: #22150e; overflow: hidden; box-shadow: 0 1px 6px rgba(0,0,0,0.1); }
.news-pn .link.active { background: #fbc400; pointer-events: none; }
.news-pn .link .icon { width: 16px; }


@media screen and (max-width: 800px) {
 .news-list { padding: 1px 4%; }
 .news-list .list .news-item { font-size: 15px; }
 .news-list .list .news-item .link { display: block; padding: 14px 3px; }
 .news-list .list .news-item .nolink { display: block; padding: 14px 3px; }
 .news-list .list .news-item .item { padding: 0 0 3px; }
 .news-list .list .news-item .date { flex-basis: 5.4em; font-size: 16px; }
 .news-list .list .news-item .cat { flex: 1; font-size: 12px; }
 .news-list .list .news-item .cat .label { width: 80px; height: 20px; }

 .news-pn { padding: 18px 0 0; }
 .news-pn .news-pn-item { padding: 0 2px; }
 .news-pn .news-pn-prev { padding-right: 6px; }
 .news-pn .news-pn-next { padding-left: 6px; }
 .news-pn .link { width: 42px; height: 42px; font-size: 18px; }
 .news-pn .link .icon { width: 14px; }
}



/*----------------------  ニュース記事  ----------------------*/

.news-article { margin: 10px 0 10px; padding: 40px 45px 40px; }
.news-article .head-block { padding: 0 0 30px; border-bottom: 1px solid #dbb789; }
.news-article .head-block .date { padding: 0 0 8px; font-family: 'Kanit', sans-serif; font-weight: 800; font-size: 18px; }
.news-article .head-block .news-title { font-weight: 800; font-size: 30px; line-height: 1.3; }
.news-article .txt-block { padding: 40px 0 0; }
.news-article .txt-block .txt { padding: 0 0 2.2em; font-size: 16px; line-height: 1.8; }
.news-article .txt-block .img01 { margin: 30px auto; max-width: 780px; }
.news-article-img { margin: 10px 0 10px; }

.newslist-btn { margin: 40px auto 0; width: 240px; }


@media screen and (max-width: 800px) {
 .news-article { margin: 5px 0 0; padding: 20px 20px 20px; }
 .news-article .head-block { padding: 0 0 20px; }
 .news-article .head-block .date { font-size: 16px; }
 .news-article .head-block .news-title { font-size: 20px; }
 .news-article .txt-block { padding: 28px 0 0; }
 .news-article .txt-block .txt { font-size: 15px; line-height: 1.7; }
 .news-article .txt-block .img01 { margin: 15px auto; }
 .news-article-img { margin: 5px 0 0; }

 .newslist-btn { margin: 30px auto 0; width: auto; }

}




/*----------------------  よくある質問  ----------------------*/

.faq { padding: 0 0 50px; }
.faq:last-of-type { padding: 0; }
.faq .faq-block { padding: 20px 3% 32px; }
.faq .ttl { padding: 0 0 19px; border-bottom: 1px solid #dbb789; font-weight: 800; font-size: 28px; line-height: 1.3; }
.faq .acc { border-bottom: 1px solid #dbb789; font-size: 16px; line-height: 1.6; }
.faq .acc .txt a { text-decoration: underline; color: #cd001a; }
.faq .acc .box { display: flex; align-items: center; position: relative; padding: 0 8px; }
.faq .acc .que { opacity: 1; transition: .2s; cursor: pointer; }
.faq .acc .que:hover { opacity: .7; }
.faq .acc .que .head { position: absolute; top: 4px; left: 2px; font-family: 'Kanit', sans-serif; font-weight: 800; font-size: 30px; color: #cd001a; }
.faq .acc .que .txt { flex: 1; padding: 18px 12px 18px 32px; font-weight: 600; user-select: none; }
.faq .acc .que .icon { position: relative; width: 12px; height: 12px; }
.faq .acc .que .icon .bar { display: block; position: absolute; width: 12px; height: 2px ; left: 0; background: #22150e; border-radius: 9999px; transition: .2s; }
.faq .acc .que .icon .bar:nth-of-type(1) { top: 5px; }
.faq .acc .que .icon .bar:nth-of-type(2) { top: 5px; transform: rotate(90deg); }
.faq .acc .open:hover { color: #22150e; }
.faq .acc .open .icon .bar:nth-of-type(2) { transform: rotate(0); }
.faq .acc .ans { display: none; }
.faq .acc .ans .head { position: absolute; top: -10px; left: 2px; font-family: 'Kanit', sans-serif; font-weight: 800; font-size: 30px; color: #f2ab00; }
.faq .acc .ans .txt { flex: 1; padding: 2px 24px 18px 32px; font-weight: 400; }

@media screen and (max-width: 800px) {
 .faq { padding: 0 0 30px; }
 .faq .faq-block { padding: 15px 4% 23px; }
 .faq .ttl { padding: 0 0 14px; font-size: 20px; }
 .faq .acc { font-size: 15px; line-height: 1.6; }
 .faq .acc .box { padding: 0 2px 0 0; }
 .faq .acc .que:hover { opacity: 1; }
 .faq .acc .que .head { top: 7px; left: 0; font-size: 22px; }
 .faq .acc .que .txt { padding: 14px 10px 14px 27px;  }
 .faq .acc .ans .head { top: -7px; left: 0; font-size: 22px; }
 .faq .acc .ans .txt { padding: 0 22px 14px 27px; font-weight: 400; }
}



/*----------------------  規約関連  ----------------------*/

.title-block .title-legal { font-weight: 800; font-size: 32px; }
.legal { padding: 45px 4% 65px; }
.legal .top-block { margin: 0 0 55px; padding: 0 0 50px; border-bottom: 1px solid #dfc29d; }
.legal .legal-inner { padding: 0 0 55px; }
.legal .legal-inner:last-of-type { padding: 0; }
.legal .block { margin: 0 0 35px; }
.legal .block:last-of-type { margin: 0; }
.legal .block2 { margin: 0 0 15px; }
.legal .head-l { padding: 0 0 20px; font-weight: 800; font-size: 26px; line-height: 1.4; }
.legal .head-m { padding: 0 0 18px; font-weight: 800; font-size: 21px; line-height: 1.4; }
.legal .head-s { padding: 0 0 10px; font-weight: 800; font-size: 17px; line-height: 1.4; }
.legal .txt { font-size: 16px; line-height: 1.6; }
.legal .link { color: #cd001a; text-decoration: underline; }
.legal .note { margin: 24px 0 0; }
.legal .note .txt { font-size: 15px; }
.legal .point { margin: 0 0 0 26px; list-style-type: disc; text-indent: -5px; font-size: 16px; line-height: 1.6; }
.legal .table { margin: 0 auto; }
.legal .table .item { display: flex; padding: 22px 2%; border-bottom: 1px solid #dbb789; font-size: 16px; line-height: 1.6; }
.legal .table .item:first-of-type { border-top: 1px solid #dbb789; }
.legal .table .name { flex-basis: 28%; font-weight: 800; }
.legal .table .data { flex: 1; }
.legal.terms .txt { margin: 0 0 10px; }
.legal.terms .txt:last-of-type { margin: 0; }
.legal.terms .setback { padding-left: 10px; }

@media screen and (max-width: 800px) {
 .title-block .title-legal { font-size: 22px; }
 .legal { padding: 25px 5% 40px; }
 .legal .top-block { margin: 0 0 35px; padding: 0 0 30px; }
 .legal .legal-inner { padding: 0 0 35px; }
 .legal .block { margin: 0 0 25px; }
 .legal .block2 { margin: 0 0 8px; }
 .legal .head-l { padding: 0 0 14px; font-size: 20px; }
 .legal .head-m { padding: 0 0 12px; font-size: 17px; }
 .legal .head-s { padding: 0 0 6px; font-size: 15px; }
 .legal .txt { font-size: 15px; }
 .legal .note { margin: 12px 0 0; }
 .legal .note .txt { font-size: 14px; }
 .legal .point { margin: 0 0 0 22px; font-size: 15px; }
 .legal .table .item { display: block; padding: 15px 0; font-size: 15px; }
 .legal .table .name { padding: 0 0 4px; }
 .legal.terms .txt { margin: 0 0 8px; }
 .legal.terms .setback { padding-left: 8px; }
}

