@charset "utf-8";


/*共通フォント*/

.zen-antique-soft-regular {
    font-family: "Zen Antique Soft", serif;
    font-weight: 400;
    font-style: normal;
}
.zen-kaku-gothic-new-regular {
    font-family: "Zen Kaku Gothic New", serif;
    font-weight: 400;
    font-style: normal;
}
p, a, ul, ol, dl, li, dt, dd, small {
    font-size:max(1.3vw, 1.6rem);
    color:#1e325a;
}
small {
    font-size:1.4rem;
}
h1, h2, h3, h4, h5, h6 {
    font-weight:normal;
    color:#1e325a;
}
h1 {
    font-size:2.6vw;
}
h2 {
    font-size:max(1.9vw, 2rem);
    letter-spacing:.3rem;
    margin-bottom:50px;
}
h3 {
    font-size:max(1.6vw, 1.8rem);
}
.rubi {
    line-height:3;
}
.sptext {
    display:none;
}


/*共通IMG設定*/
img {
    width:100%;
    max-width:100%;
    height:auto;
}
.video-wrap h1 img {
    width:auto;
    height:auto;
}
#gaiyo h1 img {
    width:auto;
    height:auto;
}

/*全体レイアウト*/
html {
    scroll-behavior: smooth;
}
body {
    background-color: #fffafa;
    background-image: url(../images/bg@2x.png);
    background-size:2524px 3390px;
    background-repeat: repeat;
}
#container {
    width:100%;
    min-height:100dvh;
    display:flex;
    flex-direction:column;
    margin:0 auto;
}
section {
    margin-top:80px;
}

/*一部レイアウト(コンテナー)固定用設定*/
.fixContainer {
    max-width:1125px;
    margin:0 auto;
}


/*メインコンテンツ設定*/
main  {
    width:100%;
}




/*ローディング*/
.loader {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100svh;
    background-image:url(../images/faq_bg.png);
    background-size:cover;
    background-position: center -300px;
    background-color: #a5cdff;
    background-repeat: no-repeat;
    z-index: 999999;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
  }
 
  .loader .txt {
    font-size:max(1.8vw, 1.6rem);
    display: none;
    text-align: center;
    text-shadow:0 0 10px #1e325a;
    letter-spacing: 0.2em;
    line-height: 2;
    color:#fff;
    position:absolute;
    top:35%;
    left:50%;
    transform: translate(-50%, -50%);
  }
  .loading__logo {
    position:absolute;
    display: none;
    width:35%;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
  }





/*visual ビデオ*/
.video-container {
    margin: 0 auto;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}
.video-wrap {
    overflow: hidden;
    width: 100%;
    height: 100dvh;
    position: relative;
    display:flex;
    justify-content:left;
}
.video-wrap h1 {
    margin:40px 0 0 3vw;
    display: block;
    width:20%;
    max-width:400px;
    min-width:178px;
}

/*画面サイズが変わっても常に動画の中央が表示されるようにする*/
  /*動画よりも画面が横に長くなるとき用*/
  @media (aspect-ratio: 16/9), (min-aspect-ratio: 16/9) {
    video {
      width: 100%;
      top: 50%;
      transform: translateY(-50%);
    }
  }

  /*動画よりも画面が縦に長くなるとき用*/
  @media (max-aspect-ratio: 16/9) {
    video {
      height: 100%;
      left: 50%;
      transform: translateX(-50%);
    }
  }

#video {
    /*天地中央配置*/
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}



/*ニュース*/
#news {
    width:420px;
    height:104px;
    position: absolute;
    left:3vw;
    bottom:40px;
}
.ticker {
	margin: 0 auto;
	width: 100%;
	text-align: left;
	position: relative;
	overflow: hidden;
    background-color: #fff;
    border-radius: 5px 20px;
    z-index:-1;
}
.ticker ul {
	width: 100%;
	position: relative;
}
.ticker ul li {
	width: 100%;
	display: none;
}
.ticker ul li a {
    display: flex;
}
.ticker ul li a:hover {
    opacity: .7;
}
.ticker ul li a p {
    margin:10px 0 0 5px;
    line-height: 2.5rem;
    font-size: 1.6rem;
}
.ticker ul li img{
	width: 135px;
	height:auto;
    margin-top:-15px;
}




/*ハンバーガーメニュー*/
.cp_fullscreenmenu {
    display:none;
}






/*コンセプト*/
.bg_seethrough {
    background:url(../images/conceptBg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
#concept {
    width:100vw;
    height:120vh;
}
@media screen and (max-width:1366px) {
    #concept {
        height:100vh;
    }
}
#conceptTxt {
    width:100%;
    height:100%;
    margin-top:0;
    background-image:url(../images/concept@2x.png);
    background-position: center;
    background-size:cover;
    background-repeat: no-repeat;
    display:flex;
    padding:6.2vh 0 0;
    align-items: flex-start;
    flex-direction: column;
}
#conceptTxt p, #conceptTxt h2, #conceptTxt h3 {
    color:#fff;
    margin:0 0 0 135px;
    text-align: center;
}
#conceptTxt h2 {
    margin-left:20vw;
}
#conceptTxt h3 {
    margin-left:19.8vw;
    margin-bottom:3vh;
}
#conceptTxt p {
    margin-left:11.2vw;
    line-height:3;
}
#conceptTxt .rubi {
    margin-left:24.4vw;
    margin-bottom:0;
}
#conceptTxt span {
    width:40vw;
    height:0;
    border:.2vh solid #e6d278;
    border-radius: 3px;
    display:block;
    margin:2vh 0 2vh 8vw ;
}
#conceptTxt .btn {
    margin-left:21vw;
}


/*コンセプトナビ*/
#conceptTxt nav {
    width:48vw;
    margin-top:9vh;
}
#conceptTxt nav ul {
    width:100%;
    display:flex;
    padding:12vh 0 0;
}
#conceptTxt nav ul li {
    width:100%;
    height:118px;
}
#conceptTxt nav ul li:first-child {
    margin-top:5vh;
}
#conceptTxt nav ul li:nth-child(2) {
    width:45vw;
    margin-top:.2vh;
}
#conceptTxt nav ul li:nth-child(3) {
    width:20vw;
    margin-top:-3.3vh;
}
#conceptTxt nav ul li:last-child {
    width:40vw;
    margin-top:-6.5vh;
}
#conceptTxt nav ul li a {
    display:block;
    width:100%;
    height:100%;
    font-size:1.9vw;
    letter-spacing:.2rem;
    text-align: right;
    text-shadow: 0 0 4px #fff;
    transform:rotate(-10deg);
}
#conceptTxt nav ul li a:hover {
    color:#e6d278;
    text-shadow: 0 0 4px #1e325a;
}
#conceptTxt nav ul li:last-child a {
    transform:rotate(-12deg);
}
@media screen and (max-width:1366px) {

    #conceptTxt .btn {
        margin-top:10vh;
    }

    #conceptTxt nav {
        margin-top:0;
    }
    #conceptTxt nav ul {
        margin-left:2vw;
    }
    #conceptTxt nav ul li:nth-child(2) {
        width:45vw;
        margin-top:1vh;
    }
    #conceptTxt nav ul li:nth-child(3) {
        width:20vw;
        margin-top:-1.5vh;
    }
    #conceptTxt nav ul li:last-child {
        width:40vw;
        margin-top:-4.5vh;
    }
    #conceptTxt nav ul li:last-child a {
        transform:rotate(-14deg);
    }
}
@media screen and (min-width:1700px) {
    #conceptTxt h3 {
        margin-bottom:8vh;
    }
    #conceptTxt .btn {
        margin-top:10vh;
    }
    #conceptTxt nav {
        margin-top:8vh;
    }
    #conceptTxt nav ul li:nth-child(2) {
        margin-top:1vh;
    }
    #conceptTxt nav ul li:nth-child(3) {
        margin-top:-1.7vh;
    }
    #conceptTxt nav ul li:last-child {
        margin-top:-4.5vh;
    }
    #conceptTxt nav ul {
        width:100%;
        display:flex;
        padding:4vh 0 0;
    }
    
}








/*メニュー*/

#menu {
    text-align: center;
    margin-top:-60px;
}






/*スライドエリア設定*/

#slide_hako {
    width:85vw;
    margin:0 auto;
}
#Slide01 {
    margin:0 auto calc(75vw / 14.6);
    padding:0 5vw;
}
.SlideArea {
    width:100%;
    max-width:1400px;
    margin:0 auto;
}

/*スライドボタン追加設定*/
.splide__arrow {
    background: #fff;
    width:80px;
    height: 80px;
    opacity: .7;
    position: absolute;
    top: 42%;
    box-shadow: 0 0 3px #c3beb4;
}
.splide__arrow--next {
    margin-right:-90px;
}
.splide__arrow--prev {
    margin-left:-90px;
}
.splide__arrow svg {
    width:32px;
    height:64px;
}

/*splid内img周りの設定*/
.haikei {
    width:284px;
    height:284px;
    background-color: #fff;
    border:2px solid #8cbefa;
    border-radius:15px;
    margin:0 auto;
    box-shadow: 4px 5px 0 #c3beb4;
}
.cake {
    width:254px;
    max-width:100%;
    height:254px;
    margin:15px auto 0;
    border-radius:10px 50px;
    overflow: hidden;
}
.splide__slide .haikei .cake img {
    transition:.5s all;
}
.splide__slide .haikei .cake img:hover {
    transform:scale(1.1,1.1);
    transition:.5s all;
    opacity: .7;
}

 /*スライダー下テキスト設定*/
.splide__slide ul {
    max-width: 100%;
}
.splide__slide ul li {
    font-size:1.6rem;
    margin-left:3.5vw;
    text-align: left;
}
.splide__slide ul li:first-child {
    font-size:1.8rem;
    font-weight:bold;
    margin-top:17px;
}
.splide__slide ul li:nth-child(2) {
    margin-top:3px;
}
.splide__slide ul li:nth-child(3) {
    width:80%;
    border:1px solid #1e325a;
    margin:10px 0 0 2.5vw;
}

@media screen and (min-width:1700px) and (max-width:1980px) {
    .splide__slide ul li:nth-child(3) {
        width:70%;
        margin:10px 0 0 3.2vw;
    }
}

.splide__slide ul li:last-child {
    font-size:1.6rem;
    margin:5px 0 0 3.5vw;
}
span.jp-yen {
    font-size:1.6rem;
}





/*ショップインフォ*/

#shop_info {
    text-align: center;
}
#shop_flex {
    width:100%;
    height:586px;
    display:flex;
    justify-content: center;
    gap:2%;
}

/*概要テキスト*/
#gaiyo {
    width:39%;
    background-color:#fff;
    border-radius:15px;
    box-shadow:4px 4px 0 #6478c8;
}
#gaiyo h1 img {
    width:267px;
    height:100%;
    margin:15px 0 10px;
}

/*テーブルデザイン*/
table {
    border-collapse:collapse;
    width:100%;
}
table th, table td {
    padding:7.5px 0;
    font-size:1.6rem;
}
table th {
    width:120px;
    text-align:left;
    padding-left:28px;
 }
 table td {
    width:400px;
    text-align:left;
    padding-left:30px;
 }
 table tr:last-child td {
    line-height:1.3;
 }
 table #texttop {
    vertical-align: top;
 }
 table #money {
    width:57px;
    height:29px;
    margin-top:8px;
 }
 table .card {
    width:143px;
    height:22px;
    margin-top:8px;
 }
 table .ic {
    width:149px;
    height:35px;
    margin-top:8px;
 }
 table .none {
    opacity:0;
 }

 /*概要の中のボタン*/
#gaiyo .btn {
    min-width:150px;
    height:24px;
    margin:0;
  }
  #gaiyo .btn a {
    outline: 2px solid #283cb4;
    padding:0;

  }
  #gaiyo .btn a:hover {
    background-color: #6eb4f0;
    outline:0;
  }
  #gaiyo .btn a::after {
    opacity:0;
  }
  #gaiyo .btn img {
    width: 100px;
    height: auto;
    margin-top:0;
  }
  #gaiyo #mapbtn a {
    outline: 2px solid #e6aa1e;
  }
  #gaiyo #mapbtn a:hover {
    background-color: #e6aa1e;
  }





/*店舗イメージ*/
#tenpo {
    width:59%;
    background-color:#fff;
    border-radius:15px;
    box-shadow:4px 4px 0 #6478c8;
}
#tenpo_hako {
    width:606px;
    height:540px;
    border-radius:10px 50px;
    overflow: hidden;
    margin:23px auto;
}

/*店舗イメージslickスライド*/
.slick-slider{
    margin: 0;
    padding: 0;
}
.slick-slider img {
    width: 100%;
    height: 100%;
    margin-top:-30px;
}

/* dotsを丸くカスタマイズするCSS */
.slick-dots {
    display: flex;
    justify-content: center;
    gap:30px;
    bottom:80px;
}
.slick-dots li {
    width: 12px;
    height: 12px;
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 0 4px #1e325a;
}
.slick-dots li:hover,
.slick-dots li.slick-active {
    background:#e6d278;
}
.slick-dots li button {
    display: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
}


/*マップ*/
#map {
    width:100%;
    margin:50px auto 0;
    border-radius:15px;
    box-shadow:4px 4px 0 #6478c8;
}




/*FAQ*/

#faq {
    width:100%;
    height:150vh;
    margin-top:-20vh;
    padding-top:35vh;
    background-image:url(../images/faq_bg.png);
    background-size: cover;
    background-position:bottom;
    background-repeat: no-repeat;
}
#faq h2, #faq p {
    text-shadow:0 0 8px #fff;
    text-align:center;
}
#faq h2 {
    margin-bottom:80px;
}
@media screen and (min-width:1700px) and (max-width:1980px) {
    #faq {
        height:116vh;
        margin-top:-20vh;
        padding-top:30vh;
        background-position:bottom;
    }
}




/*アコーディオン*/

/* 必須 */
.accordion {
    margin:0 auto;
	max-width: 700px;
    height:auto;
}
.accordion-content {
    display: none;
  }

  .accordion span {
    font-size:1.6rem;
    color:#0a6e6e;
    line-height: 2.6rem;
  }
  
  .accordion-header {
    background-color: #fff;
    padding: 35px 45px 35px 40px;
    margin: 40px 0 0;
    transition: .3s ease;
    position: relative;
    border-radius: 5px;
    height:100px;
  }
  
  .accordion-header::before,
  .accordion-header::after{
    position:absolute;
    content:'';
    top:1px;
    right:40px;
    bottom:0;
    width:30px;
    height:4px;
    margin:auto;
    background:#0a6e6e;
  }
  .accordion-header::after{
    transform:rotate(-90deg);
    transition:transform 0.3s;
  }
  .accordion-header.active::after{transform:rotate(0deg);}
  
  .accordion-content {
    background-color: #fff;
    padding: 12px 40px 10px;
    height:100px;
    border-radius:0 0 5px 5px;
    margin-top: -5px;
  }
  
  .accordion-header span,
  .accordion-content span{
    padding-left: 35px;
    position: relative;
  }
  
  .accordion-header span::before{
    position: absolute;
    content:"Q";
    top: -2px;
    left: 0;
    color: #0a6e6e;
    font-size: 2rem;
  }
  
  .accordion-content .faq_a::before{
    position: absolute;
    content:"A";
    top: 0;
    left: 0;
    color: #0a6e6e;
    font-size: 2rem;
  }
  






/*インスタ*/

#insta {
    width:100%;
    height:100%;
    text-align: center;
    margin-top:5vh;
}
#instaBox {
    width:662px;
    margin:0 auto;
    display:flex;
    flex-wrap: wrap;
    gap:30px 20px;
}
#instaBox .zoom {
    width:200px;
    height:200px;
    border-radius:10px;
    box-shadow:0 0 4px #1e325a;
    overflow: hidden;
    object-fit: cover;
}
#instaBox .zoom a img {
    width:auto;
    height:100%;
    object-fit: cover;
    transition:.5s all;
}
#instaBox img:hover {
    transform:scale(1.1,1.1);
    transition:.5s all;
    opacity: .7;
}

/*インスタフォローボタン*/
#insta_btn {
    margin:60px auto 0;
}
#insta_btn a {
    outline: 2px solid #4f99d5;
}
#insta_btn a img {
    width:130px;
}
#insta_btn a::after {
	border-color: transparent transparent #4f99d5 transparent;
}
#insta_btn a:hover::after {
	border-color: transparent transparent #fff transparent;
}
#insta_btn a:hover {
    background-color: #4f99d5;
}

/*インスタ背景*/
#instaBg {
    width:100%;
    height:140vh;
    margin-top:-120vh;
    background-image: url(../images/insta_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
    position:sticky;
    z-index: -9999;
}





/*LINE*/
#line {
    width:100%;
    text-align: center;
}

#line a:hover {
    opacity: .7;
}
#line a img {
    width:639px;
    height:100%;
    margin:20px 0;
}
#line p {
    margin-bottom:145px;
}
#line_btn {
    display: none;
}



/*フッター*/
footer {
    width:100%;
    height:40vh;
    background-image: url(../images/footer_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position:right bottom;
    padding:5vh 0 0 90px;
}
footer h1 img {
    max-width:22vw;
    min-width:216px;
    height:100%;
    margin:0 0 34px -10px;
}
footer h1 img:hover {
    opacity: .7;
}

#footer_flex {
    display: flex;
    gap:20px;
}
#footer_flex p {
    font-size:max(1.12vw, 1.4rem);
    line-height:3vh;
    color:#fff;
    margin-top:.5vh;
}
footer p small, footer p small a {
    color:#fff;
    letter-spacing:.15rem;
}
footer p small a {
    font-size:max(1.12vw, 1.4rem);
}

#footer_btn {
    min-width:183px;
    margin:0 0 40px 0;
}
#footer_btn img {
    width:130px;
}





/*基本moreボタン*/
.btn {
    max-width:12vw;
    min-width:200px;
    height:60px;
    position:relative;
    margin-top:1.5vh;
}
.btn a {
    display: flex;
	justify-content: center;
	align-items: center;
    width:100%;
    height:100%;
	outline: 2px solid #fff;
    border-radius: 5px;
    margin:0 auto;
    padding:15px;
    transition: 0.3s;
}
.btn a img {
    display:block;
    width:80px;
    height:auto;
    margin-top:-3px;
}

.btn a::after {
	content: '';
	position: absolute;
	bottom: 15px;
	right: 15px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 12px 12px;
	border-color: transparent transparent #e6d278 transparent;
    transition: 0.3s;
}
.btn a:hover::after {
    position: absolute;
    bottom: 10px;
	right: 10px;
}

.btn a:hover {
	background-color: #B99b00;
	outline: 1.2px solid #fff;
}

.btn a:hover::after {
	border-color: transparent transparent #f2f2f2 transparent;
}




/*コンタクトボタン*/
#contactBtn {
    width: 8vw;
    height: 8vh;
    position: fixed;
    right: 8.5vw;
    transition: .3s;
    z-index:9999;
}
#contactBtn a {
    width:100%;
    height:100%;
    display:block;
}
#contactBtn a img {
    position:absolute;
    top: 2.1vh;
    right:0;
}
.circleText {
    overflow: visible;
    animation: rotation 18s linear infinite;
}
.circleText__circle {
    fill: none;
}
.circleText__text {
    fill: #1e325a;
    font-size: 1.6rem;
    font-weight:600;
    letter-spacing: 0.05em;
    text-shadow:0px 0px 5px #fff;
}
#contactBtn a:hover .circleText__text {
    fill: #fff;
    text-shadow:0px 0px 5px #1e325a;
}
#contactBtn a:hover img {
    opacity:.7;
}
@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.5s;
}
.fadein-bottom {
    transform: translate(0,40px);
}
.scrollin {
    opacity: 1;
    transform: translate(0, 0);
 }




/*追従ナビ*/
 #global-nav {
    width:100%;
    height:60px;
	background:rgba(255,255,255,.8);
	border-top:1px solid #1e325a;
    position:sticky;
	bottom:0;
	transition:all 0.3s ease 0s;
}

#global-nav.m_fixed {
	left: 0;
	position: fixed;
	bottom: 0;
}

#global-nav .nav-inner {
	margin: 0 auto;
    max-width: 100%;
    padding:6px 0 0;
     width: 866px;
}

.global-list {
	display: flex;
    justify-content: center;
    align-items: center;
    gap:40px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.global-item:last-child {
	margin-right: 0;
}

.global-item a {
	color: #1e325a;
	display: block;
	text-align: center;
	text-decoration: none;
    letter-spacing: .15rem;
    font-size:2.4rem;
}
.global-item a:hover {
    color: #e6d278;
}
.global-item a img {
    width:28px;
    height:auto;
}
.global-list li:last-child a img {
    width:35px;
    height:auto;
}
.global-item a img:hover {
    opacity: .7;
}








/* スマホバージョン */
@media screen and (min-width:0) and (max-width: 767px) {

    /*全体レイアウト(コンテナー)固定用設定*/
    .fixContainer {
        max-width:95vw;
    }


    /*ローディング*/
    .loader {
        background-position: center bottom;
      }
    .loading__text {
        font-size:max(1vw, 1.6rem);
      }
      .loading__logo {
        max-width:50%;
        min-width:280px;
      }





    /*ハンバーガーメニュー*/
     .cp_fullscreenmenu {
        width:0;
        height:0;
        display: block;
        position: fixed;
        z-index: 1;
        top: 0;
        right: 0;
        color:#fff;
    }
    /*menuコンテンツ*/
    .cp_fullscreenmenu .menu {
        position: fixed;
        top: 0;
        right: 0;
        display: flex;
        visibility: hidden;
        overflow: hidden;
        width: 100%;
        height: 100%;
        pointer-events: none;
        outline: 1px solid transparent;
        backface-visibility: hidden;
        align-items: center;
        justify-content: center;
    }
    .cp_fullscreenmenu .menu > div {
        display: flex;
        overflow: hidden;
        width: 100vw;
        height: 100vh;
        transition: all 0.4s ease;
        text-align: center;
        color: #fff;
        background-color:rgba(120, 170, 250, 0.8);
        flex: none;
        backface-visibility: hidden;
        align-items: center;
        justify-content: center;
    }
    .cp_fullscreenmenu .menu > div > ul {
        display: block;
        max-height: 100vh;
        margin: 0;
        padding: 0 1em;
        list-style: none;
        transition: opacity 0.4s ease;
        opacity: 0;
    }
    .cp_fullscreenmenu .menu > div > ul > li {
        font-size: 24px;
        display: block;
        margin-bottom: 60px;
        padding: 0 0 5px 0;
        width:250px;
        border-bottom:1px solid #fff;
    }
    .cp_fullscreenmenu .menu > div > ul > li > a {
        position: relative;
        display: inline;
        transition: color 0.4s ease;
        color:#fff;
        font-size:2rem;
        letter-spacing: .2rem;
        scroll-behavior: smooth;
    }
    .cp_fullscreenmenu .menu > div > ul > li > a:after {
        position: absolute;
        z-index: 1;
        bottom: -0.15em;
        right: 0;
        width: 0;
        height: 2px;
        content: '';
        transition: width 0.4s ease;
        background: #e5e5e5;
    }
    /*クリックしたらメニューが開閉の動作*/
    .cp_fullscreenmenu .nav_toggle {
        position: absolute;
        z-index: 999;
        top: 36px;
        right: 10px;
        width: 60px;
        height: 60px;
        opacity: 0;
    }
    .cp_fullscreenmenu .nav_toggle:checked + .hamburger > span {
        transform: rotate(135deg);
    }
    .cp_fullscreenmenu .nav_toggle:checked + .hamburger > span:before,
    .cp_fullscreenmenu .nav_toggle:checked + .hamburger > span:after {
        top: 0;
        transform: rotate(90deg);
    }
    .cp_fullscreenmenu .nav_toggle:checked + .hamburger > span:after {
        opacity: 0;
    }
    .cp_fullscreenmenu .nav_toggle:checked ~ .menu {
        visibility: visible;
        pointer-events: visiblePainted;
    }
    .cp_fullscreenmenu .nav_toggle:checked ~ .menu > div {
        transition-duration: 0.75s;
        opacity: 1;
    }
    .cp_fullscreenmenu .nav_toggle:checked ~ .menu > div > ul {
        opacity: 1;
    }


    /*ハンバーガーボタン部分*/
    .cp_fullscreenmenu .hamburger {
        position: absolute;
        z-index: 1;
        top: 36px;
        right: 10px;
        display: block;
        width: 60px;
        height: 53px;
        padding: 0.5em 1em;
        cursor: pointer;
        transition: box-shadow 0.4s ease;
        border-radius: 0 0.12em 0.12em 0;
        background-image:url(../images/ham_bg.svg);
        background-repeat: no-repeat;
        backface-visibility: hidden;
    }
    .cp_fullscreenmenu .hamburger > span {
        position: relative;
        top: 50%;
        display: block;
        width: 30px;
        height: 3px;
        transition: all 0.4s ease;
        background: #8cbefa;
        border-radius: 5px;
        margin:0 auto;
    }
    .cp_fullscreenmenu .hamburger > span:before,
    .cp_fullscreenmenu .hamburger > span:after {
        position: absolute;
        z-index: 1;
        top: -10px;
        left: 0;
        display: block;
        width: 30px;
        height: 3px;
        content: '';
        transition: all 0.4s ease;
        background: inherit;
        border-radius: 5px;
    }
    .cp_fullscreenmenu .hamburger > span:after {
        top: 10px;
    }




    /*ニュース*/
    #news {
        width:94vw;
        bottom:20px;
        left:50%;
        transform: translateX(-50%);
    }





    /*コンセプト*/
    #concept {
        width:100%;
        height:140vh;
    }
    .bg_seethrough {
        background-position:80% bottom;
        background-clip:border-box;
    }
    #conceptTxt {
        width:100vw;
        height:90%;
        background-image:url(../images/concept_sp@2x.png);
        background-position:bottom;
        padding-top:40px;
    }
    #conceptTxt h2 {
        margin-left:50%;
        transform: translate(-50%, 0);
    }
    #conceptTxt h3 {
        margin-left:50%;
        transform: translate(-50%, 0);
    }
    #conceptTxt p {
        width:100%;
        margin-left:50%;
        transform: translate(-50%, 0);
        line-height:2.5;
    }
    #conceptTxt .rubi {
        margin-left:50%;
        transform: translate(-50%, 0);
    }
    #conceptTxt span {
        width:80%;
        margin:2vh 0 2vh 50%;
        transform: translate(-50%, 0);
    }
    #conceptTxt .btn {
        margin-top:40px;
        margin-left:50%;
        transform: translate(-50%, 0);
    }
    #conceptTxt .pctext {
        display: none;
    }
    .sptext {
        display: block;
    }

    /*コンセプトナビ*/
    #conceptTxt nav {
        display:none;
    }





    /*メニュー*/
    #menu {
        width:100%;
        margin-top:20px;
    }



    /* ポップアップ */
    #window {
        width: 80%;
    }




    /*スライドエリア設定*/
    #Slide01 {
        padding:0;
    }

    /*スライドボタン追加設定*/
    .splide__arrow svg {
        width:22px;
        height:54px;
    }
    .splide__arrow--next {
        padding-right:3px;
        margin-right:-13px;
        width:40px;
        height:80px;
        border-radius:900px 0 0 900px;
        right:-18px;
        z-index:0;
    }
    .splide__arrow--prev {
        padding-left:45px;
        z-index:0;
    }

    /*スライダー下テキスト設定*/
    .splide__slide ul li {
        margin-left:45px;
    }
    .splide__slide ul li:nth-child(3) {
        margin-left:36px;
    }
    .splide__slide ul li:last-child {
        margin-left:43px;
    }






    /*ショップインフォ*/
    #shop_info {
        margin-top:70px;
    }
    #shop_flex {
        width:100%;
        height:auto;
        align-items: flex-start;
        flex-direction: column-reverse;
    }

    /*店舗イメージ*/
    #tenpo {
        width:100%;
    }
    #tenpo_hako {
        width:90%;
        height:auto;
    }

    /*店舗イメージslickスライド*/
    .slick-slider img {
        margin-top:0;
    }

    /* dotsを丸くカスタマイズするCSS */
    .slick-dots {
        display: flex;
        justify-content: center;
        gap:15px;
        bottom:10px;
    }
    .slick-dots li {
        width: 8px;
        height: 8px;
    }
    .slick-dotted.slick-slider {
        margin-bottom:0;
    }



    /*概要*/
    #gaiyo {
        width:100%;
        margin-top:40px;
    }

    /*概要テキスト*/
    #gaiyo h1 img {
        width:216px;
    }

    /*テーブルデザイン*/
    table {
        border-collapse:separate;
        width:100%;
        border-radius:0 0 15px 15px;
        overflow: hidden;
    }
    table tr {
        background-color: #fff;
    }
    table tr:nth-child(odd) {
        background-color: #e6f0ff;
    }
    table tr:nth-child(6) {
        background-color: #e6f0ff;
    }
    table tr:nth-child(9) {
        background-color: #fff;
    }
    table th, table td {
        padding:20px 0;
    }
    table tr:nth-child(6) th, table tr:nth-child(6) td, table tr:nth-child(9) th, table tr:nth-child(9) td {
        padding:0 0 0 25px;
    }
    table tr:last-child td {
        line-height:2.4rem;
    }
    table th {
        padding-left:15px;
    }
    table td {
        padding-left:25px;
    }



    /*マップ*/
    #map {
        width:100%;
        height:auto;
        margin:50px auto 0;
    }




    
    /*FAQ*/
    #faq {
        height:1000px;
        margin-top:-10vh;
        padding-top:18vh;
    }
    #faq h2, #faq p {
        text-shadow:0 0 8px #fff;
        text-align:center;
    }
    #faq h2 {
        margin-bottom:80px;
    }

    /*アコーディオン*/

    /* 必須 */
    .accordion {
        max-width: 94vw;
    }
    .accordion-header {
        padding: 37px 0 37px 15px;
    }
    .accordion-header::before,
    .accordion-header::after{
        right:10px;
        width:20px;
        height:3px;
    }
    .accordion-content {
        padding: 12px 0 10px 15px;
        height:100px;
    }
    .accordion span {
        font-size:1.4rem;
        color:#0a6e6e;
        line-height: 2.6rem;
      }
    
    .accordion-header span,
    .accordion-content span{
        padding-left: 25px;
    }
    .accordion-header span::before{
        font-size: 1.8rem;
    }
    
    .accordion-content .faq_a::before{
        font-size: 1.8rem;
    }







    /*インスタ*/
    #instaBox {
        width:95vw;
        margin:0 auto;
        justify-content: space-between;
    }
    #instaBox .zoom {
        width:110px;
        height:110px;
        border-radius:6px;
    }
    #instaBox .zoom a img {
        width: 110px;
        height: 110px;
        object-fit: cover;
        transition: .5s all;
    }









    /*LINE*/
    #line a img {
        width:94%;
        height:100%;
        margin:20px auto;
    }
    #line h3 {
        line-height:2.8rem;
    }
    #line p {
        margin-bottom:20px;
        line-height:2.4rem;
    }

    /*LINEボタン*/
    #line_btn {
        display: block;
        width:257px;
        height:50px;
        background-color: #fff;
        border:1px solid #00c200;
        border-radius: 200px;
        margin:0 auto 50px;
        padding:8px;
        box-shadow: 5px 6px 1px #c3beb4;
    }
    #line_btn a {
        display: flex;
        justify-content: center;
    }
    #line_btn a img {
        width:31px;
        height:31px;
        margin:0 12px 0 0;
    }
    #line_btn a p {
        line-height:3rem;
    }






    

    /*フッター*/
    footer {
        padding:2.5vh 0 0 20px;
        position:relative;
        background-image: url(../images/footer_bgsp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position:right bottom;
    }
    footer h1 img {
        margin:0 0 20px -10px;
    }
    #footer_flex {
        flex-flow: column;
        gap:0;
    }
    #footer_flex p {
        margin-bottom:35px;
    }
    #footer_btn {
        margin:0 0 10px 0;
    }







    





    /*コンタクトボタン*/
    #contactBtn {
        width: 70px;
        height: 70px;
    }
    #contactBtn a img {
        top: 1.1vh;
    }

    /*追従ナビ*/
    #global-nav {
        display:none;
    }


}
