@charset "utf-8";

/********** 【仮】 サイトの定義 **********

使用する文字サイズ：
10px
12px
14px
16px（基本）
18px（中サイズ見出し）
20px（特例:TOPの検索するボタンなど）
24px（特例:TOPのエリア検索・駅検索など）
28px（大サイズ見出し）

空白の使用サイズ：
10px
20px
40px（基本）
60px
120px（大見出しの段落ごと）

*******************************/


html {
	scroll-behavior: smooth;
}

body {
	/* font-family: "YakuHanJP","Roboto","Noto Sans JP",Meiryo,sans-serif; */
	margin: 0;
	color: #000;
	font-size: 16px;
}

.only_sp { display:none !important; }

img { display:block; }

a { color:#a52b8e; text-decoration:underline; }
a:hover { color:#a52b8e; text-decoration:none; }
a:active, a:focus { outline: 0; }

a img:hover { opacity:0.8; transition: 0.5s; }

strong { font-weight:normal; }

div,
section {
	margin: 0;
	padding: 0;
	font-size: 0;
}

div::after,
section::after {
   content: "";
   display: block;
   clear: both;
}

p {
	margin: 0 0 10px 0;
	padding: 0;
	font-size: 16px;
}

p:last-child {
	margin: 0;
	margin-bottom: 0;
}

ul {
	margin: 0;
	padding: 0;
	font-size: 0;
}

li {
	list-style: none;
	font-size: 16px;
}

table {
	text-shadow: none;
}


.clear {
	clear: both;

	margin: 0;
	padding: 0;
}


.Impact {
	vertical-align: -2px;
	font-family: Impact;
	font-size: 120%;
	font-weight: normal !important;
}




/*** 【フォント読み込み】 Impactフォント ***/

@font-face {
	font-family:Impact;
	src:url('../../fonts/impact.ttf') format("truetype");
}




/********** ヘッダー領域 **********/

header {
	width: 100%;
	background: #000;
}

header #head {
	width: 100%;
	background: #a52b8e;
}

header #head .description {
	width: 1200px;
	margin: 0 auto;
	padding: 0;
	height: 24px;
	line-height: 24px;
}

header #head .description h1 {
	float: left;
	display: inline-block;
	margin: 0;
	font-size: 12px;
	font-weight: normal;
	color: #fff;
}

header #head .description h1 a {
	color: #fff;
	text-decoration: underline;
}
header #head .description h1 a:hover {
	color: #fff;
	text-decoration: none;
}


header #region {
	width: 100%;
	height: 192px;

	background-repeat: no-repeat;
	background-position: center center;
}




/********** 上部グローバルメニュー **********/

nav {
	width: 100%;
	background: #a52b8e;
}

nav ul {
	width: 1200px;
	margin: 0 auto;
}

nav ul li {
	display: inline-block;

	position: relative;

	width: calc(1200px / 10 - 11px / 10);
	height: 57px;
	border-right: 1px solid #fff;
	font-weight: 900;
	text-align: center;

	transition: 0.2s;
}
nav ul li:first-child {
	border-left: 1px solid #fff;
}

nav ul li a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;

	line-height: 18px;
	padding: 10px 0;

	color: #fff;
	text-decoration: none;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;

	transition: 0.2s;
}
nav ul li a:hover {
	color: #a52b8e;
	background-color: #fff;
}

nav ul li span {
	font-size: 11px;
	font-weight: normal;
	color: #d971c6;
}



/*-- ※ネット予約ボタンとして使う※ LINEお問い合わせ 追従キャラクター --*/

#fade-character.fade-element {
  position: fixed;
  bottom: 435px;
  right: 282px;
  opacity: 0;			/* 初期状態：透明 */
  visibility: hidden;	/* 初期状態：クリックできないようにする */
  transition: all 0.5s;	/* フェード効果の速さ */
  z-index: 999;
}

/* スクロール時にJSで付与するクラス */
#fade-character.fade-element.is-show {
  opacity: 1;			/* 表示状態 */
  visibility: visible;
}


#fade-character.fade-element #line_animation {
	position: absolute; /* ← 【注】 この行を消すと、縦揺れのアニメーションが動作しなくなる */
}

#fade-character.fade-element #line_animation img {
    position: fixed;
    z-index: 9999;
}




/********** メイン画像 **********/

#main_Image {
	width: 100%;
	height: 675px;

	background-image: url("../../img/main_Image/pc/index.png");
	background-repeat: no-repeat;
	background-position: top 190px center;
}




/*** パンくずリスト ***/

#breadcrumb {
	width: 100%;
	padding: 5px 0;
	background: #eee;

	border-top: 1px solid #ccc;
    outline: 1px solid rgb(255, 255, 255); /*outlineでドットの線を追加*/
    outline-offset: -2px; /*outline-offsetの値を-1pxにして内側に調整*/

	border-bottom: 1px solid #ccc;
}

#breadcrumb ul {
	width: 1200px;
	margin: 0 auto;
}

#breadcrumb ul li {
	display: inline-flex;
	font-size: 14px;

	line-height: 20px;
}

#breadcrumb ul li::after {
	content: '\f105';
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	color: #999;

	margin: 0 7.5px;
}

#breadcrumb ul li:last-child::after {
	content: '';
}

#breadcrumb ul li a {
	color: #000;
	text-decoration: none;
}
#breadcrumb ul li a:hover {
	color: #a52b8e;
	text-decoration: underline;
}

#breadcrumb ul li a i {
	margin-right: 5px;
	color: #a52b8e;
}




main {

}




section {
	width: 100%;
	text-align: center;
}

section div.content {
	width: 1200px;
	margin: 0 auto;
	padding: 80px 0;
}

section div.content h3 {
	display: inline-block;
	height: 58px;
	line-height: 58px;
	margin: 0 0 40px 0;

	font-size: 40px;
	font-family: 'Noto Sans JP',system-ui;
	font-weight: 900;
}

section div.content h3 strong {
	font-weight: 900;
}


section div.content p {
	word-break: break-all;
}

section div.content p.description {
	margin-bottom: 40px;
}

section div.content p.description:last-child {
	margin-bottom: 0;
}

section div.content p.description a,
section div.content p.description a:hover { color:#777; }

section div.content p i {
	margin-right: 5px;
}




/********** ここに名前を入れる **********/








/********** 先頭へ戻るボタン **********/
#pageTop {
	position: fixed;
	z-index: 9999;

	width: 56px;
	height: 56px;

	right: 22px;
}
#pageTop a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;

  background: #a52b8e;
  border: 2px solid #fff;
  border-radius: 50%;

  opacity: 0.8;
}
#pageTop a:hover {
  background: #fff;
  border: 2px solid #a52b8e;
  transition : .5s;
}
#pageTop a::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#pageTop a:hover::before {
  color: #a52b8e;
  transition : .5s;
}




/********** フッター領域全体 **********/

footer {
	padding: 40px 0 10px 0;
	border-top: 1px solid #ddd;
}


/*** フッター上部 （ サイト内メニューリンク ） ***/
footer .f_top {
	width: 1200px;
	margin: 0 auto 40px;
}

footer .f_top .menuLink {
	float: left;

	width: 1027px;
}

footer .f_top .menuLink ul {
	margin-bottom: 5px; /* 右端のロゴ（高さ45px）と、高さを合わせるため */
}

footer .f_top .menuLink ul:last-child {
	margin-bottom: 0;
}

footer .f_top .menuLink ul li {
	display: inline-block;
	font-size: 14px;
}

footer .f_top .menuLink ul li::after {
    content: "｜";
    color: #777;
}

footer .f_top .menuLink ul li:last-child::after {
    content: "";
}

footer .f_top .menuLink ul li a {
	color: #000;
}

footer .f_top .f_logo {
	float: right;
}

footer .f_top .f_logo img {
	height: 45px;
}

footer .f_top .f_logo a img:hover { opacity:unset; transition:unset; }


/*** フッター下部 （ コピーライト ） ***/
footer .copyright {
	width: 1200px;
	margin: 0 auto;
	text-align: center;
}

footer .copyright p {

}

footer .copyright p.by {
	margin-bottom: 10px;
	font-size: 12px;
	color: #999;
}

footer .copyright p.by a {
	color: #777;
}

footer .copyright p.copy {
	color: #999;
}

footer .copyright p.copy a {
	font-weight: bold;
}

footer .copyright p.copy a strong {
	font-weight: bold;
}




/*画面幅が1340px以上の時（パソコン）*/
@media screen and (min-width:1340px){
	
}



/*画面幅が1339pxまでの時（iPad など）*/
@media screen and (max-width:1339px){

}




/*==================================================
ボタン 縮小＆拡大アニメーションCSS
===================================*/

.Btn_anim a {
  animation: pypy 2s ease-out infinite;
  opacity: 1;
}
@keyframes pypy {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}




/*==================================================
背景色が伸びて出現＝左から右へ流れる背景（適用箇所： h3 等）
===================================*/

/*背景色が伸びて出現（共通）*/
.bgextend {
  animation-name:bgextendAnimeBase;
  animation-duration:1s;
  animation-fill-mode:forwards;
  position: relative;
  overflow: hidden;/*　はみ出た色要素を隠す　*/
  opacity:0;
}

@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;  
  }
}

/*中の要素*/
.bgappear {
  animation-name:bgextendAnimeSecond;
  animation-duration:1s;
  animation-delay: 0.6s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes bgextendAnimeSecond{
  0% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}

/*左から*/
.bgLRextend::before {
  animation-name:bgLRextendAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
}
.bgLRextend.white::before { background-color:#fff; }	/*伸びる背景色の設定*/
.bgLRextend.yellow::before { background-color:#ff0; }	/*伸びる背景色の設定*/

@keyframes bgLRextendAnime{
  0% {
    transform-origin:left;
    transform:scaleX(0);
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:right;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
  }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgLRextendTrigger {
    opacity: 0;
}




/*==================================================
奥から手前へズームして出現（適用箇所：　　等）
===================================*/

/* --------------------------
【初期状態】 アニメーションを適用する要素
 -------------------------- */
.animate {
    opacity: 0; /* 初期状態では非表示 */
    transition: opacity 0s ease-out, transform 0.6s ease-out; /* 透明度と変形を3秒かけてスムーズに変化 */
}

/* ズームインアニメーション（拡大しながら表示） */
.zoom-in {
    transform: scale(0.1); /* 初期状態では10%のサイズ */
}

/* --------------------------
 【最終状態】要素が画面内に入ったとき（アニメーション完了時）
 -------------------------- */
.show {
    opacity: 1; /* 完全に表示 */
    transform: translateY(0) scale(1) translateX(0) rotateY(0); /* 元の位置・サイズ・回転に戻す */
}




/*==================================================
フェードアップ＝下から上へ出現（適用箇所：「class="box"」を設定済みの<li> 等）
===================================*/

/* スタート時は要素自体を透過0にするためのopacity:0;を指定する */
.box{
  opacity: 0;
}


.fadeUp {
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}