@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: 1024px) {
	.pc {
		display: none;
	}
}

.sp {
	display: none;
}

@media only screen and (max-width: 1024px) {
	.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;
}

.border-outer {
	width: 96%;
	max-width: 1200px;
	margin: 20px auto 0;
	padding: 3px;
	border: 1px solid #000;
	position: relative;
}
.border {
	border: 1px solid #000;
	padding: 20px;
}

.midashi {
	background: #fff;
	position: absolute;
	top: 5px;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}
.midashi img {
	max-width: 280px;
}

@media only screen and (max-width: 680px) {
	.border-outer {
		width: 100%;
		max-width: 100%;
		margin: 20px auto 0;
		padding: 3px 0;
		border-top:1px solid #000;
		position: relative;
		border-bottom:1px solid #000;
		border-right: none;
		border-left: none;
	}
	.border {
		border-top:1px solid #000;
		border-bottom:1px solid #000;
		border-right: none;
		border-left: none;
		padding: 20px 0;
	}
	.midashi {
		
	}
	.midashi img {
		max-width: 200px;
	}
}

/* =====================
	mv
===================== */
.mvhead {
	position: relative;
	width: 100%;
	margin: 40px auto 0;
	height: 300px;
}

.mv_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 52vw;
	max-width: 800px;
	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) {
	.mvhead {
		margin: 30px auto 0;
		position: relative;
		width: 100%;
		height: 30vw
	}
	.mv_logo {
		position: absolute;
		width: 100%;
		height: auto;
	}
}

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

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

/* =====================
	main
===================== */
.main {
	padding: 40px 0;
}

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

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

.sub_ttl {
	font-family: "Times New Roman", '游明朝', 'Yu Mincho', YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	margin: 0 auto 25px;
	text-align: center;
}

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

@media screen and (min-width: 768px) {
	.main_txt{
		font-size: 16px;
		font-size: 1.6rem;
	}
	.sub_ttl {
		font-size: 24px;
		font-size: 2.4rem;
	}
}

@media screen and (max-width: 768px) {
	.main_txt{
		font-size: 2.4vw;
	}
	.sub_ttl {
		font-size: 21px;
		font-size: 2.1rem;
	}
	.main_ttl img {
		max-width: 360px;
	}
}

@media only screen and (max-width: 680px) {
	.main .wrap2 {
		background: none;
		padding: 50px 6.66667vw;
	}
	.main_ttl {
		width: 77.33333vw;
		margin: 0 auto 25px;
	}
	.main_ttl img {
		max-width: 240px;
	}
	.sub_ttl {
		font-size: 17px;
		font-size: 1.7rem;
		margin: 0 auto 20px;
	}
	.main_txt {
		letter-spacing: .05em;
	}
}

@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: 90%;
	margin: 40px auto;
	padding: 0;
}

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


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

@media only screen and (max-width: 680px) {
	.sec {
		position: relative;
		width: 100%;
		margin: 0 auto;
		padding: 0;
		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 {
	position: relative;
}
.cont_col {
	width: 100%;
	max-width: 350px;
	margin: 0;
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 300;
}

/* one */
.one {
	background: #fff url(../images/img01_pc.png) 0 0 no-repeat;
	background-size: contain;
	height: 480px;
}
.one .cont_col {
	position: absolute;
	top: 30px;
	left: 55%;
}
.one .number {
	width: 140px;
	position: absolute;
	top: 0;
	left: -120px;
}

/* two */
.two {
	background: #fff url(../images/img02_pc.png) right 0 no-repeat;
	background-size: auto 560px;
	height: 600px;
}
.two .cont_col {
	position: absolute;
	top: 200px;
	left: 0;
}
.two .number {
	width: 140px;
	position: absolute;
	top: -120px;
	right: 0;
}

/* three */
.three {
	background: #fff url(../images/img03_pc.png) right 0 no-repeat;
	background-size: auto 520px;
	height: 700px;
}
.three .cont_col {
	position: static;
	max-width: 600px;
	padding-top:510px;
}
.three .number {
	width: 140px;
	position: absolute;
	top: 30px;
	left: 60px;
}

.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: flex-start;
	align-items: flex-start;
	align-self: flex-start;
}

/* four */
.four {
	position: relative;
	width: 47%;
}
.four .cont_col {
	margin-top: 120px;
	position: relative;
}
.four .number {
	width: 140px;
	position: absolute;
	top: -135px;
	left:0;
}

/* five */
.five {
	padding-top: 180px;
	position: relative;
	width: 47%;
}
.five .cont_col {
	margin-top: 50px;
	position: relative;
}
.five .number {
	width: 140px;
	position: absolute;
	top: 0;
	left: -140px;
}

/* six */
.six {
	margin-top: -20px;
	background: #fff url(../images/img06_pc.png) right bottom no-repeat;
	background-size: auto 500px;
	height: 600px;
}
.six .cont_col {
	position: absolute;
	top: 50px;
	left: 120px;
}
.six .number {
	width: 140px;
	position: absolute;
	top: 0;
	left: -140px;
}

/* seven */
.seven {
	background: #fff url(../images/img07_pc.png) 0 0 no-repeat;
	background-size: contain;
	height: 480px;
}
.seven .cont_col {
	position: absolute;
	top: 100px;
	left: 60%;
}
.seven .number {
	width: 140px;
	position: absolute;
	top: 0;
	left: -140px;
}

/* eight */
.eight {
	background: #fff url(../images/img08_pc.png) right 0 no-repeat;
	background-size: contain;
	height: 600px;
}
.eight .cont_col {
	position: absolute;
	top: 100px;
	left: 140px;
}
.eight .number {
	width: 140px;
	position: absolute;
	top: 0;
	left: -145px;
}


@media only screen and (max-width: 1024px) {
	.cont_col {
		width: 100%;
		margin: 0 auto;
	}
	.one,.two,.three,.four,.five,.six,.seven,.eight {
		width: 80%;
		background: none;
		position: static;
		height: auto;
		margin: 0 auto;
		padding: 20px 0;
	}
	.one .cont_col,.two .cont_col,.three .cont_col,
	.four .cont_col,.five .cont_col,.six .cont_col,
	.seven .cont_col,.eight .cont_col{
		width: 100%;
		max-width: 100%;
		top:0;
		left:0;
		left:0;
		right:0;
		margin: 0;
		padding: 0 !important;
		position: relative;
		margin-top: 10vw;
	}
	p.mark {
		padding-left: 18vw;
		margin-bottom: -5px;
	}
	.one .number,.two .number,.three .number,.four .number,.five .number,.six .number,.seven .number,.eight .number {
		top: -10vw;
		width: 15vw;
		left:0;
	}
}

@media only screen and (max-width: 768px) {
	.cont_col {
		width: 100%;
		margin: 0 auto;
	}
	.one,.two,.three,.four,.five,.six,.seven,.eight {
		width: 100%;
		background: none;
		position: static;
		height: auto;
		margin: 0 auto;
		padding: 20px 0;
	}
	.one .cont_col,.two .cont_col,.three .cont_col,
	.four .cont_col,.five .cont_col,.six .cont_col,
	.seven .cont_col,.eight .cont_col{
		width: 100%;
		max-width: 100%;
		top:0;
		left:0;
		left:0;
		right:0;
		margin: 0;
		padding: 0 !important;
		position: relative;
		margin-top: 10vw;
	}
	p.mark {
		padding-left: 18vw;
		margin-bottom: -5px;
	}
	.flex {
		display: block;
	}
	.one .number,.two .number,.three .number,.four .number,.five .number,.six .number,.seven .number,.eight .number {
		top: -10vw;
		width: 15vw;
		left:0;
	}
}

@media only screen and (max-width: 800px) {
	.cont {
		width: 90%;
		margin: 0 auto;
		display: block;
	}
	.cont img.sp {
		width: 100%;
	}
	.cont_col {
		max-width: inherit;
	}
}

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

.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: 25px 0;
	line-height: 2;
}
.underline {
	border-bottom: 1px solid #000;
}
.btn {
	background: #000;
	text-align: center;
	display: block;
	width: 40%;
	max-width: 200px;
	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;
	}
	.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 8vw;
	}
	.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;
	}
	.underline {
		border-bottom: 1px solid #000;
		margin-bottom: 0;
	}
}

@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;
		letter-spacing: .05em;
	}
	.txt {
		margin-top:-30px !important;
	}
	.three .txt,.four .txt {
		margin-top:-50px !important;
	}
}

@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;
	}
}


/* =====================
	lineup
===================== */
.lineup {
	background: #d1d1d1;
	margin: 60px 0 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;
}

.pc2 {
	display: block;
}

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

.sp2 {
	display: none;
}

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


