@charset "UTF-8";
/*-------	. =Reset　---------*/
* {	margin: 0;padding: 0;}
h1,h2,h3,h4,h5,h6,hr,th,em {font-style: normal;font-weight: normal;font-size: 1em;}
ul,ol,li {list-style: none;}
table {border-collapse:0;border-spacing: 0;}
th,td{line-height: 120%;letter-spacing: normal;}
img,img a,a img {margin: 0;padding: 0;border: 0;vertical-align:bottom}
/* a */
a {	text-decoration: none;color:#232323 ; -webkit-tap-highlight-color:rgba(0,0,0,0);}
a:hover {text-decoration: none;filter: alpha(opacity=70);opacity:0.7}
a:hover img{filter: alpha(opacity=80);opacity:0.8}
img{width:100%;
	-webkit-backface-visibility: hidden} /*クロームボケ*/
.hide,
.foot_nav_1 li.hide{display: none}	
hr{border:none;height: 0px;border-bottom:1px solid #666}
.clear{clear: both}
.cf:after {
 content: "";
 clear: both;
 display: block;}
.txt_c{text-align: center}
/*　space */
.mb20 {margin-bottom: 20px }
.mb40 {margin-bottom: 40px }
/* TypeType - TT Chocolates Medium */
@font-face {
  font-family: 'TTC';
  src: url('../font/TTChocolates-medium.otf') format('truetype');
  font-weight:400;
  font-display: swap;
}
/* TypeType - TT Chocolates bold */
@font-face {
  font-family: 'TTC';
  src: url('../font/TTChocolates-bold.otf') format('truetype');
  font-weight: 700;
  font-display: swap;
}

.sp{display: none}
@media only screen and (max-width: 767px) {
	.pc{display: none}
	.sp{display: block}
}

/* カラー *
base ピンク　{ color: #ff8c82 }
薄ピンク　{ color: #fff6f5 }
*/
@media only screen and (min-width: 766px) {
  html{scroll-behavior: smooth}
}
/*-----------------------body ---------------------------*/
body{
	color: #232323;
	font-size: 16px;
	line-height: 1.8;
	font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	-webkit-text-size-adjust: 100%; /*モバイルテキスト自動拡大アルゴリズム制御*/
	background-color: #FFFFFF;
    overflow-x: hidden; /* 横幅を親要素を超えて100％の調整 */
    border: 10px solid  #ff8c82 }

main{min-height:40vh;}

@media only screen and (max-width: 767px) {
    body{
        width: 100vw;
        box-sizing: border-box;
        border: 5px solid  #ff8c82 }

main{min-height:20vh;}
}


/*----------------------- ヘッダー ---------------------------*/
header{ 
  position: relative;
  box-sizing: border-box;
  text-align: left;
  width: 100%;
  padding:0 max(3vw,25px) ;
	display: flex;
	justify-content: space-between;
  align-items: center;
  height:clamp(90px,15vw,160px);
}
header h1,.logos{width: 200px}
.logos img{
  width: 100%;
  height: auto;
  aspect-ratio: 300 / 119;
}

.gnav{
  display: flex;
  gap: 0.5em 2em;
  justify-content: end;
  align-items: center;
  width:85%;
}
.gnav .menu{
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1.5vw;
  justify-content: end;
}
.gnav li{
  line-height: 1.4;
  font-weight: 700
}
/* .gnav li:last-child{margin-right:230px} */
.gnav li a{color: #232323}
.gnav span{
  display: block;
  font-family: 'TTC';
  font-weight: 400;
  font-size: 10px;
  color: #ff8c82
  }
.line-shop{width: 340px; margin: 40px auto;}

/* 検索枠 */
#searchform{
  width: 200px;
}
.searchBar{
  text-align: left;
  top:0;right:0;
  border-bottom: 1px solid #232323}
.searchBar input{
  height: 26px;
  border: none}
.searchBar input#s{
  background-color: transparent;padding-left:10px;box-sizing: border-box;
  width: 165px;font-size: 14px}
#searchsubmit{
  margin-left: 6px;
  width: 20px;height: 20px;
  background: url(../img/all/icon_search.svg);
  background-size: contain;}

@media only screen and (max-width: 1200px) {
  /* header{padding:20px 3% 0;} */
  .gnav li{
    font-size: 14px;
    margin-bottom:5px;
    margin-left: 2%}
  .gnav li:last-child{margin-right:0}
  .searchBar{top:30px}
}

@media only screen and (max-width: 767px) {
  /* header{
    position: relative;
    display:block;
    height: 90px;
    padding:10px 5% 0
    } */
  header a:hover{text-decoration: none }
  header h1,.splogos{width: 150px}
}


/* ---------- 左 SNS ---------- */
.head_sns{ 
    width: 26px;
    font-size: 14px;
    font-family: 'TTC';
    font-weight: 400;
    text-align: center;
    position: absolute;
    top:530px;
    left:3% }
.head_sns span{-ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;}
.head_sns a{
    display: block;
    margin:10px 0}
/* ---------- 右 scroll down  ---------- */
.head_scrolldown{
    width: 14px;
    font-size: 14px;
    line-height: 1;
    font-family: 'TTC';
    font-weight: 400;
    text-align: center;
    position: absolute;
    top:530px;
    right:3%}
@media only screen and (max-width: 1600px) {
    .head_sns,
    .head_scrolldown{right:2.5%;top:450px;}
    .home .head_sns,
    .home .head_scrolldown{right:2.5%;top:390px;}
}
@media only screen and (max-width: 1200px) {
    .head_sns,
    .head_scrolldown{right:2.5%;top:400px;}
    .home .head_sns,
    .home .head_scrolldown{right:2.5%;top:300px;}
    
    
}
.head_scrolldown .txt{
    padding-bottom:14px;
    -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;}
.head_scroll_arrow{
    height: 100px;
    position: relative}
.Arrow-Item{
  position: absolute;
  left: 1px;
  display: block;
  width: 1px;
  border-radius: 1px;
  background: #000;
}
.Arrow-Item:nth-of-type(1){
  top: 0;
    left:7px;
  height: 100px;
}
.Arrow-Item:nth-of-type(2){
  bottom: 0;
    left:11.5px;
  height: 17px;
  transform: rotate(30deg);
}



/* --------------------  ハンバーガー  ------------------------------ */
@media only screen and (max-width: 767px) {
  .h_nav_cont .drawer_bg {
          width: 100%;
          height: 100%;
          position: fixed;
          z-index: 999;
          background-color: rgba(51, 51, 51, 0.2);
          display: none;
          top: 0;
          left: 0;}
  .drawer_button .drawer_bar {/* ハンバーガーメニュー三本線の色 */
      background-color: #fff;}
  .drawer_button {
          box-sizing:content-box;
          display: block;
          background: #ff8c82;
          border: none;
          padding: 0;
          width: 36px;
          cursor: pointer;
          position: fixed;
          top: 0;
          right: 5px;
          padding:15px 15px 15px 20px;
          z-index: 1001;
          text-align: center;
          outline: none;}
  .drawer_button.active .drawer_bar {
          width: 36px;margin-left:2px}
  .drawer_button.active .drawer_bar1 {
          transform: rotate(40deg);}
  .drawer_button.active .drawer_bar2 {
          opacity: 0;}
  .drawer_button.active .drawer_bar3 {
          transform: rotate(-40deg);margin-left:2px}

  .drawer_bar {
          display: block;
          height: 2px;
          margin: 10px 0;
          transition: all 0.2s;
          transform-origin: 0 0;}
  .drawer_bar3 {margin: 10px 0 6px}
}


/* -------------------- ハンバーガー　メニュー中身  -------------------- */
.h_nav {
  width:100%;
  height: 100%;
  transition: all 0.4s;
  transform: translate(100%);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  background-color: #FFF;/* ドロワーメニュー内背景色 */
  overflow-x: hidden;
  overflow-y: auto;
  border: 10px solid  #ff8c82;
  box-sizing: border-box;
  a{
    color:#232323
  }
}

.h_nav .bg_pink{
  margin-top: 20px;
  padding:20px 8% 30px
}

/* 検索枠 */
/* .searchBar{
  width: 98%;
  position: static;
  margin: 10px auto 25px}
.premium_search .searchBar{
  width: 85% !important;
  position: static!important;
  margin: 10px auto 25px!important;
  line-height: 45px!important;
  border-radius: 4px!important;
  border: 1px solid #DDDBD6!important;
}
.searchBar input#s{width: 87%;} */

/* Hamburgerメニュー本体 */
.sp_hnav .menu li{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  line-height: 1.4;
  a{
    padding: 1rem 0;
    flex: 1;
  }
  .sub-menu{
    width: 100%;
    font-weight: 400;
    a{
      padding: 0.3em 0;
    }
  }
}
/* .sp_hnav .menu{
  display: flex;
  flex-direction: column;
  .monitaru{
    order: 1;
  }
} */


.sp_hnav .menu > li {
  border-bottom: 1px solid #ccc;
  .sub-menu{
    li{
      font-size: 0.9em;
      padding-left: 2.5em;
      &:first-child{
        position: relative;
        &::before{
          font-size: 1.2em;
          position: absolute;
          left: 0.5em;
          top: -0.3em;
          content: "∟";
          color:#969696;
        }
      }
    }
  }
}

.sp_hnav .menu > li:not(:has(.sub-menu)){
  position: relative;
  /* pointer-events: none; */
  & > i{
    position: absolute;
    right: 0.5em;
    content: "";
    width: 6px;
    height: 6px;
    border-top: solid 1px #969696;
    border-right: solid 1px #969696;
    transform: rotate(45deg);
  }
}
.sp_hnav .menu > li:has(.sub-menu)  > i{
  padding: 0 0 0 0.5em;
  &::before{
    font-style: normal;
    /* content: "＋"; */
    content: "\FF0B";
    font-size: 1.5rem;
    color:#969696;
  }
  &.active::before{
    /* content: "−"; */
    content: "\2212";
  }
}
.sp_hnav .menu .sub-menu{
  opacity: 0;
  height: 0;
  transition: all 0.2s;
  padding: 0;
  li{
    display: none;
  }
  &.open{
    opacity: 1;
    height: auto;
    padding: 0 0 1em;
    li{
      display: flex;
    }
  }
}


.sp_hnav_sns {
  display: flex;
  justify-content: end;
  gap: 10px;
  margin: 30px auto;
  img{width: 30px;}
}
    
.h_nav .bg_white{
  padding:2rem 8% 2rem;
  line-height: 2;
  .title-txt > a{
    font-weight: 700;
    font-size: 1.1em;
    pointer-events: none;
  }
  ul{
    margin-bottom: 30px;
    li{
      font-size: 15px
    }
  }
}

/* ハンバーガーのフッター */
.sp_hnav_foot{
    background: #ff8c82;
    padding:15px 0 10px;
    line-height: 1.4;
    font-weight: 700;
    text-align: center;
    display: -webkit-flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
    justify-content: space-between}
.sp_hnav_foot li{width: 33%}
.sp_hnav_foot li{width: 50%}/* 特集なしの時 */

.sp_hnav_foot li:not(:last-child){border-right: 1px solid #fff}
.sp_hnav_foot a{
    display: inline-block;
    padding:10px;
    color: #fff  }

.sp_hnav_foot span{
    display: block;
    font-family: 'TTC';
    font-weight: 400;
    font-size: 10px;}

.h_nav.open {
    transform: translate(0);}
.sp_logos img{
    width: 40%;
    padding: 20px 20px 0 20px;
}


/* アイコン */
.menu{
  li.icon-arrow-r  a{
    display: inline-flex;
    align-items: center;
    gap: 0.3em;
    &:after{
      content: '';
      width: 6px;
      height: 6px;
      border-top: solid 1px currentColor;
      border-right: solid 1px currentColor;
      transform: rotate(45deg);
    }
  }
  li.icon-blanc a{
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    &:after{
      content: '';
      width: 1.2em;
      height: 1.2em;
      background: currentColor;
      -webkit-mask: url(../img/all/icon_link.svg) center/contain no-repeat;
      mask: url(../img/all/icon_link.svg) center/contain no-repeat;
    }
  }
}



















/************* Breadcrumbs *************/
.breadcrumbs {
	background: #fff6f5;
	font-size: 12px;
	line-height: 1.2;
	padding: 10px 0 10px 3%;
    margin-bottom: 100px;
}
.home .breadcrumbs {display: none}
.breadcrumbs a{
    padding:0 3px;
    color: #888}

.breadcrumbs a:hover{
    text-decoration: underline;
    filter: alpha(opacity=90);opacity:0.9;
}
@media only screen and (max-width: 767px) {
	.breadcrumbs {
        margin-bottom: 40px;
		font-size: 11px;
		line-height:1.3;
		padding: 10px 5% }
}

/* *-----------------------　共通　*----------------------- */
.bg_pink{background:#fff6f5 }
.w1200{width:1200px; margin: 0 auto;}
@media only screen and (max-width: 1370px){
    .w1200{width:88%!important}
}
/* moreボタン　共通 */
.btn_arrow {
    display: block;
    margin: 0 auto;
    width: 90%;
    max-width: 380px;
    height: 48px;
    line-height: 48px;
    text-align: center;
    /*font-weight: 700;*/
    background: #646464;
    color:#fff;
    border: 1px solid #646464;
    border-radius: 30px;
    position: relative}
.btn_arrow:after {
display: block;
content: "";
position: absolute;
top: 40%;
right: 16px;
width: 6px;
height: 6px;
border-top: solid 1px #fff;
border-right: solid 1px #fff;
-webkit-transform: rotate(45deg);
        transform: rotate(45deg)}
.btn_arrow:hover{
    background: #fff;
    color:#232323}
.btn_arrow:hover:after,
.btn_arrow.btn_back:hover:after{
    border-top: solid 1px #646464;
    border-right: solid 1px #646464}
/* backボタン　共通 */
.btn_arrow.btn_back:after {
    content: '';
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(225deg);
    position: absolute;
    left: 20px;
    right:auto}

/* flex　共通  spは各自指定*/
.flex{
    display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between}

   
/*----------------------- フッター ---------------------------*/
footer {
  background: #ff8c82;
  padding: 60px 0 40px;
}
footer a {
  color: #fff;
}
.footer_wrap {
  position: relative;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
.foot_flex {
  display: flex;
  justify-content: space-between;
  gap:20px;
}
.foot_logo {
  width: 200px
}

.foot_body {
  width: 720px;
  position: relative;
}
.foot_nav {
  color: #fff;
  font-size: 14px;

  .title-txt > a{
    .sub-menu{
      font-weight: 400;
    }
  }
}

@media only screen and (max-width: 767px) {
  footer {
    padding: 40px 0 20px
  }
  .foot_flex {
    display: block
  }
  .foot_logo {
    margin-bottom: 20px;
    width: 100px
  }
  .foot_body {
    width: 100%
  }
  .foot_nav {
    color: #fff;
    margin-bottom: 40px;
  }
}


/* メニュー機能 .foot_nav_1 */
.foot_nav_1 {
  font-weight: 700;
  border-bottom: 1px solid #fff;
  padding:0 0 1.5em;
  .menu{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 2em;
  }
  .menu-special{
    width: auto!important;
    .sub-menu{
      display: none!important;
    }
  }
  li.menu-favopremium,
  li.menu-line{
    width: 100%;
    display: flex;
    gap: 0.5em 1em;
    & > a{
      pointer-events: none;
      width: 11em;
      padding: 0 1em 0 0;
    }
    .sub-menu{
      flex: 1;
      display: flex;
      flex-wrap: wrap;
      gap: 0.5em 1.5em;
      font-weight: 400;
      a{
        display: inline-flex;
        align-items: center;
        gap: 0.3em;
        &:after{
          content: '';
          width: 6px;
          height: 6px;
          border-top: solid 1px currentColor;
          border-right: solid 1px currentColor;
          transform: rotate(45deg);
        }
      }
    }
  }
}

@media only screen and (max-width: 767px) {
  .foot_nav_1{
    border-bottom: none;
    padding: 0;
    .menu {
      gap: 0;
      & > li{
        border-bottom: 1px solid #fff;
        width: calc(50% - 1em)!important;
        padding: 1em 1em 1em 0;
      }
      li.monitaru{
        width: 100%!important;
      }
      li.menu-favopremium,
      li.menu-line{
        width: 100%!important;
        & > a{
          width: 7em;
        }
      }
    }
  }
}


/* .foot_nav_2 */
.foot_nav_2{
  font-weight: 700;
  border-bottom: 1px solid #fff;
  padding: 1.5em 0;
  .menu > li{
    display: flex;
    gap: 0.5em 1em;
    & > a{
      pointer-events: none;
      width: 11em;
      padding: 0 1em 0 0;
    }
    .sub-menu{
      flex: 1;
      display: flex;
      flex-wrap: wrap;
      gap: 0.5em 2.5em;
      font-weight: 400;
    }
  }
}
@media only screen and (max-width: 767px) {
  .foot_nav_2{
    .menu > li{
      & > a{
        width: 7em;
      }
    }
  }
} 

/* メニュー機能 .footnav_3 */
.foot_nav_3 {
  padding: 1.5em 0;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  gap:2em 5em;
  align-items: center;
  .menu{
    font-size: 13px;
    display: flex;
    flex-wrap: wrap;
    gap:0.5em 1.5em;
  }
  /*  フッターのSNS */
  .foot_sns_area {
    display: flex;
    gap: 10px;
    align-self: flex-end;
    img {
      width: 26px;
      height: auto;
      aspect-ratio: 1 / 1;
    }
  }
}
@media only screen and (max-width: 999px) { 
  .foot_nav_3 {
    flex-direction: column;
  }
}



.bn-cta{
    max-width: 400px;
}
.bn-cta img{
    width: 100%;
    height: auto;
    aspect-ratio: 400 / 243;
}



.foot_bnr_area img {
  height: 72px;
  width: auto;
  margin-right: 12px
}
.copyright {
  font-size: 12px;
  text-align: center;
  padding-top: 20px;
  margin-top: 50px;
  border-top: 1px solid #fff;
  color: #fff
}
@media only screen and (max-width: 767px) {
  .foot_bnr_area {
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  .foot_bnr_area img {
    width: 46%;
    height: auto
  }
  .copyright {
    padding-top: 10px;
    margin-top: 35px
  }
}


/**********
 PAGE TOP
**********/
.pagetop {
    position: absolute;
    top:-90px;
    right:-100px;
	background: #646464;
	border-radius: 50%;
	cursor: pointer;
    width: 54px;
	height: 54px;
	z-index: 100;
}
.pagetop::after {
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	content: '';
	display: block;
    width:12px;
	height: 12px;
	position: absolute;
	top:42%;
	right: 38%;
	transform: rotate(-45deg);
}
@media only screen and (max-width: 1500px) {
    .pagetop {right:-40px;}
}
@media only screen and (max-width: 767px) {
    .pagetop,
	.pc{display: none}
	.sp{display: block}
}


/* ページタイトル */
.pagettl_type1{
    text-align: center}
.pagettl_type1 h2{
    position: relative;
    text-align: center;
    font-family: 'TTC';
    font-weight: 700;
    font-size: 60px;
    line-height: 1;
    margin-bottom: 60px;
    letter-spacing:0.05em;
    color: #ff8c82}
.pagettl_type1 h2:before {
    position: absolute;
    bottom: -40px;
    left: 50%;
    width: 1px;
    height: 40px;
    content: '';
    background: #ff8c82}
.pagettl_type1 h2 span{
    font-size: 10px;
    margin-bottom: 10px;
    display: block}

/* *-----------------------　検索結果ページ　*----------------------- */
.search_results{
    width:90%;
    max-width:800px; 
    margin: 0 auto;
    margin-bottom: 160px}
.search_results h3{
    text-align: center;
    font-weight: 700;
    border-bottom: 1px solid #c3c3c3;
    padding-bottom: 20px;
    margin-bottom: 50px}
.search_results ul{
    margin-left: 30px;
    display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}
.search_results li{
    width: 45%;
    text-align: left;
    padding: 15px 0}
.search_results li:nth-child(even){}

/* location map */
#mapp0-layout{width:100%;height:auto}
@media only screen and (max-width: 1300px){
#mapp0-layout{width:90%!important}
}
@media only screen and (max-width: 767px){
    .mapp-wrapper,
    element.style {
        height: 400px!important}
    .mapp-menu-toggle,
    .mapp-menu{z-index:2!important}
}

.table_of_contents{
  color: #333;
  font-weight: bold;
  font-size:14px;
  padding: 10px 30px;
  background: #EEE;
  border-radius: 8px;
  margin-bottom: 45px;
}

.table_of_contents span{
  display:block;
  text-align:center;
  color: #333;
  font-size: 18px;
  padding: 8px;
}

.table_of_contents a{
  text-decoration: none;
  color: #333;
}

.table_of_contents li{
  list-style: none;
  padding-bottom: 5px;
}
@media only screen and (max-width: 767px){
    .table_of_contents{padding:10px 15px;}
}
/* 投稿者情報
-----------------------------------------*/
section.profile {
    width: 100%;
    border: 5px solid #f5f5f5;
    margin: 30px 0;
    padding: 20px 25px;
    box-sizing: border-box;
}
section.profile h3 {
    font-size: 18px;
    border-bottom: 1px dotted #666666;
    margin: 0 0 20px;
    padding: 0 0 5px;
}
section.profile .inner {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
}
section.profile .inner .left-side {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    overflow: hidden;
}
section.profile .inner .left-side img {
    border-radius: 50%;
    height: 100%;
}
section.profile .inner .right-side {
    width: calc(100% - 125px);
}
section.profile .inner .right-side .authorName {
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 5px;
}
section.profile .inner .right-side .authorProfile {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}
@media only screen and (max-width: 600px) {
    section.profile {
        padding: 15px;
    }
    section.profile h3 {
        font-size: 16px;
    }
    section.profile .inner .left-side {
        width: 100px;
        height: 100px;
        overflow:hidden;
        border-radius: 50%;
    }
    section.profile .inner .right-side .authorName {
        font-size: 15px;
    }
    section.profile .inner .right-side {
        width: calc(100% - 110px);
    }
    section.profile .inner .right-side .authorProfile {
        font-size: 13px;
    }
}

    .l-side-contact,.premium-contact{
        display: none;
    }
@media screen and (max-width: 992px){
.l-side-contact,.premium-contact{
    display: block;
    position: fixed;
    z-index: 999;
    bottom: 0;
    right: 0;
    width: 100%;
}
.p-side-contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #fff;
    padding-top: 1px;
}
.premium-contact-ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: rgba(0, 0, 0, 0.3);
    padding-top: 1px;
}

.p-side-contact > li ,.premium-contact-ul > li{
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.p-side-contact__link {
    display: block;
    font-size: 14px;
    text-align: center;
    width: auto;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #ff8c82;
    color: #fff;
}

.p-side-contact__link_premium{
    display: block;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    width: auto;
    height: 60px;
    padding: 10px;
    margin: 10px;
    border-radius: 10px;
    box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.3);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #ea5416;
    color: #fff;
}

.p-side-contact__link .c-icon {
    margin-top: 4px;
    margin-bottom: 4px;
    display: block;
    font-size: 22px;
}
.c-icon {
    position: relative;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-bottom: 0.1em;
}
.c-icon--tel {
    background-image: url(../img/all/icon_tel.svg);
}
.c-icon--map {
    background-image: url(../img/all/icon_map.svg);
}
.c-icon--site {
    background-image: url(../img/all/icon_site.svg);
}
.c-icon::before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
}
.p-side-contact__tel {
    display: block;
    font-size: 13px;
}
.p-side-contact__tel-number {
    display: none;
    font-size: 13px;
    font-weight: bold;
}

.p-side-contact > li + li {
    margin-left: 1px;
}
}
    .lp_kanazawa{
        margin: 0 auto;
        text-align: center;
        width: 480px;
    }
    .lp_img{width: 100%; }
    .lp_img img{
        width: 100%;
    }
    @media only screen and (max-width: 767px) {
        .lp_kanazawa{
            width:100%;
        }
        .p-side-contact__link_premium{
            font-size: 16px;
        }
    }
    .lp_kanazawa,.lp_line{
        margin: 0 auto;
        text-align: center;
        width: 480px;
        margin-bottom: 60px;
    }
    .lp_img{width: 100%; }
    .lp_img img{
        width: 100%;
    }
    .lp_line{
    }
    @media only screen and (max-width: 767px) {
        .lp_kanazawa,.lp_line{
            width:100%;
        }
    }
/* タグ　*/
.premium_tag{
    width: 70%;
    text-align: center;
    margin: 0 auto 60px}
.premium_tag_ttl{
    font-weight: 700;
    margin-bottom: 20px}

.premium_tag_list{
    width: 90%;
    overflow-x: scroll;
    display: flex;
    white-space: nowrap;
    margin: 12px auto 0px;
    height: 40px;
}
.premium_tag_list li{
    font-size: 15px;
    line-height: 1;
    display: inline-block;
    margin: 5px;
}
.premium_tag_list li a{
    padding: 6px 12px;
    border-radius: 20px;
    background: #f0f0f0}
.premium_tag_list li a:hover{
    color: #fff!important;
    background: #ff8c82}
/* タグのカレント */
.premium_tag_list li.current-cat a{
    background: #ff8c82;
    font-weight: 700;
    color:#fff}

@media only screen and (max-width: 767px) {
    /* タグ　*/
    .premium_tag{
        width:  100%;
        margin: 0 auto 30px}
    .premium_tag_ttl{margin-bottom:16px}
    .premium_tag_list li{font-size: 14px;font-feature-settings: "palt";}
}




.premium_btn {
  width: 100%;
  margin: 20px auto 40px;
  a {
    width: 100%;
    max-width: 600px;
    margin: auto;
    display: block;
    border-radius: 4px;
    box-sizing: border-box;
    background-color: #ea5413;
    padding: 10px;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
  }

}
.premium_ban {
  margin: 50px auto;
  text-align: center;
  max-width: 800px;
}
body.single-premium .store_coupon{
  margin-bottom: 20px;
}

/* premium 一覧 */
.short_box {
    position: relative;
    z-index: 2;
}
.short_box .title-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 20px 20px 0;
}
.short_box .title--M {
    font-size: 20px;
    font-weight: bold;
    color: #333;
}

.short_box [class*="list--card-"] {
    padding: 12px 20px 0;
}

[class*="list--card-"].scrollx {
    display: flex;
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow-x: scroll;
    overflow-y: hidden;
    display: flex;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

[class*="list--card-"].scrollx [class*="card--"] {
    margin: 0;
}

.card--short {
    min-width: 144px;
    width: 144px;
}

.card--short .short-wrapper {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
}

.card--short .short-wrapper img {
    vertical-align: bottom;
    width: 144px;
    height: auto;
    aspect-ratio: 9 / 16;
    object-fit: cover;
    -webkit-transition: all 0.15s;
    -moz-transition: all 0.15s;
    -ms-transition: all 0.15s;
    transition: all 0.15s;
}

.card--short .overlay-contents {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 100%);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    padding: 10px;
    box-sizing: border-box;
}

.card--short .overlay-contents .view-count {
    color: #fff;
    border-radius: 8px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    background-color: rgba(0, 0, 0, .12);
    box-sizing: border-box;
    padding: 4px 6px;
    font-size: 10px;
    line-height: 125%;
}

.card--short .overlay-contents .shop-info>p {
    color: #fff;
    width: 120px;
    font-size: 14px;
    font-weight: bold;
    line-height: 125%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: break-spaces;
    -webkit-line-clamp: 2;
}

.card--short .overlay-contents .shop-info .shop-area_genre {
    margin: 4px 0 0 0;
    font-size: 10px;
    font-weight: normal;
    -webkit-line-clamp: 1;
}

/* 吹き出し */
.yswpsb-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 1em 0;
}
.yswpsb-type-l {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
.yswpsb-name,
.yswpsb-content,
.yswpsb-content p {
    padding: 0;
    margin: 0;
}
.yswpsb-content p {
    margin-top: .5em;
}
.yswpsb-content p:first-child {
    margin-top: 0;
}
.yswpsb-icon {
    height: auto;
    max-width: 50px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50px;
    flex: 0 0 50px;
}
.yswpsb-image {
    margin:0;
    padding:0;
    border-radius: 50%;
    overflow: hidden;
}
.yswpsb-image img {
    vertical-align: middle;
}
.yswpsb-name {
    margin-top: .3em;
    font-size: .7em;
    text-align: center;
}

.yswpsb-balloon {
    position: relative;
    border: 1px solid #ccc;
    background-color: #fff;
    padding: .5em 1em;
    border-radius: 4px;
}
.yswpsb-balloon:after,
.yswpsb-balloon:before {
    top: 15px;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}
.yswpsb-balloon:after {
    border-width: 6px;
    margin-top: -6px;
}
.yswpsb-balloon:before {
    border-width: 7px;
    margin-top: -7px;
}

/**
 * type : right
 */
.yswpsb-type-r .yswpsb-balloon {
    margin-left: 1em;
}
.yswpsb-type-r .yswpsb-balloon:after,
.yswpsb-type-r .yswpsb-balloon:before {
    right: 100%;
    border-left: none;
}
.yswpsb-type-r .yswpsb-balloon:after {
    border-color: transparent #fff;
}
.yswpsb-type-r .yswpsb-balloon:before {
    border-color: transparent #ccc;
}
/**
 * type : left
 */
.yswpsb-type-l .yswpsb-balloon {
    margin-right: 1em;
}
.yswpsb-type-l .yswpsb-balloon:after,
.yswpsb-type-l .yswpsb-balloon:before {
    left: 100%;
    border-right: none;
}
.yswpsb-type-l .yswpsb-balloon:after {
    border-color: transparent #fff;
}
.yswpsb-type-l .yswpsb-balloon:before {
    border-color: transparent #ccc;
}



/* 店舗記事用の吹き出し */
.balloon-comments-sec {
  display: flex;
  flex-direction: column;
  gap: 30px;

  .balloon-comment {
    display: flex;
    align-items: start;
    gap: 30px;

    &.b-left {
      flex-direction: row;
    }
    &.b-right {
      flex-direction: row-reverse;
    }
  }


  .b-img img {
    border-radius: 50%;
    width: 70px;
    height: 70px;
    object-fit: cover;
  }

  .b-txt {
    /* flex: 1; */
    box-sizing: border-box;
    position: relative;
    padding: 0.8em 1.2em;
    border: 1px solid #232323;
    border-radius: 15px;
    background: white;
    font-weight: 400;
    min-height: 70px;

    display: flex;
    justify-content: center;
    align-items: center;
  }

  .b-right .b-txt::before,
  .b-right .b-txt::after,
  .b-left .b-txt::before,
  .b-left .b-txt::after {
    content: "";
    position: absolute;
    top: 35px;
    transform: skew(0, -2deg);
  }

  /* 右向きの吹き出し */
  .b-right {
    .b-txt::before {
      right: 0;
      border-style: solid;
      border-width: 0 0 16px 16px;
      border-color: transparent transparent transparent #232323;
      translate: 100% -50%;
      transform-origin: left;
    }
    .b-txt::after {
      right: 0;
      border-style: solid;
      border-width: 0 0 13.6px 13.6px;
      border-color: transparent transparent transparent white;
      translate: 100% calc(-50% - 0.2px);
      transform-origin: left;
    }
  }

  /* 左向きの吹き出し */
  .b-left {
    .b-txt::before {
      left: 0;
      border-style: solid;
      border-width: 0 16px 16px 0;
      border-color: transparent #232323 transparent transparent;
      translate: -100% -50%;
      transform-origin: right;
    }
    .b-txt::after {
      left: 0;
      border-style: solid;
      border-width: 0 13.6px 13.6px 0;
      border-color: transparent white transparent transparent;
      translate: -100% calc(-50% - 0.2px);
      transform-origin: right;
    }
  }

}
