@charset "UTF-8";

/* = Bugfix For Android
-------------------------------------------------------------- */
* {
	max-height: 999999px;
}

/* = Fonts
-------------------------------------------------------------- */
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 100;
	src: url('../fonts/NotoSansCJKjp-Thin.eot'); /* IE9 Compat Modes */
	src: url('../fonts/NotoSansCJKjp-Thin.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
	url('../fonts/NotoSansCJKjp-Thin.woff') format('woff'), /* Modern Browsers */
	url('../fonts/NotoSansCJKjp-Thin.ttf') format('truetype'); /* Safari, Android, iOS */
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 200;
	src: url('../fonts/NotoSansCJKjp-Light.eot');
	src: url('../fonts/NotoSansCJKjp-Light.eot?#iefix') format('embedded-opentype'),
	url('../fonts/NotoSansCJKjp-Light.woff') format('woff'),
	url('../fonts/NotoSansCJKjp-Light.ttf') format('truetype');
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/NotoSansCJKjp-DemiLight.eot');
	src: url('../fonts/NotoSansCJKjp-DemiLight.eot?#iefix') format('embedded-opentype'),
	url('../fonts/NotoSansCJKjp-DemiLight.woff') format('woff'),
	url('../fonts/NotoSansCJKjp-DemiLight.ttf') format('truetype');
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/NotoSansCJKjp-Regular.eot');
	src: url('../fonts/NotoSansCJKjp-Regular.eot?#iefix') format('embedded-opentype'),
	url('../fonts/NotoSansCJKjp-Regular.woff') format('woff'),
	url('../fonts/NotoSansCJKjp-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/NotoSansCJKjp-Medium.eot');
	src: url('../fonts/NotoSansCJKjp-Medium.eot?#iefix') format('embedded-opentype'),
	url('../fonts/NotoSansCJKjp-Medium.woff') format('woff'),
	url('../fonts/NotoSansCJKjp-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/NotoSansCJKjp-Bold.eot');
	src: url('../fonts/NotoSansCJKjp-Bold.eot?#iefix') format('embedded-opentype'),
	url('../fonts/NotoSansCJKjp-Bold.woff') format('woff'),
	url('../fonts/NotoSansCJKjp-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 900;
	src: url('../fonts/NotoSansCJKjp-Black.eot');
	src: url('../fonts/NotoSansCJKjp-Black.eot?#iefix') format('embedded-opentype'),
	url('../fonts/NotoSansCJKjp-Black.woff') format('woff'),
	url('../fonts/NotoSansCJKjp-Black.ttf') format('truetype');
}
.noto {
	font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, verdana, sans-serif;
	letter-spacing: -0.02em;
	display: inline-block;
	padding: 0.4em 0 0\0;
}
.noto::after {
	content: '';
	font-family: sans-serif;
}
.mincho {
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', 'Yu Gothic', YuGothic, serif;
}

.thin {
	font-weight: 100;
}
.light {
	font-weight: 200;
}
.demi-light {
	font-weight: 300;
}
.regular {
	font-weight: 400;
}
.medium {
	font-weight: 500;
}
.bold {
	font-weight: 700;
}
.black {
	font-weight: 900;
}

/* = Init
-------------------------------------------------------------- */
html {
	font-size: 62.5%;
}
body,
input,
textarea {
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1.75;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, verdana, sans-serif;
	color: #333;
}
body {
	background: #fff;
}

img, iframe {
	max-width: 100%;
}

/* = reset element style
-------------------------------------------------------------- */

ul, ol, li {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* = Anchor
-------------------------------------------------------------- */
a {
	color: inherit;
}
a:focus {
	outline: none;
}
a:link,
a:visited {
	color: inherit;
	text-decoration: none;
}
a:active,
a:hover {
	text-decoration: none;
	opacity: 0.7;
}

a.underline {
	text-decoration: underline;
}

a.img-box {
	max-width: 100%;
	display: inline-block;
	vertical-align: top;
	transition: 0.35s opacity;
}

a.tel,
.tel a {
	opacity: 1;
}
@media screen and (min-width: 768px) {
	a.tel,
	.tel a {
		pointer-events: none;
	}
}

/* = Table
-------------------------------------------------------------- */
table {
	border-collapse: separate;
	border-spacing: 0;
	empty-cells: show;
	border-top: 1px solid #dcdddd;
	border-right: none;
	border-bottom: none;
	border-left: 1px solid #dcdddd;
	margin: 20px 0;
	width: 100%;
}
td,
th {
	padding: 10px;
	border-top: none;
	border-right: 1px solid #dcdddd;
	border-bottom: 1px solid #dcdddd;
	border-left: none;
}
th {
	background: #efefef;
}

/* = Input
-------------------------------------------------------------- */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea {
	background: #f9f9f9;
	border: 1px solid #ccc;
	box-shadow: inset 1px 1px 1px rgba(0,0,0,0.1);
	-moz-box-shadow: inset 1px 1px 1px rgba(0,0,0,0.1);
	-webkit-box-shadow: inset 1px 1px 1px rgba(0,0,0,0.1);
	padding: 0.2em 0.5em;
}

input:hover,
input:focus,
textarea {
	outline: none;
}
input[type="radio"]:hover,
input[type="submit"]:hover {
	cursor: pointer;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;
}

/* = Common Class
-------------------------------------------------------------- */
.relative { position: relative; }
.absolute { position: absolute; }

.left { float: left; }
.right { float: right; }

.clear {
	clear: both;
}
.clearfix {
	min-height: 1px;
}
.clearfix::after {
	clear: both;
	content: ".";
	display: block;
	font-size: 0;
	height: 0;
	visibility: hidden;
}

.floatbox {
	overflow: hidden;
}
.floatlist {
	list-style: none;
	overflow: hidden;
	margin: 0;
	padding: 0;
	font-size: 0;
}
.floatlist li {
	display: inline-block;
	font-size: 1.5rem;
	vertical-align: top;
}
.paudary {
	line-height: 5;
}

@media screen and (max-width: 640px) {
	.floatlist li {
		line-height: 2;
	}
}

.img-box {
	font-size: 0;
	line-height: 1;
	text-align: center;
}

/* = Display
-------------------------------------------------------------- */
.table {
	display: table;
	width: 100%;
}
.cell {
	display: table-cell;
	vertical-align: middle;
}
.ib {
	display: inline-block;
	vertical-align: top;
}

@media screen and (min-width: 639px) {
	.sp-only {
		display: none !important;
	}
}

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


/*
-------------------------------------------------------------- */
.title-bg-pattern-gray {
	padding-top: 20px;
	padding-bottom: 8px;
	margin-bottom: 14px;
	font-size: 24px;
	font-weight: normal;
	line-height: 1.292;
	color: #fff;
	background: url("../images/top/maincontent/bg-pattern-gray.png") no-repeat 50% 50%;
	background-size: cover;
}

.title-bg-pattern-gray small {
	display: block;
	font-size: 12px;
}

@media screen and (max-width: 640px) {
	.title-bg-pattern-gray {
		padding-top: 35px;
		padding-bottom: 20px;
		font-size: 30px;
	}
}

/*
-------------------------------------------------------------- */
.title-dash {
	display: inline-block;
	position: relative;
	padding-right: 80px;
	padding-left: 80px;
	margin-bottom: 25px;
	font-size: 24px;
	font-weight: normal;
	line-height: 1.292;
}

.title-dash small {
	display: block;
	font-size: 12px;
}

@media screen and (max-width: 640px) {
	.title-dash {
		font-size: 30px;
	}

	.title-dash small {
		font-size: 16px;
	}
}

.title-dash::before,
.title-dash::after {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 60px;
	height: 2px;
	margin-top: auto;
	margin-bottom: auto;
	content: "";
	background-color: #8f8f8f;
}

.title-dash::before {
	left: 0;
}

.title-dash:after {
	right: 0;
}

/*
-------------------------------------------------------------- */
.title-black-sm {
	font-size: 17px;
	margin-bottom: 0;
}

@media screen and (min-width: 639px) {
	.title-black-sm {
		margin-top: 10px;
	}
}

/*
-------------------------------------------------------------- */
.row,
.row * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


/*
-------------------------------------------------------------- */
.col-base {
	padding-right: 5px;
	padding-left: 5px;
}

.col-base .instagram-media {
	min-width: 0 !important;
}

/*
-------------------------------------------------------------- */
.col-xs-6 {
	width: 50%;
	float: left;
}

/*
-------------------------------------------------------------- */
@media screen and (min-width: 639px) {
	.col-sm-3 {
		float: left;
		width: 25%;
	}

	.col-sm-15 {
		float: left;
		width: 20%;
	}
}


/*
-------------------------------------------------------------- */
.section-instagram-voice {
	padding-bottom: 50px;
}

.section-instagram-voice .title {
	margin-bottom: 30px;
}

.section-instagram-voice .row {
	margin-right: -8px;
	margin-left: -8px;
}
.section-instagram-voice .col-base {
	padding-right: 8px;
	padding-left: 8px;
	margin-bottom: 16px;
}
.section-instagram-voice img {
	vertical-align: top;
}

@media screen and (max-width: 640px) {
	.section-instagram-voice .content-width {
		padding-right: 0;
		padding-left: 0;
	}

	.section-instagram-voice .content-width.body-container {
		padding-right: 20px;
		padding-left: 20px;
	}
}


/*
-------------------------------------------------------------- */
.section-recommend-items .caption {
	line-height: 1.5;
	margin-bottom: 60px;
}

.section-recommend-items .thumbnail-container {
	padding-right: 30px;
	padding-left: 30px;
}

@media screen and (max-width: 640px) {
	.section-recommend-items img {
		width: auto;
	}

	.section-recommend-items .content-width {
		padding-right: 0;
		padding-left: 0;
	}
}

/*
-------------------------------------------------------------- */
@media screen and (max-width: 640px) {
	.center-xs {
		text-align: center;
	}
}

/*
-------------------------------------------------------------- */
.price {
	font-size: 16px;
	color: #666;
}

/*
-------------------------------------------------------------- */
.bg-crystal {
	background: url("../images/top/maincontent/bg-crystal.png") no-repeat 50% 50%;
	background-size: cover;
}

/*
-------------------------------------------------------------- */
.section-online-store {
	padding-top: 34px;
	padding-bottom: 25px;
}

.section-online-store .btn {
	padding: 0;
}

@media screen and (min-width: 639px) {
	.section-online-store li {
		margin-right: 17px;
		margin-left: 17px;
	}
}

@media screen and (max-width: 640px) {
	.section-online-store .content-width {
		padding-right: 20px;
		padding-left: 20px;
	}

	.section-online-store .floatlist li + li {
		margin-top: 5px;
	}
}

/*
-------------------------------------------------------------- */
.section-follow-us {
	padding-bottom: 50px;
}
.section-follow-us .title {
	position: relative;
}

.section-follow-us .title .icon-container {
	position: absolute;
	top: 20px;
	right: 28px;
	height: 40px;
}

.section-follow-us .title .icon-container .icon {
	display: inline-block;
	margin-left: 8px;
}

.section-follow-us .row {
	margin-right: -8px;
	margin-left: -8px;
}
.section-follow-us .col-base {
	padding-right: 8px;
	padding-left: 8px;
	margin-bottom: 16px;
}
.section-follow-us img {
	vertical-align: top;
}

.section-follow-us .body-container {
	margin-bottom: 25px;
}

@media screen and (max-width: 640px) {
	.section-follow-us .content-width {
		padding-right: 0;
		padding-left: 0;
	}

	.section-follow-us .title .icon-container {
		top: 39px;
		right: 14px;
	}

	.section-follow-us .body-container {
		padding-right: 20px;
		padding-left: 20px;
	}
}


/*
-------------------------------------------------------------- */
@media screen and (min-width: 639px) {
	a.thumbnail {
		display: block;
	}
}

/*
-------------------------------------------------------------- */
.serif {
	font-family: "Roboto Slab",Garamond,"Times New Roman","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",HiraMinProN-W3,"HGS明朝E","游明朝","Yu Mincho","游明朝体",YuMincho,"ＭＳ Ｐ明朝","MS PMincho",serif
}

/*
-------------------------------------------------------------- */
@media screen and (max-width: 640px) {
	.mm-listview {
		font-size: 18px !important;
	}

	.mm-listview > li > a,
	.mm-listview > li > span {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	.mm-listview .icon-container {
		padding: 10px 15px 10px !important;
	  margin-top: 10px !important;
	}
	.mm-listview .icon-container img {
		width: auto;
	}
	.mm-listview .icon-container .icon {
		margin-right: 5px;
		margin-left: 5px;
	}
}

/*
-------------------------------------------------------------- */
.text-center {
	text-align: center;
}

/*
-------------------------------------------------------------- */
.btn-pink {
	position: relative;
	display: inline-block !important;
	padding: 11px 78px !important;
	color: #fff !important;
	font-size: 18px !important;
	font-weight: normal !important;
	background-color: #fe588e;
	border-radius: 4px;
}

/*
-------------------------------------------------------------- */
.btn-pink .arrow-circle-right {
	position: relative;
	display: inline-block !important;
	padding-left: 25px;
}

.btn-pink .arrow-circle-right:after,
.btn-pink .arrow-circle-right:before {
	position: absolute;
	top: 0;
	bottom: 0;
	display: inline-block;
	margin-top: auto;
	margin-bottom: auto;
	content: ""
}
.btn-pink .arrow-circle-right:before {
	left: 0;
	width: 17px;
	height: 17px;
	background-color: #fff;
	border-radius: 50%
}
.btn-pink .arrow-circle-right:after {
	left: 6px;
	width: 0;
	height: 0;
	margin-right: 23px;
	border-style: solid;
	border-width: 4px 0 4px 5px;
	border-color: transparent transparent transparent #fe588e;
}


/*
-------------------------------------------------------------- */
@media screen and (max-width: 640px) {
	.navbar {
		position: relative;
	}

	.navbar > .container-fluid {
		position: absolute;
		top: 0;
		left: 100%;
		z-index: 1000;
		width: 100%;
	}
}

/*
-------------------------------------------------------------- */
.navbar-collapse {
	padding-right: 15px;
	padding-left: 15px;
	overflow-x: visible;
	border-top: 1px solid transparent;
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
	-webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
	overflow-y: auto;
}

/*
-------------------------------------------------------------- */
.fade {
	opacity: 0;
	-webkit-transition: opacity 0.15s linear;
	-o-transition: opacity 0.15s linear;
	transition: opacity 0.15s linear;
}

.fade.in {
	opacity: 1;
}

.collapse {
	display: none;
}

.collapse.in {
	display: block;
}

.collapsing {
	position: relative;
	height: 0;
	overflow: hidden;
	-webkit-transition-property: height, visibility;
	-o-transition-property: height, visibility;
	transition-property: height, visibility;
	-webkit-transition-duration: 0.35s;
	-o-transition-duration: 0.35s;
	transition-duration: 0.35s;
	-webkit-transition-timing-function: ease;
	-o-transition-timing-function: ease;
	transition-timing-function: ease;
}

/*
-------------------------------------------------------------- */
.menu-trigger {
	position: absolute;
	top: 55px;
	right: 20px;
	display: none;
	margin: auto 0;
	width: 40px;
	height: 35px;
	-webkit-transition: .3s;
	transition: .3s;
	cursor: pointer;
}

@media (max-width: 767px) {
	.menu-trigger {
		display: inline-block
	}
}

.menu-trigger,
.menu-trigger:active,
.menu-trigger:hover {
	background-color: transparent !important;
	border: 0;
	outline: 0;
	opacity: 1;
}

.menu-trigger .icon-bar {
	position: absolute;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 4px;
	background-color: #444;
	border-radius: 10px;
	-webkit-transition: .3s;
	transition: .3s
}

.menu-trigger .icon-bar:nth-of-type(1) {
	top: 0
}

.menu-trigger .icon-bar:nth-of-type(2) {
	top: 15px
}

.menu-trigger .icon-bar:nth-of-type(3) {
	bottom: 1px
}

.menu-trigger .icon-bar + .icon-bar {
	margin-top: 0
}

.menu-trigger.active .icon-bar:nth-of-type(1) {
	-webkit-transform: translateY(15px) rotate(-45deg);
	-ms-transform: translateY(15px) rotate(-45deg);
	transform: translateY(15px) rotate(-45deg)
}

.menu-trigger.active .icon-bar:nth-of-type(2) {
	opacity: 0;
	height: 0;
}

.menu-trigger.active .icon-bar:nth-of-type(3) {
	-webkit-transform: translateY(-15px) rotate(45deg);
	-ms-transform: translateY(-15px) rotate(45deg);
	transform: translateY(-15px) rotate(45deg)
}

/*
-------------------------------------------------------------- */
.navbar-nav {
	padding: 15px 25px;
	margin-right: -15px;
	margin-left: -15px;
	font-size: 18px;
	border-bottom: 1px solid #e2e2e2;
	background: #f3f3f3;
}

.navbar-nav li + li {
	border-top: 1px solid #e2e2e2;
}

.navbar-nav a {
	display: inline-block;
	padding: 16px 40px 16px 0;
}

.navbar-nav a:hover {
	opacity: 1;
}

/*
-------------------------------------------------------------- */
.navbar-nav .has-indent {
	padding-left: 1.2em;
}

/*
-------------------------------------------------------------- */
.navbar-nav .icon-container {
	margin-top: 15px;
}
.navbar-nav .icon-container img {
	width: auto;
}
.navbar-nav .icon-container .icon {
	padding: 0;
	margin-right: 12px;
}

/*
-------------------------------------------------------------- */
.collapse-child {
	margin-left: 1em;
}

/*
-------------------------------------------------------------- */
.arrow-gray {
	position: relative;
}

.arrow-gray:before {
	position: absolute;
	top: 24px;
	right: 10px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #323232b3;
	border-right: 2px solid #323232b3;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	content: "";
}

.arrow-gray.collapsed:before {
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

