/* Scss Document */

/* ★★★ 注意 ★★★ */
/* 英語サイトも共通のCSSを使用しています。
異なる箇所のみ先頭に　.english をつけています。
CSS調整を伴う修正が発生した際、英語サイトに影響が出ることがないかチェックをお願いします。*/




a:hover {
	text-decoration: none;
}
.btn-shared {
}
.btn-shared a {
	font-family: "Amiri";
	font-weight: 400;
	font-style: normal;
	position: relative;
	font-size: 20px;
	display: block;
	text-align: center;
	line-height: 1;
	padding: 15px 0;
	letter-spacing: 0.15em;
}
.btn-shared a::after {
	content: "";
	background: url(../img/shared/icon_before.png) no-repeat;
	width: 8px;
	height: 11px;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	transition: all .4s ease;
}
.btn-shared a::before {
	content: "";
	background: #3c3c3c;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	transition: all .4s ease;
	transition: transform 1.1s cubic-bezier(0.19, 1, 0.22, 1) 0s;
	transform: scale(1);
	transform-origin: left top;
}


@media screen and (min-width: 767px) {
.btn-shared {
	max-width: 120px;
}
.btn-shared a {
	font-size: 20px;
	display: block;
	text-align: center;
	line-height: 1;
	padding: 14px 14px 14px 0;
	letter-spacing: 4px;
}
.btn-shared a::after {
	width: 8px;
	height: 12px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
}
.btn-shared a::before {
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
}
	
.btn-shared a:hover::after {
	right: 0;
}
.btn-shared a:hover::before {
	transform: scaleX(0);
	transform-origin: right top;
}	
	
}
.btn-black {
	max-width: 120px;
}
.btn-black a::after {
	background: url(../img/shared/icon_before_b.png) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
}

@media screen and (min-width: 767px) {
.btn-black {
	max-width: 120px;
}
}
.btn-s {
}
.btn-s a {
	font-family: "Amiri";
	font-weight: 400;
	font-style: normal;
	position: relative;
	font-size: 17px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	line-height: 1;
	padding: 17px 0;
	display: block;
	transition: all .4s ease;
	text-align: center;
	color: #fff;
	letter-spacing: 0.12em;
}
.btn-s a::after {
	content: "";
	background: url(../img/shared/icon_before.png) no-repeat;
	width: 8px;
	height: 12px;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
	transition: all .4s ease;
}
.btn-s a:hover {
	opacity: .7;
}
.btn-s a:hover::after {
	right: 10px;
}

@media screen and (min-width: 767px) {
.btn-s {
	max-width: 310px;
}
.btn-s a {
	font-size: 17px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	padding: 16px 0;
}
.btn-s a::after {
	width: 8px;
	height: 12px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
}
.btn-s a:hover::after {
	right: 10px;
}
}
.btn-shared-v {
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	border-radius: 10px;
}
.btn-shared-v a {
	display: block;
	position: relative;
	text-align: center;
	font-size: 15px;
	font-weight: 400;
	padding: 15px 0px;
	margin: 0 auto;
	line-height: 1;
	border-bottom: 1px solid #d0cfc7;
}
.btn-shared-v a::after {
	content: "";
	background: url("../img/shared/icon_before_b.png") no-repeat top center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 8px;
	height: 11px;
	position: absolute;
	bottom: 18px;
	right: 0;
	transition: all .2s ease;
}
.btn-shared-v a span {
	position: relative;
	z-index: 2;
	display: block;
	padding-top: 0;
	letter-spacing: 2px;
	line-height: 17px;
}

@media screen and (min-width: 767px) {
.btn-shared-v {
	margin-left: auto;
	margin-right: auto;
	border-radius: 10px;
}
.btn-shared-v a {
	font-size: 15px;
	padding: 0px;
	width: 38px;
	margin: 0 auto;
	line-height: 1;
	height: 108px;
	border: 1px solid #c6c5be;
	transition: all .4s ease;
}
	.btn-shared-v a:hover {
		opacity: .6;
	}
.btn-shared-v a::after {
	width: 10px;
	height: 12px;
	position: absolute;
	bottom: 21px;
	right: 15px;
}
.btn-shared-v a span {
	display: block;
	padding-top: 13px;
	letter-spacing: 2px;
	line-height: 19px;
	width: 20px;
	margin: 0 auto;
}
}
#header h1 {
    color: #666;
    font-size: 12px;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 3;
    right: 10px;
    line-height: 1.5;
    letter-spacing: 0;
}
#header .logo {
	max-width: 110px;
	position: absolute;
	top: 50px;
	left: 3vw;
	z-index: 3;
	width: 50%;
}

.home #header .logo {
	top: 252px;
	left: 50%;
	width: 50%;
	transform: translateX(-50%);
	max-width: 178px;
}

#header .h-right {
	position: absolute;
	top: 48px;
	right: 20px;
	z-index: 3;
}
#header .top-sns {
	position: absolute;
	top: 0;
	right: 400px;
	display: none;
}
#header .top-sns ul {
	width: 270px;
	display: flex;
	justify-content: space-between;
}
#header .top-link {
	position: absolute;
	top: 0;
	right: 100px;
	display: none;
}
#header .top-link ul {
	width: 270px;
	display: flex;
	justify-content: space-between;
}
#header .top-link ul li {
	width: 50%;
	text-align: center;
}
#header .top-link ul li span,  #header .top-link ul li a {
	font-size: 15px;
	color: #fff;
	position: relative;
	cursor: pointer;
}
#header .top-link ul li span::before,  #header .top-link ul li a::before {
	content: "";
	background: url(../img/shared/icon_before.png) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 8px;
	height: 11px;
	position: absolute;
	top: 50%;
	right: -20px;
	transform: translateY(-50%);
}
#header .lang {
	width: 160px;
	margin-left: auto;
	color: #fff;
}
#header .lang p {
	display: inline-block;
	margin-right: 11px;
}
#header .lang ul {
    display: inline-block;
}
#header .nav-t {
	width: 635px;
	margin-left: auto;
}
#header .nav-t .menu-link {
	text-align: right;
}

@media screen and (min-width: 767px) {
#header h1 {
	font-size: 13px;
	top: 14px;
	left: 17px;
	right: auto;
}
#header .logo {
	max-width: 280px;
	top: 328px;
	left: 50%;
	margin-left: 0;
	z-index: 3;
}
	
	
#header .logo {
	max-width: 175px;
	top: 62px;
	left: 28px;
	width: 100%;
}

.home #header .logo {
	top: 323px;
	left: 50%;
	width: 100%;
	max-width: 230px;
}	
	
#header .h-right {
	top: 36px;
	right: 123px;
}
#header .top-sns {
	display: flex;
	right: 400px;
	top:-5px;
}
.english #header .top-sns{
	right: 260px;	
}
#header .top-sns li{
	padding-right: 15px;
}
	
#header .top-link {
	display: block;
	right: 143px;
}
.english #header .top-link{
	right: 20px;
}
#header .top-link ul {
	width: 240px;
}
#header .top-link ul li {
	width: 51%;
	text-align: center;
	transition: all .4s ease;
}
	#header .top-link ul li a:hover {
		opacity: .7;
	}
#header .top-link ul li span,  #header .top-link ul li a {
	font-size: 15px;
	color: #fff;
	position: relative;
	cursor: pointer;
}
#header .top-link ul li span::before,  #header .top-link ul li a::before {
	width: 8px;
	height: 11px;
	position: absolute;
	top: 50%;
	right: -20px;
	transform: translateY(-50%);
}
#header .lang {
	width: 100px;
	margin-left: auto;
}
#header .lang p {
	display: none;
}
#header .nav-t {
	width: 835px;
	margin-left: auto;
	padding-right: 34px;
}
.english #header .nav-t {
	width: 800px;
	font-size: 18px;
}
#header .nav-t .menu-link {
	text-align: right;
}
}
.lang {
	width: 100px;
	margin-left: auto;
}
.lang ul li {
	display: inline-block;
	position: relative;
}
.lang ul li a {
	font-size: 15px;
	position: relative;
	display: block;
	color: #ffffff60;
}
.lang ul li a::after {
	content: "";
	background: #fff;
	height: 1px;
	bottom: 5px;
	left: 0;
	right: 0;
	position: absolute;
	opacity: 0;
	transition: all .4s ease;
}
.lang ul li a.active,  .lang ul li a:hover {
	text-decoration: none;
	color: #fff!important;
}
.lang ul li a.active::after,  .lang ul li a:hover::after {
	opacity: 1;
}
.lang ul li + li {
	margin-left: 30px;
}
.lang ul li + li::before {
	content: "";
	background: #fff;
	width: 1px;
	height: 18px;
	top: 4px;
	left: -16px;
	position: absolute;
	transform: rotate(35deg);
}

@media screen and (min-width: 767px) {
.lang {
	width: 100px;
	margin-left: auto;
}
.lang ul li {
	display: inline-block;
	position: relative;
}
.lang ul li a {
	font-size: 15px;
	position: relative;
	display: block;
	color: #ffffff60;
}
.lang ul li a::after {
	height: 1px;
	bottom: 5px;
	left: 0;
	right: 0;
	position: absolute;
	opacity: 0;
}
.lang ul li + li {
	margin-left: 20px;
}
.lang ul li + li::before {
	width: 1px;
	height: 16px;
	top: 11px;
	left: -15px;
	position: absolute;
	transform: rotate(15deg);
}
}
.menu-link li {
	display: inline-block;
}
.menu-link li a {
	color: #fff;
	font-weight: 500;
	position: relative;
}
.menu-link li a::after {
	content: "";
	background: #fff;
	height: 1px;
	bottom: 0px;
	left: 0;
	right: 0;
	position: absolute;
	opacity: 0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 0.3s;
}
.menu-link li a.active,  .menu-link li a:hover {
	text-decoration: none;
	
}
.menu-link li a.active::after,  .menu-link li a:hover::after {
	opacity: 1;
	transform: scale(1, 1);
}
.menu-link li + li {
	margin-left: 30px;
}

@media screen and (min-width: 767px) {
.menu-link li {
	display: inline-block;
}
.menu-link li a {
	color: #fff;
	font-weight: 500;
	position: relative;
	padding: 0 1px;
}
.menu-link li a::after {
	height: 1px;
	bottom: -2px;
	left: 0;
	right: 0;
	position: absolute;
	opacity: 0;
}
.menu-link li a.active,  .menu-link li a:hover {
	text-decoration: none;
}
.menu-link li a.active::after,  .menu-link li a:hover::after {
	opacity: 1;
}
.menu-link li + li {
	margin-left: 28px;
}
}
.contact-c .col {
	border: 1px solid rgba(255, 255, 255, 0.2);
	text-align: center;
}
.contact-c .col .info {
	padding: 22px 0;
}
.contact-c .col .info h3 {
	font-size: 18px;
	margin-bottom: 20px;
	letter-spacing: 0.15em;
}
.contact-c .col .info h3 span {
	font-size: 15px;
}
.contact-c .col .info .tel {
	font-size: 26px;
	font-family: "Amiri";
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
	line-height: 1;
}
.contact-c .col .info .tel span {
	position: relative;
}
.contact-c .col .info .tel span::before {
	content: "";
	background: url(../img/shared/icon_tel.png) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 15px;
	height: 20px;
	position: absolute;
	top: 50%;
	left: -27px;
	transform: translateY(-50%);
}
.contact-c .col .info .note {
	color: #a0a0a0;
	font-size: 13px;
	line-height: 26px;
}

@media screen and (min-width: 767px) {
.contact-c .col {
	text-align: center;
}
.contact-c .col .info {
	padding: 22px 0;
}
	.fixed-contact.contact--c .row .col {}
	.fixed-contact.contact-c .col .info {
		
padding: 31px;
	}
	
.contact-c .col .info h3 {
	font-size: 20px;
	margin-bottom: 11px;
}
.contact-c .col .info h3 span {
	font-size: 16px;
}
.contact-c .col .info .tel {
	font-size: 26px;
	letter-spacing: 3.6px;
	margin-bottom: 18px;
	padding-left: 35px;
}
.contact-c .col .info .tel span {
}
.contact-c .col .info .tel span::before {
	height: 18px;
	width: 13px;
	left: -23px;
}
.contact-c .col .info .note {
	font-size: 13px;
	line-height: 26px;
	letter-spacing: 2px;
}
}
#footer #contact {
	background: url(../img/index/contact_bg.jpg) no-repeat center;
	background-size: cover;
	color: #fff;
	padding: 20vw 0vw;
}
#footer #contact .wrap {
	max-width: 1200px;
}
#footer #contact .title {
	position: relative;
	font-size: 16px;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 9vw;
}
#footer #contact .title h2 {
	font-size: 30px;
	margin-bottom: 10px;
	letter-spacing: 0.15em;
	line-height: 1;
}
#footer #contact .row {
	margin-left: auto;
}
#footer #contact .row .col {margin-bottom: 7vw;}
#footer #contact .row .col .info {
	padding: 10vw 0 12vw;
}

@media screen and (min-width: 767px) {
#footer #contact {
	background: url(../img/index/contact_bg.jpg) no-repeat center;
	background-size: cover;
	color: #fff;
	padding: 125px 0;
}
#footer #contact .title {
	position: absolute;
	top: 74px;
	left: 0;
	font-size: 16px;
	margin-bottom: 0;
	letter-spacing: 3px;
}
.english #footer #contact .title {
	top:50%;	
}
#footer #contact .title h2 {
	font-size: 30px;
	margin-bottom: 12px;
}
#footer #contact .row {
	width: 960px;
	margin-left: auto;
}
#footer #contact .row .col {
	width: 450px;
	margin-bottom: 0;
}
#footer #contact .row .col .info {
	padding: 35px 0;
}
}
.nav-link {
	margin-bottom: 50px;
	display: flex;
	justify-content: space-between;
}
.nav-link li {
	height: 190px;
	cursor: vertical-text;
	writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-moz-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	text-orientation: upright;
	word-wrap: break-word;
}
.english .nav-link li{
	text-orientation:inherit !important;
}
.nav-link li a {
	display: block;
	font-size: 16px;
}
.nav-link li a.active, .nav-link li a:hover {
	color: #8f9c9e;
}

@media screen and (min-width: 767px) {
.nav-link {
	margin-bottom: 50px;
	display: flex;
	justify-content: space-between;
}
.nav-link li {
	height: 190px;
	cursor: vertical-text;
	writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-moz-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	text-orientation: upright;
	word-wrap: break-word;
}
.english .nav-link li{
	text-orientation:inherit !important;
}
.nav-link li a {
	display: block;
	font-size: 16px;
}
}
#footer {
	background: #080809;
	padding-bottom: 106px;
}
#footer .set2 {
	color: #a0a0a0;
	padding-top: 15vw;
}
#footer .set2 .wrap {
	max-width: 1200px;
}
#footer .set2 .logo {
	max-width: 178px;
	position: relative;
	width: 40%;
	margin: 0 auto 10vw;
}
#footer .set2 .left {
	margin: 0 auto 15vw;
}
#footer .set2 .left .item {
	display: flex;
	justify-content: flex-start;
}
#footer .set2 .left .item .ttl {
	width: 70px;
	height: 179px;
	font-size: 18px;
	color: #fff;
	line-height: 70px;
	text-align: left;
	letter-spacing: 4px;
	padding-top: 7px;
}
#footer .set2 .left .item .info {
	border-left: 1px solid #3a3a3b;
	padding-left: 25px;
	letter-spacing: 0.1em;
}
#footer .set2 .left .item .info .tt-s {
	font-size: 16px;
	color: #fff;
}
#footer .set2 .left .item .info .more-in {
	font-size: 15px;
}
#footer .set2 .left .item .info .more-in p {
	line-height: 30px;
}
#footer .set2 .left .item .info .more-in a.icon-map {
	position: relative;
	display: inline-block;
	padding-left: 20px;
	color: #fff;
	margin-left: 10px;
}
#footer .set2 .left .item .info .more-in a.icon-map::before {
	content: "";
	background: url(../img/shared/icon_map.png) no-repeat;
	width: 13px;
	height: 17px;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
#footer .set2 .left .item .info .more-in a:hover {
	opacity: 0.5;
}
#footer .set2 .left .item + .item {
	margin-top: 60px;
}
#footer .set2 .right {
	position: relative;
	margin-bottom: 10vw;
}
#footer .nav-link {
	max-width: 290px;
	margin: 0 auto 5vw;
}
#footer .nav-link li {
	height: 190px;
}
#footer .nav-link li a {
	display: block;
	font-size: 16px;
	color: #fff;
	letter-spacing: 4px;
}
#footer .nav-link li a.active,
#footer .nav-link li a:hover {
	color: #8f9c9e;
}
#footer .lang {
	width: 87px;
	margin: 0 auto 8vw;
	text-align: center;
}
#footer .lang ul li {
	display: inline-block;
}
#footer .lang ul li a {
	opacity: .5;
}
#footer .lang ul li a.active,  #footer .lang ul li a:hover {
	opacity: 1;
}
#footer .footer-btn {
	margin: 0 auto 10vw;
}
#footer .footer-btn .btn-s + .btn-s {
	margin-top: 20px;
}
#footer .right #socialbuttons {
	text-align: center;
	margin-bottom: 6vw;
}
#footer .right .link {
	text-align: center;
	margin-bottom: 8vw;
	line-height: 1;
	padding-right: 29px;
}
#footer .right .link span {
	display: inline-block;
	position: relative;
}
#footer .right .link span::before {
	content: "";
	background: url(../img/shared/icon_connect.png) no-repeat;
	width: 16px;
	height: 16px;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	position: absolute;
	top: 50%;
	right: -23px;
	transform: translateY(-50%);
}
#footer .right .sns {
	font-size: 13px;
	color: #fff;
}
#footer .right .sns-link{
	font-size: 13px;
	color: #fff;
	display: flex;
	justify-content: center;
	margin-top: 20px;
}

#footer .right .sns-link ul{
	display: flex;
}
#footer .right .sns-link ul li{
	margin-left: 15px;	
}
#footer .right .cookies-link {
	margin-top: 0;
	text-align: center;
	letter-spacing: 0.1em;
}
#footer .right .cookies-link span {
	font-size: 14px;
	display: inline-block;
	margin-right: 20px;
	position: relative;
}
#footer .right .cookies-link span::before {
	content: "";
	background: #fff;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	visibility: hidden;
}
#footer .right .cookies-link span::after {
	content: "";
	background: url(../img/shared/icon_copied.png) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 12px;
	height: 12px;
	position: absolute;
	top: 50%;
	right: -20px;
	transform: translateY(-50%);
}
#footer .right .cookies-link span:hover {
	opacity: 1;
	visibility: visible;
}
#footer .right .cookies-link address {
	text-align: center;
	line-height: 1;
	padding-top: 11px;
	color: #6b6b6b;
}
#footer #pagetop {
	opacity: 1;
	visibility: visible;
	position: relative;
	width: 80px;
	height: 42px;
	margin: 0 auto;
}

@media screen and (min-width: 767px) {
#footer {
	padding-bottom: 60px;
}
	#footer .set2 {
    padding-top: 95px;
}
#footer .set2 .logo {
	width: 178px;
	position: absolute;
	top: -6px;
	left: -2px;
	margin: 0;
}
#footer .set2 .left {
	width: 690px;
	margin: 0 auto 122px;
}
#footer .set2 .left .item {
	display: flex;
	justify-content: flex-start;
}
#footer .set2 .left .item .ttl {
	width: 55px;
	height: 158px;
	padding-top: 11px;
	letter-spacing: 6px;
	
}
#footer .set2 .left .item .info {
	width: 480px;
	padding-left: 29px;
}
#footer .set2 .left .item .info .tt-s {
	font-size: 16px;
	letter-spacing: 3px;
}
#footer .set2 .left .item .info .more-in {
	font-size: 15px;
	letter-spacing: 3px;
}
#footer .set2 .left .item .info .more-in p {
	line-height: 30px;
}
#footer .set2 .left .item .info .more-in a.icon-map {
	position: relative;
	display: inline-block;
	padding-left: 20px;
	margin-left: 3px;
}
#footer .set2 .left .item .info .more-in a.icon-map::before {
	width: 13px;
	height: 17px;
}
#footer .set2 .left .item .info .more-in a:hover {
	opacity: 0.5;
}
#footer .set2 .left .item + .item {
	margin-top: 71px;
}
#footer .set2 .right {
	width: 400px;
	position: absolute;
	top: 0;
	right: -15px;
	margin-bottom: 0;
}
#footer .nav-link {
	margin: 0 0 0 auto;
	max-width: 359px;
}
#footer .nav-link li {
	height: 185px;
	margin-left: 10px;
}
#footer .nav-link li a {
	display: block;
	font-size: 16px;
	letter-spacing: 4px;
}
#footer .lang {
	width: 100px;
	margin: 0 0 42px auto;
	text-align: right;
}
#footer .lang ul li {
	display: inline-block;
	margin: 0 10px;
}
#footer .lang ul li a {
	opacity: .5;
}
#footer .lang ul li a.active,  #footer .lang ul li a:hover {
	opacity: 1;
}
#footer .footer-btn {
	max-width: 310px;
	margin: 0 12px 73px auto;
}
#footer .footer-btn .btn-s + .btn-s {
	margin-top: 20px;
}
#footer .right #socialbuttons {
	text-align: right;
	margin-bottom: 26px;
}
#footer .right .link {
	text-align: right;
	margin-bottom: 20px;
	line-height: 1;
	padding-right: 35px;
	letter-spacing: 3px;
}
#footer .right .link span {
	display: inline-block;
	position: relative;
}
#footer .right .link span::before {
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	right: -23px;
	transform: translateY(-50%);
}
#footer .right .sns {
	font-size: 13px;
}
.english #footer .right .sns-link{
	justify-content: right;
}
#footer .right .cookies-link {
margin-top: 0;
        text-align: right;

}
#footer .right .cookies-link span {
	font-size: 14px;
	display: inline-block;
	margin-right: 32px;
	position: relative;
	letter-spacing: 3px;
}
#footer .right .cookies-link span::before {
	background: #fff;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	visibility: hidden;
}
#footer .right .cookies-link span::after {
	content: "";
	background: url(../img/shared/icon_copied.png) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 12px;
	height: 12px;
	position: absolute;
	top: 50%;
	right: -20px;
	transform: translateY(-50%);
}
#footer .right .cookies-link span:hover::before {
	opacity: 1;
	visibility: visible;
}
#footer .right .cookies-link address {
	text-align: right;
	line-height: 1;
	padding-top: 14px;
	color: #6b6b6b;
	padding-right: 12px;
	letter-spacing: 1px;
}
.english #footer .right .cookies-link address{
	letter-spacing: 0px;	
}
#footer #pagetop {
	position: relative;
	width: 80px;
	height: 42px;
	margin: 0 auto;
	right: auto;
	bottom: auto;
}
}
.fixed-contact {
	opacity: 0;
	visibility: hidden;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	box-sizing: border-box;
	background: url(../img/shared/toggle_bg.jpg) center;
	-webkit-background-size: cover;
	background-size: cover;
	transition: all 0.5s ease 0s;
	-moz-transition: all 0.5s ease 0s;
	-webkit-transition: all 0.5s ease 0s;
	overflow: auto;
	z-index: 101;
	left: 0;
	color: #ffffff;
}
.fixed-contact .wrap {

    max-width: 880px;
    position: relative;
    padding: 50px 5% 100px !important;
	
}
.fixed-contact .title {
	text-align: center;
	font-size: 16px;
	margin-bottom: 9vw;
	letter-spacing: 0.2em;
}
.fixed-contact .title h2 {
	font-size: 28px;
}
.fixed-contact .row {
	display: block;
}
.fixed-contact .row .col {margin-bottom: 7vw;}

@media screen and (min-width: 767px) {
.fixed-contact {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	overflow: auto;
	z-index: 101;
	left: 0;
	color: #ffffff;
}
.fixed-contact .wrap {
	padding: 0!important;
	max-width: 880px;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
}
.english .fixed-contact .wrap{
	max-width: 1000px !important;
}
.fixed-contact .title {
	text-align: center;
	font-size: 16px;
	margin-bottom: 86px;
}
.fixed-contact .title h2 {
	font-size: 30px;
	margin-bottom: 5px;
	letter-spacing: 4px;
}
.fixed-contact .row {
	display: flex;
	justify-content: space-between;
}
.fixed-contact .row .col {
	max-width: 408px;
	width: 48%;
	margin-bottom: 0;
}
.english .fixed-contact .row .col {
	max-width: 470px !important;
}
}
.ct--opened .fixed-contact {
	opacity: 1;
	visibility: visible;
}
.menu-toggle .inside {
	max-width: 1185px;
	margin: 0 auto;
	position: relative;
}
.menu-toggle .right {
	width: 743px;
	margin-left: auto;
}
.menu-toggle .nav-link {
	width: 500px;
	margin: 0 auto;
}
.menu-toggle .sub-btn {
	position: relative;
	border-bottom: 1px solid #bbbbbb;
}
.menu-toggle .sub-btn .lang {
	width: 190px !important;
	font-size: 15px !important;
	margin-left: 0 !important;
}
.menu-toggle .sub-btn .lang ul,  .menu-toggle .sub-btn .lang p {
	display: inline-block !important;
}
.menu-toggle .sub-btn .lang ul {
	margin-left: 20px;
}
.menu-toggle .sub-btn .lang ul li a {
	color: #a0a0a0;
}
.menu-toggle .sub-btn .sns {
	font-size: 16px;
	position: absolute;
	top: 0;
	left: 200px;
}
.menu-toggle .sub-btn .sns span {
	position: relative;
	padding-top: 40px;
}
.menu-toggle .sub-btn .sns span::before {
	content: "";
	background: url(../img/shared/icon_ins.png) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 29px;
	height: 29px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}
.menu-toggle .sub-btn .b-shops {
	position: absolute;
	top: 0;
	right: 0;
}
.menu-toggle .sub-btn .b-shops a {
	position: relative;
}
.menu-toggle .sub-btn .b-shops a::before {
	content: "";
	background: url(../img/shared/icon_before.png) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	width: 8px;
	height: 11px;
	position: absolute;
	top: 50%;
	right: -20px;
	transform: translateY(-50%);
}
.menu-toggle .logo-s {
	position: absolute;
	left: -165px;
	top: 50%;
}
.menu-toggle .sub-contact {
	display: flex;
	justify-content: space-between;
}
.menu-toggle .sub-contact .col {
	width: 350px;
}

@media screen and (min-width: 767px) {
.menu-toggle .inside {
	margin: 0 auto;
	position: relative;
}
.menu-toggle .right {
	width: 730px;
	margin-left: auto;
}
.english .menu-toggle .right {
	width: 800px !important;
}
.menu-toggle .nav-link {
	width: 452px;
	margin: 0 auto 54px;
}
	
	.menu-toggle .nav-link li {
    letter-spacing: 4px;
}
	.menu-toggle .nav-link li a {}
	
.menu-toggle .sub-btn {
	position: relative;
	padding-bottom: 15px;
}
.menu-toggle .sub-btn .lang {
	width: 190px !important;
	font-size: 15px !important;
	margin-left: 0 !important;
}
.menu-toggle .sub-btn .lang ul,  .menu-toggle .sub-btn .lang p {
	display: inline-block !important;
}
.menu-toggle .sub-btn .lang ul {
	margin-left: 0;
}
.menu-toggle .sub-btn .lang ul li a {
	color: #a0a0a0;
}
.menu-toggle .sub-btn .sns {
	font-size: 16px;
	position: absolute;
	top: 0;
	left: auto;
	right: 150px;
	width: 300px;
	transition: all .4s ease;
	display: flex;
	justify-content:flex-end;
}
.menu-toggle .sub-btn .sns ul{
	display: flex !important;
	padding-left: 5px;
}
.menu-toggle .sub-btn .sns ul li{
	margin-left: 15px;		
}
.english .menu-toggle .sub-btn .sns{
	right: 0;
}
	.menu-toggle .sub-btn .sns a:hover {
		opacity: .7;
	}
	.menu-toggle .sub-btn .sns a {
    display: block;
}
.menu-toggle .sub-btn .sns span {
	position: relative;
	padding-top: 0;
}
.menu-toggle .sub-btn .sns span::before {
	width: 29px;
	height: 29px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -48px;
}
.menu-toggle .sub-btn .b-shops {
	position: absolute;
	top: 0;
	right: 0;
	transition: all .4s ease;
}
	.menu-toggle .sub-btn .b-shops:hover {
		opacity: .7;
	}
.menu-toggle .sub-btn .b-shops a {
	position: relative;
	font-size: 18px;
	padding-right: 23px;
}
.menu-toggle .sub-btn .b-shops a::before {
	width: 8px;
	height: 11px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.menu-toggle .logo-s {
	position: absolute;
	left: -18px;
	top: 44%;
}
.menu-toggle .sub-contact {
	padding-top: 67px;
	justify-content: space-between;
}
.menu-toggle .sub-contact .col {
	width: 350px;
}
.english .menu-toggle .sub-contact .col {
	width: 380px;
}
	.menu-toggle .sub-contact .col .info {
		padding: 34px 0;
	}	
	
	
}
.hamburger-ct {
	opacity: 0;
	visibility: hidden;
}
.ct--opened .hamburger-ct {
	opacity: 1;
	visibility: visible;
	display: none;
}
.hamburger {
	display: none;
}
#ft-fixed {
	background: #eae9e0;
}
#ft-fixed .inner {
	background: #eae9e0;
	line-height: 60px;
	height: 60px;
	display: flex;
	justify-content: space-between;
}
#ft-fixed .ww-sp {
	width: 50%;
	text-align: center;
}
#ft-fixed .ww-sp span {
	display: block;
}
#ft-fixed .ww-sp span small {
	padding-left: 20px;
	position: relative;
	font-size: 18px;
	letter-spacing: 0.1em;
}
#ft-fixed .ww-sp #contact-list span small{
	font-size: 16px;
}
.english #ft-fixed .ww-sp #contact-list span small{
	font-size: 18px;
}


#ft-fixed .ww-sp #ham-list span small {
	padding-left: 60px;
}

#ft-fixed .hamburger-s #ham-list span small::before {
	left: 13px;
}

#ft-fixed .ww-sp span small::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -25px;
	transform: translateY(-50%);
	width: 35px;
	height: 18px;
}
#ft-fixed .ww-sp span.off {
	opacity: 0;
	visibility: hidden;
	display: none;
}
#ft-fixed .ww-sp .is-active span.off {
	display: block;
	opacity: 1;
	visibility: visible;
}
#ft-fixed .ww-sp .is-active span.on {
	display: none;
	opacity: 0;
	visibility: hidden;
}
#ft-fixed .w-contact span small::before {
	background: url(../img/shared/fixed_telb_on.png) no-repeat top center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	left: -15px;
}
#ft-fixed .w-contact span.off small::before {
	background: url(../img/shared/fixed_telb_on.png) no-repeat bottom center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	left: -25px;
}
#ft-fixed .hamburger-s {
	background: #151515;
	color: #ffffff;
	font-family: "Amiri";
	font-weight: 400;
	font-style: normal;
}
#ft-fixed .hamburger-s span small::before {
	content: "";
	background: url(../img/shared/fixed_openw_on.png) no-repeat top center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	position: absolute;
}
#ft-fixed .hamburger-s span.off small::before {
	background: url(../img/shared/fixed_openw_on.png) no-repeat bottom center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
}

.hamburger-btn {
    position: fixed;
    top: 32px;
    right: 140px;
    transition: all .4s ease;
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
	 z-index: 100;
	display: none;
}

.has-nav .hamburger-btn {
	opacity: 1;
	visibility: visible;
}
.has-nav .hamburger-btn:hover {
opacity: .7;
}
@media screen and (min-width: 767px) {
.ct--opened .hamburger-ct,
	.hamburger-btn,
.hamburger {
	display: block;
	
}
}


@media screen and (max-width: 767px) {
	.menu-toggle {
background: #3e5b5c url(../img/shared/toggle_bg_sp.jpg) no-repeat bottom center;
        background-size: 100% auto;
	}
	#menu-toggle ul li {
		height: auto;
		cursor: vertical-text;
		writing-mode: inherit;
		-o-writing-mode: inherit;
		-ms-writing-mode: inherit;
		-ms-writing-mode: tb-rl;
		-moz-writing-mode: inherit;
		-webkit-writing-mode: inherit;
		text-orientation: upright;
		word-wrap: break-word;
	}
	.menu-toggle .nav-link {
		width: auto;
		margin: 0 auto;
		padding: 0 30px 10px;
		display: block;
	}
	
	.menu-toggle .inside {
		padding: 50px 20px 100px;
	}
	#menu-toggle ul li + li {
		margin-top: 20px;
	}
	
	.menu-toggle .sub-btn .sns {
		/*display: none;*/
		display: flex;
		position: absolute;
	top: 120px;
	left: 0px;
		right: 0;
		margin: 0 auto;
		justify-content:center;
	}
	.english .menu-toggle .sub-btn .sns{
		top: 100px;
	}
	.menu-toggle .sub-btn .sns ul{
		display: flex;
	}
	.menu-toggle .sub-btn .sns ul li{
		margin-top:0 !important;
		margin-left: 15px;
	}


	.menu-toggle .sub-contact {
		display: block;
	}
	.lang ul li {
		display: inline-block!important;
	}
	.lang ul li + li {
		margin-left: 16px;
	}
	.lang ul li + li::before {
    top: 5px;
    left: -12px;
	}
	.menu-toggle .right {
		width: auto;
	}
	
.menu-toggle .sub-btn .b-shops {
    position: relative;
    text-align: center;
}
	
	
	
	.menu-toggle .sub-btn {

    padding-bottom: 90px;
		margin-bottom: 50px;
}	
	
	
	
	.menu-toggle .sub-btn .lang {
    width: 215px !important;
    font-size: 16px !important;
    margin: 0 auto 20px!important;
    letter-spacing: 0.1em;
	}
	
.menu-toggle .sub-btn .b-shops a {
    position: relative;
    font-size: 17px;
    letter-spacing: 0.15em;
}
	
	
	.menu-toggle .logo-s {
        position: relative;
        max-width: 178px;
        width: 35%;
        margin: 0 auto 40px;
        left: auto;
        top: auto;
	}
	
	.menu-toggle .sub-contact .col {
		width: auto;
	}
	
	.menu-toggle .sub-contact .col {
		margin-bottom: 25px;
	}
	
	
	
	
}
@media screen and (min-width: 767px) and (max-width: 1299px) {
	.menu-toggle .inside {
		padding: 125px 20px 0;
	}
	.menu-toggle .logo-s {
		left: 20px;
	}
	#footer #contact .wrap {
		padding: 0 20px;
	}
	#footer #contact .row {
		width: 80%;
	}
	#footer #contact .row .col {
		width: 48%;
	}
	#footer #contact .title {
		left: 20px;
	}
	#footer .set2 .logo {
		left: 20px;
	}
	#footer .set2 .right {
		right: 20px;
	}
	#footer .set2 .left {
		width: 636px;
	}
}




















