@charset "utf-8";
@import url("./recommend.css");
/* --------------
 reset
-------------- */
input,
select,
textarea {
  max-width: 100% !important;
}
h1,
h2,
h3,
h4 {
  font-size: 100%;
}
body * {
  box-sizing: border-box;
}

/* --------------
 base
-------------- */
html {
  -webkit-text-size-adjust: none;
}
body {
  font-size: 16px;
}
.ifpc {
  display: none !important;
}

@media screen and (max-width: 320px) {
  /*以下の時*/
}
@media screen and (min-width: 321px) {
  /*以上の時*/
}

/* --------------
 modules css
-------------- */

/* ----- base width */
#siteHeader,
#container,
#siteFooter {
  width: 100%;
}
@media only screen and (orientation: landscape) {
  /*横向きの際に適用*/
}
@media screen and (min-width: 501px) {
  /*以上の時*/
}

@media only screen and (orientation: landscape) {
  /*横向きの際に適用*/
}

/* ---------- font size */

.spfs08 {
  font-size: 0.8em !important;
}
.spfs09 {
  font-size: 0.9em !important;
}
.spfs10 {
  font-size: 1em !important;
}
.spfs11 {
  font-size: 1.1em !important;
}
.spfs12 {
  font-size: 1.2em !important;
}
.spfs13 {
  font-size: 1.3em !important;
}
.spfs14 {
  font-size: 1.4em !important;
}
.spfs15 {
  font-size: 1.5em !important;
}

/* ---------- width */

.spwd80 {
  width: 80%;
}
.spwd90 {
  width: 90%;
}

/* ---------- order */

.order-box {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;

  -ms-flex-flow: column;
  -webkit-flex-flow: column;
  flex-flow: column;
}
.order1 {
  -webkit-order: 1;
  order: 1;
}
.order2 {
  -webkit-order: 2;
  order: 2;
}
.order3 {
  -webkit-order: 3;
  order: 3;
}
.order4 {
  -webkit-order: 4;
  order: 4;
}
.order5 {
  -webkit-order: 5;
  order: 5;
}
.order6 {
  -webkit-order: 6;
  order: 6;
}
.order7 {
  -webkit-order: 7;
  order: 7;
}
.order8 {
  -webkit-order: 8;
  order: 8;
}
.order9 {
  -webkit-order: 9;
  order: 9;
}
.order10 {
  -webkit-order: 10;
  order: 10;
}

/* --------------
 common
-------------- */

/* =header
-------------------------------------------------------------- **/
#header {
}

@media screen and (min-width: 501px) {
  /*以上の時*/
}
#siteHeader {
  position: relative;
}
#siteHeader .logo {
  max-width: 420px;
}

#header aside {
  height: 45px;
  padding: 5px;
  padding-right: 50px;
}
#header .logo {
  padding: 5px;
}

body.home #siteHeader.fixed .logo {
  text-align: center;
}
body.home #siteHeader.fixed .logo img,
body:not(.home) #header .logo img {
  max-height: 50px;
  max-width: calc(100% - 8rem) !important;
}

/* =subNav
---------------------------------------------------- */
.home #subNav {
  font-size: 0.8em;
  padding: 10px 5px;
  text-align: center;
}
.home #subNav dt,
.home #subNav dd {
  display: inline-block;
}
.home #subNav dd a {
  display: inline-block;
  padding: 0 5px;
}

.lower h1 {
  margin: 0.5rem 0;
}

.lower #subNav {
  font-size: 0.8em;
  align-self: center;
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
}
.lower .fixed #subNav {
  right: 3rem;
}
.lower #subNav dl {
  position: relative;
  background: #fff;
  z-index: 9999;
}
.lower #subNav dt {
  cursor: pointer;
  padding: 0.5em 1em;
  line-height: 1;
  /*width: 8em;*/
  box-shadow:
    1px 1px 0 #ccc inset,
    -1px -1px 0 #ccc inset;
}
.lower #subNav dd {
  position: absolute;
  top: 2em;
  left: 0;
  width: 100%;
  height: 0;
  overflow: hidden;
  border: #ccc solid 1px;
  border-top: 0;
  -webkit-transition: ease 0.1s;
  transition: ease 0.1s;
  background: #fff;
  opacity: 0;
}
.lower #subNav dl:hover dd {
  -webkit-transition: ease 0.4s;
  transition: ease 0.4s;
  opacity: 1;
  height: auto;
}
.lower #subNav a {
  display: block;
  padding: 0.25em 0.5em;
  border-top: #ccc solid 1px;
}

.lower #header .searchSp {
  display: block;
  text-align: right;
}
.home #header .searchSp {
  display: block;
  text-align: center;
}
.searchSp #srchBox #srchBtn {
  height: auto;
}

@media screen and (max-width: 500px) {
  /*以下の時*/
  .lower #subNav {
    margin-left: 10px;
  }
  .lower .searchSp #srchBox input#srchInput {
    width: 90px;
  }
  .lower .searchSp #srchBox #srchBtn {
    padding: 0 5px;
    border-radius: 5px;
    font-size: 0.9em;
  }
}
@media screen and (max-width: 400px) {
  /*以下の時*/
  body.home #siteHeader.fixed .logo img,
  body:not(.home) #header .logo img {
    max-width: calc(100% - 12rem) !important;
  }
}

/* =siteHeader
---------------------------------------------------- */

/* =globalNav
---------------------------------------------------- */

#globalNav #nav-open {
  position: fixed;
  top: 0;
  right: 0;
  background: #6893bd;
  color: #fff;
  font-size: 1.5rem;
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
}
#globalNav #nav-close {
  display: none; /*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0; /*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: 0.3s ease-in-out;
}

#slideMenu {
  position: fixed;
  top: 0;
  right: 0;
  width: 250px;
  background: #fff;
  /*height: 100%;*/
  /*	overflow-y: auto;
  overflow-x: visible;*/
  z-index: 9999;
  transition: 0.3s ease-in-out;
  -webkit-transform: translateX(105%);
  transform: translateX(105%);
}
#nav-input:checked ~ #nav-close {
  display: block; /*カバーを表示*/
  opacity: 0.5;
}
#nav-input:checked ~ #slideMenu {
  -webkit-transform: translateX(0%);
  transform: translateX(0%); /*中身を表示（右へスライド）*/
  box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
}

#mainNav {
  width: 100%;
  border-top: #34538b solid 1px;
}
#mainNav li {
  border-bottom: #aaa solid 1px;
}
#mainNav li a {
  display: block;
  padding: 0.6em 1em;
  color: #111;
  font-weight: bold;
}

#nav-input:checked ~ #slideMenu #closeBtn {
  position: absolute;
  top: 0;
  right: 250px;
  background: #6893bd;
  color: #fff;
  font-size: 1.5rem;
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  border-left: #fff solid 1px;
  border-bottom: #fff solid 1px;
}

/* =breadcrumb
---------------------------------------------------- */
#breadcrumb {
}
#breadcrumb li:last-child {
}
#breadcrumb ul {
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
}
#breadcrumb ul li {
  float: none;
  display: inline-block;
  vertical-align: middle;
}
/* =container
-------------------------------------------------------------- **/

.contents {
  padding: 1rem 20px;
}

.spclm2,
.spclm3,
.spclm4,
.spclm5,
.spclm6 {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  margin-left: -10px;
}
.spclm2 > * {
  width: calc((100% / 2) - 10px);
}
.spclm3 > * {
  width: calc((100% / 3) - 10px);
}
.spclm4 > * {
  width: calc((100% / 4) - 10px);
}
.spclm5 > * {
  width: calc((100% / 5) - 10px);
}
.spclm6 > * {
  width: calc((100% / 6) - 10px);
}

*::-ms-backdrop,
.spclm2 > * {
  width: calc(50% - 10px); /* IE11 */
}
*::-ms-backdrop,
.spclm3 > * {
  width: calc(33.33% - 10px); /* IE11 */
}
*::-ms-backdrop,
.spclm4 > * {
  width: calc(25% - 10px); /* IE11 */
}
*::-ms-backdrop,
.spclm5 > * {
  width: calc(20% - 10px); /* IE11 */
}
*::-ms-backdrop,
.spclm6 > * {
  width: calc(16.66% - 10px); /* IE11 */
}
.spclm2 > *,
.spclm3 > *,
.spclm4 > *,
.spclm5 > *,
.spclm6 > * {
  margin-left: 10px;
}

.spclm2 > * > a,
.spclm3 > * > a,
.spclm4 > * > a,
.spclm5 > * > a,
.spclm6 > * > a {
  position: relative;
  display: block;
  height: 100%;
}

.contents table.tbl-spclm {
}
.contents table.tbl-spclm th,
.contents table.tbl-spclm td {
  display: block;
  width: 100%;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}

.contents table.tbl-spclm tr:first-child > *:first-child {
  border-top: 0;
}

/* =headline / titles
---------------------------------------------------- */
.contents {
}

/* =sidebar
---------------------------------------------------- */
/* =aside
------------------------------------------ */
/* =sidebar
---------------------------------------------------- */

/* =bnrarea
-------------------------------------------------------------- **/

/* =footer
-------------------------------------------------------------- **/

/* =siteFooter
---------------------------------------------------- */
#footer {
}

#footerInfo {
  padding-left: 1em;
  padding-right: 1em;
}

#footNav {
  padding: 0;
}

.footmenu li a {
  display: block;
  padding: 10px;
}

.footer__anchor {
  display: block;
}

/* =copyright
---------------------------------------------------- */

/* =pageTop
-------------------------------------------------------------- **/
#pageTop a {
  width: 40px;
  height: 110px;
}

/* --------------
 page contents
-------------- */

.card h3 {
  font-size: 1.1rem;
}
.card-spwide a {
  display: flex !important;
}
.card-spwide a figure {
  width: 40%;
}
.card-spwide a figure .centerPhoto {
  height: 100%;
}
.card-spwide a .card-section {
  width: 60%;
  padding: 10px;
}

.repair a {
  display: block !important;
}

.btn-kotomi {
  font-size: 4vw;
}

/* =home
---------------------------------------------------- */

.list-kotomibtn2 li a.modern span {
  font-size: 0.6em;
}

.home .mainSlide .slick-slide .imgBox {
  margin: 0 5px;
  border-radius: 10px;
}

/* =lower
---------------------------------------------------- */

.lower .contents .cont-inner .cont-inner {
  /*margin: 0;*/
}

.search-box .search-box-terms .search-box-terms-item {
  width: 100%;
}
.search-box input[type="search"],
.search-box input[type="text"],
.search-box select {
  width: 100%;
  box-sizing: border-box;
}

.gourmet h2 span.category {
  /*line-height: 1;*/
}

/*------travel-------*/
.gridwrap {
  display: block;
}
/*-------------------*/

/*----- fukagawameshi top-----*/

.fm_slider .slick-list.draggable {
  width: 73%;
  margin-left: auto;
}
.mvSideCont {
  width: 27%;
}

@media screen and (min-width: 500px) and (max-width: 767px) {
  .mvSideCont {
    height: 50vh !important;
  }
  .fm_slider {
    height: 50vh !important;
  }
  .fm_slider-item {
    height: 50vh !important;
  }
}
@media screen and (max-width: 499px) {
  .mvSideCont {
    height: 35vh !important;
  }
  .fm_slider {
    height: 35vh !important;
  }
  .fm_slider-item {
    height: 35vh !important;
  }
}

#fukagawaMv {
  padding: 4vw 0;
}
#fukagawaMv h1 {
  max-width: 13vw;
  margin: 0 auto 15px;
}
#fukagawaMv nav {
  font-size: 2.5vw;
  width: 23vw;
  margin-left: 1%;
  margin-bottom: 7em;
}
#fukagawaMv nav ul li {
  margin-bottom: 10px;
}
#fukagawaMv nav ul li:last-of-type {
  margin-bottom: 0;
}
.fukagawameshi .credit {
  top: 85%;
  line-height: 1.1;
}

#fukagawameshi-about .spOder1 {
  order: 1;
}
#fukagawameshi-about .spOder2 {
  order: 2;
}
#fukagawameshi-about .spOder3 {
  order: 3;
}
#fukagawameshi-about .spOder4 {
  order: 4;
}
#fukagawameshi-about .aboutImg {
  max-width: 70vw !important;
  margin: 0 auto 1em;
}
#fukagawameshi-about .aboutBtn {
  text-align: center;
}

#fukagawameshi-about .aboutBtn a {
  padding: 8px 28px;
}
#fukagawameshi-about .aboutBtn span {
  display: inline-block;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  margin-bottom: 1px;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
}
#fukagawameshi-shop .areaShops {
  margin-bottom: 1.5em;
}
#fukagawameshi-shop .areaShops li {
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
}

#fukagawameshi-shop .shopRandom ul li {
  margin-bottom: 35px;
  margin-left: auto;
  margin-right: auto;
}
#fukagawameshi-shop .shopRandomCont .shopMore {
  margin-top: 1em;
}
#introduction-kiyosumi .cont-in,
#introduction-monzennaka .cont-in,
#introduction-kiba .cont-in {
  display: block;
}
.shop-contents {
  max-width: 80vw;
  margin: 0 auto 30px;
}
.shop-contents table {
  max-width: 100%;
}

/* 2/29add fukagawam  detail */
.fmCat01,
.fmCat02,
.fmCat03,
.fmCat04 {
  width: 30px;
  height: 30px;
  margin-left: 10px;
}
.detail-container .slider-container {
  width: 90%;
  margin: 0 auto;
}
.detail-container #slider img {
  height: 200px;
}
.detail-container #thumbs img {
  height: 50px;
}
/* ------------------------- */

@media screen and (max-width: 768px) {
  #fukagawaSub_nav.nav_bg {
    background-image: url(../../img/fukagawa/nav_bg_sp.jpg);
    background-size: cover;
    background-position: center;
  }
  #fukagawaSub_nav div nav .ulP {
    justify-content: space-between;
    justify-items: center;
  }
  .nav_logo a img {
    max-width: 200px;
    display: block;
  }
  #fukagawaSub_nav div nav .right-box {
    text-indent: 10em;
  }
  /*about us*/
  .description .in p {
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  /*detail*/
  .main-container,
  .detail-container,
  .menu-container {
    display: block;
  }
  .main-container p,
  .menu-container .m-box,
  .detail-container .d-box {
    padding: 30px;
    max-width: 100%;
  }
  div.img-box:after {
    content: none;
  }
}

@media screen and (max-width: 635px) {
  /*detail*/
  .detail-wrap {
    padding: 2em 20px;
  }
  .main-container p,
  .menu-container .m-box,
  .detail-container .d-box {
    padding: 30px 0;
  }
  /*introduction*/
  #fukagawameshi-shop .areaShops li:first-of-type {
    margin-top: 0;
  }
  .btn-group {
    display: block;
  }
  .btn-group li,
  .btn-group li:nth-of-type(2) {
    margin: 0 auto 30px;
    text-align: center;
  }
  .horizon:before,
  .horizon:after {
    width: 1em;
  }
  .horizon:before {
    margin-right: 0.25em;
  }
  .horizon:after {
    margin-left: 0.25em;
  }
  /*---test---*/
  .lower-list ul {
    display: block;
    text-align: center;
  }
  .lower-list ul li {
    margin-bottom: 10px;
  }
  /*----------*/
}
@media screen and (max-width: 485px) {
  .main-title .ttlGr {
    font-size: 1.2em;
  }
  .sub-title {
    font-size: 1.3em;
  }
  /*detail*/
  #mainInfo .in.alc h3.sub-title {
    font-size: 1.3em;
  }
  .m-box dl dt {
    font-size: 1.4em;
  }

  /*about us*/
  .description .in p {
    word-break: normal;
  }
  /*council*/
  .council-description p {
    word-break: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
}

/* ---------------------------- */

/* =sitemap
---------------------------------------------------- */
.sitemapmenu {
  border-bottom: #ddd solid 2px;
}
.sitemapmenu > li {
  border-top: #ddd solid 2px;
  background: #fff;
  position: relative;
}
.sitemapmenu li a {
  display: block;
  padding: 10px;
}

.sitemapmenu > li > a {
  color: #222;
  font-weight: bold;
}

.sitemapmenu .sitemapmenu-small {
  background: rgba(0, 0, 0, 0.1);
  display: flex;
  flex-wrap: wrap;
  border-top: #ddd solid 1px;
}
.sitemapmenu .sitemapmenu-small li {
  width: 50%;
}
.sitemapmenu .sitemapmenu-small li:nth-child(4n),
.sitemapmenu .sitemapmenu-small li:nth-child(4n-3) {
  background: rgba(255, 255, 255, 0.5);
}

.sitemapmenu-check + .sitemapmenu-label {
  position: absolute;
  top: 1.35em;
  right: 0.5em;
  transform: translateY(-50%);
  display: block;
  line-height: 1;
  padding: 0.4em 0.5em;
  background: #aaa;
  color: #fff;
  border-radius: 5px;
}
.sitemapmenu-check + .sitemapmenu-label + .sitemapmenu-small {
  height: 0;
  opacity: 0;
  transition: 0.5s;
  visibility: hidden;
}
.sitemapmenu-check:checked + .sitemapmenu-label + .sitemapmenu-small {
  height: auto;
  opacity: 1;
  visibility: visible;
}

.nav_ul > .nav_li {
  display: block !important;
}
.nav_ul > .nav_li > a {
  padding: 15px 30px;
  display: block;
  text-transform: uppercase;
}
.nav_ul > .nav_li > span {
  margin-left: 1.2em;
}
.nav_ul > .nav_li:hover > a {
  background-color: #efefef;
  color: #333333;
}

/* Submenu */

.nav_ul .nav_li .nav_ul_mini {
  position: relative !important;
}
.nav_ul .nav_li .nav_ul_mini .nav_li_mini {
  display: block;
}
.nav_ul .nav_li .nav_ul_mini .nav_li_mini a {
  color: #444;
}
.nav_ul .nav_li .nav_ul_mini .nav_li_mini a:hover {
  background-color: #ddd;
}
.sample01 .nav_ul .nav_li .nav_ul_mini {
  display: none;
}
.sample01 .nav_ul .nav_li:hover .nav_ul_mini {
  display: block;
}
.nav_ul_mini {
  background-color: rgba(255, 255, 255, 0.9);
}

.spml35 {
  margin-left: 35px !important;
}

.area-images {
  width: 49% !important;
}
.sp-block {
  display: block !important;
}
.pd10 {
  padding: 0.5em 10px !important;
}

.pd0 {
  padding: 0.5em 0px !important;
}

.spH120 {
  height: 120px !important;
}
.spH130 {
  height: 130px !important;
}
.spH140 {
  height: 140px !important;
}
.spH150 {
  height: 150px !important;
}
.spPd {
  padding: 0.5em 0 0 0 !important;
}
.spPd5 {
  padding: 5px !important;
}
.spmb0 {
  margin-bottom: 0 !important;
}
.nav_ul.is-open::after {
  content: "";
  width: 100%;
  height: 100%;
  cursor: default; /* カーソルはデフォルトに戻しておく */
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
}
.btn-a.next,
.btn-b.next,
.btn-c.next,
.btn-d.next {
  display: block;
}

/* = top insta
---------------------------------------------------- */

.list-instagram {
  display: flex;
  flex-wrap: wrap;
}
.list-instagram li {
  width: 33.33%;
  width: calc(100% / 3);
}
.list-instagram li figure {
  margin: 0;
}

/*----------------------------
member----------------------*/
.member .card-wide a figure {
  width: 30%;
  min-height: 200px;
}
.member .card-wide a figure h3 {
  border-bottom: 0px solid #fff;
  margin: 50px 0 0;
  padding: 10px;
  font-weight: bold;
  color: #fff;
  -webkit-text-stroke: #333 1px;
}

/*----------------------------
flower
-----------------------------*/
.flowerConts {
  grid-template-columns: 1fr 1fr;
}
.flower .lead {
  font-size: 0.875rem;
  letter-spacing: 0.01rem;
  line-height: 1.2;
  word-break: keep-all;
  word-wrap: break-word;
  overflow-wrap: break-word;
  line-break: strict;
}
@media screen and (max-width: 500px) {
  .flowerConts {
    grid-template-columns: 1fr;
    gap: 50px;
  }
}

/* add2025 */
.pc_none a {
  background-color: #f89700 !important;
  color: #fafafa !important;
}

/* add2026 */
.topics.detail #topics-summary .detail-body.wd70,
.topics.detail #topics-summary .wd55,
.event.detail #event-summary .detail-body.wd70,
.event.detail #event-summary .wd30 {
  width: 100% !important;
}
