/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

@media only screen and (max-width: 750px) {
img { max-width: 100%; }
}


.alpha a:hover img {
  opacity: 0.85;
  filter: alpha(opacity=85);
  -ms-filter: "alpha(opacity=85)";
}

.reflection-img{
    position    :relative;
    overflow    :hidden;
}
 
.reflection {
    height      :100%;
    width       :30px;
    position    :absolute;
    top         :-180px;
    left        :0;
    background-color: #fff;
    opacity     :0;
    transform: rotate(45deg);
    animation: reflection 2s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflection 2s ease-in-out infinite;
    -moz-transform: rotate(45deg);
    -moz-animation: reflection 2s ease-in-out infinite;
    -ms-transform: rotate(45deg);
    -ms-animation: reflection 2s ease-in-out infinite;
    -o-transform: rotate(45deg);
    -o-animation: reflection 2s ease-in-out infinite;
}
 
@keyframes reflection {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
    0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-ms-keyframes reflection {
    0% { -ms-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -ms-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -ms-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -ms-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-o-keyframes reflection {
    0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -o-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}




#footer02 {
  background: #222;
}

.ie #footer02 .logo img,
#footer02 .logo {
  display: inline-block;
  width: 120px;
}

#footer02 .nav li a {
  padding: 15px;
  color: #ccc;
}

#footer02 .c-btn {
  margin-left: 25px;
}


@media screen and (min-width: 641px) {
  #footer02 .logo {
    padding: 10px 0;
  }

  #footer02 .wrap {
    padding: 20px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  #footer02 .cont {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
  }

  #footer02 .nav {
    display: inline-block;
  }

  #footer02 .nav li {
    display: inline-block;
  }

  #footer02 .nav li a:hover {
    color: #ca353b;
  }
}

.floating-banner {
    position: fixed; /* 追従 */
    z-index: 99999; /* 他の要素の下に隠れないように */
    top: 80px; /* バナーの上下の位置 */
    right: 40px; /* バナーの左右の位置 */
}
.fpc {
    width: 150px; /* バナーの横幅を指定 */
}
.fsp {
    display: none; /* PCではスマホ用のバナーは非表示に */
}


.floating-banner ul {
	margin: 0;
	padding: 0;
}
.floating-banner li {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.floating-banner ul img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.float-pc {
	display: block;
}

.float-pc li {
	width: 150px;
}

.float-pc a {
	opacity: .8;
}
.float-pc a:hover {
	opacity: 1;
}

.float-sp {
	display: none;
}


@media screen and (max-width: 990px) { /* タブレット用のブレイクポイントを指定 */
    .fpc {
        display: none; /* タブレットサイズ以下でPC用のバナーを非表示に */
    }


}

@media screen and (max-width: 560px) { /* スマホ用のブレイクポイントを指定 */
    .fsp {
        display: inline-block; /* 消していたスマホ用のバナーを表示させる */
        width: 100vw; /* スマホの画面幅いっぱいにバナーを表示 */
    }
    .floating-banner  {
        top: unset; /* PCで指定していた上下の位置指定をクリア */
        right: 0; /* 左右の隙間が空かないように */
        bottom: 0; /* 画面の最下部にぴったりくっつくように指定 */
    }

.float-pc {
	display: none;
}

.float-sp {
	display: flex;
	width: 100%;
}
.floating-banner li {
	width: 100%;
}
#contact {
	padding-bottom: 10%;
}

}

/* スライドショーPC */
 /*=== 画像の表示エリア ================================= */
.slidepc {
  position   : relative;
  overflow   : hidden;
                    /* 画像のサイズに合わせて変更ください */
  width      : 1300px;
  height     : 650px;
  margin     : auto;
  background : #fff;
}
 
 /*=== 画像の設定 ======================================= */
.slidepc img {
  display    : block;
  position   : absolute;
                      /* 画像のサイズを表示エリアに合せる */
  width      : inherit;
  height     : inherit;
  opacity    : 0;
  animation  : slideAnime 10s ease infinite;
}
 
 /*=== スライドのアニメーションを段差で開始する ========= */
.slidepc img:nth-of-type(1) { animation-delay: 0s }
.slidepc img:nth-of-type(2) { animation-delay: 5s }
 
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime{
   0% { opacity: 0 }
   5% { opacity: 1 }
  50% { opacity: 1 }
  55% { opacity: 0 }
 100% { opacity: 0 }
}

/* スライドショーSP */
 /*=== 画像の表示エリア ================================= */
.slidesp {
  position   : relative;
  overflow   : hidden;
                    /* 画像のサイズに合わせて変更ください */
  width      : 100%;
  height     : 376px;
  margin     : auto;
  background : #fff;
}
 
 /*=== 画像の設定 ======================================= */
.slidesp img {
  display    : block;
  position   : absolute;
                      /* 画像のサイズを表示エリアに合せる */
  width      : inherit;
  height     : inherit;
  opacity    : 0;
  animation  : slideAnime 10s ease infinite;
}
 
 /*=== スライドのアニメーションを段差で開始する ========= */
.slidesp img:nth-of-type(1) { animation-delay: 0s }
.slidesp img:nth-of-type(2) { animation-delay: 5s }
 
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime{
   0% { opacity: 0 }
   5% { opacity: 1 }
  50% { opacity: 1 }
  55% { opacity: 0 }
 100% { opacity: 0 }
}

html { scroll-behavior: smooth;}


.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 0px
}
.youtube iframe {
    width: 100%;
    height: 100%;
}


.image-map-sp {
  position: relative;
  max-width: 100%;
}

.image-map-sp img {
  width: 100%;
  height: auto;
  display: block;
}

.link-area {
  position: absolute;
  display: block;
  z-index: 10;
}

/* 1300x451 基準のパーセンテージ指定（レスポンシブ対応） */
.area01 { top: 1.33%; left: 3.77%; width: 43.38%; height: 17.52%; }
.area02 { top: 1.33%; left: 52.69%; width: 43.38%; height: 17.52%; }
.area03 { top: 29.27%; left: 3.77%; width: 43.38%; height: 19.74%; }
.area04 { top: 29.05%; left: 52.85%; width: 43.23%; height: 18.62%; }
.area05 { top: 59.00%; left: 3.77%; width: 43.31%; height: 19.07%; }

<--
.link-area {
  background-color: rgba(255, 0, 0, 0.2); /* デバッグ用 */
}
