@charset "utf-8";

/* ----------------------
		reset
---------------------- */
body, div,
dl, dt, dd, ul, li,
h1, h2, h3, h4, h5, h6,
figure, pre, form, fieldset, textarea, p, blockquote, th ,td {
	margin: 0;
	padding: 0;
}

ul{
	list-style-type: none;
}

table {
	line-height: 1.6;
	border: 0px;
	border-collapse:collapse;
	font-size: 1em;
}

table th {
	font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	line-height: 1.4;
	font-weight: normal;
}

input {
	vertical-align: middle;
	margin: 0;
	padding: 0;
	border-radius: 0;
}

p {
	line-height: 1.5;
}

em {
	font-style: normal;
}

img {
	border: none;
	vertical-align: bottom;
}

address {
	font-style:normal;
}

ul li {
	line-height: 1.4;
}

*,*::before,*::after{
	box-sizing: border-box;
}

button {
	border: none;
	background: none;
	cursor: pointer;
	padding: 0;
	margin: 0;
}

main {
	display: block;
}

.fit {
	width: 100%;
	height: auto;
}

/* ----------------------
		common
---------------------- */

html {
    font-size: 62.5%;
}

body  {
	font-size: 1.6rem;
	line-height: 1;
	color: #333;
	background-color: #fff;
	letter-spacing: 0.15rem;
	-webkit-text-size-adjust: none;
	-webkit-print-color-adjust: exact;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
}

a:link {
	border: none;
	color: #333;
	text-decoration: none;
}

a:visited {
	border: none;
	color: #333;
	text-decoration: none;
}

a:active {
	border: none;
	color: #333;
	text-decoration: none;
}

a:hover {
	border: none;
	color: #333;
	text-decoration: none;
}

a[href^="tel:"] {
	color: #fff;
	text-decoration: underline;
}

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

	a[href^="tel:"] {
	    pointer-events: none;
	}
}

.alpha a:hover > img {
	filter: alpha(opacity=70);
	-moz-opacity:0.7;
	opacity:0.7;
}

.alpha a > img {
	-webkit-transition: all 0.30s ease 0s;
	-moz-transition: all 0.30s ease 0s;
	transition: opacity 0.30s ease 0s;
}

.cf:after {
    content: "";
    display: block;
    clear: both;
}

.sp {
	display: none;
}

.pc {
	display: block;
}

.pc_br {
	display: block;
}

img {
	max-width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
}

.ft_min {
	font-family: "游明朝", YuMincho, 'Noto Serif JP', serif;
}

@media screen and (max-width: 767px) {

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.pc_br {
		display: none;
	}

}


.menu {
	margin: 55px auto 0;
	width: 30px;
	height: 17px;
	position: relative;
}

.menu::before,
.menu::after,
.menu span::before {
	position: absolute;
	content: '';
	left: 0;
	width: 100%;
	height: 1px;
	background: #5d5551;
}

.menu::before {
	top: 0;
}

.menu::after {
	bottom: 0;
}

.menu span::before {
	top: 8px;
}

.btn_close {
	position: absolute;
	top: 14px;
	right: 23px;
	width: 35px;
	height: 35px;
}

.btn_close a {
	width: 35px;
	height: 35px;
	display: block;
}

.btn_close a:before,
.btn_close a:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 35px;
    height: 1px;
    background-color: #5d5551;
}

.btn_close a:before {
	transform: rotate(45deg);
}

.btn_close a:after {
	transform: rotate(-45deg);
}

.header_column {
	opacity: 0;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: -1;
	transition: opacity 0.30s ease 0s;
}

.header_column .logo {
	display: none;
}

.menu_open .header_column {
	opacity: 1;
	z-index: 10;
	transition: opacity 0.30s ease 0s;
}

.menu_open {
	height: 100%;
	overflow: hidden;
}

.gnavi {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}

.gnavi ul {
	text-align: center;
}

.gnavi li {
	margin: 55px 0;
	font-size: 1.6rem;
}

.gnavi li a {
	color: #5d5551;
	letter-spacing: 0.3em;
}

.gnavi li.icon_insta {
	margin: 0 auto;
	width: 30px;
}

.gnavi li.menu_logo {
	width: 140px;
	margin-left: auto;
	margin-right: auto;
}

.gnavi li.menu_link a {
	letter-spacing: 0.1em;
	font-size: 1.4rem;
}

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

	.header h1 img {
		width: 100%;
	}

	.header_column {
		padding: 20px 0px 20px 40px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		opacity: 1;
		z-index: inherit;
		width: auto;
		height: auto;
		position: relative;
	}

	.header_fixed .header_column {
		position: fixed;
		width: 100%;
		top: 0;
		left: 0;
		background: #fff;
		z-index: 10;
	}

	.header_fixed .header_column .logo {
		opacity: 1;
	}

	.header_column .logo {
		opacity: 0;
		display: block;
		width: 200px;
		flex-shrink: 0;
		transition: opacity 0.30s ease 0s;
	}

	.gnavi {
		display: block;
		min-width: 700px;
	}

	.gnavi ul {
		margin: 0 50px 0 0;
		display: flex;
		align-items: center;
		text-align: left;
	}

	.gnavi li {
		margin: 0 0 0 40px;
		font-size: 1.8rem;
	}

	.gnavi li.icon_insta {
		margin: 0 0 0 45px;
		width: 30px;
	}

	.gnavi li a {
		padding: 10px 0;
		border-bottom: 1px solid #fff;
		transition: all 0.50s ease 0s;
		white-space: nowrap;
	}

	.gnavi li a:hover {
		color: #b47c00;
		border-bottom: 1px solid #b47c00;
	}

	.gnavi li.icon_insta a {
		padding: 0;
		border-bottom: none;
		transition: all 0.50s ease 0s;
	}

	.gnavi li.icon_insta a:hover {
		border-bottom: none;
		opacity: 0.7;
	}

	.menu,
	.btn_close,
	.gnavi li.menu_logo,
	.gnavi li.menu_link {
		display: none;
	}

}

@media screen and (min-width: 768px) and (max-width: 960px) {

	.header_fixed .header_column {
		padding-left: 2%;
		padding-right: 2%;
		min-width: auto;
	}

	.gnavi {
		min-width: auto;
	}

	.gnavi ul {
		margin-right: 0;
	}

	.gnavi li,
	.gnavi li.icon_insta {
		margin-left: 25px;
	}

}

@media screen and (min-width: 768px) and (max-width: 860px) {

	.header_column .logo {
	  	width: 150px;
	}

	.gnavi li {
		font-size: 1.5rem;
	}

}

.sec_lead {
	margin: 50px 20px 0;
	padding: 15px 0 50px;
	background: url(../images/lead_back.png) no-repeat center 0;
	background-size: 616px auto;
	text-align: center;
}

.sec_lead h2 {
	margin: 0 auto 30px;
	width: 100%;
}

.sec_lead p {
	font-size: 1.3rem;
	line-height: 2.6;
}

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

	.sec_lead {
		margin: 150px 0 0 0;
		padding: 15px 0 110px;
		background: url(../images/lead_back.png) no-repeat center 0;
		background-size: 616px auto;
	}
	
	.sec_lead h2 {
		margin: 0 auto 50px;
		width: 714px;
	}
	
	.sec_lead p {
		font-size: 1.6rem;
		line-height: 3.4;
	}

}

.sec_movie {
	margin: 0 20px 80px;
	text-align: center;
}

.sec_movie h2 {
	margin-bottom: 20px;
	font-size: 2.2rem;
	letter-spacing: 0.15em;
	color: #b47c00;
}

.movie_box {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.movie_box iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

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

	.sec_movie {
		margin: 0 auto 150px;
		max-width: 1200px;
	}
	
	.sec_movie h2 {
		margin-bottom: 40px;
		font-size: 3.0rem;
	}
	
}

.sec_guide {
	padding: 60px 20px 100px;
	text-align: center;
	background:#fbf9f6;
}

.sec_guide h2 {
	margin-bottom: 10px;
	font-size: 3.6rem;
	color: #5d5450;
	letter-spacing: 0.1em;
}

.sec_guide > p {
	font-size: 1.4rem;
}

.sec_guide > p span.pc {
	display: none;
}

.sec_guide > p span.sp {
	display: inline;
}

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

	.sec_guide {
		padding: 120px 0;
	}
	
	.sec_guide h2 {
		margin-bottom: 25px;
		font-size: 6.0rem;
		letter-spacing: 0.2em;
	}
	
	.sec_guide > p span.pc {
		display: inline;
	}

	.sec_guide > p span.sp {
		display: none;
	}

}

.guide_wrapper {
	margin: 30px 0 0;
}

.guide_color {
	margin: 0 auto;
	position: relative;
	padding-top: 70vw;
}

.color_box {
	margin: 0 auto 10px;
	text-align: left;
	opacity: 0;
	transition: all 0.2s ease 0s;
	position: absolute;
	left: 0;
	top: 0;
	z-index: inherit;
}

.color_box.act {
	opacity: 1;	
	z-index: 2;
}

.color_box h3 {
	margin: 0 0 5px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

.color_box h3 span {
	padding-right: 5px;
	font-size: 3.2rem;
	letter-spacing: 0.2em;
}

.color_box h3 span span {
	letter-spacing: 0;
}

.ba_column a {
	display: flex;
	justify-content: space-between;
	padding: 10px;
	position: relative;
}

.ba_column a > div {
	width: calc(50% - 5px);
	position: relative;
}

.ba_column p {
	padding: 1px 4px;
	text-align: center;
	position: absolute;
	left: 0;
	top: 0;
	background: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	z-index: 1;
}

.ba_column .btn_zoom {
	position: absolute;
	right: 15px;
	bottom: 15px;
	width: 20px;
	height: 20px;
}

.ba_column .btn_zoom::before,
.ba_column .btn_zoom::after {
	position: absolute;
	content: '';
	width: 20px;
	height: 2px;
	background: #b47c00;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.ba_column .btn_zoom::after {
	transform: rotate(90deg);
}

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

	.guide_wrapper {
		margin: 40px 0 0;
	}

	.guide_color {
		margin: 0 auto;
		padding: 0;
		position: relative;
		width: 840px;
		height: 600px;
	}
	
	.color_box {
		margin: 0 auto 30px;
		width: 840px;
	}
	
	.color_box h3 {
		margin: 0 0 5px;
		font-size: 1.8rem;
	}
	
	.color_box h3 span {
		padding-right: 10px;
		font-size: 4.6rem;
	}

	.ba_column {
		transition: all 0.2s ease 0s;
	}

	.ba_column:hover {
		opacity: 0.7;
	}
	
	.ba_column p {
		padding: 8px 25px;
		font-size: 2.0rem;
		font-weight: normal;
	}
	
	.ba_column .btn_zoom {
		right: 25px;
		bottom: 25px;
		width: 40px;
		height: 40px;
	}
	
	.ba_column .btn_zoom::before,
	.ba_column .btn_zoom::after {
		width: 40px;
		height: 2.5px;
	}
	
}

@media screen and (min-width: 768px) and (max-width: 839px) {

	.guide_color {
		width: 100%;
		height: 100%;
		padding-top: 70vw;
	}
	
	.color_box {
		width: 100%;
	}

}

.color_btn .btn_gb.act button span,
#color_gb h3,
#color_gb .ba_column p {
	color: #6d2819;
}
.color_btn .btn_gb button,
#color_gb .ba_column {
	background: #6d2819;
}
.color_btn .btn_gb.act button {
	border: 1px solid #6d2819;
}
.color_btn .btn_gb.act {
	border: 2.5px solid #6d2819;
}
.color_btn li.btn_gb.act::before {
	border-color: #6d2819;
}

.color_btn .btn_gs.act button span,
#color_gs h3,
#color_gs .ba_column p {
	color: #622500;
}
.color_btn .btn_gs button,
#color_gs .ba_column {
	background: #622500;
}
.color_btn .btn_gs.act button {
	border: 1px solid #622500;
}
.color_btn .btn_gs.act {
	border: 2.5px solid #622500;
}
.color_btn li.btn_gs.act::before {
	border-color: #622500;
}

.color_btn .btn_gn.act button span,
#color_gn h3,
#color_gn .ba_column p {
	color: #7e3d21;
}
.color_btn .btn_gn button,
#color_gn .ba_column {
	background: #7e3d21;
}
.color_btn .btn_gn.act button {
	border: 1px solid #7e3d21;
}
.color_btn .btn_gn.act {
	border: 2.5px solid #7e3d21;
}
.color_btn li.btn_gn.act::before {
	border-color: #7e3d21;
}

.color_btn .btn_gbe.act button span,
#color_gbe h3,
#color_gbe .ba_column p {
	color: #884c00;
}
.color_btn .btn_gbe button,
#color_gbe .ba_column {
	background: #884c00;
}
.color_btn .btn_gbe.act button {
	border: 1px solid #884c00;
}
.color_btn .btn_gbe.act {
	border: 2.5px solid #884c00;
}
.color_btn li.btn_gbe.act::before {
	border-color: #884c00;
}

.color_btn .btn_ga.act button span,
#color_ga h3,
#color_ga .ba_column p {
	color: #3e4a49;
}
.color_btn .btn_ga button,
#color_ga .ba_column {
	background: #3e4a49;
}
.color_btn .btn_ga.act button {
	border: 1px solid #3e4a49;
}
.color_btn .btn_ga.act {
	border: 2.5px solid #3e4a49;
}
.color_btn li.btn_ga.act::before {
	border-color: #3e4a49;
}

.color_btn .btn_gm.act button span,
#color_gm h3,
#color_gm .ba_column p {
	color: #4c4f0a;
}
.color_btn .btn_gm button,
#color_gm .ba_column {
	background: #4c4f0a;
}
.color_btn .btn_gm.act button {
	border: 1px solid #4c4f0a;
}
.color_btn .btn_gm.act {
	border: 2.5px solid #4c4f0a;
}
.color_btn li.btn_gm.act::before {
	border-color: #4c4f0a;
}

.color_btn .btn_go.act button span,
#color_go h3,
#color_go .ba_column p {
	color: #bf441b;
}
.color_btn .btn_go button,
#color_go .ba_column {
	background: #bf441b;
}
.color_btn .btn_go.act button {
	border: 1px solid #bf441b;
}
.color_btn .btn_go.act {
	border: 2.5px solid #bf441b;
}
.color_btn li.btn_go.act::before {
	border-color: #bf441b;
}

.color_btn .btn_gp.act button span,
#color_gp h3,
#color_gp .ba_column p {
	color: #7d2444;
}
.color_btn .btn_gp button,
#color_gp .ba_column {
	background: #7d2444;
}
.color_btn .btn_gp.act button {
	border: 1px solid #7d2444;
}
.color_btn .btn_gp.act {
	border: 2.5px solid #7d2444;
}
.color_btn li.btn_gp.act::before {
	border-color: #7d2444;
}

.color_btn .btn_grmb.act button span,
#color_grmb h3,
#color_grmb .ba_column p {
	color: #582d25;
}
.color_btn .btn_grmb button,
#color_grmb .ba_column {
	background: #582d25;
}
.color_btn .btn_grmb.act button {
	border: 1px solid #582d25;
}
.color_btn .btn_grmb.act {
	border: 2.5px solid #582d25;
}
.color_btn li.btn_grmb.act::before {
	border-color: #582d25;
}

.color_btn .btn_grb.act button span,
#color_grb h3,
#color_grb .ba_column p {
	color: #4c200b;
}
.color_btn .btn_grb button,
#color_grb .ba_column {
	background: #4c200b;
}
.color_btn .btn_grb.act button {
	border: 1px solid #4c200b;
}
.color_btn .btn_grb.act {
	border: 2.5px solid #4c200b;
}
.color_btn li.btn_grb.act::before {
	border-color: #4c200b;
}

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

	.color_btn .btn_gb.act {
		border: 3px solid #6d2819;
	}

	.color_btn .btn_gs.act {
		border: 3px solid #622500;
	}

	.color_btn .btn_gn.act {
		border: 3px solid #7e3d21;
	}

	.color_btn .btn_gbe.act {
		border: 3px solid #884c00;
	}

	.color_btn .btn_ga.act {
		border: 3px solid #3e4a49;
	}

	.color_btn .btn_gm.act {
		border: 3px solid #4c4f0a;
	}

	.color_btn .btn_go.act {
		border: 3px solid #bf441b;
	}

	.color_btn .btn_gp.act {
		border: 3px solid #7d2444;
	}
	
	.color_btn .btn_grmb.act {
		border: 3px solid #582d25;
	}

	.color_btn .btn_grb.act {
		border: 3px solid #4c200b;
	}

}

.color_btn {
	margin: 0 auto;
	padding-top: 30px;
	background: url(../images/color_btn_arrow.png) no-repeat center 10px;
	background-size: 14px auto;
	max-width: 380px;
}

.color_btn ul {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.color_btn li {
	margin: 4px 0;
	padding: 7.5px;
	border-radius: 50%;
	border: 2.5px solid;
	border-color: transparent;
	position: relative;
}

.color_btn li button {
	border-radius: 50%;
	width: 45px;
	height: 45px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.color_btn li button > span {
	color: #fff;
	font-size: 1.4rem;
/*	border-radius: 50%;*/
	letter-spacing: 0.1em;
	display: flex;
/*	justify-content: center;*/
	align-items: center;
}

.color_btn li button span span {
	letter-spacing: 0;
	line-height: 1.1;
}

.color_btn li.btn_grmb button > span,
.color_btn li.btn_grb button > span {
	font-size: 1.2rem;
}

.color_btn li.act {
	padding: 2px;
	width: 65px;
	height: 65px;
}

.color_btn li.act button {
	width: 56px;
	height: 56px;
	background: none;
}

.color_btn li.act button > span  {
	background: none;
	font-size: 1.8rem;
}

.color_btn li.btn_grmb.act button > span  {
	font-size: 1.6rem;
}

.color_btn li.btn_grb.act button > span  {
	background: none;
	font-size: 1.8rem;
}

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

	.color_btn {
		margin: 50px 0 0;
		padding: 0;
		background: none;
		max-width: inherit;
	}
	
	.color_btn li {
		margin: 0 3px;
		padding: 14px;
		border: 3px solid transparent;
		transition: all 0.3s ease 0s;
		backface-visibility: hidden;
	}
	
	.color_btn li button {
		width: 66px;
		height: 66px;
		transition: all 0.3s ease 0s;
		backface-visibility: hidden;
	}
	
	.color_btn li button > span {
		font-size: 1.8rem;
		letter-spacing: 0.2em;
		backface-visibility: hidden;
	}
	
	.color_btn li.btn_grmb button > span,
	.color_btn li.btn_grb button > span {
		font-size: 1.7rem;
	}
	
	.color_btn li.act {
		padding: 4px;
		width: 100px;
		height: 100px;
	}
	
	.color_btn li.act button {
		width: 86px;
		height: 86px;
	}
	
	.color_btn li.act::before {
  		content: '';
  		width: 12px;
  		height: 12px;
  		border: 0;
  		border-top: solid 2.5px;
  		border-right: solid 2.5px;
  		position: absolute;
  		top: -20px;
  		left: 0;
  		right: 0;
  		margin: auto;
  		transform: rotate(-45deg);
	}
	
	.color_btn li.act button > span  {
		font-size: 3.0rem;
		letter-spacing: 0;
	}
	
	.color_btn li.btn_grmb.act button > span  {
		font-size: 2.4rem;
	}
	
	.color_btn li.btn_grb.act button > span  {
		font-size: 2.6rem;
	}
	
	.color_btn li:hover {
		padding: 4px;
	}
	
	.color_btn li:hover button {
		width: 86px;
		height: 86px;
	}

}

.color_modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.8);
	opacity: 0;
	z-index: -1;
	transition: opacity 0.30s ease 0s;
}

.color_modal.open {
	opacity: 1;
	z-index: 20;
}

.color_modal > div {
	margin: 20px 20px 0;
	position: relative;
	width: calc(100% - 40px);
}

.color_modal > div:before {
    content: "";
    display: block;
    padding-top: 160%;
}

.color_modal li {
	opacity: 0;
	transition: opacity 0.30s ease 0s;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
}

.color_modal.open li.act {
	opacity: 1;
	z-index: 2;
}

.color_modal .modal_close {
	margin: 5px auto 0;
	width: 43px;
	height: 43px;
	position: relative;
	z-index: 2;
}

.color_modal .modal_close::before,
.color_modal .modal_close::after {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 40px;
	height: 3px;
	background: #fff;
	transform: rotate(45deg);
}

.color_modal .modal_close::after {
	transform: rotate(-45deg);
}

@media screen and (min-width: 768px) and (max-width: 1040px){

	.color_modal > div {
		width: 100%;
		height: 76vw;
	}

}

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

	.color_modal {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.color_modal > div {
		margin: auto 20px;
		width: 1000px;
	}
	
	.color_modal > div:before {
    	padding-top: 70%;
		position: relative;
	}
	
	.color_modal ul {
	}
	
	.color_modal li {
		max-width: 1000px;
		height: 700px;
	}
	
	.color_modal .modal_close {
		margin: 40px auto 0;
		width: 53px;
		height: 53px;
	}
	
	.color_modal .modal_close::before,
	.color_modal .modal_close::after {
		width: 55px;
	}
	
}

.sec_voice {
	text-align: center;
	padding: 70px 0 50px;
	background: url(../images/voice_back_sp.png) no-repeat center center;
	background-size: cover;
}

.sec_voice h2 {
	font-size: 3.6rem;
	color: #5d5450;
	letter-spacing: 0.2em;
}

.sec_voice h2 > span {
	margin-top: 10px;
	display: block;
	font-size: 1.6rem;
	letter-spacing: 0;
}

.sec_voice h2 span span {
	display: inline-block;
	position: relative;
}

.sec_voice h2 span span::before,
.sec_voice h2 span span::after {
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	height: 1px;
	width: 15px;
	margin: auto;
	background: #5d5450;
}

.sec_voice h2 span span::before {
	left: -25px;
}

.sec_voice h2 span span::after {
	right: -25px;
}

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

	.sec_voice {
		padding: 140px 0;
		background: url(../images/voice_back_pc.png) no-repeat center center;
		background-size: cover;
	}
	
	.sec_voice h2 {
		margin-bottom: 25px;
		font-size: 6.0rem;
	}
	
	.sec_voice h2 > span {
		margin-top: 15px;
		font-size: 2.2rem;
	}
	
	.sec_voice h2 span span::before,
	.sec_voice h2 span span::after {
		width: 30px;
	}
	
	.sec_voice h2 span span::before {
		left: -45px;
	}
	
	.sec_voice h2 span span::after {
		right: -45px;
	}

}

.voice_list {
	padding: 20px 0;
	overflow: hidden;
}

.voice_list > div {
	display: flex;
	justify-content: center;
}

.voice_list li img {
	transform: scale(1.4);
}

.voice_list .voice1,
.voice_list .voice5 {
	margin-left: 30px;
}

.voice_list .voice2,
.voice_list .voice6 {
	margin: -40px 0 0 30px;
}

.voice_list .voice3,
.voice_list .voice7 {
	margin: 50px 35px 0 -15px;
}

.voice_list .voice4,
.voice_list .voice8 {
	margin: -40px 35px 0 -15px;
}

.voice_product {
	margin: -10px auto 20px;
	width: 80%;
}

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

	.voice_list {
		padding: 0;
		overflow: initial;
		position: relative;
	}
	
	.voice_list > div {
		display: flex;
		justify-content: center;
	}
	
	.voice_list ul {
		display: flex;
	}
	
	.voice_list li {
		max-width: 335px;
	}

	.voice_list li img {
		transform: none;
	}

	.voice_product {
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 417px;
		height: 218px;
	}
	
	.voice_list .voice1 {
		margin: 100px -30px 0 0;
	}
	
	.voice_list .voice4 {
		margin: 100px 0 0 -30px;
	}
	
	.voice_list .voice5 {
		margin: 0 -30px 0 0;
	}
	
	.voice_list .voice6 {
		margin: 100px 0 0 0;
	}
	
	.voice_list .voice7 {
		margin: 100px 0 0 0;
	}
	
	.voice_list .voice8 {
		margin: 0 0 0 -30px;
	}

	.voice_list .voice2,
	.voice_list .voice3 {
		margin: 0;
	}

}

.sec_press {
	padding: 80px 0 0;
	text-align: center;
}

.press_title {
	margin-bottom: 20px;
}

.press_title p {
	margin: 0 auto 25px;
	max-width: 70%;
}

.press_title h2 {
	margin: 0 auto;
	max-width: 75%;
}

.sec_press > p {
	margin: 0 10%;
	font-size: 1.4rem;
}

.sec_press > p span.sp {
	display: inline;
}

.sec_press > p span.pc {
	display: none;
}

.press_list {
	margin: 30px auto 0;
	border-top: 1px solid #d6d3d1;	
	border-bottom: 1px solid #d6d3d1;	
	padding: 4px 0;
}

.press_list ul {
	padding: 40px 10px 0;
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #d6d3d1;	
	border-bottom: 1px solid #d6d3d1;	
}

.press_list li {
	margin: 0 10px 30px;
	width: calc(50% - 20px);
	text-align: left;
}

.press_list figure {
	margin-bottom: 15px;
}

.press_list li p {
	font-size: 1.4rem;
}

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

	.sec_press {
		padding: 150px 0 0;
	}

	.sec_press > p span.sp {
		display: none;
	}
	
	.sec_press > p span.pc {
		display: inline;
	}
	
	.press_title {
		margin-bottom: 50px;
	}
	
	.press_title p {
		margin: 0 auto 15px;
		max-width: 329px;
	}
	
	.press_title h2 {
		max-width: 496px;
	}

	.sec_press > p {
		margin: 0;
		font-size: 1.6rem;
	}
	
	.press_list {
		max-width: 1360px;
	}
	
	.press_list ul {
		padding: 40px 0 0;
	}
	
	.press_list li {
		margin: 0 25px 30px 0;
		width: 320px;
	}
	
	.press_list li:last-child {
		margin-right: 0;
	}
	
	.press_list figure {
		margin-bottom: 20px;
	}
	
	.press_list li p {
		font-size: 1.6rem;
	}

}

@media screen and (min-width: 768px) and (max-width: 1359px) {

	.sec_press {
		padding-left: 40px;
		padding-right: 40px;		
	}

	.press_list ul {
		justify-content: center;
	}

	.press_list li {
		margin: 0 13px 30px;
	}

	.press_list li:last-child {
		margin-right: 13px;
	}

}

.sec_product {
	padding: 80px 0;
	text-align: center;
}

.sec_product h2 {
	font-size: 3.6rem;
	color: #5d5450;
	letter-spacing: 0.2em;
}

.product_column {
	margin: 5px 20px 0;
	padding: 20px 0 30px;
	background: url(../images/lead_back.png) no-repeat center 0;
	background-size: 60% auto;
}

.product_column figure {
	margin: 30px auto 10px;
	width: 90%;
}

.product_column figcaption {
	margin: 10px 0 0 auto;
	padding: 2px 4px;
	border: 1px solid #5d5551;
	font-size: 1.2rem;
	display: table;
}

.product_column p {
	font-size: 1.4rem;
}

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

	.sec_product {
		padding: 150px 0;
	}
	
	.sec_product h2 {
		font-size: 6.0rem;
	}

	.product_column {
		margin: 0 auto;
		padding: 0 30px;
		display: flex;
		justify-content: center;
		align-items: center;
		max-width: 1290px;
		background: url(../images/lead_back.png) no-repeat right center;
		background-size: 390px auto;
	}
	
	.product_column figure {
		margin: 0;
		width: 50%;
		order: 1;
	}

	.product_column figcaption {
		margin: 20px 0 0 auto;
		font-size: 1.4rem;
	}
	
	.product_column > div {
		order: 2;
		width: 50%;
		padding: 200px 0 200px 120px;
	}
	
	.product_column p {
		text-align: left;
		font-size: 1.6rem;
	}

}

.product_link {
	margin: 0 20px 30px;
}

.product_link li {
	margin: 0 0 15px;
}

.product_link li a {
	padding: 15px 0;
	display: block;
	color: #fff;
	border-radius: 50px;
	text-align: center;
	font-size: 1.8rem;
	background: #b47c00 url(../images/arrow.png) no-repeat right 20px top 18px;
	background-size: 25px auto;
}

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

	.product_link {
		margin: 0 auto 50px;
		max-width: 1360px;
		display: flex;
		justify-content: space-between;
	}
	
	.product_link li {
		margin: 0;
		width: calc(50% - 10px);
	}
	
	.product_link li a {
		padding: 20px 0;
		font-size: 3.0rem;
		background: #b47c00 url(../images/arrow.png) no-repeat right 45px top 30px;
		background-size: 35px auto;
		transition: opacity 0.30s ease 0s;
	}
	
	.product_link li a:hover {
		opacity: 0.7;
	}

}

@media screen and (min-width: 768px) and (max-width: 1050px) {

	.product_link {
		max-width: inherit;
		display: block;
	}

	.product_link li {
		margin: 0 auto 20px;
		width: 500px;
	}

	.product_link li a {
		background-position: right 30px top 30px;
	}

}

.product_note {
	margin: 0 20px;
	text-align: left;
}

.product_note h4 {
	margin-bottom: 5px;
	font-size: 1.4rem;
}

.product_note li {
	margin-right: 10px;
	font-size: 1.4rem;
	line-height: 1.6;
	display: inline;
}

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

	.product_note {
		margin: 0 auto;
		display: flex;
		max-width: 1360px;
	}
	
	.product_note h4 {
		margin: 0 50px 0 0;
		white-space: nowrap;
	}
	
}

.sec_simu {
	padding: 0 20px 100px;
	text-align: center;
}

.sec_simu h2 {
	margin: 0 0 20px;
}

.sec_simu p {
	color: #5d5551;
	text-align: left;
	font-size: 1.4rem;
	line-height: 1.8;
}

.sec_simu h3 {
	margin: 40px 0 10px;
	color: #48a9c5;
	font-size: 4.2vw;
	font-weight: bold;
}

.sec_simu .btn_brand a {
	padding: 20px 0px;
	border-radius: 10px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	display: block;
	background: #48a9c5 url(../images/arrow.png) no-repeat right 20px top 22px;
	background-size: 20px auto;
}

.sec_simu p.link_gold {
	margin: 100px 0 0;
	font-size: 4.0vw;;
}

.link_gold a {
	color: #b47c00;
}

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

	.sec_simu {
		margin: 0 auto;
		padding: 0 0 150px;
		max-width: 1030px;
	}

	.sec_simu h2 {
		margin: 0 0 50px;
	}

	.sec_simu p {
		letter-spacing: 0.2em;
		text-align: center;
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.sec_simu h3 {
		margin: 60px 0 20px;
		font-size: 2.2rem;
	}

	.sec_simu .btn_brand a {
		padding: 40px 120px;
		border-radius: 20px;
		font-size: 3.0rem;
		display: inline-block;
		background: #48a9c5 url(../images/arrow.png) no-repeat right 45px top 47px;
		background-size: 25px auto;
		transition: opacity 0.30s ease 0s;
	}

	.sec_simu .btn_brand a:hover {
		opacity: 0.7;
	}

	.sec_simu p.link_gold {
		margin: 150px 0 0;
		font-size: 2.2rem;
	}

	.link_gold a:hover {
		opacity: 0.7;
	}
	
}

.footer_top {
	margin: 0 auto;
	padding: 0 0 20px;
	text-align: center;
	width: 50px;
}

.footer_bottom {
	padding: 10px 0 15px;
	background: #5d5551;
}

.footer_bottom ul {
	margin: 0 0 2px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
}

.footer_bottom li {
	margin: 5px 0;
	font-size: 1.2rem;
	padding: 0 0 0 20px;
	background: url(../images/link.png) no-repeat 0 center;
	background-size: 14px auto;
}

.footer_bottom li:first-child {
	margin-right: 20px;
}

.footer_bottom li a {
	color: #fff;
}

.footer_bottom .copyright {
	color: #fff;
	text-align: center;
	font-size: 1.0rem;
}

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

	.footer_top {
		padding: 0 0 25px;
		width: auto;
	}

	.footer_top img {
		width: 102px;
	}

	.footer_bottom {
		padding: 10px 140px;
		display: flex;
		justify-content: space-between;
	}

	.footer_bottom ul {
		margin: 0;
	}

	.footer_bottom li {
		margin: 0 20px 0 0;
		font-size: 1.2rem;
		padding: 0 0 0 20px;
		background: url(../images/link.png) no-repeat 0 center;
		background-size: 14px auto;
	}

	.footer_bottom li br {
		display: none;
	}

	.footer_bottom .copyright {
		font-size: 1.2rem;
		white-space: nowrap;
	}

}

@media screen and (min-width: 768px) and (max-width: 1420px) {

	.footer_bottom {
		padding: 10px 20px;
		justify-content: center;
	}

}

@media screen and (min-width: 768px) and (max-width: 1200px) {

	.footer_bottom ul {
		margin: 10px 0;
	}

	.footer_bottom {
		display: block;
	}

}

.top_page_header .sp_header_column {
	opacity: 0;
	z-index: -1;
	transition: opacity 0.30s ease 0s;
}

.top_page_header.header_fixed .sp_header_column {
	opacity: 1;
	z-index: 10;
	transition: opacity 0.30s ease 0s;
}

.top_page_header .sp_header_column .menu {
	margin: 0;
	display: block;
}

.sp_header_column {
	padding: 25px;
	display: flex;
	justify-content: space-between;
	z-index: 10;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 80px;
	background: #fff;
}

.sp_header_column .logo {
	width: 120px;
}

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


	.sp_header_column {
		display: none;
	}

	.page_header .header_column .logo {
		opacity: 1;
	}

	.page_header .header_column {
		padding: 40px 50px 10px;
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		background: #fff;
		height: 110px;
		z-index: 10;
	}

}
