@charset "utf-8";
/* CSS Document */
/*====================================
Reset
====================================*/
html{
	width: 100%;
	font-size: 2.66666vw; /* 画面幅375pxの時1rem=10px */
	font-weight: 400;
}
body{
	min-width: 320px;
	line-height: 1;
	position: relative;
	overflow-x: hidden;
	overflow-wrap: break-word;
	word-wrap: break-word;
	font-family: 'Noto Sans JP', 'メイリオ', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #000;
	background: #fff;
}

@media print,screen and (min-width: 600px) {
	html{
		font-size: 0.76923vw; /* 画面幅1300pxの時1rem=10px */
	}
}
@media print,screen and (min-width: 1300px) {
	html{
		font-size: 10px;
	}
}

img{
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a{
	text-decoration: none;
	color:inherit;
}
svg{
	width: 100%;
	height: 100%;
}
a,
input, textarea, button, label, select,
.js--btn-hamburger,
.js--btn-tab,
.js--btn-ac{
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	outline: 0;
}
::selection {
	background: rgba(225, 191, 176, .25);
}

/*====================================
Common
====================================*/
.anchor{
	display: block;
	width: 0;
	height: 0;
}
.width--cmn{
	margin-left: auto;
	margin-right: auto;
	width: 33.5rem;
}
.font--ibm{
	font-family: 'IBM Plex Sans JP', 'メイリオ', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 500;
}
.font--josefin{
	font-family: 'Josefin Sans', 'メイリオ', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.font--ogg{
	font-family:'ogg',游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
}
.font--brandon-grotesque{
	font-family: 'brandon-grotesque', 'メイリオ', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 700;
}
.font--neue-haas-grotesk{
	font-family: 'neue-haas-grotesk-text', 'メイリオ', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 400;
}

@media only screen and (max-width: 599px) {
	.disp--pc{
		display: none !important;
	}
	.anchor{
		padding-top: 8rem;
		margin-top: -8rem;
	}
}

@media print,screen and (min-width: 600px) {
	.disp--sp{
		display: none !important;
	}
	.width--cmn{
		width: 110rem;
	}
}

/* アイコン
--------------------------------------*/
.icon--svg{
	display: block;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-position: center;
	mask-size: contain;
	-webkit-mask-size: contain;
	background: #231815;
	transition: background .3s ease;
}
.icon--instagram{
	mask-image: url(../img/common/icon-instagram.svg);
	-webkit-mask-image: url(../img/common/icon-instagram.svg);
}

/* タイトル
--------------------------------------*/
.sec-pagettl{
	padding-top: 6rem;
	padding-bottom: 5rem;
}
.sec-pagettl .container-pagettl{
	position: relative;
	padding-top: 10rem;
}
.sec-pagettl .pagettl{
	font-size: 4rem;
}

.page--not-has-sec-pagettl{
	padding-top: 8.5rem;
}

@media only screen and (max-width: 599px) {
	.sec-pagettl .pnkz{
		margin-top: 4rem;
	}
}

@media print,screen and (min-width: 600px) {
	.sec-pagettl{
		padding-top: 8rem;
		padding-bottom: 10rem;
	}
	.sec-pagettl .container-pagettl{
		padding-top: 15rem;
	}
	.sec-pagettl .pagettl{
		font-size: 8rem;
	}
	.sec-pagettl .pnkz{
		position: absolute;
		right: 0;
		bottom: 0;
	}

	.page--not-has-sec-pagettl{
		padding-top: 10rem;
	}
}

/* パンくず
--------------------------------------*/
.pnkz{
	font-size: 1.3rem;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.pnkz span:nth-child(5),
.pnkz span:nth-child(7) {
	max-width: 40%;
}
.pnkz .txt--line-clamp{
	-webkit-line-clamp: 1;
	max-height: 1em;
}
.pnkz .separate{
	margin: 0 0.5rem;
	display: inline-block;
	width: 1rem;
	height: 1px;
	background-color: #CCC;
}

/* 色
--------------------------------------*/
.c--white{
	color: #fff !important;
}
.c--black{
	color: #000 !important;
}
.c--dark-gray{
	color: #7F7F7F !important;
}

.bg--white{
	background-color: #fff !important;
}
.bg--off-white{
	background-color: #FBF9F6 !important;
}
.bg--black{
	background-color: #000 !important;
}

/* ホバー
--------------------------------------*/
@media print,screen and (min-width: 600px) {
	.hover--c-white,
	.hover--c-black,
	.hover--c-apricot{
		transition: color .3s ease;
	}
	a.hover--c-white:hover,
	a:hover .hover--c-white{
		color: #fff !important;
	}
	a.hover--c-black:hover,
	a:hover .hover--c-black{
		color: #000 !important;
	}
	a.hover--c-apricot:hover,
	a:hover .hover--c-apricot{
		color: #E1BFB0 !important;
	}

	.hover--bg-white,
	.hover--bg-black,
	.hover--bg-apricot{
		transition: background .3s ease, color .3s ease, border .3s ease;
	}
	a.hover--bg-white:hover,
	a:hover .hover--bg-white,
	button.hover--bg-white:hover,
	button:hover .hover--bg-white{
		background-color: #fff !important;
	}
	a.hover--bg-black:hover,
	a:hover .hover--bg-black{
		background-color: #000 !important;
	}
	a.hover--bg-apricot:hover,
	a:hover .hover--bg-apricot{
		background-color: #E1BFB0 !important;
	}

	.hover--underline{
		background-position: right bottom;
		background-size: 0 100%;
		background-image: linear-gradient(to bottom, transparent calc(100% - 1px), currentColor 1px);
		background-repeat: no-repeat;
		transition: color .3s ease, background-size 0.6s cubic-bezier(0.19, 1, 0.22, 1);
	}
	a.hover--underline:hover,
	a:hover .hover--underline,
	.has--dd:hover > .hover--underline,
	.js--btn-popup.hover--underline:hover,
	.js--btn-popup:hover .hover--underline{
		background-position: left bottom;
		background-size: 100% 100%;
	}

	.hover--opacity,
	.hover--img-opacity > img{
		transition: opacity .3s ease;
	}
	a.hover--opacity:hover,
	a:hover .hover--opacity,
	a.hover--img-opacity:hover > img,
	a:hover .hover--img-opacity > img{
		opacity: 0.5;
	}
	.hover--img-zoom{
		position: relative;
	}
	.hover--img-zoom > img{
		transition: transform .3s ease-in-out;
	}
	a.hover--img-zoom:hover > img,
	a:hover .hover--img-zoom > img{
		transform: scale(1.1);
	}
}

/* 画像
--------------------------------------*/
.img--fit img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* IE */
.browser--ie .img--fit{
	position: relative;
	overflow: hidden;
}
.browser--ie .img--fit img{
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.img--posted{
	display: block;
	width: 100%;
	position: relative;
	height: 0;
	overflow: hidden;
	padding-bottom: 75%;
}
.img--posted > img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.img--dummy{
	box-sizing: border-box;
	background-color: #fff;
	border: 1px solid #ECECEC;
}
.img--dummy img{
	position: absolute;
	height: auto;
	width: 30%;
	opacity: 0.5;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

@media print,screen and (min-width: 600px) {
	a:hover .img--dummy img{
		transform: scale(1.1) translate(-50%, -50%);
	}
}

/* テキスト
--------------------------------------*/
div.txt--i,
p.txt--i,
ul.txt--i > li,
li.txt--i{
	padding-left: 1em;
	text-indent: -1em;
}
.txt--u{
	text-decoration: underline;
}
.txt--center{
	text-align: center;
}
.txt--right{
	text-align: right;
}

.txt--cmn{
	font-size: 1.6rem;
	line-height: 2.62;
}
.txt--cmn-p-margin p:not(:first-child){
	margin-top: 2.62em;
}

.txt--line-clamp{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	max-height: calc(2.18em * 2);
	overflow: hidden;
}
.txt--line-clamp a{
	transition: color .3s ease;
}
.txt--line-clamp .hover--underline{
	transition: background-size 1.5s cubic-bezier(0.19, 1, 0.22, 1), color .3s ease;
}

@media print,screen and (min-width: 600px) {
	a.txt--u:hover,
	a:hover .txt--u{
		text-decoration: none;
	}
}

/* iframe処理
--------------------------------------*/
.gmap--wrap{
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-top: 74.92%;
}
.gmap--wrap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* effect
--------------------------------------*/
.effect--fadein.is--show,
.is--show .effect--fadein{
	opacity: 1 !important;
	transition: opacity .3s cubic-bezier(0.33, 1, 0.68, 1);
}
.effect--fadein-up.is--show,
.is--show .effect--fadein-up{
	opacity: 1 !important;
	transform: translate(0) !important;
	transition: opacity .3s cubic-bezier(0.33, 1, 0.68, 1), transform .5s cubic-bezier(0.33, 1, 0.68, 1);
}
.effect--fadein-fog.is--show,
.is--show .effect--fadein-fog{
	opacity: 1 !important;
	filter: blur(0) !important;
	transform: scale(1) !important;
	transition: opacity 0.5s cubic-bezier(0.33, 1, 0.68, 1), filter 0.75s cubic-bezier(0.33, 1, 0.68, 1), transform 0.75s cubic-bezier(0.33, 1, 0.68, 1);
}

@media only screen and (max-width: 599px) {
	.effect--fadein:not(.effect--pc-only){
		opacity: 0;
	}
	.effect--fadein-up:not(.effect--pc-only){
		opacity: 0;
		transform: translateY(1.5rem);
	}
	.effect--fadein-fog:not(.effect--pc-only){
		opacity: 0;
		filter: blur(0.5rem);
		transform: scale(1.02);
	}
}

@media print,screen and (min-width: 600px) {
	.effect--fadein:not(.effect--sp-only){
		opacity: 0;
	}
	.effect--fadein-up:not(.effect--sp-only){
		opacity: 0;
		transform: translateY(1.5rem);
	}
	.effect--fadein-fog:not(.effect--sp-only){
		opacity: 0;
		filter: blur(0.5rem);
		transform: scale(1.02);
	}
}

/*===============================
Slider
===============================*/
/* スクロールバー */
.swiper-scrollbar.swiper-scrollbar-horizontal{
	box-sizing: border-box;
	top: auto;
	bottom: 0;
	left: 0;
	right: auto;
	z-index: 3;
	border-radius: 0;
	background-color: #F5F5F5;
	padding: 0;
	height: 0.4rem;
}
.swiper-scrollbar-drag{
	border-radius: 0;
	background-color: #7F7F7F;
	height: 100%;
	cursor: pointer;
}


/*====================================
pagenavi
====================================*/
.wp-pagenavi{
	display: flex;
	justify-content: center;
	margin-top: 10rem;
}
.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .extend,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .first,
.wp-pagenavi .last{
	box-sizing: border-box;
	height: 3.4rem;
	position: relative;
}
.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .extend{
	box-sizing: border-box;
	font-size: 1.6rem;
	margin-left: 0.5rem;
	margin-right: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.4rem;
	color: #9b9b9b;
	border: 1px solid #9B9B9B;
	border-radius: 0.5rem;
}
.wp-pagenavi .current{
	background-color: #E1BFB0;
	border-color: #E1BFB0;
	color: #fff;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink{
	width: 1.4rem;
}
.wp-pagenavi .first,
.wp-pagenavi .last{
	width: 2.3rem;
}
.wp-pagenavi .first,
.wp-pagenavi .previouspostslink{
	margin-right: 1rem;
}
.wp-pagenavi .last,
.wp-pagenavi .nextpostslink{
	margin-left: 1rem;
}
.wp-pagenavi .previouspostslink:before,
.wp-pagenavi .nextpostslink:before,
.wp-pagenavi .first:before,
.wp-pagenavi .last:before,
.wp-pagenavi .first:after,
.wp-pagenavi .last:after{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
	width: 1.9rem;
	height: 1.9rem;
	border-top: solid 1px #9b9b9b;
	top: 50%;
}
.wp-pagenavi .previouspostslink:before,
.wp-pagenavi .first:before,
.wp-pagenavi .first:after{
	border-left: solid 1px #9b9b9b;
}
.wp-pagenavi .nextpostslink:before,
.wp-pagenavi .last:before,
.wp-pagenavi .last:after{
	border-right: solid 1px #9b9b9b;
}
.wp-pagenavi .previouspostslink:before{
	left: 50%;
	transform: translate(-20%,-50%) rotate(-45deg);
}
.wp-pagenavi .first:before{
	left: 0.5rem;
	transform: translateY(-50%) rotate(-45deg);
}
.wp-pagenavi .first:after{
	right: -0.8rem;
	transform: translateY(-50%) rotate(-45deg);
}
.wp-pagenavi .nextpostslink:before{
	right: 50%;
	transform: translate(20%,-50%) rotate(45deg);
}
.wp-pagenavi .last:before{
	left: -0.8rem;
	transform: translateY(-50%) rotate(45deg);
}
.wp-pagenavi .last:after{
	right: 0.5rem;
	transform: translateY(-50%) rotate(45deg);
}

@media screen and (min-width: 600px) {
	.wp-pagenavi .page,
	.wp-pagenavi .current,
	.wp-pagenavi .extend,
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink,
	.wp-pagenavi .first,
	.wp-pagenavi .last{
		width: 4rem;
		font-size: 1.8rem;
	}
	.wp-pagenavi .page,
	.wp-pagenavi .current,
	.wp-pagenavi .extend{
		margin-left: 1rem;
		margin-right: 1rem;
		height: 4rem;
	}
	.wp-pagenavi .page{
		transition: background .3s ease, color .3s ease, border .3s ease;
	}
	.wp-pagenavi a.page:hover{
		background-color: #E1BFB0;
		border-color: #E1BFB0;
		color: #fff;
	}
	.wp-pagenavi .first{
		margin-right: 2rem;
	}
	.wp-pagenavi .previouspostslink{
		margin-right: 4rem;
	}
	.wp-pagenavi .last{
		margin-left: 2rem;
	}
	.wp-pagenavi .nextpostslink{
		margin-left: 4rem;
	}
	.wp-pagenavi .previouspostslink:before,
	.wp-pagenavi .nextpostslink:before,
	.wp-pagenavi .first:before,
	.wp-pagenavi .last:before,
	.wp-pagenavi .first:after,
	.wp-pagenavi .last:after{
		transition: border .3s ease;
	}
	.wp-pagenavi .previouspostslink:hover:before,
	.wp-pagenavi .nextpostslink:hover:before,
	.wp-pagenavi .first:hover:before,
	.wp-pagenavi .last:hover:before,
	.wp-pagenavi .first:hover:after,
	.wp-pagenavi .last:hover:after{
		border-color: #E1BFB0;
	}
}

/*====================================
parts
===================================*/
.ttl--cmn1{
}

@media print,screen and (min-width: 600px) {
	.ttl--cmn1{
	}
}


/*====================================
form
====================================*/
/* common
--------------------------------------*/
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="date"],
textarea,
select,
button{
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background: none;
	border: none;
	font-family : inherit;
	color: inherit;
	box-sizing: border-box;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="date"],
textarea{
	box-sizing: border-box;
	width: 100%;
	background-color: #F5F5F5;
	color: #000;
	transition: background .3s ease;
}

/* form--tbl
--------------------------------------*/
.form--tbl input[type="text"],
.form--tbl input[type="tel"],
.form--tbl input[type="email"],
.form--tbl input[type="number"],
.form--tbl input[type="date"]{
	height: 5rem;
	padding: 0 2rem;
}
.form--tbl input:placeholder-shown,
.form--tbl textarea:placeholder-shown {
	color: #D8D8D8;
}
.form--tbl input::-webkit-input-placeholder,
.form--tbl textarea::-webkit-input-placeholder {
	color: #D8D8D8;
}
.form--tbl textarea{
	padding: 1.5rem 2rem;
}

/* checkbox radio */
.form--tbl span.wpcf7-list-item{
	margin: 0;
}
.form--tbl .wpcf7-radio,
.form--tbl .wpcf7-checkbox{
	display: block;
	margin-top: -2rem;
	width: calc(100% + 1rem);
}
.form--tbl .wpcf7-radio .wpcf7-list-item,
.form--tbl .wpcf7-checkbox .wpcf7-list-item{
	margin-top: 2rem;
	margin-right: 2rem;
}
.form--tbl .wpcf7-radio input[type="radio"],
.form--tbl .wpcf7-checkbox input[type="checkbox"],
.form--tbl .wpcf7-acceptance input[type="checkbox"]{
	display: none;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label,
.form--tbl .wpcf7-checkbox .wpcf7-list-item-label,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label{
	display: inline-block;
	position: relative;
	padding-left: 3rem;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label:before,
.form--tbl .wpcf7-radio .wpcf7-list-item-label:after,
.form--tbl .wpcf7-checkbox .wpcf7-list-item-label:before,
.form--tbl .wpcf7-checkbox .wpcf7-list-item-label:after,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label:before,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label:after{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label:before,
.form--tbl .wpcf7-checkbox .wpcf7-list-item-label:before,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label:before{
	width: 2rem;
	height: 2rem;
	left: 0;
	top: 0.8rem;
	background-color: #fff;
	border: 1px solid #BCBCBC;
	transition: background .2s ease, border .2s ease;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label:before{
	border-radius: 100%;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label:after,
.form--tbl .wpcf7-checkbox .wpcf7-list-item-label:after,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label:after{
	opacity: 0;
	transition: opacity .2s ease;
}
.form--tbl .wpcf7-radio .wpcf7-list-item-label:after{
	width: 1rem;
	height: 1rem;
	background-color: #727171;
	left: 0.5rem;
	top: 1.3rem;
	border-radius: 100%;
}
.form--tbl .wpcf7-checkbox .wpcf7-list-item-label:after,
.form--tbl .wpcf7-acceptance .wpcf7-list-item-label:after{
	left: 0.6rem;
	width: 0.9rem;
	height: 1.2rem;
	top: 0.9rem;
	transform: rotate(40deg);
	border-bottom: 0.3rem solid #fff;
	border-right: 0.3rem solid #fff;
}
.form--tbl .wpcf7-checkbox input:checked + .wpcf7-list-item-label:before,
.form--tbl .wpcf7-acceptance input:checked + .wpcf7-list-item-label:before{
	background-color: #727171;
	border-color: #727171;
}
.form--tbl .wpcf7-radio input:checked + .wpcf7-list-item-label:after,
.form--tbl .wpcf7-checkbox input:checked + .wpcf7-list-item-label:after,
.form--tbl .wpcf7-acceptance input:checked + .wpcf7-list-item-label:after{
	opacity: 1;
}

@media print,screen and (min-width: 600px) {
	.form--tbl .wpcf7-radio,
	.form--tbl .wpcf7-checkbox{
		margin-top: -1rem;
	}
	.form--tbl .wpcf7-radio .wpcf7-list-item,
	.form--tbl .wpcf7-checkbox .wpcf7-list-item{
		margin-top: 1rem;
	}
}

/* select */
select{
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
}
select::-ms-expand{
	display: none;
}
.select--cmn1{
	box-sizing: border-box;
	position: relative;
	width: 100%;
	background-color: #F5F5F5;
	color: #000;
	height: 5rem;
	transition: background .3s ease;
}
.select--cmn1:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
	width: 0.9rem;
	height: 0.9rem;
	border-right: solid 0.2rem #727171;
	border-bottom: solid 0.2rem #727171;
	right: 2rem;
	top: 50%;
	transform: translateY(-70%) rotate(45deg);
}
.form--tbl .select--cmn1 > p{
	width: 100%;
	height: 100%;
}
.select--cmn1 select{
	width: 100%;
	height: 100%;
	padding: 0 5.5rem 0 2rem;
	cursor: pointer;
}

/* ボタン */
.btn--form{
	position: relative;
	margin: 6rem auto 0 auto;
	pointer-events: none;
	height: 7rem;
}
.btn--form > p{
	height: 100%;
	width: 100%;
}
.btn--form input{
	outline: none;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance: none;
	background: none;
	border: none;
	padding: 0;
	display: inline-block;
	position: relative;
	text-align: center;
	cursor: pointer;
	line-height: 1;
	z-index: 3;
	box-sizing: border-box;
	width: 100%;
	height: 8rem;
	font-size: 1.6rem;
	background-color: #000000;
	color: #fff;
	pointer-events: auto;
	transition: background .3s ease, color .3s ease, border .3s ease, opacity .3s ease;
}
.btn--form input:disabled{
	opacity: .7;
	pointer-events: none;
}

@media print,screen and (min-width: 600px) {
	.btn--form{
		margin-top: 10rem;
		width: 33.5rem;
	}
}

.form--tbl{
	box-sizing: border-box;
	width: 100%;
}
.form--tbl p:not(:last-child){
	margin-bottom: 0;
}
.form--tbl th,
.form--tbl td{
	box-sizing: border-box;
	display: block;
}
.form--tbl th{
	padding-bottom: 1.5rem;
}
.form--tbl tr:not(:last-child) td{
	padding-bottom: 4rem;
}

.form--tbl .req{
	box-sizing: border-box;
	display: inline-block;
	color: #E1BFB0;
	border: 1px solid #E1BFB0;
	font-size: 1.3rem;
	line-height: 1;
	padding: 0.7rem 0.7rem;
	margin-right: 1.5rem;
}
.form--tbl .req.ninni{
	color: #9b9b9b;
	border-color: #9B9B9B;
}
.form--tbl .td-block:not(:last-child){
	margin-bottom: 2rem;
}
.form--tbl .td-detail-txt:not(:first-child){
	margin-top: 0.5rem;
}
.form--tbl .unit-wrap{
	display: flex;
	align-items: center;
}
.form--tbl .unit-wrap .unit:not(:last-child){
	margin-right: 1rem;
}

@media print,screen and (min-width: 600px) {
	.form--tbl th{
		font-size: 1.8rem;
	}
	.form--tbl tr:not(:last-child) td{
		padding-bottom: 5rem;
	}
}

/* response-output */
.wpcf7 form .wpcf7-response-output{
	padding: 2.4rem 2rem;
	border: none !important;
}
.wpcf7 form:not(.sent) .wpcf7-response-output{
	background-color: #980404;
	color: #fff;
}
.wpcf7 .recaptha-caption{
	margin-top: 10rem;
	font-size: 1.3rem;
	line-height: 1.69;
}
.wpcf7 .recaptha-caption a{
	text-decoration: underline;
}
.grecaptcha-badge { visibility: hidden; }
.wpcf7 form.sent .block-lead,
.wpcf7 form.sent .form--tbl,
.wpcf7 form.sent .btn--form,
.wpcf7 form.sent .recaptha-caption,
.wpcf7 form.sent .wpcf7-response-output{
	display: none;
}
.wpcf7 form .sent-thankyou-message{
	display: none;
}
.wpcf7 form.sent .sent-thankyou-message{
	display: block;
	padding: 3rem;
}
.wpcf7 form.sent .sent-thankyou-message .sec-ttl{
	font-size: 1.5em;
	margin-bottom: 3rem;
}

@media print,screen and (min-width: 600px) {
	.wpcf7 form.sent .sent-thankyou-message{
		padding: 6rem;
	}
}

/* unique */
.form--tbl .address-block-postcode{
	display: flex;
}
.form--tbl .address-block-postcode .btn-setaddres{
	width: 15rem;
	height: 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin-left: 1rem;
	background-color: #727171;
	color: #fff;
}
.form--tbl span[data-name="your-address"],
.form--tbl span[data-name="your-address2"]{
	display: block;
}
.form--tbl .tr-privacy .td-detail-txt{
	margin-top: 2.5rem;
}

@media screen and (max-width: 599px) {
	.form--tbl .address-block-postcode .unit-wrap{
		flex: 1;
	}
	.form--tbl .address-block-postcode .btn-setaddress{
		font-size: 1.5rem;
	}
}

@media print,screen and (min-width: 600px) {
	.form--tbl .address-block-postcode .unit-input{
		width: 15rem;
	}
	.form--tbl .tr-contact-type .select--cmn1{
		width: 33.5rem;
	}
}

/*====================================
header
====================================*/
/* hamburger-btn
--------------------------------------*/
.hamburger-btn{
	box-sizing: border-box;
	cursor: pointer;
	position: fixed;
	z-index: 1001;
	width: 1.7rem;
	height: 1.4rem;
	top: 2.3rem;
	left: 2rem;
}
.hamburger-btn-inner{
	display: block;
	position: absolute;
	width: 1.7rem;
	height: 1.4rem;
	top: 0;
	left: 0;
	transition: transform 0.35s ease;
	z-index: 2;
}
.hamburger-btn .border{
	position: absolute;
	top: 0;
	left: 0;
	width: 1.7rem;
	height: 0.2rem;
	transition: transform 0.35s ease, opacity 0.35s ease, background 0.35s ease;
	background-color: #000;
}
.hamburger-btn .border2{
	top: 0.6rem;
}
.hamburger-btn .border3{
	top: 1.2rem;
}

.hamburger-btn.is--open .hamburger-btn-inner{
	transform: rotate(360deg);
}
.hamburger-btn.is--open .border1,
.hamburger-btn.is--open .border3{
	top: 50%;
}
.hamburger-btn.is--open .border1{
	transform: rotate(-45deg);
}
.hamburger-btn.is--open .border2{
	opacity: 0;
}
.hamburger-btn.is--open .border3{
	transform: rotate(45deg);
}

@media print,screen and (min-width: 600px) {
	.hamburger-btn{
		width: 1.4rem;
		height: 1.2rem;
		top: 3.3rem;
		height: 5rem;
	}
	.hamburger-btn-inner{
		width: 1.4rem;
		height: 1.2rem;
	}
	.hamburger-btn .border{
		width: 1.4rem;
	}
	.hamburger-btn .border2{
		top: 0.5rem;
	}
	.hamburger-btn .border3{
		top: 1rem;
	}
	.hamburger-btn .txt{
		position: absolute;
		font-size: 1.5rem;
		left: 0;
		top: calc((1.2rem - 1em) / 2);
		padding-left: 2.5rem;
		transition: opacity .3s ease, color .3s ease;
	}
	.hamburger-btn .txt-close{
		opacity: 0;
	}
	.hamburger-btn.is--open .txt-open{
		opacity: 0;
	}
	.hamburger-btn.is--open .txt-close{
		opacity: 1;
	}
}

/* hamburger menu
--------------------------------------*/
#hamburger-menu{
	z-index:1000;
	position: fixed;
	box-sizing: border-box;
	width: 24rem;
	height: 100vh;
	top: 0;
	left: -24rem;
	transition: transform 0.35s ease;
}
#hamburger-menu.is--open{
	transform: translateX(24rem);
}
#hamburger-menu .menu-inner{
	box-sizing: border-box;
	overflow-y: auto;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 6rem 0;
}
#hamburger-menu .hamburger-nav-container{
	box-sizing: border-box;
	padding-top: 4rem;
	padding-bottom: 4rem;
	height: 100%;
	display: flex;
	justify-content: center;
}
#hamburger-menu .hamburger-nav-container .nav-item-list-wrap{
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#hamburger-menu .hamburger-nav-container .nav-item:not(:last-child){
	margin-bottom: 3rem;
}
#hamburger-menu .hamburger-nav-container .nav-item-txt{
	font-size: 1.8rem;
}

@media print,screen and (min-width: 600px) {
	#hamburger-menu{
		width: 40rem;
		left: -40rem;
	}
	#hamburger-menu.is--open{
		transform: translateX(40rem);
	}
	#hamburger-menu .menu-inner{
		padding: 8rem 0;
	}
	#hamburger-menu .hamburger-nav-container{
		padding-top: 12rem;
	}
	#hamburger-menu .hamburger-nav-container .nav-item-txt{
		font-size: 2.2rem;
	}
}

/* hamburger-layer */
#hamburger-layer{
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	z-index:999;
	pointer-events: none;
	opacity: 0;
	background-color: rgba(0, 0, 0, .3);
	transition: opacity .3s ease;
}
#hamburger-layer.is--open{
	pointer-events: auto;
	opacity: 1;
}

/* header
--------------------------------------*/
header{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 900;
	width: 100%;
	height: 6rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
header .bg1,
header .bg2{
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	transition: transform .3s ease;
}
header .bg1{
	box-shadow: 0px 1px 10px -5px rgba(0, 0, 0, .15);
	top: -6rem;
}
header .bg2{
	top: 0;
}
header.is--scroll .bg1{
	transform: translateY(6rem);
}
.header-inner{
	position: relative;
	z-index: 2;
}
.header-logo{
	display: block;
	width: 8rem;
	position: relative;
}
.header-logo img{
	transition: opacity .3s ease;
}
.header-logo .white{
	position: absolute;
	top: 0;
	left: 0;
}

@media print,screen and (min-width: 600px) {
	header{
		height: 8rem;
	}
	header .bg1{
		top: -8rem;
	}
	header.is--scroll .bg1{
		transform: translateY(8rem);
	}
	.header-logo{
		width: 11rem;
	}
}

/*===============================
footer
===============================*/
footer{
	padding: 10rem 0;
}
.footer-logo-container .block-logo .box-logo .logo{
	display: block;
	width: 15rem;
}
.footer-logo-container .block-logo .box-logo .el-sns{
	display: block;
	width: 3.5rem;
	height: 3.5rem;
}
.footer-logo-container .block-logo .box-copyright{
	font-size: 1.3rem;
	margin-top: 6rem;
}

@media only screen and (max-width: 599px) {
	.footer-logo-container .block-logo .box-logo .logo{
		margin: 0 auto;
	}
	.footer-logo-container .block-logo .box-logo .item-sns{
		margin-top: 3rem;
		display: flex;
		justify-content: center;
	}
	.footer-logo-container .block-logo .box-copyright{
		text-align: center;
	}
}

@media print,screen and (min-width: 600px) {
	footer{
		padding: 13rem 0;
	}
	.footer-logo-container{
		width: 90rem;
		display: flex;
		justify-content: space-between;
	}
	.footer-logo-container .block-logo .box-logo{
		display: flex;
		align-items: flex-end;
	}
	.footer-logo-container .block-logo .box-logo .item-sns{
		padding-bottom: 0.6rem;
		margin-left: 3rem;
	}
	.footer-logo-container .block-logo .box-logo .el-sns{
		width: 2.5rem;
		height: 2.5rem;
	}
	.footer-logo-container .block-nav .nav-list-wrap{
		display: flex;
		line-height: 1;
	}
	.footer-logo-container .block-nav .nav-list:not(:last-child){
		margin-right: 10rem;
	}
	.footer-logo-container .block-nav .nav-item:not(:last-child){
		margin-bottom: 2rem;
	}
}

/*====================================
top
====================================*/
body.page--top header .bg2{
	top: -6rem;
}
body.page--top .header-logo .black{
	opacity: 0;
}
body.page--top header.is--scroll .bg2{
	transform: translateY(6rem);
}
body.page--top header.is--scroll .header-logo .white{
	opacity: 0;
}
body.page--top header.is--scroll .header-logo .black{
	opacity: 1;
}
body.page--top .hamburger-btn:not(.is--open):not(.is--scroll) .border{
	background-color: #fff;
}
body.page--top .hamburger-btn:not(.is--open):not(.is--scroll) .txt-open{
	color: #fff;
}

@media print,screen and (min-width: 600px) {
	body.page--top header .bg2{
		top: -8rem;
	}
	body.page--top header.is--scroll .bg2{
		transform: translateY(8rem);
	}
}

/* main
--------------------------------------*/
#top .sec-main{
	box-sizing: border-box;
	width: 100%;
	height: 100vh;
	position: relative;
}
#top .sec-main .container-movie{
	width: 100%;
	height: 100%;
}
#top .sec-main .container-movie video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#top .sec-main .container-txt{
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 5rem;
}
#top .sec-main .container-txt .txt1{
	font-size: 3.2rem;
	line-height: 1.18;
}
#top .sec-main .container-txt .txt2{
	line-height: 1;
	margin-top: 1.5rem;
}

@media print,screen and (min-width: 600px) {
	#top .sec-main .container-txt{
		bottom: 7rem;
	}
}

/* about
--------------------------------------*/
#top .sec-about{
	position: relative;
	padding-top: 8rem;
	padding-bottom: 73.2rem;
}
#top .sec-about .sec-ttl{
	font-size: 6rem;
	margin-bottom: 6rem;
}
#top .sec-about .box-catch{
	margin-bottom: 3.5rem;
	font-size: 2.4rem;
}
#top .sec-about .box-catch .line:nth-child(2){
	margin-top: 2rem;
	margin-left: -0.5em;
}
#top .sec-about .box-catch .small{
	font-size: 1.6rem;
}
#top .sec-about .box-link{
	margin-top: 5rem;
}
#top .sec-about .box-link .link{
	font-size: 1.8rem;
}
#top .sec-about .img{
	position: absolute;
	pointer-events: none;
}
#top .sec-about .img1{
	width: 30rem;
	right: 2rem;
}
#top .sec-about .img2{
	width: 25rem;
	left: 0;
	bottom: 0;
}

@media only screen and (max-width: 599px) {
	#top .sec-about{
		overflow: hidden;
	}
	#top .sec-about .box-catch{
		width: calc(100% + 1.5rem);
		margin-left: -0.5rem;
	}
	#top .sec-about .img1{
		bottom: 20.2rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-about{
		padding-top: 15rem;
		padding-bottom: 65rem;
	}
	#top .sec-about .sec-ttl{
		margin-bottom: 10rem;
	}
	#top .sec-about .box-catch{
		margin-bottom: 5rem;
	}
	#top .sec-about .box-catch .line:not(:last-child){
		margin-bottom: 3rem;
	}
	#top .sec-about .box-catch .small{
		font-size: 1.8rem;
	}
	#top .sec-about .box-link{
		margin-top: 8rem;
	}
	#top .sec-about .img1{
		width: 60rem;
		top: 15rem;
		right: calc((100% - 130rem) / 2);
	}
	#top .sec-about .img2{
		width: 40rem;
		left: calc((100% - 130rem) / 2);
	}
}

/* product
--------------------------------------*/
#top .sec-product{
	padding: 8rem 0;
}
#top .sec-product .container-ttl{
	margin-bottom: 5rem;
}
#top .sec-product .sec-ttl{
	font-size: 6rem;
}
#top .sec-product .container-product{
	width: 28rem;
}
#top .sec-product .product-card .block-ttl{
	display: block;
}
#top .sec-product .product-card .card-img{
	width: 100%;
	height: 20rem;
	position: relative;
}
#top .sec-product .product-card .card-img .box-img{
	width: 100%;
	height: 100%;
}
#top .sec-product .product-card .card-img .box-img img{
	width: auto;
	height: 100%;
}
#top .sec-product .product-card .block-ttl .box-name{
	margin-top: 2rem;
}
#top .sec-product .product-card .block-ttl .item-name{
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	line-height: 1.1;
	display: inline-block;
}
#top .sec-product .product-card .block-ttl .item-sub-name{
	margin-top: 1rem;
	line-height: 1;
}
#top .sec-product .product-card .block-txt{
	margin-top: 1.5rem;
}
#top .sec-product .product-card .block-txt .box-txt{
	line-height: 1.93;
}
#top .sec-product .product-card .block-txt .box-price{
	margin-top: 1.5rem;
	line-height: 1;
}
#top .sec-product .container-link{
	margin-top: 5rem;
}
#top .sec-product .container-link .link{
	font-size: 1.8rem;
}

@media only screen and (max-width: 599px) {
	#top .sec-product .product-card:not(:last-child){
		margin-bottom: 5rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-product{
		padding: 15rem 0;
	}
	#top .sec-product .container-ttl{
		margin-bottom: 7rem;
		position: relative;
	}
	#top .sec-product .container-ttl .block-link{
		position: absolute;
		bottom: 0;
		right: 0;
	}
	#top .sec-product .container-ttl .block-link .link{
		font-size: 1.8rem;
	}
	#top .sec-product .container-product{
		width: 104rem;
	}
	#top .sec-product .product-card-list{
		display: flex;
		flex-wrap: wrap;
	}
	#top .sec-product .product-card{
		width: calc((100% - 10rem * 2) / 3);
	}
	#top .sec-product .product-card:not(:nth-child(3n)){
		margin-right: 10rem;
	}
	#top .sec-product .product-card:nth-child(n+4){
		margin-top: 10rem;
	}
	#top .sec-product .product-card .card-img .box-img{
		transition: opacity .3s ease;
	}
	#top .sec-product .product-card .card-img .box-img.img2{
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
	}
	#top .sec-product .product-card:hover .card-img .box-img.img1{
		opacity: 0;
	}
	#top .sec-product .product-card:hover .card-img .box-img.img2{
		opacity: 1;
	}
	#top .sec-product .product-card .block-ttl .box-name{
		margin-top: 3rem;
	}
	#top .sec-product .product-card .block-txt{
		margin-top: 2rem;
	}
	#top .sec-product .product-card .block-txt .box-name .item-name{
		background-image: linear-gradient(to bottom, transparent calc(100% - 0.7rem), currentColor calc(100% - 0.7rem),currentColor calc(100% - 0.7rem + 0.2rem),transparent calc(100% - 0.7rem + 0.2rem));
	}
	#top .sec-product .product-card .block-txt .box-price{
		margin-top: 2rem;
	}
}

/* brand
--------------------------------------*/
#top .sec-brand .sec-ttl{
	font-size: 6rem;
}
#top .sec-brand .container-txt .block-txt{
	margin-top: 2rem;
}
#top .sec-brand .container-txt .block-link{
	margin-top: 5rem;
}
#top .sec-brand .container-txt .block-link .link{
	font-size: 1.8rem;
	transition: color .3s ease;
}

@media only screen and (max-width: 599px) {
	#top .sec-brand .container-txt{
		padding-top: 4rem;
		overflow: hidden;
	}
	#top .sec-brand .container-txt .block-link .link{
		color: #7f7f7f;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-brand{
		background: url(../img/top/brand-bg-pc1.jpg) no-repeat center center;
		background-size: 130rem auto;
	}
	#top .sec-brand .container-txt{
		min-height: 60rem;
		display: flex;
		align-items: center;
		color: #fff;
	}
	#top .sec-brand .container-txt .block-txt{
		margin-top: 4rem;
	}
	#top .sec-brand .container-txt .block-link{
		margin-top: 8rem;
	}
	#top .sec-brand .container-txt .block-link .link:hover{
		color: #000;
	}
}
@media print,screen and (min-width: 1300px) {
	#top .sec-brand{
		background-image: url(../img/top/brand-bg-pc2.jpg);
		background-size: 200rem auto;
	}
	#top .sec-brand .container-txt .container-inner{
		width: 130rem;
	}
}

/* news
--------------------------------------*/
#top .sec-news{
	padding-top: 8rem;
	padding-bottom: 10rem;
	overflow: hidden;
}
#top .sec-news .container-ttl{
	margin-bottom: 5rem;
}
#top .sec-news .sec-ttl{
	font-size: 6rem;
}
#top .sec-news .container-archive{
	position: relative;
	padding-bottom: 4.4rem;
}
#top .sec-news .article-card .article-time{
	margin-top: 2rem;
	padding-bottom: 2rem;
}
#top .sec-news .article-card .article-time-txt{
	font-size: 1.3rem;
}
#top .sec-news .article-card .article-ttl{
	line-height: 1.93;
}
#top .sec-news .container-link{
	margin-top: 5rem;
}
#top .sec-news .container-link .link{
	font-size: 1.8rem;
}

@media only screen and (max-width: 599px) {
	#top .sec-news .article-card .article-ttl{
	-webkit-line-clamp: 3;
	max-height: calc(1.93em * 3);
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-news{
		padding-top: 14rem;
		padding-bottom: 20rem;
	}
	#top .sec-news .container-ttl{
		margin-bottom: 7rem;
		position: relative;
	}
	#top .sec-news .container-ttl .block-link{
		position: absolute;
		bottom: 0;
		right: 0;
	}
	#top .sec-news .container-ttl .block-link .link{
		font-size: 1.8rem;
	}
	#top .sec-news .container-archive{
		padding-bottom: 5.4rem;
		width: calc(110rem + (100% - 110rem) / 2);
		margin-right: 0;
		margin-left: calc((100% - 110rem) / 2);
	}
	#top .sec-news .container-archive .swiper{
		width: 40rem;
		margin: 0;
		overflow: visible;
	}
}

/*====================================
page404
====================================*/
#page404 .sec-404{
	padding-bottom: 10rem;
}
#page404 .sec-404 .box-link{
	margin-top: 5rem;
}

@media print,screen and (min-width: 600px) {
	#page404 .sec-404{
		padding-bottom: 20rem;
		display: flex;
		justify-content: center;
	}
}

/*====================================
privacy-policy
====================================*/
#privacy-policy .sec-policy{
	padding-bottom: 10rem;
	line-height: 2.18;
}
#privacy-policy .sec-policy .policy-block:not(:last-child){
	margin-bottom: 5rem;
}
#privacy-policy .sec-policy p:not(:last-child){
	margin-bottom: 2.18em;
}
#privacy-policy .sec-policy li{
	padding-left: 3em;
	text-indent: -1em;
}

@media print,screen and (min-width: 600px) {
	#privacy-policy .sec-policy{
		width: 90rem;
		padding-bottom: 20rem;
	}
	#privacy-policy .sec-policy .policy-block:not(:last-child){
		margin-bottom: 7rem;
	}
}

/*====================================
faq
====================================*/
#faq .sec-faq{
	padding-bottom: 7rem;
}
#faq .sec-faq .faq-block:not(:last-child){
	border-bottom: 1px solid #ECECEC;
}
#faq .sec-faq .q-box{
	position: relative;
	padding: 2.5rem 4.5rem 2.5rem 2rem;
	cursor: pointer;
	transition: background .3s ease, color .3s ease;
}
#faq .sec-faq .q-icon{
	position: absolute;
	pointer-events: none;
	width: 1.4rem;
	height: 1.4rem;
	top: calc((100% - 1.4rem) / 2);
	right: 2rem;
}
#faq .sec-faq .q-icon:before,
#faq .sec-faq .q-icon:after{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	left: 0;
	top: calc((100% - 0.2rem) / 2);
	width: 100%;
	height: 0.2rem;
	background-color: #000;
	transition: background .3s ease, transform .3s ease, opacity .3s ease;
}
#faq .sec-faq .q-icon:after{
	transform: rotate(90deg);
}
#faq .sec-faq .q-box.is--open{
	background-color: #7F7F7F;
	color: #fff;
}
#faq .sec-faq .q-box.is--open .q-icon:before,
#faq .sec-faq .q-box.is--open .q-icon:after{
	background-color: #fff;
}
#faq .sec-faq .q-box.is--open .q-icon:after{
	opacity: 0;
	transform: rotate(0deg);
}
#faq .sec-faq .a-box{
	padding: 2rem 0;
}

@media print,screen and (min-width: 600px) {
	#faq .sec-faq{
		padding-bottom: 17rem;
	}
	#faq .sec-faq .faq-list{
		width: 90rem;
	}
	#faq .sec-faq .a-box{
		padding-bottom: 3rem;
	}
}

/*====================================
company
====================================*/
#company .sec-outline .outline-tbl{
	box-sizing: border-box;
	width: 100%;
	line-height: 1.68;
}
#company .sec-outline .outline-tbl th,
#company .sec-outline .outline-tbl td{
	box-sizing: border-box;
	padding: 0 1rem;
}
#company .sec-outline .outline-tbl th{
	padding-bottom: 0.7rem;
}

@media only screen and (max-width: 599px) {
	#company .sec-outline .outline-tbl th,
	#company .sec-outline .outline-tbl td{
		display: block;
	}
	#company .sec-outline .outline-tbl tr:not(:first-child) th{
		padding-top: 2.7rem;
	}
	#company .sec-outline .outline-tbl tr:not(:last-child) td{
		padding-bottom: 2.7rem;
		border-bottom: 1px solid #ECECEC;
	}
}

@media print,screen and (min-width: 600px) {
	#company .sec-outline{
		width: 70rem;
	}
	#company .sec-outline .outline-tbl{
		line-height: 2.18;
	}
	#company .sec-outline .outline-tbl tr:not(:first-child) th,
	#company .sec-outline .outline-tbl tr:not(:first-child) td{
		padding-top: 3.5rem;
	}
	#company .sec-outline .outline-tbl tr:not(:last-child) th,
	#company .sec-outline .outline-tbl tr:not(:last-child) td{
		padding-bottom: 3.5rem;
		border-bottom: 1px solid #ECECEC;
	}
	#company .sec-outline .outline-tbl th{
		width: 16.2rem;
		padding-left: 3rem;
		padding-right: 1rem;
	}
}

#company .sec-contact{
	padding-top: 6rem;
	padding-bottom: 10rem;
}
#company .sec-contact .container-contact{
	border: 1px solid #ECECEC;
	padding: 4rem 0;
}
#company .sec-contact .container-contact .container-ttl{
	font-size: 1.8rem;
}
#company .sec-contact .container-contact .block-txt{
	font-size: 1.8rem;
	line-height: 1.88;
	margin-top: 1.5rem;
}
#company .sec-contact .container-contact .block-link{
	margin-top: 2rem;
}
#company .sec-contact .container-contact .block-link .link{
	line-height: 1;
}

@media only screen and (max-width: 599px) {
}

@media print,screen and (min-width: 600px) {
	#company .sec-contact{
		padding-top: 10rem;
		padding-bottom: 20rem;
		width: 70rem;
	}
	#company .sec-contact .container-contact{
		padding: 5rem;
	}
	#company .sec-contact .container-contact .block-link{
		margin-top: 3rem;
	}
}

/*====================================
contact
====================================*/
#contact .sec-form{
	padding-bottom: 10rem;
}

@media print,screen and (min-width: 600px) {
	#contact .sec-form{
		padding-bottom: 20rem;
		width: 90rem;
	}
}

/*====================================
brand-story
====================================*/
#brand-story .sec-about{
	padding-top: 10rem;
}
#brand-story .sec-about .container-main .block-img{
	position: relative;
}
#brand-story .sec-about .container-main .block-img .sec-ttl{
	position: absolute;
	left: 0;
	top: -3rem;
	width: 100%;
	font-size: 6rem;
}
#brand-story .sec-about .container-main .block-txt{
	padding-top: 5rem;
}
#brand-story .sec-about .container-main .block-txt .block-ttl{
	font-size: 2.2rem;
	margin-bottom: 3rem;
}

#brand-story .sec-about .container1{
	padding-top: 15rem;
}
#brand-story .sec-about .container1 .block-img{
	margin: 5rem 0;
}

@media print,screen and (min-width: 600px) {
	#brand-story .sec-about{
		padding-top: 19rem;
	}
	#brand-story .sec-about .container-main{
		width: 50rem;
		margin: 0 auto;
	}
	#brand-story .sec-about .container-main .block-img .sec-ttl{
		font-size: 8rem;
		top: -5rem;
	}
	#brand-story .sec-about .container-main .block-txt{
		width: 100%;
		padding-top: 6rem;
	}
	#brand-story .sec-about .container-main .block-txt .block-ttl{
		font-size: 2.4rem;
	}

	#brand-story .sec-about .container1{
		padding-top: 25rem;
	}
	#brand-story .sec-about .container1 .block-img{
		width: 130rem;
		margin: 6rem auto;
	}
}

/* story
--------------------------------------*/
#brand-story .sec-story{
	padding-top: 18.5rem;
}
#brand-story .sec-story .container-story .block-img{
	position: relative;
}
#brand-story .sec-story .container-story .block-img .sec-ttl{
	position: absolute;
	left: 0;
	top: -3rem;
	width: 100%;
	font-size: 6rem;
}
#brand-story .sec-story .container-story .block-txt{
	padding-top: 5rem;
}
#brand-story .sec-story .container-story .block-txt .block-ttl{
	font-size: 2.2rem;
	line-height: 2.09;
	margin-bottom: 2.5rem;
}

@media print,screen and (min-width: 600px) {
	#brand-story .sec-story{
		padding-top: 25rem;
	}
	#brand-story .sec-story .container-story{
		width: 50rem;
		margin: 0 auto;
	}
	#brand-story .sec-story .container-story .block-img .sec-ttl{
		font-size: 8rem;
		top: -5rem;
	}
	#brand-story .sec-story .container-story .block-txt{
		width: 100%;
		padding-top: 6rem;
	}
	#brand-story .sec-story .container-story .block-txt .block-ttl{
		font-size: 2.4rem;
	}
}

/* collection
--------------------------------------*/
#brand-story .sec-collection{
	padding-top: 15rem;
	padding-bottom: 10rem;
}
#brand-story .sec-collection .container-main .block-img{
	position: relative;
}
#brand-story .sec-collection .container-main .block-img .sec-ttl{
	position: absolute;
	left: 0;
	top: -3rem;
	width: 100%;
	font-size: 6rem;
}
#brand-story .sec-collection .container-main .block-txt{
	padding-top: 7rem;
}

#brand-story .sec-collection .container-collection{
	margin-top:  10rem;
}
#brand-story .sec-collection .container-collection .collection-card:not(:last-child){
	margin-bottom: 10rem;
}
#brand-story .sec-collection .container-collection .collection-card .card-ttl{
	font-size: 2.2rem;
	margin-bottom: 3rem;
}
#brand-story .sec-collection .container-collection .collection-card .box-product{
	margin-top: 5rem;
}
#brand-story .sec-collection .container-collection .collection-card .box-product .box-ttl{
	line-height: 1;
	margin-top: -0.5rem;
}
#brand-story .sec-collection .container-collection .collection-card .product-list{
	display: flex;
	flex-wrap: wrap;
}
#brand-story .sec-collection .container-collection .collection-card .product-item{
	font-size: 1.3rem;
	margin-top: 2rem;
	margin-right: 2rem;
}

@media only screen and (max-width: 599px) {
	#brand-story .sec-collection .container-collection .collection-card .block-txt{
		margin-top: 5rem;
	}
}

@media print,screen and (min-width: 600px) {
	#brand-story .sec-collection{
		padding-top: 25rem;
		padding-bottom: 20rem;
	}
	#brand-story .sec-collection .container-main{
		width: 50rem;
		margin: 0 auto;
	}
	#brand-story .sec-collection .container-main .block-img .sec-ttl{
		font-size: 8rem;
		top: -5rem;
	}
	#brand-story .sec-collection .container-main .block-txt{
		padding-top: 10rem;
		width: 100%;
	}

	#brand-story .sec-collection .container-collection{
		margin-top: 15rem;
		width: 130rem;
	}
	#brand-story .sec-collection .container-collection .collection-card{
		display: flex;
		align-items: flex-end;
	}
	#brand-story .sec-collection .container-collection .collection-card .block-img{
		width: 66rem;
	}
	#brand-story .sec-collection .container-collection .collection-card .block-txt{
		flex: 1;
		padding-left: 6rem;
		padding-right: 10rem;
	}
	#brand-story .sec-collection .container-collection .collection-card .card-ttl{
		font-size: 2.6rem;
		margin-bottom: 4rem;
	}
	#brand-story .sec-collection .container-collection .collection-card .box-product{
		margin-top: 8rem;
	}
}

/*====================================
product archive
====================================*/
#product.page--archive .sec-pagettl .sec-inner{
	background: url(../img/product/pagettl-img-sp.jpg) no-repeat center top;
	background-size: 100% auto;
}
#product.page--archive .sec-pagettl .container-pagettl{
	padding-top: 52.5rem;
}

@media only screen and (max-width: 599px) {
	#product.page--archive .sec-pagettl .pnkz{
		margin-top: 3rem;
	}
}

@media print,screen and (min-width: 600px) {
	#product.page--archive .sec-pagettl{
		padding-bottom: 16rem;
	}
	#product.page--archive .sec-pagettl .sec-inner{
		background-image: url(../img/product/pagettl-img-pc.jpg);
		background-size: auto 50rem;
	}
	#product.page--archive .sec-pagettl .container-pagettl{
		padding-top: 53rem;
	}
}

/* product
--------------------------------------*/
#product.page--archive .sec-product{
	padding-bottom: 10rem;
}
#product.page--archive .sec-product .product-card-inner{
	display: block;
}
#product.page--archive .sec-product .product-card .card-img{
	width: 100%;
	height: 20rem;
	position: relative;
}
#product.page--archive .sec-product .product-card .card-img .box-img{
	width: 100%;
	height: 100%;
}
#product.page--archive .sec-product .product-card .card-img .box-img img{
	width: auto;
	height: 100%;
}
#product.page--archive .sec-product .product-card .box-name{
	padding-top: 2rem;
}
#product.page--archive .sec-product .product-card .box-name .item-name{
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	line-height: 1.1;
	display: inline-block;
}
#product.page--archive .sec-product .product-card .box-name .item-sub-name{
	line-height: 1;
	margin-top: 1rem;
}
#product.page--archive .sec-product .product-card .box-price{
	line-height: 1.2;
	margin-top: 2rem;
}

@media only screen and (max-width: 599px) {
	#product.page--archive .sec-product .product-card:not(:last-child){
		margin-bottom: 5rem;
	}
}

@media print,screen and (min-width: 600px) {
	#product.page--archive .sec-product{
		padding-bottom: 20rem;
	}
	#product.page--archive .sec-product .product-list{
		display: flex;
		flex-wrap: wrap;
	}
	#product.page--archive .sec-product .product-card{
		width: 25%;
	}
	#product.page--archive .sec-product .product-card:nth-child(n+5){
		margin-top: 10rem;
	}
	#product.page--archive .sec-product .product-card .card-img .box-img{
		transition: opacity .3s ease;
	}
	#product.page--archive .sec-product .product-card .card-img .box-img.img2{
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
	}
	#product.page--archive .sec-product .product-card:hover .card-img .box-img.img1{
		opacity: 0;
	}
	#product.page--archive .sec-product .product-card:hover .card-img .box-img.img2{
		opacity: 1;
	}
}

/*====================================
product single
====================================*/
#product.page--single .sec-main{
	padding-top: 5rem;
}
#product.page--single .sec-main .thumbnail-list{
	margin-top: 2rem;
	display: flex;
	flex-wrap: wrap;
}
#product.page--single .sec-main .thumbnail{
	width: calc((100% - 0.5rem * 4) / 5);
	position: relative;
	cursor: pointer;
}
#product.page--single .sec-main .thumbnail:not(:nth-child(5n)){
	margin-right: 0.5rem;
}
#product.page--single .sec-main .thumbnail:nth-child(n+6){
	margin-top: 0.5rem;
}
#product.page--single .sec-main .thumbnail:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
	z-index: 3;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	border: 0.3rem solid #000;
	transition: opacity .3s ease;
}
#product.page--single .sec-main .thumbnail.is--active:before{
	opacity: 1;
}
#product.page--single .sec-main .thumbnail .img{
	padding-bottom: 100%;
}

#product.page--single .sec-main .container-txt .block-txt:not(:last-child){
	padding-bottom: 2rem;
	border-bottom: 1px solid #ECECEC;
}
#product.page--single .sec-main .container-txt .block-txt:not(:first-child){
	padding-top: 2rem;
}
#product.page--single .sec-main .container-txt .product-ttl{
	font-size: 3.2rem;
	letter-spacing: 0.1em;
	line-height: 1.3;
}
#product.page--single .sec-main .container-txt .product-sub-ttl{
	line-height: 1.2;
	margin-top: 0.5rem;
}
#product.page--single .sec-main .container-txt .block-txt.block-price{
	display: flex;
	align-items: flex-end;
	padding-top: 2.5rem;
	padding-bottom: 2.3rem;
	font-size: 2.2rem;
}
#product.page--single .sec-main .container-txt .box-price{
	display: flex;
	align-items: flex-end;
	margin-bottom: 0.2rem;
}
#product.page--single .sec-main .container-txt .box-price .price{
	font-size: 2.2rem;
}
#product.page--single .sec-main .container-txt .box-price .tax{
	font-size: 1.3rem;
	margin-left: 0.5rem;
}
#product.page--single .sec-main .container-txt .box-capacity{
	margin-left: 1rem;
	font-size: 1.3rem;
	border: 1px solid #7F7F7F;
	padding: 0.3rem 0.4rem;
}
#product.page--single .sec-main .container-txt .block-detail .box-txt{
	font-size: 1.3rem;
	line-height: 2;
}
#product.page--single .sec-main .container-txt .block-detail .box-btn{
	margin-top: 3rem;
}
#product.page--single .sec-main .container-txt .block-detail .box-btn .btn{
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 5rem;
	padding: 1rem;
	font-size: 1.3rem;
}
#product.page--single .sec-main .container-txt .block-detail .box-btn .btn:not(:last-child){
	margin-bottom: 2rem;
}
#product.page--single .sec-main .container-txt .block-detail .box-archive{
	margin-top: 2.5rem;
}

@media only screen and (max-width: 599px) {
	#product.page--single .sec-main .container-txt{
		padding-top: 6rem;
	}
}

@media print,screen and (min-width: 600px) {
	#product.page--single .sec-main{
		padding-top: 11.5rem;
		display: flex;
	}
	#product.page--single .sec-main .container-img{
		width: 50rem;
	}
	#product.page--single .sec-main .thumbnail-list{
		margin-top: 4rem;
	}
	#product.page--single .sec-main .thumbnail{
		width: calc((100% - 1rem * 4) / 5);
	}
	#product.page--single .sec-main .thumbnail:not(:nth-child(5n)){
		margin-right: 1rem;
	}
	#product.page--single .sec-main .thumbnail:nth-child(n+6){
		margin-top: 1rem;
	}

	#product.page--single .sec-main .container-txt{
		flex: 1;
		padding-left: 10rem;
	}
	#product.page--single .sec-main .container-txt .block-txt:not(:last-child){
		padding-bottom: 3rem;
	}
	#product.page--single .sec-main .container-txt .block-txt:not(:first-child){
		padding-top: 3rem;
	}
	#product.page--single .sec-main .container-txt .block-txt.block-price{
		padding-top: 3.5rem;
		padding-bottom: 3.3rem;
	}
	#product.page--single .sec-main .container-txt .box-price .price{
		font-size: 2.6rem;
	}
	#product.page--single .sec-main .container-txt .block-detail .box-btn .btn{
		width: 33.5rem;
	}
}

/* txt
--------------------------------------*/
#product.page--single .sec-txt{
	padding-top: 8rem;
}

@media print,screen and (min-width: 600px) {
	#product.page--single .sec-txt{
		width: 90rem;
		padding-top: 15rem;
	}
}

/* link
--------------------------------------*/
#product.page--single .sec-link{
	padding-top: 8rem;
	padding-bottom: 10rem;
}

@media print,screen and (min-width: 600px) {
	#product.page--single .sec-link{
		width: 90rem;
		padding-top: 15rem;
		padding-bottom: 20rem;
	}
}

/*====================================
news
====================================*/
#news.page--archive .sec-article{
	padding-bottom: 10rem;
}
#news.page--archive .sec-article .article-card .article-txt-box{
	margin-top: 2rem;
}
#news.page--archive .sec-article .article-card .article-time{
	font-size: 1.3rem;
}
#news.page--archive .sec-article .article-card .article-head{
	margin-bottom: 1.5rem;
}
#news.page--archive .sec-article .article-card .article-ttl{
	line-height: 1.93;
	-webkit-line-clamp: 3;
	max-height: calc(1.93em * 3);
}

@media only screen and (max-width: 599px) {
	#news.page--archive .sec-article .article-card:not(:last-child){
		margin-bottom: 5rem;
	}
}

@media print,screen and (min-width: 600px) {
	#news.page--archive .sec-article{
		padding-bottom: 20rem;
	}
	#news.page--archive .sec-article .article-list{
		display: flex;
		flex-wrap: wrap;
	}
	#news.page--archive .sec-article .article-card{
		width: calc((100% - 4.9rem * 2) / 3);
	}
	#news.page--archive .sec-article .article-card:not(:nth-child(3n)){
		margin-right: 4.9rem;
	}
	#news.page--archive .sec-article .article-card:nth-child(n+4){
		margin-top: 10rem;
	}
}

/* single
--------------------------------------*/
#news.page--single .single-article{
	padding-top: 5rem;
	padding-bottom: 10rem;
}
#news.page--single .single-article .article-head-container{
	margin-bottom: 5rem;
}
#news.page--single .single-article .article-head{
	margin-bottom: 2rem;
}
#news.page--single .single-article .article-time{
	font-size: 1.3rem;
}
#news.page--single .single-article .article-ttl{
	font-size: 2.2rem;
	line-height: 1.9;
}
#news.page--single .single-article .article-img{
	margin-top: 4.5rem;
}
#news.page--single .single-article .article-img img{
	width: auto;
	max-width: 100%;
}
#news.page--single .single-article .article-archive{
	margin-top: 5.5rem;
}

@media only screen and (max-width: 599px) {
}

@media print,screen and (min-width: 600px) {
	#news.page--single .single-article{
		width: 90rem;
		padding-top: 11rem;
		padding-bottom: 20rem;
	}
	#news.page--single .single-article .article-head-container{
		margin-bottom: 7rem;
	}
	#news.page--single .single-article .article-ttl{
		font-size: 2.6rem;
		line-height: 2;
	}
	#news.page--single .single-article .article-img{
		margin-top: 6.5rem;
	}
	#news.page--single .single-article .article-archive{
		margin-top: 9.5rem;
	}
}

/*====================================

====================================*/

/*
--------------------------------------*/

@media only screen and (max-width: 599px) {
}

@media print,screen and (min-width: 600px) {
}


