@charset "UTF-8";

/*
	1-1.Yahoo UI Library Fonts CSS
	http://developer.yahoo.com/yui/fonts/
	*Copyright (c) 2006, Yahoo! Inc. All rights reserved.
	*http://developer.yahoo.com/yui/license.txt

	Font-size Adjustment
	
	77% = 10px	| 	122% = 16px	|	167% = 22px	
	85% = 11px	|	129% = 17px	|	174% = 23px
	92% = 12px	|	136% = 18px	|	182% = 24px
	100% = 13px	|	144% = 19px	|	189% = 25px
	107% = 14px	|	152% = 20px	|	197% = 26px
	114% = 15px	|	159% = 21px	|

*/


/* @group Reset Style */

body {
	background: transparent;
	-webkit-text-size-adjust: 100%;
	}

 
body,
h1,h2,h3,h4,h5,h6,
p,
blockquote,
div,
dl,dt,dd,
ul,ol,li,
pre,code,
form,fieldset,legend,input,textarea,
th,td {
	margin:0;
	padding:0;
	font-size: 100%;
	}

table {
	border-collapse: collapse;
	border-spacing:0;
	}

fieldset,img {
	border:0;
	}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style: normal;
	font-weight: normal;
	}

li {
	list-style: none;
	list-style-position: outside;
	}

caption,th {
	text-align: left;
	}

h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
	font-weight: normal;
	}

q:before,q:after {
	content:'';
	}

abbr,acronym {
	border:0;
	font-variant:normal;
	}

sup,sub {
	line-height: 1px;
	vertical-align: text-top;
	}

sub {
	vertical-align: text-bottom;
	}

input, textarea, select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	}
	
/* @end */

/* @group Structure */

/* @group Structure elements */

html {
	height: 100%;
}

body {
	font-size: 13px;
	line-height: 1;
	letter-spacing: 0.05em;
	}

/* @end */


/* @end */


/* @group Text Module */


strong {
	font-weight: bold;
	}

.uppercase {
	text-transform: uppercase;
	}

.bullet {
	font-family: "Lucida Grande", Lucida, Verdana, sans-serif;
	}

.notice {
	}

.require {
	}

.lang-ja {
	/*font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',
				 'Meiryo','メイリオ','Osaka','ＭＳ Ｐゴシック',sans-serif;*/
	}

.lang-en {
	/*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/	
	}

.lang-cn {
	font-family: 'Hei Regular','SimHei',sans-serif;
	}
	
sup {
	font-size: 77%;
	line-height: 0.8;
	}

.registered-trademark {
	letter-spacing: 0.2em;
	font-size: 92%;
	font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
	}

#copyright,
.copyright-sign {
	font-family: "minion-pro-caption", serif;
	}


/* @end */


/* @group Hypertext Module */

a {
	color: #221815;
	text-decoration: underline;
	outline: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0.40); 
	}

a:link {
	}

a:visited {
	}

a:hover {
	text-decoration: none;
	}

a:active {
	}


/* @end */

/* @group Modules */

/* @group column module */

.columns-row {
	/*width: 656px;*/
	}

.columns-row:before,
.columns-row:after {
    content: "";
    display: block;
    overflow: hidden;
	}

.columns-row:after {
    clear: both;
	}
	
/* For IE 6/7 (trigger hasLayout) */
.columns-row {
    zoom: 1;
	}


.columns-row .column {
	float: left;
	}

.columns-row .first {
	}

.columns-row .last {
	}

.split .column {
	float: none;
	}

.split .columns-row .column {
	float: left;
	}

/* @end */

/* @group clearfix */

.clearfix:before,
.clearfix:after,
.columns-row:before,
.columns-row:after {
	content: "";
	display: block;
	overflow: hidden;
	}

.clearfix:after,
.columns-row:after {
	clear: both;
	}

/* For IE 6/7 (trigger hasLayout) */
.clearfix,
.columns-row {
	zoom: 1;
	}

/* @end */

/* @group separator */

div.separator {
	}

div.separator hr {
	display: none;
	}

/* @end */

/* @group button */

.button-image {
	}

a.behavior-style {
	}

.behavior-style img {
	transition: opacity 0.2s ease-out;
	}

.behavior-style:hover img {
	opacity: 0.6;
/* 	filter: alpha(opacity=80); */
	cursor: pointer;
	}


/* @end */
/* @end */





/* @group flickity */

/*! Flickity v2.0.10
http://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
          tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: transparent;
  background: hsla(0, 0, 0, 0.75);
  cursor: pointer;
  /* vertically center */
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.flickity-prev-next-button:hover { background: transparent; }

.flickity-prev-next-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #09F;
}

.flickity-prev-next-button:active {
  opacity: 0.6;
}

.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button.disable,
.flickity-prev-next-button:disabled {
  opacity: 1;
  cursor: auto;
}

.flickity-prev-next-button svg {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

.flickity-prev-next-button .arrow {
  fill: #000000;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/* external */
.carousel {
	min-height: 100%;
}

.flickity-viewport {
	overflow: hidden;
	/*-webkit-transition: height 0 ease 0;
	transition: height 0 ease 0;*/
}

.flickity-viewport-launch {
	/*-webkit-transition: height 0 ease 0;
	transition: height 0 ease 0;*/
}


.carousel-cell {
	opacity: 0;
	}

.carousel-cell.cell-selected {
	opacity: 1;
	}

.flickity-enabled.is-first .flickity-prev-next-button.next {
	display: none;
}

.flickity-enabled.is-last .flickity-prev-next-button.previous {
	display: none;
}

/* flickity-fade */

.flickity-enabled.is-fade .flickity-slider > * {
  pointer-events: none;
  z-index: 0;
}

.flickity-enabled.is-fade .flickity-slider > .is-selected {
  pointer-events: auto;
  z-index: 1;
}

/* flickity fade と干渉する
.flickity-enabled .detail-panel.is-selected {
	transition: opacity 1s;
	opacity: 0;
}
*/


/* @end */

/* @group 共通 */


html {
	height: 100%;
	}

body {
	position: relative;
    font-family: "游ゴシック体", YuGothic, "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, Roboto, sans-serif;
    /*font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;*/
    font-feature-settings: "pkna" 1;
	font-weight: 400;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	}

strong {
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic", sans-serif;
    font-weight: 700;
	}

.page {
	min-height: 100%;
	background: #ffffff;
	}


.lang-en {
	font-weight: 400;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	font-size: 0.8em;
	}

.font-serif {
	font-family: 'Noto Serif JP', serif;
	}

.fluid-std,
.fluid-min,
.fluid-full {
	box-sizing: border-box;
	margin: 0 auto;
	}

.fluid-std {
	box-sizing: border-box;
	margin: 0 auto;
	}

.text-std {
	font-size: 24px;
	line-height: 1.7;
	}


.button:hover {
	cursor: pointer;
/* 	opacity: 0.8; */
	}

.has-image {
	opacity: 0;
	}

.has-image.image-loaded {
	opacity: 1;
	}

svg {
	fill: currentColor;
	}

.ofi {
	object-fit: cover;
	font-family: 'object-fit: cover;'
	}

/* @group flickity */


.flickity-prev-next-button .arrow {
  fill: #ffffff;
}


/* @end */

/* @group map */

.marker-hidden {
	display: none;
	opacity: 0;
	}

#links .name-gray {
	fill: #666666;
	}

#links .name-red {
	fill: #f2777b;
	}

#links .name-blue {
	fill: #0053ae;
	}

#links .stroke-red {
	fill:none;
	stroke: #f2777b;
	stroke-width: 1.0417;
	stroke-miterlimit: 10;
	}

#links .is-selected .name-gray,
#links .is-selected .name-red,
#links .is-selected .name-blue {
	fill: #e60020;
	}

#links .is-selected .stroke-red {
	stroke: #e60020;
	}

.area-object {
	cursor: pointer;
	}


/* @end */

/* @group overlay */

#overlay {
	}

body.overlay-enabled {
	overflow: hidden;
	}

body.overlay-enabled .page {
	display: none;
	opacity: 0;
	height: 0;
	min-height: 0;
	}

.page-overlay {
	display: none;
	position: absolute;
	/*overflow-x: auto;
	overflow-y: auto;*/
	top: 0;
	/*right: 0;
	bottom: 0;*/
	left: 0;
	width: 100%;
	z-index: 100;
	}

body.overlay-enabled .page-overlay {
	display: block;
	}

.page-overlay .overlay-content {
	position: relative;
	z-index: 1;
	}

.page-overlay .background {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #ffffff;
	opacity: 0.35;
	cursor: pointer;
	}

.page-overlay .background-gray {
	background: #ffffff;
	opacity: 1;
	}

.overlay-content {
	position: relative;
	width: 640px;
	}

/* @end */

.javascript .home-hero .blank {
	-webkit-animation: fadeOut 1s ease-out 3s;
	-webkit-animation-fill-mode: forwards;
	animation: fadeOut 1s ease-out 3s;
	animation-fill-mode: forwards;
	}




/* @end */

@media screen and (min-width: 961px){

 
body {
	overflow-y: scroll;
	font-size: 13px;
	background: #f8f5fa;
	}

body.overlay-enabled {
	overflow: hidden;
	height: 100%;
	}

body > .page {
	position: relative;
	width: 100%;
	margin: 0 auto;
	}


.pc-hidden {
	display: none;
	}

.fluid-std {
	}

.fluid-min {
	width: 790px;
	margin: 0 auto;
	}

.fluid-column {
	overflow: hidden;
	}

.fluid-column .column-left {
	float: left;
	}

.fluid-column .column-right {
	float: right;
	}

.text-std {
	font-size: 96%;
	line-height: 1.8;
	}

.fluid-std {
	width: 510px;
	margin: 0 auto;
	}

span.row {
	display: inline;
	}

.home .slide-in {
	-webkit-animation: slideIn 0.2s ease-in-out 0s;
	-webkit-animation-fill-mode: forwards;
	animation: slideIn 0.2s ease-in-out 0s;
	animation-fill-mode: forwards;
	}

.home .slide-out {
	-webkit-animation: slideOut 0.2s ease-in-out 0s;
	-webkit-animation-fill-mode: forwards;
	animation: slideOut 0.2s ease-in-out 0s;
	animation-fill-mode: forwards;
	}

.drawer-navigation {
	display: none;
	}

/* @group prev next */

.flickity-prev-next-button {
  position: absolute;
  top: 50%;
  width: 88px;
  height: 88px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  background: hsla(0, 0, 0, 0.75);
  cursor: pointer;
  /* vertically center */
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.flickity-prev-next-button:hover { background: transparent; }

.flickity-prev-next-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #09F;
}

.flickity-prev-next-button:active {
  opacity: 1;
}

.flickity-prev-next-button.previous { left: 100px; }
.flickity-prev-next-button.next { right: 100px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 0;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 0;
}

.flickity-prev-next-button svg {
  position: absolute;
  width: 100%;
  height: 100%;
}

.flickity-prev-next-button.previous svg {
	top: 0;
	left: 0;
	right: auto;
}

.flickity-prev-next-button.next svg {
	top: 0;
	left: auto;
	right: 0;
}


/* @end */



/* @group page-header */

.page-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 86px;
	background: #f7e8e8;
	z-index: 100;
	}

.home .page-header {
	top: -86px;
	}

.page-header .container {
	overflow: hidden;
	width: 1094px;
	margin: 0 auto;
	}

.page-header .site-logo {
	float: left;
	}

.page-header .site-logo a {
	overflow: hidden;
	text-decoration: none;
	}

.page-header .site-logo .logo-site {
	float: left;
	display: block;
	width: 56px;
	height: 57px;
	margin: 14px 0 0;
	}

.page-header .site-logo svg {
	/*width: 56px;
	height: auto;*/
	}

.page-header .site-logo .text {
	display: block;
	float: right;
	margin: 24px 0 0 24px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	}

.page-header .site-logo .row {
	}

.page-header .button {
	display: none;
	}


/* @group navigation */

.page-header .navigation {
	float: right;
	width: auto;
	padding: 40px 0 0;
	}

.navigation .categories {
	position: relative;
	}

.navigation .category {
	display: inline-block;
	position: relative;
	margin: 0 0 0 48px;
	}

.navigation .category a {
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	}

.navigation .category-sub {
	}


.navigation .category-sub li {
	}

/* @end */

/* @end */

/* @group page-body */

.page-body {
	position: relative;
	padding: 86px 0 0;
	z-index: 1;
	}

.home .page-body {
	padding: 0 0 0;
	}

.page-body .main {
	width: 934px;
	margin: 0 auto;
	}



/* @end */

/* @group page-footer */

.page-footer {
	border-top: 1px solid #e5e5e5;
	background: #f8f5fa;
	}

.page-footer .container {
	width: 1094px;
	margin: 0 auto;
	padding: 36px 0;
	}

.page-footer .container .header {
	margin: 0 0 12px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.1em;
	}

.page-footer .container p {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	}

.page-footer .container .address {
	display: table;
	margin: 0 0 0.4em;
	}

.page-footer .container .address p {
	display: table-cell;
	}

.page-footer .container .address .button {
	padding: 0 0 0 1em;
	}

.page-footer .container .address .button a {
	display: block;
	padding: 1px 6px;
	border: 1px solid #5b5a5b;
	border-radius: 3px;
	text-decoration: none;
	}

.page-footer .container .contact {
	display: table;
	}

.page-footer .container .contact p {
	display: table-cell;
	}

.page-footer .container .contact .tel {
	font-size: 24px;
	}

.page-footer .container .contact .tel .small {
	font-size: 13px;
	}

.page-footer .container .contact .mail a {
	display: block;
	font-size: 16px;
	margin: 0 0 0 1em;
	letter-spacing: 0.1em;
	}

/* @end */

/* @group home */

.home {
	}

.home .page-body {
	background: #efd3d3;
	padding: 0 0 70px;
	}

.home .hero {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 720px;
	}

.home .hero .content {
	display: block;
	position: relative;
	width: 934px;
	margin: 0 auto;
	}

.home .hero .hgroup {
	display: block;
	position: absolute;
	top: 140px;
	width: 570px;
	height: 214px;
	background: url(../images/global/bg_pink_noise.png) repeat 0 0;
	}

.home .hero .hgroup .heading {
	overflow: hidden;
	margin: 27px 24px 14px;
	}

.home .hero .hgroup .heading .has-image {
	float: left;
	display: block;
	vertical-align: top;
	}

.home .hero .hgroup .heading svg {
	fill: #ffffff;
	}

.home .hero .hgroup .heading .logo-site {
	display: block;
	width: 94px;
	height: 96px;
	}

.home .hero .hgroup .heading .logo-site svg {
	width: 94px;
	height: auto;
	}

.home .hero .hgroup .heading .logotype-site {
	margin: 8px 24px 0 24px;
	}

.home .hero .hgroup .heading .logotype-site svg {
	width: 293px;
	height: 79px;
	}

.home .hero .hgroup .description {
	margin: 0 24px 24px;
	color: #ffffff;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.18em;
	}

.home .hero .image {
	display: block;
	overflow: hidden;
	width: 100%;
	height: 720px;
	}

.home .hero .image picture,
.home .hero .image img {
	display: block;
	width: 100%;
	height: 720px;
	object-fit: cover;
	}

.home .news {
	overflow: hidden;
	margin: 80px 0 100px;
	}

.home .news .heading {
	margin: 0 0 20px;
	font-size: 22px;
	text-align: center;
	letter-spacing: 0.1em;
	}

.home .news .topics {
	background: #ffffff;
	margin: 0 0 2px;
	}

.home .news .topics a {
	display: block;
	text-decoration: none;
	background: url(../images/svg/arrow_right.svg) no-repeat 906px center;
	background-size: 9px 12px;
	}

.home .news .topics dl {
	display: table;
	}

.home .news .topics dt,
.home .news .topics dd {
	display: table-cell;
	text-decoration: none;
	}

.home .news .topics dt {
	padding: 22px 40px;
	}

.home .news .topics dd {
	padding: 22px 0;
	font-size: 15px;
	font-weight: 600;
	}

.home .news .button {
	float: right;
	width: 180px;
	background: #ffffff;
	}

.home .news .button a {
	display: block;
	padding: 12px 0;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0;
	text-decoration: none;
	text-align: center;
	}

.home .carousel {
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
	height: 340px;
	margin: 0 0 0;
	padding: 20px 0;
	background: #ffffff;
	}

.home .carousel .panel {
	height: 300px;
	margin: 0 10px 0 0;
	}


/* @end */

/* @group category */

.hero-default {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 680px;
	}

.hero-default .content {
	display: block;
	position: relative;
	width: 1014px;
	height: 680px;
	margin: 0 auto;
	z-index: 2;
	}

.hero-default .hgroup {
	display: block;
	position: absolute;
	bottom: 96px;
	}

.hero-default .hgroup .heading {
	margin: 0 0 2.6em;
	}

.hero-default .hgroup .heading .has-image {
	display: block;
	vertical-align: top;
	}

.hero-default .hgroup .heading svg {
	fill: #ffffff;
	}


.hero-default .hgroup .description {
	display: inline;
	padding: 0.2em 0;
	color: #ffffff;
	background: url(../images/global/bg_pink_noise.png) repeat 0 0;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.18em;
	}

.hero-default .hgroup .description .text {
	padding: 1em 1em;
	}

.hero-default .image {
	position: absolute;
	display: block;
	overflow: hidden;
	top: 0;
	width: 100%;
	height: 680px;
	}

.hero-default .image picture,
.hero-default .image img {
	display: block;
	width: 100%;
	height: 680px;
	object-fit: cover;
	}

/* @end */


/* @group news */

.news {
	}

.news-list {
	padding: 134px 0 0;
	}

.news-list .heading {
	margin: 0 0 70px;
	font-size: 22px;
	text-align: center;
	letter-spacing: 0.1em;
	}

.news-list .topics {
	padding: 0 0 80px;
	margin: 0 0 100px;
	border-bottom: 2px solid #626262;
	}

.news-list .topics:nth-last-of-type(1) {
	border-bottom: none;
	}

.news-list .topics p {
	margin: 0 0 1.4em;
	font-size: 16px;
	line-height: 1.8;
	}

.news-list .topics .thumbnail {
	margin: 0 0 58px;
	}

.news-list .topics .thumbnail img {
	display: block;
	}

.news-list .topics .date {
	margin: 0 0 0.8em;
	font-size: 15px;
	line-height: 1.8;
	}

.news-list .topics .title {
	margin: 0 0 0.4em;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.8;
	}

/* @end */

/* @group about */

.about .hero-default .has-image {
	display: block;
	width: 303px;
	height: 30px;
	padding: 10px 20px;
	background: url(../images/global/bg_pink_noise.png) repeat 0 0;
	}

.about .hero-default .has-image svg {
	width: 303px;
	height: 30px;
	}

.about .hero-default .description {
	}

.about .introduction {
	width: 836px;
	margin: 140px auto 0;
	padding: 0 0 0;
	}

.about .introduction:after {
	content: "";
	display: block;
	width: 400px;
	height: 1px;
	margin: 140px auto 130px;
	background: #f7e8e8;
	}

.about .introduction .fluid-column {
	position: relative;
	}

.about .introduction .column-left {
	width: 620px;
	}

.about .introduction .column-right {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 182px;
	}

.about .introduction .heading {
	margin: 0 0 42px;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.4;
	}

.about .introduction .description {
	font-size: 16px;
	line-height: 1.8;
	}

.about .introduction .description p {
	margin: 0 0 1em;
	}

.about .introduction .image {
	margin: 0 0 1em;
	}

.about .introduction .caption {
	margin: 1em 0 0;
	line-height: 1.4;
	}

.about .feature {
	width: 720px;
	margin: 0 auto 114px;
	}

.about .feature > .heading {
	color: #aa3358;
	font-weight: 500;
	font-size: 26px;
	margin: 0 0 130px;
	text-align: center;
	}

.about .feature .section {
	margin: 0 0 144px;
	}

.about .feature .section .header {
	position: relative;
	padding: 44px 0 44px;
	margin: 0 0 38px;
	border: 1px solid #ad315a;
	background: #fffdfd;
	}

.about .feature .section .header .no {
	display: block;
	position: absolute;
	top: -10px;
	left: -10px;
	width: 44px;
	height: 44px;
	color: #ffffff;
	background: #ad315a;
	}

.about .feature .section .header .no .text {
	display: block;
	position: absolute;
	right: 2px;
	bottom: 2px;
	font-size: 26px;
	}

.about .feature .section .header .heading {
	color: #aa3358;
	font-size: 20px;
	font-weight: 500;
	text-align: center;
	line-height: 1.4;
	letter-spacing: 0.1em;
	}

.about .feature .section .content {
	font-size: 16px;
	line-height: 2.2;
	}

.about .feature .section .content p {
	text-align: justify;
	}

.about .history {
	margin: 0 0 230px;
	padding: 120px 0 120px;
	background: #edd0d3;
	}

.about .history .fluid-column {
	width: 836px;
	margin: 0 auto 0;
	}

.about .history .column-left {
	width: 420px;
	}

.about .history .column-right {
	width: 344px;
	}

.about .history .heading {
	margin: 0 0 90px;
	color: #aa3358;
	font-size: 26px;
	text-align: center;
	letter-spacing: 0.2em;
	}

.about .history .description p {
	margin: 0 0 1em;
	font-size: 16px;
	line-height: 2;
	}

.about .history .image {
	width: 344px;
	}

.about .history .image img {
	width: 344px;
	height: auto;
	}

.about .history .caption {
	margin: 1em 0 0;
	font-size: 12px;
	text-align: right;
	}

.about .company {
	width: 836px;
	margin: 0 auto 0;
	}

.about .company .header {
	position: relative;
	padding: 0 0 80px;
	}

.about .company .header .heading {
	margin: 0 0 1.5em;
	font-size: 16px;
	font-weight: 600;
	}

.about .company .header .address {
	font-size: 14px;
	line-height: 1.6;
	}

.about .company .header .site-logo {
	position: absolute;
	bottom: 0;
	right: 0;
	}

.about .company .header .site-logo {
	position: absolute;
	bottom: 0;
	right: 88px;
	width: 140px;
	height: 142px;
	}

.about .company .header .site-logo svg {
	width: 140px;
	height: 142px;
	}

.about .company .profile {
	position: relative;
	margin: 0 0 140px;
	}

.about .company .profile:after {
	content: "";
	position: absolute;
	top: 0;
	left: 108px;
	display: block;
	width: 1px;
	height: 100%;
	background: #c1afb5;
	}

.about .company .profile dl {
	display: table;
	width: 620px;
	line-height: 1.6;
	}

.about .company .profile dt {
	display: table-cell;
	width: 150px;
	padding: 0 0 34px;
	font-size: 14px;
	line-height: 1.6;
	}

.about .company .profile dl:nth-last-of-type(1) dt {
	padding: 0;
	}

.about .company .profile dd {
	display: table-cell;
	}

.about .company .footer {
	position: relative;
	width: 780px;
	margin: 0 0 160px;
	}

.about .company .footer .storage {
	position: absolute;
	top: 0;
	right: 0;
	text-align: right;
	z-index: 2;
	}

.about .company .footer .storage .image {
	margin: 0 0 0.4em;
	}

.about .company .footer .storage .image img {
	width: 263px;
	}

.about .company .footer .info {
	position: relative;
	width: 714px;
	}

.about .company .footer .info .map {
	}

.about .company .footer .info .map img {
	display: block;
	width: 418px;
	height: auto;
	}

.about .company .footer .info .access {
	position: absolute;
	right: 0;
	bottom: 0;
	line-height: 1.6;
	}

.about .company .footer .info .access dt {
	font-weight: 600;
	}



/* @end */

/* @group carpet */

.carpet .hero-default .has-image {
	display: block;
	width: 294px;
	height: 37px;
	padding: 10px 20px;
	background: url(../images/global/bg_pink_noise.png) repeat 0 0;
	}

.carpet .hero-default .has-image svg {
	width: 294px;
	height: 37px;
	}

.carpet .hero-default .description {
	}

.carpet .main {
	width: 100%;
	background: #fff7f7;
	}

.carpet .feature {
	padding: 140px 0 1px;
	}

.carpet .feature .section {
	display:flex;
	align-items: center;
	width: 934px;
	margin: 0 auto 200px;
	}

.carpet .feature .section.image-left {
	display:flex;
	flex-direction: row;
	}

.carpet .feature .section.image-right {
	display:flex;
	flex-direction: row-reverse;
	}

.carpet .feature .section .image {
	width: 437px;
	}

.carpet .feature .section.image-left .image {
	margin: 0 60px 0 0;
	}

.carpet .feature .section.image-right .image {
	margin: 0 0 0 60px;
	}

.carpet .feature .section .image img {
	width: 437px;
	height: auto;
	}

.carpet .feature .section .description {
	width: 388px;
	height: 100%;
	vertical-align: middle;
	}

.carpet .feature .section .description .heading {
	margin: 0 0 46px;
	color: #aa3358;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
	}

.carpet .feature .section .description p {
	font-size: 16px;
	line-height: 1.8;
	text-align: justify;
	}

.carpet .spec {
	width: 934px;
	margin: 0 auto;
	padding: 190px 0 0;
	}

.carpet .spec > .heading {
	margin: 0 0 160px;
	color: #aa3358;
	font-size: 26px;
	text-align: center;
	letter-spacing: 0.1em;
	}

.carpet .spec .section {
	margin: 0 0 174px;
	}

.carpet .spec .section .header {
	margin: 0 0 50px;
	}

.carpet .spec .section .heading {
	margin: 0 0 90px;
	color: #aa3358;
	font-size: 22px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.1em;
	}

.carpet .spec .section .heading:after {
	content: "";
	display: block;
	width: 34px;
	height: 3px;
	margin: 0.8em auto 0;
	background: #aa3358;
	}

.carpet .spec .description p {
	width: 720px;
	margin: 0 auto 0;
	font-size: 16px;
	text-align: justify;
	line-height: 2;
	}

.carpet .spec .description p strong {
	letter-spacing: 0.2em;
	}

.carpet .spec .figure-group {
	display:flex;
	flex-direction: row;
	justify-content: space-between;
	}

.carpet .spec .figure-group.pc-hidden {
	display: none;
	}

.carpet .spec .figure {
	text-align: center;
	}

.carpet .spec .figure .image img {
	max-width: 100%;
	height: auto;
	}

.carpet .spec .detail .image img {
	max-width: 290px;
	}

.carpet .spec .design .image img {
	max-width: 210px;
	}

.carpet .spec .material .image img {
	max-width: 290px;
	}

.carpet .spec .figure .caption {
	margin: 0.8em 0 0;
	font-size: 14px;
	text-align: center;
	line-height: 2;
	}

.carpet .spec .figure .caption dl {
	max-width: 290px;
	margin: 2em 0 0;
	text-align: left;
	}

.carpet .spec .figure .caption dl dt {
	margin: 0 0 0.4em;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.2em;
	}

.carpet .spec .figure .caption dl dd {
	font-size: 16px;
	}

.carpet .spec .button {
	width: 143px;
	margin: 46px auto 0;
	padding: 0 0 0 1em;
	text-align: center;
	}

.carpet .spec .button a {
	display: block;
	padding: 8px 6px;
	color: #a73055;
	border: 1px solid #a73055;
	border-radius: 32px;
	background: #fdf5f5;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	letter-spacing: 0.2em;
	}


/* @end */

/* @group lineup */

.lineup .hero-default .has-image {
	display: block;
	width: 255px;
	height: 38px;
	padding: 10px 20px;
	background: url(../images/global/bg_pink_noise.png) repeat 0 0;
	}

.lineup .hero-default .has-image svg {
	width: 255px;
	height: 38px;
	}

.lineup .hero-default .description {
	}

.lineup-list {
	padding: 140px 0 0;
	}

.lineup-list .category {
	margin: 0 0 160px;
	}

.lineup-list .category .category-title {
	margin: 0 0 60px;
	color: #aa3358;
	font-size: 22px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.2em;
	}

.lineup-list .category .category-title:after {
	content: "";
	display: block;
	width: 34px;
	height: 3px;
	margin: 0.8em auto 0;
	background: #aa3358;
	}

.lineup-list .category .category-image {
	margin: 0 0 70px;
	}

.lineup-list .category .description {
	width: 720px;
	margin: 0 auto;
	font-size: 16px;
	text-align: justify;
	line-height: 1.8;
	}

.framed-service {
	margin: 0 0 0;
	padding: 120px 0;
	color: #aa3358;
	background: #f4d3d7;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.2em;
	}

.framed-service .content {
	width: 934px;
	margin: 0 auto;
	}

.framed-service .title {
	margin: 0 0 60px;
	color: #aa3358;
	font-size: 22px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.2em;
	text-align: center;
	}

.framed-service .title:after {
	content: "";
	display: block;
	width: 34px;
	height: 3px;
	margin: 0.8em auto 0;
	background: #aa3358;
	}

.framed-service .image {
	margin: 0 0 120px;
	text-align: center;
	}

.framed-service .description {
	width: 720px;
	margin: 0 auto 50px;
	color: #333333;
	font-weight: normal;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-align: justify;
	}

/* @end */

/* @group maintenance */

.maintenance .hero-default .has-image {
	display: block;
	width: 365px;
	height: 36px;
	padding: 10px 20px;
	background: url(../images/global/bg_pink_noise.png) repeat 0 0;
	}

.maintenance .hero-default .has-image svg {
	width: 365px;
	height: 36px;
	}

.maintenance .hero-default .description {
	}

.maintenance-list {
	padding: 140px 0 0;
	}

.maintenance-list .section {
	margin: 0 0 180px;
	}

.maintenance-list .section > .heading {
	margin: 0 0 60px;
	color: #aa3358;
	font-size: 22px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.2em;
	}

.maintenance-list .section > .heading:after {
	content: "";
	display: block;
	width: 34px;
	height: 3px;
	margin: 0.8em auto 0;
	background: #aa3358;
	}

.maintenance-list .section .figure {
	margin: 0 auto 90px;
	text-align: center;
	}

.maintenance-list .section .description {
	width: 720px;
	margin: 0 auto 86px;
	font-size: 16px;
	line-height: 1.8;
	}

.maintenance-list .data-group {
	width: 720px;
	margin: 0 auto 86px;
	}

.maintenance-list .data-group .heading {
	margin: 0 0 1em;
	color: #aa3358;
	font-size: 16px;
	font-weight: 600;
	text-align: center;
	line-height: 1.4;
	}

.maintenance-list .data-group .data {
	width: 100%;
	border-top: 2px solid #aa3358;
	border-bottom: 2px solid #aa3358;
	}

.maintenance-list .data-group .data table {
	width: 100%;
	}

.maintenance-list .data-group .data table td {
	padding: 32px 0 32px;
	font-size: 26px;
	text-align: center;
	border-right: 2px solid #aa3358;
	}

.maintenance-list .data-group .data table td:nth-last-of-type(1) {
	border-right: none;
	}

.maintenance-list .data-group .data table .label {
	display: inline-block;
	margin: 0 1em 0 0;
	font-size: 16px;
	}

.maintenance-service {
	padding: 90px 0 100px;
	background: #edd4d3;
	}

.maintenance-service .title {
	margin: 0 0 60px;
	color: #aa3358;
	font-size: 22px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.2em;
	text-align: center;
	}

.maintenance-service .title:after {
	content: "";
	display: block;
	width: 34px;
	height: 3px;
	margin: 0.8em auto 0;
	background: #aa3358;
	}

.maintenance-service .description {
	width: 720px;
	margin: 0 auto 0;
	color: #333333;
	font-size: 16px;
	line-height: 1.8;
	}

.maintenance-service .description ul {
	padding: 0 0 0.2em;
	}

.maintenance-service .description ul li {
	list-style: disc;
	margin: 0 0 0.4em;
	}

.maintenance-service .button {
	width: 203px;
	margin: 46px auto 0;
	padding: 0 0 0 1em;
	text-align: center;
	}

.maintenance-service .button a {
	display: block;
	padding: 8px 6px;
	color: #a73055;
	border: 1px solid #a73055;
	border-radius: 6px;
	background: #fdf5f5;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	}


/* @end */


/* @group contact */

.contact {
	}

.contact .contact-list {
	padding: 125px 0;
	}


.contact .contact-list .category-title {
	margin: 0 0 60px;
	color: #aa3358;
	font-size: 22px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.2em;
	}

.contact .contact-list .category-title:after {
	content: "";
	display: block;
	width: 34px;
	height: 3px;
	margin: 0.8em auto 0;
	background: #aa3358;
	}

.contact .contact-list .description {
	width: 720px;
	margin: 0 auto 80px;
	font-size: 16px;
	line-height: 1.8;
	text-align: center;
	}

.contact .contact-list .fluid-column {
	display: table;
	width: 720px;
	margin: 0 auto;
	}

.contact .contact-list .fluid-column .column {
	display: table-cell;
	width: 50%;
	}

.contact .contact-list .fluid-column .column dl {
	width: 330px;
	}

.contact .contact-list .fluid-column .column {
	}

.contact .contact-list .fluid-column .column .button {
	width: 330px;
	}

.contact .contact-list .fluid-column .column dt {
	margin: 0 0 24px;
	font-size: 16px;
	line-height: 1.6;
	}

.contact .contact-list .fluid-column .column .button {
	display: table;
	}

.contact .contact-list .fluid-column .column .button-solid-radius {
	display: table-cell;
	box-sizing: border-box;
	width: 100%;
	height: 54px;
	padding: 0 0.8em;
	border-radius: 8px;
	background: #efd3d3;
	font-size: 20px;
	text-decoration: none;
	text-align: center;
	vertical-align: middle;
	}

.contact .contact-list .fluid-column .tel .button-solid-radius {
	font-size: 28px;
	}

.contact .contact-list .fluid-column .column-right dl {
	float: right;
	}



/* @end */



/* @group map */

.carpet div.carpet-map {
	width: 934px;
	padding: 110px 0 0;
	margin: 0 auto 0;
	background: #f8e8e8;
	}

.carpet-map .header .figure {
	width: 836px;
	margin: 0 auto;
	}

.carpet-map .nav {
	display: table;
	width: 200px;
	margin: 0 auto 36px;
	}

.carpet-map .nav li {
	display: table-cell;
	width: 100px;
	}

.carpet-map .nav li.next {
	text-align: right;
	}

.carpet-map .nav .has-image {
	display: inline-block;
	box-sizing: border-box;
	width: 70px;
	height: 34px;
	padding: 5px;
	border: 1px solid #da577b;
	border-radius: 34px;
	background: #fff7f7;
	text-align: center;
	cursor: pointer;
	}

.carpet-map .nav .has-image svg {
	display: inline;
	width: 24px;
	height: 24px;
	}

.carpet-map .description {
	width: 720px;
	margin: 36px auto 0;
	padding: 0 0 200px;
	min-height: 300px;
	-webkit-user-select: none;
	user-select: none;
	}

.carpet-map .description > div {
	display: none;
	-webkit-user-select: none;
	user-select: none;
	}

.carpet-map .description > div.is-selected {
	display: block;
	}

.carpet .carpet-map .description .image {
	display: block;
	margin: 60px 0 0;
	}

.carpet-map .description .image img {
	width: 720px;
	height: auto;
	}

/* @end */

/* @group overlay */



body.overlay-enabled {
	overflow: hidden;
	overflow-y: scroll;
	/*overflow: auto;
	height: auto;*/
	}

.page-overlay {
	position: absolute;
	height: 100%;
	}


.page-overlay .overlay-content {
	width: 934px;
	margin: 0 auto;
	padding: 110px 0 52px;
	}

.page-overlay .overlay-header {
	position: fixed;
	top: 110px;
	left: 50%;
	width: 934px;
	margin: 0 0 0 -467px;
	height: 1px;
	z-index: 100;
	}

.page-overlay .overlay-header .button {
	position: absolute;
	right: 50px;
	top: 40px;
	width: 40px;
	height: auto;
	}


.page-overlay .overlay-header svg {
	width: 40px;
	height: auto;
	fill: #da577b;
	}

.page-overlay .overlay-content .spec .section {
	margin: 0 0 0;
	}


/* @end */

}

@media screen and (max-width: 960px), screen and (max-device-width: 480px) {

body {
	font-size: 36px;
	background: #f8f5fa;
	}

.page {
	}

.mobile-hidden {
	display: none;
	}

.fluid-std {
	width: 824px;
	margin: 0 auto;
	}

.fluid-min {
	width: 514px;
	margin: 0 auto;
	}

span.row {
	display: inline-block;
	}

span.row br {
	display: none;
	}

/* @group prev next */

.flickity-prev-next-button {
  position: absolute;
  top: 50%;
  width: 138px;
  height: 138px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  background: hsla(0, 0, 0, 0.75);
  cursor: pointer;
  /* vertically center */
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.flickity-prev-next-button:hover { background: transparent; }

.flickity-prev-next-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #09F;
}

.flickity-prev-next-button:active {
  opacity: 1;
}

.flickity-prev-next-button.previous { left: 40px; }
.flickity-prev-next-button.next { right: 40px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button svg {
  position: absolute;
  width: 100%;
  height: 100%;
}

.flickity-prev-next-button.previous svg {
	top: 0;
	left: 0;
	right: auto;
}

.flickity-prev-next-button.next svg {
	top: 0;
	left: auto;
	right: 0;
}

/* @end */

/* @group navigation */

.drawer-navigation {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0 0 0;
	background: rgba(255,255,255,0.8);
	z-index: 100;
	}

.drawer-open .drawer-navigation {
	display: block;
	}

.drawer-navigation .site-logo {
	padding: 40px 0 30px;
	border-bottom: 4px solid #e5e5e5;
	background: #ffffff;
	text-align: center;
	}

.drawer-navigation .site-logo .logo-site {
	display: block;
	margin: 0 0 18px;
	}

.drawer-navigation .site-logo .logo-site svg {
	width: 98px;
	height: 100px;
	}

.drawer-navigation .site-logo .text {
	display: block;
	font-size: 23px;
	font-weight: 600;
	}

.drawer-navigation .button {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	}

.drawer-navigation .button img {
	position: absolute;
	top: 50px;
	right: 40px;
	}

.drawer-navigation .navigation {
	background: #ffffff;
	}

.navigation .categories {
	position: relative;
	}

.navigation .category {
	display: block;
	position: relative;
	border-bottom: 4px solid #e5e5e5;
	text-align: center;
	}

.navigation .category a {
	display: block;
	padding: 70px;
	font-weight: bold;
	text-decoration: none;
	}


/* @end */


/* @group page-header */

.page-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 158px;
	background: #f7e8e8;
	z-index: 100;
	}

.home .page-header {
	position: fixed;
	top: -158px;
	}

.page-header .container {
	overflow: hidden;
	width: 882px;
	margin: 0 auto;
	}

.page-header .site-logo {
	float: left;
	}

.page-header .site-logo a {
	overflow: hidden;
	text-decoration: none;
	}

.page-header .site-logo .logo-site {
	float: left;
	display: block;
	width: 98px;
	height: 100px;
	margin: 31px 0 0;
	}

.page-header .site-logo svg {
	width: 98px;
	height: 100px;
	}

.page-header .site-logo .text {
	display: block;
	float: right;
	margin: 34px 0 0 24px;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0.2em;
	}

.page-header .site-logo .row {
	display: block;
	}

.page-header .navigation {
	display: none;
	}

.page-header .button {
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 1px;
	z-index: 100;
	}

.page-header .button img {
	display: block;
	position: absolute;
	top: 40px;
	right: 40px;
	}


/* @group navigation */

.page-header .navigation {
	display: none;
	}

/* @end */

/* @end */



/* @group page-body */



.page-body {
	position: relative;
	padding: 158px 0 0;
	z-index: 1;
	}

.home .page-body {
	padding: 0 0 0;
	}

.page-body .main {
	width: 934px;
	margin: 0 auto;
	}

/* @end */



/* @group page-footer */

.page-footer {
	border-top: 3px solid #e5e5e5;
	background: #f8f5fa;
	}

.page-footer .container {
	width: 800px;
	margin: 0 auto;
	padding: 72px 0;
	}

.page-footer .container .header {
	margin: 0 0 48px;
	font-size: 36px;
	font-weight: 600;
	letter-spacing: 0.1em;
	}

.page-footer .container p {
	font-size: 26px;
	font-weight: 600;
	line-height: 1.4;
	}

.page-footer .container .address {
	display: block;
	position: relative;
	margin: 0 0 1em;
	}

.page-footer .container .address p {
	display: block;
	}

.page-footer .container .address .row {
	display: block;
	}

.page-footer .container .address .button {
	position: absolute;
	bottom: 0;
	right: 2em;
	padding: 0 0 0 1em;
	}

.page-footer .container .address .button a {
	display: block;
	width: 240px;
	padding: 6px 16px;
	border: 1px solid #5b5a5b;
	border-radius: 6px;
	font-weight: normal;
	text-decoration: none;
	text-align: center;
	}

.page-footer .container .contact {
	display: table;
	font-weight: normal;
	}

.page-footer .container .contact p {
	display: table-cell;
	font-weight: normal;
	}

.page-footer .container .contact .tel {
	font-size: 40px;
	}

.page-footer .container .contact .tel .small {
	font-size: 34px;
	}

.page-footer .container .contact .mail a {
	display: block;
	font-size: 32px;
	margin: 0 0 0 1em;
	}

/* @end */

/* @group home */

.home {
	}

.home .page-body {
	background: #f7e8e8;
	}

.home .hero {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 1476px;
	}

.home .hero .content {
	display: block;
	position: relative;
	width: 100%;
	margin: 0 auto;
	}

.home .hero .hgroup {
	display: block;
	position: absolute;
	top: 158px;
	width: 100%;
	height: 432px;
	background: url(../images/global/bg_pink_noise.png) repeat 0 0;
	}

.home .hero .hgroup .heading {
	overflow: hidden;
	margin: 56px 80px 33px;
	}

.home .hero .hgroup .heading .has-image {
	float: left;
	display: block;
	vertical-align: top;
	}

.home .hero .hgroup .heading svg {
	fill: #ffffff;
	}

.home .hero .hgroup .heading .logo-site {
	display: block;
	width: 175px;
	height: 178px;
	}

.home .hero .hgroup .heading .logo-site svg {
	width: 175px;
	height: auto;
	}

.home .hero .hgroup .heading .logotype-site {
	width: 490px;
	height: 132px;
	margin: 20px 0 0 68px;
	text-align: left;
	}

.home .hero .hgroup .heading .logotype-site svg {
	width: 490px;
	height: 132px;
	}

.home .hero .hgroup .description {
	margin: 0 60px 56px;
	color: #ffffff;
	font-size: 34px;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.18em;
	text-align: center;
	}

.home .hero .image {
	display: block;
	overflow: hidden;
	width: 100%;
	height: 1476px;
	}

.home .hero .image picture,
.home .hero .image img {
	display: block;
	width: 100%;
	height: 1476px;
	object-fit: cover;
	}

.home .news {
	overflow: hidden;
	width: 920px;
	margin: 80px auto 100px;
	}

.home .news .heading {
	margin: 0 0 36px;
	font-size: 54px;
	text-align: center;
	letter-spacing: 0.1em;
	}

.home .news .topics {
	background: #f6f6f6;
	margin: 0 0 3px;
	}

.home .news .topics a {
	display: block;
	text-decoration: none;
	background: url(../images/svg/arrow_right.svg) no-repeat 883px center;
	background-size: 18px 24px;
	}

.home .news .topics dl {
	}

.home .news .topics dt,
.home .news .topics dd {
	text-decoration: none;
	}

.home .news .topics dt {
	font-size: 28px;
	padding: 50px 80px 20px 40px;
	}

.home .news .topics dd {
	padding: 0 80px 50px 40px;
	font-size: 36px;
	line-height: 1.2;
	}

.home .news .button {
	width: 100%;
	background: #f6f6f6;
	}

.home .news .button a {
	display: block;
	padding: 26px 0;
	font-size: 34px;
	line-height: 1;
	letter-spacing: 0;
	text-decoration: none;
	text-align: center;
	}

.home .carousel {
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
	height: 556px;
	margin: 0 0 0;
	padding: 20px 0;
	background: #ffffff;
	}

.home .carousel .panel {
	height: 516px;
	margin: 0 17px 0 0;
	}

.home .carousel .panel .image img {
	height: 516px;
	}

.home .navigation-alt {
	width: 100%;
	margin: 100px 0 0;
	padding: 100px 0;
	border-top: 3px solid #e5e5e5;
	background: #f8f5fa;
	}

.home .navigation-alt .heading {
	width: 800px;
	margin: 0 auto 60px;
	color: #838383;
	font-weight: bold;
	}

.home .navigation-alt .categories {
	position: relative;
	width: 800px;
	margin: 0 auto 0;
	}

.home .navigation-alt .category {
	display: block;
	margin: 0 0 60px;
	}

.home .navigation-alt .category:nth-last-of-type(1) {
	margin: 0 0 0;
	}

.home .navigation-alt .category a {
	display: block;
	font-weight: bold;
	text-decoration: none;
	}

/* @end */



/* @group category */

.hero-default {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 1322px;
	}

.hero-default .content {
	display: block;
	position: relative;
	width: 100%;
	height: 1322px;
	margin: 0 auto;
	z-index: 2;
	}

.hero-default .hgroup {
	display: block;
	position: absolute;
	top: 160px;
	width: 100%;
	padding: 50px 0 50px;
	background: url(../images/global/bg_pink_noise.png) repeat 0 0;
	}

.hero-default .hgroup .heading {
	margin: 0 0 40px;
	text-align: center;
	}

.hero-default .hgroup .heading .has-image {
	display: block;
	position: relative;
	margin: -80px auto 0;
	vertical-align: top;
	text-align: center;
	}

.hero-default .hgroup .heading svg {
	display: block;
	margin: 0 auto;
	fill: #ffffff;
	}

.hero-default .hgroup .description {
	display: block;
	color: #ffffff;
	font-size: 34px;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.18em;
	text-align: center;
	}

.hero-default .hgroup .description .row {
	display: block;
	}

.hero-default .image {
	position: absolute;
	display: block;
	overflow: hidden;
	top: 0;
	width: 100%;
	height: 1322px;
	}

.hero-default .image picture,
.hero-default .image img {
	display: block;
	width: 100%;
	height: 1322px;
	}

/* @end */

/* @group news */

.news {
	}

.news-list {
	width: 800px;
	margin: 0 auto;
	padding: 134px 0 0;
	}

.news-list .heading {
	margin: 0 0 70px;
	font-size: 54px;
	text-align: center;
	letter-spacing: 0.1em;
	}

.news-list .topics {
	padding: 0 0 80px;
	margin: 0 0 100px;
	border-bottom: 4px solid #626262;
	}

.news-list .topics:nth-last-of-type(1) {
	border-bottom: none;
	}

.news-list .topics p {
	margin: 0 0 1.4em;
	font-size: 36px;
	line-height: 1.8;
	}

.news-list .topics .thumbnail {
	text-align: center;
	margin: 0 0 2em;
	}

.news-list .topics .thumbnail img {
	display: block;
	}

.news-list .topics .date {
	margin: 0 0 0.8em;
	font-size: 30px;
	line-height: 1.8;
	}

.news-list .topics .title {
	margin: 0 0 2em;
	font-size: 36px;
	font-weight: 600;
	line-height: 1.8;
	}

/* @end */



/* @group about */

.about .hero-default .has-image {
	display: block;
	width: 563px;
	height: 56px;
	}

.about .hero-default .has-image svg {
	width: 563px;
	height: 56px;
	}

.about .introduction {
	width: 880px;
	margin: 200px auto 0;
	padding: 0 0 0;
	}

.about .introduction:after {
	content: "";
	display: block;
	width: 880px;
	height: 2px;
	margin: 260px auto 340px;
	background: #f7e8e8;
	}

.about .introduction .fluid-column {
	width: 820px;
	margin: 0 auto;
	}

.about .introduction .column-left {
	margin: 0 0 80px;
	}

.about .introduction .column-right {
	display: table;
	width: 100%;
	}

.about .introduction .heading {
	margin: 0 0 70px;
	font-size: 56px;
	font-weight: 500;
	line-height: 1.4;
	}

.about .introduction .description {
	font-size: 36px;
	line-height: 1.8;
	}

.about .introduction .description p {
	margin: 0 0 1em;
	}

.about .introduction .image {
	display: table-cell;
	}

.about .introduction .image img {
	display: block;
	}

.about .introduction .caption {
	display: table-cell;
	padding: 0 0 1em;
	font-size: 30px;
	line-height: 1.4;
	vertical-align: bottom;
	}

.about .feature {
	width: 820px;
	margin: 0 auto 280px;
	}

.about .feature > .heading {
	color: #aa3358;
	font-weight: 600;
	font-size: 52px;
	margin: 0 0 260px;
	text-align: center;
	letter-spacing: 0.1em;
	}

.about .feature .section {
	margin: 0 0 230px;
	}

.about .feature .section .header {
	position: relative;
	padding: 44px 0 44px;
	margin: 0 0 87px;
	border: 1px solid #ad315a;
	background: #fffdfd;
	}

.about .feature .section .header .no {
	display: block;
	position: absolute;
	top: -20px;
	left: -20px;
	width: 96px;
	height: 96px;
	color: #ffffff;
	background: #ad315a;
	}

.about .feature .section .header .no .text {
	display: block;
	position: absolute;
	right: 4px;
	bottom: 4px;
	font-size: 62px;
	}

.about .feature .section .header .heading {
	color: #aa3358;
	font-size: 42px;
	font-weight: 500;
	text-align: center;
	line-height: 1.6;
	letter-spacing: 0.1em;
	}

.about .feature .section .header .heading .row {
	display: block;
	}

.about .feature .section .content {
	font-size: 36px;
	line-height: 1.8;
	}

.about .feature .section .content p {
	font-size: 109%;
	text-align: justify;
	}

.about .history {
	margin: 0 0 330px;
	padding: 240px 0 240px;
	background: #edd0d3;
	}

.about .history .fluid-column {
	width: 820px;
	margin: 0 auto 0;
	}

.about .history .column-left {
	margin: 0 0 120px;
	}

.about .history .column-right {
	}

.about .history .heading {
	margin: 0 0 90px;
	color: #aa3358;
	font-size: 52px;
	text-align: center;
	letter-spacing: 0.2em;
	}

.about .history .description p {
	margin: 0 0 2em;
	font-size: 30px;
	line-height: 1.8;
	}

.about .history .image {
	width: 100%;
	}

.about .history .image img {
	width: 100%;
	height: auto;
	}

.about .history .caption {
	margin: 1em 0 0;
	font-size: 26px;
	text-align: right;
	}

.about .company {
	width: 820px;
	margin: 0 auto 0;
	}

.about .company .header {
	position: relative;
	padding: 0 0 180px;
	}

.about .company .header .heading {
	margin: 0 0 1.5em;
	font-size: 36px;
	font-weight: 600;
	}

.about .company .header .address {
	width: 760px;
	font-size: 36px;
	line-height: 1.6;
	}


.about .company .header .site-logo {
	position: absolute;
	top: -155px;
	right: 168px;
	width: 140px;
	height: 142px;
	}

.about .company .header .site-logo svg {
	width: 230px;
	height: 233px;
	}

.about .company .header table {
	display: block;
	}

.about .company .header table td{
	display: block;
	}

.about .company .profile {
	position: relative;
	width: 760px;
	margin: 0 0 140px;
	}

.about .company .profile dl {
	margin: 0 0 2em;
	line-height: 1.6;
	}

.about .company .profile dt {
	font-size: 36px;
	font-weight: 600;
	line-height: 1.6;
	}

.about .company .profile dl:nth-last-of-type(1) dt {
	padding: 0;
	}

.about .company .profile dd {
	}

.about .company .footer {
	position: relative;
	width: 760px;
	margin: 0 0 160px;
	}

.about .company .footer .storage {
	margin: 0 0 70px;
	}

.about .company .footer .storage .image {
	margin: 0 0 0.4em;
	}

.about .company .footer .storage .caption {
	font-size: 26px;
	text-align: right;
	}

.about .company .footer .info {
	position: relative;
	width: 714px;
	}

.about .company .footer .info .map {
	}

.about .company .footer .info .map img {
	display: block;
	}

.about .company .footer .info .access {
	margin: 1em 0 0;
	line-height: 1.6;
	}

.about .company .footer .info .access dt {
	font-weight: 600;
	}


/* @end */



/* @group carpet */

.carpet .hero-default .has-image {
	display: block;
	width: 543px;
	height: 57px;
	}

.carpet .hero-default .has-image svg {
	width: 543px;
	height: 57px;
	}

.carpet .hero-default .description {
	}

.carpet .main {
	width: 100%;
	background: #fff7f7;
	}

.carpet .feature {
	padding: 140px 0 1px;
	}

.carpet .feature .section {
	width: 920px;
	margin: 0 auto 368px;
	}


.carpet .feature .section .image {
	margin: 0 0 140px;
	}

.carpet .feature .section .image img {
	width: 100%;
	height: auto;
	}

.carpet .feature .section .description {
	width: 800px;
	margin: 0 auto;
	}

.carpet .feature .section .description .heading {
	margin: 0 0 86px;
	color: #aa3358;
	font-size: 52px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	}

.carpet .feature .section .description p {
	font-size: 38px;
	line-height: 1.6;
	text-align: justify;
	}

.carpet .spec {
	width: 100%;
	margin: 0 auto;
	padding: 500px 0 0;
	}

.carpet .spec > .heading {
	margin: 0 0 320px;
	color: #aa3358;
	font-size: 52px;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 1.4;
	}

.carpet .spec > .heading .row {
	display: block;
	}

.carpet .spec .section {
	margin: 0 0 400px;
	}

.carpet .spec .section:nth-last-of-type(1) {
	margin: 0 0 200px;
	}

.carpet .spec .section .header {
	margin: 0 0 40px;
	}

.carpet .spec .section .heading {
	margin: 0 0 120px;
	color: #aa3358;
	font-size: 42px;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.1em;
	}

.carpet .spec .section .heading:after {
	content: "";
	display: block;
	width: 60px;
	height: 5px;
	margin: 0.8em auto 0;
	background: #aa3358;
	}

.carpet .spec .description p {
	width: 800px;
	margin: 0 auto 0;
	font-size: 38px;
	text-align: justify;
	line-height: 1.6;
	}

.carpet .spec .description p strong {
	letter-spacing: 0.2em;
	}

.carpet .spec .figure-group {
	display:flex;
	flex-wrap:wrap;
	flex-direction: row;
	justify-content: space-between;
	width: 800px;
	margin: 0 auto;
	}

.carpet .spec .figure-single {
	justify-content: center;
	margin: 100px auto 0;
	}

.carpet .spec .figure {
	text-align: center;
	}

.carpet .spec .figure .image img {
	max-width: 100%;
	height: auto;
	}

.carpet .spec .made-in .figure img {
	width: 100%;
	}

.carpet .spec .detail .image img {
	max-width: 370px;
	}

.carpet .spec .design .image img {
	max-width: 370px;
	}

.carpet .spec .material .image img {
	max-width: 800px;
	}

.carpet .spec .figure .caption {
	margin: 0.4em 0 2em;
	font-size: 28px;
	text-align: center;
	line-height: 1.4;
	}

.carpet .spec .figure .caption dl {
	max-width: 800px;
	margin: 2em 0 160px;
	text-align: left;
	}

.carpet .spec .figure .caption dl dt {
	margin: 0 0 0.4em;
	font-size: 36px;
	font-weight: 600;
	letter-spacing: 0.2em;
	}

.carpet .spec .figure .caption dl dd {
	font-size: 36px;
	}

.carpet .spec .button {
	width: 300px;
	margin: 140px auto 0;
	padding: 0 0 0 1em;
	text-align: center;
	}

.carpet .spec .button a {
	display: block;
	padding: 16px 12px;
	color: #a73055;
	border: 1px solid #a73055;
	border-radius: 32px;
	background: #fdf5f5;
	font-size: 30px;
	font-weight: 600;
	text-decoration: none;
	letter-spacing: 0.2em;
	}


/* @end */




/* @group lineup */

.lineup .page-body .main {
	width: 100%;
	margin: 0 0;
	}


.lineup .hero-default .has-image {
	display: block;
	width: 478px;
	height: 68px;
	}

.lineup .hero-default .has-image svg {
	width: 478px;
	height: 68px;
	}

.lineup .hero-default .description {
	}

.lineup-list {
	padding: 140px 0 0;
	}

.lineup-list .category {
	margin: 0 0 380px;
	}

.lineup-list .category .category-title {
	margin: 0 0 120px;
	color: #aa3358;
	font-size: 52px;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 1.6;
	}

.lineup-list .category .category-title .row {
	display: block;
	text-align: center;
	}

.lineup-list .category .category-title:after {
	content: "";
	display: block;
	width: 60px;
	height: 5px;
	margin: 55px auto 0;
	background: #aa3358;
	}


.lineup-list .category .category-image {
	margin: 0 0 70px;
	}

.lineup-list .category .category-image img {
	width: 100%;
	height: auto;
	}

.lineup-list .category .description {
	width: 800px;
	margin: 0 auto;
	font-size: 36px;
	line-height: 1.8;
	}

.lineup-list .category .description p {
	text-align: justify;
	}

.framed-service {
	margin: 0 0 0;
	padding: 220px 0;
	color: #aa3358;
	background: #f4d3d7;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.2em;
	}

.framed-service .content {
	width: 100%;
	margin: 0 auto;
	}

.framed-service .title {
	margin: 0 0 90px;
	color: #aa3358;
	font-size: 52px;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.2em;
	text-align: center;
	}

.framed-service .title:after {
	content: "";
	display: block;
	width: 60px;
	height: 5px;
	margin: 55px auto 0;
	background: #aa3358;
	}

.framed-service .image {
	width: 800px;
	margin: 0 auto 160px;
	text-align: center;
	}

.framed-service .image img {
	width: 100%;
	}

.framed-service .description {
	width: 800px;
	margin: 0 auto 110px;
	color: #333333;
	font-weight: normal;
	font-size: 36px;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: justify;
	}

/* @end */



/* @group maintenance */

.maintenance .hero-default .has-image {
	width: 679px;
	height: 66px;
	}

.maintenance .hero-default .has-image svg {
	width: 679px;
	height: 66px;
	}

.maintenance .hero-default .description {
	}

.maintenance-list {
	padding: 140px 0 0;
	}

.maintenance-list .section {
	margin: 0 0 330px;
	}

.maintenance-list .section > .heading {
	margin: 0 0 120px;
	color: #aa3358;
	font-size: 52px;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 1.6;
	}

.maintenance-list .section > .heading:after {
	content: "";
	display: block;
	width: 60px;
	height: 5px;
	margin: 55px auto 0;
	background: #aa3358;
	}

.maintenance-list .section > .heading .row {
	display: block;
	text-align: center;
	}


.maintenance-list .section .figure {
	margin: 0 auto 90px;
	text-align: center;
	}

.maintenance-list .section .description {
	width: 800px;
	margin: 0 auto 86px;
	font-size: 36px;
	line-height: 1.8;
	}

.maintenance-list .data-group {
	width: 720px;
	margin: 0 auto 86px;
	}

.maintenance-list .data-group .heading {
	margin: 0 0 1em;
	color: #aa3358;
	font-size: 32px;
	font-weight: 600;
	text-align: center;
	line-height: 1.4;
	}

.maintenance-list .data-group .data {
	width: 100%;
	border-top: 2px solid #aa3358;
	border-bottom: 2px solid #aa3358;
	}

.maintenance-list .data-group .data table {
	width: 100%;
	}

.maintenance-list .data-group .data table td {
	padding: 32px 0 32px;
	font-size: 36px;
	text-align: center;
	border-right: 2px solid #aa3358;
	}

.maintenance-list .data-group .data table td:nth-last-of-type(1) {
	border-right: none;
	}

.maintenance-list .data-group .data table .label {
	display: inline-block;
	margin: 0 1em 0 0;
	font-size: 23px;
	}

.maintenance-service {
	padding: 100px 0 120px;
	background: #edd4d3;
	}

.maintenance-service .title {
	margin: 0 0 90px;
	color: #aa3358;
	font-size: 42px;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.2em;
	text-align: center;
	}

.maintenance-service .title:after {
	content: "";
	display: block;
	width: 60px;
	height: 5px;
	margin: 55px auto 0;
	background: #aa3358;
	}

.maintenance-service .description {
	width: 720px;
	margin: 0 auto 0;
	color: #333333;
	font-size: 30px;
	line-height: 1.8;
	}

.maintenance-service .description ul {
	padding: 0 0 0.2em;
	}

.maintenance-service .description ul li {
	list-style: disc;
	margin: 0 0 0.4em;
	}

.maintenance-service .button {
	width: 400px;
	margin: 86px auto 0;
	padding: 0 0 0 1em;
	text-align: center;
	}

.maintenance-service .button a {
	display: block;
	padding: 16px 12px;
	color: #a73055;
	border: 1px solid #a73055;
	border-radius: 6px;
	background: #fdf5f5;
	font-size: 32px;
	font-weight: 600;
	text-decoration: none;
	}


/* @end */

/* @group contact */

.contact {
	}

.contact .contact-list {
	padding: 125px 0;
	}


.contact .contact-list .category-title {
	margin: 0 0 86px;
	color: #aa3358;
	font-size: 42px;
	font-weight: 600;
	text-align: center;
	letter-spacing: 0.1em;
	}

.contact .contact-list .category-title:after {
	content: "";
	display: block;
	width: 60px;
	height: 5px;
	margin: 55px auto 0;
	background: #aa3358;
	}

.contact .contact-list .description {
	width: 800px;
	margin: 0 auto 120px;
	font-size: 36px;
	line-height: 1.8;
	}

.contact .contact-list .fluid-column {
	width: 800px;
	margin: 0 auto;
	}

.contact .contact-list .fluid-column .column {
	width: 50%;
	}

.contact .contact-list .fluid-column .column dl {
	width: 800px;
	}

.contact .contact-list .fluid-column .column {
	margin: 0 0 170px;
	}

.contact .contact-list .fluid-column .column .button {
	width: 800px;
	height: 130px;
	}

.contact .contact-list .fluid-column .column dt {
	margin: 0 0 24px;
	font-size: 36px;
	line-height: 1.6;
	}

.contact .contact-list .fluid-column .column .button {
	display: table;
	}

.contact .contact-list .fluid-column .column .button-solid-radius {
	display: table-cell;
	box-sizing: border-box;
	width: 100%;
	height: 130px;
	padding: 0 0.8em;
	border-radius: 8px;
	background: #efd3d3;
	font-size: 62.5%0px;
	text-decoration: none;
	text-align: center;
	vertical-align: middle;
	}

.contact .contact-list .fluid-column .tel .button-solid-radius {
	font-size: 60px;
	}



/* @end */





/* @group map */

.carpet div.carpet-map {
	width: 100%;
	padding: 130px 0 0;
	margin: 0 auto 0;
	background: #f8e8e8;
	}

.carpet-map .header .figure {
	width: 100%;
	margin: 0 auto;
	}

.carpet-map .nav {
	display: table;
	width: 338px;
	margin: 0 auto 36px;
	}

.carpet-map .nav li {
	display: table-cell;
	width: 169px;
	}

.carpet-map .nav li.next {
	text-align: right;
	}

.carpet-map .nav .has-image {
	display: inline-block;
	box-sizing: border-box;
	width: 140px;
	height: 68px;
	padding: 10px;
	border: 1px solid #da577b;
	border-radius: 68px;
	background: #fff7f7;
	text-align: center;
	cursor: pointer;
	}

.carpet-map .nav .has-image svg {
	display: inline;
	width: 42px;
	height: 42px;
	}

.carpet-map .description {
	width: 880px;
	margin: 80px auto 0;
	padding: 0 0 200px;
	min-height: 300px;
	-webkit-user-select: none;
	user-select: none;
	}

.carpet-map .description > div {
	display: none;
	-webkit-user-select: none;
	user-select: none;
	}

.carpet-map .description > div.is-selected {
	display: block;
	}

.carpet .carpet-map .description .image {
	display: block;
	width: 880px;
	margin: 100px 0 0;
	}

.carpet-map .description .image img {
	width: 880px;
	height: auto;
	}

/* @end */

/* @group overlay */

body.overlay-enabled {
	overflow: hidden;
	overflow-y: scroll;
	/*overflow: auto;
	height: auto;*/
	}

.page-overlay {
	position: absolute;
	height: 100%;
	}

.page-overlay .overlay-content {
	width: 100%;
	margin: 0 auto;
	padding: 0 0 0;
	}

.page-overlay .overlay-header {
	position: fixed;
	top: 0;
	width: 100%;
	margin: 0;
	height: 1px;
	z-index: 100;
	}

.page-overlay .overlay-header .button {
	position: absolute;
	right: 70px;
	top: 48px;
	width: 60px;
	height: auto;
	}


.page-overlay .overlay-header svg {
	width: 60px;
	height: auto;
	fill: #da577b;
	}


.page-overlay .spec .section:nth-last-of-type(1) {
	margin: 0 0 0;
	}


/* @end */

}

/* @group Animation */

@-webkit-keyframes fadeOut {
	0% {
		height: 100%;
		opacity: 1;
	}
	99% {
		height: 100%;
		opacity: 0;
	}
	100% {
		height: 0px;
		opacity: 0;
	}
}

@keyframes fadeOut {
	0% {
		height: 100%;
		opacity: 1;
	}
	99% {
		height: 100%;
		opacity: 0;
	}
	100% {
		height: 0px;
		opacity: 0;
	}
}

@-webkit-keyframes slideIn {
	0% {
		top: -86px;
	}
	100% {
		top: 0;
	}
}

@-webkit-keyframes slideOut {
	0% {
		top: 0;
	}
	100% {
		top: -86px;
	}
}

@keyframes slideIn {
	0% {
		top: -86px;
	}
	100% {
		top: 0;
	}
}

@keyframes slideOut {
	0% {
		top: 0;
	}
	100% {
		top: -86px;
	}
}


/* @end */
