@charset "UTF-8";
/* ===============================================================
	BREAK POINT
=============================================================== */
/* ===============================================================
	FONT
=============================================================== */
@media all and (-ms-high-contrast: none) {
	* {
		font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo,sans-serif;
	}
}

/* ===============================================================
	FONT SIZE
=============================================================== */
/* ===============================================================
	color
=============================================================== */
/* =====================
	common
===================== */
html {
	font-size: 62.5%;
}

body {
	font-size: 16px;
	font-family: "Times New Roman", '游明朝', 'Yu Mincho', YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	line-height: 1.4;
	letter-spacing: 0em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

img {
	max-width: 100%;
	transition: 1.5s;
	vertical-align: top;
}

.pc {
	display: block;
}

@media only screen and (max-width: 768px) {
	.pc {
		display: none;
	}
}

.sp {
	display: none;
}

@media only screen and (max-width: 768px) {
	.sp {
		display: block;
	}
}

.visuallyhidden {
	position: absolute;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(0px 0px 99.9% 99.9%);
	clip-path: inset(0px 0px 99.9% 99.9%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	padding: 0;
	border: 0;
}

/* =====================
	animation
===================== */
.fadeUp01 {
	transition: 1s;
	opacity: 0;
	transform: translate(0, 60px);
	-webkit-transform: translate(0, 60px);
}

@media only screen and (max-width: 680px) {
	.fadeUp01 {
		opacity: 0;
		transform: translate(0, 2%);
		-webkit-transform: translate(0, 2%);
	}
}

.fadeUpOn {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}

@media only screen and (max-width: 680px) {
	.fadeUpOn {
		opacity: 1;
		transform: translate(0, 0);
		-webkit-transform: translate(0, 0);
	}
}

#content {
	overflow: hidden;
}

/* =====================
	mv
===================== */
.mv {
	position: relative;
	width: 100%;
	min-height: 47.5vw;
	margin: 0;
	background: url(../images/mv_pc.jpg) no-repeat;
	background-size: cover;
	overflow: hidden;
}

.mv_logo {
	position: absolute;
	top: 45.5%;
	left: 26%;
	width: 35vw;
	height: auto;
	transform: translateX(-50%) translateY(-50%);
}
.mv_logo img {
	width: 100%;
}

@media only screen and (max-width: 1160px) {
	.mv {
		margin-bottom: -;
	}
}

@media only screen and (max-width: 680px) {
	.mv {
		position: relative;
		width: 100%;
		height: 95vw;
		margin-bottom: 0;
		background: url(../images/mv_sp.jpg) 50% 50% no-repeat;
		background-size: 100%;
		overflow: hidden;
	}
	.mv_logo {
		position: absolute;
		top: 30vw;
		left: 35%;
		width: 60vw;
		height: auto;
	}
}

/* =====================
	wrap
===================== */
.wrap {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 300;
}

@media only screen and (max-width: 768px) {
	.wrap {
		padding: 0 6.66667vw;
	}
}

/* =====================
	main
===================== */
.main {
	background: #1f1f1f;
	margin: 0;
	padding: 80px 0;
	color: #fff;
}

.main_ttl {
	margin: 0 auto 50px;
	text-align: center;
}

.main_ttl img {
	max-width: 300px;
}

.main_txt {
	text-align: center;
	line-height: 2;
}

@media screen and (min-width: 768px) {
	.main_txt {
		font-size: 18px;
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 768px) {
	.main_txt {
		font-size: 2.4vw;
	}
}

@media only screen and (max-width: 1160px) {
	.main_ttl {
		width: 36.2931vw;
		margin: 0 auto 4.31034vw;
	}
}

@media only screen and (max-width: 680px) {
	.main {
		margin-bottom: 0;
		padding: 60px 0;
	}
	.main_ttl {
		width: 77.33333vw;
		margin: 0 auto 9vw;
	}
	.main_txt {
		letter-spacing: .05em;
	}
	.main_ttl img {
		max-width: 200px;
	}
}

@media only screen and (max-width: 680px) and (min-width: 768px) {
	.main_txt {
		font-size: 22px;
		font-size: 2.2rem;
	}
}

@media only screen and (max-width: 680px) and (max-width: 768px) {
	.main_txt {
		font-size: 2.93333vw;
	}
}

@media only screen and (max-width: 680px) {
	.main_txt br {
		display: none;
	}
}

/* =====================
	sec
===================== */
.sec {
	width: 100%;
	margin: 0 auto;
	padding: 80px 0;
}

.sec_ttl {
	margin: 0 auto 120px;
	text-align: center;
}

.one {
	background: #000;
}

.two {
	background: #1f1f1f;
}

@media only screen and (max-width: 1160px) {
	.sec {
		width: 100%;
		margin: 0 auto;
	}
	.sec_ttl {
		margin: 0 auto 10.34483vw;
	}
}

@media only screen and (max-width: 680px) {
	.sec {
		position: relative;
		width: 100%;
		margin: 0 auto;
		padding: 60px 0 20px;
		border-bottom: 0;
	}
	.sec::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		display: block;
		width: 200%;
		height: 1px;
		transform: translateX(-25%);
	}
	.sec_ttl {
		width: 56.13333vw;
		margin: 0 auto 9.33333vw;
	}
}

/* =====================
	cont & detail
===================== */
.cont {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-content: flex-end;
	align-items: flex-end;
	align-self: flex-end;
	margin: 0 auto;
}
.cont_full {
	width: 100%;
	margin: 15px auto;
	position: relative;
	text-align: right!important;
}
.cont_full img {
	width: 100%;
	vertical-align: bottom;
}
.cont_col {
	width: 49% !Important;
	margin: 0;
}
.right {
	text-align: right;
}
.subttl {
	width: 100%;
	margin-bottom: 10px;
}
.subimg {
	margin-top: 50px;
}
@media only screen and (max-width: 800px) {
	.cont {
		width: 100%;
		margin: 0 auto;
		display: block;
	}
	.cont img.sp {
		width: 100%;
	}
	.cont_col {
		width: 100% !important;	
		margin: 0 auto;
	}
}

.detail {
	width: 100%;
	margin: 0 auto;
	color: #fff;	
}

.detail p {
	margin-left: 15px;
	margin-right: 15px;
}

.detail img {
	width: 100%;
	vertical-align: bottom;
}

.detail-center {
	width: 100%;
	max-width: 650px;
	margin: 0 auto 120px;
}

.detail_ttl {
	margin-bottom: 20px;
}

.detail_txt {
	margin: 0 auto;
	padding: 20px 0;
	line-height: 2;
}
.underline {
	border-bottom: 1px solid #fff;
}
.btn {
	background: #919191;
	text-align: center;
	display: block;
	width: 30%;
	max-width: 150px;
	padding: 8px 10px 12px;
}
.btn img {
	width: 100%;
	margin: 0 auto;
	max-width: 85px;
	vertical-align: middle;
}

@media screen and (min-width: 768px) {
	.detail_txt {
		font-size: 15px;
		font-size: 1.5rem;
	}
}

@media screen and (max-width: 768px) {
	.detail_txt {
		font-size: 2.4vw;
		width: 100% !Important;
	}
	.underline {
		border-bottom: none;
	}
	.btn {
		width: 100%;
		max-width: 100%;
		padding: 12px 10px 16px;
		margin: 30px 0 0;
	}
	.btn img {
		width: 100%;
		margin: 0 auto;
		max-width: 90px;
		vertical-align: middle;
	}
}

@media only screen and (max-width: 1160px) {
	.detail {
		width: 100%;
		margin: 0 0 10.34483vw;
	}
	.detail-center {
		width: 100%;
		max-width: 56.03448vw;
		margin: 0 auto 10.34483vw;
	}
	.detail_ttl {
		margin-bottom: 1.72414vw;
	}
	.detail_txt {
		margin-bottom: 2.58621vw;
		width: 100% !Important;
	}
}

@media only screen and (max-width: 680px) {
	.detail {
		width: 100%;
		margin: 0 0 16vw;
	}
	.detail-center {
		width: 100%;
		max-width: inherit;
		margin: 0 auto;
		padding-bottom: 20vw;
	}
	.detail_ttl {
		margin-bottom: 2.66667vw;
	}
	.detail_ttl img {
		width: 100%;
		max-width: inherit;
	}
	.detail_txt {
		margin-bottom: 0;
		padding: 20px 0 0;
		letter-spacing: .05em;
	}
}

@media only screen and (max-width: 680px) and (min-width: 768px) {
	.detail_txt {
		font-size: 22px;
		font-size: 2.2rem;
	}
}

@media only screen and (max-width: 680px) and (max-width: 768px) {
	.detail_txt {
		font-size: 2.93333vw;
	}
}

@media only screen and (max-width: 680px) {
	.detail_img {
		width: 100%;
	}
	.detail_img img {
		width: 100%;
		max-width: inherit;
	}
	.detail p {
		margin-left: 0;
		margin-right: 0;
	}

}

/* =====================
	bottom
===================== */
.bottom {
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: 1220px;
	margin: 0 auto 200px;
}

.bottom a {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 550px;
	margin: 0 30px;
}

@media only screen and (max-width: 1160px) {
	.bottom {
		margin: 0 auto 17.24138vw;
	}
	.bottom a {
		max-width: 47.41379vw;
	}
}

@media only screen and (max-width: 680px) {
	.bottom {
		flex-direction: column;
		margin: 0 auto 6.66667vw;
	}
	.bottom a {
		width: 100%;
		max-width: inherit;
		margin-left: 0;
		margin-right: 0;
	}
	.bottom a:first-child {
		width: 100%;
		margin-bottom: 20vw;
		padding: 0 4.66667vw;
	}
	.bottom a img {
		width: 100%;
		max-width: inherit;
	}
}


/* =====================
	goods
===================== */
.goods {
	background: #5c5c5c;
	margin: 0;
	padding: 80px 0;
	color: #fff;
}

.goods_ttl {
	margin: 0 auto 30px;
	text-align: center;
}
.goods_ttl img {
	max-width: 500px;
}

.goods_txt {
	text-align: center;
	line-height: 2;
}

.goods ul {
	margin: 30px 0 0;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
}

.goods ul li {
	width: 50%;
	max-width: 485px;
	margin: 0;
	text-align: center;
}

.goods ul li p {
	font-size: 15px;
	margin: 20px 0 0;
}


@media only screen and (max-width: 680px) {
	.goods {
		padding: 60px 0;
	}
	.goods ul {
		display: block;
	}
	.goods_txt {
		font-size: 2.93333vw;
	}
	.goods_ttl {
		margin: 0 auto 15px;
		text-align: center;
	}
	.goods_ttl img {
		max-width: 100%;
	}
	.goods ul li {
		width: 100%;
		max-width: 680px !important;
		margin: 10px 0;
	}
	.goods ul li img {
		width: 100%;
		max-width: 480px;
	}
	.goods ul li p {
		font-size: 15px;
		margin: 10px 0 30px;
		font-size: 2.93333vw;
	}
}

/* =====================
	lineup
===================== */
.lineup {
	background: #d1d1d1;
	margin: 0;
	padding: 80px 0;
}

.lineup_ttl {
	margin: 0 auto 30px;
	text-align: center;
}

.lineup ul {
	width: 90%;
	margin: 40px auto 0;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
}

.lineup ul li {
	width: 24%;
	margin: 0;
	text-align: center;
}

.lineup ul li img {
	width: 100%;
	margin-bottom: 10px;
}

.lineup ul li p {
	color: #595757;
	font-size: 13px;
	margin: 0;
	padding: 0;
	line-height: 1.6;
}

.lineup ul li p.price {
	font-weight: 600;
}

.btn02 {
	background: #000;
	text-align: center;
	display: block;
	width: 100%;
	max-width: 150px;
	margin: 10px auto 0;
	padding: 10px 10px 6px;
}
.btn02 img {
	width: 100%;
	margin: 0 auto;
	max-width: 85px;
	vertical-align: middle;
}

.btn03 {
	background: #939393;
	text-align: center;
	display: block;
	width: 100%;
	max-width: 300px;
	margin: 60px auto 0;
	padding: 10px 10px 15px;
}
.btn03 img {
	width: 100%;
	margin: 0 auto;
	max-width: 110px;
	vertical-align: middle;
}

@media only screen and (max-width: 680px) {
	.lineup {
		padding: 60px 0;
	}
	.lineup ul {
		width: 100%;
		margin: 40px auto 0;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.lineup ul li {
		width: 48%;
		margin: 0 0 30px;
		text-align: center;
	}
	.lineup ul li p {
		margin: 0;
		font-size: 2.93333vw;
	}
	.btn02 {
		width: 100%;
		max-width: 200px;
		margin: 8px auto 0;
		padding: 12px 10px 5px;
	}
	.btn02 img {
		max-width: 75px !important;
		vertical-align: middle;
	}
	.btn03 {
		margin: 40px auto 0;
		padding: 10px 10px 15px;
	}
	.btn03 img {
		max-width: 100px;
	}
}


/*------------------------------------
サイドアーカイブ
------------------------------------*/
.topics {
	margin: 0;
	padding: 80px 0;
}

.asideTitle {
	background:#ffffff;
	margin-bottom:20px;
	padding:0 0 5px 13px;
	border-left:5px solid #007180;
}

.asideTitle h1 {
	font-family:'Playfair Display', serif;font-weight: 300;
	font-size:120%;
}

.asideTitle h2 {
	font-family:"游明朝","YuMincho","serif";
	font-size:80%;
	line-height:1;
}
.topics ul,
.items ul,
.code ul,
.recommend ul {
	width: 100%;
	margin: 20px auto 0;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.topics ul li a,
.items ul li a,
.recommend ul li a,
.code a {
	text-decoration: none;
	color: #000;
}

.topics ul li {
	width: 24%;
	margin: 0;
	text-align: left;
}

.items ul li {
	width: 32%;
	margin: 0;
	text-align: left;
}

.recommend ul li {
	width: 19%;
	margin: 0;
	text-align: left;
	position: relative;
}

.code ul li {
	width: 24%;
	margin: 0;
	text-align: justify;
	position: relative;
}

.recommend ul li span {
	position: absolute;
	top: 5px;
	right:5px;
	font-size: 13px;
	padding: 4px 2px 2px;
	width: 25px;
	height:25px;
	text-align: center;
	font-family:'Playfair Display', serif;
	background: #909090;
}

.topics ul li img,
.items ul li img,
.recommend ul li img,
.code ul li img {
	width: 100%;
	margin-bottom: 10px;
}

.topics ul li h5 {
	font-size: 15px;
	margin-bottom: 5px;
}

.topics ul li p,
.items ul li p,
.recommend ul li p,
.code p {
	color: #595757;
	font-size: 13px;
	margin: 0;
	padding: 0;
	line-height: 1.6;
}

.items,
.recommend,
.code {
	margin: 0;
	padding: 0 0 80px;
}

a.morebtn {
	display: block;
    width: 250px;
	height:auto;
	text-indent:inherit;
	margin: 40px auto 0;
    font-size: 115%;
    padding: 14px 0 16px;
    border-radius: 30px;
    text-align: center;
    line-height: 1;
	color:#000;
	font-size: 15px;
	text-decoration: none;
	background-color:#fff;
	background-image:none;
	border:1px solid #03717e;
	box-sizing:border-box;	
	font-weight: 600;
}

a.morebtn:hover {
	text-decoration:none;
	opacity:0.8;
	background-color:#000;
	border:1px solid #000;
	color:#fff;
}

@media only screen and (max-width: 680px) {
	.topics {
		margin: 0;
		padding: 60px 0;
	}
	.asideTitle {
		text-align: center;
		border-left: none;
	}

	.asideTitle h1 {
		font-family:'Playfair Display', serif;font-weight: 300;
		font-size:120%;
		text-align: center;
		text-transform: uppercase;
		margin: 0 0 3px;
	}

	.asideTitle h2 {
		font-family:"游明朝","YuMincho","serif";
		font-size:80%;
		line-height:1;
	}
	.topics ul li {
		width: 48%;
		margin-bottom: 30px;
	}

	.items ul li,
	.code ul li{
		width: 48%;
		margin-bottom: 30px;
	}

	.recommend ul li {
		width: 48%;
		margin: 0 0 30px;
		text-align: justify;
		position: relative;
	}

	.coordinate > div {
		width: 39.5vw;
		max-width: 39.5vw;
		margin: 0 1vw;
		text-align: justify;
		position: relative;
	}
	a.morebtn {
		display: block;
		width: 100%;
		height:auto;
		text-indent:inherit;
		margin: 30px auto 0;
		font-size: 115%;
		padding: 14px 0 16px;
		border-radius: 0;
		text-align: center;
		line-height: 1;
		color:#000;
		font-size: 14px;
		text-decoration: none;
		background-color:#fff;
		background-image:none;
		border:1px solid #000;
		box-sizing:border-box;	
		font-weight: 600;
	}
	.topics ul li h5 {
		font-size: 3vw;
	}

	.topics ul li p,
	.items ul li p,
	.recommend ul li p,
	.code p {
		font-size: 2.93333vw;
	}
}



/* DIRECTION CONTROLS (NEXT / PREV) */

.code .bx-wrapper .bx-prev {
	left: 5px;
	top: 35% !important;
	background: url(../images/controls.png) no-repeat 0 -32px;
}

.code .bx-wrapper .bx-next {
	right: 5px;
	top: 35% !important;
	background: url(../images/controls.png) no-repeat -43px -32px;
}

.items .bx-wrapper .bx-prev {
	left: 5px;
	top: 42% !important;
	background: url(../images/controls.png) no-repeat 0 -32px;
}

.items .bx-wrapper .bx-next {
	right: 5px;
	top: 42% !important;
	background: url(../images/controls.png) no-repeat -43px -32px;
}

.bx-wrapper .bx-prev:hover {
	background-position: 0 0;
}

.bx-wrapper .bx-next:hover {
	background-position: -43px 0;
}

.bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 50%;
	margin-top: -16px;
	outline: 0;
	width: 32px;
	height: 32px;
	text-indent: -9999px;
	z-index: 9999;
}

.bx-wrapper .bx-controls-direction a.disabled {
	display: none;
}





