@charset "UTF-8";


/* #topimg メイン画像 */
#home #topimg { background: none }
#eshop #topimg { background-image: url("../../common/images/eshop/top_eshop.jpg"); }
#eshop.ankour #topimg { background-image: url("../../common/images/ankour/top_ankour2.jpg"); }
#ankour #topimg { background-image: url("../../common/images/ankour/top_ankour2.jpg"); }
#shamo #topimg { background-image: url("../../common/images/shamo/top_shamo.jpg"); }
#buta #topimg,
#eshop.buta #topimg { background-image: url("../../common/images/buta/top_buta.jpg"); }
#kamamesi #topimg,
#eshop.kamamesi #topimg { background-image: url("../../common/images/kamamesi/top_kamamesi.jpg"); }
#oshokuji #topimg { background-image: url("../../common/images/oshokuji/top_oshokuji.jpg"); }
#nattour #topimg { background-image: url("../../common/images/nattour/top_kyodo2.jpg"); }
#ippin #topimg { background-image: url("../../common/images/ippin/top_ippin.jpg"); }
#drink #topimg { background-image: url("../../common/images/drink/top_drink2.jpg"); }
#enkai #topimg { background-image: url("../../common/images/enkai/top_enkai.jpg"); }
#enkaic #topimg { background-image: url("../../common/images/enkai/top_enkai2.jpg"); }
#summer #topimg { background-image: url("../../common/images/summer/top_summer2.jpg"); }
#travel #topimg { background-image: url("../../common/images/travel/top_travel3.jpg"); }
#ryouri #topimg { background-image: url("../../common/images/ryouri/top_ryouri3.jpg"); }



/* .linkbox */
.linkbox { display: block; position: relative; width: auto; height: auto; color: #000; background-color: var(--root-color6); border: var(--root-color5) solid 1px; }/* var(--root-color1) */
.linkbox::after { content: ''; position: absolute; top: 0; right: 0; width: calc( 120 / 1920 * 100vw ); height: calc( 120 / 1920 * 100vw ); background: url(../images/icn_link.png) no-repeat right top; background-size: calc( 120 / 1920 * 100vw ); }
.linkbox:hover,
.current .linkbox { text-decoration: none; color: #000; background-color: rgba(219, 210, 198, 0.8); border: var(--root-color2) solid 1px; }/* rgba(210, 210, 170, 0.7) */
.linkbox:hover:after,
.current .linkbox:after { background-image: url(../images/icn_link_on.png); }



/*----------------------------------------
home
------------------------------------------*/
#home section, #home .section { margin: calc( 30 / var(--root-pcwidth) * 100vw ) calc( 15 / var(--root-pcwidth) * 100vw ) 0; }
#home #slide { position: relative; margin-bottom: 2em; overflow: hidden; height: calc( (100vw - 260px - 20px) * 0.57 ); }
#home #slide .slider:after { content: ''; background-color: rgba(0,0,0,.4); position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#home #slide .slider-item { position: relative; }
#home #slide .slider-item img { width: 100%; height: auto; }
#home #slide .slide-title { position: absolute; right: 5em; bottom: 2em; }
#home #slide .slide-title h2 { display: inline-block; width: 6em; writing-mode: vertical-rl; text-align: left; font-size: 3.077rem; font-weight: bold; text-shadow: 0 0 6px #000; margin-bottom: 0; color: var(--root-colorG); } /* 2.125rem */
@media screen and (max-width: 1023px){
	#home #slide .slide-title { bottom: 1em; }
	#home #slide .slide-title h2 { font-size: 2.125rem; }
}
@media screen and ( max-width: 768px ) {
	#home #slide { height: calc( 100vw * 1.4 ); }
}
@media screen and ( max-width: 580px ) {
	#home #slide .slide-title { right: 2em; }
}

#home h2 { font-size: 1.5rem; color: var(--root-colorG); }
#home #news2 ul { font-size: 1rem; margin-left: 0; }
#home #news2 li { display: flex; flex-wrap: wrap; padding: 0.75em 0.5em 0.5em; margin: auto 0; border-top: #666 solid 1px; }
#home #news2 li span { width: 8.5em; }
#home #news2 li p { width: calc( 100% - 8.5em ); }
#home #news2 li a { text-decoration: underline; }

/* column 余白 */
#home .column { padding: 0 calc( 15 / var(--root-pcwidth) * 100vw );}

#home #box4, #home #box5, #home #box6, #home #box7 { display: flex; flex-direction: column; align-items: center; height: calc( 790 / var(--root-pcwidth) * 100vw );}
#home #box2, #home #box8, #home #box9 { display: flex; justify-content: space-between; flex-direction: row-reverse; align-items: center;}
#home #box2 { margin-bottom: calc( 30 / var(--root-pcwidth) * 100vw );}

#home #box1 .txt,
#home #box3 .txt { height: 100%; position: absolute; z-index: 10; display: flex; align-items: center; }
#home #box1 .txt { color: #000; width: 100%; writing-mode: vertical-rl; margin-top: 1em;  text-shadow    : 
	2px  2px 3px #ffffff,
 -2px  2px 3px #ffffff,
	2px -2px 3px #ffffff,
 -2px -2px 3px #ffffff,
	2px  0px 3px #ffffff,
	0px  2px 3px #ffffff,
 -2px  0px 3px #ffffff,
	0px -2px 3px #ffffff;}
#home #box3 .txt { color: #fff; width: 56%; margin-left: 44%; justify-content: center; }
#home #box4 .txt, #home #box5 .txt, #home #box6 .txt, #home #box7 .txt { writing-mode: vertical-rl; width: 100%; height: 100%; display: flex; align-items: center; position: relative; }
#home #box4 .txt { margin-bottom: 1em; white-space: nowrap; }
#home #box6 .txt small { display: block; position: absolute; top: 0; right: calc( 50% - 2.25em); }
#home #box5 .txt, #home #box6 .txt, #home #box7 .txt { margin-top: 0.75em; }
#home #box2 .txt, #home #box8 .txt, #home #box9 .txt { height: 100%; text-align: center; line-height: 1.3; }
#home #box2 .txt { width: 56%; }
#home #box8 .txt, #home #box9 .txt {  width: 43%; }
#home #box2 figure { width: 44%; }
#home #box8 figure, #home #box9 figure { width: 57%; }

#home #box1 .txt { font-size: calc( 52 / var(--root-pcwidth) * 100vw ); }
#home #box2 .txt, #home #box3 .txt, #home #box4 .txt, #home #box8 .txt, #home #box9 .txt { font-size: calc( 40 / var(--root-pcwidth) * 100vw ); }
#home #box5 .txt, #home #box6 .txt, #home #box7 .txt { font-size: calc( 88 / var(--root-pcwidth) * 100vw ); }
#home #box6 .txt small { font-size: calc( 40 / var(--root-pcwidth) * 100vw ); }

#home #calendar { padding: 0 calc( 15 / var(--root-pcwidth) * 100vw ); }
#home #calendar iframe { width: 100%; }

#home #news2 ul { overflow: auto;}
@media screen and (min-width: 1023px){
	#home #home2 { height: calc((100vw - 260px)/2*0.7); }
	#home #news2 ul { height: calc(100% - 18px);}
}
@media screen and (max-width: 1023px){
	#home #home2 { height: 36.66vw; }	
	#home #news2 ul { height: 31vw;}
}
@media screen and ( max-width: 768px ) {
	#home #news, #home #news2, #home #message, #home #instagram { margin-top: calc( 60 / var(--root-pcwidth) * 100vw ); margin-bottom: calc( 240 / var(--root-pcwidth) * 100vw );}
	#home #home2 { height: auto; }	
	#home #news2 { height: 36.66vw; }
	#home #instagram { height: 72vw; }
	#home #calendar iframe { height: 300px; }
	#home #home2.columns.is-mobile { display: block; }
}
@media screen and ( max-width: 480px ) {
	/* #home #news dl { display: block; margin: 1em 0; }
	#home #news dt,
	#home #news dd { width: 100%; }
	.linkbox::after { width: 60px; height: 60px; background-size: 60px; } */
	#home #news2 dl { display: block; margin: 1em 0; }
	#home #news2 dt { width: 100%; margin-bottom: 0; }
	#home #news2 dd { width: 100%; margin-top: 0; }
	#home #home3.columns.is-mobile, #home #home5.columns.is-mobile { display: block; }
	#home #box1 .txt, #home #box5 .txt, #home #box6 .txt, #home #box7 .txt { font-size: 1.25rem; }
	#home #box2 .txt, #home #box3 .txt, #home #box8 .txt, #home #box9 .txt { font-size: 1.25rem; }
	#home #box4 .txt { font-size: 0.9rem; }
	#home #box6 .txt small { font-size: 0.75rem; }
	#home #box2, #home #box9 { margin: 15px 0; }
	#home #home4.columns.is-mobile { flex-wrap: wrap; }
	#home #home4.columns .column { flex: none; width: 50%; margin: 10px auto; }
	#home #home4.columns .column, #home #home4.columns .linkbox  { height: 80vw; }
}

/*  #ankour  */
#ankour .section .itembox2 dl { width: 15em; }
#ankour .section .itembox2 dt { width: 8em; }
#ankour .section .itembox2 dd { width: 7em; }

/*  #shamo  */
#shamo .bgshamo { background: url(../images/pic_shamo.png) no-repeat right bottom; background-size: 30%;}
@media screen and (min-width: 1024px){
	#shamo #topimg h1 { margin-bottom: 15px; }
}

/*  #buta  */
#buta .section .itembox2 dl { width: 17em; }
#buta .section .itembox2 dt { width: 10em; }
#buta .section .itembox2 dd { width: 7em; }

/*  #ippin  */
@media screen and ( max-width: 480px ) {
	#ippin .section .col3 li { flex-direction: row; flex-wrap: wrap; justify-content: space-between; width: 100%;}
	#ippin .section .col3 li .item { width: 48%;}
}

/*  #drink  */
#drink .section .column dl { margin-bottom: 2em; }
#drink .section .column dt { font-size: 1.5rem; line-height: calc( 43 /34 ); }
#drink .section .column dt::before { content: '◆'; }
#drink .section .column li strong { color: #fff; font-size: 1.5rem; }
#drink .section .column li strong::before { content: '○'; }
@media screen and ( min-width: 769px ) {
	#drink .section .column:last-child { border-left: #fff dashed 1px; padding-left:2em; }
}
@media screen and ( max-width: 580px ) {
	#drink .section .name { font-size: 1.25rem; }
	#drink .section .price { font-size: 1.25rem; }
}

/*  #enkai  */
#enkai .section h2.lead { margin-bottom: 0.75em; }
#enkai .section .col3 { margin: 75px auto 0; }
#enkai .course { border-top: #eee solid 1px; padding-top: calc( 80 / var(--root-pcwidth) * 100vw ); }
#enkai .course .txtbox { padding: calc( 40 / var(--root-pcwidth) * 100vw ); }
#enkai .section.course .content h2.name { text-align: left; color: #fff; }
#enkai .course .name .taglist { background-color: var(--root-color3); display: inline-block; font-size: 0.35em; font-weight: bold; margin-left: 4px; padding: 2px 4px; position: relative; bottom: 4px; }
@media screen and ( min-width: 1024px ) {
	#enkai .section.course .name { font-size: 2.125rem; }
}
@media screen and ( max-width: 480px ) {
	#enkai .has-text-centered { text-align: left!important; }
}


/*  #summer */
#summer section .tags { justify-content: center; }
#summer .section .option dl { width: 22em; }
#summer .section .option dt { width: 15em; }
#summer .section .option dd { width: 7em; }
#summer .section.course .content h2.name { text-align: left; }
@media screen and ( min-width: 1024px ) {
	#summer .section .content .name { font-size: 2.125rem; }
}

/*  #travel  */
#travel .section h2.lead { margin-top: calc( 80 / var(--root-pcwidth) * 100vw ); margin-bottom: 0; }
#travel .section.course { padding-top: 40px; margin-right: 0; margin-left: 0;}
#travel .section.course h3 { margin-bottom: 0.5em; }
#travel .section.course .has-text-centered { margin-bottom: 40px; }
#travel .section.course .item { padding: 20px 0; margin-bottom: 0; }
#travel .section.course figure { text-align: center; line-height: 1.2; }
#travel .section.course figure img { margin: auto; }
#travel #winter { background-color: #587674; }
#travel #winter .columns { padding: 25px calc( 70 / var(--root-pcwidth) * 100vw ); }
#travel #winter .columns:first-of-type { background-color: #82b2b0; }
#travel #winter .columns:nth-of-type(2) { background-color: #7ea6a3; }
#travel #winter .columns:last-of-type { background-color: #6f918f; }
#travel #summer { background-color: #c2ce2e; }
#travel #summer .columns { padding: 25px calc( 70 / var(--root-pcwidth) * 100vw ); }
#travel #summer.section.course h3,
#travel #summer.section.course .has-text-centered { font-weight: bold; }
#travel #summer .columns:first-of-type { background-color: #8ba242; }
#travel #summer .columns:nth-of-type(2) { background-color: #7d913c; }
#travel #summer .columns:last-of-type { background-color: #5f6e2d; }
#travel #koumon { background: url(../images/bg_washi.jpg) repeat left top; color: #000; padding: calc( 60 / var(--root-pcwidth) * 100vw ) calc( 70 / var(--root-pcwidth) * 100vw ); margin-bottom: 60px; }

#travel #koumon p { margin-bottom: 1em; }
#travel #koumon figure.float { float: right; }
#travel #koumon .lead { text-align: center; margin: 2em auto 1em; }
#travel #koumon .lead .name { font-size: 1.5rem; }
#travel #koumon dt::before { content: '◆'; }
#travel #koumon dd { margin-bottom: 1em; }
@media screen and (min-width: 1024px){
	#travel #koumon .lead .name { font-size: 2.125rem; }
}
@media screen and ( max-width: 768px ) {
	#travel #winter .columns, #travel #summer .columns { margin: auto; }
	#travel .section.course .item { padding: 10px 0; }
}
@media screen and ( max-width: 580px ) {
	#travel .section h2.lead { background-position: right center; }
	#travel .section .has-text-centered { text-align: left!important; padding-left: 0.5em; }
}

/*  #ryouri  */
#ryouri .section .lead { margin-top: 30px; }
#ryouri .section h3 { font-size: 50px; text-align: left; margin-bottom: 0; position: relative; }
#ryouri .section h3 .inner { display: inline-block; padding-right: 0.5em; background: #000; position: relative; z-index: 2; }
#ryouri .section h3 .name { font-size: 2.215rem; display: inline-block; }
#ryouri .section h3 .price { font-size: 2.215rem; display: inline-block; }
@media screen and ( min-width: 581px ) {
	#ryouri .section h3::before { content: ''; height: 1px; background: #fff; position: absolute; top: calc(50% + 2px); left: 0; width: 100%; }
}


/*  #eshop  */
#eshop .section .lead { margin: 30px auto 0; }
#eshop .section h3 { text-align: left; margin-bottom: 0.25em; }
#eshop .content,
#eshop .message { margin: 60px auto; max-width: 800px; }
#eshop .columns { margin-bottom: 60px; }
#eshop .section li { margin-bottom: 0; }
#eshop .content table { width: auto; margin-bottom: 0; }
#eshop .content th, #eshop .content td { border: 1px solid #dbdbdb; }
#eshop .content td { text-align: right; }
#eshop .linkbox { display: flex; justify-content: space-between; flex-direction: row-reverse; align-items: center; }
#eshop .linkbox .txt { width: 50%; font-size: calc( 40 / var(--root-pcwidth) * 100vw ); height: 100%; text-align: center; margin-bottom: 0!important; }
#eshop .linkbox figure { width: 50%; margin: 0; }
#eshop .itembox2 { border-bottom: #fff dashed 1px; padding-bottom: 2em; }
#eshop .section .itembox2:nth-of-type(3) { border-top: #fff dashed 1px; padding-top: 2em; }
#eshop .itembox2 dl { display: flex; flex-wrap: wrap; margin: 1em auto; }
#eshop .itembox2 dt { width: 10em; }
#eshop .itembox2 dd { width: calc( 100% - 10em ); text-align: left; }
#eshop .section select { margin-left: 5px; }
#eshop .section input[type="image"] { vertical-align: middle; }
@media screen and ( max-width: 480px ) {
	#eshop .section .lead { padding-bottom: 0; }
	#eshop #eshop-nav { display: block; }
	#eshop .linkbox .txt { font-size: 1.5rem; }
}



#shop h1,
#kankou h1,
#access h1,
#law h1,
#privacy h1 { padding: 80px 0 50px; background: url(../images/bg_pattern1.png) no-repeat right top; background-size: 75%; }

/*  #shop  */
#shop .section .gallery1 img { width: 45%; margin-right: 5%; }
#shop .section .gallery2 ul { margin-right: -1%; }
#shop .section .gallery2 li { width: 19%; display: inline-block; vertical-align: top; }
#shop .section .column .lead { text-align: left; margin: 0.5em 0 1em; background: none; }
#shop .section .columnright { align-self: flex-end; }
#shop #okami { background: #7ea6a3 url(../images/bg_washi.jpg) repeat left top; background-blend-mode: multiply; color: #000; padding: 40px calc( 150 / var(--root-pcwidth) * 100vw ); margin-right: 0; margin-left: 0; }
#shop #story { background: url(../images/bg_washi.jpg) repeat left top; color: #000; padding: 40px calc( 150 / var(--root-pcwidth) * 100vw ); margin-right: 0; margin-left: 0; }
#shop #story h2.lead { margin-bottom: 0.25em; }
#shop #story h3 { font-size: 1.5rem; }
#shop #story .column h3 { text-align: left; margin-bottom: 1em; }
#shop #story .columns { margin-top: 2em; }
#shop #story .columnleft { align-self: flex-end; }
#shop #story .columns:nth-of-type(2) { flex-direction: row-reverse; }
#shop #story img { margin-bottom: 0.5em; }

/*  #kankou  */
#kankou .section ul { column-count: 2; height: auto !important; }
#kankou .section li { background: url(../images/bg_washi.jpg) repeat left top; color: #000; height: auto !important; break-inside: avoid; margin: 0 0 20px; padding: 40px; display: flex; justify-content: space-between; }
#kankou .section li figure { width: 40%; text-align: center; }
#kankou .section li .txtbox { width: 57%; }
#kankou .section li figure img { margin: 0 auto 20px; }
#kankou .section li .txtbox h2 { font-size: 1.875rem; text-align: left; line-height: 1.1; }
@media screen and ( min-width: 1401px){
	#kankou .section li figure { width: 202px; }
	#kankou .section li .txtbox { width: calc( 100% - 202px - 20px ); }
}
@media screen and ( max-width: 1400px){
	#kankou .section li { padding: 20px; }
}
@media screen and ( max-width: 1200px ) {
	#kankou .section li { display: block; }
	#kankou .section li figure { width: 100%; }
	#kankou .section li .txtbox { width: 100%; }
}
@media screen and ( max-width: 580px ) {
	#kankou .section ul { column-count: 1; }
}

/*  #access  */
#access .section .column h2 { margin-bottom: 1em; padding: 0; background: none; color: var(--root-colorG); }
#access .section .column p,
#access .section .column dl{ font-size: 1rem; }
#access .section .column dt::before { content: '●'; }
#access .section .column dd { margin-left: 1em; }
#access #map iframe { width: 100%; }
#access .section .column a.calendar { display: inline-block; text-decoration: underline; }
#access .section  .column a.calendar::before { content: ''; display: inline-block; width: 20px; height: 20px; background: url(../images/calendar-solid.svg) no-repeat left center; }

@media screen and ( min-width: 1024px){
	#access .section .column p,
	#access .section .column dl { font-size: 1.25rem; }
}

/*  #law  */
#law table { margin: 60px auto; max-width: 800px; }
#law table th { white-space: nowrap; }
#law table td strong { color: var(--root-color3); }
@media screen and ( max-width: 768px ) {
	#law table th { white-space: pre-wrap; min-width: 6em; }
}

/*  #privacy  */
#privacy .content { margin: 60px auto; max-width: 800px; }
#privacy .section ul { margin-bottom: 1.5em; }
#privacy .section ul li { margin-bottom: 0; }

@media screen and (min-width: 1024px) {
	#home h2 { font-size: calc( 32 / var(--root-pcwidth) * 100vw ); }
	#home #message div { font-size: calc( 22 / var(--root-pcwidth) * 100vw ); }	
}
@media screen and ( max-width: 1023px ) {
	#access h1,
	#shop h1,
	#kankou h1,
	#law h1,
	#privacy h1 { padding-top: 3.5em; background-position: right bottom; }
	#shop #okami, #shop #story { padding: 20px calc( 50 / var(--root-pcwidth) * 100vw ); }
	#shop #okami h2 { margin-bottom: 0; }
	#eshop #eshop-nav.columns { margin: auto 0 3em; }
	#eshop #eshop-nav.columns .column { padding: 0.25rem; }
}
@media screen and ( max-width: 768px ) {
	#access h1,
	#shop h1,
	#kankou h1,
	#law h1,
	#privacy h1 { background-position: right center; background-size: 100%; }
}