@charset "UTF-8";

:root {
	font-size: 16px;
	font-family: "Noto Sans JP", sans-serif;
	-webkit-text-size-adjust: 100%;
	line-height: 1.8;
	--txt: #333;
	--bg: #F2F3F7;
	--red: #BA2636;
	--red-rgba-0: rgba(186, 38, 54, 0);
	--dark-red: #930010;
	--light-red: #E64153;
	--gray: #F2F3F7;
	--border: #DFDFDF;
	--border-dark: #999;
	--font-gray: #999;
	--font-m: 'Montserrat', sans-serif;
	color: var(--txt);
}
a {color: var(--txt);}
.palt {font-feature-settings: "palt";}
body:lang(ja) .hide-ja {display: none!important;}
body:lang(zh_CN) .hide-zh {display: none!important;}
@media only screen and (max-width: 767px) {
	:root {
		/* font-size: 0.3125vw; /* dev-width: 320px */
		font-size: 0.25641vw; /* dev-width: 390px */
	}
	.site-header,
	.site-main,
	.site-footer {
		font-size: 14rem;
	}
}
@media print,
(min-width: 768px) {
	:root {
		font-size: 1px;
	}
	.site-header,
	.site-main,
	.site-footer {
		font-size: 15rem;
	}
}
@media (min-width: 1600px) {
	:root {
		font-size: 0.0625vw;
	}
}


/* --HEADER-- */
@media all {
	.site-header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1001;
		background-color: rgba(255,255,255,.7);
		border-top: 4rem solid var(--red);
		font-feature-settings: "palt";
	}

	.site-header-logo {
		position: absolute;
	}

	.site-header-logo a {
		display: block;
	}

	.site-header-nav {
		font-weight: 500;
	}
	.site-header-nav-item a {
		display: inline-flex;
		align-items: center;
		transition: opacity .3s, color .3s, background .3s;
	}

	/* 言語切替 */
	.site-header-lang-list {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.site-header-lang-item a {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.site-header-lang-item .switch {
		position: relative;
		display: block;
		background-color: #fff;
		border: 1px solid var(--border);
		line-height: 1;
		transition: .3s;
	}
	.site-header-lang-item .switch::before {
		content: '';
		position: absolute;
		display: block;
		border-radius: 50%;
		background-color: var(--red);
		transition: .3s;
	}
	.site-header-lang-item a:hover .switch::before {opacity: .7;}

	/* sp&tab */
	@media only screen and (max-width: 1024px) {

		body.nav-active {
			overflow: hidden;
		}
		.site-header {transition: background-color .5s}
		.nav-active .site-header {background-color: #fff;}
		
		.site-header-nav {
			position: fixed;
			overflow-y: auto;
			z-index: 999;
			top: 64rem;
			left: 105vw;
			padding-bottom: 20rem;
			width: 60vw;
			max-height: calc(100vh - 64rem);
			background-color: #fff;
			border-bottom-left-radius: 20rem;
			font-size: 15rem;
			transition: left .5s;
		}
		
		.nav-active .site-header-nav {left: 0;}
		.site-header-nav,
		.site-header-nav-list {
			border-top: max(1rem, 1px) solid var(--red);
		}
		.site-header-nav-list {
			padding: 0;
			text-align: center;
		}
		.site-header-nav-item {
			position: relative;
			margin-left: auto;
			padding: 6rem 0;
			border-bottom: max(1rem, 1px) solid var(--lightgray);
			line-height: 1;
		}
		.nav-accordion-opener {
			position: absolute;
			top: max(17px, 17rem);
			right: 16rem;
			display: block;
			width: max(14px, 14rem);
			height: max(14px, 14rem);
			cursor: pointer;
			transition: transform .3s, opacity .3s;
			background: center / contain no-repeat url(../img/common/nav-toggle.svg);
		}
		.nav-accordion.open .nav-accordion-opener {
			background: center / contain no-repeat url(../img/common/nav-toggled.svg);
			transform: rotate(360deg);
		}
		.site-footer-nav .nav-accordion-opener {display: none;}
		
		.site-header-nav-item>a {
			padding: .75em 0;
			display: inline-block;
			/* padding-left: 40rem; */
		}

		.site-header-nav-item.nav-accordion > ul {
			display: none;
		}
		.site-header-nav-item.column,
		.site-header-nav-item.sitemap {display: none;}

		.site-header-nav-list_2 {
			padding: 10rem 0;
			width: 100vw;
			background-color: var(--bg1);
			line-height: 1;
		}
		.site-header-nav-item_2 > a {
			display: inline-block;
			margin: 10rem 0;
			/* padding-bottom: 12rem; */
			padding-left: 60rem;
			opacity: .6;
			font-size: 13rem;
		}
		.site-header-nav-item_2 > a::before {
			content: '-';
			display: inline-block;
			margin-right: 8rem;
		}
		/* 言語切替 */
		.site-header-lang-nav {
			padding: 16rem 0;
		}
		.site-header-lang-list {
			margin: 0 auto;
			width: 9.3333em;
			font-size: 16rem;
		}
		.site-header-lang-item .switch {
			margin: 0 6rem;
			padding: 2rem 4rem;
			width: 48rem;
			height: 24rem;
			border-radius: 12rem;
		}
		.site-header-lang-item .switch::before {
			width: 18rem;
			height: 18rem;
		}
		.site-header-lang-item a:hover .switch::before,
		body:lang(ja) .site-header-lang-item .switch::before {
			right: calc(100% - 20rem);
		}
		.site-header-lang-item .switch::before,
		body:lang(ja) .site-header-lang-item a:hover .switch::before {right: 2rem;}

	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.site-header {
			height: 64rem;
		}
		.site-header-logo {
			top: 11rem;
			left: 15rem;
		}
		.site-header-logo img {
			width: auto;
			height: 40rem;
		}
		.nav-active .site-header-nav {left: calc(100% - 60vw);}
		.site-header-nav-list {
			padding-top: 14rem;
		}
		.site-header-nav-list::before {
			content: '';
			position: absolute;
			top: 4rem;
			left: 10rem;
			display: block;
			width: calc(100% - 20rem);
			height: max(1rem, 1px);
			background-color: var(--bg2);
		}
		.site-header-nav-item {padding: 6rem 0;}
	}

	/* tab & pc */
	@media (min-width: 768px) {
		.site-header {
			height: 84rem;
		}
		.site-header-logo {
			top: 13rem;
			left: 40rem;
		}
		.site-header-logo img {
			width: 200rem;
		}
		.site-header-nav {font-size: 14rem;}
	}

	/* tab */
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		.site-header-nav {
			width: 300rem;
			padding-bottom: 30rem;
			font-size: 16rem;
		}
		.site-header-nav-list {padding-top: 8rem;}
		.site-header-nav-item {
			padding: 8rem 0;
		}
		.site-header-nav-item.nav-accordion::before,
		.site-header-nav-item.nav-accordion::after {top: 24rem;}
		.site-header-nav-list_2 {width: 300rem;}
		.nav-active .site-header-nav {left: calc(100vw - 300rem);}
		.site-header-lang-nav {
			top: 30rem;
			right: 100rem;
		}
	}

	/* pc */
	@media print,
	(min-width: 1025px) {

		.site-header-nav {
			position: absolute;
			bottom: 14rem;
			right: 30rem;
			width: calc(100% - 310rem);
			max-width: 844rem;
		}
		.site-header-nav-list {
			display: flex;
			justify-content: space-between;
			width: 100%;
		}
		.site-header-nav-item {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			height: 100%;
		}
		.site-header-nav-item.column {display: none;}
		.site-header-nav-item > a {
			position: relative;
		}
		.site-header-nav-item > a::after {
			content: '';
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 1px;
			background-color: rgba(186, 38, 54, 0);
			transition: background-color .3s;
		}
		#company .site-header-nav-item.company > a::after,
		#work .site-header-nav-item.work > a::after,
		#abroad .site-header-nav-item.abroad > a::after,
		#travel .site-header-nav-item.travel > a::after,
		#beauty .site-header-nav-item.beauty > a::after,
		#shipping .site-header-nav-item.shipping > a::after,
		#accommodations .site-header-nav-item.accommodations > a::after,
		#lifestyle .site-header-nav-item.lifestyle > a::after,
		#column .site-header-nav-item.lifestyle > a::after,
		#news .site-header-nav-item.news > a::after,
		#contact .site-header-nav-item.contact > a::after,
		.site-header-nav-item > a:hover::after {
			background-color: var(--red);
		}
		
		.site-header-nav-item.sitemap,
		.site-header-nav-list_2 {display: none!important;}
		
		/* 言語切替 */
		.site-header-lang-nav {
			position: absolute;
			top: 10rem;
			right: 30rem;
		}
		.site-header-lang-list {
			width: 112rem;
			font-size: 12rem;
		}
		.site-header-lang-item .switch {
			margin: 0 6rem;
			padding: 2rem;
			width: 40rem;
			height: 20rem;
			border-radius: 10rem;
		}
		.site-header-lang-item .switch::before {
			width: 14rem;
			height: 14rem;
		}
		.site-header-lang-item a:hover .switch::before,
		body:lang(ja) .site-header-lang-item .switch::before {
			right: calc(100% - 16rem);
		}
		.site-header-lang-item .switch::before,
		body:lang(ja) .site-header-lang-item a:hover .switch::before {right: 2rem;}
	}

}

/* --BURGER-- */
@media all {
	/* sp & tab */
	@media only screen and (max-width: 1024px) {
		.menu-trigger,
		.menu-trigger span {
			width: 30rem;
		}


		.menu-trigger {
			position: absolute;
			top: 22rem;
			right: 10rem;
			height: 27rem;
			visibility: visible;
			opacity: 1;
			cursor: pointer;
		}

		.menu-trigger span {
			position: absolute;
			left: 0;
			display: block;
			box-sizing: border-box;
			height: 3px;
			line-height: 0;
			background-color: #ACA69E;
			transition: transform .4s, top .2s, left .4s, opacity .4s;
		}
		.menu-trigger span:nth-of-type(1) {top: 0;}
		.menu-trigger span:nth-of-type(2) {top: calc(50% - 2px);}
		.menu-trigger span:nth-of-type(3) {top: calc(100% - 3px);}

		.nav-active .menu-trigger span:nth-of-type(1) {
			top: calc(50% - 2px);
			transform: rotate(-220deg) scaleX(1.25);
			/* transform: translateY(12rem) rotate(-220deg) scaleX(1.25); */
		}

		.nav-active .menu-trigger span:nth-of-type(2) {
			opacity: 0;
			left: 20rem;
		}

		.nav-active .menu-trigger span:nth-of-type(3) {
			top: calc(50% - 2px);
			transform: rotate(220deg) scaleX(1.25);
			/* transform: translateY(-12.5rem) rotate(220deg) scaleX(1.25); */
		}

		.nav-active .menu-trigger {
			visibility: visible !important;
			opacity: 1 !important;
		}

		.menu-trigger.hidden {
			visibility: hidden;
			opacity: 0;
			transition: .5s;
		}

		.menu-bg,
		.bg-trigger {
			display: block;
			position: fixed;
			top: 70rem;
			left: 0;
			width: 100%;
			height: calc(100vh - 70rem);
			visibility: hidden;
		}

		.menu-bg {
			background: rgba(0, 0, 0, .5);
			opacity: 0;
			transition: .5s;
		}

		.nav-active .menu-bg {
			opacity: 1;
			visibility: visible;
		}

		.bg-trigger {
			cursor: pointer;
		}

		.nav-active .bg-trigger {
			visibility: visible;
		}
	}
	/* sp */
	@media only screen and (max-width: 767px) {
		.bg-trigger,.menu-bg {top: 64rem;height: calc(100vh - 64rem);}
		.menu-trigger {top: 18rem;right: 18rem;}
	}
	/* tab */
	@media only screen and (min-width: 768px) and (max-width: 1024px) {
		.menu-trigger,
		.menu-trigger span {
			width: 40rem;
		}
		.menu-trigger {
			top: 23rem;
			right: 30rem;
			width: 40rem;
			height: 37rem;
		}
		.menu-trigger span {
			height: 4rem;
		}
		.menu-bg, .bg-trigger,.site-header-nav {
			top: 84rem;
		}
		.menu-bg, .bg-trigger {height: calc(100vh - 84rem);}
	}

	/* pc */
	@media print,
	(min-width: 1025px) {

		.menu-trigger,
		.menu-bg,
		.bg-trigger {
			display: none;
		}
	}
}


/* breadcrumbs */
@media all {
	.breadcrumbs,
	.breadcrumbs a {
		color: #bbb;
	}
	.breadcrumbs {
		position: relative;
	}
	
	.breadcrumbs-list {
		display: flex;
		align-items: center;
	}
	.breadcrumbs-item {flex-shrink: 0;}
	.breadcrumbs-item:last-child {
		flex-shrink: 1;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.breadcrumbs-item:not(:last-child)::after {
		content: '＞';
		display: inline-block;
		width: 3em;
		text-align: center;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.breadcrumbs-list {
			flex-wrap: wrap;
			padding: 10rem 20rem;
			font-size: 11rem;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.breadcrumbs {
			margin: 0 auto;
			padding: 0 20rem;
			max-width: 1040rem;
		}
		.breadcrumbs-list {
			flex-wrap: wrap;
			padding: 0 4rem 10rem;
			width: 40%;
			font-size: 11rem;
		}
		.breadcrumbs-item:nth-child(3) {
			width: 100%;
		}
		.breadcrumbs + .main-section {
			margin-top: 60rem;
		}
	}
}


/* main-header (not #home)*/
@media all {
	.main-header {
		position: relative;
		width: 100%;
		overflow: hidden;
	}
	.main-header::after {
		content: '';
		position: absolute;
		bottom: 0;
		display: block;
		width: 100%;
		height: 100%;
		background: center bottom / cover no-repeat url(../img/common/oval_white.svg);
		z-index: 1;
	}
	.main-header img {
		position: absolute;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.main-header,
		.main-header img {
			height: 60vw;
		}
		.main-header::after {
			background-size: cover;
			height: 54rem;
		}
		.main-header-ttl {font-size: 22rem;}
		.main-header-ttl::after {font-size: 13rem;}
	}

	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.main-header {
			height: 444rem;
		}
		.main-header::after {
			left: calc(50% - 800rem);
			width: 1600rem;
			height: 219rem;
		}
	}
	
	/* tab */
	@media (min-width: 768px) and (max-width: 1024px) {
		.main-header {background-size: 1280rem;}
	}
	/* pc */
	@media print,
	(min-width: 1025px) {}

}


/* site-main */
@media all {
	.bg-gray {background-color: var(--gray);}
	.site-main {
		overflow: hidden;
		position: relative;
		width: 100%;
	}
	.main-section {
		position: relative;
	}
	

/* --MAIN-- sp */
@media only screen and (max-width:767px) {}

	/* tab & pc */
	@media (min-width:768px) {
		/* .site-main {padding-top: 84rem;} */
	}

	/* pc */
	@media screen and (min-width:1025px) {}

	/* tab */
	@media screen and (min-width: 768px) and (max-width: 1024px) {
	}
}

/* main-section-ttl */
@media all {
	.main-section-ttl {
		position: relative;
		font-weight: bold;
		text-align: center;
	}
	.main-section-ttl::before {
		content: '';
		position: absolute;
		display: block;
		height: max(1rem, 1px);
		background: linear-gradient(to right, var(--red-rgba-0), var(--red), var(--red-rgba-0));
	}
	.main-section-ttl::after {
		content: attr(data-en);
		display: block;
		font-weight: 500;
		color: var(--red);
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.main-section-ttl {
			font-size: 25rem;
		}
		.main-section-ttl::before {
			bottom: 26rem;
			left: calc(50% - 170rem);
			width: 340rem;
		}
		.main-section-ttl::after {
			font-size: 13rem;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.main-section-ttl {
			font-size: 28rem;
		}
		.main-section-ttl::before {
			bottom: 32rem;
			left: calc(50% - 300rem);
			width: 600rem;
		}
		.main-section-ttl::after {
			margin-top: 1em;
			font-size: 14rem;
		}
	}
}

/* default button */
@media all {
	.button {
		display: inline-block;
		padding: .6em .75em;
		border: 1px solid var(--red);
		line-height: 1;
	}
	.button-arrow::before {
		content: '';
		display: inline-block;
		background: center / contain no-repeat url(../img/common/red-arrow.svg);
	}
	@media only screen and (max-width: 767px) {
		.button {font-size: 14rem;}
		.button-arrow::before {
			margin-right: .75em;
			width: 30rem;
			height: 1em;
		}
	}
	@media print,
	(min-width: 768px) {
		.button {font-size: 14rem;}
		.button-arrow::before {
			margin-right: .75em;
			width: 30rem;
			height: 1em;
		}
	}
}

/* banded img */
@media all {
	.banded img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	@media only screen and (max-width: 767px) {
		.banded {
			width: 100%;
			height: 150rem;
		}
	}
	
	@media print,
	(min-width: 768px) {
		.banded {
			width: 100%;
			height: 300rem;
		}
	}
}

/* --FOOTER-- */
@media all {
	.site-footer {
		position: relative;
		background-color: var(--red);
		color: #fff;
	}
	.site-footer::before {
		content: '';
		position: absolute;
		bottom: calc(100% - 1px);
		left: 0;
		display: block;
		width: 100%;
		background: center / cover no-repeat url(../img/common/oval_red.svg);
	}
	.site-footer a {color: #fff;}
	.site-footer .footer-contact {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: space-evenly;
		/* background: center / cover no-repeat url(../img/common/contact-bg.jpg); */
		background-image: url(../img/common/contact-bg.jpg);
	}
	.footer-contact::before {
		content: '';
		position: absolute;
		display: block;
		width: 100%;
		height: 100%;
		background-color: rgba(62,96,136,.5);
		mix-blend-mode: darken;
	}
	.footer-contact-txt {
		position: relative;
		font-weight: bold;
		color: white;
		text-align: center;
	}
	
	.footer-address {font-style: normal;line-height: 1.5;}
	.site-footer-nav-list a {color: #fff;}

	.gmap.footer-map {
		filter: grayscale(100%);
	}
	.footer-bottom {text-align: center;}
	.copyright {
		display: inline-block;
		margin: 24rem 0 16rem;
		padding: 4rem 5rem 7rem;
		background-color: var(--light-red);
		font-size: 11rem;
		font-weight: normal;
		color: #930010;
		text-align: center;
		line-height: 1;
	}
	
	/* sp & tab */
	@media only screen and (max-width: 1024px) {
		.footer-logo-address {
			position: relative;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
		}
		.footer-logo-address::after {
			content: '';
			position: absolute;
			bottom: -22rem;
			left: 15%;
			display: block;
			height: max(1rem, 1px);
			width: 70%;
			background-color: var(--light-red);
		}
		.footer-logo a > * {display: block;text-align: center;line-height: 3;}
		
		.footer-address {margin-top: 20rem;}
		.footer-address-sns {
			display: grid;
			grid-template-columns: 65rem 170rem;
			margin: 1.75em auto 0;
			width: 235rem;
			line-height: 2;
		}

	}
	/* sp */
	@media only screen and (max-width: 767px) {
		.site-footer {margin-top: 53rem;}
		.site-footer::before {
			height: 54rem;
			background-position: bottom center;
		}
		.site-footer-nav-item:not(.sitemap) {display: none;}

		.footer-top {
			position: relative;
			padding-top: 50rem;
		}
		.footer-logo-address {
			display: flex;
			justify-content: center;
			padding: 0 20rem;
		}
		.footer-logo {
			width: 200rem;
		}
		.footer-address {
			font-size: 13rem;
		}
		.site-footer-nav {
			margin-top: 40rem;
			padding-right: 60rem;
			text-align: right;
		}

		.copyright {
			margin-top: 30rem;
			padding: 6rem;
		}
	}
	/* tab & pc */
	@media print,
	(min-width: 768px) {
		.site-footer {margin-top: calc(214rem - 2px);}
		.site-footer::before {
			height: 219rem;
		}
		.footer-top {
			margin: 0 auto;
			padding: 50rem 0 0;
			max-width: 750rem;
		}

		.site-footer-nav {
			order: 3;
			width: 364rem;
		}
		.site-footer-nav-list {
			display: flex;
			flex-direction: column;
			flex-wrap: wrap;
			align-content: space-between;
			height: 140rem;
			font-size: 14rem;
			line-height: 2.5;
		}

		.footer-bottom {
			margin: 30rem auto 0;
			padding: 0 20rem;
			max-width: 1080rem;
		}
		.footer-map {
			height: 240rem;
		}
	}
	/* tab */
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		.footer-top {padding: 50rem 0 0;}
		.site-footer-nav {
			margin: 40rem auto 0;
		}
		.site-footer-nav-list {
			justify-content: center;
		}
	}
	/* pc */
	@media (min-width: 1025px) {
		.footer-top {
			display: flex;
			justify-content: space-between;
			align-items: end;
		}
		.footer-top::after {
			content: '';
			display: block;
			order: 2;
			height: 224rem;
			width: max(1rem, 1px);
			background-color: var(--light-red);
		}
		.footer-logo-address {
			order: 1;
			flex-shrink: 0;
			width: 205rem;
			font-size: 13rem;
		}
		.footer-logo >a >span {
			display: block;
			margin-top: 1em;
			font-size: 14rem;
			font-weight: 500;
		}
		.footer-address {margin-top: 2em;}
		.footer-address > span {display: inline-block;}
		.footer-address-sns {
			display: grid;
			grid-template-columns: 56rem 149rem;
			margin-top: 1.75em;
			line-height: 2;
		}
		.site-footer-nav-list_2 {
			display: block!important;
			height: auto!important;
		}
	}
}

/* 印刷用 */
@media print {
	body {
		width: 100%;
	}

	.site-header {
		position: absolute;
	}
	.site-header-nav,
	.to-top {
		display: none !important;
	}

}


/* --TO TOP-- */
@media all {
	.to-top {
		display: none;
		position: fixed;
		z-index: 1000;
		bottom: 20px;
		right: 20px;
		width: 3.4375em;
		height: 3.4375em;
		border-radius: 50%;
		box-shadow: 0 0 2px 1px #fff;
		font-size: 12px;
		overflow: hidden;
	}

	.to-top a {
		display: block;
		width: 100%;
		height: 100%;
		background-color: var(--red);

	}
	.to-top a::after {
		content: '';
		position: absolute;
		top: 42.5%;
		left: 35%;
		width: 25%;
		height: 25%;
		border: 1px solid #fff;
		border-left: none;
		border-bottom: none;
		transform: translateY(0) rotate(-45deg);
		transition: .3s;
	}

	.to-top a:hover::after {
		transform: translateY(-30%) rotate(-45deg);
	}
}
/* sp */
@media only screen and (max-width: 767px) {
	.to-top {
		font-size: var(--sp-vw-12px);
	}
}
/* pc */
@media (min-width: 1025px) {
	.to-top a {
		font-size: 12.8px;
	}
}

/* inview */
@media not print {
	.elemFadeIn {
		opacity: 0;
		filter: blur(1rem);
		transform: translateY(30rem);
		transition: .5s opacity, .5s filter, .5s transform;
	}

	.elemFadeIn.animated {
		opacity: 1;
		filter: blur(0);
		transform: translateY(0rem);
	}

	.elemUpperIn {
		transform: translateY(60rem);
		transition: transform .4s cubic-bezier(0.42, 0, 0.47, 2.5);
	}
	.elemUpperIn.animated {
		transform: translateY(0);
	}

	.elemPolygonIn-LR {
		clip-path: polygon(0 100%, 0 100%, 0 100%);
		transition: clip-path 1.5s ease-out;
	}
	.elemPolygonIn-LR .elemPolygonIn-fadeIn {
		opacity: 0;
		transition: opacity 1s;
		transition-delay: 1s;
	}
	.elemPolygonIn-LR.animated {
		clip-path: polygon(0 -100%,0 100%,200% 100%);
	}
	.elemPolygonIn-LR.animated .elemPolygonIn-fadeIn {
		opacity: 1;
	}

	.elemPolygonIn-RL {
		clip-path: polygon(100% 100%, 100% 100%, 100% 100%);
		transition: clip-path 1.5s ease-out;
	}
	.elemPolygonIn-RL .elemPolygonIn-fadeIn {
		opacity: 0;
		transition: opacity 1s;
		transition-delay: 1s;
	}
	.elemPolygonIn-RL.animated {
		/* clip-path: polygon(0 0, 100% 200%, 100% -100%); */
		clip-path: polygon(-100% 100%, 100% -100%, 100% 100%);
	}
	.elemPolygonIn-RL.animated .elemPolygonIn-fadeIn {
		opacity: 1;
	}
	.smoothText {display: block;overflow: hidden;}
	.smoothTextTrigger {
		display: block;
		transition: .8s cubic-bezier(0.42, 0, 0.47, 1.41);
		transform: translate3d(0, 100%, 0) skewY(12deg);
		transform-origin: left;
	}
	.elemPolygonIn-RL .smoothTextTrigger,
	.elemPolygonIn-LR .smoothTextTrigger {
		transition-delay: .25s;
		transition-property: transform;
	}
	.animated .smoothTextTrigger {
		transform: translate3d(0,0,0) skewY(0);
	}

	.elemPopIn {
		opacity: 0;
		transform: scale(0);
		transition: transform .3s cubic-bezier(0.42, 0, 0.47, 1.5), opacity .4s, filter .4s;
	}
	.animated.elemPopIn {
		opacity: 1;
		transform: scale(1);
	}

	.elemToggleUp-Obj {
		position: absolute;
		bottom: 0;
		display: none;
	}	
}

/* pagination */
@media all {
	.pagination {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin: 0 auto;
		padding: 0 10rem;
	}
	.page-item {
		margin: 0 2rem;
	}
	.page-item.disabled {display: none;}
	.page-item:first-child,
	.page-item:first-child a,
	.page-item:first-child a:hover,
	.page-item:last-child,
	.page-item:last-child a,
	.page-item:last-child a:hover {
		color: transparent;
		background-position: center;
		background-size: 7rem;
		background-repeat: no-repeat;
		background-image: url(../img/icon_gt-g.svg);
	}
	.page-item:first-child a:hover,
	.page-item:last-child a:hover {
		background-image: url(../img/icon_gt-w.svg);
	}
	.page-item .page-link {
		display: flex;
		justify-content: center;
		align-items: center;
		padding-bottom: 1rem;
		border-radius: 1em;
		min-width: 1.5em;
		height: 1.5em;
		font-size: 13rem;
		transition: .3s;
	}
	.page-item a:hover,
	.page-item.active span {
		background-color: #000;
		color: #fff;
	}

	nav.page-nav {
		text-align: center;
	}
	.prev_next-link,
	ul.page-numbers {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
	}
	ul.page-numbers li + li {
		margin-left: .5em;
	}
	.back-all a {margin: 0 .5em;padding: 0 1em;}
	.prev-link a,.next-link a,.back-all a,
	a.page-numbers,
	span.page-numbers {
		display: flex;
		align-items: center;
		justify-content: center;
		border: max(1rem, 1px) solid var(--font-gray);
		transition: background-color .3s;
		background: center no-repeat;
	}
	a.page-numbers:hover,
	.prev_next-link a:hover,
	span.page-numbers.current {
		border-color: var(--red);
		background-color: rgba(186, 38, 54, .1);
	}
	.prev-link a,
	a.page-numbers.prev {
		background-image: url(../img/common/icon-prevnext.svg);
		transform: rotate(180deg);
	}
	.next-link a,
	a.page-numbers.next {
		background-image: url(../img/common/icon-prevnext.svg);
	}
	@media only screen and (max-width: 767px) {
		.prev_next-link, ul.page-numbers {margin: 60rem auto 80rem;}
		.prev-link a, .next-link a,
		a.page-numbers,
		span.page-numbers,
		a.page-numbers.prev,
		a.page-numbers.next {
			width: 30rem;
			height: 30rem;
		}
		.back-all a {height: 30rem;}
	}

	/* tab & pc */
	@media (min-width:768px) {
		.prev_next-link, ul.page-numbers {margin: 100rem auto 50rem;}
		ul.page-numbers li + li {
			margin-left: .5em;
		}
		.prev-link a, .next-link a,
		a.page-numbers,
		span.page-numbers,
		a.page-numbers.prev,
		a.page-numbers.next {
			width: 40rem;
			height: 40rem;
		}
		.back-all a {
			height: 40rem;
			font-size: 14rem;
		}
	}
}

/* Google Maps */
@media all {
	.gmap iframe {
		width: 100%;
		height: 100%;
	}
}

/* --Util--*/
@media all {
	.clearfix::after {
		content: '';
		display: block;
		clear: both;
	}
	.mt-10 {margin-top: 1em;}
	.mt-15 {margin-top: 1.5em;}
	.mt-20 {margin-top: 2em;}
	.mt-25 {margin-top: 2.5em;}
	
	.inl_bk {display: inline-block;}

	.disc-list li,
	.dot-list li,
	.circle_num-list li {
		position: relative;
		padding-left: 1em;
	}
	.disc-list li::before,
	.dot-list li::before,
	.circle_num-list li::before {
		position: absolute;
		left: 0;
	}
	.disc-list li::before {content: '●';}
	.dot-list li::before {content: '・';}
	.circle_num-list li:nth-child(1)::before {content: '\02460';}
	.circle_num-list li:nth-child(2)::before {content: '\02461';}
	.circle_num-list li:nth-child(3)::before {content: '\02462';}
	.circle_num-list li:nth-child(4)::before {content: '\02463';}
	.circle_num-list li:nth-child(5)::before {content: '\02464';}
	.circle_num-list li:nth-child(6)::before {content: '\02465';}
	.circle_num-list li:nth-child(7)::before {content: '\02466';}
	.circle_num-list li:nth-child(8)::before {content: '\02467';}
	.circle_num-list li:nth-child(9)::before {content: '\02468';}

	/* --Util-- sp */
	@media only screen and (max-width: 767px) {
		.spNone {
			display: none!important;
		}
	}

	/* --Util-- tab & sp */
	@media only screen and (max-width: 1024px) {
		.pcOnly {
			display: none!important;
		}
	}

	/* --Util-- tab & pc */
	@media print,
	(min-width: 768px) {
		.spOnly {
			display: none!important;
		}
	}

	/* --Util-- pc */
	@media print,
	(min-width: 1025px) {
		.pcNone {
			display: none!important;
		}
	}
}

/* the_content() */
@media all {
	.the_content {
		border-top: max(1rem, 1px) solid var(--border);
		border-bottom: max(1rem, 1px) solid var(--gray);
	}
	.the_content ul li {
		margin-left: 1.5em;
		list-style-type: disc;
	}
	.the_content ol li {
		margin-left: 1.5em;
		list-style-type: decimal;
	}
	.the_content * + * {margin-top: 1em;}
	.the_content li + li {margin-top: 0;}

	/* sp */
	@media only screen and (max-width: 767px) {
		.the_content {
			margin-top: 20rem;
			padding: 30rem 0 30rem;
			font-size: 14rem;
		}
		.the_content img {width: 100%;}
	}
	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.the_content {
			margin-top: 30rem;
			padding: 50rem 0 60rem;
			font-size: 14rem;
		}
		.the_content::after {
			content: '';
			display: block;
			clear: both;
		}
	}
}

.gmap iframe {
	width: 100%;
	height: 100%;
}



/* --フォーム-- */
@media all {
	.required::after {
		content: '必須';
		display: inline-block;
		padding: .2em .75em;
		background-color: var(--red);
		border-radius: 1.5em;
		font-weight: normal;
		color: #fff;
		line-height: 1;
	}
	.required:lang(zh_CN)::after {
		content: '必需的';
	}

	.form-list {
		display: flex;
		flex-wrap: wrap;
		margin: 0 auto;
	}

	.form-list input,
	.form-list select,
	.form-list textarea,
	.form-list div.privacy {
		box-sizing: border-box;
		padding-left: 1em;
		width: 100%;
		border: 1px solid var(--border-dark);
		background-color: #fff;
		outline: none;
		/* -webkit-border-radius: 0;
		-webkit-appearance: none; */
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	}
	.form-list div.privacy {overflow-y: auto;}

	/* .form-list select {
		padding-left: 2em;
		background: left center / 1.5em .7em no-repeat url(../img/common/form-select-triangle.svg);
	} */

	.form-list input[type="checkbox"],
	.form-list input[type="radio"] {
		position: relative;
		margin: 0 .5em 0 0;
		padding: 0;
		width: 16rem;
		height: 16rem;
		background: #fff;
		border: 1px solid var(--border-dark);
		border-radius: 50%;
		cursor: pointer;
		transform: translateY(-1rem);
	}
	.form-list input[type="checkbox"]:checked::after,
	.form-list input[type="radio"]:checked::after {
		content: '';
		position: absolute;
		top: 2rem;
		left: 2rem;
		width: 10rem;
		height: 10rem;
		border-radius: 50%;
		background-color: var(--red);
	}
	.form-list input[name="zip"] {width: 9em;}
	.form-list label {
		display: inline-block;
	}

	/* chromeのautofill時の対策
	input:-webkit-autofill {
			-webkit-box-shadow: 0 0 0 1000px #373740 inset;
			-webkit-text-fill-color: #162D52;
	}*/
	.form-list textarea,
	.form-list div.privacy {
		padding: .75em 1em;
	}
	.form-list div.privacy {margin-bottom: 1em;}

	input::placeholder,
	textarea::placeholder {
		color: #c8c8c8;
	}

	.form-list .privacy a {
		text-decoration: underline;
	}

	.submit-btn,
	.button-form_check,
	.form-accordion-opener  {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 4em auto 0;
		font-weight: 500;
		color: var(--red);
		cursor: pointer;
	}


	.form-list .pre-text {display: inline-block;margin-right: .25em;}
	.form-list dd.privacy {font-size: 14rem;}
	.form-list dd.privacy p + * {margin-top: 1em;}
	.form-list dd.privacy * + p {margin-top: 1em;}
	.form-list dd.privacy ul li {
		position: relative;
		padding-left: 2em;
	}
	.form-list dd.privacy ul li::before {
		content: '';
		position: absolute;
		top: 9rem;
		left: 10rem;
		display: block;
		width: 8rem;
		height: 8rem;
		background-color: var(--blue);
		border-radius: 50%;
	}
	.form-list dd.privacy ul li + li {margin-top: .5em;}

	.checking .check-inner,
	.checking .check-list>dl {background-color: var(--bg0);}
	.checking .check-list-outer::before {
		background: linear-gradient(to bottom, rgba(250,246,240,1), rgba(250,246,240,0));
	}
	.checking .check-list-outer::after {
		background: linear-gradient(to top, rgba(250,246,240,1), rgba(250,246,240,0));
	}


	/* --フォーム-- sp */
	@media only screen and (max-width: 767px) {
		.form {
			margin-top: 30rem;
		}
		.form-list {
			flex-direction: column;
			font-size: 15rem;
		}

		.form-list input,
		.form-list select {
			height: 3em;
		}

		.form-list textarea,
		.form-list div.privacy {
			height: 8em;
		}
		.form-list div.privacy {
			overflow: auto;
		}

		.form-list dt {
			padding-top: 1em;
			font-weight: 500;
		}

		.required::after {
			margin-left: 8rem;
			padding: 2rem .75em;
			font-size: 12rem;
		}

		.form-list dd {
			margin-top: 8rem;
		}

		.form-list dd+dt {
			margin-top: 1em;
		}
		.form-list dd .notice {
			font-size: 12rem;
		}

		.submit-btn,
		.button-form_check,
		.form-accordion-opener {
			margin-top: 3em;
			padding-right: 1.5em;
			width: 73.4375vw;
			height: 50rem;
			font-size: 16rem;
		}
	}

	/* --フォーム-- tab & pc */
	@media print,
	(min-width: 768px) {
		.form {
			margin: 80rem auto 0;
			max-width: 750rem;
		}


		.form-list dt,
		.form-list dd {
			margin-bottom: 16rem;
			padding-top: 16rem;
		}

		.form-list dt {
			display: flex;
			flex-direction: column;
			width: 150rem;
			font-size: 15rem;
			line-height: 1.5;
		}
		.form-list dt:not(.required) {margin-top: 1em;}
		.required::after {
			margin-top: 4rem;
			padding: .2em 0 .3em;
			width: 3.5em;
			font-size: 12rem;
			text-align: center;
		}

		.form-list dd {
			width: calc(100% - 150rem);
		}

		.form-list input,
		.form-list select {
			width: 100%;
			height: 50px;
		}

		.form-list textarea,
		.form-list div.privacy {
			height: 10em;
		}
		.form-list input[type="checkbox"],
		.form-list input[type="radio"] {
			width: 20rem;
			height: 20rem;
		}
		.form-list input[type="checkbox"]:checked::after,
		.form-list input[type="radio"]:checked::after {
			top: 4rem;
			left: 4rem;
			width: 10rem;
			height: 10rem;
		}
		.form-list dd .notice {
			font-size: 14rem;
		}
		.form-list dd.type {
			display: flex;
			flex-wrap: wrap;
			padding-right: 200rem;
		}
		.form-list dd.type label:nth-child(odd) {width: 230rem;}
		.form-list dd.type label:nth-child(even) {width: 150rem;}
		.form-list dd.type label:nth-child(n+3) {margin-top: 1em;}
		.form-list dd.name,
		.form-list dd.kana {padding-right: 40%;}
		.form-list dd.tel {padding-right: 50%;}

		.submit-btn,
		.button-form_check,
		.form-accordion-opener {
			width: 260rem;
			height: 54rem;
			font-size: 18rem;
			transition: background-color .3s, color .3s;
		}
		.submit-btn:hover,
		.button-form_check:hover,
		.form-accordion-opener:hover {
			background-color: var(--red);
			color: #fff;
		}

		/* tab */
		@media screen and (max-width: 1024px) {
			.form {
				padding: 0 50rem;
				max-width: 850rem;
			}
		}
	}
}

/* --確認フォーム-- */
@media all {
	#dispmsg {
		display: none;
		margin: 0 auto 30rem;
		padding: 0;
		font-size: 18rem;
		text-align: center;
		line-height: 2;
	}

	#dispmsg.open {
		display: block;
	}

	#dispmsg.error {
		display: block;
		color: #c00;
	}

	#dispmsg span {
		display: inline-block;
	}

	.form-check {
		width: 0;
		height: 0;
		opacity: 0;
		overflow: hidden;
		/* transition: .3s opacity; */
	}

	.checking {
		overflow: hidden;
	}

	.checking .form-check {
		position: fixed;
		top: 0;
		left: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: 0 20rem;
		width: 100%;
		min-width: 320px;
		height: 100vh;
		background: rgba(0, 0, 0, .7);
		opacity: 1;
		overflow-x: scroll;
		z-index: 9999;
	}

	.checking .check-inner {
		display: flex;
		flex-direction: column;
		justify-content: center;
		/* margin: 20px 0; */
		padding: 0 20rem;
		width: 90%;
		max-width: 640rem;
		background: #fff;
		border-radius: 10rem;
	}

	.checking .check-inner .notice {
		padding: 20rem 0;
		width: 100%;
		font-size: 16rem;
		font-weight: bold;
		text-align: center;
	}

	.checking .check-inner .notice span {
		display: inline-block;
	}

	.checking .check-list-outer {
		position: relative;
	}

	.checking .check-list-outer::before,
	.checking .check-list-outer::after {
		content: '';
		position: absolute;
		left: 0;
		width: calc(100% - 20px);
		height: 32px;
		z-index: 1;
	}
	.checking .check-list-outer::before {
		top: 0;
		background: linear-gradient(to bottom, #fff, rgba(255, 255, 255, 0));
	}

	.checking .check-list-outer::after {
		bottom: 0;
		background: linear-gradient(to top, #fff, rgba(255, 255, 255, 0));
	}

	.checking .check-list {
		max-height: 60vh;
		padding-bottom: 32px;
		overflow-y: scroll;
	}

	.checking .check-list>dl {
		display: flex;
		flex-wrap: wrap;
		margin: 10rem auto 0;
		padding: 0 10rem;
		max-width: 530rem;
		background: #fff;
	}

	.checking .check-list>dl>dt {
		width: 10em;
		font-weight: 500;
	}

	.checking .check-list>dl>dd {
		width: calc(100% - 10em);
	}

	.checking .check-list>dl>dt,
	.checking .check-list>dl>dd {
		padding: 1em 0;
		border-bottom: 1px solid var(--border);
	}

	.checking .check-list>dl>dt:last-of-type,
	.checking .check-list>dl>dd:last-of-type {
		border: none;
	}
	
	.checking .dot-li {
		position: relative;
	}
	.checking .dot-li + .dot-li {
		margin-top: .25em;
	}
	.checking .dot-li::before {
		content: '・';
		position: absolute;
		top: 0;
		left: -1em;
	}

	.form-check .submit {
		display: flex;
		align-items: center;
		justify-content: space-around;
		padding: 16rem 1em 24rem;
		max-width: 640rem;
	}

	.form-check .return,
	.button-form_check {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 2.5em;
	}

	.form-check .return {
		width: 100%;
		max-width: 8em;
		font-size: 14rem;
		text-align: center;
		border: max(1rem, 1px) solid var(--border-dark);
		cursor: pointer;
		text-decoration: none;
	}
	.form-check .return::after {content: none;}

	.button-form_check {
		margin: 0;
		padding-right: 1em;
		max-width: 11em;
		box-shadow: none;
		font-size: 16rem;
		cursor: pointer;
	}

	.form-sent {
		position: relative;
		display: none;
		margin: 30rem auto 0;
		text-align: center;
	}

	.form-accordion-opener {
		margin: 0 auto;
		padding: 8rem 0;
		width: 15em;
		font-size: 18rem;
		cursor: pointer;
	}
	.form-accordion-opener::after {content: none;}

	.sending-effect {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 10000;
		background: center / 120rem no-repeat var(--red) url(../img/common/loading.svg);
		width: 100vw;
		height: 100vh;
		visibility: hidden;
		opacity: 0;
	}
	.sending-effect.sending {
		opacity: 1;
		visibility: visible;
	}


/* 確認フォーム-- sp */
@media only screen and (max-width: 767px) {
	#dispmsg {
		margin-top: 12rem;
		width: calc(100% - 4vw);
		font-size: 14rem;
		padding-left: 0;
		padding-right: 0;
		font-feature-settings: "palt";
	}

	.checking .form-check,
	.checking .check-inner {
		padding: 0;
	}

	.checking .check-inner .notice {
		padding: 20rem;
	}

	.checking .check-list>dl {
		flex-direction: column;
		padding: 0 20rem;
	}

	.checking .check-list>dl>dt {
		padding-bottom: 0;
		border-bottom: none;
		font-weight: bold;
	}

	.checking .check-list>dl>dt,
	.checking .check-list>dl>dd {
		width: 100%;
	}
	.checking .check-list>dl>dd {
		padding: .5em 0 0 1em;
	}

	.form-check .submit {
		flex-direction: column-reverse;
		align-items: center;
	}

	.form-check .return {
		margin-top: 1em;
	}

	.form-sent {
		width: calc(100% - 4vw);
		font-feature-settings: "palt";
	}

	.form-accordion-opener {
		width: 14em;
		font-size: 13rem;
	}
}

/* 確認フォーム-- tab & pc */
@media only screen and (max-width: 1024px) {
}
}