@charset "utf-8";
html {
  overscroll-behavior: none;
}

/*游ゴシック
@font-face {
	font-family:'YuGothM';
	src:url('./font/YuGothM.woff') format('woff');
}*/
/*小塚ゴシック
@font-face {
	font-family:'KozGoPr6N-Light';
	src:url('./font/KozGoPr6N-Light.woff') format('woff');
}*/
/*小塚ゴシック regular
@font-face {
	font-family:'KozGoPr6N-Regular';
	src:url('./font/KozGoPr6N-Regular.woff') format('woff');
}*/
/*小塚ゴシック medium
@font-face {
	font-family:'KozGoPr6N-Medium';
	src:url('./font/KozGoPr6N-Medium.woff') format('woff');
}*/
/*小塚ゴシック bold
@font-face {
	font-family:'KozGoPr6N-Bold';
	src:url('./font/KozGoPr6N-Bold.woff') format('woff');
}*/
/*游明朝
@font-face {
	font-family:'yumin';
	src:url('./font/yumin.woff') format('woff');
}*/
/*リュウミン
@font-face {
	font-family:'A-OTF-RyuminPro-Light';
	src:url('./font/A-OTF-RyuminPro-Light.woff') format('woff');
}*/

:root {
	--header_height_pc:90px;
	--header_height_sp:60px;
	
	--maru_gothic: "Kosugi Maru", sans-serif;

}
body {
	font-size:15px;
	background:#fff;
	
	/*font-family: 'KozGoPr6N-Light';*/
	font-family: "Noto Sans JP", sans-serif;
	color:#000;
	letter-spacing:0.1em;
	/*overscroll-behavior: none;*/
}
body:not(.topPage) {
	background:#fff;
	padding-top:var(--header_height_pc);
}
body:not(.topPage) main {
	padding-bottom:5em;
}
img {
	width:auto;
	max-width:100%;
	height:auto;
}
a {
	color:#000;
	text-decoration:none;
	cursor:pointer;
}
.ac .ac_switch {
	cursor:pointer;
}
/*◆◆◆◆◆◆◆◆◆◆◆◆◆
 * サイト共通設定(アニメーション設定等はいちばん下)
 ◆◆◆◆◆◆◆◆◆◆◆◆◆*/
body {
	font-size:15px;
}
.page_contents_def {
	margin-left:3%;
	margin-right:3%;
}
.page_contents_def .page_title {
	display:flex;
	justify-content:center;
	padding:2em 0;
	margin-bottom:2em;
}
.page_contents_def .page_title h1,
.page_contents_def .page_title p {
	position:relative;
	font-size:2em;
}
.page_contents_def .page_title h1::after,
.page_contents_def .page_title p::after {
	content:"";
	position:absolute;
	top:calc(100% + 1.2em);
	left:0;
	right:0;
	width:3em;
	height:2px;
	margin:auto;
	background:#999;
}
.page_contents_def .page_title h1 span,
.page_contents_def .page_title p span {
	font-family: "kozuka-gothic-pr6n", sans-serif;
	font-weight: 300;
	letter-spacing:0.2em;
}


.contentBox {
	width:100%;
	max-width:1300px;
	margin-left:auto;
	margin-right:auto;
}
.contentBox_wide {
	width:100%;
	max-width:1500px;
	margin-left:auto;
	margin-right:auto;
}
.contentBox_narrow {
	width:100%;
	max-width:1100px;
	margin-left:auto;
	margin-right:auto;
}

.contentSide {
	padding-left:4%;
	padding-right:4%;
}

/*▼―――――サイト共通設定PC―――――▼*/
@media only screen and (min-width: 769px) {

	br.sp {
		display:none;
	}

}
/*▼―――――サイト共通設定SP―――――▼*/
@media only screen and (max-width: 768px) {

	br.pc {
		display:none;
	}
	.page_contents_def {
		margin-left:5%;
		margin-right:5%;
	}
	.page_contents_def .page_title {
		padding:2em 0;
		margin-bottom:3em;
		text-align:center;
	}
	.page_contents_def .page_title h1,
	.page_contents_def .page_title p {
		font-size:1.2em;
	}

}


/********************************************************************
 *　//ヘッダー部分
********************************************************************/
/*▼―――――ハンバーガーボタン―――――▼*/
.header_top {
	position:fixed;
	top:0;
	left:50%;
	transform:translateX(-50%);
	width:100%;
	/*max-width:1300px;*/
	height:1px;
	z-index: 9001;
	mix-blend-mode: exclusion;
}
.nav_btn {
	position: absolute;
	right: 50px;
	top: 40px;

	width: 36px; /* クリックしやすい幅 */
	height: 40px; /* クリックしやすい高さ */
	width: 26px; /* クリックしやすい幅 */
	height: 30px; /* クリックしやすい高さ */
	margin:auto;
	cursor: pointer;
	
}
.nav_btn_border {
	position: absolute;
	left:0;
	width: 100%;
	height: 2px;
	background-color: #fff;
	transition: all .6s;
}
body:not(.topPage) .nav_btn_border{
	background-color: #a4a4a4;
}
.nav_btn_border_top {
	top: 14px;
	transform-origin:0 0;
}
.nav_btn_border_center {
	/*top: 19px;*/
}
.nav_btn_border_bottom {
	top: 24px;
	transform-origin:0 100%;
}
.nav_btn_overlay {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	z-index: 100;
	background-color: #333;
	opacity: 0;
	visibility: hidden;
	transition: all .6s;
	cursor: pointer;
}
/* ハンバーガーメニュー表示されたとき */
.nav_open .header_nav {
	left: 0;
}
.nav_open .nav_btn_overlay {
	opacity: .8;
	visibility: visible;
}
.nav_open .nav_btn_border_top {
	transform: rotate(45deg);
	top:0;
	width:160%;
}
.nav_open .nav_btn_border_center {
	width: 0;
}
.nav_open .nav_btn_border_bottom {
	transform: rotate(-45deg);
	top: 100%;
	width:160%;
}
/*▼―――――ハンバーガーボタンSP―――――▼*/
@media only screen and (max-width: 768px) {
	.nav_btn {
		top:10px;
		right:10px;
		
	}
	.nav_btn_border {
		width: 24px;
	}
	.nav_btn_border_top {
		top: 14px;
	}
	.nav_btn_border_center {
		top: 19px;
	}
	.nav_btn_border_bottom {
		top: 24px;
	}
	/* ハンバーガーメニュー表示されたとき */
	.nav_open .nav_btn_border_top {
		width:160%;
	}
	.nav_open .nav_btn_border_bottom {
		width:160%;
	}
	
}

/*▼―――――画面左上ロゴ―――――▼*/
.site_logo{
	position: fixed;
	left:2.71%;
	top:46px;
	width:11.875%;
	max-width:150px;
	transition:.6s;
	z-index:8999;
	/*opacity: 0;*/
}
/*.topPage .site_logo{
	mix-blend-mode: exclusion;
}*/
.site_logo img {
	width:100%;
	max-width:228px;
}
.fv_height_over .site_logo {
    opacity: 1;
  }
@media only screen and (max-width: 1300px) {
	.site_logo{
		top:2.2vw;
	}
}
@media only screen and (max-width: 768px) {
	.site_logo{
		width:18%;
	}
}

/*▼―――――ヘッダー―――――▼*/
.header{
	position: fixed;
	top:0;
	width: 100%;
	/*height: 個別;*/
	/*text-align:center;*/
	z-index:9000;
	transition:.4s;
}
.topPage .header {
	/*top: -100%;*/
}
.scroll .header{
	/*top:0;*/
}
.header_inner {
	position: relative;
	display:flex;
	align-items:flex-end;
	max-width:1200px;
	height: var(--header_height_pc);
	margin-left:auto;
	margin-right:auto;
}
.header_inner .logo{
	width:17%;
	margin-left:15px;
	transition:.2s;
}
	.header_inner .logo img {
		width:auto;
		max-height:60px;
	}

@media only screen and (max-width: 768px) {
	.header_inner {
		align-items:center;
		height: var(--header_height_sp);
	}
	.header_inner .logo{
		width:10%;
	}
}

.header_nav {
	position: fixed;
	/*left: -320px;*/ /* 左から出てくる */
	left:-100%;
	top: 0;
	box-sizing:border-box;
	width: 500px; /* スマホに収まるサイズ */
	height: 100dvh;
	padding: 40px 2em 2em;
	background-color: #fff;
	transition: all .6s;
	z-index: 9000;
	overflow-y: auto; /* メニューが多くなったらスクロールできるように */
}
@media only screen and (max-width: 768px) {
	
	.header_nav {
		width: 300px;
	}
}

.header_nav_logo {
	width:25%;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:4em;
	filter: brightness(0) saturate(100%) invert(0%) sepia(96%) saturate(14%) hue-rotate(273deg) brightness(104%) contrast(104%);
}
@media only screen and (max-width: 768px) {
	.header_nav_logo {
		width:30%;
	}
}
.header_nav .site_menu_link {
	position:relative;
	font-size:1.1em;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	justify-content:flex-start;
	box-sizing:border-box;
	margin-bottom:2em;
}
.header_nav .site_menu_link.last {
	font-size:0.9em;
	border-top:solid 1px rgba(0,0,0,0.3);
	padding-top:2.5em;
	margin-bottom:4em;
}

.header_nav .site_menu_link a {
	margin-bottom:1.5em;
}
.header_nav .site_menu_link span {
}

.header_nav .site_menu_link .buy_btn {
	font-size:0.8em;
	display:inline-flex;
	align-items:center;
	background: linear-gradient(117deg,#58be1b 64%,#43ae1d 100%);
	border-radius:1.5em;
	box-sizing:border-box;
	height:3em;
	padding:0 1.5em;
	color:#fff;
}



@media only screen and (max-width: 768px) {
	.header_nav .site_menu_link {
		font-size:0.9em;
	}
	.header_nav .site_menu_link.last {
		font-size:0.8em;
	}
}

/* snsアイコン */
.header_sns_section {
	display:flex;
	justify-content:flex-start;
	align-items:center;
	/*width:50%;*/
	margin:2em auto 0;
	filter: brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(12%) hue-rotate(208deg) brightness(92%) contrast(103%);
}
.header_sns_section a {
	width:1.8em;
	margin:0 1em;
}
@media only screen and (max-width: 768px) {

	.header_sns_section {
		justify-content:center;
		width:auto;
	}
	.header_sns_section a {
		width:1.5em;
		margin:0 0.8em;
	}
}



/********************************************************************
フッター
********************************************************************/
/*▼▼▼―――――フッター base―――――▼▼▼*/
.footer {
	position:relative;
	background:#111111;
	text-align:center;
	color:#fff;
}
/*▼―――――ページトップボタン―――――▼*/
.back_to_top {
	position:fixed;
	right:5px;
	bottom:5px;
	display:block;
	background:#e1d7d7;
	border-radius:50%;
	width:3em;
	height:3em;
	padding:0;
	color:#000;
}
	.back_to_top::after {
		content:"";
		position:absolute;
		top:40%;
		left:0;
		right:0;
		width: 0;
		height: 0;
		margin:auto;
		border-style: solid;
		border-right: 0.4em solid transparent;
		border-left: 0.4em solid transparent;
		border-bottom: 0.7em solid #555555;
		border-top: 0;
	}





/*▼―――――フッターコンテンツ base―――――▼*/
.footer_content {
	max-width: 1200px;
	padding-top:60px;
	padding-bottom:60px;
	padding-left:4%;
	padding-right:4%;
	margin: auto;
	text-align:center;
	color:#fff;
}

.footer_company {
	display:flex;
	flex-direction:column;
	flex-wrap:wrap;
	align-items:center;
	text-align:center;
}
.footer_company .logo {
	width:114px;
	margin-bottom:2.4em;
	filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(25deg) brightness(108%) contrast(100%);
}
.footer_company .sns {
	display:inline-flex;
	justify-content:center;
	width:88px;
	margin-bottom:4.6em;
	filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(25deg) brightness(108%) contrast(100%);
}
.footer_company .sns a {
	width:32px;
}

.footer_content .site_menu_link {
	position:relative;
	font-size:1em;
	display:inline-flex;
	justify-content:center;
	align-items:center;
	box-sizing:border-box;
	margin-bottom:2em;
}
.footer_content .site_menu_link.last {
	margin-bottom:4em;
}

.footer_content .site_menu_link a {
	font-size:0.9em;
	margin-right:1em;
	color:#fff;
	font-weight:200;
}

.footer_content .copyright {
	font-size:0.8em;
	line-height:1.3;
	margin-top:3em;
}

/*========== 注文ページへのボタン(フローティング) ==========*/
.btm_btn_buy {
	position:fixed;
	bottom:70px;
	right:0;
	z-index:10;
	width:180px;
	height:auto;
	transition:.3s;
	opacity:0;
}
.scroll .btm_btn_buy {
	opacity:1;
}
body.buy .btm_btn_buy {
	display:none;
}

/*▼▼▼―――――フッター モバイル―――――▼▼▼*/
@media only screen and (max-width: 768px) {

	.footer_content {
		padding:4em 0;
	}
	
	.footer_company {
		
	}
	.footer_company .logo {
		width:20%;
		max-width:130px;
	}
	.footer_company .sns {
		
	}
	.footer_company .sns a {
		
	}
	
	.footer_content .site_menu_link {
		font-size:3vw;
		flex-direction:column;
		align-items:center;
		box-sizing:border-box;
		width:100%;
	}
	.footer_content .site_menu_link.last {
		
	}
	.footer_content .site_menu_link a {
		font-size:0.9em;
		margin-right:0;
		margin-bottom:1em;

	}
	
	.footer_content .copyright {
		font-size:2.8vw;
	}
	
	.btm_btn_buy {
		width:120px;
		bottom:60px;
	}


}/* ▲▲▲フッターSP▲▲▲ */




/*◆◆◆◆◆◆◆◆◆◆◆◆◆
 * その他共通設定
 ◆◆◆◆◆◆◆◆◆◆◆◆◆*/

/*下からボカシインのアニメーション設定(各所)*/
.fadeBlurUp{
	visibility:hidden;
    /*opacity:0;*/
    filter: blur(20px);
}
.fadeBlurUp_on{
    animation: blurUp 2s 0s forwards;
}
@keyframes blurUp {
    0% {
		visibility:hidden;
        opacity:0;
        transform: translateY(30px);
        filter: blur(20px);
    }
	5% {
		visibility:visible;
        opacity:0;
        transform: translateY(30px);
        filter: blur(20px);
    }
    100% {
        opacity:1;
        transform: translateY(0);
        filter: blur(0);
    }
}
//FVの出方
.blur_fv_area1{
	/*visibility:hidden;*/
    /*opacity:0;*/
    backdrop-filter:blur(20px);
	animation: blur_fv_area1 2s 0s forwards;
}

@keyframes blur_fv_area1 {
    0% {
		/*visibility:hidden;
        opacity:0;*/
		background:#ccc;

        backdrop-filter:blur(20px);
    }
	/*5% {
		visibility:visible;
        opacity:0;

        filter: blur(20px);
    }*/
    100% {
        /*opacity:1;*/
	background:#999;
        backdrop-filter:blur(0);
		backdrop-filter:none;
    }
}
/*下からスライドアップ設定(各所)*/
.slide_up,.slide_up1s {
  display:block;
  overflow: hidden;
}
.slide_up span,
.slide_up1s span{
  display: block;
  animation-delay: 0.3s;
  transition: transform 1s;
  transition-timing-function: cubic-bezier(0.090, 0.630, 0.225, 1.000);
  transform: translate3d(0, 100%, 0);
}
.slide_up span.slide_up_on,
.slide_up1s span.slide_up_on{
  transform: translate3d(0, 0, 0);
}
/*右側から紙芝居表示new*/
.curtain {
    clip-path: inset(0 -20% 0 100%);
    transition: clip-path 2s cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: 0s;
	/*filter: grayscale(100%);*/
}
.curtain.curtain_open {
    clip-path: inset(0 0 -20% 0);
	/*animation: grayoff 0s 1.2s forwards;*/
}


/*▼――その他共通設定SP――▼*/
@media only screen and (max-width: 768px) {




}/*▲―――――その他共通設定SP―――――▲*/


/* ▼箇条書きリスト(中黒)*/
ul.pointList {
	padding-left:0;
}
ul.pointList li,
p.pointList,
span.pointList {
	position: relative;
	display: block;
	line-height:1.6;
	padding:0.2em 0 0.2em 1.5em;
	/*margin-bottom: 0.7em;*/
}
ul.pointList li::before,
p.pointList::before,
span.pointList::before {
	content: "・";
	position: absolute;
	left:0;
}








