@charset "utf-8";


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

ローディング

=======================================================*/
#loading {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	-webkit-align-items:center;
	align-items:center;
	-webkit-justify-content:center;
	justify-content:center;
	width: 100%;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	transition: all 1s;
	background-color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999999;
}
#loading .product_logo {
	display: none;
	width: 40%;
	max-width: 200px;
	margin-bottom: 3%;
	-webkit-perspective: 1000;
  perspective: 1000;
}
#loading .product_logo svg {
	animation: rotation 3s ease-in-out 0s infinite normal;
	transition: transform 1s;
	-webkit-transform-style: preserve-3d;
}
#loading_text {
	display: none;
	font-size: 1.2rem;
	transition: all 1s;
}
#min-loader,
#min-loader:after {
  border-radius: 50%;
  width: 5em;
  height: 5em;
}
#min-loader {
	display: none;
  margin: 0 auto;
  font-size: 10px;
  position: relative;
  border-top: 0.5em solid rgba(0, 0, 0, 0.2);
  border-right: 0.5em solid rgba(0, 0, 0, 0.2);
  border-bottom: 0.5em solid rgba(0, 0, 0, 0.2);
  border-left: 0.5em solid #e5e5e5;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

@keyframes rotation {
	0%{
		-webkit-transform:rotateY(0);
    transform:rotateY(0);
  }
  33%{
		-webkit-transform:rotateY(0);
    transform:rotateY(0);
  }
  100%{
		-webkit-transform:rotateY(360deg);
    transform:rotateY(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* Hide Loading Block */
.loaded {
  opacity: 0;
  visibility: hidden;
}

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

config

=======================================================*/
/* ベース幅 */
.config {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
}
.config_wide {
	width: 90%;
	max-width: 1280px;
	margin: 0 auto;
}

@media all and (max-width: 500px) {
	.config,
	.config_wide {
		width: 90%;
	}
}

/* ベーステキスト */
.txt_body {
	font-size: 1.8rem;
	line-height: 1.8;
}

@media all and (max-width: 640px) {
	.txt_body {
		font-size: 1.6rem;
	}
}

/* ロゴアスペクト比 */
.product_logo .svg {
	display: block;
	width: 100%;
	padding-top: 99.2753%;
	position: relative;
}
.product_logo svg {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

/* 表示出し分け */
.pc_none {
	display: none;
}
.comingsoon {
	color: #ccc;
	text-align: center;
}
@media all and (max-width: 768px) {
	.sp_none {
		display: none;
	}
	.pc_none {
		display: block;
	}
}

/* セクション背景 */
.bg_gray {
	background: #F5F5F5;
}

/* セクション間 */
.secpa {
	padding: 130px 0;
}
.sec-group > section {
	margin-top: 130px;
}
.sec-group > section:first-child {
	margin-top: 0;
}
@media all and (max-width: 1280px) {
	.secpa {
		padding: 90px 0;
	}
	.sec-group > section {
		margin-top: 90px;
	}
}
@media all and (max-width: 490px) {
	.secpa {
		padding: 60px 0;
	}
	.sec-group > section {
		margin-top: 60px;
	}
}

/* ボタン */
.btn_style_underline {
	display: inline-block;
	padding: 0.5em 1.5em 0.5em 0;
	position: relative;
	border-bottom: 1px solid #626375;
	transition: color 0.5s, border 0.5s;
}
.btn_style_border {
	display: inline-block;
	width: 100%;
	max-width: 450px;
	padding: 1em 1.5em;
	border: 1px solid #343434;
	border-radius: 999px;
	text-align: center;
	position: relative;
}
.btn_style_underline::after,
.btn_style_border::after {
	display: block;
	content: '';
	width: 0.6em;
	height: 100%;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212.5%22%20height%3D%228%22%20viewBox%3D%220%200%2012.5%208%22%3E%3Cpath%20d%3D%22M-6198.853%2C7.854a.5.5%2C0%2C0%2C1%2C0-.707l2.646-2.647H-6206.5a.5.5%2C0%2C0%2C1-.5-.5.5.5%2C0%2C0%2C1%2C.5-.5h10.292l-2.646-2.647a.5.5%2C0%2C0%2C1%2C0-.707.5.5%2C0%2C0%2C1%2C.706%2C0l3.5%2C3.5.021.022A.5.5%2C0%2C0%2C1-6194.5%2C4a.5.5%2C0%2C0%2C1-.072.259v0l-.011.017-.006.009-.007.01a.484.484%2C0%2C0%2C1-.053.061l-3.5%2C3.5A.5.5%2C0%2C0%2C1-6198.5%2C8%2C.5.5%2C0%2C0%2C1-6198.853%2C7.854Z%22%20transform%3D%22translate(6207%200)%22%20fill%3D%22%23626375%22%2F%3E%3C%2Fsvg%3E');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 0;
	transition: transform 0.5s;
}
.btn_style_underline::after {
	right: 0;
}
.btn_style_border::after {
	right: 0.8em;
}
@media all and (min-width: 769px) {
	.btn_style_underline:hover {
		color: #787F9B;
		border-bottom: 1px solid #808CBD;
	}
	.btn_style_border:hover {
		color: #787F9B;
		border: 1px solid #787F9B;
	}
	.btn_style_underline:hover::after,
	.btn_style_border:hover::after {
		background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212.5%22%20height%3D%228%22%20viewBox%3D%220%200%2012.5%208%22%3E%3Cpath%20d%3D%22M-6198.853%2C7.854a.5.5%2C0%2C0%2C1%2C0-.707l2.646-2.647H-6206.5a.5.5%2C0%2C0%2C1-.5-.5.5.5%2C0%2C0%2C1%2C.5-.5h10.292l-2.646-2.647a.5.5%2C0%2C0%2C1%2C0-.707.5.5%2C0%2C0%2C1%2C.706%2C0l3.5%2C3.5.021.022A.5.5%2C0%2C0%2C1-6194.5%2C4a.5.5%2C0%2C0%2C1-.072.259v0l-.011.017-.006.009-.007.01a.484.484%2C0%2C0%2C1-.053.061l-3.5%2C3.5A.5.5%2C0%2C0%2C1-6198.5%2C8%2C.5.5%2C0%2C0%2C1-6198.853%2C7.854Z%22%20transform%3D%22translate(6207%200)%22%20fill%3D%22%23787F9B%22%2F%3E%3C%2Fsvg%3E');
	}
	.btn_style_underline:hover::after,
	.btn_style_border:hover::after {
		transform: translateX(5px);
	}
}


/* 矢印 */
.arw_dark,
.arw_white {
	position: relative;
}
.arw_dark::after,
.arw_white::after {
	display: block;
	content: '';
	width: 30px;
	height: 30px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	bottom: 1.5rem;
	right: 1.5rem;
	transition: transform 0.5s;
	z-index: 5;
}
.arw_dark::after {
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2231.999%22%20viewBox%3D%220%200%2032%2031.999%22%3E%3Cpath%20d%3D%22M-6207%2C16a16%2C16%2C0%2C0%2C1%2C16-16%2C16%2C16%2C0%2C0%2C1%2C16%2C16%2C16%2C16%2C0%2C0%2C1-16%2C16A16%2C16%2C0%2C0%2C1-6207%2C16Zm5.393-10.607A14.9%2C14.9%2C0%2C0%2C0-6206%2C16a14.9%2C14.9%2C0%2C0%2C0%2C4.393%2C10.607A14.9%2C14.9%2C0%2C0%2C0-6191%2C31a14.9%2C14.9%2C0%2C0%2C0%2C10.607-4.393A14.9%2C14.9%2C0%2C0%2C0-6176%2C16a14.9%2C14.9%2C0%2C0%2C0-4.393-10.607A14.907%2C14.907%2C0%2C0%2C0-6191%2C1%2C14.907%2C14.907%2C0%2C0%2C0-6201.607%2C5.393Zm12.5%2C14.461a.5.5%2C0%2C0%2C1%2C0-.707l2.646-2.647h-10.292a.5.5%2C0%2C0%2C1-.5-.5.5.5%2C0%2C0%2C1%2C.5-.5h10.292l-2.646-2.647a.5.5%2C0%2C0%2C1%2C0-.707.5.5%2C0%2C0%2C1%2C.708%2C0l3.495%2C3.5a.527.527%2C0%2C0%2C1%2C.053.061l.007.01.006.009.011.017%2C0%2C0a.5.5%2C0%2C0%2C1%2C.072.259.5.5%2C0%2C0%2C1-.129.335l-.021.022-3.495%2C3.5a.5.5%2C0%2C0%2C1-.354.146A.493.493%2C0%2C0%2C1-6189.1%2C19.854Z%22%20transform%3D%22translate(6207)%22%20fill%3D%22%23626375%22%2F%3E%3C%2Fsvg%3E');
}
.arw_white::after {
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2231.999%22%20viewBox%3D%220%200%2032%2031.999%22%3E%3Cpath%20d%3D%22M-6207%2C16a16%2C16%2C0%2C0%2C1%2C16-16%2C16%2C16%2C0%2C0%2C1%2C16%2C16%2C16%2C16%2C0%2C0%2C1-16%2C16A16%2C16%2C0%2C0%2C1-6207%2C16Zm5.393-10.607A14.9%2C14.9%2C0%2C0%2C0-6206%2C16a14.9%2C14.9%2C0%2C0%2C0%2C4.393%2C10.607A14.9%2C14.9%2C0%2C0%2C0-6191%2C31a14.9%2C14.9%2C0%2C0%2C0%2C10.607-4.393A14.9%2C14.9%2C0%2C0%2C0-6176%2C16a14.9%2C14.9%2C0%2C0%2C0-4.393-10.607A14.907%2C14.907%2C0%2C0%2C0-6191%2C1%2C14.907%2C14.907%2C0%2C0%2C0-6201.607%2C5.393Zm12.5%2C14.461a.5.5%2C0%2C0%2C1%2C0-.707l2.646-2.647h-10.292a.5.5%2C0%2C0%2C1-.5-.5.5.5%2C0%2C0%2C1%2C.5-.5h10.292l-2.646-2.647a.5.5%2C0%2C0%2C1%2C0-.707.5.5%2C0%2C0%2C1%2C.708%2C0l3.495%2C3.5a.527.527%2C0%2C0%2C1%2C.053.061l.007.01.006.009.011.017%2C0%2C0a.5.5%2C0%2C0%2C1%2C.072.259.5.5%2C0%2C0%2C1-.129.335l-.021.022-3.495%2C3.5a.5.5%2C0%2C0%2C1-.354.146A.493.493%2C0%2C0%2C1-6189.1%2C19.854Z%22%20transform%3D%22translate(6207)%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E');
}
@media all and (min-width: 769px) {
	.arw_dark:hover::after,
	.arw_white:hover::after {
		transform: translateX(0.5rem);
	}
}
@media all and (max-width: 490px) {
	.arw_dark::after,
	.arw_white::after {
		width: 24px;
		height: 24px;
		bottom: 1rem;
		right: 1rem;
	}
}
@media all and (max-width: 400px) {
	.arw_dark::after,
	.arw_white::after {
		width: 18px;
		height: 18px;
	}
}

/* 英字タイトル */
.en-title {
	text-transform: uppercase;
	font-family: 'Raleway', sans-serif;
	font-weight: 400;
	font-size: 3rem;
	text-align: center;
}
.en-title_sub {
	font-size: 1.6rem;
	text-align: center;
	color: #A6A6A6;
}
@media all and (max-width: 640px) {
	.en-title {
		font-size: 2.4rem;
	}
	.en-title_sub {
		font-size: 1.4rem;
	}
}
@media all and (max-width: 400px) {
	.en-title {
		font-size: 2rem;
	}
	.en-title_sub {
		font-size: 1.2rem;
	}
}


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

アニメーション

=======================================================*/
.fadeIn-y {
	opacity: 0;
	transform: translateY(30px);
	transition:  opacity 0.8s, transform 0.8s;
}
.fadeIn-y.show {
	opacity: 1;
	transform: translateY(0);
}

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

ヘッダー

=======================================================*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 90;
	transition: background 0.5s;
}
header.scr {
	background: rgba(255,255,255,0.8);
}
.head_inner {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-align-items:center;
	align-items:center;
}
.head_logo {
	width: 20%;
	max-width: 110px;
	padding: 20px 0;
	transition: all 0.5s;
}
header.scr .head_logo {
	max-width: 60px;
}
.head_menu {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-align-items:center;
	align-items:center;
}
.gnav,
.sub_nav {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-align-items:center;
	align-items:center;
}
.gnav li {
	margin-right: 2em;
	position: relative;
}
.gnav .hover-jp {
	display: none;
}
.sub_nav li {
	margin-left: 1rem;
}
.sub_nav li:first-child {
	margin-left: 0;
}
.gnav li,
.gnav a,
.sub_nav li,
.sub_nav a {
	font-family: 'Raleway', sans-serif;
	font-weight: 400;
}
.sub_nav a {
	display: block;
	width: 12em;
	border-radius: 99px;
	border: 1px solid #626375;
	text-align: center;
	padding: 0.5em 1em;
	font-size: 1.3rem;
	position: relative;
}
.sub_nav a::after {
	display: block;
	content: '';
	width: 0.6em;
	height: 0.8px;
	background: #626375;
	position: absolute;
	top: 50%;
	right: 0.8em;
}
.nav-unshown {
	display: none;
}
.nav-open {
	display: none;
}

@media all and (max-width: 1280px) {
	.gnav li,
	.gnav a {
		font-size: 1.4rem;
	}
	.sub_nav li,
	.sub_nav a {
		font-size: 1.2rem;
	}
	.gnav li {
		margin-right: 1.5em;
	}
}
@media all and (min-width: 1101px) {
	.gnav a {
		position: relative;
		z-index: 2;
		transition: color 0.5s;
	}
	.gnav a:hover {
		color: #787F9B;
	}
	.gnav .hover-jp {
		display: inline-block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 300;
		white-space: nowrap;
		position: absolute;
		bottom: 80%;
		left: 50%;
		z-index: 1;
		transform: translateX(-50%);
		font-size: 1rem;
		color: #B2BBC9 !important;
		opacity: 0;
		transition: opacity 0.5s, bottom 0.5s;
	}
	.gnav a:hover + .hover-jp {
		bottom: calc( 100% + 0.1em );
		opacity: 1;
	}
	.sub_nav a {
		transition: color 0.5s, border 0.5s;
	}
	.sub_nav a::after {
		transition: background 0.5s, right 0.5s;
	}
	.sub_nav a:hover {
		color: #787F9B;
		border: 1px solid #787F9B;
	}
	.sub_nav a:hover::after {
		right: 0.3em;
		background: #787F9B;
	}
}
@media all and (max-width: 1100px) {
	.nav-open {
		display: block;
		width: 60px;
		height: 60px;
		position: relative;
		cursor: pointer;
		z-index: 100;
		order: 1;
	}
	.nav-open span {
		display: block;
		width: 40%;
		height: 0.8px;
		background: #4A4A4A;
		position: absolute;
		top: 50%;
		left: 30%;
		transition: transform 0.5s, opacity 0.5s, background 0.5s;
	}
	.nav-open .bar1 {
		top: calc( 50% - 0.8rem );
	}
	.nav-open .bar3 {
		top: calc( 50% + 0.8rem );
	}
	.head_menu {
		display: block;
		width: 80%;
		max-width: 300px;
		position: fixed;
		top: 0;
		bottom: 0;
		right: 0;
		height: 100%;
		background: #4A4A4A;
		z-index: 99;
		padding: 80px 0;
		transform: translateX(105%);
		transition: transform 0.5s;
	}
	.nav_sp_bg {
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 98;
		background: rgba(0,0,0,0);
		transform: translateX(-105%);
		transition: transform 0.5s, background 0.5s;
	}
	#nav-input:checked ~ .nav_sp_bg {
		transform: translateX(0);
		background: rgba(0,0,0,0.6);
	}
	#nav-input:checked ~ .nav-open {
		position: fixed;
		top: 0;
		right: 0;
	}
	#nav-input:checked ~ .nav-open .bar1 {
		transform: rotate(-135deg);
		top: 50%;
		background: #fff;
	}
	#nav-input:checked ~ .nav-open .bar2 {
		background: #fff;
		opacity: 0;
	}
	#nav-input:checked ~ .nav-open .bar3 {
		transform: rotate(135deg);
		top: 50%;
		background: #fff;
	}
	#nav-input:checked ~ .head_menu {
		transform: translateX(0);
	}
	.gnav,
	.sub_nav {
		display: block;
		width: 80%;
		margin: 0 auto;
	}
	.gnav li {
		border-bottom: 1px solid rgba(255,255,255,0.3);
		margin: 0;
	}
	.gnav a {
		display: block;
		padding: 1em 0;
	}
	.gnav li,
	.gnav a {
		color: #fff;
	}

	.sub_nav {
		margin-top: 20px;
	}
	.sub_nav li {
		margin: 10px 0 0 0;
	}
	.sub_nav a {
		color: #fff;
		border: 1px solid rgba(255,255,255,0.3);
		width: 100%;
		padding: 1em;
	}
	.sub_nav a::after {
		background: rgba(255,255,255,0.3);
	}
}
@media all and (max-width: 768px) {
	header.scr .head_logo {
		max-width: 60px;
		padding: 10px 0;
	}
}


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

HOME

=======================================================*/
/* mv */
#mv {
	position: relative;
	padding-bottom: 20px;
}
#mv::after {
	display: block;
	content: '';
	width: 100%;
	height: 50%;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	background: #F5F5F5;
}
.mv_inner {
	position: relative;
	z-index: 2;
}
.mv_lead {
	position: absolute;
	top: 20%;
	left: 5%;
	font-size: 1.6rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 200;
	line-height: 2;
}
.mv_topics {
	width: 70%;
	background: rgba(82,82,82,0.8);
	padding: 0.8em 2em;
	position: absolute;
	bottom: 0;
	left: 0;
}
.mv_topics dl {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}
.mv_topics dt,
.mv_topics dd,
.mv_topics a {
	color: #fff;
	font-size: 1.5rem;
}
.mv_topics dt {
	margin-right: 1em;
}
.mv_topics dd {
	flex: 1 1 0%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
@media all and (min-width: 769px) {
	.mv_topics a:hover {
		text-decoration: underline;
	}
}
@media all and (max-width: 1280px) {
	.head_logo {
		max-width: 90px;
	}
}
@media all and (max-width: 1000px) {
	.mv_topics dt,
	.mv_topics dd,
	.mv_topics a {
		font-size: 1.3rem;
	}
	.mv_lead {
		font-size: 1.5rem;
	}
}
@media all and (max-width: 768px) {
	#mv {
		width: 100%;
		min-height: 100vh;
		min-height: calc(var(--vh, 1vh) * 100);
		position: relative;
		top: 0;
		left: 0;
		z-index: 1;
		padding-bottom: 0;
		overflow: hidden;
	}
	.mv_inner {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		overflow: hidden;
	}
	.mv_img {
		width: auto;
		height: auto;
		min-width: 100%;
		min-height: 100%;
		max-width: none;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		z-index: 0;
	}
	.mv_img .maxw {
		width: auto;
		height: auto;
		min-width: 100%;
		min-height: 100%;
		max-width: none;
	}
	.mv_topics {
		width: 100%;
	}
	.mv_lead {
		top: 25%;
		z-index: 2;
		line-height: 1.8;
	}
	.mv_topics {
		padding: 0.8em 1em;
	}
}

@media all and (max-width: 490px) {
	.mv_lead {
		font-size: 1.6rem;
	}
}
@media all and (max-width: 380px) {
	.mv_lead {
		font-size: 1.4rem;
	}
}
@media all and (max-width: 320px) {
	.mv_lead {
		font-size: 1.2rem;
	}
}

/* top_concept */
#top_concept {
	background: #F5F5F5;
	position: relative;
}
#top_concept::after {
	display: block;
	content: '';
	background: #EEEEEE;
	width: 100%;
	height: 50%;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
}
.top_concept_img {
	position: relative;
	z-index: 2;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
.top_concept_img1,
.top_concept_text {
	width: 62.36%;
}
.top_concept_img2 {
	width: 33.55%;
	position: relative;
}
.top_concept_img2 img {
	transform: translateY(40%);
}
.top_concept_body {
	position: relative;
	z-index: 2;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-align-items:flex-end;
	align-items: flex-end;
}
.top_concept_text {
	position: relative;
	z-index: 2;
	margin-top: -7rem;
}
.top_concept_title_en {
	font-size: 12rem;
	line-height: 1;
	color: #fff;
}
.top_concept_title_jp {
	font-size: 2.6rem;
	font-weight: 400;
	margin-top: 1rem;
}
.top_concept_text p {
	margin-top: 1em;
	line-height: 1.8;
}
@media all and (max-width: 1000px) {
	#top_concept::after {
		height: 70%;
	}
}
@media all and (max-width: 768px) {
	.top_concept_text {
		margin-top: -6rem;
		width: 100%;
	}
	.top_concept_more {
		width: 100%;
		text-align: right;
		margin-top: 3rem;
	}
}
@media all and (max-width: 500px) {
	.top_concept_img1 {
		width: 65%;
	}
	.top_concept_img2 {
		width: 30%;
	}
	.top_concept_img2 img {
		transform: translateY(60%);
	}
	.top_concept_title_en {
		font-size: 18vw;
	}
	.top_concept_text {
		margin-top: -9vw;
	}
	.top_concept_title_jp {
		font-size: 2rem;
	}
}
@media all and (max-width: 490px) {
	#top_concept::after {
		height: 70%;
	}
}

/* top_product */
.product_list {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}

.product_list_img {
	display: block;
	width: 100%;
	padding-top: 81.7307%;
	position: relative;
	overflow: hidden;
}
.product_list_img img {
	width: 100%;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	transition: transform 0.5s;
}
.product_list_item {
	display: block;
	width: 48%;
	max-width: 520px;
	margin-top: 4%;
}
.product_list.archive .product_list_item {
	margin-top: 60px;
}
.product_list.archive {
	margin-top: -60px;
}


.product_list_name {
	margin-top: 1em;
	font-size: 2.4rem;
	font-weight: 400;
	color: #333333;
	transition: color 0.5s;
}
.product_list_text {
	margin-top: 1em;
	padding-right: 40px;
	transition: color 0.5s;
}
.product_data {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}
.product_data dt {
	width: 5em;
	position: relative;
}
.product_data dt::after {
	display: block;
	content: '：';
	position: absolute;
	top: 0;
	right: 0;
}
.product_data dd {
	width: calc( 100% - 5em);
}
.product_list_item.arw_dark::after {
	bottom: 0;
	right: 0;
}
.top_product_more {
	margin-top: 90px;
	text-align: center;
}
@media all and (min-width: 769px) {
	.product_list_item:hover .product_list_name,
	.product_list_item:hover .product_list_text {
		color: #787F9B;
	}
	.product_list_item:hover .product_list_img img {
		transform:  translateX(-50%) translateY(-50%) scale(1.1);
	}
}
@media all and (max-width: 1200px) {
	.product_list_name {
		font-size: 2rem;
	}
	.product_list_text {
		font-size: 1.5rem;
	}
}
@media all and (max-width: 900px) {
	.product_list {
		width: 100%;
		max-width: 520px;
		margin: 0 auto;
	}
	.product_list_item {
		width: 100%;
		margin-top: 50px;
	}
	.top_product_more {
		margin-top: 60px;
	}
}
@media all and (max-width: 500px) {
	.product_list_name {
		font-size: 1.8rem;
	}
	.product_list_text {
		font-size: 1.4rem;
	}
}
@media all and (max-width: 400px) {
	.product_list_item {
		margin-top: 40px;
	}
	.top_product_more {
		margin-top: 50px;
	}
}



/* relation */
.relation {
	padding: 70px 0;
	background: #F2F2F2;
}
.relation_list {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
.relation_list::after {
	display: block;
	content: '';
	width: 32%;
	max-width: 345px;
	height: 1px;
}
.relation_item {
	position: relative;
	display: block;
	width: 32%;
	max-width: 345px;
	overflow: hidden;
}
.relation_item_inner {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	text-align: center;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(35,35,35,0.5);
	z-index: 2;
}
.relation_item_title {
	font-size: 2.4rem;
	font-family: 'Raleway', sans-serif;
	font-weight: 400;
	color: #fff;
}
.relation_item_cap {
	font-size: 1.4rem;
	color: #fff;
}
.relation_item_bg {
	position: relative;
	z-index: 1;
	overflow: hidden;
}
@media all and (min-width: 769px) {
	.relation_item_bg {
		overflow: hidden;
	}
	.relation_item_bg img {
		transition: transform 0.5s;
	}
	.relation_item:hover .relation_item_bg img {
		transform: scale(1.1);
	}
}
@media all and (max-width: 1100px) {
	.relation_item_title {
		font-size: 2rem;
	}
	.relation_item_cap {
		font-size: 1.2rem;
	}
}
@media all and (max-width: 768px) {
	.relation_list {
		display: block;
		max-width: 520px;
		margin: 0 auto;
	}
	.relation_item {
		width: 100%;
		max-width: none;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items:center;
		-webkit-flex-direction:row-reverse;
		flex-direction: row-reverse;
		align-items:center;
		background: #454545;
		margin-top: 10px;
	}
	.relation_list::after {
		display: none;
	}
	.relation_item:first-child {
		margin-top: 0;
	}
	.relation_item_bg {
		width: 30%;
	}
	.relation_item_inner {
		display: block;
		width: 70%;
		padding: 0 2em;
		position: relative;
		background: none;
		text-align: left;
	}
}
@media all and (max-width: 400px) {
	.relation {
		padding: 50px 0;
	}
	.relation_item_title {
		font-size: 1.8rem;
	}
	.relation_item_cap {
		font-size: 1rem;
	}
}
@media all and (max-width: 320px) {
	.relation_item_title {
		font-size: 1.6rem;
	}
	.relation_item_inner {
		padding: 0 1.5em;
	}
}

/* voice */
.voice_list {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
.voice_list::after {
	display: block;
	content: '';
	width: 32%;
	max-width: 345px;
	height: 1px;
}
.voice_list_item {
	display: block;
	width: 32%;
	max-width: 345px;
	margin-top: 4%;
	position: relative;
}
.voice_list.archive .voice_list_item {
	margin-top: 60px;
}
.voice_list_thumb {
	display: block;
	width: 100%;
	padding-top: 57.1428%;
	overflow: hidden;
	position: relative;
}
.voice_list_thumb img {
	width: 100%;
	height: auto;
	min-height: 100%;
	min-width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translateY(-50%) translateX(-50%);
	transition: transform 0.5s;
}
.voice_list_cat {
	display: block;
	width: 10em;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1;
	background: rgba(51,51,51,0.9);
	text-align: center;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 2;
	padding: 0.5em 0;
}
.voice_list_text {
	margin-top: 1.5rem;
	padding-bottom: 3em;
}
.voice_list_title {
	font-size: 1.6rem;
	font-weight: 400;
	margin-bottom: 1rem;
}
.voice_list_username {
	font-size: 1.4rem;
	color: #949494;
	margin-bottom: 1rem;
}
.voice_list_text a {
	position: absolute;
	bottom: 0;
	right: 0;
}
@media all and (min-width: 769px) {
	.voice_list_thumb:hover img {
		transform: translateY(-50%) translateX(-50%) scale(1.1);
	}
}
@media all and (max-width: 1100px) {
	.voice_list_title,
	.voice_list_text a {
		font-size: 1.4rem;
	}
	.voice_list_username,
	.voice_list_cat {
		font-size: 1.2rem;
	}
}
@media all and (max-width: 768px) {
	.voice_list {
		display: block;
		max-width: 520px;
		margin: 0 auto;
	}
	.voice_list_item {
		width: 100%;
		max-width: none;
		margin-top: 50px;
	}
	.voice_list::after {
		display: none;
	}
	.voice_list_text {
		padding-bottom: 0;
	}
	.voice_list_text a {
		position: relative;
		margin-top: 1.5rem;
	}
	.voice_list_title,
	.voice_list_text a {
		font-size: 1.6rem;
	}
	.voice_list_username,
	.voice_list_cat {
		font-size: 1.4rem;
	}
	.voice_list_more {
		text-align: right;
	}
}
@media all and (max-width: 400px) {
	.voice_list_item {
		margin-top: 40px;
	}
}
@media all and (max-width: 320px) {
	.voice_list_title,
	.voice_list_text a {
		font-size: 1.4rem;
	}
	.voice_list_username,
	.voice_list_cat {
		font-size: 1.2rem;
	}
}

/* for */
#for_sales {
	margin-top: 5%;
}
.for_salon_title,
.for_sales_title {
	padding: 3% 5%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-align-items:center;
	align-items:center;
}
.for_salon_title {
	background: #868686;
}
.for_sales_title {
	background: #4A4A4A;
}
.for_title_en {
	text-transform: uppercase;
	font-family: 'Raleway', sans-serif;
	font-weight: 400;
	font-size: 3rem;
	color: #fff;
	line-height: 1;
	margin-right: 1em;
}
.for_title_cap {
	color: #fff;
	font-size: 1.6rem;
}
.for_salon_body,
.for_sales_body {
	background-size: cover;
	background-position: center;
	position: relative;
	padding: 5%;
}
.for_salon_body::after,
.for_sales_body::after {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: rgba(35,35,35,0.6);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.for_salon_body {
	background-image: url("../img/forsalon_bg.jpg");
}
.for_sales_body {
	background-image: url("../img/forsales_bg.jpg");
}
.for_list {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	position: relative;
	z-index: 2;
}
.for_list_item {
	display: block;
	border: 1px solid #fff;
	padding: 5rem 0;
	text-align: center;
	width: 48%;
	max-width: 480px;
	background: rgba(255,255,255,0);
	transition: background 0.5s;
}
.for_list_item.nolink {
	cursor: default;
	opacity: 0.6;
}
.for_list_item.nolink::after {
	display: none;
}
.for_list_text_en {
	text-transform: uppercase;
	font-family: 'Raleway', sans-serif;
	font-weight: 400;
	font-size: 2.4rem;
	line-height: 1;
	color: #fff;
}
.for_list_text_cap {
	font-size: 1.4rem;
	color: #fff;
	margin-top: 0.5rem;
}
@media all and (min-width: 769px) {
	.for_list_item:not(.nolink):hover {
		background: rgba(255,255,255,0.1);
	}
}
@media all and (max-width: 1100px) {
	.for_title_en {
		font-size: 2.6rem;
	}
	.for_title_cap {
		font-size: 1.4rem;
	}
	.for_list_text_en {
		font-size: 2.2rem;
	}
	.for_list_text_cap {
		font-size: 1.2rem;
	}
}
@media all and (max-width: 768px) {
	#for_salon,
	#for_sales {
		width: 100%;
	}

	.for_salon_title,
	.for_sales_title {
		padding: 5%;
	}
	.for_salon_body,
	.for_sales_body {
		padding: 8% 5%;
	}
	.for_list {
		display: block;
		max-width: 520px;
		margin: 0 auto;
	}
	.for_list_item {
		width: 100%;
		max-width: none;
		margin-top: 3%;
	}
	.for_list_item:first-child {
		margin-top: 0;
	}
}
@media all and (max-width: 660px) {
	.for_salon_title,
	.for_sales_title {
		display: block;
	}
	.for_list_text_en {
		font-size: 2rem;
	}
	.for_title_cap {
		font-size: 1.2rem;
		margin-top: 0.3em;
	}
	.for_list_item {
		padding: 4rem 0;
	}
}
@media all and (max-width: 420px) {
	.for_title_en {
		font-size: 2rem;
	}
	.for_title_cap {
		font-size: 1.2rem;
	}
	.for_salon_title,
	.for_sales_title {
		padding: 5%;
	}
	.for_list_item {
		padding: 3rem 0;
	}
}
@media all and (max-width: 320px) {
	.for_title_en {
		font-size: 1.8rem;
	}
	.for_title_cap {
		font-size: 1.0rem;
	}
	.for_list_text_en {
		font-size: 1.8rem;
	}
	.for_list_text_cap {
		font-size: 1rem;
	}
}

/* top_aboutus */
.top_aboutus_inner {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-align-items:center;
	align-items:center;
}
.top_aboutus_body,
.top_aboutus_img {
	width: 48%;
	max-width: 520px;
}
.top_aboutus_title {
	text-align: left;
	margin-top: 1.5rem;
}
.top_aboutus_copy {
	font-family: 'Dynalight', serif;
	font-size: 9rem;
	color: #F2F2F2;
	line-height: 1;
}
.top_aboutus_text {
	margin-top: 1rem;
	line-height: 2;
}
.top_aboutus_more {
	margin-top: 3rem;
}
@media all and (max-width: 1280px) {
	.top_aboutus_copy {
		font-size: 7rem;
	}
}
@media all and (max-width: 1000px) {
	.top_aboutus_inner {
		-webkit-align-items: flex-start;
		align-items: flex-start;
	}
}
@media all and (max-width: 800px) {
	#top_aboutus {
		width: 100%;
	}
	.top_aboutus_body{
		width: 90%;
		margin: -3.5rem auto 0 auto;
		position: relative;
		z-index: 2;
		order: 1;
	}
	.top_aboutus_img {
		width: 100%;
		max-width: 100%;
		position: relative;
		z-index: 1;
	}
	.top_aboutus_more {
		text-align: right;
	}
}
@media all and (max-width: 400px) {
	.top_aboutus_copy {
		font-size: 5rem;
	}
	.top_aboutus_body{
		margin-top: -2.5rem;
	}
}

/* video */
#top_movie {
	background: #F2F2F2;
}
.top_movie_inner {
	padding: 5%;
}
.movie_wrap {
	width: 100%;
	padding-top: 56.25%;
	position: relative;
}
.movie_wrap video {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
video {
  filter: drop-shadow(0px 0px rgba(0,0,0,0));
  outline: none;
  border: none;
}
@media all and (max-width: 768px) {
	.top_movie_inner {
		width: 100%;
		padding: 0;
	}
}

/* top_news */
.top_news_inner {
	padding: 0 5%;
}
.top_news_list {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}
.top_news_title {
	padding-right: 5%;
	margin-right: 5%;
	text-align: center;
	border-right: 1px solid #DADADA;
}
.top_news_more {
	display: inline-block;
	width: 30px;
	height: 30px;
	position: relative;
	border: 1px solid #8D8EA1;
	margin-top: 1rem;
	transition: background 0.5s;
}
.top_news_more::before,
.top_news_more::after {
	display: block;
	content: '';
	width: 40%;
	height: 0.8px;
	background: #8D8EA1;
	position: absolute;
	top: 50%;
	left: 30%;
	transition: background 0.5s;
}
.top_news_more::after  {
	margin-top: -4px;
}
.top_news_more::before {
	margin-top: 4px;
}
.top_news_more .bar {
	display: block;
	width: 40%;
	height: 0.8px;
	text-indent: -9999px;
	overflow: hidden;
	background: #8D8EA1;
	position: absolute;
	top: 50%;
	left: 30%;
	transition: background 0.5s;
}
.top_news_body {
	-webkit-flex: 1 1 0%;
	flex: 1 1 0%;
}
.top_news_item {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	margin-top: 1.5rem;
}
.top_news_item:first-child {
	margin-top: 0;
}
.top_news_item dt {
	width: 7em;
}
.top_news_item dd {
	-webkit-flex: 1 1 0%;
	flex: 1 1 0%;
}
.top_news_item a {
	transition: color 0.5s;
}
@media all and (min-width: 769px) {
	.top_news_more:hover {
		background: #8D8EA1;
	}
	.top_news_more:hover .bar,
	.top_news_more:hover::after,
	.top_news_more:hover::before {
		background: #fff;
	}
	.top_news_item a:hover {
		color: #ccc;
	}
}
@media all and (max-width: 768px) {
	.top_news_inner {
		padding: 0;
	}
	.top_news_list {
		display: block;
	}
	.top_news_title {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content:space-between;
		justify-content:space-between;
		-webkit-align-items:center;
		align-items:center;
		width: 100%;
		padding: 0;
		margin: 0;
		border-right: 0;
		border-bottom: 1px solid #DADADA;
		padding-bottom: 2rem;
		margin-bottom: 2rem;
	}
	.top_news_more {
		margin-top: 0;
	}
}
@media all and (max-width: 500px) {
	.top_news_item dt {
		width: 100%;
		font-size: 80%;
	}
	.top_news_item dd {
		width: 100%;
		flex: none;
	}
	.top_news_item {
		margin-top: 2rem;
	}
}


/* insta */
#insta {
	padding: 0 5%;
}
.insta_inner {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
}
.insta_more,
.insta_photo_inc {
	width: 50%;
}
.insta_more {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	-webkit-align-items:center;
	align-items:center;
	-webkit-justify-content:center;
	justify-content:center;
	text-align: center;
	background: #333333;
}
.insta_more_btn .insta_title {
	display: block;
	font-family: 'Dynalight', cursive;
	font-size: 4.3rem;
	color: #DABD9D;
}
.insta_more_btn i {
	font-size: 5.8rem;
	color: #DABD9D;
}
@media all and (max-width: 768px) {
	#insta {
		width: 100%;
	}
	.insta_more_btn i {
		font-size: 4rem;
	}
	.insta_more_btn .insta_title {
		font-size: 3.6rem;
	}
}
@media all and (max-width: 640px) {
	#insta {
		padding: 0;
		background: none;
	}
	.insta_more,
	.insta_photo_inc {
		width: 100%;
	}
	.insta_more {
		padding: 8% 0;
	}
}
@media all and (max-width: 400px) {
	.insta_more_btn i {
		font-size: 3rem;
	}
	.insta_more_btn .insta_title {
		font-size: 2.8rem;
	}
}

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

下層タイトル

=======================================================*/
#second_title {
	width: 100%;
	height: 360px;
	background-image: url("../img/second_title_bg_wide.jpg");
	background-position: bottom center;
	background-repeat: no-repeat;
	position: relative;
}
.second_title_inner {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	-webkit-align-items:center;
	align-items:center;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	padding-top: 4%;
}
.second_title_main {
	font-family: 'Cormorant Garamond', serif;
	font-size: 6rem;
	line-height: 1;
	text-transform: uppercase;
	text-align: center;
}
.second_title_sub {
	font-family: 'Noto Serif JP', serif;
	font-size: 2rem;
	font-weight: 300;
	margin-top: 1em;
	line-height: 1.8;
	text-align: center;
}
@media all and (max-width: 1480px) {
	#second_title {
		height: auto;
		padding-top: 24.3243%;
		background-image: url("../img/second_title_bg.jpg");
		background-size: 100% auto;
	}
}
@media all and (max-width: 1000px) {
	.second_title_inner {
		padding-top: 4%;
	}
	.second_title_main {
		font-size: 4.6rem;
	}
	.second_title_sub {
		font-size: 1.6rem;
	}
}
@media all and (max-width: 768px) {
	#second_title {
		padding-top: 60%;
		background-image: url("../img/sp/second_title_bg.jpg");
	}
	.second_title_inner {
		-webkit-justify-content:center;
		justify-content:center;
	}
}
@media all and (max-width: 600px) {
	#second_title {
		padding-top: 85%;
	}
	.second_title_inner {
		padding-top: 8%;
	}
}
@media all and (max-width: 490px) {
	.second_title_main {
		font-size: 3.6rem;
	}
	.second_title_sub {
		font-size: 1.4rem;
		margin-top: 0.5em;
	}
}
@media all and (max-width: 320px) {
	.second_title_inner {
		padding-top: 12%;
	}
	.second_title_main {
		font-size: 3rem;
	}
	.second_title_sub {
		font-size: 1.2rem;
	}
}


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

パンくず

=======================================================*/
#pan_list {
	background: #F5F5F5;
	padding: 1rem 0;
}
#pan_list ul {
	display: -webkit-flex;
	display: flex;
}
#pan_list li {
	font-size: 1.2rem;
	line-height: 1.4;
}
#pan_list li.current {
	flex: 1 1 0%;
	overflow: hidden;
	color: #808F93;
}
#pan_list li.current .nowrap {
	display: inline-block;
	max-width: 100%;
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#pan_list li:not(.home) {
	position: relative;
	padding-left:2em;
}
#pan_list li:not(.home)::before {
	display: inline-block;
	content: '';
	width: 1em;
	height: 100%;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%224.499%22%20height%3D%228.001%22%20viewBox%3D%220%200%204.499%208.001%22%3E%20%3Cpath%20id%3D%22%E5%90%88%E4%BD%93_1%22%20data-name%3D%22%E5%90%88%E4%BD%93%201%22%20d%3D%22M-7749.854%2C368.853a.5.5%2C0%2C0%2C1%2C0-.706l3.146-3.147-3.146-3.147a.5.5%2C0%2C0%2C1%2C0-.706.5.5%2C0%2C0%2C1%2C.706%2C0l3.5%2C3.5a.5.5%2C0%2C0%2C1%2C.146.354.5.5%2C0%2C0%2C1-.146.354l-3.5%2C3.5a.492.492%2C0%2C0%2C1-.352.148A.493.493%2C0%2C0%2C1-7749.854%2C368.853Z%22%20transform%3D%22translate(7749.999%20-361)%22%20fill%3D%22%23707070%22%2F%3E%3C%2Fsvg%3E');
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0.6em;
}

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

投稿body

=======================================================*/
.post_body h2 {
	background: #2D2D2D;
	font-family: 'Noto Serif JP', serif;
	font-size: 2.4rem;
	font-weight: 300;
	color: #fff;
	padding: 0.5em 0.5em 0.5em 1.5em;
	position: relative;
}
.post_body h2::after {
	display: block;
	content: '';
	width: 1em;
	height: 0.8px;
	background: #fff;
	position: absolute;
	top: 1.2em;
	left: 0;
}
.post_body h3 {
	font-size: 2.4rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	padding: 0 0 0 0.6em;
	border-left: 3px solid #2D2D2D;
}

.post_body h4 {
	font-size: 2.2rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	padding: 0 0 0 1.5em;
	position: relative;
}
.post_body h4::after {
	display: block;
	content: '';
	width: 1em;
	height: 0.8px;
	background: #2D2D2D;
	position: absolute;
	top: 0.8em;
	left: 0;
}
.post_body h5 {
	font-size: 2.2rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}
.wp-block-columns {
	margin-bottom: 0 !important;
}
.post_body > *,
.wp-block-column > * {
	margin-top: 1em;
}
.post_body > div,
.post_body > h2,
.post_body > h3,
.post_body > .wp-block-table,
.post_body > .wp-block-separator,
.wp-block-column > div,
.wp-block-column > h2,
.wp-block-column > h3 {
	margin-top: 5%;
}
.post_body p {
	margin-top: 1.5em;
}
.post_body > *:first-child,
.wp-block-column > *:first-child{
	margin-top: 0;
}
.has-light-gray-color { color: #F5F5F5; }
.has-dark-gray-color { color: #6C6C6C; }
.has-black-gray-color { color: #333; }
.has-point-blue-color { color: #E1E9F0; }
.has-attention-red-color { color: #D72C2C; }
.has-nomal-white-color { color: #fff; }

.has-light-gray-background-color { background-color: #F5F5F5; }
.has-dark-gray-background-color { background-color: #6C6C6C; }
.has-black-gray-background-color { background-color: #333; }
.has-point-blue-background-color { background-color: #E1E9F0; }
.has-attention-red-background-color { background-color: #D72C2C; }
.has-nomal-white-color { background-color: #fff; }
.wp-block-column.has-background {
	padding: 1.5em;
}
.post_body ul {
	list-style: disc;
	margin-left: 1em;
}
.post_body p {
	line-height: 1.6;
}
.post_body img {
	max-width: 100%;
	height: auto;
}
.post_body .wp-block-table td,
.post_body .wp-block-table th {
	padding: 1em;
}
.wp-block-table:not(.is-style-stripes) table {
	border-collapse: separate;
	border-spacing: 0;
	border-right: 1px solid #ccc;
	border-top: 1px solid #ccc;
}
.wp-block-table:not(.is-style-stripes) td,
.wp-block-table:not(.is-style-stripes) th {
	border-left: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.wp-block-table.is-style-stripes table {
	border-bottom: 1px solid #f0f0f0;
}
.wp-block-table.is-style-stripes {
	border-bottom: 0;
}
figcaption {
	text-align: left;
	font-size: 85%;
	margin-top: 0.5em;
}
.wp-block-button__link {
	padding: 0.5em 2em;
	transition: opacity 0.5s;
}
.wp-block-separator {
	width: 100px;
}
.wp-block-separator.is-style-wide {
	width: 100%;
	border-top: 0;
	border-bottom: 1px solid #ccc;
}
.wp-block-separator.is-style-dots {
	width: 100%;
	border-top: 0;
	border-bottom: 1px dotted #ccc;
}
.wp-block-separator.is-style-dots:before {
	display: none;
}

@media (min-width: 782px){
	.wp-block-column:not(:first-child) {
		margin-left: 5% !important;
	}
	.wp-block-button__link:hover {
		opacity: 0.8;
	}
}
@media (min-width: 600px) and (max-width: 768px){
	.wp-block-column:not(:only-child) {
		flex-basis: 100% !important;
	}
	.wp-block-column:nth-child(2n) {
		margin-left: 0!important;
	}
}
@media all and (max-width: 768px) {
	.wp-block-column {
		margin-top: 5%;
	}
	.wp-block-column:first-child {
		margin-top: 0;
	}
	.wp-block-column.oreder_last {
		margin-top: 5%;
		order: 1;
	}
}

@media all and (max-width: 500px) {
	.post_body h2,
	.post_body h3 {
		font-size: 2rem;
	}
	.post_body h4,
	.post_body h5,
	.post_body h6 {
		font-size: 1.8rem;
	}
	.post_body .wp-block-table td,
	.post_body .wp-block-table th {
		padding: 0.6em;
	}
	.post_body > div,
	.post_body > h2,
	.post_body > h3,
	.wp-block-column > div,
	.wp-block-column > h2,
	.wp-block-column > h3 {
		margin-top: 8%;
	}
}
@media all and (max-width: 400px) {
	.post_body h2,
	.post_body h3 {
		font-size: 1.8rem;
	}
	.post_body h4,
	.post_body h5,
	.post_body h6 {
		font-size: 1.6rem;
	}
	.post_body .wp-block-table td,
	.post_body .wp-block-table th {
		padding: 0.6em;
	}
}

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

Flow用

=======================================================*/
.flow_sec_link {
	list-style: none;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	margin-top: 7%;
}
.flow_sec_link li {
	width: 48%;
	max-width: 525px;
}
.flow_sec_link a {
	display: block;
	padding: 1.5em 2em;
	border: 1px solid #333333;
	border-radius: 999px;
	text-align: center;
	position: relative;
	transition: border 0.5s, color 0.5s;
}
.flow_sec_link a::after {
	display: block;
	content: '';
	width: 1em;
	height: 100%;
	position: absolute;
	top: 0;
	right: 1em;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.334%22%20height%3D%225.666%22%20viewBox%3D%220%200%2010.334%205.666%22%3E%20%3Cpath%20d%3D%22M-6195.187%2C5.521l-4.667-4.666A.5.5%2C0%2C0%2C1-6200%2C.5a.5.5%2C0%2C0%2C1%2C.146-.353.5.5%2C0%2C0%2C1%2C.707%2C0l4.314%2C4.313%2C4.314-4.313a.5.5%2C0%2C0%2C1%2C.706%2C0%2C.5.5%2C0%2C0%2C1%2C0%2C.708l-4.666%2C4.666a.5.5%2C0%2C0%2C1-.354.146A.5.5%2C0%2C0%2C1-6195.187%2C5.521Z%22%20transform%3D%22translate(6200%200)%22%20fill%3D%22%232d2d2d%22%2F%3E%3C%2Fsvg%3E');
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 0.5s;
}
.flow_chart {
	list-style: none;
	margin:3% 0 0 0;
}
.flow_chart li {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	border: 3px solid #E1E9F0;
	position: relative;
	min-height: 8rem;
	margin-top: 1.5rem;
}
.flow_chart li::after {
	display: block;
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 23px 32.5px 0 32.5px;
	border-color: #E1E9F0 transparent transparent transparent;
	position: absolute;
	top: calc( 100% + 3px );
	left: 50%;
	transform: translateX(-50%);
}
.flow_chart li:first-child {
	margin-top: 0;
}
.flow_chart li:last-child::after {
	display: none;
}
.flow_num {
	font-size: 8rem;
	color: #E1E9F0;
	font-family: 'Dynalight', serif;
	line-height: 0;
	margin: 0 !important;
	position: absolute;
	top: 50%;
	left: 2rem;
	transform: translateY(-50%);
}
.flow_text {
	width: 100%;
	height: 100%;
	padding: 1em 3em;
	text-align: center;
	margin: 0 !important;
	font-size: 2rem;
}
.flow_text.t-l {
	padding: 1em 1em 1em 3.5em;
}
@media all and (min-width: 769px) {
	.flow_sec_link a:hover {
		border: 1px solid #787F9B;
		color: #787F9B;
	}
	.flow_sec_link a:hover::after {
		transform: translateY(5px);
	}
}
@media all and (max-width: 1000px) {
	.flow_text {
		font-size: 1.8rem;
	}
}
@media all and (max-width: 768px) {
	.flow_sec_link a {
		padding: 1em 2em;
	}
}
@media all and (max-width: 600px) {
	.flow_sec_link li {
		width: 100%;
		margin-top: 1rem;
	}
	.flow_chart li {
		min-height: 6rem;
	}
	.flow_num {
		font-size: 6rem;
	}
	.flow_text {
		font-size: 1.6rem;
	}
}
@media all and (max-width: 450px) {
	.flow_num {
		font-size: 5rem;
		left: 1rem;
	}
	.flow_chart li {
		min-height: 5rem;
		margin-top: 1rem;
		border: 2px solid #E1E9F0;
	}
	.flow_chart li::after {
		border-width: 16px 22.5px 0 22.5px;
		top: calc( 100% + 2px );
	}
	.flow_text {
		padding: 1em 2em;
	}
	.flow_text.t-l {
		padding: 1em 1em 1em 2.5em;
	}
}
@media all and (max-width: 400px) {
	.flow_num {
		font-size: 4rem;
	}
	.flow_chart li {
		min-height: 4rem;
	}
	.flow_text {
		font-size: 1.4rem;
	}
}

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

For salon / sales

=======================================================*/
.for_merit {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-align-items:center;
	align-items:center;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.for_merit_img,
.for_merit_body {
	width: 48%;
	max-width: 520px;
}
.bg_gray .for_merit {
	-webkit-flex-direction: row;
	flex-direction: row;
}
.for_merit_body {
	overflow: hidden;
}
.for_merit_num {
	display: inline-block;
	position: relative;
	color: #ACACAC;
	padding-right: 1em;
	margin-bottom: 1.5rem;
}
.for_merit_num::after {
	display: block;
	content: '';
	width: 1000px;
	height: 0.8px;
	background: #ACACAC;
	position: absolute;
	left: 100%;
	top: 50%;
}
.for_merit_title {
	font-size: 2.2rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	margin-bottom: 1.5rem;
}
.for_merit_text {
	line-height: 1.8;
}
@media all and (max-width: 1000px) {
	.for_merit {
		-webkit-align-items: flex-start;
		align-items: flex-start;
	}
	.for_merit_img {
		width: 40%;
	}
	.for_merit_body {
		width: 55%;
	}
	.for_merit_num {
		font-size: 1.4rem;
	}
	.for_merit_title {
		font-size: 2rem;
	}
	.for_merit_text {
		font-size: 1.4rem;
	}
}
@media all and (max-width: 768px) {
	.for_merit {
		display: block;
		max-width: 520px;
	}
	.for_merit_img {
		width: 100%;
	}
	.for_merit_body {
		width: 100%;
		margin-top: 1.5rem;
	}
}
@media all and (max-width: 450px) {
	.for_merit_title {
		font-size: 1.8rem;
	}
}


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

下層用Voice導線

=======================================================*/
#users_voice {
	border-top: 1px solid #C9C9C9;
}
.voice_list_mini {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	margin-top: 60px;
}
.voice_list_mini_itm {
	width: 49%;
	max-width: 530px;
	background-position: center;
	background-size: auto 100%;
	transition: background 0.5s;
}
.voice_list_mini_itm.salon {
	background-image: url("../img/forsalon_bg.jpg");
}
.voice_list_mini_itm.sales {
	background-image: url("../img/forsales_bg.jpg");
}
.voice_list_mini_itm a {
	display: block;
	width: 100%;
	padding-top: 50.9433%;
	position: relative;
	background-color: rgba(0,0,0,0.6);
	color: #fff;
}
.voice_list_mini_itm.nolink a {
	cursor: default;
	color: #888;
}
.voice_list_mini_itm.nolink .voice_list_mini_itm_inner::after {
	display: none;
}
.voice_list_mini_itm_inner {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	text-align: center;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.voice_list_mini_title {
	text-transform: uppercase;
	font-family: 'Raleway', sans-serif;
	font-weight: 400;
	font-size: 2.4rem;
	line-height: 1;
}
.voice_list_mini_text {
	font-size: 1.4rem;
	margin-top: 0.5em;
}
@media all and (min-width: 769px) {
	.voice_list_mini_itm:not(.nolink):hover {
		background-size: auto 105%;
	}
}
@media all and (max-width: 1100px) {
	.voice_list_mini {
		margin-top: 40px;
	}
	.voice_list_mini_title {
		font-size: 2rem;
	}
	.voice_list_mini_text {
		font-size: 1.2rem;
	}
}
@media all and (max-width: 768px) {
	.voice_list_mini {
		max-width: 520px;
		margin: 30px auto 0 auto;
	}
	.voice_list_mini_itm {
		width: 100%;
		max-width: none;
		margin-top: 10px;
	}
	.voice_list_mini_itm a {
		padding-top: 35%;
	}
}
@media all and (max-width: 400px) {
	.voice_list_mini {
		margin-top: 15px;
	}
	.voice_list_mini_title {
		font-size: 1.8rem;
	}
	.voice_list_mini_text {
		font-size: 1rem;
	}
}

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

Company用

=======================================================*/
.company_lead {
	position: relative;
	padding-bottom: 0;
}
.company_lead::after {
	display: block;
	content: '';
	width: 100%;
	height: 60%;
	background: #F5F5F5;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.company_lead_inner {
	padding: 8%;
	background: url("../img/company_lead_bg.jpg") center no-repeat;
	background-size: cover;
}
.company_lead_text {
	background: rgba(0,0,0,0.5);
	padding: 8% 0;
	color: #fff;
	text-align: center;
}
.company_lead_title {
	font-family: 'Dynalight', serif;
	font-size: 8rem;
	line-height: 1;
	margin-bottom: 3rem;
}
.company_lead_text p {
	line-height: 2.5;
	font-size: 1.8rem;
}
.company_link {
	padding: 8% 0;
	text-align: center;
}
.company_link .sprit {
	display: inline-block;
	padding: 0 0.8em;
}
@media all and (min-width: 769px) {
	.company_link a:hover {
		color: #787F9B;
		text-decoration: underline;
	}
}
@media all and (max-width: 1100px) {
	.company_lead_inner {
		padding: 5%;
	}
	.company_lead_title {
		font-size: 7rem;
	}
	.company_lead_text p {
		font-size: 1.6rem;
	}
}
@media all and (max-width: 900px) {
	.company_lead_text {
		padding: 8%;
	}
	.company_lead_text p {
		text-align: left;
	}
	.company_lead_text p br {
		display: none;
	}
}
@media all and (max-width: 768px) {
	.company_lead_title {
		font-size: 5rem;
		margin-bottom: 1.5rem;
	}
	.company_lead_text p {
		font-size: 1.4rem;
		line-height: 2;
	}
}
@media all and (max-width: 500px) {
	.company_lead_inner {
		padding: 4%;
	}
}
@media all and (max-width: 420px) {
	.company_lead_title {
		font-size: 4rem;
	}
}

.company_sec_wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
.company_sec_title {
	width: 40%;
	max-width: 250px;
	margin-right: 5%;
}
.company_sec_title .en-title {
	text-align: left;
}
.company_sec_body {
	-webkit-flex: 1 1 0%;
	flex: 1 1 0%;
}
.summary dl {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	margin-top: -2em;
}
.summary dt,
.summary dd {
	padding-top: 2em;
	padding-bottom: 2em;
}
.summary dt {
	width: 30%;
	padding-right: 1em;
	border-bottom: 1px solid #868686;
}
.summary dd {
	width: 70%;
	padding-left: 1em;
	border-bottom: 1px solid #DFDFDF;
}
.googlemap {
	width: 100%;
	padding-top: 70%;
	position: relative;
}
.googlemap iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.access_cap_wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	margin-top: 3rem;
}

@media all and (max-width: 1000px) {
	.company_sec_wrap {
		display: block;
	}
	.company_sec_title {
		width: 100%;
		max-width: none;
	}
	.company_sec_title .en-title {
		text-align: center;
	}
	.company_sec_body {
		width: 100%;
		flex: none;
		margin-top: 50px;
	}
	.summary dl {
		margin-top: -1em;
	}
}
@media all and (max-width: 600px) {
	.company_sec_body {
		margin-top: 40px;
	}
	.summary dl {
		margin-top: -1.5em;
	}
	.summary dt,
	.summary dd {
		padding-top: 1.5em;
		padding-bottom: 1.5em;
	}
	.googlemap {
		padding-top: 100%;
	}
	.access_cap_wrap {
		display: block;
	}
	.access_more {
		text-align: right;
		margin-top: 1em;
	}
}

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

VOICE下層

=======================================================*/
.voice_category_link {
	margin-top: 5%;
	text-align: right;
}
.voice_category_link select {
	padding: 0.5em;
	font-size: 1.6rem;
}

.client_data_wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	margin-bottom: 110px;
}
.voice_single_title {
	margin-bottom: 110px;
}
.client_ph {
	width: auto;
	max-width: 40%;
	margin-right: 5%;
}
.client_ph img {
	width: auto;
	max-width: 100%;
}
.client_textbox {
	-webkit-flex: 1 1 0%;
	flex: 1 1 0%;
}
.voice_title {
	font-size: 2.4rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}
.client_data {
	margin-top: 2rem;
}
.client_name {
	font-weight: 400;
	padding-left: 0.5em;
	border-left: 3px solid #202020;
}
.client_data p {
	margin-top: 1em;
	line-height: 1.6;
}
.client_site {
	margin-top: 1.5rem;
}
.client_site a {
	display: inline-block;
	font-size: 75%;
	padding: 0.2em 2em;
	border-radius: 99px;
	background: #2D2D2D;
	color: #fff;
	position: relative;
	transition: background 0.5s;
}
.client_site a::after {
	display: block;
	content: '';
	width: 0.5em;
	height: 0.8px;
	background: #fff;
	position: absolute;
	top: 50%;
	right: 0.8em;
	transition: transform 0.5s;
}
@media all and (min-width: 769px) {
	.client_site a:hover {
		background: #636363;
	}
	.client_site a:hover::after {
		transform: translateX(5px);
	}
}
@media all and (max-width: 1280px) {
	.client_data p {
		font-size: 1.4rem;
	}
}
@media all and (max-width: 768px) {
	.client_data_wrap {
		display: block;
		margin-bottom: 60px;
	}
	.voice_single_title {
		margin-bottom: 60px;
	}
	.client_ph {
		width: 100%;
		max-width: 520px;
		margin: 0 auto;
		text-align: center;
	}
	.client_ph img {
		width: auto;
	}
	.client_textbox {
		flex: none;
		width: 100%;
		margin-top: 30px;
	}
}
@media all and (max-width: 500px) {
	.voice_title {
		font-size: 2rem;
	}
	.client_name {
		font-size: 1.4rem;
	}
	.client_data p {
		font-size: 1.2rem;
	}
}

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

プロダクト下層

=======================================================*/
.product_main_body {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
.product_gallery,
.product_detail {
	width: 47.5%;
}
.product_gallery_thumb {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
.product_gallery_thumb li {
	width: 23%;
	margin-top: 3%;
	position: relative;
}
.product_gallery_thumb::after,
.product_gallery_thumb::before {
	display: block;
	content: '';
	width: 23%;
	height: 1px;
	order: 1;
}
.product_gallery_thumb img {
	position: relative;
	z-index: 1;
}
.product_gallery_thumb span {
	display: block;
	position: relative;
	cursor: pointer;
}
.product_gallery_thumb .current {
	cursor: default;
}
.product_gallery_thumb span::before {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	position: absolute;
	top: 0;
	left: 0;
	transition: background 0.5s;
	z-index: 2;
}
.product_gallery_thumb .current::before {
	background: rgba(0,0,0,0);
}
.product_name {
	font-size: 3rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	display: block;
	padding: 1em 0 1.5em 0;
	position: relative;
}
.product_name::before {
	display: block;
	content: '';
	width: 3em;
	height: 3px;
	background: #5E5E5E;
	position: absolute;
	top: 0;
	left: 0;
}
.product_text {
	margin-bottom: 3rem;
}
.product_text p {
	margin-top: 1em;
	line-height: 1.8;
}
.product_text p:first-child {
	margin-top: 0;
}
.product_main_body .product_data {
	border: 1px solid #e5e5e5;
	padding: 1.5em;
}
.back_archive {
	padding: 60px 0;
}
#product_main + .back_archive {
	padding: 0 0 60px 0;
}
.product_point_item {
	text-align: left;
	margin-top: 60px;
}
.product_point_item:first-child {
	margin-top: 0;
}
.product_point_item_img {
	width: 100%;
	text-align: right;
}

.product_point_item_img img {
	width: 60%;
	max-width: 100%;
}
.product_point_item_body {
	display: inline-block;
	width: 60%;
	padding: 5rem;
	margin-top: -15%;
	background: #fff;
	position: relative;
	text-align: left;
}
.product_point_label {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 5rem;
	text-align: center;
	transform: translateY(-70%);
}

.product_point_label_text {
	font-weight: 400;
	color: #ACACAC;
}
.product_point_label_num {
	font-size: 5rem;
	font-weight: 400;
	color: #ACACAC;
	line-height: 1;
}
.product_point_midashi {
	font-size: 2.4rem;
	font-weight: 600;
	font-family: 'Noto Serif JP', serif;
}
.product_point_item_text p {
	margin-top: 1em;
	line-height: 1.6;
}
.product_point_item_text > *:first-child {
	margin-top: 0;
}

@media all and (min-width: 769px) {
	.product_gallery_thumb span:not(.current):hover::before {
		background: rgba(0,0,0,0.3);
	}
	.product_point_item:nth-child( 2n ) .product_point_item_img {
		text-align: left;
	}
	.product_point_item:nth-child( 2n ) .product_point_label {
		left: auto;
		right: 5rem;
	}
	.product_point_item:nth-child( 2n ) {
		text-align: right;
	}
}
@media all and (max-width: 1000px) {
	.product_name {
		font-size: 2.6rem;
	}
	.product_point_item_body {
		padding: 4rem;
	}
	.product_point_label {
		left: 4rem;
	}
	.product_point_midashi {
		font-size: 2.2rem;
	}
}
@media all and (max-width: 768px) {
	.product_main_body {
		display: block;
		max-width: 520px;
	}
	.product_gallery,
	.product_detail {
		width: 100%;
	}
	.product_detail {
		margin-top: 6rem;
	}
	.product_point_item_img img {
		width: 100%;
	}
	.product_point_item_body {
		width: 100%;
		margin-top: 0;
	}
}
@media all and (max-width: 600px) {
	.product_name {
		font-size: 2.2rem;
	}
}
@media all and (max-width: 500px) {
	.product_point_item_body {
		padding: 3rem;
	}
	.product_point_item {
		margin-top: 3rem;
	}
	.product_point_label {
		left: 3rem;
	}
	.product_point_midashi {
		font-size: 2rem;
	}
	.product_point_label_text {
		font-size: 1.4rem;
	}
	.product_point_label_num {
		font-size: 4rem;
	}
}
@media all and (max-width: 420px) {
	.product_name {
		font-size: 2rem;
	}
}
@media all and (max-width: 350px) {
	.product_point_item_body {
		padding: 2rem;
	}
	.product_point_label {
		left: 2rem;
	}
	.product_point_midashi {
		font-size: 1.8rem;
	}
	.product_point_label_text {
		font-size: 1.2rem;
	}
	.product_point_label_num {
		font-size: 3rem;
	}
}

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

テクノロジー下層

=======================================================*/
#technology_flow {
	border-top: 1px solid #e5e5e5;
}
#technology_flow .flow_chart {
	margin-top: 60px;
}
.technology_title {
	margin-bottom: 60px;
}
.technology_about_body,
.technology_flow_body {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
.technology_about_img,
.technology_flow_img {
	width: 35%;
}
.technology_about_text,
.technology_flow_text {
	width: 60%;
}
.technology_midashi {
	font-size: 2rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	margin-bottom: 1.5rem;
}
.technology_about_text p,
.technology_flow_text p {
	margin-top: 1.5em;
}
.technology_about_text p:first-child,
.technology_flow_text p:first-child {
	margin-top: 0;
}

.technology_flow_item li {
	padding-left: 1em;
	position: relative;
	margin-top: 0.5em;
}
.technology_flow_item li:first-child {
	margin-top: 0;
}
.technology_flow_item li::before {
	display: inline-block;
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
@media all and (max-width: 1000px) {
	.technology_midashi {
		font-size: 1.8rem;
	}
}
@media all and (max-width: 700px) {
	.technology_about_body,
	.technology_flow_body {
		display: block;
	}
	.technology_about_img,
	.technology_flow_img {
		width: 100%;
	}
	.technology_about_text,
	.technology_flow_text {
		width: 100%;
		margin-top: 3rem;
	}
}
@media all and (max-width: 450px) {
	#technology_flow .flow_chart {
		margin-top: 30px;
	}
	.technology_title {
		margin-bottom: 30px;
	}
	.technology_midashi {
		font-size: 1.6rem;
	}
}

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

NEWS下層

=======================================================*/
.news_archive_wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
.news_main {
	width: calc( 95% - 250px);
}
.news_sidebar {
	width: 250px;
	margin-left: 5%;
}
.news_item {
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid #efefef;
}
.news_item a {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.news_thumb {
	width: 30%;
	margin-right: 2rem;
	position: relative;
	overflow: hidden;
}
.news_thumb_size {
	display: block;
	width: 100%;
	padding-top: 65%;
	background: #efefef;
}
.news_thumb img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	transition: transform 0.5s;
}
.news_ex {
	-webkit-flex: 1 1 0%;
	flex: 1 1 0%;
	padding-bottom: 3rem;
}
.news_list_date {
	display: inline-block;
	padding-right: 1em;
	color: #7B7B7B;
	margin-bottom: 1rem;
}
.news_list_ctg {
	display: inline-block;
}
.news_list_ctg li {
	display: inline-block;
	font-size: 80%;
	line-height: 1;
	padding: 0.2em 1em;
	border: 1px solid #ccc;
}
.news_list_title {
	font-weight: 400;
	font-size: 1.8rem;
	transition: color 0.5s;
}
.news_item .arw_dark::after {
	bottom: 0;
	right: 0;
}
.news_header {
	margin-bottom: 30px;
}
.news_main_title {
	font-size: 3rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	line-height: 1.25;
}
.news_eyecatch {
	margin-top: 30px;
}
.news_main .boder_on {
	border-top: 2px solid #e5e5e5;
	padding-top: 3rem;
}
@media all and (min-width: 769px) {
	.news_item a:hover .news_thumb img {
		transform: translateX(-50%) translateY(-50%) scale(1.1);
	}
	.news_item a:hover .news_list_title {
		color: #787F9B;
	}
}
@media all and (max-width: 1100px) {
	.news_main {
		width: calc( 95% - 200px);
	}
	.news_sidebar {
		width: 200px;
	}
	.news_main_title {
		font-size: 2.6rem;
	}
	.news_list_title {
		font-size: 1.6rem;
	}
	.news_list_date,
	.news_list_ctg {
		font-size: 1.4rem;
	}
	.news_item .arw_dark::after {
		width: 24px;
		height: 24px;
	}
}
@media all and (max-width: 768px) {
	.news_main {
		width: 100%;
	}
	.news_sidebar {
		width: 100%;
		margin: 8% 0 0 0;
	}
}
@media all and (max-width: 500px) {
	.news_main_title {
		font-size: 2.2rem;
	}
	.news_header {
		margin-bottom: 20px;
	}
	.news_eyecatch {
		margin-top: 20px;
	}
	.news_item {
		padding-bottom: 1rem;
		margin-bottom: 1.5rem;
	}
	.news_ex {
		padding-bottom: 2.4rem;
	}
}

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

記事ナビゲーション

=======================================================*/
.post_footer {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	padding: 1em 0;
	border-top: 1px solid #e5e5e5;
	margin-top: 100px;
}
.previous_post_link,
.archive_list_back,
.next_post_link {
	width: 33%;
}
.post_footer a {
	transition: color 0.5s;
}
.post_footer a i {
	color: #ccc;
}
.previous_post_link {
	text-align: left;
}
.archive_list_back {
	text-align: center;
}
.next_post_link {
	text-align: right;
}
@media all and (min-width: 769px) {
	.post_footer a:hover {
		color: #787F9B;
	}
	.post_footer a:hover  i {
		color: #787F9B;
	}
}
@media all and (max-width: 768px) {
	.post_footer {
		margin-top: 60px;
	}
}
@media all and (max-width: 400px) {
	.post_footer {
		margin-top: 40px;
	}
}

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

サイドバー

=======================================================*/
.sidebar {
	margin-top: 3rem;
}
.sidebar:first-child {
	margin-top: 0;
}
.sidebar_title {
	background: #333333;
	color: #fff;
	padding: 0.6em;
}
.sidebar_link_list li {
	border-bottom: 1px solid #efefef;
}
.sidebar_link_list a {
	display: block;
	padding: 1em;
	position: relative;
	transition: background 0.5s;
}
.sidebar_link_list a::before {
	width: 0.5em;
	height: 0.8px;
	display: block;
	content: '';
	background: #333;
	position: absolute;
	top: 50%;
	left: 0;
}
@media all and (min-width: 769px) {
	.sidebar_link_list a:hover {
		background: #efefef;
	}
}
@media all and (max-width: 1100px) {
	.sidebar_title,
	.sidebar_link_list a {
		font-size: 1.4rem;
	}
}

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

WP-Pagenav

=======================================================*/
.wp-pagenavi {
	margin-top: 5%;
	text-align: center;
}
.wp-pagenavi span,
.wp-pagenavi a {
	display: inline-block;
	line-height: 1;
	font-size: 1.4rem;
	margin: 2.5px;
}
.wp-pagenavi a {
	border: 1px solid #ccc;
	padding: 0.3em 0.5em;
	transition: background 0.5s, border 0.5s;
}
.wp-pagenavi .current {
	background: #333;
	border: 1px solid #333;
	padding: 0.3em 0.5em;
	color: #fff;
}
@media all and (min-width: 769px) {
	.wp-pagenavi a:hover {
		background: #C3D2DF;
		border: 1px solid #C3D2DF;
	}
}

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

フォーム用スタイル

=======================================================*/
.form_wrap {
	width: 100%;
	background: #F8F8F8;
	border: 3px solid #E8E8E8;
	padding: 5%;
}
.form_wrap_inner {
	margin-top: 0 !important;
}
.form_wrap dl {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	margin-top: 3rem;
}
.form_wrap dl:first-child {
	margin-top: 0;
}
.form_wrap dt {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-align-items:center;
	align-items:center;
	width: 30%;
	font-weight: 600;
}
.form_wrap dt .req,
.form_wrap dt .any {
	display: inline-block;
	font-size: 68%;
	font-weight: 400;
	color: #fff;
	background: #666;
	line-height: 1;
	padding: 0.5em;
	margin-right: 1em;
}
.form_wrap dt .req {
	background: rgba(192,14,17,1.00);
}
.form_wrap dd {
	width: 65%;
}
.form_wrap dd > *:first-child {
	margin-top: 0;
}
.form_wrap .wpcf7-list-item {
	display: table;
	margin-left: 0;
	margin-top: 0.5em;
}
.form_wrap dd label {
	cursor: pointer;
}
.form_wrap input[type="text"],
.form_wrap input[type="email"],
.form_wrap button,
.form_wrap textarea,
.form_send input {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.form_send input[type="submit"]::-webkit-search-decoration,
.form_send input[type="button"]::-webkit-search-decoration {
  display: none;
}
.form_send input[type="submit"]::focus,
.form_send input[type="button"]::focus {
  outline-offset: -2px;
}
.form_wrap input[type="text"],
.form_wrap input[type="email"],
.form_wrap textarea {
	width: 100%;
	border-radius: 5px;
	border: 2px solid #ccc;
	padding: 0.5em;
	font-size: 1.6rem;
	background: #fff;
}
.form_wrap select {
	width: 350px;
	max-width: 100%;
	border-radius: 5px;
	border: 2px solid #ccc;
	padding: 0.5em;
	font-size: 1.6rem;
	position: relative;
}
.form_att p {
	font-size: 1.4rem;
	text-align: center;
}
.send_conf, .form_send {
	text-align: center;
	margin-top: 3rem;
}
.send_conf .wpcf7-list-item {
	margin: 0 auto;
}
.form_send input[type="submit"] {
	display: block;
	background: #2D2D2D;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	width: 300px;
	max-width: 100%;
	margin: 0 auto;
	padding: 1em 0;
	border: 0;
	border-radius: 99px;
	cursor: pointer;
}
.form_send input[type="submit"]:hover {
	opacity: 0.8;
}
.recap_att p {
	font-size: 1.2rem;
}
@media all and (max-width: 850px) {
	.form_wrap dl {
		display: block;
	}
	.form_wrap dt {
		width: 100%;
	}
	.form_wrap dd {
		width: 100%;
		margin-top: 1rem;
	}
}
@media all and (max-width: 600px) {
	.form_att p {
		text-align: left;
	}
	.form_att .sp_none {
		display: none;
	}
}
@media all and (max-width: 500px) {
	.form_wrap dt {
		font-size: 1.6rem;
	}
}


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

フッター

=======================================================*/
footer {
	background: #333333;
	color: #fff;
}
.ft_access_wrap {
	padding: 5% 0;
}
.ft_access_inner {
	text-align: center;
}
.ft_access_logo {
	width: 25%;
	max-width: 130px;
	margin: 0 auto;
}
.ft_access_logo .logo_parts {
	fill: #fff;
}
.ft_access_text {
	margin-top: 2rem;
	font-size: 1.4rem;
}
.ft_access_tel {
	display: inline-block;
	font-size: 4rem;
	font-weight: 300;
	line-height: 1;
	margin-top: 2rem;
	color: #fff;
}
.ft_access_tel i {
	transform: scale(0.8);
}
.ft_access_opentime {
	font-size: 1.2rem;
	margin-top: 1em;
}
.ft_sitemap {
	background: #6C6C6C;
	padding: 5% 0;
}
.ft_sitemap a {
	color: #fff;
}
.ft_sitemap_inner {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
.ft_sitemap1,
.ft_sitemap2,
.ft_sitemap3 {
	width: 32%;
	max-width: 350px;
}
.parent_link > li > a {
	display: block;
	padding: 0.8em 0 0.8em 1em;
	border-bottom: 1px solid #515151;
	position: relative;
	transition: border 0.5s;
}
.parent_link > li > a::before {
	display: block;
	content: '';
	width: 1rem;
	height: 1em;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%224.499%22%20height%3D%228.001%22%20viewBox%3D%220%200%204.499%208.001%22%3E%20%3Cpath%20id%3D%22%E5%90%88%E4%BD%93_1%22%20data-name%3D%22%E5%90%88%E4%BD%93%201%22%20d%3D%22M-7749.854%2C368.853a.5.5%2C0%2C0%2C1%2C0-.706l3.146-3.147-3.146-3.147a.5.5%2C0%2C0%2C1%2C0-.706.5.5%2C0%2C0%2C1%2C.706%2C0l3.5%2C3.5a.5.5%2C0%2C0%2C1%2C.146.354.5.5%2C0%2C0%2C1-.146.354l-3.5%2C3.5a.492.492%2C0%2C0%2C1-.352.148A.493.493%2C0%2C0%2C1-7749.854%2C368.853Z%22%20transform%3D%22translate(7749.999%20-361)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E');
	background-position: center left;
	background-repeat: no-repeat;
	position: absolute;
	top: 1em;
	left: 0;
}
.sub-menu {
	padding: 1rem 0 2rem 1.5rem;
}
.sub-menu li {
	margin-top: 1rem;
}
.sub-menu li:first-child {
	margin-top: 0;
}
.sub-menu li a {
	font-size: 1.4rem;
}
.copyright {
	text-align: center;
	font-size: 1.2rem;
	padding: 1.5rem 0;
}
@media all and (min-width: 768px) {
	.parent_link > li > a:hover {
		border-bottom: 1px solid #fff;
	}
	.sub-menu li a:hover {
		text-decoration: underline;
	}
}
@media all and (max-width: 1000px) {
	.parent_link > li > a {
		font-size: 1.4rem;
		padding: 1em 0 1em 1em;
	}
	.parent_link > li > a::before {
		top: 1.2em;
	}
	.sub-menu li a {
		font-size: 1.2rem;
	}
}
@media all and (max-width: 600px) {
	.ft_access_wrap {
		padding: 8% 0;
	}
	.ft_sitemap1,
	.ft_sitemap2,
	.ft_sitemap3 {
		width: 100%;
		max-width: 520px;
		margin: 0 auto;
	}
}
@media all and (max-width: 500px) {
	.ft_access_text {
		font-size: 1.2rem;
	}
	.ft_access_tel {
		font-size: 3rem;
	}
	.ft_access_opentime {
		font-size: 1rem;
	}
}
@media all and (max-width: 320px) {
	.ft_access_tel {
		font-size: 2.4rem;
	}
}

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

調整用クラス

=======================================================*/
/* text */
.t-c { text-align: center; }
.t-l { text-align: left; }
.t-r { text-align: right; }