@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap');
/* CSS Document */
body {
	font-family: "Quicksand", "Hiragino maru Gothic ProN W4", "Hiragino Kaku Gothic Pro", "Hiragino Sans", arial, Meiryo, "MS PGothic", sans-serif;
	color: #1a1a1a;
}
a {
	color: #1a1a1a;
	text-decoration: none;
}
a:hover {
	color: #4e4e4e;
}
/* font */
h1, h2, h3, h4, h5, h6 { line-height: 1.7em}
p {
	font-size: 18px;
	color:#4d4746;
	line-height: 1.7em;}
td {
	font-size: 18px;}
.sm15 {font-size: 15px;}
.sm16{font-size: 16px;line-height: 1.8em;}
.em20{font-size: 20px;line-height: 1.8em;}
.font-gr {color: #869735;}
.font-blue {color: #02A39A;}
.font-red {color: #CB593E;}
.font-snow {color: #c0c0c0;}
.font-orange {color: #fec002;}
.icom {vertical-align: middle; font-size: 24px; padding-right: 15px;}
.mb-10 {margin-bottom: 10px}
.mb-20 {margin-bottom: 20px}
.mb-30 {margin-bottom: 30px}
.mb-40 {margin-bottom: 40px}
.mb-50 {margin-bottom: 50px}
.mb-60 {margin-bottom: 60px}
.mb-70 {margin-bottom: 70px}
.mb-80 {margin-bottom: 80px}
.mb-90 {margin-bottom: 90px}
.mb-100 {margin-bottom: 100px}
.pb-10 {padding-bottom: 10px}
.pb-20 {padding-bottom: 20px}
.pb-30 {padding-bottom: 30px}
.pb-40 {padding-bottom: 40px}
.pb-50 {padding-bottom: 50px}
.pb-60 {padding-bottom: 60px}
.pb-70 {padding-bottom: 70px}
.pb-80 {padding-bottom: 80px}
.pb-90 {padding-bottom: 90px}
.pb-100 {padding-bottom: 100px}
.pb-150 {padding-bottom: 150px}
.ml-15 {margin-left: 15px}
.pt-30{margin-top: 30px}
.ps-80{padding-left: 80px;} 
hr {
	display: block;
	border: 0; 
	margin:30px 20px 40px 20px; 
	height: 1px;
	background-image: -webkit-linear-gradient(left, rgba(204,204,204,0), rgba(204,204,204,0.75), rgba(204,204,204,0));
	background-image: -moz-linear-gradient(left, rgba(204,204,204,0), rgba(204,204,204,0.75), rgba(204,204,204,0)); 
	background-image: -ms-linear-gradient(left, rgba(204,204,204,0), rgba(204,204,204,0.75), rgba(204,204,204,0)); 
	background-image: -o-linear-gradient(left, rgba(204,204,204,0), rgba(204,204,204,0.75), rgba(204,204,204,0)); 
}
/* --badge-- */
.bg-green {background-color: #869735!important;font-weight: 400;}
.bg-blue {background-color: #02A39A!important;font-weight: 400;}
.bg-dark {background-color: #84776E!important; padding: 2px 7px; border-radius: 5px;font-weight: 400;font-size: 14px;}
.bg-red {background-color: #CB593E!important; padding: 2px 7px; border-radius: 5px;font-weight: 400;font-size: 14px;}
.marker-white {background:linear-gradient(transparent 20%, #fff 100%);padding-bottom: 0.1em;}
.marker-yellow {background:linear-gradient(transparent 20%, #faa700 100%);padding-bottom: 0.1em;}
.marker-blue {background:linear-gradient(transparent 60%, #02A39A 100%);padding-bottom: 0.1em;}
/* 波線マーカーの定義 */
.marker-wave {
	text-decoration: underline wavy rgba(255, 255, 255, 0.3); /* 種類(wavy) と 色 を指定 */
	text-underline-offset: 0.3em;           /* 文字と線の間隔（お好みで調整） */
	text-decoration-thickness: 3px;        /* 線の太さ */
}
.boder-dot {border-bottom:dotted;/*下線を点線にする*/
	border-color:#4e4e4e;
	border-width: 2px; padding: 1px 0px;}
table .bg-light{background-color: #e6d8dc!important;}
table .bg-white{background-color: #f4e8eb!important;}
.btn-learn-more {
	font-size: 15px;
	letter-spacing: 1px;
	font-weight: 500;
	text-transform: uppercase;
	display: inline-block;
	padding: 8px 32px;
	border-radius: 50px;
	transition: 0.3s;
	line-height: 1;
	color: #CB593E;
	-webkit-animation-delay: 0.8s;
	animation-delay: 0.8s;
	margin-top: 6px;
	border: 2px solid #CB593E;
}
.btn-learn-more:hover {
	background: #CB593E;
	color: #fff;
	text-decoration: none;
}
.read-more a {
	display: inline-block;
	background: #4e4e4e;
	color: #fff;
	padding: 10px 28px;
	transition: 0.4s;
	font-size: 15px;
	border-radius: 50px;
}
.read-more a:hover {
	opacity: 0.6;
}
.btn-login a {
	display: inline-block;
	background: #FFD700;
	color: #1a1a1a!important; 
	padding: 5px 10px!important;
	transition: 0.4s;
	border-radius: 30px;
}
.btn-login a:hover {
	opacity: 0.6;
}
.btn-cart a {
	background: #a14758;
	font-size: 24px;
	color: #fff;
	padding: 0 15px 0 10px;
	border-radius: 5px;
	text-align: center;
}
.btn-cart a:hover {
	opacity: 0.6;
}
img{
	max-width: 100%;
}
.img_trans:hover {opacity: 0.6;}

@media (max-width: 428px) {
	.sm15 {font-size: 16px;}
}
/* Back to top button */
.back-to-top {
	position: fixed;
	visibility: hidden;
	opacity: 0;
	right: 15px;
	bottom: 15px;
	z-index: 996;
	background: #CB593E;
	width: 40px;
	height: 40px;
	border-radius: 50px;
	transition: all 0.4s;
}
.back-to-top i {
	font-size: 24px;
	color: #fff;
	line-height: 0;
}
.back-to-top:hover {
	background: rgba(203, 89, 62, 0.9);
	color: #fff;
}
.back-to-top.active {
	visibility: visible;
	opacity: 1;
}
/* header */
#header {
	transition: all 0.5s;
	z-index: 997;
	padding: 20px 15px;
}
#header .logo {
	font-size: 20px;
	margin: 0;
	padding: 0;
	line-height: 1;
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
}
#header .logo a {
	color: #fff;
}
#header .logo img {
	max-height: 40px;
}
#header.header-scrolled, #header.header-inner-pages {
	background: rgba(0, 0, 0, 0.9);
	padding: 12px 0;
}
/*** Navigation */
.navbar {
	padding: 0;
}
.navbar ul {
	margin: 0;
	padding: 0;
	display: flex;
	list-style: none;
	align-items: center;
}
.navbar li {
	position: relative;
}
.navbar a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #fff;
	font-size: 16px;
	padding: 0 4px;
	white-space: nowrap;
	transition: 0.3s;
	letter-spacing: 0.4px;
	position: relative;
}
.navbar a i {
	font-size: 12px;
	line-height: 0;
	margin-left: 5px;
}

/* ==========================================
Desktop
============================================ */
.navbar > ul > li {
	white-space: nowrap;
	padding: 10px 0 10px 24px;
}
/* ホバー時の下線アニメーション */
.navbar > ul > li > a:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: -6px;
	left: 0;
	background-color: #FFD700;
	visibility: hidden;
	transform: scaleX(0);
	transition: all 0.3s ease-in-out 0s;
}
.navbar a:hover:before, 
.navbar li:hover > a:before, 
.navbar .active:before {
	visibility: visible;
	transform: scaleX(1);
}
.navbar a:hover, 
.navbar .active, 
.navbar li:hover > a {
	color: #fff;
}

/* PC用ドロップダウンメニュー */
.navbar .dropdown ul {
	display: block;
	position: absolute;
	left: 24px;
	top: calc(100% + 30px);
	margin: 0;
	padding: 10px 0;
	z-index: 99;
	opacity: 0;
	visibility: hidden;
	background: rgba(26, 26, 26, 0.9);
	box-shadow: 0px 0px 30px rgba(26, 26, 26, 0.25);
	transition: 0.3s;
}
.navbar .dropdown ul li {
	min-width: 200px;
}
.navbar .dropdown ul a {
	padding: 10px 20px;
	font-size: 14px;
	text-transform: none;
	color: #fff;
}
.navbar .dropdown ul a:hover, 
.navbar .dropdown ul .active:hover, 
.navbar .dropdown ul li:hover > a {
	color: #FFD700;
}
.navbar .dropdown:hover > ul {
	opacity: 1;
	top: 100%;
	visibility: visible;
}

/* 2階層目のドロップダウン */
.navbar .dropdown .dropdown ul {
	top: 0;
	left: calc(100% - 30px);
	visibility: hidden;
}
.navbar .dropdown .dropdown:hover > ul {
	opacity: 1;
	top: 0;
	left: 100%;
	visibility: visible;
}

/* 共通パーツ */
.dropdown-divider {
	border-top: solid 1px #fff;
	clear: both;
	margin: 0 auto;
	height: 1px;
	width: 90%;
}

/* ==========================================
   3. レスポンシブ・画面幅による表示切り替え
============================================ */
/* パソコン画面が少し狭いとき（2階層目メニューの表示位置調整） */
@media (max-width: 1366px) {
	.navbar .dropdown .dropdown ul { left: -90%; }
	.navbar .dropdown .dropdown:hover > ul { left: -100%; }
}

/* タブレット・スマホ画面のとき（991px以下） */
.mobile-nav-toggle {
	color: #fff;
	font-size: 28px;
	cursor: pointer;
	display: none;
	line-height: 0;
	transition: 0.5s;
}
@media (max-width: 991px) {
	.mobile-nav-toggle {
		display: block;
	}
	.navbar ul {
		display: none;
	}
	.btn-login a {
		margin: 10px 0 20px 20px;
		display: inline-block;
		background: #FFD700;
		color: #1a1a1a!important; 
		padding: 8px 20px 5px 10px !important;
		transition: 0.4s;
		border-radius: 30px;
	}
	.btn-login a:hover {
		opacity: 0.6;
	}
}

/* ==========================================
   4. スマホ用（Mobile）ナビゲーション
============================================ */
.navbar-mobile {
	position: fixed;
	overflow: hidden;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background: rgba(26, 26, 26, 0.9);
	transition: 0.3s;
	z-index: 999;
}
.navbar-mobile .mobile-nav-toggle {
	position: absolute;
	top: 15px;
	right: 15px;
}
.navbar-mobile ul {
	display: block;
	position: absolute;
	top: 55px;
	right: 15px;
	bottom: 15px;
	left: 15px;
	padding: 10px 0;
	background-color: rgba(26, 26, 26, 0.9);
	overflow-y: auto;
	transition: 0.3s;
}
.navbar-mobile > ul > li {
	padding: 0;
}
.navbar-mobile a {
	padding: 10px 20px;
	font-size: 15px;
	color: #fff;
}
.navbar-mobile a:hover:before, 
.navbar-mobile li:hover > a:before, 
.navbar-mobile .active:before {
	visibility: hidden; /* スマホでは下線アニメーションを消す */
}
.navbar-mobile a:hover, 
.navbar-mobile .active, 
.navbar-mobile li:hover > a {
	color: #FFD700;
}
.navbar-mobile .getstarted {
	margin: 15px;
}

/* スマホ用ドロップダウン */
.navbar-mobile .dropdown ul {
	position: static;
	display: none;
	margin: 10px 20px;
	padding: 10px 0;
	z-index: 99;
	opacity: 1;
	visibility: visible;
	background: rgba(26, 26, 26, 0.8); /* 白から全体のテーマ色（黒系）に変更 */
	box-shadow: 0px 0px 30px rgba(26, 26, 26, 0.25);
}
.navbar-mobile .dropdown ul li {
	min-width: 200px;
}
.navbar-mobile .dropdown ul a {
	padding: 10px 20px;
}
.navbar-mobile .dropdown ul a i {
	font-size: 12px;
}
.navbar-mobile .dropdown ul a:hover, 
.navbar-mobile .dropdown ul .active:hover, 
.navbar-mobile .dropdown ul li:hover > a {
	color: #FFD700;
}
.navbar-mobile .dropdown > .dropdown-active {
	display: block;
}/* section */
.section-header {
	margin: 50px 0;
	text-align: center;
}
.section-header .section-title {
	display: inline-block;
	position: relative;
	margin: 0 0 25px;
	text-transform: uppercase;
	font-family: 'Ubuntu', sans-serif;
	font-size: 30px;
	color: #313131;
	word-spacing: 5px;
	text-align: center;
}
.section-header .section-title:before {
	color: #CB593E;
	content: "||";
	left: -40px;
	position: absolute;
	top: 0;
}
.section-header .section-title:after {
	color: #CB593E;
	content: "||";
	position: absolute;
	right: -40px;
	top: -2px;
}
.section-title2 {
	display: inline-block;
	position: relative;
	margin: 0 0 25px;
	text-transform: uppercase;
	font-family: 'Ubuntu', sans-serif;
	font-size: 30px;
	color: #1a1a1a;
	word-spacing: 5px;
	text-align: center;
}
.section-title2:before {
	color: #02A39A;
	content: "||";
	left: -40px;
	position: absolute;
	top: 0;
}
.section-title2:after {
	color: #02A39A;
	content: "||";
	position: absolute;
	right: -40px;
	top: -2px;
}
@media (max-width: 991px) {
.section-header .section-title {
	font-size: 28px;
	color: #493c3e;
}
}
/* footer */
.social-links {
	text-align: center;
}
.social-links a{
	margin: 10px;
	text-decoration: none;
}
.social-links span{
	position:relative;
	z-index:2;
	height: 45px;
	width: 45px;
	margin: 0 15px;
	display:inline-block;
	background-color: rgba(203, 89, 62,0.9);
	border: 3px double #CB593E;
	border-radius:50%;
	text-align:center;
}
.social-links a i{
	color: #fff;
	font-size:23px;
	line-height:40px;
}
.social-links a:hover i {
	color: rgba(255, 255, 255, 0.3);
}
.footer{
	background-color: rgba(0,0,0,0.89);
}
.footer-wrapper{
	padding: 20px 0px;
}
.copy-right{
	color: #b3b3b3;
	font-size: 14px;
}
.copy-right a {
	color: #b3b3b3;
	border-bottom:dotted;/*下線を点線にする*/
	border-color:#b3b3b3;
	border-width: 2px;
}
.copy-right a:hover {
	color: #ffffff;
	border-bottom: none;
}
.cc-revoke,
.cc-window {
	font-size: 14px!important;
}
.form-control:focus,
.form-select:focus,
.form-check-input:focus{
	box-shadow: inherit ;
	border: 1px solid #84776E;
}
