@charset "UTF-8";
/*=============================================================

  Date: 2021-09-01
  CSS Document ： felissimo chocolate museum
  
  共通style
  
=============================================================*/
/* google font import */
@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');
/* 全体 */
body .pc_fcm {
 display: block !important;
}
body .sp_fcm {
 display: none !important;
}
.fsc_gfooter__copies {
  font-family: 游ゴシック, "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic", メイリオ, Meiryo, "Noto Sans", "Noto Sans CJK JP", "system-ui", sans-serif;
  letter-spacing: 0;
  -moz-osx-font-smoothing: unset;
  -webkit-font-smoothing: subpixel-antialiased;
}
body {
	font-size: 10px;
 overflow-x: hidden;
 width: 100%;
 text-align: left;
 color: #000;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
	animation: fade 0.5s 0.1s both;
}
@keyframes fade {
 0% {
  opacity: 0;
 }
 100% {
  opacity: 1;
 }
}
img {
 height: auto;
 vertical-align: bottom;
 border: none;
}
body:not(.is_ie) p {
 /* text-align: justify;
 text-justify: inter-ideograph; */
}
.align-right_fcm {
 text-align: right;
}
.clearfix:after {
 line-height: 0;
 display: block;
 visibility: hidden;
 clear: both;
 height: 0;
 content: '.';
}
.clearfix {
 display: block;
}
/* safari対策 */
*:focus {
 outline: none;
}
/* アンカーリンク ポジション */
.anchor_fcm {
 position: absolute;
 width: 0;
 height: 0;
 top: -80px;
}
/* 改行させない */
span.word-wrap_fcm {
 display: inline-block;
}
@media (min-width: 920px) {
 a:hover {
  opacity: .9;
 }
 a {
  transition: all .3s;
 }
}
/*===== SP =====*/
@media (max-width: 919px) {
 body .pc_fcm {
  display: none !important;
 }
 body .sp_fcm {
  display: block !important;
 }
 body {
  -webkit-text-size-adjust: 100%;
 }
 a:active {
  opacity: .6;
 }
}

/*==================================

ルビ

==================================*/
[data-ruby] {
		position: relative;
		margin-top: 0.2em;
		display: inline-block;
        line-height: 1.2;
}
[data-ruby]::before {
		content: attr(data-ruby);
		position: absolute;
		text-align: center;
		top: -0.8em;
		left: 0;
		right: 0;
		margin: auto;
		font-size: 0.38em;
		letter-spacing: 0.5em;
		white-space: nowrap;
        line-height: 1;
}

/*------------------------------------

wrapper

------------------------------------*/
#wrapper_fcm {
 font-size: 1.3vw;
 line-height: 2.0;
 padding-top: 70px;
 letter-spacing: .1em;
}
#wrapper_fcm::-webkit-scrollbar, #luxy::-webkit-scrollbar {
 display: none
}
.is_pc #luxy {
 /* 慣性スクロール用 */
 padding-bottom: 80px;
}
#wrapper_fcm a:hover {
 text-decoration: none;
}
@media (min-width: 1200px) {
 #wrapper_fcm {
  font-size: 17px;
 }
}
/*===== SP =====*/
@media (max-width: 919px) {
 #wrapper_fcm {
  font-size: 2.8vw;
  padding-top: 60px;
 }
}
.main_fcm {
 -webkit-transform: translate3d(0, 0, 0);
 transform: translate3d(0, 0, 0);
 -webkit-backface-visibility: hidden;
 backface-visibility: hidden;
	
 font-family: 'Hiragino Kaku Gothic W4 JIS2004', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', 'sans-serif';
}
/*------------------------------------

inner_fcm（内容表示領域）

------------------------------------*/
.inner_fcm {
 width: 90%;
 max-width: 1200px;
 margin: 0 auto;
}
/*------------------------------------

header

------------------------------------*/
#header_fcm {
 font-size: 75%;
 position: fixed;
 z-index: 10;
 top: 0;
 left: 0;
 width: 100%;
 min-height: 56px;
 border-bottom: 1px solid #e5e5e5;
 background: #fff;
}
#header_fcm .inner_fcm {
 position: relative;
}
/* header logo */
#header_fcm .logo_fcm {
 width: 25%;
 position: absolute;
 z-index: 3;
 top: 0.5em;
 left: 3%;
 box-sizing: border-box;
 /*transition: all 0.3s;*/
}
#header_fcm .logo_fcm a {
 position: relative;
 width: 100%;
 display: block;
}
#header_fcm .logo_fcm img {
 /* padding: 1.3em; */
 background: #fff;
 width: 100%;
 position: absolute;
 top: 5px;
 left: 0;
}
#header_fcm .logo_fcm img.logo-normal_fcm {
 display:none;
}
/* #header_fcm .logo_fcm:not(.beside_fcm) img.logo-normal_fcm {
 display: block;
 animation: fade 0.5s forwards;
}
#header_fcm .logo_fcm.beside_fcm img.logo-normal_fcm {
 animation: fade-out-logo 0.5s forwards;
}
#header_fcm .logo_fcm.beside_fcm img.logo-beside_fcm {
 display: block;
 animation: fade 0.5s forwards;
 width: 100%;
} */
/*===== PC =====*/
@media (min-width: 920px) {
 #header_fcm {
  min-width: 920px;
 }
}
/*===== SP =====*/
@media (max-width: 919px) {
 #header_fcm .logo_fcm {
  width: 60%;
  max-width: 320px;
  padding: 0 .7em;
  left: 3%;
 }
 #header_fcm .logo_fcm img.logo-beside_fcm {
  margin-top: 0vw;
 }
 #header_fcm .logo_fcm img.logo-normal_fcm {
  width: 40%;
 }
 #header_fcm .logo_fcm.beside_fcm {}
 #header_fcm .inner_fcm {
  width: 100%;
 }
}
@media (max-width: 375px) {
 #header_fcm .logo_fcm img.logo-beside_fcm {
  margin-top: 1.5vw;
 }
}
/*------------------------------------

グローバルナビ

------------------------------------*/
.gnav_fcm {
 padding: 1.5em 0 0.5em;
 width: 100%;
 display: block;
 font-family: 'Hiragino Kaku Gothic W4 JIS2004', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', 'sans-serif';

}
.gnav-menu_fcm ul li {
 display: block;
 padding: .8em 0.8% .5em;
 min-width: 3em;
}
/* PC */
@media (min-width: 920px) {
 .gnav-btn_fcm {
  display: none;
 }
 .gnav-menu_fcm {
  position: relative;
  right: auto;
  min-height: 50px;
 }
 .gnav-menu_fcm ul {
  display: block;
  text-align: right;
  width: 100%;
 }
 .gnav-menu_fcm ul li {
  display: inline-block;
  position: relative;
 }
 .gnav-menu_fcm ul li > a::after {
  display: block;
  width: 0;
  height: 2px;
  content: '';
  transition: all .3s;
  background: #000;
 }
 .gnav-menu_fcm ul li div a::after {
  display: block;
  width: 0;
  height: 1px;
  content: '';
  transition: all .4s;
  background: #d2d2d2;
 }
 .gnav-menu_fcm ul li > a.active::after, .gnav-menu_fcm ul li a:hover::after {
  width: 100%;
 }
 .gnav-sub_fcm {
  display: none;
  height: auto;
  font-size: 90%;
  position: absolute;
  padding-top: 10px;
  top: 3.4em;
  left: 0%;
  text-align: left;
  width: max-content;
  min-width: 100%;
 }
 .gnav-sub-inner_fcm {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 1.2em 1.5em;
  background: #f2f2f2;
 }
 .gnav-sub-inner_fcm span {
  position: absolute;
  top: 0px;
  left: calc(50% - 10px);
  margin: auto;
  vertical-align: middle;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #f2f2f2;
 }
 .gnav-sub_fcm a {
  display: block;
 }
 .gnav-menu_fcm ul li:nth-child(1) .gnav-sub_fcm {left: -18%;}
 .gnav-menu_fcm ul li:nth-child(2) .gnav-sub_fcm {left: -1%;}
 .gnav-menu_fcm ul li:nth-child(3) .gnav-sub_fcm {left: -36%;}
 .gnav-menu_fcm ul li:nth-child(4) .gnav-sub_fcm {left: -77%;}
 .gnav-menu_fcm ul li:nth-child(5) .gnav-sub_fcm {left: -0%;}
 .gnav-menu_fcm ul li:nth-child(6) .gnav-sub_fcm {left: -12%;}
}
/* SP */
@media (max-width: 919px) {
 /* SP用 ハンバーガーメニュー */
 .gnav_fcm .gnav-btn_fcm {
  position: relative;
  z-index: 4;
  float: right;
  box-sizing: border-box;
  width: 30px;
  height: 24px;
  margin: 8px 5% 19px 0;
  cursor: pointer;
  transition: all 400ms;
 }
 .gnav_fcm .gnav-btn_fcm span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  transition: all 400ms;
  border-radius: 10px;
  background: #bda881;
 }
 .gnav_fcm .gnav-btn_fcm span:nth-child(1) {
  top: 0;
 }
 .gnav_fcm .gnav-btn_fcm span:nth-child(2) {
  top: 10px;
 }
 .gnav_fcm .gnav-btn_fcm span:nth-child(3) {
  top: 20px;
 }
 .gnav_fcm .gnav-btn_fcm.open span:nth-child(1) {
  top: 6px;
  transform: rotate(-45deg);
  background: #bda881;
 }
 .gnav_fcm .gnav-btn_fcm.open span:nth-child(2), .gnav_fcm .gnav-btn_fcm.open span:nth-child(3) {
  top: 6px;
  transform: rotate(45deg);
  background: #bda881;
 }
 .gnav-menu_fcm {
  position: absolute;
  z-index: 2;
  top: 0;
  right: -100vw;
  display: flex;
  box-sizing: border-box;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  transition: .3s;
  background: #fff;
 }
 .gnav-menu_fcm.open {
  z-index: 3;
  right: 0;
  width: 100vw;
 }
 .gnav-menu_fcm ul li a {
  padding-bottom: 0.5em;
  text-decoration: none;
  display: block;
  line-height: 1.4;
 }
 .gnav-menu_fcm ul {
  display: flex;
  flex-direction: column;
  width: 100%;
 }
 .gnav_fcm {
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  font-size: 150%;
 }
 .gnav_fcm.open {
  z-index: 3;
 }
 .gnav-menu_fcm {
  padding-top: 1vh;
  width: 100vw;
  padding: 3em 0 4vh;
  border-bottom: 1px solid #e5e5e5;
 }
 .gnav-menu_fcm ul {
  width: 85%;
  margin: 0 auto 0;
  flex-direction: inherit;
  flex-wrap: wrap;
  justify-content: space-between;
 }
 .gnav-menu_fcm ul li{
  display:
  block;
  width: 47%;
  box-sizing: border-box;
 }
.gnav-menu_fcm ul li > a {
  font-weight: bold;
  display: block;
  margin: 1em 0 0.5em -.95em;
  padding-left: .7em;
  border-left: 3px solid #444444;
  line-height: 1;
 }
  .gnav-sub_fcm {
  display: block;
 }
 .gnav-sub-inner_fcm {
 }
 .gnav-sub-inner_fcm span {
 }
 .gnav-sub_fcm a {
 }
 
}
/*------------------------------------

下層ページ タイトル部分.common

------------------------------------*/
.ttl_fcm {
 background-image: url('../images/ttl_concept_bg.jpg');
 background-color: #fff;
 background-repeat: no-repeat;
 background-position: center center;
 background-size: cover;
 text-align: right;
 font-size: 85%;
	margin: 0;
}
.ttl_fcm .inner_fcm {
 display: flex;
 justify-content: flex-end;
 align-items: center;
 height: 300px;
}
/* 横から表示 */
@keyframes width-100-0 {
 0% {
  width: 100%;
 }
 100% {
  width: 0;
 }
}
.ttl_fcm .c-ttl_fcm {
 display: inline-block;
 text-align: center;
 margin-bottom: 0;
}
.ttl_fcm .c-ttl-main_fcm {
 color: #FFF;
}
.ttl_fcm .c-ttl-sub_fcm {
 color: #FFF;
}
/* SP */
@media (max-width: 919px) {
 .ttl_fcm {
  min-height: 1px;
  font-size: 80%;
 }
 .ttl_fcm .inner_fcm {
  height: 50vw;
 }
 .ttl_fcm::after {
  animation: width-100-0 0.4s forwards;
  animation-delay: 1.0s;
 }
}
/*------------------------------------

各パーツ

------------------------------------*/
/* カテゴリタイトル */
.c-ttl_fcm {
 margin-bottom: 1em;
}
.c-ttl-main_fcm {
 font-family: 'Barlow', sans-serif;
 font-size: 500%;
 font-weight: 300;
 font-style: italic;
 line-height: 1;
 color: #bda881;
 margin: 0;
}
.c-ttl-sub_fcm {
 font-family: 'Hiragino Mincho W4 JIS2004', 'MS PMincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'serif';
 font-size: 140%;
 margin-left: 0.3em;
}
/* more ボタン */
.more-btn_fcm {
 font-size: 90%;
 display: flex;
 margin: 1em auto 0;
 text-align: center;
 flex-wrap: nowrap;
 justify-content: space-between;
}
.more-btn_fcm a {
 font-family: 'Barlow', sans-serif;
 font-size: 130%;
 font-weight: 300;
 position: relative;
 display: block;
 min-width: 12em;
 margin: 0 auto;
 padding: .4em 0;
 text-align: center;
 letter-spacing: .25em;
 border: 1px solid #000;
}
.more-btn_fcm .arrow {
 position: absolute;
 width: 1em;
 height: 1em;
 top: 39%;
 right: 0.9em;
 display: inline-block;
 /* padding-left: .5em; */
 transition: all .3s;
 vertical-align: middle;
 text-decoration: none;
}
.more-btn_fcm .arrow::before {
 top: 0;
 left: 0;
 width: 100%;
 height: 1px;
 background: #000;
 transition: all 0.3s;
}
.more-btn_fcm .arrow::after {
 top: 27.5%;
 right: -15%;
 width: 48%;
 height: auto;
 transform: rotate(35deg);
 border-top: 1px solid #000;
 transition: all 0.3s;
}
/* 矢印 → */
.arrow::before, .arrow::after {
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 margin: auto;
 content: '';
 vertical-align: middle;
}
/* PC */
@media (min-width: 920px) {
 .more-btn_fcm a::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  display: block;
  width: 0;
  height: 100%;
  content: '';
  transition: all .3s;
  background: #000;
 }
 .more-btn_fcm a:hover {
  color: #fff;
 }
 .more-btn_fcm a:hover::before {
  width: 100%;
 }
 .more-btn_fcm a:hover .arrow {
  margin-right: -0.5em;
 }
 .more-btn_fcm a:hover .arrow::before {
  background: #fff;
 }
 .more-btn_fcm a:hover .arrow::after {
  border-top: 1px solid #fff;
 }
}
/* SP */
@media (max-width: 919px) {
 .more-btn_fcm .arrow::after {
  top: 25.5%;
 }
}
/* 共通文字スタイル */
.indent_fcm {
 padding-left: 1em;
 text-indent: -1.1em;
}
.inner-min_fcm p {
 margin-top: 20px;
}
.min-txt_fcm {
 margin-top: 10px !important;
}
.bold-txt_fcm {
 font-family: "Hiragino Kaku Gothic W5 JIS2004", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}
.red-txt_fcm {
 color: #930b04;
 font-family: "Hiragino Kaku Gothic W5 JIS2004", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}
.link_fcm {
 border-bottom: 1px solid #930b04;
 color: #930b04 !important;
 font-family: "Hiragino Kaku Gothic W5 JIS2004", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}
/*------------------------------------

共通 background color

------------------------------------*/
.bg-brown_fcm {
 background-color: #b29478;
}
/*------------------------------------

Footer_fcm

------------------------------------*/
#footer_fcm {
 font-size: 90%;
 padding: 3em 0;
 color: #fff;
 background-color: #28160d;
 background-image: url('../images/common/bg_footer.jpg');
 background-repeat: no-repeat;
 background-position: center center;
 background-size: cover;
	
 font-family: 'Hiragino Kaku Gothic W4 JIS2004', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', 'sans-serif';
}
#footer_fcm .flex_fcm {
 display: flex;
 flex-wrap: nowrap;
 justify-content: space-around;
}
/* Footer logo */
.footer-logo_fcm {
 width: 14%;
 padding-right: 7%;
 text-align: center;
 /* border-right: 1px solid #bda881; */
}
#footer_fcm .logo_fcm {
 z-index: 1;
 box-sizing: border-box;
 width: 100%;
}
#footer_fcm .logo_fcm img {
 width: 100%;
}
/* Footer link list */
#footer_fcm a {
 display: block;
 color: #fff;
}
#footer_fcm .footer-nav_fcm ul li {
 line-height: 1;
 margin: 0 1em 2em 3em;
}
#footer_fcm .footer-nav_fcm ul li a {
 margin-bottom: 1em;
}
/* footer リスト 見出し */
#footer_fcm .footer-nav-head_fcm:not(:first-child) {
 margin: 3.0em 0px 0;
}
#footer_fcm .footer-nav-head_fcm a {
 font-weight: bold;
 display: block;
 margin: 0 0 0 -.95em;
 padding-left: .7em;
 border-left: 4px solid #fff;
}
/* footer 予約ボタン */
#footer_fcm .footer-nav_fcm .footer-nav-reserve_fcm {
 width: 200px;
 margin-top: 3em;
}
/* コピーライト */
.copyright_fcm {
 font-family: 'Barlow', sans-serif;
 font-weight: 300;
 font-style: italic;
 text-align: right;
}
/* PC */
@media (min-width: 920px) {
 #footer_fcm .footer-nav_fcm ul {
  display: flex;
  flex-flow: nowrap;
  justify-content: space-around;
  margin-top: 0em;
 }
 #footer_fcm .footer-nav_fcm a:hover {
  opacity: 0.6;
 }
}
/* SP */
@media (max-width: 919px) {
 .footer-logo_fcm {
  width: 35%;
  padding-right: 5%;
 }
 #footer_fcm .footer-nav_fcm .footer-nav-reserve_fcm {
  width: 100%;
  margin-top: 3em;
 }
 #footer_fcm .footer-nav_fcm ul li {
 margin: 0 0em 2em 0em;
}
}
/*------------------------------------

SNS

------------------------------------*/
#sns_fcm {
 display: block;
 margin: 1.5em 0;
 text-align: center;
}
#sns_fcm ul {
 display: flex;
 justify-content: center;
}
#sns_fcm li {
 display: inline-block;
 width: 45px;
 margin: 0 15px;
}
#sns_fcm li a {
 width: 100%;
}
#sns_fcm li img {
 width: 100%;
 height: auto;
}
/* SP */
@media (max-width: 919px) {}
/*------------------------------------

追尾 予約ボタン

------------------------------------*/
/* 丸ボタン */
/* .reserve-btn_fcm {
 position: fixed;
 z-index: 2;
 right: 30px;
 bottom: 30px;
 display: block;
 height: auto;
 text-align: center;
} */
.reserve-btn_fcm.new-reserve {
 position: fixed;
 z-index: 2;
 right: 0;
 bottom: 50px;
 display: block;
 height: auto;
 text-align: center;
}
.reserve-btn_fcm a {
 position: relative;
 display: inline-block;
 width: 130px;
}
.reserve-btn_fcm a img {
	 position: relative;
}
.reserve-btn_fcm a::before {
 position: absolute;
 top: 0;
 left: 0;
 display: block;
 width: 100%;
 height: 100%;
 content: '';
 transition: all .3s;
 border-radius: 50%;
 background: #3c1e00;
}
.reserve-btn_fcm a.set-ticket {
	margin-top: 16px;
	width: 175px;
	display: block;
}
.reserve-btn_fcm a.set-ticket::before {
 position: absolute;
 top: 0;
 left: auto;
 right: 0;
 display: block;
 width: 105%;
 height: 100%;
 content: '';
 transition: all .3s;
 border-radius: 3em 0 0 3em;
}

.reserve-btn_fcm a.set-ticket.atoa::before {
    background: #0d6fb8;
}
.reserve-btn_fcm a.set-ticket.porttower::before {
    background: #e43737;
}

@media (min-width: 920px) {
 .reserve-btn_fcm a:hover {
  opacity: 1;
 }
 .reserve-btn_fcm a:hover::before {
  transform: scale(1.05, 1.05);
 }
}
@media (max-width: 919px) {
 /*SP*/
 .reserve-btn_fcm {
  right: 2vw;
  bottom: 2.5vw;
  width: 23%;
  height: 23vw;
 }
	.reserve-btn_fcm.new-reserve {
 bottom: 5vw;
 width: 23vw;
 right: 2.5vw;
}
	.reserve-btn_fcm a {
	width: 100%;
	}
	.reserve-btn_fcm a.set-ticket {
	width: 64%;
	margin-left: -28%;
}
	.reserve-btn_fcm a.set-ticket {
		width: 138%;
		margin-top: 2.8vw;
	}
}
/*------------------------------------

ページトップボタン

------------------------------------*/
/* .pagetop-btn_fcm {
width: 180px;
} */
/*------------------------------------

フェリシモ共通 Footer

------------------------------------*/
#Footer_fca ul {
 border-top: none;
}