@charset "UTF-8";

img {
	max-width:100%;
	height: auto;/*高さ自動*/
}
a {
    display:block;
    color: #EFD98D;
    text-decoration-line: none;
}
a:hover { 
    opacity: 0.8;
}

body {
    color: #FFFFFF;
    background-color: #000;
    background-image: url("../img/background.png");
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    background-size: 100% auto; /* 横幅をいっぱいに広げ、縦方向は自動調整 */
    background-repeat: repeat-y; /* 縦方向にリピート */
}
body .concept{
    background-image: url("../img/background2.png");
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    background-size: 100% auto; /* 横幅をいっぱいに広げ、縦方向は自動調整 */
    background-repeat: no-repeat; /* 縦方向にリピート */
	z-index:9999;
}

.center {
	text-align: center;
}

html {
	scroll-behavior: smooth;
}

.bodytitle {
	max-width: 400px;
	padding: 6rem 0 4rem; 
	margin: 0 auto;
	display: block;
	justify-content: center;
}

main {
	padding-top: 60px;
}
@media screen and (max-width: 768px) {
	.bodytitle {
	    max-width: 240px;
		padding: 6rem 0 2rem;
    }
}


/*ヘッダー
-------------------------------------*/
header {
    width: 100%;
	height: 60px;
	background: #dbdbdb;
	position: fixed;
	z-index: 999;
}
.container {
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	padding-top: 7px;
	justify-content: space-between;
}
.headerleft .logo {
	height: 45px;
	align-content: center;
}
.main-nav ul {
	display: flex;
	margin: 24px 0 0 300px;
}
.main-nav ul li {
	margin: 0 20px;
}
.main-nav ul li a {
	color: #343434;
}
.purchase-btn {
	display: block;
}
.purchase-btn img {
	height: 45px;
}
.purchase-btn-sp {
	display: none;
}
.purchase-btn-sp img {
	height: 45px;
}

@media screen and (max-width: 768px) {
.purchase-btn {
	display: none;
}
.purchase-btn-sp {
	display: block;
}
.container {
	max-width: 380px;
	margin: 0 auto;
	display: flex;
	padding-top: 7px;
	justify-content: space-between;
}
.purchase-btn-sp img {
	position: absolute;
	top: 8px;
	right: 80px;
}
}
/*ファーストビュー
-------------------------------------*/
.firstview-pc {
    position: relative;
    width: 100%;
    height: 100vh; /* ビューポート全体の高さ */
    overflow: hidden;
}

.firstview-pc .video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.firstview-pc .video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.firstview-sp {
	display: none;
}

@media screen and (max-width: 768px){
.firstview-pc {
	display: none;
}
.firstview-sp {
	display: block;
	position: relative;
    max-width: 100%;
	margin: 0 auto;
    height: 100vh; /* ビューポート全体の高さ */
    overflow: hidden;
	margin-bottom: -450px;
}
.firstview-sp .video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    overflow: hidden;
}
.firstview-sp .video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}
}


/*コンセプト
-------------------------------------*/
.concept {
	max-width: 100%;
	margin: 0 auto;
	padding: 8rem 0 4rem;
	text-align: center;
}
.concept-img {
	margin: 0 auto;
	max-width: 295px;
	height: 400px;
	background-image: url("../img/main-img01.png");
	background-size: cover;
    background-position: center;
}
.concept h1 {
	font-size: 34px;
	letter-spacing: 0.04em;
	padding-top: 2rem;
	color: #d0af61;
}
.concept p {
	color: #fff;
	padding-top: 1rem;
	line-height: 1.4em;
}
.extext {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.06em;
	padding-top: 3rem;
	margin: 0 auto;
	color: #d0af61;
}
.border {
	width: 380px;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #d0af61;
	margin: 0 auto;
}
.big {
	font-size: 50px;
	margin-top: -20px;
}


@media screen and (max-width: 768px){
	.concept {
	max-width: 100%;
	margin: 0 auto;
	padding: 8rem 0 4rem;
	text-align: center;
}
.concept h1 {
	font-size: 26px;
	letter-spacing: 0.04em;
	padding-top: 2rem;
}
.concept p {
	font-size: 12px;
}
.extext {
	font-size: 18px;
}
.big {
	font-size: 30px;
	margin-top: -10px;
}
.border {
	width: 280px;
	font-weight: normal;
}
}


/*概要 about
-------------------------------------*/
.mainbox {
	max-width: 1000px;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
}
.left {
	max-width: 560px;
	margin-right: 40px;
}
.left h2 {
	font-size: 26px;
	color: #d0af61;
}
.left p {
	padding-top: 0.7rem;
	line-height: 1.2em;
}

@media screen and (max-width: 768px){
.mainbox {
	max-width: 380px;
	display: block;
}
.left {
	max-width: 380px;
	margin-right: 0;
	text-align: center;
}
.right img {
	width: 380px;
	padding-top: 2rem;
}
.left h2 {
	font-size: 22px;
}
.left p {
	font-size: 12px;
}
}


/*製品情報 product
-------------------------------------*/
.small {
	font-size: 14px;
}
.exbox {
	width: 210px;
	display: block;
	justify-content: space-between;
	border-bottom: 1px solid #d0af61;
	margin: 0 0 0 auto;
}
.ex {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.06em;
	padding-top: 1rem;
	color: #d0af61;
}
.tax {
	font-size: 14px;
}
.price {
	font-size: 30px;
	margin-top: -10px;
}

@media screen and (max-width: 768px){
.small {
	font-size: 8px;
}
.exbox {
	width: 210px;
	margin: 0 auto;
}
}

/*購入サイト purchasepage
-------------------------------------*/
.buybox {
	max-width: 320px;
	margin: 0 auto;
}
.buybtn {
	width: 320px;
	height: 320px;
	background: #fff;
	margin: 0 auto 60px;
}
.buybtn img {
	width: 320px;
	height: 266px;
}
.buybtn h3 {
	width: 320px;
	height: 54px;
	background-image: url("../img/btnbg.png");
	color: #dbdbdb;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	padding-top: 15px;
	border: 1px solid #dbdbdb;
}

.note {
	text-align: center;
	font-size: 32px;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px){
	.buybox {
	    max-width: 340px;
	    margin: 0 auto;
	    display: block;
    }
	.buybtn {
	    width: 320px;
	    height: 320px;
	    background: #fff;
	    margin: 0 auto 20px;
    }
}

/*お問い合わせ情報 contact
-------------------------------------*/
.contact {
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
}
.contact div {
	margin-top: 1.4rem;
}
.contact img {
	max-width: 320px;
}
.contact p {
	margin-top: 0.3rem;
	color: #fff;
}
.tell {
	font-size: 24px;
}

/*フッター
-------------------------------------*/
footer {
    background-color: #dbdbdb; 
    padding: 2rem 0;
	text-align: center;
	margin-top: 10rem;
}
.footer {
	width: auto;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 40px;
}
.footer img {
	max-width: 180px;
	margin: 2rem 0;
}
.footer ul {
	padding: 2rem 0;
	margin: 0 auto;
	max-width: 500px;
	display: flex;
	justify-content: space-between;
}
.footer ul li p a {
	color: #343434;
	font-size: 18px;
}

@media screen and (max-width: 768px) {
	footer {
        padding: 2rem 0 0;
    	text-align: center;
    }
	.footer {
		width: 340px;
		margin: 0 auto;
		text-align: center;
		padding-bottom: 1rem;
	}
	.footer ul {
	    padding-top: 2rem;
	    margin: 0 auto;
	    max-width: 300px;
	    display: block;
    }
	.footer ul li p a {
	    margin-bottom: 1rem;
    }
}

/*コピーライト
-------------------------------------*/
.copyright {
    text-align: center;
    padding: 1rem 0;
    background-color:#dbdbdb;
}
.copyright p {
	color: #343434;
	font-size: 14px;
}
    
/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
}
#pagetop a {
    display: block;
    background-color: #343434;
    color: #dbdbdb;
    width: 50px;
	height: 50px;
    padding: 16px 5px;
    text-align: center;
}
#pagetop a:hover {
    opacity: 0.8;
}

/* 幅768px以下の表示
-------------------------------------*/
@media screen and (max-width: 768px){
	img {
		max-width: 768px;
		margin: 0 auto;
	}
/*ヘッダー
-------------------------------------*/
.header-box {
	display: none;
}	
}

/* スマホ時はメニューを非表示 */
#navi {
    display: none;
}

@media screen and (min-width: 768px){
/* PC時はMENUボタンを非表示 */
.menu-btn {
    display: none !important;
}
.menu-content {
	display: none;
}

#navi {
    display: block !important;
}
}

.menu-btn {
	margin:0 0 0 auto;
	position: fixed;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    background-color: #343434;
	top: 0;
	right: 0;
	z-index: 10;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #fff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
    display: none;
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 8;
    background-color: #343434;
}
.menu-content ul {
    padding: 1rem 10px 0;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}
.menu-content {
    width: 100%;
    height: 12rem;
    position: fixed;
    top: 60px;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 8;
    background-color: #343434;
    transition: all 0.5s;/*アニメーション設定*/
	border-bottom: 1px solid #fff;
}
#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}