@charset "UTF-8";
/*
Theme Name:Masuiwaya Corporate Site
Theme URI:https://www.masuiwaya.co.jp
Author:mizuho ogino
Author URI:http://web.contempo.jp
*/

:root {
  /* --body-font: "Inter", "BIZ UDGothic", sans-serif; */
  --body-font: "Noto Serif JP", serif;
  --sans-font: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "BIZ UDPGothic", Meiryo, sans-serif;
  --h-font:var(--body-font);
  --font-color:#282a2c;
  --body-color:#ffffff;
  --gray-color:#8f9297;
  --border-color:#86909f4a;
  --border-width:1px;
  --line-height:1.9;
  --link-color:#0061b0;
  --hover-color:#007add;
  --button-color:#204068;
  --button-hover-color:#0061b0;
  --layer-color:#20406811;
  --theme-color:#204068;
  --list-color:#0061b0;
  --strong-color:#204068;
  --caution-color:#eb0000;
  --content-width:780px;
  --site-header: calc(10vw + 12em);
  --section-gap:48px;
  --column-gap:24px;
  --white-outline:#ffffff85 1px 0px 0px, #ffffff85 0.540302px 0.841471px 0px, #ffffff85 -0.416147px 0.909297px 0px, #ffffff85 -0.989993px 0.14112px 0px, #ffffff85 -0.653644px -0.756803px 0px, #ffffff85 0.283662px -0.958924px 0px, #ffffff85 0.96017px -0.279416px 0px;

}
@media screen and ( min-width : 781.1px ){
  :root{
    --table-padding:24px;
    --section-gap:8vw;
    --column-gap:3vw;
  }
}

@media screen and ( max-width : 781px ){
  :root{ --column-gap:5vw; }
}
body {
  transition: color 1s, background-color 1s;
}
/* :::::::::::OVERAL SETUP ::::::::::: */
/* Color & Typography */

#wrapper { position:relative; border-width:0; padding:0; margin:0; z-index:1; }
html.start #wrapper::before { opacity:1; }
#wrapper::before { content:''; transition:opacity 1s; opacity:0; background:linear-gradient(180deg,rgb(227, 237, 255) 0%, rgb(255, 255, 255) 100%); height:70vh; width:100vw; position:fixed; left:0; top:0; right:0; bottom:0; z-index:-1; }
#wrapper::after { content:''; background:linear-gradient(180deg,rgb(255, 251, 240) 0%, rgb(255, 255, 255) 100%); height:70vh; width:100vw; position:fixed; left:0; top:0; right:0; bottom:0; z-index:-2; }

main { clear:both; display:block; position: relative; z-index:2; }
.section { margin:0; padding:0; position:relative; display:block; }
.page-section { display:block; padding-top:var(--column-gap); }
.section .container { margin-top:var(--section-gap); margin-bottom:var(--section-gap); }
.section .container > :last-child { margin-bottom:0; }
.section:first-child .container, .section .container > :first-child { margin-top:0; }
h1,h2,h3,h4 { font-weight:normal;}
.section-header { margin:0 0 var(--column-gap); text-align:center; }
.section-header::before { content:''; border-width:8px 0 0 0; border-color:var(--theme-color); width:8em; display:block; margin:0 auto 4px; }
.section-header .section-title { margin:0; font-size:1em; }
.section-header .section-title-en { margin:0; font-size:11px; color:var(--gray-color);text-transform: uppercase; }
.sub-pages { display:flex; flex-wrap:wrap; gap:2.5%; margin:0 0 var(--column-gap); justify-content:center; align-items:stretch; }
.sub-pages .sub-page { margin:0; flex:1; display:flex; }
.sub-pages .sub-page .sub-page-link { display:flex; align-items:center; justify-content:center; height:100%; width:100%; padding:.5em; text-align:center; line-height:1; border-width:1px; border-radius:100px; }
.sub-pages .sub-page .sub-page-link.current { background-color:#007add22; }
.sub-pages .sub-page .sub-page-link:hover { border-color:currentColor; }
.entry h2 { font-weight:600; border-bottom-width:12px; border-color:var(--layer-color); color:var(--theme-color); padding-bottom:.25em; margin-bottom:1em; }
a.button, button.button { --input-border-radius:100px; display:flex; justify-content:center; align-items:center; gap:.5em; max-width:24em; margin-left:auto; margin-right:auto;  }
a.button { background-color:transparent; color:var(--button-color); border-width:1px; border-color:currentColor; }
a.button:hover { border-color:currentColor; background-color:transparent; color:var(--hover-color); }
a.button svg, button.button svg { width:auto; height:1.2em; fill:currentColor }
@media screen and ( min-width : 781.1px ){
  .sub-pages { justify-content:flex-start; gap:1em; }
  .sub-pages .sub-page { flex:none; min-width:8em; }
  body.home .section { display:flex; }
  .section-header { margin:0; left:50%; position:absolute; z-index:2; transform:translateX(-50%); text-align:center; }
  .page-section .section-header { position:sticky; height:0; width:0; top:var(--column-gap); transform:none; left:auto; margin:0 0 0 auto; }
  .page-section .section-header::before { content:''; display:block; border-color:var(--theme-color); border-width:0 8px 0 0; margin:0; position:absolute; right:0; top:9; height:8em; width:0; }
  .page-section .section-header .section-title { margin:0 calc(.5em + 8px) 0 0; font-size:1.5em; position: absolute; letter-spacing:.15em; right: 0; top: 0; white-space: nowrap; -ms-writing-mode:tb-rl; -webkit-writing-mode:vertical-rl; writing-mode:vertical-rl; }
  .page-section .section-header .section-title-en { display:none; }
}
@media screen and ( min-width : 781.1px ) and ( max-width : 1380px ){
  .page-section .container { margin-right:90px; width: calc(100% - var(--column-gap) - 90px ); }
}
@media screen and ( max-width : 781px ){
  .section-header + .container { margin-top:var(--column-gap); }
}
@media screen and ( max-width : 480px ){
  .section-header { margin-bottom:var(--section-gap); }
  .section-header::before { border-top-width:5px; }
  .section-header .section-title { font-size:1.2em; color:var(--theme-color); }
}

/* ::::::::::: HEADER ::::::::::: */
#toggle-menu { width:40px; height:40px; display:none; position:fixed; right:var(--column-gap); top:var(--column-gap); z-index:99; }
#toggle-menu span { display:inline-block; width:28px; height:0; border-color:inherit; border-width:2px 0 0 0; border-color:var(--font-color); position:absolute; left:0; right:0; bottom:0; top:0; margin:auto; transition:.15s ease-in-out; }
#toggle-menu .bar-1 { top:-34px; }
#toggle-menu .bar-2 { top:-16px; }
#toggle-menu .bar-3 { top:2px; }
body.toggle-opened #toggle-menu .bar-1 { top:-16px; -webkit-transform:rotate(45deg); transform:rotate(45deg); }
body.toggle-opened #toggle-menu .bar-2 { width:0; }
body.toggle-opened #toggle-menu .bar-3 { top:-16px; -webkit-transform:rotate(-45deg); transform:rotate(-45deg); }
#site-contact::after, #toggle-menu::after { content:attr(title); font-size:10px; color:inherit; line-height:1; margin:4px 0 0; display:block; position:absolute; bottom:0; right:0; left:0; }
#site-logo { display:block; width:2em; margin:var(--column-gap) auto var(--column-gap) var(--column-gap); }
#site-logo .logo { display:block; width:100%; height:auto; margin:0; }
#site-logo:hover { opacity:.9 }
#main-menu { display:flex; flex-direction:column; margin:0; -ms-writing-mode:tb-rl; -webkit-writing-mode:vertical-rl; writing-mode:vertical-rl; }
#main-menu li { margin:0; padding:0; }
#main-menu li.menu-logo { margin:0 0 0 1em; }
#main-menu li.menu-logo .logo-icon { width:4em; height:4em; display:block; padding:0; margin:0; fill:currentColor; }
#main-menu li a { padding:0 .5em; display:block; margin:0; letter-spacing:.15em;}
#sub-menu { display:none; }
body.toggle-opened #site-navi { display:flex; flex-wrap:wrap; flex-direction: column; align-items:center; justify-content:center; position:fixed; left:0; top:0; right:0; bottom:0; overflow-y:auto; overflow-x:hidden; z-index:98; }

@media screen and ( min-width : 781.1px ){
  #site-header { height:var(--site-header); }
  #site-logo { margin:0; height:calc(var(--site-header) - var(--column-gap)*2); position:absolute; left:var(--column-gap); top:var(--column-gap); }
  #site-logo .logo { width:auto; height:100%; }
  #main-menu { position:absolute; z-index:5; left:auto; right:var(--column-gap); top:var(--column-gap); }
}
@media screen and ( max-width : 781px ){
  #toggle-menu { display:block; }
  #main-menu { margin: auto 0 0; }
  #sub-menu { display:inline-flex; flex-direction:column; margin:auto auto var(--column-gap); text-align:left; }
  #sub-menu li { display:block; margin:0; list-style:none; }
  #sub-menu li a { padding:.25em; display:block; margin:0; font-size:.925em; letter-spacing:.1em;}
  #sub-menu li a::before { content:'#'; }
  #site-navi { display:none; background-color:var(--body-color); color:var(--font-color); padding:var(--section-gap) 0; font-size:1.15em; }
}


/*:::::::::::FOOTER:::::::::::*/
#breadcrumb { display:block; padding:calc( var(--column-gap) * 0.5 ); text-align:center; }
.breadcrumb .bc-separator { margin-left:1em; margin-right:1em; }
.breadcrumb .bc-separator span { transform:scale(.7); color:var(--theme-color); }
#site-footer { margin:0; padding:0 0 var(--column-gap) 0; position:relative; z-index:1; overflow:visible; }
#site-footer::after { content:''; background:linear-gradient(180deg,rgb(255, 255, 255, 0) 0%, rgb(222, 222, 222, 1.0) 100%); width:100%; position:absolute; left:0; bottom:0; right:0; top:auto; height:120%; z-index:-2; }
#site-footer .container { padding:0; background-color:white; display:block; max-width:none; }
#site-footer .footer-column { vertical-align:middle; padding:var(--column-gap); }
#footer-logo-column .logo { display:block; max-width:320px; width:80%; margin:0 auto; }
#footer-logo-column .banner { display:block; max-width:480px; margin:24px auto 0; border-width:1px; }
#footer-logo-column .banner:hover { opacity:.8; }
#footer-logo-column .banner img { display:block; }
#footer-logo-column .copyright { font-size:11px; line-height:var(--line-height-mono); position:relative; text-align:center; margin:24px 0 0; padding:0; }
#footer-info-column { font-size:.875em; text-align:center; }
#footer-info-column p span { display: inline-block; }
#footer-info-column dl { display:flex; gap:0 1em ; margin:16px auto 0; align-items:center; justify-content:center; width:auto; }
#footer-info-column dl dt { font-size:.875em; }
#footer-info-column dl::after { content:''; margin:0; display:block; }
#footer-info-column dl.hours dt, #footer-info-column dl.closed dt { width:6em; border-width:1px; }
#footer-info-column dl.dial dt { line-height:1.2;}
#footer-info-column dl.dial a { font-size:2em; display:flex; gap:0 .25em; align-items:center; line-height: 1; }
#footer-info-column dl.dial svg { width:1em; position: relative; bottom:-.1em; height:auto; display: inline-block; fill:var(--theme-color); }
#footer-info-column a.contact-button { display:block; margin:24px auto 0; --input-padding:.5em; max-width:16em; }
#footer-navi-column { text-align:center; }
#footer-page-navi { margin:0; display:inline-block; }
#footer-page-navi li { margin:0; }
#footer-page-navi a { font:inherit; padding:.5em; font-size:.875em; line-height:var(--line-height-mono); display:flex; align-items:center; }
#footer-page-navi a::before { content:''; background-color:var(--gray-color); height:.5em; width:.5em; margin-right:.5em; display: inline-block; }
#footer-page-navi a:hover::before { background-color:currentColor; }

@media screen and ( min-width : 934.1px ){
  #site-footer .container { display:table; padding:0; }
  #site-footer .footer-column { display:table-cell; width:33.333%; vertical-align:middle; padding:var(--column-gap); border-width:0 0 0 1px; }
  #site-footer .footer-column:first-child { border-width:0; }
  #site-footer #footer-info-column { min-width:27em; }
}
@media screen and ( max-width : 934px ){
  #site-footer .container { display:flex; flex-direction:column; }
  #site-footer #footer-navi-column { order:1; padding-bottom:0; }
  #site-footer #footer-info-column { order:2; }
  #site-footer #footer-logo-column { order:3; }
  #footer-page-navi { margin:0; display:inline-block; columns:2; }
  #footer-page-navi a { font-size:1em; }
  #footer-logo-column .copyright { font-size:10px; }
}
@media screen and ( max-width : 480px ){
  #footer-page-navi { columns:initial; }
  #footer-navi-column { display:none; }
}


/* ::::::::::: TOPPAGE ::::::::::: */

#section-screen { width:100%; min-height:320px; max-height:560px; height:100vw; margin:0; padding:0; background:gray; position:relative; -webkit-backface-visibility:hidden; backface-visibility:hidden; overflow:hidden; }
#section-screen ul.slider { opacity:1; position:absolute; left:0; right:0; bottom:0; top:0; overflow:hidden; transition:opacity .7s ease-out 1s; }
#section-screen ul li { list-style:none; transform-style:preserve-3d; backface-visibility:hidden; perspective:1000; transform:translateZ(0); overflow:hidden; } /*safari チラツキ対策*/
#scrollnext { display:block; width:10em; margin:0 auto; height:80px; padding:0; position:absolute; z-index:40; left:0; right:0; bottom:0; }
  /* background-image:url( "data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14' %3E%3Cpolyline points='.2 1.3 11.9 13 23.8 1' fill='none' stroke='%23ffffff' stroke-miterlimit='10' /%3E%3C/svg%3E"); background-position:center 14px; background-repeat:no-repeat; background-size:16px auto; } */
#scrollnext span { font-size:11px; line-height:1; text-transform:uppercase; display:block; text-align:center; padding:0; color:#fff }
#scrollnext::after { content: ""; position: absolute; bottom: 0; left:50%;transform:translateX(-50%); width:.5px; height:56px; background: #fff; }
#scrollnext::before {
  content: ""; position: absolute; transform:translateX(-50%); bottom: 0; left:50%; width:6px; height:6px; border-radius: 50%; background: #fff; animation: circlemove 3s ease-in-out infinite, cirlemovehide 3s ease-out infinite;
}

@keyframes circlemove { 0% { bottom:56px; } 100% { bottom:-6px; } }
@keyframes cirlemovehide { 0% { opacity: 0; } 50% { opacity: 1; } }

@media screen and ( min-width : 781.1px ){
  #section-screen { height:calc( 100vh - var(--site-header) ); }
}

ul.slider { position:relative; overflow:hidden; display:block; margin:0; padding:0; z-index:1; background-position:center; background-repeat:no-repeat; -ms-background-size:cover; background-size:cover; }
ul.slider li { list-style:none; transition:opacity 2s ease-out 1s; z-index:1; opacity:0; overflow:hidden; list-style:none; margin:0; height:100%; width:100%; display:block; position:absolute; top:0; right:0; bottom:0; left:0; overflow:hidden; list-style:none; }
ul.slider li.selected { z-index:3; opacity:1; }
ul.slider li.prev { z-index:2; opacity:1; }
ul.slider li img { width:100%; height:100%; object-fit:cover; opacity:1; }
ul.slider li:nth-child(5n) img { transform-origin:top left; }
ul.slider li:nth-child(5n+1) img { transform-origin:bottom right; }
ul.slider li:nth-child(5n+2) img { transform-origin:top right; }
ul.slider li:nth-child(5n+3) img { transform-origin:bottom left; }
ul.slider li:nth-child(5n+4) img { transform-origin:center; }
@keyframes slider_zoomin { from { transform: scale(1); } to { transform:scale(1.1); } }
ul.slider li.selected img, ul.slider li.prev img { animation:slider_zoomin 10s linear 0s forwards; }

#section-message { padding:var(--section-gap) 0; margin:0; position:relative; overflow:hidden; z-index:2; min-height:70vh; display:flex; align-items: center; justify-content: center; }
#section-message-wrapper { font-size:1.1em; -ms-writing-mode:tb-rl; -webkit-writing-mode:vertical-rl; writing-mode:vertical-rl; }
#section-message-wrapper h2 { font-weight:inherit; margin:0 0 0 2em; padding:0; text-wrap:nowrap; text-align:right; display:table }
#section-message-wrapper h2 span, #section-message-wrapper p span { display:block; }
#section-message-wrapper p { margin:0 1em 0 0; }

#section-instagram .section-header::before { display:none; }
#section-instagram .section-header svg { width:2em; height:2em; fill:#d62a8b; }
#section-instagram .section-title { display:flex; align-items:center; justify-content:center; gap:.5em; font-size:1.5em; }
#section-instagram #sbi_images { gap:24px!important; }

#section-pickup { text-align:center; background:var(--layer-color); }
.pickup-message { display:block; }
.pickup-message .pickup-title { display:block; text-align:center; margin:0 0 var(--p-margin); color:var(--theme-color); }
.pickup-wrapper { display:flex; flex-wrap:nowrap; width:100%; background-color:white; padding:var(--column-gap); gap:var(--column-gap); align-items:center; }
.pickup-wrapper .pickup-image { display:block; }
.pickup-wrapper .pickup-text { display:block; text-align:left; }
.pickup-message + .pickup-message { margin-top:var(--column-gap); }
.pickup-message + .pickup-message::before { content:''; display:block; height:2em; width:0; border-left-width:1px; border-color:var(--theme-color); margin:0 auto 16px; }
.area-lists { columns:3; column-gap:var(--column-gap); padding:var(--column-gap) var(--column-gap); border-width:var(--border-width); background-color:white; }
.area-lists ul.area { margin:0 0 24px; }
.area-lists ul.area .area-title { font-size:1em; margin:0 0 8px; }
.area-lists ul.area .shop { margin:0; font-size:.875em; display:block; break-inside:avoid;}
.area-lists ul.area .shop a { display:block }
.area-lists ul.area h3 { border-bottom-width:var(--border-width); font-size:inherit; }
.area-lists .shops-all { margin:0; font-size:inherit; }
.area-lists .button { --input-padding:.5em; font-size:inherit }
#sb_instagram { font-family:var(--sans-font);}
#page-recruit .section-header { display:none; }
#page-recruit .container { margin:0 auto }
.recruit-banner { position:relative; margin-left:50%; left:-50vw; width:100vw; max-width:none; } 
.recruit-banner .recruit-image { height:20em; width:100%; object-fit:cover; display:block; } 
.recruit-banner .recruit-link { background-color:var(--button-color); color:white; padding:var(--column-gap); display:block; }
.recruit-banner .recruit-link .logo { fill: currentColor; width:100%; max-width:20em; margin:0 auto; display:block; height:auto; }
.recruit-banner .recruit-link .link-label { margin:1em 0 0; display:block; font-size:1.2em; color:white; text-align:center; }
.recruit-banner .link-arrow { position:relative; width:100%; display:block; margin:var(--column-gap) 0 0; padding:0; height:0; border-bottom:1px solid currentColor; transition:var(--transition); }
.recruit-banner .link-arrow::after { position: absolute;display:block; content:''; top: 0; right: 0; transform-origin:right bottom; width:20px; border-bottom:1px solid currentColor; transform:rotate(45deg); }
.recruit-banner .recruit-link:hover { background-color:var(--button-hover-color); } 
.recruit-banner .recruit-heading { position:absolute; display:flex; gap:.5em; flex-direction:column; align-items:flex-start; left:var(--column-gap); top:0; font-size:1.5em; margin:0; -ms-writing-mode:tb-rl; -webkit-writing-mode:vertical-rl; writing-mode:vertical-rl; }
.recruit-banner .recruit-heading span { background-color:#fff; margin:0; padding:.5em .1em 0; line-height:1.2; letter-spacing:.1em; }
@media screen and ( min-width : 781.1px ){
  .recruit-banner { display:flex; }
  .recruit-banner .recruit-image { width:80%; max-width:calc(100% - 20em); height:40vw; max-height:36em; object-fit:cover; } 
  .recruit-banner .recruit-link { width:20%; min-width:calc(0% + 20em); display:flex; flex-direction:column; justify-content:space-between; }
  .recruit-banner .recruit-link .link-label { margin-top:auto; font-size:1.5em; }
  .recruit-banner .recruit-link .link-label span { display:block; }
  .recruit-banner .recruit-heading { font-size:2em; }
  .pickup-wrapper .pickup-image { width:40%; }
  .pickup-wrapper .pickup-image.vertical { width:35%; }
  .pickup-wrapper .pickup-image.horizontal { width:45%; }
  .pickup-wrapper .pickup-image + .pickup-text { padding-left:0; width:60%; }
  .pickup-wrapper .pickup-image.vertical + .pickup-text { width:65%; }
  .pickup-wrapper .pickup-image.horizontal + .pickup-text { width:55%; }
}
@media screen and ( max-width : 781px ){
  .pickup-wrapper { flex-direction:column; }
  .pickup-message .pickup-image { max-height:400px; width:100%; flex:none; display:block; position: relative; }
  .pickup-message .pickup-image img { max-height:400px; width:100%; object-fit:contain; }
  .pickup-message .pickup-text { width:100%; flex:none; padding:0; }
  .pickup-message .pickup-image + .pickup-text { width:100%; flex:none; }
  .area-lists { columns:initial; }
  .area-lists ul.area { display:block; margin:0 0 12px; }
  .area-lists ul.area::after { display:block; margin:0; content:''; clear:both;  }
  .area-lists ul.area .shop { display:inline; }
  .area-lists ul.area .area-title { width:100%; padding:0 0 4px; margin-bottom:4px; color:var(--list-color) }
  .area-lists ul.area .shop a { width:50%; float:left; padding:.25em 0; }
  .area-lists .shops-all { padding-top:8px; }
  #section-instagram .section-title { font-size:1.2em; }
  #section-instagram #sbi_images { gap:24px!important; }
  
}
@media screen and ( max-width : 480px ){
  #section-pickup p br { display:none; }
  #section-message-wrapper { font-size:inherit; }
  #section-message-wrapper h2 { margin-left:1em; }
  #section-instagram #sbi_images { gap:16px!important; }
}

.faq { margin:16px 0; display:block; }
.faq .faq-q { cursor:pointer; position:relative; padding:16px 0 16px 48px; }
.faq .faq-q h3 { color:inherit; line-height:1.35em; position:relative; margin:0; padding:0; display: inline; border-bottom-width:2px; }
.faq .faq-q::before { content:'Q.'; color:var(--theme-color); border:0; letter-spacing:0em; font-size:32px; line-height:1em; height:1em; width:1.5em; display:block; position:absolute; left:0; top:16px; margin:auto 0; }
.faq .faq-a { display:none; margin:8px 0; position:relative; }
.faq .faq-a p { padding:1em; background-color:var(--layer-color); margin:0 0 0 48px; }
.faq .faq-a::before { content:'A.'; color:var(--strong-color); border:0; letter-spacing:0em; font-size:32px; line-height:1em; height:1em; width:1.5em; display:block; position:absolute; left:0; top:16px; margin:auto 0; }

/* ::::::::::: POSTS ::::::::::: */
.shops-wrapper { text-align:left; margin:var(--column-gap) 0 0; border-top-width:1px; padding:var(--column-gap) 0 0 3.5em; position: relative; }
.shops-wrapper:first-child { margin-top:0; }
.shops-wrapper::before { content:''; display:block; width:20%; position:absolute; top:-1px; left:0; border-top:1px solid var(--list-color); }
.shops-wrapper .area-title { position:absolute; left:0; top:var(--column-gap); color:var(--theme-color); line-height:1.2; -ms-writing-mode:tb-rl; -webkit-writing-mode:vertical-rl; writing-mode:vertical-rl; }
.shop-list { display:flex; flex-wrap:wrap; margin:-1em; }
.shop-list .shop { width:25%; text-align:left; position:relative; z-index:1; margin:0; padding:1em; align-self:stretch; align-items:stretch; display:flex; }
.shop-list .shop a { padding:0; margin:0; width:100%; display:block; position: relative; }
.shop-list .shop a:hover { color:inherit; }
.shop-list .shop a:hover .shop-image img { transform:scale(1.1);}
.shop-list .shop h3 { font:inherit; margin:4px 0 0;}
.shop-list .info-date { display:inline-block; line-height:1; z-index:10; padding:calc(.25em + 1px); font-size:.875em; font-weight:bold; text-align:center; }
.shop-list .info-date.open, .shop-list .info-date.renewal { background-color:var(--caution-color); border-color:var(--caution-color); color:white; }
.shop-list .info-date.close, .shop-list .info-date.move { background-color:orange; border-color:orange; }
.shop-list .shop-pref { border-width:1px; border-color:var(--list-color); color:var(--list-color); display:inline-block; padding:.25em; font-size:.875em; line-height:1; }
.shop-list .shop .shop-image { display:block; position:relative; z-index: 1; margin:0; overflow:hidden; }
.shop-list .shop .shop-image::before { content:' '; display:block; padding:75% 0 0 0; margin:0; position:relative; z-index:4; }
.shop-list .shop .shop-image img { position:absolute; position:absolute; z-index:1; top:0; left:0; right:0; bottom:0; margin:auto; display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition: all var(--transition); }
.shop-list .shop.new .shop-image::after { content:'OPEN'; font-weight:600; position:absolute; background-color:var(--caution-color); color:white; top:0; left:0; line-height:1; z-index:99; padding:.5em; font-size:.75em; }
.shop-list .shop .shop-info { margin:1em 0 0; line-height:var(--line-height-mono); }
.shop-list .shop .shop-info p { margin:.5em 0 0; font-size:.875em; }
.shop-list .shop .shop-address span { display:block; }
#section-shop-images { overflow:hidden; }
#single-swiper { overflow:visible; max-height:480px; margin:0 -8px; }
#single-swiper .swiper-slide { margin:0; padding:0 8px; }
#single-swiper .swiper-slide:last-child { min-width:100%; }
#single-swiper .swiper-slide:last-child img { margin-left:0; }
#single-swiper-pagination { text-align:left; bottom:-32px; left:8px; right:8px; width:auto; }
#section-shop .container { margin-top:0; }
#section-shop .shop-header { width:100%; display:flex; flex-wrap:wrap; line-height:var(--line-height-mono); align-items:last baseline; gap:16px; margin:0; }
#section-shop .shop-header .shop-area { width:100%; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
#section-shop .shop-header .shop-area span { border-color:var(--list-color); color:var(--list-color); line-height:1; padding:.25em; border-width:var(--border-width); }
#section-shop .shop-header .shop-area .info-date.open, #section-shop .shop-header .shop-area .info-date.renewal { background-color:var(--caution-color); border-color:var(--caution-color); color:white; }
#section-shop .shop-header .shop-area .info-date.close, #section-shop .shop-header .shop-area .info-date.move { background-color:orange; border-color:orange; }
#section-shop .shop-header h2 { margin:0 8px 0 0; font-size:2em; }
#section-shop .shop-header a.sns-link { display:flex; align-items:center; gap:.5em; line-height:1.5;  }
#section-shop .shop-header a.sns-link svg { width:1.5em; height:1.5em; line-height:1; fill:currentColor }
#section-shop .shop-header a.sns-link.instagram svg { fill:#d62a8b; }
#section-shop .shop-header a.sns-link.instagram:hover { color:#d62a8b; }
#section-shop .shop-header a.sns-link.youtube svg { fill:#dc551c; }
#section-shop .shop-header a.sns-link.youtube:hover { color:#dc551c; }
#section-shop .shop-header a.sns-link.facebook svg { fill:#4f2ad6; }
#section-shop .shop-header a.sns-link.facebook:hover { color:#4f2ad6; }
a.text-link { text-decoration:underline; color:var(--link-color); }
a.text-link svg  { width:1em; height:1em; line-height:1; fill:currentColor; margin-right:.5em; }
a.text-link:hover { color:var(--hover-color); }
#section-shop dd.access p.access-way { min-width:4em; border:1px solid currentColor; color:var(--theme-color); padding:0 .25em; font-size:.875em; display:table; margin:0; text-align:center; }
#section-shop dd.access p.access-txt { margin-top:.5em; }
#section-shop .shop-entry { display:flex; flex-wrap:wrap; align-items:center; gap:var(--column-gap); }
#section-shop .area-lists { margin-top:var(--section-gap); }
#section-shop .info-wrap { flex:3; order:2; margin:0; }
#section-shop .info-wrap dl.info { width:100%; margin:0; }
#section-shop .info-wrap .info-text::before { content:'\\ お知らせ /'; display:block; margin:0 0 8px; color:var(--theme-color); text-align:center; }
#section-shop .info-wrap .info-text { position: relative; font-size:.925em; --p-margin:.25em; border-width:var(--border-width); padding:var(--padding);  }
#section-shop .map-wrap { width:40%; flex:2; order:3; margin:0;}
#section-shop .map-wrap .map-img:hover { opacity:.8; }
#section-shop .map-wrap + .info-wrap { width:60%; }
#section-shop .map-wrap .map-link { --input-padding:8px; margin:16px auto 0; font-size:inherit }
@media screen and ( max-width : 1080px ){
  .shop-list { font-size:.875em; }
  .shop-list .shop { width:33.333%; }
}
@media screen and ( max-width : 781px ){
  .shop-list .shop .shop-address { display:none; }
  #section-shop .shop-header { width:100%; display:flex; flex-direction:column; align-items: center; }
  #section-shop .shop-header h2 { margin:0 0 8px; font-size:1.8em; }
  #section-shop .shop-header .shop-area { justify-content: center; }
  #section-shop .shop-entry { flex-direction:column; align-items: center; }
  #section-shop .map-wrap, #section-shop .map-wrap + .info-wrap { width:100%; max-width:480px; }
  .shops-wrapper .area-title { font-size:1.4em; position: sticky;top: 1em;float: left; margin:0 0 var(--column-gap) -2.4em; }
}
@media screen and ( max-width : 480px ){
  .shop-list .shop { width:50%; }
  #single-swiper { max-height:400px; margin:0 -4px; }
  #single-swiper .swiper-slide { margin:0; padding:0 4px; }
  #single-swiper-pagination { text-align:center; }
  .shops-wrapper { padding-left:2.7em; }
  .shops-wrapper .area-title { font-size:1em;}
}


/* ::::::::::: SINGLE ::::::::::: */
dl.field dt, dl.field dd { border-bottom-width:0; padding-bottom:0; }
dl.field dt::after {content:': '; }
dl.info { border-width:0; overflow:visible; align-items:stretch; }
dl.info > dt { display:flex; align-items:center; color:var(--theme-color); background-color:transparent; padding-left:0; padding-right:0; border-color:var(--list-color); }
dl.info > dd { padding-right:0; background-color:transparent; }
dl.history .gallery { columns:auto; margin:0; position:relative; display:flex; flex-wrap:wrap; list-style:none; }
dl.history .gallery-item img { height:6em; width:auto; }
.gmap-access { margin-top:var(--column-gap); }
.gmap-iframe { margin:var(--column-gap) 0; width:100%; height:480px; max-height:100vw; border-width:1px; }
@media screen and (max-width: 480px) {
  dl.info > dt {
    color:var(--list-color);
  }
}

/*::::::::::: CONTACT FORM :::::::::::*/
.entry p + .wpcf7  {margin-top:var(--column-gap); }
.wpcf7 dl.form-wrap { display:flex; position: relative; flex-wrap:wrap; width:100%; margin:0; padding: var(--column-gap) 0; align-items:center; border-bottom-width:var(--border-width); }
.wpcf7 dl.form-wrap:first-child, .wpcf7 .hidden-fields-container + dl.form-wrap { border-top-width:var(--border-width); }
.wpcf7 dl.form-wrap:first-child::before, .wpcf7 .hidden-fields-container + dl.form-wrap::before { width:30%; content:''; display:block; border-top-width:1px; border-color:var(--list-color); left:0; top:-1px; position:absolute; }
.wpcf7 dl.form-wrap::after { width:30%; content:''; display:block; border-bottom-width:1px; border-color:var(--list-color); left:0; bottom:-1px; position:absolute; }
.wpcf7 dl.form-wrap dt { width:30%; font-size:1em; padding:8px 16px 8px 0; vertical-align:top; color:var(--theme-color); }
.wpcf7 dl.form-wrap dd { width:70%; padding:8px 0 0; vertical-align:top; }
.wpcf7 dl.form-wrap dd::after { clear:both; display:table; content:''; }
.wpcf7 .before-send { text-align:center;}
.wpcf7 button.button { width:32em; max-width:100%; }
.wpcf7-form-control-wrap[data-name=customerZip], .wpcf7-form-control-wrap[data-name=customerPref], .wpcf7-form-control-wrap[data-name=customerSex], .wpcf7-form-control-wrap[data-name=customerAge] { max-width:14em; }
.wpcf7-form-control-wrap[data-name=customerName], .wpcf7-form-control-wrap[data-name=customerFurigana] { max-width:24em; }
.wpcf7 .form-response { clear:both; padding:0; height:32px; margin:0 0 8px; }
.wpcf7 .headword { width:30%; width:calc(0% + 7em); padding-top:14px; clear:left; float:left; display:block; font-size:1em; margin-bottom:8px; }
.wpcf7 em { display:inline-block; color:var(--opposite-color); background-color:var(--strong-color); line-height:1em; font-size:11px; padding:2px 3px; margin-left:8px; }
.wpcf7 .headword + .wpcf7-form-control-wrap { width:70%; width:calc(100% - 7em); float:left; display:block; }
.wpcf7 .wpcf7-form-control-wrap {  margin-bottom:8px; }
.wpcf7 .wpcf7-response-output { color:var(--caution-color); background-color:var(--focus-color); }
.wpcf7-list-item { display:block; }
.wpcf7 .event-data { display:-webkit-box; display:flex; flex-wrap:wrap; -webkit-box-align:center; align-items:center; }
.wpcf7 .event-data .image { width:120px; }
.wpcf7 .event-data .text { width:calc( 100% - 120px ); padding-left:20px; }
.wpcf7 .event-data .text > h2 { font-size:1.1em; font-weight:bold; margin:0; }
.wpcf7 .event-data .text > span { font-size:.9em; display:block; }
.wpcf7 .event-data .text > span.event-place { font-size:1em; display:block; }
.wpcf7 .event-data + #selected-date { margin:16px 0 8px; }
@media screen and ( max-width : 781px ){
  .wpcf7 dl.form-wrap { display:block; }
  .wpcf7 dl.form-wrap > dt { width:auto; display:block; font-size:1em; padding:8px 0; color:var(--list-color); }
  .wpcf7 dl.form-wrap > dd { width:auto; display:block; padding:0 0 8px; border-top-width:0; }
  .wpcf7 dl.form-wrap > dt br { display:none; }
  .wpcf7 dl.form-wrap > dt small { margin-left:.5em; }
  .wpcf7 dl.form-wrap > dt { word-spacing:.5em; }
}

