@charset "UTF-8";
/**
 * ラパーク岸和田ラパーク岸和田基本設定CSS
 * Created on: 2023.06.12
 */
/*==========================================================================
Break Point
============================================================================*/
/*==========================================================================
Font
============================================================================*/
/*==========================================================================
Color
カラーコード変換 https://tech-unlimited.com/color.html
============================================================================*/
/*==========================================================================
box shadow
box-shadowジェネレータ https://www.bad-company.jp/box-shadow
==========================================================================*/
/*==========================================================================
Line Height
==========================================================================*/
/*==========================================================================
Font size
==========================================================================*/
/*==========================================================================
Font size
==========================================================================*/
/*==========================================================================
Easing
Easingの動きが一覧でわかるチートシート https://easings.net/ja
Easingジェネレーター https://easings.co/
==========================================================================*/
/*--------------------------------------------------------
Default
--------------------------------------------------------*/
html {
  scroll-behavior: smooth;
  touch-action: manipulation;
}

html,
body {
  font-size: 62.5%;
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  color: #666666;
}
html main p,
html main time,
html main dd,
body main p,
body main time,
body main dd {
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.71;
}
html main h1,
html main h2,
html main h3,
html main h4,
html main h5,
html main a,
html main li,
html main dt,
body main h1,
body main h2,
body main h3,
body main h4,
body main h5,
body main a,
body main li,
body main dt {
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-weight: 500;
  text-decoration: none;
  line-height: 1.5;
}

figure {
  border-radius: 5px;
  overflow: hidden;
}

a {
  color: #666666;
}
a:hover .news_img figure img {
  transform: translate(-50%, -50%) scale(1.1) !important;
  /* 拡大率を調整 */
}
a figure img {
  transition: all 0.3s ease-in-out;
}
a p {
  text-decoration: none;
  color: #666666;
}

a {
  text-decoration: none;
}
a.udline {
  text-decoration: underline;
}

.telop-block {
  padding: 9px 14px;
  background: #1A4B9F;
}
.telop-block .telop-txt {
  margin: 0 auto 4px;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
  color: #fff;
}
.telop-block .telop-txt .opacity-link {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.telop-block .telop-txt .opacity-link::before {
  content: "";
  width: 25px;
  height: 25px;
  margin-right: 10px;
  background: url(../img/common/e_icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  main.contents {
    padding-top: 10px;
  }
}

.header_set {
  position: relative;
  z-index: 999;
  height: 90.5px;
}
@media screen and (max-width: 768px) {
  .header_set {
    height: 60px;
  }
}
.header_set.fixed header {
  position: fixed;
  top: 0;
  left: 0;
}
.header_set.fixed .head_border {
  position: fixed;
  top: 0;
  left: 0;
}

header {
  width: 100%;
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
  padding-top: 0;
  z-index: 100;
  background: #fff;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  header {
    padding: 10px 0;
  }
}
header .header_eff01 {
  position: absolute;
  left: 0;
  top: 0;
  width: 22.5%;
  max-width: 400px;
  min-width: 308px;
}
@media screen and (max-width: 768px) {
  header .header_eff01 {
    display: none;
  }
}
header .header_eff02 {
  position: absolute;
  right: 0;
  top: 0;
  width: 22.5%;
  max-width: 400px;
  min-width: 395px;
  height: 100%;
}
@media screen and (max-width: 768px) {
  header .header_eff02 {
    display: none;
  }
}
header .header_eff03 {
  display: none;
}
@media screen and (max-width: 768px) {
  header .header_eff03 {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 45%;
    height: 100%;
  }
}
header .header_inner {
  padding: 25px 0 25px;
  width: 96.4%;
  max-width: 1350px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  header .header_inner {
    padding: 10px 0;
  }
}
header .header_inner .logo_30th {
  position: absolute;
  width: 35%;
  max-width: 380px;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
@media screen and (max-width: 768px) {
  header .header_inner .logo_30th {
    display: none;
  }
}
header .header_inner .header_logo {
  width: 30%;
  max-width: 252px;
  position: relative;
}
@media screen and (max-width: 768px) {
  header .header_inner .header_logo {
    width: 52.5%;
    max-width: 240px;
  }
}
header .header_inner .header_logo a {
  position: relative;
  z-index: 1;
}
header .header_inner .header_logo a img {
  position: relative;
  z-index: 1;
}

.head_border {
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 1000000;
  overflow: hidden;
}
.head_border:before {
  content: "";
  height: 10px;
  width: 100%;
  min-width: 1440px;
  background: url(../img/common/kispa_border.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .head_border:before {
    height: 5px;
  }
}

#g-nav {
  position: fixed;
  z-index: 100000;
  top: 0;
  right: -30%;
  width: 30%;
  height: 100vh;
  background: #fff;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  #g-nav {
    right: -100%;
    width: 100%;
  }
}
#g-nav .nav_logo_30th {
  padding-bottom: 40px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #g-nav .nav_logo_30th {
    padding-bottom: 150px;
  }
}
#g-nav.panelactive {
  right: 0;
}
#g-nav.panelactive #g-nav-list {
  position: relative;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#g-nav li {
  list-style: none;
  text-align: center;
}
#g-nav li a {
  color: #333;
  text-decoration: none;
  padding: 10px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
}

#g-nav .openbtn {
  width: 50px;
}
@media screen and (max-width: 768px) {
  #g-nav .openbtn {
    width: 45px;
    height: 45px;
  }
}
#g-nav .openbtn:before {
  content: none !important;
}

.openbtn {
  position: absolute;
  z-index: 9999;
  top: 50%;
  right: 2.3%;
  cursor: pointer;
  width: 41px;
  height: 26px;
  transform: translate(0, -50%);
}
@media screen and (max-width: 768px) {
  .openbtn {
    width: 33px;
    height: 23px;
  }
}
.openbtn:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #00a7ab;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  padding: 15px 8px;
  box-sizing: content-box;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .openbtn:before {
    padding: 12px 7px;
  }
}
.openbtn.close_btn {
  top: 18px;
  right: 17%;
}
@media screen and (max-width: 768px) {
  .openbtn.close_btn {
    right: 5%;
  }
}
.openbtn span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 0px;
  height: 2px;
  background-color: #ffffff;
  width: 100%;
}
.openbtn span:nth-of-type(1) {
  top: 0px;
}
.openbtn span:nth-of-type(2) {
  top: 13px;
}
@media screen and (max-width: 768px) {
  .openbtn span:nth-of-type(2) {
    top: 10px;
  }
}
.openbtn span:nth-of-type(3) {
  top: 26px;
}
@media screen and (max-width: 768px) {
  .openbtn span:nth-of-type(3) {
    top: 21px;
  }
}
.openbtn.active span:nth-of-type(1) {
  top: 18px;
  left: 9px;
  transform: translateY(9px) rotate(-45deg);
  width: 100%;
  background: #00A9AC;
}
.openbtn.active span:nth-of-type(2) {
  opacity: 0;
  background: #00A9AC;
}
.openbtn.active span:nth-of-type(3) {
  top: 30px;
  left: 9px;
  transform: translateY(-3px) rotate(45deg);
  width: 100%;
  background: #00A9AC;
}

#overlay {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  z-index: 1000;
  opacity: 0;
  transition: all 0.5s ease;
  background: #000;
  visibility: hidden;
}
#overlay.overlayactive {
  opacity: 0.6;
  visibility: visible;
}

#slide {
  padding-top: 8px;
  position: relative;
}

.dots {
  position: absolute;
  left: 50%;
  bottom: 15px;
  transform: translate(-50%, 0);
}

.slider .slick-slide {
  width: 100%;
  margin: 0 5px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .slider .slick-slide {
    margin: 0 2px;
  }
}
.slider .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
.slider .slick-arrow {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #4d4d4d;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 1;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
@media screen and (max-width: 768px) {
  .slider .slick-arrow {
    width: 30px;
    height: 30px;
  }
}
.slider .slick-arrow::before {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border: 1px solid #fff;
  border-width: 1px 1px 0 0;
  position: absolute;
  top: 37%;
  transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
  .slider .slick-arrow::before {
    width: 9px;
    height: 9px;
    top: 37%;
  }
}
.slider .slick-next {
  right: 23.5%;
}
@media screen and (max-width: 768px) {
  .slider .slick-next {
    right: 2%;
  }
}
.slider .slick-next::before {
  left: 8px;
}
.slider .slick-prev {
  left: 23.5%;
}
@media screen and (max-width: 768px) {
  .slider .slick-prev {
    left: 2%;
  }
}
.slider .slick-prev::before {
  border-width: 0 0 1px 1px;
  right: 8px;
}

.dots .slick-dots {
  text-align: center;
}
.dots .slick-dots li {
  display: inline-block;
}
.dots .slick-dots li button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #808080;
  border-radius: 50%;
}
.dots .slick-dots li.slick-active button {
  background: #00A9AC;
}

#banner {
  background: #F1F1F1;
  margin: 7px 0 0;
  padding: 7px 0 7px;
}
#banner .banner_list {
  width: 85.7%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #banner .banner_list {
    width: 100%;
  }
}
#banner .banner_list .banner_item {
  width: 15.7%;
}
@media screen and (max-width: 768px) {
  #banner .banner_list .banner_item {
    width: 46.1%;
    margin: 0 5px;
  }
}

.new {
  width: 34px;
  height: 34px;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  align-items: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  position: absolute;
  left: 5px;
  top: -7px;
  background: #FF0000;
}
@media screen and (max-width: 768px) {
  .new {
    top: -15px;
  }
}

.category {
  background: #00A9AC;
  width: 110px;
  padding: 4px 0;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  color: #fff;
  margin: 5px auto 5px 0;
}

.category01 {
  background: #EE95A5 !important;
}

.category02 {
  background: #F09223 !important;
}

.category03 {
  background: #50ba9e !important;
}

.category04 {
  background: #ffd22c !important;
}

.category05 {
  background: #804C96 !important;
}

.category06 {
  background: #7CC5FF !important;
}

.category07 {
  background: #4CC742 !important;
}

.category08 {
  background: #D2BF3A !important;
}

.category_fashion {
  background: #EE95A5 !important;
}

.category_gourmet {
  background: #F09223 !important;
}

.category_merchandise {
  background: #50ba9e !important;
}

.category_groceries {
  background: #ffd22c !important;
}

.category_beauty {
  background: #804C96 !important;
}

.category_service {
  background: #7CC5FF !important;
}

.category_amusement {
  background: #4CC742 !important;
}

.category_kishiwadashi {
  background: #D2BF3A !important;
}

.category_font_fashion {
  color: #EE95A5 !important;
}

.category_font_gourmet {
  color: #F09223 !important;
}

.category_font_merchandise {
  color: #50ba9e !important;
}

.category_font_groceries {
  color: #ffd22c !important;
}

.category_font_beauty {
  color: #804C96 !important;
}

.category_font_service {
  color: #7CC5FF !important;
}

.category_font_amusement {
  color: #4CC742 !important;
}

.category_font_kishiwadashi {
  color: #D2BF3A !important;
}

#search {
  background: url(../img/common/dot_bggray.svg);
  background-size: 12px 12px;
  background-repeat: repeat;
  padding: 55px 0;
}
@media screen and (max-width: 768px) {
  #search {
    padding: 40px 0 25px;
  }
}
#search .search {
  width: 100%;
  /* make it 100% width */
  padding: 10px 0;
  /* add 10px padding to top and bottom */
  box-sizing: border-box;
  /* include padding and border in element's total width and height */
}
#search .search_container {
  width: 92%;
  max-width: 1200px;
  background-color: #fff;
  margin: 0 auto;
  border-radius: 5px;
}
#search .search_container .title {
  font-family: "Noto Serif JP", sans-serif;
  color: #00A9AC;
  font-size: 3.4rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  #search .search_container .title {
    font-size: 2.8rem;
    margin-bottom: 30px;
  }
}

#f_banner ul {
  width: 92%;
  max-width: 933px;
  margin: 0 auto;
  padding: 50px 0 65px;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  #f_banner ul {
    flex-wrap: wrap;
    padding: 15px 0 30px;
  }
}
#f_banner ul li {
  width: 31.9%;
}
@media screen and (max-width: 768px) {
  #f_banner ul li:first-child {
    width: 100%;
    margin-bottom: 8px;
  }
}
@media screen and (max-width: 768px) {
  #f_banner ul li:nth-child(n+2) {
    width: 48.4%;
  }
}

footer {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  footer {
    margin-top: 50px;
  }
}
footer .news_hanrei {
  width: 92%;
  max-width: 1200px;
  margin: 0 auto 30px;
}
@media screen and (max-width: 768px) {
  footer .news_hanrei {
    max-width: 320px;
  }
}
footer .news_hanrei img {
  width: 92%;
  max-width: 942px;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  footer .news_hanrei img {
    width: 100%;
  }
}

.news_hanrei_sp {
  width: 92%;
  max-width: 943px;
  margin-bottom: 35px;
  display: none;
}
@media screen and (max-width: 768px) {
  .news_hanrei_sp {
    display: block;
    margin: 0 auto 60px 0;
    width: 92%;
    max-width: 320px;
  }
}

.banner_30th {
  display: none !important;
  margin-bottom: 20px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .banner_30th {
    display: flex !important;
  }
}

.banner_30th_item {
  width: 37.6%;
}

#footer {
  background: rgba(0, 169, 172, 0.2);
  padding: 20px 0 15px;
}
@media screen and (max-width: 768px) {
  #footer {
    padding: 35px 0 25px;
  }
}
#footer small {
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-size: 1.2rem;
  font-weight: 500;
  color: #666666;
  display: block;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #footer small {
    font-size: 1rem;
  }
}
#footer .footer_outer {
  width: 92%;
  max-width: 930px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 768px) {
  #footer .footer_outer {
    justify-content: center;
    position: relative;
  }
}
#footer .footer_outer .f_30th_logo {
  width: 31%;
}
@media screen and (max-width: 768px) {
  #footer .footer_outer .f_30th_logo {
    display: none;
  }
}
#footer .footer_contianer {
  width: 63%;
  max-width: 580px;
  margin: 0 0 25px;
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 1080px) {
  #footer .footer_contianer {
    width: 67%;
  }
}
@media screen and (max-width: 768px) {
  #footer .footer_contianer {
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
  }
}
#footer .footer_contianer:after {
  content: "";
  height: 38px;
  width: 1px;
  background: #333333;
  position: absolute;
  left: 50%;
  top: 3%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 768px) {
  #footer .footer_contianer:after {
    content: none;
  }
}
#footer .footer_contianer a {
  display: block;
  width: 47.1%;
}
@media screen and (max-width: 768px) {
  #footer .footer_contianer a {
    width: 77%;
    margin-bottom: 15px;
  }
}
#footer .footer_contianer a img {
  display: block;
  width: 100%;
}
#footer .footer_contianer ul {
  width: 47.1%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  #footer .footer_contianer ul {
    width: 80%;
  }
}
#footer .footer_contianer ul li {
  width: 49.5%;
}
@media screen and (max-width: 768px) {
  #footer .footer_contianer ul li {
    min-width: unset;
  }
}
#footer .footer_contianer ul li a {
  width: 100%;
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-size: 1.2rem;
  font-weight: 500;
  color: #666666;
  text-decoration: none;
  padding: 0;
}
@media screen and (max-width: 1080px) {
  #footer .footer_contianer ul li a {
    font-size: 10px;
  }
}
@media screen and (max-width: 768px) {
  #footer .footer_contianer ul li a {
    margin-bottom: 3px;
    font-size: 1.2rem;
  }
}
#footer .footer_contianer ul li a:before {
  content: "●";
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-size: 1.2rem;
  font-weight: 500;
  color: #00A9AC;
  padding-right: 3px;
}

.notfound {
  width: 92%;
  max-width: 1200px;
  margin: 0 auto;
}

#f_news {
  padding: 75px 0 50px;
  width: 92%;
  max-width: 1200px;
  margin: 0 auto 0;
  border-top: 1px solid rgba(51, 51, 51, 0.5);
}
#f_news.bd_none {
  border-top: none;
}
@media screen and (max-width: 768px) {
  #f_news {
    padding: 50px 0 0;
  }
}
#f_news .sub_title {
  color: #00A9AC;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  #f_news .sub_title {
    font-size: 1.8rem;
    margin-bottom: 35px;
  }
}
#f_news .news_hanrei {
  width: 92%;
  max-width: 943px;
  margin-bottom: 120px;
}
@media screen and (max-width: 768px) {
  #f_news .news_hanrei {
    max-width: 320px;
  }
}
#f_news .module_article {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 0px;
}
@media screen and (max-width: 768px) {
  #f_news .module_article {
    flex-wrap: wrap;
    margin: 0;
  }
}
#f_news .module_article:after {
  content: "";
  width: 22.5%;
  display: block;
}
#f_news .module_article::before {
  content: "";
  width: 22.5%;
  display: block;
  order: 1;
}
#f_news .module_article .module_article_item {
  width: 22.5%;
}
@media screen and (max-width: 768px) {
  #f_news .module_article .module_article_item {
    width: 46.3%;
    margin-bottom: 30px;
  }
}
#f_news .module_article .module_article_item .news_img {
  border: 1px solid #CCC;
  border-radius: 7px;
  width: 100%;
  max-width: 540px;
  /* 1:1のボックスを作るための最大幅 */
  padding-top: 99.5%;
  /* 1:1のアスペクト比を維持するためのトリック */
  position: relative;
  /* 絶対配置の基準 */
}
#f_news .module_article .module_article_item .news_img figure {
  margin: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#f_news .module_article .module_article_item .news_img figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
  /* 画像をボックス全体にフィットさせる */
  max-width: 100%;
  /* ボックスの幅に合わせる */
  max-height: 100%;
  /* ボックスの高さに合わせる */
}
#f_news .module_article .module_article_item .news_date {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  color: #666666;
  text-align: right;
  line-height: 1;
  margin-top: 8px;
}
#f_news .module_article .module_article_item .event_date {
  color: #00A9AC;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: left;
  margin-top: 10px;
}
#f_news .module_article .module_article_item .shop_category {
  width: 110px;
  padding: 4px 0;
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  color: #fff;
  margin: 5px auto 5px 0;
}
#f_news .module_article .module_article_item h3 {
  display: -webkit-box;
  /* 必須 */
  -webkit-box-orient: vertical;
  /* 必須 */
  -webkit-line-clamp: 2;
  /* 行数を制限 */
  overflow: hidden;
  /* はみ出た部分を非表示 */
  color: #666666;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: left;
  padding-bottom: 3px;
  margin-bottom: 3px;
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
}
#f_news .module_article .module_article_item .shop_info {
  color: #666666;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
}
#f_news .link {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  align-items: center;
  text-decoration: none;
  background: #00A9AC;
  display: block;
  width: 190px;
  text-align: center;
  padding: 12px 0;
  margin: 0px auto 0;
}

.breadcrumb {
  margin: 20px auto 40px;
  padding: 0;
  list-style: none;
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-size: 1.4rem;
  font-weight: 500;
  width: 92%;
  max-width: 1200px;
}
@media screen and (max-width: 768px) {
  .breadcrumb {
    display: none !important;
  }
}
.breadcrumb br {
  display: none !important;
}

.breadcrumb li {
  display: inline;
  /*横に並ぶように*/
  list-style: none;
  font-weight: bold;
  /*太字*/
}

.breadcrumb li:after {
  /* >を表示*/
  content: ">";
  padding: 0 0.2em;
  color: #666666;
}

.breadcrumb li:last-child:after {
  content: "";
}

.breadcrumb li a {
  text-decoration: none;
  color: #666666;
}

.breadcrumb li a:hover {
  text-decoration: underline;
}

.breadcrumb li:last-child a {
  color: #00A9AC;
}

.pc_only {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }
}

.sp_only {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp_only {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  #p_title {
    width: 92%;
    margin: 0 auto;
  }
}
#p_title .title {
  font-family: "Noto Serif JP", sans-serif;
  color: #00A9AC;
  font-size: 3.4rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 60px;
}
#p_title .title.have_sub {
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  #p_title .title.have_sub {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  #p_title .title {
    margin: 40px auto;
    font-size: 2.8rem;
  }
}
#p_title .sub_title {
  color: #666666;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 70px;
}
@media screen and (max-width: 768px) {
  #p_title .sub_title {
    font-size: 1.6rem;
    margin-bottom: 50px;
  }
}

.nav_area {
  padding-top: 80px;
  width: 68.9%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .nav_area {
    width: 92%;
  }
}
.nav_area a {
  text-decoration: none;
  color: #666666;
}
.nav_area .sns_icon {
  justify-content: center;
}
.nav_area .sns_icon::before {
  content: none;
}
.nav_area .sns_icon::after {
  content: none;
}

.nav_area .nav_one .nav_header {
  background-color: #ffffff;
  padding: 15px 8px 15px 0;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition: 0.2s;
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
}
@media screen and (max-width: 768px) {
  .nav_area .nav_one .nav_header {
    padding: 10px 8px 10px 0;
  }
}

.nav_area .nav_one:last-child .nav_header:not(.open) {
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
}

.nav_area .nav_one .nav_header.open {
  border-bottom: 1px dashed rgba(51, 51, 51, 0.5);
}

.nav_area .nav_one .nav_header:not(.open):hover {
  background-color: #ffffff;
}

.nav_area .nav_one:nth-child(odd) .nav_header {
  background-color: #ffffff;
}

.nav_area .nav_one:nth-child(odd) .nav_header:not(.open):hover {
  background-color: #ffffff;
}

.nav_area .nav_one .nav_header .i_box {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  padding: 2px;
}

.nav_area .nav_one .nav_header .i_box:before,
.nav_area .nav_one .nav_header .i_box:after {
  position: absolute;
  content: "";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
}

.nav_area .nav_one .nav_header .i_box:before {
  border-top: 2px solid #00A9AC;
  width: 14px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 2px;
}

.nav_area .nav_one .nav_header .i_box:after {
  border-left: 2px solid #00A9AC;
  width: 0;
  height: 14px;
  top: 0;
  bottom: 0;
  right: 8px;
  transition: 0.3s;
}

.nav_area .nav_one .nav_header.open .i_box:after {
  height: 0;
}

.nav_area .nav_one .nav_inner {
  display: none;
  padding: 0px 0px 0px 0;
  box-sizing: border-box;
  background: #fff;
}

.nav_area .nav_one:last-child .nav_inner {
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
}

.nav_item {
  padding: 15px 0;
  display: block;
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
  font-size: 1.6rem;
  font-weight: 500;
}
.nav_item:first-child {
  border-top: 1px solid rgba(51, 51, 51, 0.5);
}
@media screen and (max-width: 768px) {
  .nav_item {
    padding: 10px 0;
    font-size: 1.4rem;
  }
}

/*=========
nav
=========*/
.p-nav__headinner {
  display: block;
  position: relative;
  line-height: 1.5;
}

.p-nav__headinner p.p-nav__q-txt {
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-nav__headinner p.p-nav__q-txt {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 736px) {
  .p-nav__headinner {
    padding-left: 0px;
  }
  .p-nav__headinner::before {
    font-size: 14px;
  }
  .p-nav__headinner p.p-nav__q-txt {
    font-size: 14px;
  }
}
.p-nav__bodyinner {
  display: block;
  position: relative;
  line-height: 1;
  border-bottom: 1px dashed rgba(51, 51, 51, 0.5);
  width: 100%;
}
.p-nav__bodyinner:last-child {
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
}

.p-nav__bodyinner a.p-nav__a-txt {
  font-size: 1.6rem;
  font-weight: 500;
  display: block;
  padding: 15px 0 15px 1em;
}
@media screen and (max-width: 768px) {
  .p-nav__bodyinner a.p-nav__a-txt {
    font-size: 1.4rem;
    padding: 10px 0 10px 1em;
  }
}

@media screen and (max-width: 736px) {
  .p-nav__bodyinner {
    padding-left: 0px;
  }
  .p-nav__bodyinner::before {
    font-size: 14px;
  }
  .p-nav__bodyinner p.p-nav__a-txt {
    font-size: 14px;
  }
}
.sns_icon {
  width: 164px;
  margin: 30px auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sns_icon:after {
  content: "";
  width: 33px;
  display: block;
}
.sns_icon::before {
  content: "";
  width: 33px;
  display: block;
  order: 1;
}
.sns_icon li {
  width: 33px;
}
.sns_icon li a {
  display: block;
  padding: 0 !important;
}

.popup-wrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.6);
  transition: all 0.5s ease-in-out;
}

.popup-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 15px 30px 15px 30px;
  /* 任意のサイズに設定可能 */
  width: 400px;
  height: auto;
  z-index: 20;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .popup-content {
    width: 92%;
  }
}

.popup-wrapper02 {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.6);
  transition: all 0.5s ease-in-out;
}

.popup-content02 {
  position: absolute;
  top: 53%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 15px 30px 15px 30px;
  width: 60%;
  max-height: 80vh;
  max-width: 1000px;
  height: auto;
  z-index: 20;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .popup-content02 {
    width: 95%;
  }
}
.popup-content02 img {
  max-height: 69vh;
  margin: 0 auto;
}

.popup-wrapper03 {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.6);
  transition: all 0.5s ease-in-out;
}

.popup-content03 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 15px 30px 15px 30px;
  /* 任意のサイズに設定可能 */
  width: 400px;
  max-height: 80vh;
  max-width: 800px;
  height: auto;
  z-index: 20;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .popup-content03 {
    padding: 4%;
    width: 92%;
  }
}
.popup-content03 .hanrei_title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  color: #666666;
  text-align: center;
  margin-bottom: 35px;
}
.popup-content03 .map_hanrei {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.popup-content03 .map_hanrei li {
  width: 50%;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  color: #666666;
  margin-bottom: 25px;
  display: flex;
  align-items: center;
}
.popup-content03 .map_hanrei li:before {
  content: "";
  width: 25px;
  height: 25px;
  background: url(../img/common/icon_12.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  margin-right: 8px;
}
.popup-content03 .map_hanrei li:nth-child(2):before {
  background: url(../img/common/icon_13.svg);
}
.popup-content03 .map_hanrei li:nth-child(3):before {
  background: url(../img/common/icon_14.svg);
}
.popup-content03 .map_hanrei li:nth-child(4):before {
  background: url(../img/common/icon_15.svg);
}
.popup-content03 .map_hanrei li:nth-child(5):before {
  background: url(../img/common/icon_16.svg);
}
.popup-content03 .map_hanrei li:nth-child(6):before {
  background: url(../img/common/icon_17.svg);
}
.popup-content03 .map_hanrei li:nth-child(7):before {
  background: url(../img/common/icon_18.svg);
}
.popup-content03 .map_hanrei li:nth-child(8):before {
  background: url(../img/common/icon_19.svg);
}
.popup-content03 .map_hanrei li:nth-child(9):before {
  background: url(../img/common/icon_21.svg);
}
.popup-content03 .map_hanrei li:nth-child(10):before {
  background: url(../img/common/icon_21.svg);
}
.popup-content03 .map_hanrei li:last-child {
  width: 100%;
}
.popup-content03 .map_hanrei li:last-child:before {
  width: 48px;
  background: url(../img/common/icon_20.jpeg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.popup-content03 .close_btn {
  font-size: 1.4rem;
  color: #666666;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  .popup-content03 {
    width: 95%;
  }
}
.popup-content03 img {
  max-height: 75vh;
  margin: 0 auto;
}

.calendar-wrap02 {
  width: 100%;
  max-width: 600px;
  /* 適切なサイズに調整 */
  margin: 0 auto;
  padding: 20px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.close_btn {
  font-size: 1.4rem;
  color: #666666;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  margin-top: 15px;
}

.calendar-nav {
  display: flex;
  justify-content: space-between;
}

.calendar {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  background: #fff;
}

.calendar th {
  padding: 10px 0;
  font-weight: bold;
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-size: 1.4rem;
}

.calendar td {
  padding: 10px 0;
  width: 14.28%;
  font-size: 14px;
  line-height: 1;
  font-weight: bold;
  color: #CED1D8;
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-size: 1.2rem;
}
.calendar td.event_color {
  background: #fae8e7;
}

.calendar-nav {
  background: #fff;
  text-align: center;
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-size: 2rem;
  font-weight: 700;
  padding: 10px 0;
}

.calendar a {
  display: block;
  padding: 5px;
  color: #666;
  text-decoration: none;
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-size: 1.4rem;
}

.link {
  transition: all 0.3s ease-in-out;
}
.link:hover {
  opacity: 0.8;
}

.module_article_item a:hover figure img {
  transform: scale(1.1);
}

.link {
  cursor: pointer;
}

.policy_bold {
  font-weight: 700;
  font-size: 1.6rem;
}

.policy_size {
  font-weight: 700;
  display: block;
}

.slider {
  height: 0;
}

.facility_link {
  background: #ed1c24;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  padding: 5px 0;
  width: 190px;
  margin: 20px auto 0;
  color: #fff;
  display: block;
  border-radius: 5px;
  transition: all 0.5s ease-in-out;
}
.facility_link.gray {
  background: #999999;
}
.facility_link:hover {
  opacity: 0.8;
}

.breadcrumb li.news_category {
  display: none;
}

.breadcrumb li.shop_cat {
  display: none;
}

.breadcrumb li.shop_sort {
  display: none;
}

.breadcrumb li.shop_floor {
  display: none;
}

.breadcrumb li.news_category.current-item {
  display: inline-block;
}

.breadcrumb li.shop_cat.current-item {
  display: inline-block;
}

.breadcrumb li.shop_sort.current-item {
  display: inline-block;
}

.breadcrumb li.shop_floor.current-item {
  display: inline-block;
}

.pagetop {
  width: 45px;
  height: 45px;
  position: fixed;
  bottom: 4%;
  right: 2%;
  transition: all 0.3s;
  opacity: 0;
  z-index: 99;
}

.pagetop__link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: #e6e6e6;
  border-radius: 5px;
  text-align: center;
  font-size: 18px;
  font-size: bold;
  line-height: 1.3;
  text-decoration: none;
}

.pagetop__text {
  padding-top: 15px;
  position: relative;
}

.pagetop__text::before {
  content: "〈";
  display: inline-block;
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
}

.pagetop__text::after {
  content: "〈";
  display: inline-block;
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
}

/* TOPボタン出現後のスタイル */
.pagetop.fadeIn {
  opacity: 1;
  visibility: inherit;
}

.svg-inline--fa {
  width: 50%;
}

.news_img {
  border: 1px solid #CCC;
  border-radius: 7px;
  width: 100%;
  max-width: 540px;
  /* 1:1のボックスを作るための最大幅 */
  padding-top: 99.5%;
  /* 1:1のアスペクト比を維持するためのトリック */
  position: relative;
  /* 絶対配置の基準 */
}
.news_img figure {
  margin: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.news_img figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
  /* 画像をボックス全体にフィットさせる */
  max-width: 100%;
  /* ボックスの幅に合わせる */
  max-height: 100%;
  /* ボックスの高さに合わせる */
}

.module_article .module_article_item:nth-child(n+2) .news_img {
  border: 1px solid #CCC;
  border-radius: 7px;
  width: 100%;
  max-width: 540px;
  /* 1:1のボックスを作るための最大幅 */
  padding-top: 99.5%;
  /* 1:1のアスペクト比を維持するためのトリック */
  position: relative;
  /* 絶対配置の基準 */
}
.module_article .module_article_item:nth-child(n+2) .news_img figure {
  margin: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.module_article .module_article_item:nth-child(n+2) .news_img figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
  /* 画像をボックス全体にフィットさせる */
  max-width: 100%;
  /* ボックスの幅に合わせる */
  max-height: 100%;
  /* ボックスの高さに合わせる */
}
/*# sourceMappingURL=default.css.map */