﻿ @charset "utf-8"; 
 
 
/* アンダーライン系 */


em{
	border-bottom: solid 2px #e54130;
}


.underline{
	border-bottom: solid 2px #e54130;
}

.underlineBK{
	border-bottom: solid 2px #333;
}

.underlineB{
    background: linear-gradient(transparent 60%, #ffdd50 0%);
    font-style:normal;
}

.bgline{

}

.bglinemaru{
	background:#ffb557;
	border-radius: 8px;
	padding:1px 6px;
	margin:0 2px;

}


/* リンク用 動くアンダーライン */

a.line {
  position: relative;
  display: inline-block;
  transition: .3s;
	text-decoration:none;

}
a.line::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #e54130;
  transition: .3s;
text-decoration:none;
}
a.line:hover::after {
  width: 100%;
	text-decoration:none;

}


/* 画面固定からニョキと出るボタン */

#slideR {
  z-index: 99;
  cursor: pointer;
  position: fixed;
  bottom: 5%;
  right: -270px;
  width: 420px;
}

#slideR a:hover{
	opacity: 1}
}




/*  丸印テキスト　*/

.dot-text {
    padding-top: .3em;
    letter-spacing: 0px;
    background-position: top left 1px;
    background-repeat: repeat-x;
    background-size: 1em .3em;
    background-image: radial-gradient(.1em .1em at center center,#e85604,#e85604 100%,transparent);
    background-image: -webkit-radial-gradient(.1em .1em at center center,#e85604,#e85604 100%,transparent);
	background-image: -moz-radial-gradient(.1em .1em at center center,#e85604,#e85604 100%,transparent);
    
}


/*  等間隔 スマホで縦にするときはつかわない　*/

.toukannkaku{
	margin-bottom:50px;
    display: box;
    display: -webkit-box;
    display: -moz-box;
    display: -o-box;
    display: -ms-box;
    box-pack: justify;
    -moz-box-pack: justify;
    -webkit-box-pack: justify;
    -o-box-pack: justify;
    -ms-box-pack: justify;  
}




/* 画像 円が広がり出現　ファーストビューのみ */


.img-main {
  animation: img-circle 2s cubic-bezier(.4, 0, .2, 1);
}

@keyframes img-circle {
  0% {
    clip-path: circle(0 at 50% 50%);
    -webkit-clip-path: circle(0 at 50% 50%);
  }
  
  100% {
    clip-path: circle(100% at 50% 50%);
    -webkit-clip-path: circle(100% at 50% 50%);
  }
}




/* フェイドイン 下から登場 　ファーストビューのみ*/

@keyframes SlideUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.SlideUp{
    animation-name: SlideUp;/* アニメーション名 */
    animation-duration: 0.7s;/* 変化時間 */
    animation-delay: 1.8s;/* 開始時間 */  
	opacity: 0;/* 開始まで非表示 */
	animation-fill-mode: forwards; /*終了後保持*/
	animation-iteration-count: 1; /*リピート回数*/
	animation-timing-function： 	ease-in-out; /*開始時と終了時は、かなり緩やかに変化*/
}



/* フェイドイン 右から登場 　ファーストビューのみ*/

@keyframes SlideIn {
  0% {
    opacity: 0;
    transform: translateX(30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.feadin{
    animation-name: SlideIn;/* アニメーション名 */
    animation-duration: 1.0s;/* 変化時間 */
    animation-delay: 0.8s;/* 開始時間 */  
	opacity: 0;/* 開始まで非表示 */
	animation-fill-mode: forwards; /*終了後保持*/
	animation-iteration-count: 1; /*リピート回数*/
	animation-timing-function： 	ease-in-out; /*開始時と終了時は、かなり緩やかに変化*/
}

.feadin2{
    animation-name: SlideIn;/* アニメーション名 */
    animation-duration: 1.0s;/* 変化時間 */
    animation-delay: 1.0s;/* 開始時間 */  
	opacity: 0;/* 開始まで非表示 */
	animation-fill-mode: forwards; /*終了後保持*/
	animation-iteration-count: 1; /*リピート回数*/
	animation-timing-function： 	ease-in-out; /*開始時と終了時は、かなり緩やかに変化*/
}

.feadin3{
    animation-name: SlideIn;/* アニメーション名 */
    animation-duration: 1.0s;/* 変化時間 */
    animation-delay: 1.2s;/* 開始時間 */  
	opacity: 0;/* 開始まで非表示 */
	animation-fill-mode: forwards; /*終了後保持*/
	animation-iteration-count: 1; /*リピート回数*/
	animation-timing-function： 	ease-in-out; /*開始時と終了時は、かなり緩やかに変化*/
}

.feadin4{
    animation-name: SlideIn;/* アニメーション名 */
    animation-duration: 1.0s;/* 変化時間 */
    animation-delay: 1.5s;/* 開始時間 */  
	opacity: 0;/* 開始まで非表示 */
	animation-fill-mode: forwards; /*終了後保持*/
	animation-iteration-count: 1; /*リピート回数*/
	animation-timing-function： 	ease-in-out; /*開始時と終了時は、かなり緩やかに変化*/
}






 
/* スクロールを促す */

.scroll {
  display: inline-block;
  padding-top: 70px;
  position: relative;
}
.scroll::before {
  animation: scroll 3.5s infinite;
  border: solid #000;
  border-width: 0 0 1px 1px;
  content: "";
  display: inline-block;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  transform: rotate(-45deg);
  width: 20px;
  height: 20px;
}
@keyframes scroll {
  0% {
    transform: rotate(-45deg) translate(0, 0);
  }
  80% {
    transform: rotate(-45deg) translate(-30px, 30px);
  }
  0%, 80%, 100% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}
 




/* スライドアニメ　Bottom to Top　ファーストビューのみ */
 
div.slide-up {
  height:;/* 要素の高さPC/SP指定 */
  overflow:hidden;
}
div.slide-up img {
  animation:slide-up;
  animation-duration:3.3s;
  margin-top:0%;
}

@keyframes slide-up {
  from {
    margin-top: 100%;
    height: 100%; 
  }

  to {
    margin-top: 0%;
    height: 100%;
  }
}


/* スライドアニメ　Right to Left　ファーストビューのみ */

div.slide-left {
  width:100%;
  overflow:hidden;
}
div.slide-left p {
  animation: slide-left 10s;
}

@keyframes slide-left {
  from {
    margin-left: 100%;
    width: 300%; 
  }

  to {
    margin-left: 0%;
    width: 100%;
  }
}


/* スライドアニメ　Left to Right　ファーストビューのみ */

div.slide-right {
  width:100%;
  overflow:hidden;
}
div.slide-right p {
  animation: 10s slide-right;
}

@keyframes slide-right {
  from {
    margin-left: -100%;
    width: 300%; 
  }

  to {
    margin-left: 0%;
    width: 100%;
  }
}

  


/* 画像左から流れる表示 マスク 　ファーストビューのみ*/

.img-wraphidari {
  overflow: hidden;
  position: relative;
}

.img-wraphidari:before {
  animation: img-wraphidari 1.7s cubic-bezier(.4, 0, .2, 1) forwards;
	animation-delay : .4s;/* 開始時間 */
  background: #f0e8e5;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1; 
}

@keyframes img-wraphidari {
  100% {
    transform: translateX(100%);  
  }
}


/* 画像上から流れる表示 マスク　ファーストビューのみ */

.img-wrapue {
  overflow: hidden;
  position: relative;
}

.img-wrapue:before {
  animation: img-wrapue 1.2s cubic-bezier(.4, 0, .2, 1) forwards;
  background: #f0e8e5;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

@keyframes img-wrapue {
  100% {
    transform: translateY(100%);
  }
}






 
  /* ボタン ななめに背景色変更 */

.buttonNa {
  position: relative;
  display: inline-block;
  padding: .2em 4em;
  border: 1px solid #d08181;
  color: #d08181;
  text-align: center;
  text-decoration: none;
  transition: .3s;
  overflow: hidden;
  font-family: 'Cormorant Garamond', serif;
  font-size:20px;
	cursor: pointer;
  z-index: 51;
}

.buttonNa::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: '';
  width: 120%;
  height: 100%;
  background: #d08181;
  transform-origin: right bottom;
  transform: skewX(30deg) scale(0, 1);
  transition: transform .6s;
  
}
.buttonNa:hover::before {
  transform-origin: left bottom;
  transform: skewX(30deg) scale(1, 1);
}

.buttonNa:hover {
  color: #fff;
	opacity: 1 ;	
  
}



  /* スライドアニメボタン テキスト用　透明→赤 */

a.button {
  position: relative;
  display: inline-block;
  padding: 0.8em 2.8em .7em 2.8em;
  border: 1px solid #d08181;
  color: #d08181;
  text-align: center;
  text-decoration: none;
  transition: .3s;
  z-index: 51;
}

a.button::before  {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #d08181;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
  color:#FFF;
}

a.button:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
  color:#FFF;
}



/* 背景白 */

.eff-txt .eff-txt_item>*{
	background-color:#fff;
	position:relative;
	-webkit-transition:all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition:all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
	padding: 1em 1em .8em 1em;
	line-height:100%;
}

.eff-txt .eff-txt_item>*::before{
	content:"";
	display:block;
	position:absolute;
	width:0;height:100%;
	left:0;top:0;
	background-color:#e54130;
	-webkit-transition:all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition:all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.eff-txt .eff-txt_item>*:last-child::before{-webkit-transition-delay:.18s;transition-delay:.18s}
.eff-txt .eff-txt_item>*>*{position:relative}
.eff-txt:hover .eff-txt_item>*{color:#fff}
.eff-txt:hover .eff-txt_item>*::before{width:100%}



/* 背景透明 */

.eff-txt2 .eff-txt_item>*{
position:relative;
-webkit-transition:all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
transition:all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
padding: 1em 1em .8em 1em;
line-height:100%;
color:#000;
border:1px solid #000;
}

.eff-txt2 .eff-txt_item>*::before{
content:"";
display:block;
position:absolute;
width:0;height:100%;
left:0;top:0;
background-color:#e54130;
-webkit-transition:all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
transition:all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
color:#000;
}

.eff-txt2 .eff-txt_item>*:last-child::before{-webkit-transition-delay:.18s;transition-delay:.18s}
.eff-txt2 .eff-txt_item>*>*{position:relative}
.eff-txt2:hover .eff-txt_item>*{color:#000;}
.eff-txt2:hover .eff-txt_item>*::before{width:100%;color:#000;}

a.eff-txt2 div.eff-txt_item span:hover{
color:#000 !important;
}


/* 赤から白 */

.eff-txt3 .eff-txt_item>*{
background-color:#e54130;
position:relative;
-webkit-transition:all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
transition:all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
padding: 1em 1em .8em 1em;
line-height:100%;
color:#000;
z-index:10;
}

.eff-txt3 .eff-txt_item>*::before{
content:"";
display:block;
position:absolute;
width:0;height:100%;
left:0;top:0;
background-color:#FFF;
-webkit-transition:all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
transition:all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
color:#000;
z-index:10;

}

.eff-txt3 .eff-txt_item>*:last-child::before{-webkit-transition-delay:.18s;transition-delay:.18s;color:#000;z-index:10;}
.eff-txt3 .eff-txt_item>*>*{position:relative;z-index:10;}
.eff-txt3:hover .eff-txt_item>*{color:#000!important;z-index:10;}
.eff-txt3:hover .eff-txt_item>*::before{width:100%;color:#000!important;z-index:10;}

.eff-txt3 .eff-txt_item span{
	z-index:20;
color:#000 !important;
}



/* アコーディオンメニュー　+-開閉 */

.acd {
  max-width: 100%;
  text-align:left;
  border-bottom: 1px dashed  #AAA;
  padding: 30px 0 0px 0
}

.acd-hidden{
  display: none;
}

.acd-open {
  display: block;
  padding: 0px 0px 10px 90px;
  cursor: pointer;
  margin: 0px 0 0 0;
  position: relative;
  font-size:22px;
}

.acd-close {
  display: block;
  height: 0;
  overflow: hidden;
  margin: 0px 10px 25px 90px;
  padding: 0px 0 0px 0;
  opacity: 0;
  transition: 0.5s;
  line-height:200%;
}

.acd-open::before,
.acd-open::after {
  content: '';
  width: 20px;
  height: 3px;
  background: #e54130;
  position: absolute;
  top: 40%;
  left: 3%;
  transform: translateY(-50%);
}

.acd-open::after {
  transform: translateY(-50%) rotate(90deg);
  transition: .5s;
}

.acd-hidden:checked + .acd-open:after {
  transform: translateY(-50%) rotate(0);
}

.acd-hidden:checked + .acd-open + .acd-close {
  height: auto;
  opacity: 1;
  padding: 10px;
}

.pulse {
  animation: pulse_7718 1.3s linear infinite;
  transform-origin: 50% 50%;
}

@keyframes pulse_7718 {
  0% { transform: scale(1.05) }
  50% { transform: scale(1) }
  100% { transform: scale(1.05) }
}

@media only screen and (max-width : 767px){
.acd-open {
  font-size:15px;
  padding: 0px 0px 5px 45px;
}
.acd-close {
  margin: 0px 5px 12px 45px;
}
}









/* youtube */

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}






/* 回る円 */

.mawaru span{
  display:inline-block;
  width:180px;
  height:180px;
}

.mawaru .circle{
  border-radius:100%;
  box-sizing:border-box;
  border:2px dashed  #e54130;
  animation:25s linear infinite rotation;
}

.mawaru2 span{
  display:inline-block;
  width:120px;
  height:120px;
}

.mawaru2 .circle{
  border-radius:100%;
  box-sizing:border-box;
  border:2px dashed  #e54130;
  animation:25s linear infinite rotation;
}

@keyframes rotation{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}


@media screen and (max-width: 767px) {
/* スマートフォン用のスタイル記述 */

.mawaru span{
  display:inline-block;
  width:80px;
  height:80px;
}

.mawaru2 span{
  display:inline-block;
  width:60px;
  height:60px;
}

}





@media screen and (max-width: 767px) {
/* スマートフォン用の下から出て固定ボタン */
.Bnr{
  display: none;
  width:100%;
}
  
.Bnr .Bnr__img{
  position: fixed;
  bottom: 0;
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  left:0;
  right:0;
  box-sizing:border-box;
}
.Bnr__img__inner{
  height: 78px;
  box-sizing:border-box;
  padding:2px 10px 0px 12px;
  background: #FFF;
  text-align:center;
  margin:0 auto;
}
.Bnr .Bnr__img__inner a{
  display: block;
}

.Bnr__img__inner img.pht{
	float:right;
	height:73px;
}
  
.Bnr .Bnr__img__inner p{
text-align:center;
  margin-bottom:6px;
  font-size:12px;
  padding-top:10px;
}
  
.Bnr .Bnr__img__inner a.btn0 {
    width:37%;
    font-size:12px;
    text-decoration:none;
    display:inline-block;
    text-align:center;
    padding:5px 0 6px 0;
    color:#FFF;
    background-color:#ED6270;
    border-radius:6px;
}
  
.Bnr .Bnr__img__inner a.btn1 {
    width:29%;
    font-size:12px;
    text-decoration:none;
    display:inline-block;
    text-align:center;
    padding:5px 0 6px 0;
    color:#FFF;
    background-color:#38AFAF;
    border-radius:6px;
  margin:0 5px;
}
  

.Bnr .Bnr__img p.close{
  position: absolute;
  left: 10px;
  top:-10px;
}
.Bnr .Bnr__img p.close a{
  display: block;
  width: 20px;
  height: 25px;
  text-align: center;
}
.Bnr .Bnr__img p.close a span{
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.Bnr .Bnr__img p.close a i{
  font-size: 23px;
  z-index: 888;
  color: #444;
}  
  
img.show{
   width:60%;
   float:none;
   margin-bottom:20px;
  }

}




/* スマホのみスワイプで横スクロールする */

/* パソコンではタイル型で表示 */
.slide-wrap {
	margin-top:15px;
	margin-bottom:40px;
    display: box;
    display: -webkit-box;
    display: -moz-box;
    display: -o-box;
    display: -ms-box;
    box-pack: justify;
    -moz-box-pack: justify;
    -webkit-box-pack: justify;
    -o-box-pack: justify;
    -ms-box-pack: justify;
}
/* サムネイルとタイトルのスタイル調整 */
.slide-wrap li img {
  display: block;
  height: auto;
  width: 100%;
}
@media screen and (max-width: 479px) {
/* スマホではスライダーで表示 */
  .slide-wrap {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
  }
.slide-wrap li {
    flex: 0 0 78%;
    margin:0 5px;
  }
}









