@charset "utf-8";

/* reset
--------------------------------------------------------------*/
*,*::before,*::after { box-sizing: border-box; }
ul,ol { margin: 0; padding: 0; list-style: none; }
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd { margin: 0; }
html { scroll-behavior: smooth; }
img { max-width: 100%; display: block; }
input,button,textarea,select { font: inherit; }
header,footer,main,aside,picture { display: block; }
@media print {
body { width:1100px; -webkit-transform: scale(.8); transform: scale(.8); transform-origin: 0 0; }
}

/* for IE */
img[src$=".svg"] { width: 100%; }
select::-ms-expand { display: none; }
.js-ofi { object-fit: cover; font-family: 'object-fit: cover;' }

/* iOS Safari */
body {-webkit-tap-highlight-color: transparent;}
input, textarea { -webkit-appearance: none;}
input[type="submit"],input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer;}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration { display: none;}
input[type="submit"]:focus,input[type="button"]:focus { outline-offset: -2px;}
select { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; outline: none; background: transparent;}
button, input[type="submit"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; outline: none;}




/* baseSet
-------------------------------------------------------------------------------------------------------- */
/* common class */
html { font-size:calc(100vw / 37.5); } 
body { color:#fff; font-size:1.4rem; line-height:1.4; font-family: 'Noto Serif JP', serif; background:#111; }
a { color:#fff; outline:none; text-decoration:none; }
a:hover { text-decoration:none; }
@media screen and (min-width: 768px) {
html { font-size:62.5%; } /* 768px Over */
body { font-size:1.6rem; line-height:1.6; }
}


/* utility class */
.u-inner{ position:relative; margin:0 auto; padding:0 1.5rem; max-width: 86rem; }
.u-inner._wide{ max-width: 128rem; }
.u-only-pc { display:none; }
.u-cta-tel { position:fixed; bottom:0; z-index:30; width: 100%;}
@media screen and (min-width: 768px) {
.u-only-sp { display:none; }
.u-only-pc { display:block; }
}

.font-sm { font-size: 1.5rem;}



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

header			{ }
header .head-logo	{ position:absolute; top:14rem; left:50%; transform:translateX(-50%); width:10rem; z-index:100; }
header .video-wrap	{ width:100%; height:40rem; overflow:hidden; position: relative; z-index:50; }
header .video-wrap #video	{ position: absolute; top:0; left:-25%; height: 100%; }
@media screen and (min-width: 768px) {
header				{}
header .head-logo	{ top:14rem; width:14rem; }
header .video-wrap	{ height:42rem; }
header .video-wrap #video	{ left:0; height:auto; width: 100%; }
}
@media screen and (min-width: 1024px) {
header .head-logo	{ top:15rem; width:18rem; }
header .video-wrap	{ height:57rem; }
}
@media screen and (min-width: 1280px) {
header .head-logo	{ top:25rem; width:20rem; }
header .video-wrap	{ height:70rem; }
}
@media screen and (min-width: 1400px) {
header .video-wrap	{ height:76rem; }
}
@media screen and (min-width: 1600px) {
header .video-wrap	{ height:86rem; }
}
@media screen and (min-width: 1800px) {
header .video-wrap	{ height:100rem; }
}


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

/* access */
.access	{ padding:0 0 4rem; }
.access-pic	{}
.access-txtbox {}
.access-title { width:10rem; margin: 0 auto; }
.access-txt { margin-top:2rem; }
.access-txt-ex { font-size: 0.8em; }
.access-gmap { margin-top: 2rem; position:relative; padding-bottom:100%; height:0;box-sizing:border-box; }
.access-gmap iframe{ position: absolute; top: 0; left: 0; width: 100%; height: 100%;box-sizing:border-box; }
@media screen and (min-width: 1024px) {
.access-row { display: flex; justify-content: space-between; }
.access-txtbox { width: 48%; }
.access-gmap { width: 48%; max-width: 60rem; padding-bottom:56.25%; }
.access-title { margin: 0; margin-right: auto; margin-top: 0;}
}
@media screen and (min-width: 1400px) {
.access-title { width:14rem; }
.access-gmap { margin-top:6rem;}
}

.sns-list { display: flex; flex-wrap: wrap; margin: 3rem 0; gap: 1rem;}
.sns-list .item.insta,
.sns-list .item.tiktok,
.sns-list .item.twitter { width: 4rem; margin-right: 1.75rem;}
.sns-list .item.tabelog { width: calc((100% - 2rem) / 2);}
.sns-list .item.savorjp { width: calc((100% - 2rem) / 2); background: #fff; padding: 0.5rem 1rem; border: 1px solid #a31f24; }

/* footer */
.footer { }
.foot-copyright { margin-top:1.5rem; padding:1.5rem 0 12rem; color:#fff; font-size:1.4rem; text-align:center; }
@media screen and (min-width: 768px) {
.footer { }
.foot-copyright { margin-top:4rem; padding:2.5rem 0 2.2rem; color:#fff; font-size:1.4rem; }
}
@media screen and (min-width: 1024px) {
.foot-copyright { padding:6rem 0 6rem; }
}






/* contents
-------------------------------------------------------------------------------------------------------- */

/* news */
.news { background-color:#33210C; color:#fff; padding: 3rem 0; }
.news-box { padding:1.5rem 1.5rem 1rem; background-color: #33210C; }
.news-title { font-size: 2.5rem; text-align: center;}
.news-list { margin: 2rem 0;}
.news-list .item { margin-bottom: 2rem; width: 100%;}
.news-list .item-date { font-size: 1.2rem; margin-right: 1em; width: 6rem; }
.news-list .item-cat { width: 6rem; font-size: 1rem; background-color: #fff; padding: 0.25rem 1rem; margin-right: 1em; color: #333;}
.news-list .item-text { width: 100%; margin-top: 0.5rem;}
@media screen and (min-width: 768px) {
.news { padding: 5rem 0; }
.news-box { padding:3rem;  text-align: center; }
.news-list { display: flex; flex-wrap: wrap;}
.news-list .item { display: flex; align-items: baseline;}
.news-list .item-text { width: calc(100% - 15rem); text-align: left; }
}






/* course */
.course      { background-color: #232323; padding: 1rem 0 1rem; color: #fff; }
.course-title	{ font-size:3rem; margin: 3rem 0; text-align: center;}
.course-wrap  { margin:2rem 0 6rem; letter-spacing:-0.1rem; }
.course-group { margin: 4rem 0; }
.course-subtitle { color: #fff; padding:1rem 1.5rem; font-size:1.5rem; background: #876329; }
.course-box   { margin: 3rem 0; display: flex; justify-content: space-between; }
.course-name { font-size:2.0rem; line-height: 1.2; color:#fff; font-weight: 400; }
.course-price { font-size:2.1rem; letter-spacing:inherit; }
.course-price::before	{ content:"¥"; margin-right:0.5rem; }
.course-price::after	{ content:"（税込）"; font-size: 0.5em; }

.limited { font-size: 2rem;}

@media screen and (min-width: 768px) {
.course-title	{ font-size:3.4rem; text-align: center;  }
.course-subtitle { font-size:2.2rem; margin-left:0; }
.course-box   { padding: 0 1.5rem; }
.course-name { font-size:3rem;}
.course-price { font-size:3rem; letter-spacing:inherit; }
}

/* shop */
.shop { padding: 2rem 0;}
.pic-list { display: flex; align-items: flex-start; margin: 0 calc(50% - 50vw); width: 100vw; justify-content: space-between;}
.pic-list .item { width: calc(100% / 3);}
.pic-list .item img { margin: 0 auto;}
@media screen and (min-width: 768px) {
.shop { padding: 5rem 0;}
.pic-list { margin: 0 auto; width: 100%;}
}


/* reserve */
.reserve { padding:2rem 2rem 1rem; background-color:#f6f4ee; border:#ccc 1px solid; margin-bottom: 3rem; }
.reserve-tel { padding-bottom:0.5rem; }
.reserve-note { border-top:#ccc 2px solid; padding-top:1.0rem; font-size: 1.3rem; }
.reserve-note-item { margin:0.5rem 0; padding-left: 1em; text-indent:-1em;}
@media screen and (min-width: 768px) {
.reserve-tel { max-width:30rem; padding-bottom:0.5rem;  }
}
@media screen and (min-width: 1024px) {
.reserve      { margin-top:4rem; }
}









/* info */
.info { padding: 6rem 0 0; }
.info-pic { margin: 2px 0; display: flex; justify-content: center; margin-bottom: 4.5rem; align-items: flex-start;}
.info-pic img { height: auto;}
.info-txt { margin-top: 2rem; text-align: center; line-height: 2; }
.w-max { margin: 0 calc(50% - 50vw); width: 100vw;}
@media screen and (min-width: 768px) {
.info-pic { margin: 3px 0; }
.w-max { margin: 0 auto; width: 100%;}
}
@media screen and (min-width: 1024px) {
.info-pic { margin: 4px 0;  }
}
@media screen and (min-width: 1280px) {
.info { padding: 6rem 0; margin: 0 auto; }
.info-txt { margin-top:4rem; }
}




/* sdgs */
.sdgs { margin: 2rem auto 0; }
.sdgs-pic { display: grid; place-content: center; }






/* iv-animation
--------------------------------------------------------------*/

.js-iv_fade { opacity:0; transition: 2.0s; }
.js-iv_fade.is-view { opacity:1; }
.js-iv_up-fade { opacity:0; transform:translate(0, 40px); transition: 0.8s; }
.js-iv_up-fade.is-view { opacity:1; transform:translate(0, 0) rotate(0.05deg); }
.js-iv_left-fade { opacity:0; transform:translate(-40px, 0); transition: 0.8s; }
.js-iv_left-fade.is-view { opacity:1; transform:translate(0, 0) rotate(0.05deg); }
.js-iv_right-fade { opacity:0; transform:translate(40px, 0); transition: 0.8s; }
.js-iv_right-fade.is-view { opacity:1; transform:translate(0, 0) rotate(0.05deg); }

/* .delay-transition */
.delay-t01	{ transition-delay:0.1s; }
.delay-t02	{ transition-delay:0.2s; }
.delay-t03	{ transition-delay:0.3s; }
.delay-t04	{ transition-delay:0.4s; }
.delay-t05	{ transition-delay:0.5s; }
.delay-t06	{ transition-delay:0.6s; }
.delay-t07	{ transition-delay:0.7s; }
.delay-t08	{ transition-delay:0.8s; }
.delay-t09	{ transition-delay:0.9s; }
.delay-t10	{ transition-delay:1.0s; }

/* .delay-animation */
.delay-a01	{ animation-delay:0.1s; }
.delay-a02	{ animation-delay:0.2s; }
.delay-a03	{ animation-delay:0.3s; }
.delay-a04	{ animation-delay:0.4s; }
.delay-a05	{ animation-delay:0.5s; }
.delay-a06	{ animation-delay:0.6s; }
.delay-a07	{ animation-delay:0.7s; }
.delay-a08	{ animation-delay:0.8s; }
.delay-a09	{ animation-delay:0.9s; }
.delay-a10	{ animation-delay:1.0s; }



/* businesshour */
.businesshour { margin-top: 3rem; padding-top: 3rem; border-top: 1px solid #fff;}
.businesshour-ttl { font-size: 3rem; text-align: center;}
.hourttl { font-size: 2rem; margin-bottom: 1rem; margin-top: 3rem;}
.time { font-size: 1.8rem; margin-bottom: 0.5rem;}
.hours-disc { font-size: 1.4rem;}

@media screen and (min-width: 768px) {
.businesshour .colblock { display: flex; flex-wrap: wrap;}
.businesshour .colblock-item { width: calc( 100% / 2 - 4rem / 2); margin-right: 4rem;}
.businesshour .colblock-item:nth-child(even) { margin-right: 0;}
}



/* 補助金テキスト */
.subsidiesTxt { font-size: 1.2rem; text-align: center; margin-top: 4rem; }



/* 230426 add */
.menucat-ttl { font-size: 2.4rem; border-bottom: 1px solid #fff; padding-bottom: 0.25em; margin-top: 1em;}
.news-link { color: #fff; border-bottom: 1px solid #fff;}
.news-link:hover { border-bottom: 0;}



.box-subtitle { display: flex; align-items: center; padding-bottom: 1rem; margin-bottom: 1rem; margin-top: 8rem;}
.course-subtitle + .box-subtitle { margin-top: 3rem;}
.lunch + .box-subtitle { margin-top: 3rem;}
.box-subtitle span {  font-size: 1.8rem; width: auto; background: #232323; white-space: nowrap; padding-right: 2rem;}
.box-subtitle span::before { content: "■"; color: #fff; margin-right: 1rem;}
.box-subtitle::after { content: ""; display: inline-block; height: 1px; width: 100%; background-color: #fff;}
@media screen and (min-width: 768px) {
.box-subtitle span {  font-size: 2.4rem;}
}

/* 230816 add */
.recruit-link { margin: 3rem auto;}
.recruit-link img { margin: 0 auto;}

/* 230828 add */
.gtranslate_wrapper { position: fixed; left: 1rem; bottom: 7rem; display: flex; gap: 1rem; background-color: #fff; padding: 0.75rem 1rem; border-radius: 1rem; box-shadow: 0 0 1rem rgb(0 0 0 / 30%); width: 18rem; }

@media screen and (min-width: 768px) {
.gtranslate_wrapper { bottom: 2rem; }
}


.footer { padding-bottom: 7rem;}
.foot-copyright  { padding: 1.5rem 0 0;}
.gtranslate_wrapper { width: calc(100% - 4rem); left: 0; margin: 0 2rem; }
.subsidiesTxt { margin-top: 5rem;}
.gtranslate_wrapper .glink { width: calc(100% / 4); display: flex; align-items: center; justify-content: center; }
.gtranslate_wrapper .glink img { width: 82% !important; height: auto !important; margin: 0 auto; }

@media screen and (min-width: 768px) {
.gtranslate_wrapper { width: 18rem; left: 1rem; margin: 0;}
}

/* 20230828 add */
@media screen and (min-width: 768px) {
.top-sns-list { width: 50%;}
}

/* 20231220 add */
.course-add .u-inner { border-top: 1px dotted #fff; padding-top: 2rem; margin-top: 1rem;}
.course-add .course-title { font-size: 2.2rem;}
@media screen and (min-width: 768px) {
.course-add .u-inner { padding-top: 4rem; margin-top: 2rem;}
.course-add .course-title { font-size: 2.6rem;}
}

/* 20240118 add */
.link-txt { text-decoration: underline;}
.link-txt:hover { text-decoration: none;}