@charset "utf-8";
/* CSS Document */

/* 共通部分
-------------------- */
html{
	font-size: 100%;
	scroll-behavior: smooth;
}
body{
	font-family: "M PLUS Rounded 1c", sans-serif;
	line-height: 1.7;
	color: #000;
}
a{
	text-decoration: none;
}
img{
	max-width: 100%;
}
ul{
	list-style: none;
}

/* ボタンアニメーション */
.c-btn.slide{
	background: #000;
	color: #fff;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.c-btn.slide::after {
	background: #a5040d;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
	z-index: -1;
}
.c-btn.slide:hover::after {
  transform: scale(1, 1);
}

/* レイアウト */
.wraper{
	max-width: 1366px;
	margin: auto;
}
.align-center{
	text-align: center;
}
.contact-wraper{
	max-width: 1024px;
	margin: 4rem auto 6rem;
	padding: 0 2rem;
}
.explanation{
	margin: 2rem 1.5rem 6rem;
}

/* フォント */
.font-english-1{
	font-family: "Antonio", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
}
.font-english-2{
	font-family: "Bebas Neue", sans-serif;
  	font-weight: 400;
  	font-style: normal;
}
.font-japanese-1{
	font-family: "M PLUS 1", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 600;
  	font-style: normal;
}
.font-japanese-2{
	font-family: "M PLUS 1", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 700;
  	font-style: normal;
}
.font-japanese-3{
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
}
.font-japanese-4{
	font-family: "M PLUS 1", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 900;
  	font-style: normal;
}
.font-japanese-5{
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.font-japanese-6{
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.font-big{
	font-size: 2.5rem;
}
.font-wh{
	color: #fff;
}
.header-access,
.footer-access{
	font-size: 0.9rem;
}

/* ヘッダー
-------------------- */
.page-header{
	padding-bottom: 0.25rem;
	border-bottom: 15px solid #000;
}
.header-under{
	border-bottom: 5px solid #000;
}
.header-logo{
	width: 250px;
}
.header-haiti{
	padding: 0 1.5rem;
}
.logo-haiti{
	display: flex;
	gap: 2rem;
	align-items: flex-end;
	margin-bottom: 3rem;
}

/* ナビ */
.menu{
	font-size: 1.5rem;
	display: flex;
	justify-content: flex-end;
}
.slash{
	height: 65px;
	margin-right: 0.75rem;
}

/* メニューリストのスタイル */
.menu ul{
	display: flex;
	gap: 2.5rem;
	list-style-type: none;
	padding: 0;
}
.menu ul li{
	display: flex;
	align-items: flex-end;
}

.menu-box{
	display: flex;
	
	margin-top: 1rem;
	
	/* 文字色変化 */
	/* 文字色は透明にして背景が見えるようにする */
	color: transparent;
	
	/* 赤と黒が50%の位置で切り替わるグラデーション */
	background: linear-gradient(to right, #9f5f5d 50%, #000 50%) 100%;
	/* 背景をテキストで切り抜く */
	background-clip: text;
	
	/* 横幅は200%にしてグラデーションの青部分は見えないようにする */
	background-size: 200% 100%;
	
	transition: background-position 0.3s;
}

.menu-box:hover {
	/* 文字色変化 */
	/* グラデーションの位置を移動して、赤部分を見せる */
	background-position: 0 100%;
}

/* メニューアイコン切り替え */
.icon-box{
	cursor: pointer;
	position: relative;
	width: 35px;
}
.icon-box img {
	left: 0;
	position: absolute;
	width: 100%;
}

/* 2枚目の画像は最初透明 */
.icon-box img:last-of-type {
	opacity: 0;
	transition: opacity .05s;
}

/* hoverすると2枚目の画像が透明じゃなくなる */
.menu li:hover img {
	opacity: 1;
}

.contact-icon{
	top: 8px;
}

.nav-text{
	padding-left: 0.75rem;
}

/* アクセス */
.syamei{
	max-width: 550px;
}

/* キャッチコピー
-------------------- */
.catch-phrase{
	margin: 5rem auto 2.5rem;
}
.catch-phrase img{
	max-width: 900px;
	padding: 0 1.5rem;
}

/* スライドインアニメーション */
.slidein {
    opacity: 0;
    transform: translate(0,0);
    transition: all .5s;
  &.slidein-bottom{
      transform: translate(0,30%);
  }
  &.scrollin{
    transform: translate(0, 0)!important;
    opacity: 1!important;
  }
}

/* バイク画像
-------------------- */
.main-image{
	background-image: url(../images/bike-img.webp);
	background-size: cover;
	background-position: left center;
}

/* ロゴアニメーション */
.view-02{
	transform: translateX(30px);
    opacity: 0;
    transition: all 1s ease-in-out 1s;
}
.view-02 img{
    vertical-align: middle;
}
.view-02.js-on-02{
    transform: translateX(0px);
    opacity: 1;
}

.ft02-logo{
	max-width: 250px;
	margin: 10rem 0 2rem 1.5rem;
}

/* 説明
-------------------- */

/* リンク下線アニメーション */
.explanation a{
	color: #9f5f5d;
	background-image: linear-gradient(#9f5f5d, #9f5f5d);
	background-repeat: no-repeat;
	background-position: bottom right; /* 下線の初期位置 */
	background-size: 0 1.5px; /* 下線のサイズ（横幅、高さ） */
	transition: background-size 0.3s;
}
.explanation a:hover{
	background-position: bottom left; /* 下線のホバー時位置 */
	background-size: 100% 1.5px; /* 下線の横幅を100%にする */
}

.midashi-design{
	font-size: 3.5rem;
	margin-bottom: 1.2rem;
}
.explanation p{
	font-size: 1.075rem;
}

/* スムージー
-------------------- */
.smoothie{
	background-image: url(../images/smoothie_b.webp);
	background-size: cover;
	background-position: right top;
	padding: 3rem 1.5rem;
}
.smoothie-haiti{
	display: flex;
	justify-content: space-between;
}
.smoothie-explanation{
	width: 60%;
}
.banana{
	font-size: 5.5rem;
	line-height: 1;
	border-bottom: solid 1px #fff;
}
.smoothie-txt-01{
	margin-top: 1rem;
	padding-right: 11rem;
	font-size: 1.3rem;
}
.hazimemasita{
	font-size: 1.75rem;
}
.smoothie-txt-02{
	margin-top: 0.5rem;
	padding-right: 10rem;
}
.smoothie-img{
	width: 55%;
	margin-left: -10rem;
	background-image: url(../images/smoothie.png);
	background-size: 70%;
	background-position: right bottom;
}
.hukidasi-list{
	padding-top: 7rem;
	padding-bottom: 1rem;
}
.hukidasi-list li{
	margin-bottom: 0.75rem;
}
.hukidasi-01{
	max-width: 33%;
}
.hukidasi-02{
	max-width: 33%;
	margin-left: 3rem;
}
.hukidasi-03{
	max-width: 32%;
	margin-left: 1.5rem;
}

/* 吹き出しアニメーション */
.view{
	position: relative;
    overflow: hidden;
}
.view img{
    vertical-align: middle;
    transform: scale(0);
    transition: all .3s ease-in-out .3s;
}
.view.js-on img{
    transform: scale(1);
}

/* フッター
-------------------- */
.page-footer{
	background-color: #000;
	padding: 3rem 1.5rem 0;
}
.footer-haiti{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.footer-logo{
	width: 150px;
}
.footer-access{
	display: flex;
	align-items: center;
	gap: 2rem;
	padding-bottom: 1.5rem;
}

/* ナビ */
.page-footer ul{
	height: 70px;
}

/* メニューリストのスタイル */

.menu-box-f{
	display: flex;
	
	margin-top: 1rem;
	padding-bottom: 0.5rem;
	
	/* 文字色変化 */
	/* 文字色は透明にして背景が見えるようにする */
	color: transparent;
	
	/* 赤と白が50%の位置で切り替わるグラデーション */
	background: linear-gradient(to right, #9f5f5d 50%, #fff 50%) 100%;
	/* 背景をテキストで切り抜く */
	background-clip: text;
	
	/* 横幅は200%にしてグラデーションの青部分は見えないようにする */
	background-size: 200% 100%;
	
	transition: background-position 0.3s;
}

.menu-box-f:hover {
	/* 文字色変化 */
	/* グラデーションの位置を移動して、赤部分を見せる */
	background-position: 0 100%;
}


/* お問い合わせ
-------------------- */
.contact-wraper h2{
	font-size: 3rem;
	margin-bottom: 1rem;
}
.p-bottom{
	margin-bottom: 2rem;
}

/* ACCESS */
.access{
	margin-bottom: 3rem;
}
.access iframe{
	height: 500px;
}

/* CONTACT */
.contact-form{
	margin-bottom: 1.5rem;
	display: flex;
}
.form-wrap{
	font-size: 0.9rem;
	border: 1px solid #dadada;
	padding: 0.25rem 0.5rem;
	outline : 1px solid #efeeee;/* 内側線　線の太さ・線状・色 */
	outline-offset : -1.5px;/* どれだけ内側に線を表示したいかを負の値で指定 */
}
.name-area{
	display: flex;
	gap: 1rem;
}
.form-title{
	width: 175px;
}
.input-area{
	margin-left: 1rem;
	width: 100%;
	max-width: 650px;
}
.wid-name{
	width: 20%;
}
.wid-long{
	width: 95%;
}
.wid-middle{
	width: 70%;
}
.wid-short{
	width: 50%;
}
.contact-content{
	width: 95%;
	height: 200px;
}
.form-right{
	margin-left: 0.5rem;
}
.preflist{
	margin-bottom: 1rem;
}
.checkb-text{
	font-size: 0.9rem;
	margin: 0 1.5rem 0 0.5rem;
}
.send-btn{
	width: 250px;
	padding: 0.5rem 2rem;
	margin: 0 0 1rem 2rem;
}


@media (min-width: 950px){
	.checkb-text{
		display: flex;
		gap: 1rem;
	}
}



























