@charset "utf-8";


/* ----------------------------------------------------------------------
	selection
---------------------------------------------------------------------- */

::selection { background: var(--color-bg); color: var(--color-white); }
::-moz-selection { background: var(--color-bg); color: var(--color-white); }


:root {
    --font-gothic: "Zen Kaku Gothic New", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    --font-mincho: "Zen Old Mincho", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    --font-en: "EB Garamond", serif;
    
    --color-white: #fff;
    --color-red: #c00;
    --color-dark-blue: #181e63;
    --color-ocher: #a67c49;
    --color-dark-brown: #381004;
    --color-yellow: #faee00;
    
    --color-white-gray: #f8f8f8;
    --color-light-gray: #ddd;
    --color-gray: #999;
    --color-dark-gray: #545454;
    
    --color-text: var(--color-dark-brown);
    --color-bg: var(--color-dark-brown);
    --color-border: var(--color-light-gray);
}

/* ----------------------------------------------------------------------
	html,body
---------------------------------------------------------------------- */

html { font-size: 62.5%; }

body {
	font-family: var(--font-gothic);
	color: var(--color-text);
	font-size: 1.6rem;
	line-height: 1.6;
    letter-spacing: .1em;
    font-feature-settings: "palt";
	-webkit-text-size-adjust: none;
    min-width: 1260px;
}


@media screen and (max-width: 990px) {
	body { min-width: inherit; }
}


/* ----------------------------------------------------------------------
	anchor
---------------------------------------------------------------------- */

a { -webkit-tap-highlight-color: rgba(0,0,0,0.3); transition: 0.3s; }
a:link { color: var(--color-text); text-decoration: underline; }
a:visited { color: var(--color-text); text-decoration: underline; }
a:hover { color: var(--color-text); text-decoration: none; }
a:active { color: var(--color-text); text-decoration: none; }
a:focus { outline: none; }
a img { transition: 0.3s; }
a:hover img { opacity: 0.8; }


/* ----------------------------------------------------------------------
	img
---------------------------------------------------------------------- */

img {
    max-width: 100%;
    height: auto;
}

.fix-img { width: 100%; }

.no-img { border: 1px solid var(--color-border); }


/* ----------------------------------------------------------------------
	txt
---------------------------------------------------------------------- */

.font-mincho {
    font-family: var(--font-mincho);
    letter-spacing: .1em;
}

.font-en {
    font-family: var(--font-en);
    letter-spacing: .05em;
}

.color-red { color: var(--color-red); }


.fs10 { font-size: 10px !important; font-size: 1rem !important; }
.fs11 { font-size: 11px !important; font-size: 1.1rem !important; }
.fs12 { font-size: 12px !important; font-size: 1.2rem !important; }
.fs13 { font-size: 13px !important; font-size: 1.3rem !important; }
.fs14 { font-size: 14px !important; font-size: 1.4rem !important; }
.fs15 { font-size: 15px !important; font-size: 1.5rem !important; }
.fs16 { font-size: 16px !important; font-size: 1.6rem !important; }
.fs17 { font-size: 17px !important; font-size: 1.7rem !important; }
.fs18 { font-size: 18px !important; font-size: 1.8rem !important; }
.fs19 { font-size: 19px !important; font-size: 1.9rem !important; }
.fs20 { font-size: 20px !important; font-size: 2rem !important; }

.left { text-align: left !important; }
.center { text-align: center !important; }
.right { text-align: right !important; }

.bold { font-weight: bold; }

.marker {  background: linear-gradient(transparent 50%, var(--color-yellow) 80%); }

.txt-upright { text-combine-upright: all; }

@media screen and (max-width: 990px) {
    .sp-none { display: none; }
    
    .sp-block { display: block; }
    
    .sp-inline-block { display: inline-block; }
}



/* ----------------------------------------------------------------------
	wrapper
---------------------------------------------------------------------- */

#wrapper { width: 100%; }

@media screen and (max-width: 990px) {
    
}


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

.l-header {
    position: relative;
    min-width: 1260px;
}

.l-header-logo {
    position: absolute;
    top: 140px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

@media screen and (max-width: 990px) {
   .l-header { min-width: inherit; }
   
   .l-header-logo {
        top: 68vw;
        width: 84vw;   
    }

   .l-header-logo img { width: 100%; }
}


/* ----------------------------------------------------------------------
	content
---------------------------------------------------------------------- */

.l-content { overflow: hidden; }

.content__inner {
    margin: 0 auto;
    max-width: 1260px;
}

.content__inner--small { max-width: 800px; }

@media screen and (max-width: 990px) {
    .content__inner { margin: 0 30px; }
}


/* ----------------------------------------------------------------------
	mainimg
---------------------------------------------------------------------- */

.mainimg {
    position: relative;
    margin: 0 auto;
    max-width: 1800px;
    min-height: 800px;
    max-height: 800px;
    height: calc(100dvh - 200px);
}


/* mainimg-slide-l */
.mainimg-slide-l {
    position: absolute;
    bottom: calc( ( 120 / 800 ) * 100%);
    right: calc( ( -140 / 1600 ) * 100%);
    width: calc( ( 1000 / 1600 ) * 100%);
}


/* mainimg-slide-s */
.mainimg-slide-s {
    position: absolute;
    top: calc( ( 480 / 800 ) * 100%);
    left: calc( ( 160 / 1600 ) * 100%);
    width: calc( ( 460 / 1600 ) * 100%);
}


.mainimg-slide-l__ph img,
.mainimg-slide-s__ph img { border-radius: 50%;}

.mainimg-slide-l .slick-dots { display: none!important; }

@media screen and (max-width: 990px) {
    .mainimg {
        min-height: inherit;
        max-height: inherit;
        height: auto;
    }

    .mainimg-slide-l {
        position: static;
        margin: -30.666vw 0 1.333vw 5.333vw;
        width: 120.666vw;
    }
    
    .mainimg-slide-l .slick-dots {
        position: absolute;
        right: 15px;
        top: 118vw;
        bottom: inherit;
        width: 10px;
        display: block!important;
    }
    
    .mainimg-slide-l .slick-dots li {
        margin: 0;
        display: block;
        width: 10px;
        height: 10px;
        margin: 5px 0;
    }
    
    .mainimg-slide-l .slick-dots li button {
        width: 10px;
        height: 10px;
    }
    
    .mainimg-slide-s {
        position: static;
        margin: 0 0 0 -10vw;
        width: 63.666vw;
    }
    
    .mainimg-slide-l img,
    .mainimg-slide-s img { width: 100%; }
}

/* mainimg-shop */
.mainimg-slide-shop {
    position: absolute;
    right: 100px;
    bottom: -110px;
    text-align: right;
    width: 600px; 
}

.mainimg-slide-shop-box__inner { margin: 0 0 2em; }

.mainimg-slide-shop-box--hyakunegura .mainimg-slide-shop-box__inner { margin-bottom: 2.6em; }

.mainimg-slide-shop__name {
    font-size: 2.6rem;
    margin: 0 0 0.2em;
}

.mainimg-slide-shop__txt { font-size: 1.8rem; }

.mainimg-slide-shop__en { font-size: 6rem; }
.mainimg-slide-shop__en--small { font-size: 4.8rem; }

@media screen and (max-width: 990px) {
    .mainimg-slide-shop {
        top: 136.4vw;
        right: 0;
        bottom: inherit;
        text-align: left;
        width: 49.333vw; 
    }
    
    .mainimg-slide-shop-box--tomyoden { padding: 3.6vw 0 0; }
    .mainimg-slide-shop-box--hyakunegura { padding: 3.6vw 0 0; }
    
    .mainimg-slide-shop-box__inner {
        height: 38vw;
        display: flex;
        justify-content: center;
        flex-direction: row-reverse;
        gap: 0 10px;
    }
    
    .mainimg-slide-shop-box--saryou .mainimg-slide-shop-box__inner { margin-bottom: 12.4vw; }
    .mainimg-slide-shop-box--tomyoden .mainimg-slide-shop-box__inner { margin-bottom: 9.2vw; }
    .mainimg-slide-shop-box--hyakunegura .mainimg-slide-shop-box__inner { margin-bottom: 8.8vw; }

    .mainimg-slide-shop__name {
        font-size: 4.8vw;
        writing-mode: vertical-rl;
        margin: 0;
    }
    
    .mainimg-slide-shop__name span { font-size: 2.666vw; }

    .mainimg-slide-shop__txt {
        font-size: 3.7333vw;
        writing-mode: vertical-rl;
    }

    .mainimg-slide-shop__en {
        font-size: 4.8vw;
        line-height: 1.2;
        text-align: right;
        padding-right: 10.666vw;
    }
    
    .mainimg-slide-shop__en--small { font-size: 3.466vw; }
}


/* mainimg-lead */
.mainimg-lead {
    position: absolute;
    top: calc( ( 100 / 800 ) * 100%);
    left: calc( ( 160 / 1600 ) * 100%);
    font-size: clamp(1.8rem, 1.125vw, 2rem);
    line-height: 2.2em;
    writing-mode: vertical-rl;
    width: calc( ( 460 / 1600 ) * 100%);
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 990px) {
    .mainimg-lead {
        position: static;
        background: var(--color-white-gray);
        font-size: 4.8vw;
        line-height: 1.8em;
        width: 100%;
        height: 114vw;
        padding: 20vw 0 0;
        margin-top: -4vw;
        border-top: 1px solid var(--color-border);
    }
}


/* mainimg-scroll */
.l-mainimg-scroll {
	position: absolute;
	left: 51%;
	bottom: -200px;
    transform: translateX(-50%);
}

.l-mainimg-scroll a {
	font-size: 1.4rem;
	line-height: 1;
	text-decoration: none;
	padding-left: 16px;
	height: 140px;
	overflow: hidden;
	writing-mode: vertical-lr;
	vertical-align: bottom;
    display: inline-block;
}

.l-mainimg-scroll a::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 140px;
	background: var(--color-dark-brown);
}

.l-mainimg-scroll a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 140px;
	background: var(--color-white);
}

.l-mainimg-scroll a::after { animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite; }

@keyframes sdl {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }
    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }
    50.1% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }
    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}

@media screen and (max-width: 990px) {
    .l-mainimg-scroll {
        top: 178vw;
        left: 50%;
        bottom: inherit;
    }
    
    .l-mainimg-scroll a {
        padding-left: 0;
        height: 60px;
    }
    
    .l-mainimg-scroll a span { display: none; }
    
    .l-mainimg-scroll a::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: -4px;
        width: 9px;
        height: 9px;
        border-radius: 50%;
        animation:
        circlemove 1.6s ease-in-out infinite,
        cirlemovehide 1.6s ease-out infinite;
    }
    
    .l-mainimg-scroll a::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 1px;
      height: 60px;
      background: var(--color-dark-brown);
      animation: none;
    }
}

@keyframes circlemove {
  0%{ bottom: 50px; }
  100%{ bottom: 0px; }
}

@keyframes cirlemovehide {
  0%{ opacity: 0 }
  50%{ opacity: 1 ;}
  80%{ opacity: 0.9; }
  100%{ opacity: 0; }
}



/* mainimg-slide-select */
.mainimg-slide-select {
    position: absolute;
    top: 0;
    left: 50px;
    width: 50px;
}

.mainimg-slide-select-inner {
    position: relative;
    padding: 40px 0 0;
}

.mainimg-slide-select-inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 15px;
    z-index: -1;
    width: 1px;
    height: 900px;
    min-height: 800px;
    background: var(--color-border);
    display: block;
}

.mainimg-slide-select-box {
    background: var(--color-white);
    padding: 20px 0;
}

.mainimg-slide-select ul li {
    position: relative;
    color: var(--color-gray);
    writing-mode: vertical-rl;
    padding: 20px 10px 20px 0;
    display: block;
    cursor: pointer;
}

.mainimg-slide-select ul li.active { color: var(--color-text); }

.mainimg-slide-select ul li.active::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: url("../img/icon_a_sub.svg") center center no-repeat;
    background-size: 6px 12px;
    width: 6px;
    height: 12px;
    display: block;
}

@media screen and (max-width: 990px) {
    .mainimg-slide-select { display: none; }
}


/* ----------------------------------------------------------------------
	point
---------------------------------------------------------------------- */

.l-point {
    background: var(--color-white-gray);
    border-top: 1px solid var(--color-border);
    padding: 300px 0 260px;
}

.l-point-inner {
    position: relative;
    z-index: 1;
    background: var(--color-white);
    margin: 0 auto;
    max-width: 1260px;
}

.l-point-column {
    display: flex;
    align-items: center;
}

.l-point-column--reverse { flex-direction: row-reverse; }

.l-point-block {
    padding: 0 90px;
    width: 50%;
}

.l-point-ttl {
    display: flex;
    gap: 0 20px;
}

.l-point-ttl-icon {
     color: var(--color-red);
     font-size: 2.4rem;
     display: inline-block;
}

.l-point-ttl-icon p { text-align: center; }

.l-point-ttl-icon__txt { margin: 0 0 0.4em; }

.l-point-ttl-icon__num {
    position: relative;
    color: var(--color-white);
    font-size: 3.6rem;
    padding-bottom: 8px;
}

.l-point-ttl-icon__num::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) rotate(45deg);
    z-index: -1;
    background: var(--color-red);
    width: 42px;
    height: 42px;
    display: block;
}

.l-point-ttl-icon__num::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) rotate(45deg);
    z-index: -1;
    border: 1px solid var(--color-red);
    width: 48px;
    height: 48px;
    display: block;
}

.l-point-ttl-txt {
    font-size: 2.6rem;
    letter-spacing: .2em;
    padding: 40px 0 0;
    margin: 0 0 1em;
}

.l-point-ttl-txt--center { padding: 60px 0 0;}

.l-point-disp p { margin: 0 0 0.8em; }
.l-point-disp p:last-child { margin: 0; }

.l-point-ttl-txt span,
.l-point-disp span { display: block; }

@media screen and (max-width: 990px) {
    .l-point {
        border-top: none;
        padding: 50px 30px 90px;
    }
    
    .l-point-inner { background: none; }
    
    .l-point-column {
        position: relative;
        padding: 80px 0 0;
        margin: 0 0 40px;
        display: block;
    }
    
    .l-point-column:last-child { margin: 0; }
    
    .l-point-block {
        padding: 0;
        width: 100%;
    }

    .l-point-ph img { width: 100%; }

    .l-point-ttl { display: block; }

    .l-point-ttl-icon {
         position: absolute;
         top: 0;
         left: 50%;
         transform: translateX(-50%);
         z-index: 1;
    }

    .l-point-box {
        background: var(--color-white);
        padding: 20px;
    }

    .l-point-ttl-txt {
        font-size: 2rem;
        letter-spacing: .1em;
        text-align: center;
        padding: 0;
        margin: 0 0 0.6em;
    }

    .l-point-ttl-txt--center { padding: 0; }

    .l-point-ttl-txt .l-point-ttl-txt-sp-inline-block { display: inline-block; }    
    
    .l-point-disp .icon-list {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 0 15px;
    }
    
    .l-point-disp span { display: inline; }
}

@media screen and (max-width: 375px) {
    .l-point-disp .icon-list { gap: 0 10px; }
}


/* ----------------------------------------------------------------------
	shop
---------------------------------------------------------------------- */

.l-shop,
.l-shop-local-nav {
    position: relative;
    z-index: 1;
    color: var(--color-white);
    padding: 80px 0 220px;
}

.l-shop::before,
.l-shop::after,
.l-shop-local-nav::before,
.l-shop-local-nav::after {
    content: "";
    position: absolute;
    display: block;
}

.l-shop::before,
.l-shop-local-nav::before {
    top: -160px;
    left: 0;
    z-index: 2;
    width: 100vw;
    height: 170px;
    clip-path: polygon(0 0, 100% 100%, 100% 100%, 0% 100%);
}

.l-shop::after,
.l-shop-local-nav::after {
    top: -161px;
    right: 0;
    z-index: 1;
    background: url("../img/bg_asanoha_brown.svg") center center var(--color-white);
    background-size: 60px auto;
    width: 75vw;
    height: 170px;
    clip-path: polygon(0 100%, 100% 0, 100% 100%, 0% 100%);
}

@media screen and (max-width: 990px) {
    .l-shop,
    .l-shop-local-nav { padding: 25px 0 100px; }

    .l-shop::before,
    .l-shop-local-nav::before {
        top: -50px;
        height: 60px;
    }

    .l-shop::after,
    .l-shop-local-nav::after {
        top: -50px;
        background-size: 30px auto;
        height: 60px;
    }
}


.l-shop-inner {
    margin: 0 auto;
    max-width: 1260px;
}

.l-shop-mainimg {
    margin: 0 0 90px;
    display: flex;
    align-items: center;
}

.l-shop-mainimg-reverse { flex-direction: row-reverse; }

.l-shop-mainimg-box {
    text-align: center;
    width: 500px;
    padding-bottom: 10px;
}

.l-shop-mainimg-ph { width: calc(100% - 500px); }

.l-shop-mainimg-ph img { width: 100%; }

@media screen and (max-width: 1600px) {
    .l-shop-mainimg-ph img {
        height: 640px;
        object-fit: cover;
        object-position: right bottom;
    }
}

@media screen and (max-width: 990px) {
    .l-shop-mainimg {
        margin: 0 0 40px;
        display: block;
    }

    .l-shop-mainimg-box {
        text-align: center;
        width: auto;
        padding-bottom: 10px;
    }

    .l-shop-mainimg-ph {
        padding: 0 0 30px 30px;
        width: 100%;
    }

     .l-shop-mainimg-ph img {
        height: auto;
        object-fit: inherit;
    }
}


.l-shop-ttl__en {
    font-size: 5rem;
    line-height: 1.2;
    margin: 0 0 0.6em;
}

.l-shop-ttl__ja {
    position: relative;
    padding: 30px 26px;
    margin: 0 0 40px;
    border: 1px solid var(--color-white);
    display: inline-block;
}

.l-shop-ttl__ja::before,
.l-shop-ttl__ja::after {
    content: "";
    position: absolute;
    top: 0;
    background: var(--color-white);
    width: 1px;
    height: 100%;
    display: block;
}

.l-shop-ttl__ja::before  { left: 3px; }
.l-shop-ttl__ja::after  { right: 3px; }

.l-shop-lead  {
    font-size: 2rem;
    line-height: 1.8;
}

.l-shop-lead span { display: block; }

@media screen and (max-width: 990px) {
    .l-shop-ttl__en { font-size: 3rem; }

    .l-shop-ttl__ja {
        position: relative;
        padding: 20px 16px;
        margin: 0 0 25px;
    }

    .l-shop-ttl__ja img { width: 28px; }
    
    .l-shop-ttl__ja--tomyoden img { width: 65px; }

    .l-shop-ttl__ja::before  { left: 2px; }
    .l-shop-ttl__ja::after  { right: 2px; }

    .l-shop-lead  {
        font-size: 1.8rem;
        line-height: 1.8;
    }

    .l-shop-lead span { display: block; }
}


.l-shop-hall { margin: 0 0 80px; }

.l-shop-hall-ttl {
    position: relative;
    color: var(--color-white);
    font-size: 3.2rem;
    font-weight: normal;
    text-align: center;
    margin: 0 0 4rem;
}

.l-shop-hall-ttl::before,
.l-shop-hall-ttl::after,
.l-shop-hall-ttl span::before,
.l-shop-hall-ttl span::after {
    content: "";
    position: absolute;
    transform: translateY(-50%);
    background: var(--color-white);
    width: 520px;
    height: 1px;
    display: block;
}

.l-shop-hall-ttl::before {
    top: calc(50% - 1px);
    left: 0;
}

.l-shop-hall-ttl::after {
    top: calc(50% - 1px);
    right: 0;
}

.l-shop-hall-ttl span::before {
    top: calc(50% + 2px);
    left: 0;
}

.l-shop-hall-ttl span::after {
    top: calc(50% + 2px);
    right: 0;
}

.l-shop-hall-list {
    position: relative;
    display: flex;
    justify-content: space-between;
}

.l-shop-hall-list--item-center { align-items: center; }

.l-shop-hall-list::before {
    content: "";
    position: absolute;
    top: 70px;
    left: calc((100vw - 1260px) / -2);
    z-index: -1;
    background: url("../img/bg_asanoha_white_10.svg") center center;
    background-size: 60px auto;
    width: 100vw;
    height: 260px;
}

.l-shop-hall-list li {
    text-align: center;
    width: 600px;
}

.l-shop-hall-ph { margin: 0 0 30px; }
.l-shop-hall-ph-mb00 { margin: 0; }

.l-shop-hall-name { margin: 0 0 0.4em; }
.l-shop-hall-name span { font-size: 2.6rem }

.l-shop-hall-num { margin: 0 0 1em; }

.l-shop-hall-txt span { display: block; }


@media screen and (max-width: 990px) {
    .l-shop-hall { margin: 0 0 60px; }

    .l-shop-hall-ttl {
        font-size: 2.4rem;
        margin: 0 0 3rem;
    }

    .l-shop-hall-ttl::before,
    .l-shop-hall-ttl::after,
    .l-shop-hall-ttl span::before,
    .l-shop-hall-ttl span::after { width: calc(50vw - 100px); }

    .l-shop-hall-ttl::before {
        top: calc(50% - 1px);
        left: 30px;
    }

    .l-shop-hall-ttl::after {
        top: calc(50% - 1px);
        right: 30px;
    }

    .l-shop-hall-ttl span::before {
        top: calc(50% + 2px);
        left: 30px;
    }

    .l-shop-hall-ttl span::after {
        top: calc(50% + 2px);
        right: 30px;
    }

    .l-shop-hall-list { display: block; }

    .l-shop-hall-list.l-shop-hall-list--item-center li { margin: 0; }

    .l-shop-hall-list::before { display: none; }

    .l-shop-hall-list li {
        margin: 0 0 55px;
        width: 100%;
    }
    
    .l-shop-hall-list li:last-child { margin: 0; }

    .l-shop-hall-ph {
        position: relative;
        padding: 0 30px;
        margin: 0 0 20px;
    }
    
    .l-shop-hall-ph img { width: 100%; }

    .l-shop-hall-ph::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        z-index: -1;
        transform: translateY(-50%);
        background: url("../img/bg_asanoha_white_16.svg") center center;
        background-size: 30px auto;
        width: 100vw;
        height: 34.666vw;
        display: block;
    }

    .l-shop-hall-name span { font-size: 2.4rem }

    .l-shop-hall-txt {
        text-align: left;
        margin: 0 30px;
    }
    
    .l-shop-hall-txt span { display: inline; }
}


.l-shop-info {
    position: relative;
    color: var(--color-text);
}

.l-shop-info__txt-en {
    position: absolute;
    top: 50%;
    left: 20px;
    z-index: 1;
    transform: translateY(-50%);
    color: var(--color-light-gray);
    font-size: 5rem;
    line-height: 1;
    writing-mode: vertical-lr;
}

.l-shop-info-inner {
    position: relative;
    margin: 0 auto;
    max-width: 1260px;
    padding: 80px;
}

.l-shop-info-inner::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: calc(((100vw - 1260px) / 2) + 100%);
    height: 100%;
    background: var(--color-white);
    display: block;
}

.l-shop-info-column {
    display: flex;
    justify-content: space-between;
}

.l-shop-info-column-inner { width: 530px; }

.l-shop-info-box {
    position: relative;
    margin: 0 0 50px;
}
.l-shop-info-box:last-child { margin: 0; }


.l-shop-info-ttl {
    font-size: 2.2rem;
    padding: 0 0 0.4em;
    margin: 0 0 0.8em;
    border-bottom: 1px solid var(--color-border);
}

.l-shop-kaiseki-tax {
    position: absolute;
    top: 10px;
    right: 0;
    font-size: 1.4rem;
}

.l-shop-kaiseki-price ul {
    display: flex;
    gap: 25px;
}

.l-shop-info-data dl {
    display: flex;
    align-items: baseline;
    margin: 0 0 0.4em;
}
.l-shop-info-data dl:last-child { margin: 0; }

.l-shop-info-data dl dt { width: 80px; }

.l-shop-info-data__tel a {
    font-size: 2.6rem;
    line-height: 1.2;
    text-decoration: none;
}

.l-shop-info-option a {
    position: relative;
    font-size: 2rem;
    text-align: center;
    text-decoration: none;
    padding: 62px 0;
    display: block;
    border: 1px solid var(--color-border);
}

.l-shop-info-option a:hover { background-color: var(--color-white-gray); }

.l-shop-info-option a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    background: url("../img/icon_a_default.svg")  center center no-repeat;
    background-size: 24px;
    width: 24px;
    height: 24px;
    display: block;
}

@media screen and (max-width: 1260px) {
    .l-shop-info__txt-en {
        position: static;
        transform: translateY(0);
        color: var(--color-white);
        text-align: center;
        writing-mode: horizontal-tb;
    }

    .l-shop-info-inner {
        background: var(--color-white);
        margin: -7px 0 0;
    }
    
    .l-shop-info-inner::before { display: none; }
}

@media screen and (max-width: 990px) {
    .l-shop-info__txt-en { font-size: 4rem; }
    
    .l-shop-info-inner {
        padding: 25px 30px;
        margin: -6px 20px 0;
    }

    .l-shop-info-column { display: block; }

    .l-shop-info-column-inner {
        width: 100%;
        margin: 0 0 40px;
    }
    .l-shop-info-column-inner:last-child { margin: 0; }

    .l-shop-info-box {
        position: relative;
        margin: 0 0 40px;
    }

    .l-shop-info-ttl {
        font-size: 2rem;
        text-align: center;
    }

    .l-shop-kaiseki-tax {
        position: static;
        text-align: center;
        margin: 0 0 0.6em;
    }

    .l-shop-kaiseki-price { text-align: center; }

    .l-shop-kaiseki-price ul {
        text-align: left;
        display: inline-block;
    }

    .l-shop-info-data dl {
        display: block;
        margin: 0 0 0.6em;
    }

    .l-shop-info-data dl dt { width: auto; }
    .l-shop-info-data dl dt::before { content: "■";}

    .l-shop-info-data__tel a {
        font-size: 2.4rem;
        text-decoration: underline;
    }

    .l-shop-info-option a {
        font-size: 1.8rem;
        padding: 24px 0;
    }

    .l-shop-info-option a::before { right: 15px; }
}



/* ----------------------------------------------------------------------
	saryou
---------------------------------------------------------------------- */

.l-shop--saryou,
.l-shop--saryou::before { background: var(--color-dark-blue); }


/* ----------------------------------------------------------------------
	tomyoden
---------------------------------------------------------------------- */

.l-shop--tomyoden,
.l-shop--tomyoden::before { background: var(--color-ocher); }


/* ----------------------------------------------------------------------
	hyakunengura
---------------------------------------------------------------------- */

.l-shop--hyakunengura,
.l-shop--hyakunengura::before { background: var(--color-dark-brown); }


/* ----------------------------------------------------------------------
	l-shop-local--nav
---------------------------------------------------------------------- */

.l-shop-local-nav { padding: 60px 0 0; }

.l-shop-local-nav::before { background: var(--color-white); }
.l-shop-local-nav::after {
    background: url("../img/bg_asanoha_white_10.svg") center center var(--color-dark-brown);
    background-size: 60px auto;
}

@media screen and (max-width: 990px) {
    .l-shop-local-nav { padding: 40px 0 0; }
    
    .l-shop-local-nav::after { background-size: 30px auto; }
}


/* ----------------------------------------------------------------------
	l-compare-room
---------------------------------------------------------------------- */

.l-compare-room {
    background: url("../img/bg_paper.webp") center center no-repeat;
    background-size: cover;
    padding: 120px 0;
}

.l-compare-room-inner {
    margin: 0 auto;
    max-width: 1260px;
    display: flex;
    justify-content: space-between;
    
}

.l-compare-room-ttl {
    position: relative;
    display: flex;
    align-items: center;
}

.l-compare-room-ttl h2 {
    font-size: 3.6rem;
    font-weight: normal;
    letter-spacing: .2em;
    writing-mode: vertical-rl;
}

.l-compare-room-ttl::before,
.l-compare-room-ttl::after,
.l-compare-room-ttl__line::before,
.l-compare-room-ttl__line::after{
    content: "";
    position: absolute;
    transform: translateX(-50%);
    width: 1px;
    height: 30%;
    background: var(--color-text);
}

.l-compare-room-ttl::before,
.l-compare-room-ttl__line::before { top: 0; }

.l-compare-room-ttl::after,
.l-compare-room-ttl__line::after{ bottom: 0; }

.l-compare-room-ttl::before,
.l-compare-room-ttl::after { left: calc(50% - 1px); }

.l-compare-room-ttl__line::before,
.l-compare-room-ttl__line::after { left: calc(50% + 2px); }

.l-compare-room-tbl { width: 1120px; }

.l-compare-room-tbl table {
    width: 100%;
    border-top: 1px solid var(--color-dark-brown);
}

.l-compare-room-tbl table tr { border-bottom: 1px solid var(--color-dark-brown); }

.l-compare-room-tbl table th,
.l-compare-room-tbl table td {
    text-align: left;
    padding: 14px 10px 14px 50px;
}

.l-compare-room-tbl .l-compare-room-tbl__ph {
    padding: 0;
    width: 200px;
}

.l-compare-room-tbl__chara { width: 330px; }

@media screen and (max-width: 990px) {
    .l-compare-room { padding: 40px 0 60px; }

    .l-compare-room-inner {
        margin: 0 auto;
        display: block;
    }

    .l-compare-room-ttl { display: block; }

    .l-compare-room-ttl h2 {
        font-size: 2.6rem;
        text-align: center;
        letter-spacing: .2em;
        writing-mode: horizontal-tb;
        margin: 0 0 1em;
    }

    .l-compare-room-ttl::before,
    .l-compare-room-ttl::after,
    .l-compare-room-ttl__line::before,
    .l-compare-room-ttl__line::after{
        transform: translateY(-50%);
        width: calc(50vw - 140px);
        height: 1px;
    }

    .l-compare-room-ttl::before,
    .l-compare-room-ttl__line::before { top: calc(50% + 1px); }

    .l-compare-room-ttl::after,
    .l-compare-room-ttl__line::after{ bottom: calc(50% + 1px); }

    .l-compare-room-ttl::before,
    .l-compare-room-ttl::after { left: 30px; }

    .l-compare-room-ttl__line::before,
    .l-compare-room-ttl__line::after {
        left: inherit;
        right: 30px;
    }

    .l-compare-room-tbl {
        margin-left: 30px;
        width: auto;
        overflow: scroll;
    }

    .l-compare-room-tbl table { width: 980px; }

    .l-compare-room-tbl table th,
    .l-compare-room-tbl table td { padding: 14px 10px 14px 30px; }

    .l-compare-room-tbl .l-compare-room-tbl__ph {
        padding: 0;
        width: 160px;
    }

    .l-compare-room-tbl__chara { width: 280px; }
}


/* ----------------------------------------------------------------------
	l-option
---------------------------------------------------------------------- */

.l-option-wrap { position: relative; }

.l-option {
    position: relative;
    padding: 160px 0 170px;
}

.l-option-wrap::before,
.l-option-wrap::after,
.l-option::before,
.l-option::after {
    content: "";
    position: absolute;
    display: block;
}

.l-option-wrap::before {
    top: 0;
    left: 0;
    z-index: 2;
    background: url("../img/bg_asanoha_white_16.svg") center center var(--color-red);
    background-size: 60px auto;
    width: 65vw;
    height: 120px;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
}

.l-option-wrap::after {
    top: 0;
    right: 0;
    z-index: 1;
    background: url("../img/bg_asanoha_brown.svg") center center var(--color-white);
    background-size: 60px auto;
    width: 70vw;
    height: 160px;
    clip-path: polygon(0 0, 100% 100%, 100% 0);
}

.l-option::before {
    left: 0;
    bottom: 0;
    z-index: -2;
    background: url("../img/bg_asanoha_brown.svg") center center var(--color-white);
    background-size: 60px auto;
    width: 70vw;
    height: 160px;
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
}

.l-option:after {
    right: 0;
    bottom: 0;
    z-index: -1;
    background: url("../img/bg_asanoha_white_16.svg") center center var(--color-red);
    background-size: 60px auto;
    width: 65vw;
    height: 120px;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}


.l-option-inner {
    position: relative;
    margin: 0 auto;
    max-width: 1260px;
}

.l-option-ttl {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: url("../img/option_ttl_bg.gif") center center no-repeat;
    background-size: 160px 456px;
    width: 160px;
    height: 456px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.l-option-ttl__ja {
    font-size: 3.4rem;
    font-weight: normal;
    writing-mode: vertical-rl;
}

.l-option-ttl span { display: block; }

.l-option-column {
    max-width: 1040px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px;
}

.l-modal-box .l-option-column { margin: 0 auto; }

.l-option-column__inner {
    width: 500px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.l-option-icon {
    border: 1px solid var(--color-dark-brown);
    border-radius: 50%;
}

.l-option-box { width: 290px; }

.l-option-s-ttl  {
    color: var(--color-red);
    font-size: 2rem;
    margin: 0 0 0.8em;
}

.l-option-icon-column {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
}

.l-option-icon-column.icon-list li { margin: 0; }

@media screen and (max-width: 990px) {
    .l-option {
        position: relative;
        padding: 75px 0 85px;
    }

    .l-option-wrap::before,
    .l-option-wrap::after,
    .l-option::before,
    .l-option::after {
        content: "";
        position: absolute;
        display: block;
    }

    .l-option-wrap::before {
        background-size: 30px auto;
        height: 38px;
    }

    .l-option-wrap::after {
        background-size: 30px auto;
        height: 45px;
    }

    .l-option::before {
        background-size: 30px auto;
        height: 45px;
    }

    .l-option:after {
        background-size: 30px auto;
        height: 38px;
    }

    .l-option-ttl {
        position: static;
        transform: translateY(0);
        background: url("../img/option_ttl_bg_sp.gif") center center no-repeat;
        background-size: 354px 140px;
        margin: 0 auto 30px;
        width: 354px;
        height: 140px;
    }

    .l-option-ttl__ja {
        font-size: 2.4rem;
        text-align: center;
        writing-mode: horizontal-tb;
    }

    .l-option-column {
        margin: 0 30px;
        display: block;
    }
    
    .l-option-column__inner {
        padding: 0 0 20px;
        margin: 0 0 20px;
        width: 100%;
        display: block;
        border-bottom: 1px solid #ddd;
    }
    
    .l-option-column__inner:last-child { margin: 0; }

    .l-option-icon {
        margin: 0 auto 15px;
        width: 32vw;
        border: 1px solid var(--color-dark-brown);
        border-radius: 50%;
    }
    
    .l-option-icon img { width: 100%; }

    .l-option-box {
        text-align: center;
        width: 100%;
    }

    .l-option-s-ttl  {
        font-size: 1.8rem;
        text-align: center;
        margin: 0 0 0.6em;
    }

    .l-option-icon-column {
        margin: 0;
        display: block;
    }

    .l-option-box .icon-list {
        font-size: 1.5rem;
        text-align: left;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 5px 15px;
    }
    
    .l-option-box .icon-list li::before { top: 4px; }
}

@media screen and (max-width: 375px) {
    .l-option-box .icon-list { font-size: 1.4rem; }
    
    .l-option-box .icon-list li::before { top: 4px; }
}


/* ----------------------------------------------------------------------
	l-view-shop
---------------------------------------------------------------------- */

.l-view-shop {
    position: relative;
    z-index: 1;
    color: var(--color-white);
}

.l-view-shop-ttl {
    position: relative;
    background: var(--color-bg);
    font-size: 3rem;
    font-weight: normal;
    text-align: center;
    padding: 80px 0 25px;
}

.l-view-shop-ttl::before {
    content: "";
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    background: url("../img/icon_view_shop.svg") center center no-repeat;
    background-size: 70px;
    width: 70px;
    height: 70px;
    display: block;
}

.l-view-shop-ttl::after {
    content: "";
    position: absolute;
    top: -48px;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%);
    background: var(--color-bg);
    width: 146px;
    height: 146px;
    border-radius: 50%;
    display: block;
}

.l-view-shop-list { display: flex; }

.l-view-shop-list li { width: calc(100vw / 3); }

.l-view-shop-list li a {
    color: var(--color-white);
    text-align: center;
    text-decoration: none;
    display: block;
}

.l-view-shop-list li a:hover img { opacity: 1; }
.l-view-shop-list li a:hover { opacity: 0.8; }

.l-view-shop-list-ph img { width: 100%; }

.l-view-shop-list-ttl {
    font-size: 1.8rem;
    padding: 20px 0;
}

.l-view-shop-list-ttl span { font-size: 2.4rem; }

.l-view-shop-list--saryou .l-view-shop-list-ttl { background: var(--color-dark-blue); }
.l-view-shop-list--tomyoden .l-view-shop-list-ttl { background: var(--color-ocher); }
.l-view-shop-list--hyakunengura .l-view-shop-list-ttl { background: var(--color-dark-brown); }

@media screen and (max-width: 990px) {
    .l-view-shop-ttl {
        font-size: 2.6rem;
        padding: 70px 0 20px;
    }

    .l-view-shop-ttl::before {
        background-size: 60px;
        width: 60px;
        height: 60px;
    }

    .l-view-shop-ttl::after {
        top: -38px;
        width: 120px;
        height: 120px;
    }

    .l-view-shop-list { display: block; }

    .l-view-shop-list li { width: 100%; }

    .l-view-shop-list-ph { position: relative; }
    
    .l-view-shop-list-ph::before {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -1px;
        transform: translateX(-50%);
        width: 60px;
        height: 13px;
        display: block;
        clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    }
    
    .l-view-shop-list--saryou .l-view-shop-list-ph::before { background: var(--color-dark-blue); }
    .l-view-shop-list--tomyoden .l-view-shop-list-ph::before { background: var(--color-ocher); }
    .l-view-shop-list--hyakunengura .l-view-shop-list-ph::before { background: var(--color-dark-brown); }
    
    
    .l-view-shop-list-ph img { width: 100%; }

    .l-view-shop-list-ttl { font-size: 1.6rem; }

    .l-view-shop-list-ttl span { font-size:     2rem; }
}


/* ----------------------------------------------------------------------
	l-wedding
---------------------------------------------------------------------- */

.l-wedding {
    background: url("../img/bg_asanoha_brown.svg") center center var(--color-white);
    background-size: 60px auto;
    padding: 120px 0;
}

.l-wedding-inner {
    margin: 0 auto;
    max-width: 980px;
}

.l-wedding-ttl {
    position: relative;
    background: var(--color-white);
    font-size: 2.4rem;
    font-weight: normal;
    text-align: center;
    padding: 20px 0;
    margin: 0 0 35px;
    border: 2px solid var(--color-dark-brown);
}

.l-wedding-ttl::before,
.l-wedding-ttl::after,
.l-wedding-ttl__line::before,
.l-wedding-ttl__line::after {
    position: absolute;
    content: "";
    position: absolute;
    width: 30px;
    height: 20px;
    display: block;
}

.l-wedding-ttl::before {
    top: -22px;
    left: -32px;
    border-right: 2px solid var(--color-dark-brown);
    border-bottom: 2px solid var(--color-dark-brown);
}

.l-wedding-ttl::after {
    top: -22px;
    right: -32px;
    border-left: 2px solid var(--color-dark-brown);
    border-bottom: 2px solid var(--color-dark-brown);
}

.l-wedding-ttl__line::before {
    left: -32px;
    bottom: -22px;
    border-top: 2px solid var(--color-dark-brown);
    border-right: 2px solid var(--color-dark-brown);
}

.l-wedding-ttl__line::after {
    right: -32px;
    bottom: -22px;
    border-top: 2px solid var(--color-dark-brown);
    border-left: 2px solid var(--color-dark-brown);
}

.l-wedding-ttl .br { display: block; }

.l-wedding-lead {
    font-size: 1.8rem;
    line-height: 1.8em;
    text-align: center;
    margin: 0 0 3em;
}

.l-wedding-lead span { display: block; }

.l-wedding-list {
    display: flex;
    justify-content: space-between;
}

.l-wedding-list li { width: 460px; }

.l-wedding-list li a {
    text-align: center;
    text-decoration: none;
    display: block;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
}

.l-wedding-list li a:hover img { opacity: 1; }
.l-wedding-list li a:hover { opacity: 0.8; }

.l-wedding-list li img { width: 100%; }

.l-wedding-list-ttl { padding: 20px 0 25px; }

.l-wedding-list-ttl__ja { font-size: 2.4rem; }

.l-wedding-list-ttl--hyakunengura { background: var(--color-white); }

.l-wedding-list-ttl--tomyoden {
    background: #ee9985;
    color: var(--color-white);
}

@media screen and (max-width: 990px) {
    .l-wedding {
        background-size: 30px auto;
        padding: 60px 0;
    }

    .l-wedding-inner { margin: 0 30px; }

    .l-wedding-ttl {
        font-size: 1.8rem;
        padding: 20px 0;
    }

    .l-wedding-ttl::before,
    .l-wedding-ttl::after,
    .l-wedding-ttl__line::before,
    .l-wedding-ttl__line::after {
        width: 16px;
        height: 10px;
    }

    .l-wedding-ttl::before {
        top: -12px;
        left: -18px;
    }

    .l-wedding-ttl::after {
        top: -12px;
        right: -18px;
    }

    .l-wedding-ttl__line::before {
        left: -18px;
        bottom: -12px;
    }

    .l-wedding-ttl__line::after {
        right: -18px;
        bottom: -12px;
    }

    .l-wedding-lead {
        font-size: 1.6rem;
        text-align: left;
        margin: 0 0 2em;
    }

    .l-wedding-lead span { display: inline; }

    .l-wedding-list { display: block; }

    .l-wedding-list li {
        margin: 0 0 30px;
        width: 100%;
    }
    
    .l-wedding-list li:last-child { margin: 0; }

    .l-wedding-list li a {
        text-align: center;
        text-decoration: none;
        display: block;
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    }

    .l-wedding-list li img { width: 100%; }

    .l-wedding-list-ttl__ja { font-size: 1.8rem; }

    .l-wedding-list-ttl__en { font-size: 1.2rem; }
    
    .l-wedding-list-ttl { padding: 15px 0 20px; }
 }
 

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

.l-footer {
    background: var(--color-bg);
    color: var(--color-white);
    padding: 50px 0;
}

.l-footer-inner {
    margin: 0 auto;
    max-width: 1260px;
}

.l-footer-column {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.l-footer-copy { font-size: 1.4rem; }

@media screen and (max-width: 990px) {
    .l-footer {
        text-align: center;
        padding: 30px 30px 16px;
    }

    .l-footer-column { display: block; }

    .l-footer-compay-link { margin: 0 0 1em; }

    .l-footer-copy { font-size: 1.2rem; }
}


/* pagetop */
.pagetop {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 100;
	display: none;
}



@media screen and (max-width: 990px) {
	.pagetop {
		right: 20px;
		bottom: 20px;
	}
    
    .pagetop img {
		width: 44px;
		height: 44px;
	}
}


/* ----------------------------------------------------------------------
	btn
---------------------------------------------------------------------- */

/* btn-default */
.btn-default a {
    background: url("../img/icon_a_default.png") right 20px center no-repeat #a67c49;
    background-size: 6px 12px;
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
    text-decoration: none;
    letter-spacing: .1em;
    padding: 14px 0 12px;
    width: 340px;
    border-radius: 1000px;
    display: inline-block;
}

.btn-default a:hover { opacity: 0.8; }

@media screen and (max-width: 990px) {
    .btn-default a {
        width: auto;
        display: block;
    }
}


/* link-blank */
.link-blank {
    position: relative;
    padding-right: 18px;
}

.link-blank::before {
    content: "";
    position: absolute;
    top: 60%;
    right: 0;
    transform: translateY(-50%);
	background: url("../img/icon_blank.svg") right center no-repeat;
	background-size: 14px 12px;
	width: 14px;
    height: 12px;
    display: block;
}

.link-blank.link-blank--white { color: var(--color-white); }
.link-blank.link-blank--white::before { background-image: url("../img/icon_blank_white.svg"); }


.bn-blank { position: relative; }

.bn-blank::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
	background: url("../img/icon_blank.svg") right center no-repeat;
	background-size: 14px 12px;
	width: 14px;
    height: 12px;
    display: block;
}

.bn-blank.bn-blank--white { color: var(--color-white); }
.bn-blank.bn-blank--white::before { background-image: url("../img/icon_blank_white.svg"); }

@media screen and (max-width: 990px) {
    .bn-blank::before { right: 15px; }
}


/* ----------------------------------------------------------------------
	target-block
---------------------------------------------------------------------- */

.target-block {
    margin: -120px 0 0;
    padding: 120px 0 0;
}

@media screen and (max-width: 990px) {
    .target-block {
        margin: -60px 0 0;
        padding: 60px 0 0;
    }
}


/* ----------------------------------------------------------------------
	icon
---------------------------------------------------------------------- */

.icon-list li {
    position: relative;
    background: url("../img/icon_list.gif") left 5px no-repeat;
    background-size: 16px;
    padding-left: 20px;
    margin: 0 0 0.4em;
}

.icon-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    background: var(--color-red);
    width: 14px;
    height: 14px;
    border-radius: 50%;
}

.list-icon li:last-child { margin: 0; }

@media screen and (max-width: 990px) {
}


/* icon-plus */
.icon-plus {
    position: relative;
    width: 16px;
    height: 16px;
    display: block;
}

.icon-plus:before,
.icon-plus:after {
    content: "";
    position: absolute;
    top: 7px;
    left: 0;
    background: #444;
    width: 16px;
    height: 2px;
    display: block;
    transition: 0.25s;
}

.icon-plus--ocher:before,
.icon-plus--ocher:after { background: #a67c49; }

.icon-plus:before { transform: rotate(90deg); }

.on .icon-plus:before { transform: rotate(0); }

@media screen and (max-width: 990px) {
}


/* ----------------------------------------------------------------------
	table
---------------------------------------------------------------------- */

.tbl {
	width: 100%;
	border-top: 1px solid var(--color-border);
}

.tbl th,
.tbl td {
	text-align: left;
	padding: 18px 15px;
}

.tbl tr { border-bottom: 1px solid var(--color-border); }

.tbl th { width: 24%; }

@media screen and (max-width: 990px) {
	.tbl { display: block; }
	
	.tbl tbody,
	.tbl tr {
		width: 100%;
		display: block;
	}
	
	.tbl th,
	.tbl td {
        padding: 20px 0;
        display: block;
    }

	.tbl th {
        padding-bottom: 0.4em;
		width: 100%!important;
		box-sizing: border-box;
	}
    
    .tbl td { padding-top: 0; }
    
    .tbl td span { display: block; }
}


/* ----------------------------------------------------------------------
	loacl-nav
---------------------------------------------------------------------- */

.local-nav {
   display: flex;
   justify-content: center;
   gap: 30px 100px;
   padding: 20px 0;
   margin: 0 auto 120px;
   max-width: 1260px;
   border-top: 1px solid var(--color-border);
   border-bottom: 1px solid var(--color-border);
}

.local-nav li a {
    position: relative;
    font-size: 1.8rem;
    text-decoration: none;
    padding-left: 30px;
}

.local-nav li a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(-90deg);
    background: url("../img/icon_a_default.svg") center center no-repeat;
    background-size: 24px;
    width: 24px;
    height: 24px;
    display: block;
}

@media screen and (max-width: 990px) {
    .local-nav {
       display: block;
       padding:  0;
       margin: 0 30px 40px;
       border-bottom: none;
    }
    
    .local-nav li { border-bottom: 1px solid var(--color-border); }
    
    .local-nav li a {
        padding: 16px 30px 16px 0;
        display: block;
    }

    .local-nav li a::before {
        left: inherit;
        right: 0;
    }
}


/* ----------------------------------------------------------------------
	modal
---------------------------------------------------------------------- */

.l-modal-box {
    position: relative;
    text-align: left;
}

.l-modal-box__ttl {
    font-size: 2.4rem;
    text-align: center;
    margin: 0 0 1.6em;
}

.l-modal-box__close {
	position: absolute;
	top: 20px;
	right: 0;
    width: 40px;
    height: 40px;
    display: block;
    transition: 0.7s;
    cursor: pointer;
}

.l-modal-box__close:hover { opacity: 0.6; }

.l-modal-box__close:before,
.l-modal-box__close:after {
	content: "";
	position: absolute;
	top: 50%; 
	right: 0;
    background: var(--color-dark-gray);
	width: 40px;
	height: 2px;
    display: block;
    transform: rotate(-45deg);
}

.l-modal-box__close:before { transform: rotate(45deg); }

.l-modal-bg {
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.8);
	width: 100%;
	height: 100%;
	display: block;
}

@media screen and (max-width: 990px) {
    .l-modal-box__ttl {
        font-size: 2rem;
        margin: 0 0 1em;
    }

    .l-modal-box__close {
        top: 0;
        right: 0;
    }
}


/* ----------------------------------------------------------------------
	columns
---------------------------------------------------------------------- */

/* l-column */
.l-column2,
.l-column3 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 60px 0;
}

.l-column2__inner { width: 520px; }

.l-column3__inner { width: 340px; }

@media screen and (max-width: 990px) {
    .l-column2--sp-gap20 { gap: 20px 0; }
    
    .l-column2__inner,
    .l-column3__inner { width: 100%; }
}



