@charset "utf-8";

/* --------------------------------------- */
/* default-style
/* --------------------------------------- */
.bodycartlp {
    color: #000;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
    font-size: 1em;
    line-height: 1.0em;
    margin: 0;
    padding: 0;
    text-align: center;
  overflow: scroll;
    width:100%;
  max-width:750px;
    margin-left: auto;
    margin-right: auto;
}

.bodycartlp::-webkit-scrollbar {
display:none;
-ms-overflow-style
}   


a {
    cursor: pointer;
}
p {
    line-height: 1.6em;
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
img {
    border: none;
    max-width: 100%;
    height: auto;
}

.rl{
position: relative;
}

/* --------------------------------------- */
/* link
/* --------------------------------------- */
a img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: all 0.6s ease;
    -moz-transition: all 0.6s ease;
    -o-transition: all 0.6s ease;
    transition: all 0.6s ease;
}
a:link {
    color: #000;
    text-decoration: none;
}
a:visited {
    color: #333;
    text-decoration: underline;
}
a:hover, a:active, a:focus {
    color: #B21B55;
    text-decoration: underline;
}
/* --------------------------------------- */
/* clearfix
/* --------------------------------------- */
.clearfix {
    zoom: 1;
}
.clearfix:after {
    clear: both;
    content: "";
    display: block;
}
.flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
/* --------------------------------------- */
/* header
/* --------------------------------------- */

#wrapper {
    background: #FFF;
    margin: 0 auto;
    width: 100%;
    max-width: 750px;
    text-align: center;
box-sizing: border-box;
}

#header {
    background: #FFF;
    display: block;
    margin: 0 auto 0;
    padding: 3%;
    box-sizing: border-box;
    position: relative;
    width: 100%;
}
#header {
    zoom: 1;
}
#header:after {
    clear: both;
    content: "";
    display: block;
}
.h_logo {
    float: left;
    margin-top: 5px;
    width: 30%;
}
.header_tel {
    float: right;
    display: inline-block;
 width: calc(370 / 750* 100%);;
}


/* --------------------------------------- */
/* スマホ対応
/* --------------------------------------- */

@media screen and (max-width:720px) {
.pc_only2 {
    display: none !important;
}
}

@media screen and (min-width:769px) {
.sp_only2 {
    display: none !important;
}
}

/* 720px以下なら */
@media screen and (max-width:720px) {
.lpbody {
    width: 100%;
}
#wrapper {
    width: 100%;
}
}

/* --------------------------------------- */
/* ボタン動き
/* --------------------------------------- */
@keyframes btn_animation {
 0% {
 -webkit-transform: translateY(5px);
 transform: translateY(5px);
}
 100% {
 -webkit-transform: translateX(0%);
 transform: translateX(0%);
}
}
.btn_animation {
    animation-name: btn_animation;
    animation-duration: .5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

/* ===== 左右にスライド ===== */
.btn_animation2{
animation: btn_animation2 3s infinite;
}

@keyframes btn_animation2 {
0% {
		transform: translate(2px, 0px);
	}
	5% {
		transform: translate(-2px, 0px);
	}
	10% {
		transform: translate(2px, 0px);
	}
	15% {
		transform: translate(-2px, 0px);
	}
	20% {
		transform: translate(2px, 0px);
	}
	25% {
		transform: translate(-2px, 0px);
	}
	30% {
		transform: translate(0px, 0px);
	}
}


/* --------------------------------------- */
/* 湯気
/* --------------------------------------- */

@keyframes steam01 {
  0% {
    bottom: -60px;
    filter: blur(18px);
    transform: rotateY(0deg);
    transform: scale(0.6, 1);
    opacity: 0
  }
  11% { opacity: 0.1 }
  33% {
    transform: rotateY(40deg);
    transform: scale(1, 1.4);
    opacity: 0.5
  }
  66% {
    transform: rotateY(10deg);
    transform: scaleY(1.8, 1);
    opacity: 0.4
  }
  100% {
    bottom: 0;
    filter: blur(20px);
    transform: rotateY(60deg);
    transform: scaleY(2, 1.8);
    opacity: 0
  }
}
@keyframes steam02 {
  0% {
    bottom: -40px;
    filter: blur(16px);
    transform: rotateY(0deg);
    transform: scale(0.6, 0.6);
    opacity: 0
  }
  11% { opacity: 0.1 }
  33% {
    transform: rotateY(40deg);
    transform: scale(0.8, 1);
    opacity: 0.4
  }
  66% {
    transform: rotateY(2deg);
    transform: scaleY(1, 1.2)
  }
  100% {
    bottom: 0;
    filter: blur(20px);
    transform: rotateY(50deg);
    transform: scaleY(1.2, 1.4);
    opacity: 0
  }
}
.fv_steam {
  width: 100%;
  margin:auto;
}
.steamBox {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden
}
.steamBox > img {
  width: 100%;
  display: block
}
.steam01 {
  position: absolute;
  right: 0;
  animation: steam01 10s infinite linear;
  opacity: 0
}
.steam02 {
  position: absolute;
  left: 0;
  animation: steam02 14s infinite linear;
  opacity: 0
}

.steam01 img{
  width: 532px;
  height: 700px
}
.steam02 img {
  width: 399px;
  height: 600px
}


/* --------------------------------------- */
/* 落ち葉
/* --------------------------------------- */


/* ===== 落ち葉を表示するコンテナ ===== */
.leaves-container {
  position: relative;
  height: 100%;
  width: 100%; 
  overflow: hidden;
}

/* ===== 落ち葉 ===== */

.leaf {
  width:15%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  animation: animate-leaf 15s linear;
}

/* 落ち葉1 */
.leaf-1 {
  background-image: url('/Landing/formlp/Images/goboutya/leaf/autumn01.png'); /* 任意のパスを記入 */
}

/* 落ち葉2 */
.leaf-2 {
  background-image: url('/Landing/formlp/Images/goboutya/leaf/autumn02.png'); /* 任意のパスを記入 */
}

/* 落ち葉3 */
.leaf-3 {
  background-image: url('/Landing/formlp/Images/goboutya/leaf/autumn03.png'); /* 任意のパスを記入 */
}

/* ===== 落ち葉が降るアニメーション ===== */
@keyframes animate-leaf {
  0% {
    opacity: 0;
    top: 0;
    transform: rotate(0);
  }

  10% {
    opacity: 1;
  }

  90% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    top: 100vh;
    transform: rotate(1080deg);
  }
}

/* --------------------------------------- */
/* ログイン方法アコーディオン
/* --------------------------------------- */

.howto_login{
margin:0 3%;
}

.accordion-001 {
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
    background-color: #fff;
}

.accordion-001:not([open]) {
    margin-bottom: 7px;
}

.accordion-001 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    border-radius: 5px;
    background-color: #f0843d;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.accordion-001 summary::-webkit-details-marker {
    display: none;
}

.accordion-001 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .3s;
}

.accordion-001[open] summary::after {
    transform: rotate(225deg);
}

.accordion-001 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 2%;
    color: #69423b;
    transition: transform .5s, opacity .5s;
}

.accordion-001[open] p {
    transform: none;
    opacity: 1;
}

/* --------------------------------------- */
/* CTA
/* --------------------------------------- */

/* 定期 */
.btn01_2510{
position: absolute;
bottom: 22.5%;
left: 8%;
width: calc(635 / 750 * 100%);
}

/* 単品 */
.btn02_2610{
position: absolute;
bottom: 12%;
left: 8%;
width: calc(645 / 750 * 100%);
}



/* 電話CTA */
.cta6 {
position: relative;
}
.btn_cta6 {
background-color: transparent;
position: absolute;
left: 0;
right: 0;
bottom: 2%;
margin: auto;
width: 80%;
border-style:none;
}

/* --------------------------------------- */
/* フローティングボタン
/* --------------------------------------- */


.btn_f {
  position: fixed;
  bottom: 16px;
  right: 16px;
  z-index: 10;
  opacity: 0;
  pointer-events: none; /* 非表示時にクリックできないように */
  transition: opacity 0.4s ease; /* フェード速度 */
}

.btn_f.show {
  opacity: 1;
  pointer-events: auto;
}

.btn_f img {
  display: block;
  width: 130px;
  max-width: 30vw;
}

