
:root {
  --vw: 1vw;
}

* { box-sizing: border-box; padding:0; margin:0;  }
div, p, span, figure, h2,  h3,  ol,  ul,  li { margin:0; padding:0; list-style:none; }
body {
	color:#666666 !important;
	padding-top:0 !important;
	font-family: "Gen Interface JP", sans-serif;
	font-weight: 400;
}

html.is-fixed,
html.is-fixed body {
	height: 100%;
	overflow: hidden;
}

main {
	padding:0 !important;
	margin:0 !important;
	flex: 1;
}
 a, a:hover {
	text-decoration:none !important;
	color:#666666 !important;
	transition: all 500ms 0s ease;
}
 img {
	max-width:100%;
	height:auto;
	display:block;
	margin:0 auto;
	padding:0 !important;
	vertical-align:bottom !important;
}
 .pc { display:block; }
 .sp { display:none !important; }


/* ________________________________ */

#wrapper {
	width:calc(100vw - calc(100vw - 100%)) !important;
	display:flex;
  	flex-direction:column;
 	min-height: 100vh !important;
	padding-top:auto;
	margin-top:0 !important;
	text-align:center !important;
	overflow-x: hidden !important;
	box-sizing:border-box !important;
	letter-spacing:0.03em;
	line-height:1.7em;
	color:#000;
	background:none;
/*	position:relative;
	left:50% !important;
	-webkit-transform: translate(-50%, 0%) !important;
	-ms-transform: translate(-50%, 0%) !important;
	transform:translate(-50%, 0%) !important; */
}
.chrome #wrapper {
/*	width:calc(100vw - 16px);
	width:calc(100vw - calc(100vw - 100%)); */
}

section {
	margin:0;
	padding:0;
}
section p {
	width:90% !important;
}

/* ------------------------------------------- */
/* ------------------------------------------- */

@media screen and (max-width:849px) {

 .pc { display:none !important; }
 .sp { display:block !important; }
 
body {
	font-size:2.7vw !important;
}
}


/* ============================== */

.mainimagearea {
	position:relative;
	background:#d0dbea;
}
.mainimagearea #main_txt {
	width:19%;
	max-width:378px;
	position:absolute;
	top:50%;
	left:30%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform:translate(-50%, -50%);
}
.mainimagearea #main_txt span {
	display:block;
}
.mainimagearea #main_txt .logo_hk {
	margin:2.5em auto 1.0em auto !important;
	font-size:23px;
	height:1.0em;
	width:auto;
}
.mainimagearea #main_txt p {
	width:100%;
	font-size:15px !important;
	white-space: nowrap;
}

@media only screen and (max-width: 849px) {
.mainimagearea #main_txt {
	width:70% !important;
	max-width:auto !important;
	color:#fff;
	position:absolute;
	top:auto;
	bottom:13%;
	left:50%;
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	transform:translate(-50%, 0%);
}
.mainimagearea #main_txt {
	width:70% !important;
	max-width:auto !important;
	color:#fff;
	position:absolute;
	top:auto;
	bottom:13%;
	left:50%;
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	transform:translate(-50%, 0%);
}
.mainimagearea #main_txt .logo_hk {
	width:85% !important;
	font-size:3.0vw !important;
}
.mainimagearea #main_txt p {
	width:100%;
	font-size:2.5vw !important;
	white-space: nowrap;
}
}


/*___________________________ */

.item .itemwrap {
	display:flex;
	flex-wrap:nowrap;
	align-items:stretch;
	gaps:0;
}
.item .itemwrap > div {
	width:50%;
	position:relative;
}
.item .itemwrap > div:nth-of-type(2) {
	display:flex;
	flex-wrap:nowrap;
	align-items:center;
}
.item#item_a .itemwrap,
.item#item_d .itemwrap {
	background:#d0dbea;
}
.item#item_b .itemwrap > div:nth-of-type(1) {
	order:2;
}
.item#item_b .itemwrap {
	background:#c8c8d7;
}
.item#item_b .itemwrap > div:nth-of-type(2) {
	order:1;
}
.item#item_c .itemwrap {
	background:#eae4cf;
}

.item .itemwrap #item_txt {
	width:65%;
	margin:auto;
}
.item .itemwrap #item_txt img {
	width:100%;
	margin:30px auto 50px auto;
}
.item .itemwrap #item_txt h1 {
	font-weight:800;
	font-size:58px;
	line-height:1.0em;
	margin:0 auto 0 auto;
}
.item .itemwrap #item_txt .logo {
	display:block;
	font-size:43px;
	max-height:43px;
	width:auto;
}
.item .itemwrap #item_txt p {
	font-weight:500;
	font-size:27px;
	line-height:1.0em;
	margin:1.0em auto 0 auto;
	white-space: nowrap;
}

.item#item_d .itemwrap > div {
	width:calc(100% / 3);
	position:relative;
}
.item#item_d .itemwrap > div > p {
	width:100%;
	position:absolute;
	left:50%;
	top:auto;
	bottom:12%;
	color:#fff;
	font-size:16px;
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	transform:translate(-50%, 0%);
}

@media only screen and (max-width: 849px) {

.item .itemwrap {
	display:flex;
	flex-wrap:wrap;
}
.item .itemwrap > div {
	width:100% !important;
	position:relative;
}
.item .itemwrap > div > h1 {
	font-weight:800 !important;
	font-size:7.0vw;
	position:absolute;
	text-align:left;
	line-height:1.2em;
	top:auto;
	bottom:-1.3em;
	left:5%;
}
.item#item_a .itemwrap > div > h1 {
	font-weight:800 !important;
	font-size:7.0vw;
	position:absolute;
	text-align:right;
	line-height:1.2em;
	top:auto;
	bottom:-1.3em;
	left:auto;
	right:5%;
}
.item#item_d .itemwrap > div {
	width:100% !important;
	position:relative;
}
.item#item_a .itemwrap > div:nth-of-type(2),
.item#item_b .itemwrap > div:nth-of-type(2),
.item#item_c .itemwrap > div:nth-of-type(2) {
	padding:100px 0 150px 0;
}
.item#item_b .itemwrap > div:nth-of-type(1) {
	order:1;
}
.item#item_b .itemwrap > div:nth-of-type(2) {
	order:2;
}
.item .itemwrap #item_txt .logo {
	display:block;
	width:100%;
	max-height:auto;
	margin:50px auto 0 auto !important;
}
.item .itemwrap #item_txt p {
	font-weight:500;
	font-size:3.0vw;
	line-height:1.0em;
	margin:2.0em auto 0 auto;
}
.item#item_d .itemwrap > div > p {
	font-size:3.3vw;
	left:50%;
	top:auto;
	bottom:8%;
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	transform:translate(-50%, 0%);
}
}


/*___________________________ */

#mailmagazine {
	padding:150px 0;
	background:#f7f7f7;
}
#mailmagazine h1 {
	font-size:27px;
	font-weight:500;
}
#mailmagazine p {
	font-size:17px;
	font-weight:400 !important;
	margin:1.5em auto 3.0em auto;
}
#mailmagazine .btn_l {
}
#mailmagazine .btn_l > a {
	font-size:17px;
	font-weight:400;
	color:#fff !important;
	background:#000;
	padding:0.7em 3.5em;
}

@media only screen and (max-width: 849px) {
#mailmagazine h1 {
	font-size:5.5vw;
	font-weight:500;
	line-height:1.3em;
}
#mailmagazine p {
	font-size:2.7vw;
	line-height:1.7em;
	font-weight:400 !important;
	margin:2.0em auto 5.0em auto;
}
#mailmagazine .btn_l > a {
	font-size:2.7vw;
	font-weight:400;
	color:#fff !important;
	background:#000;
	padding:0.7em 3.5em;
}
}



/* ============================== */


footer#footer {
	width:100%;
	height:auto;
	box-sizing:border-box;
	background:#0d0d0d;
	color:#fff;
	padding:7% 0 0% 0;
	letter-spacing:0.02em;
}

footer#footer .footer_wrap {
	display:flex;
	flex-direction:column;
	align-items:center;
	margin:0 auto;
}
footer#footer .footer_wrap .logo {
	display:block;
	width:30%;
	max-width:110px;
	margin:0 auto;
}
footer#footer .footer_wrap .logo_f {
	display:block;
	width:100%;
	max-width:100vw;
	margin:150px auto 0 auto;
}
footer#footer .footer_wrap > p {
	display:block;
	text-align:center;
	font-size:15px;
	text-align:center;
	margin:4.0em auto 0px auto !important;
}

@media only screen and (max-width: 849px) {

footer#footer {
	width:100%;
	box-sizing:border-box;
	padding:15% 0 0% 0;
}
footer#footer .footer_wrap .logo {
	display:block;
	width:27% !important;
	max-width:100% !important;
	margin:0 auto;
}
}


/* ============================== */

.fs-body-newsletter-subscribe main,
.fs-body-newsletter-unsubscribe main,
.fs-body-newsletter-subscribe-success main,
.fs-body-newsletter-unsubscribe-success main {
	padding:150px 0 150px 0 !important;
	font-size:16px !important;
	line-height:1.7em;
}
.fs-body-newsletter-subscribe #fs_form,
.fs-body-newsletter-unsubscribe #fs_form {
	width:90%;
	margin:0 auto;
	display:flex;
	flex-direction:column;
	align-items: center;
}
.fs-body-newsletter-subscribe .fs-c-inputTable__headerCell,
.fs-body-newsletter-unsubscribe .fs-c-inputTable__headerCell {
	font-weight:normal;
}
.fs-body-newsletter-subscribe .fs-c-button--confirmRegister,
.fs-body-newsletter-unsubscribe .fs-c-button--confirmDelete {
	color:#fff;
	background:#000;
	padding:0.7em 2.0em;
	margin:2.5em auto 0 auto;
}
.fs-body-newsletter-subscribe-success .fs-c-buttonContainer--topPage,
.fs-body-newsletter-unsubscribe-success .fs-c-buttonContainer--topPage {
	margin:2.5em auto 0 auto;
}


@media only screen and (max-width: 849px) {
.fs-body-newsletter-subscribe main,
.fs-body-newsletter-unsubscribe main,
.fs-body-newsletter-subscribe-success main,
.fs-body-newsletter-unsubscribe-success main {
	font-size:2.7vw !important;
}
.fs-body-newsletter-subscribe .fs-c-inputInformation__message {
	width:90%;
	margin:0 auto;
	text-align:left;
}
}



/* ============================== */

@keyframes fade_fuwa {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	} 
}
@keyframes fade_slide {
	0% {
		opacity: 0;
		transform: translateY(150%)
	}
	100% {
		opacity: 1;
		transform: translateY(0%)
	} 
}
@keyframes fade_zoom {
	0% {
		opacity: 0;
		transform: scale(0.9);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	} 
}

.fuwa,
.fuwa_t,
.fuwa_v,
.fuwa015,
.fuwa_step01,
.fuwa_step02,
.fuwa_step03 {
	opacity: 0;
}
.fuwa.fadeon {
	animation: fade_fuwa 3.0s ease 0.1s forwards;
}
.fuwa015.fade_slide {
	animation: fade_slide 2.0s ease 0.25s forwards;
}
.fuwa_t.fade_slide {
	animation: fade_slide 1.0s ease 0.1s forwards;
}
.fuwa_v.fade_zoom {
	animation: fade_zoom 2.0s ease 0.3s forwards;
}
.fuwa_step01.fade_slide {
	animation: fade_slide 3.0s ease 0.1s forwards;
}
.fuwa_step02.fade_slide {
	animation: fade_slide 3.0s ease 0.15s forwards;
}
.fuwa_step03.fade_slide {
	animation: fade_slide 3.0s ease 0.2s forwards;
}