@charset "UTF-8";

body {
	transition: all 1s cubic-bezier(.77,0,.18,1) 0.25s;
	opacity: 0;
}

body.onload {
	opacity: 1;
}


/* header --------------------------------------------- */

.g-header {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	line-height: 2.5;
	position: fixed;
	top: 0;
	right: 0;
	pointer-events: none;
	z-index: 12;
}

.g-header a {
	text-decoration: none;
	outline: none;
}

.g-header a:hover {
	opacity: 0.5;
}

.g-header__inner {
	position: relative;
	z-index: 2;
	
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: 1fr;
	grid-template-rows: 1fr;
	-ms-grid-columns: (1fr)[12];
	grid-template-columns: repeat(12, 1fr);
	
	width: 100%;
	height: 100%;
}

.g-header-fixed {
	-ms-grid-row: 1;
	grid-row: 1;
	-ms-grid-column: 11;
	-ms-grid-column-span: 2;
	grid-column: 11 / 13;
	pointer-events: none;
	height: 100%;
}

.g-header-fixed a {
	pointer-events: auto;
}

.g-header-fixed__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: column;
	-ms-grid-column-align: center;
	justify-self: center;
	padding: 30px 0;
	height: calc(100% - 60px);
}

.-show .g-header {
	pointer-events: auto;
}

.-show .g-header__inner {
	
}

.-show .g-header-fixed {
	
}



.g-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0);
	transition: background-color 0.5s cubic-bezier(.77,0,.18,1);
	z-index: 1;
}

.-show .g-overlay {
	background-color: rgba(255,255,255,1);
}



.g-logo {
	z-index: 13;
}

.g-logo__mark {
	position: relative;
	text-align: center;
}

.g-logo__anchor {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 0;
	z-index: 1;
}

.-show .g-logo__anchor {
	height: 100%;
}

.g-logo__anchor .symbol {
	opacity: 0;
}
.g-logo__anchor .type {
	display: none;
}

.-show .g-logo__anchor .type {
	display: block;
}

.g-logo__wrapper {
	position: relative;
}

.g-logo .symbol {
	display: block;
	line-height: 0;
}

.g-logo .symbol svg.logo {
	width: 25px;
	height: 25px;
}

.g-logo .type {
	display: block;
	width: 25px;
	margin-top: 25px;
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(.77,0,.18,1);
}

.home .g-logo .type,
.-show .g-logo .type {
	opacity: 1;
}

.-show .g-logo__anchor .type {
	display: none;
}

.g-logo .type svg.logo_txt {
	width: 25px;
	height: 200px;
}

.main-wrapper {
	position: relative;
	z-index: 11;
}

.page-body {
	width: 100%;
}

.side-block + .page-body {
	padding-top: 300px;
}

.grid {
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: auto;
	grid-template-rows: auto;
	-ms-grid-columns: (1fr)[12];
	grid-template-columns: repeat(12, 1fr);
}

.grid.grid-rows {
	-ms-grid-rows: (1fr)[6];
	grid-template-rows: repeat(6, 1fr);
}


/* ----------------------------------------- */


.lang__list {
	font-family: 'Helvetica W01 Light Cn', serif;
	letter-spacing: 0.16em;
	margin-top: auto;
	margin-bottom: 30px;
	display: flex;
	align-items: center;
	flex-direction: column;
	z-index: 13;
	transition: opacity 0.5s cubic-bezier(.77,0,.18,1);
	/*display: none;*/
}
.lang__list li a.lang__list_online-en{
    font-family: 'Granjon LT W01 Roman', 'Garamond W01', 'HGKyokashotai', serifserif;
	font-size: 1.3rem;
}
.-show .lang__list {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.lang__list li {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.lang__list li + li {
	margin-top: 20px;
}

.lang__list li a {
	font-size: 1.2rem;
	font-family: 'Helvetica W01 Light Cn',  'HGKyokashotai', serif;
}


/* ----------------------------------------- */


.menu-button {
	position: relative;
	margin: 0;
	z-index: 13;
	cursor: pointer;
}

.menu-button.close-only {
	position: static;
	top: initial;
	right: initial;
	margin: 0 auto;
	padding: 15px 0;
}

.menu-button.close-only a {
	margin: auto;
}

.menu-button a {
	position: relative;
	height: 40px;
	width: 40px;
	display: block;
	padding: 0;
	overflow: hidden;
	box-sizing: border-box;
}

.menu__bar {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	position: absolute;
	display: block;
	height: 30px;
	width: 1px;
	padding: 0;
	text-indent: -200px;
}

.-show .menu__bar {
	
}

.-show .menu__bar:nth-child(1) {
	transform: rotate(60deg) translate(4px, -8px);
}

.-show .menu__bar:nth-child(2) {
	
}

.-show .menu__bar:nth-child(3) {
	transform: rotate(-60deg) translate(-4px, -8px);
}



.menu__bar {
	position: absolute;
	display: block;
	height: 30px;
	width: 1px;
	padding: 0;
	text-indent: -200px;
	transition: initial;
}

.menu__bar:nth-child(1) {
	top: 0;
	left: -18px;
}

.menu__bar:nth-child(2) {
	top: 0;
	left: 0;
	right: 0;
}

.menu__bar:nth-child(3) {
	top: 0;
	left: 18px;
}

.menu__bar:before,
.menu__bar:after {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	display: block;
	background: currentColor;
	content: "";
}

.menu__bar:before {
	animation: navigate_animation 4s cubic-bezier(.45,.05,0,1) infinite;
	animation-fill-mode: both;
}

.menu__bar:nth-child(1):before {
	animation-delay: 1.75s;
}
.menu__bar:nth-child(2):before {
	animation-delay: 1.5s;
}
.menu__bar:nth-child(3):before {
	animation-delay: 1.25s;
}

.menu__bar:after {
	opacity: 0.15;
}


.-show .menu__bar:nth-child(1) {
	animation: navigate_close_a 1s cubic-bezier(.45,.05,0,1) 1;
}
.-show .menu__bar:nth-child(2) {
	animation: navigate_close_b 1s cubic-bezier(.45,.05,0,1) 1;
}
.-show .menu__bar:nth-child(3) {
	animation: navigate_close_c 1s cubic-bezier(.45,.05,0,1) 1;
}
.-show .menu__bar:before {
	animation: navigate_close_before 1s cubic-bezier(.45,.05,0,1) 1;
}

.-show .menu__bar:nth-child(1):before {
	animation-delay: 0.2s;
}
.-show .menu__bar:nth-child(2):before {
	animation: navigate_close_before_b 1s cubic-bezier(.45,.05,0,1) 1;
	animation-delay: 0.1s;
	animation-fill-mode: forwards;
}
.-show .menu__bar:after {
	transition: opacity 0.25s ease;
	opacity: 0;
}
.-show .menu__bar:nth-child(3):before {
	animation-delay: 0.0s;
}


@keyframes navigate_animation {
	0% {
		top: 0;
		height: 30px;
	}
	10% {
		top: 0;
		height: 30px;
	}
	30% {
		top: 30px;
		height: 0;
	}
	31% {
		top: 0;
	}
	50% {
		top: 0;
		height: 30px;
	}
	100% {
		top: 0;
		height: 30px;
	}
}

@keyframes navigate_close_before {
	0% {
		top: 0;
		height: 30px;
	}
	50% {
		top: 30px;
		height: 0;
	}
	51% {
		top: 0;
		height: 0px;
	}
	100% {
		top: 0;
		height: 30px;
	}
}

@keyframes navigate_close_before_b {
	0% {
		top: 0;
		height: 30px;
	}
	50% {
		top: 30px;
		height: 0;
	}
	51% {
		top: 0;
		height: 0;
	}
	100% {
		top: 0;
		height: 0;
		opacity: 0;
	}
}

@keyframes navigate_close_a {
	0% {
		transform: rotate(0deg) translate(0px, 0px);
	}
	50% {
		transform: rotate(0deg) translate(0px, 0px);
	}
	51% {
		transform: rotate(60deg) translate(4px, -8px);
	}
	100% {
		transform: rotate(60deg) translate(4px, -8px);
	}
}

@keyframes navigate_close_b {
	
}

@keyframes navigate_close_c {
	0% {
		transform: rotate(0deg) translate(0px, 0px);
	}
	50% {
		transform: rotate(0deg) translate(0px, 0px);
	}
	51% {
		transform: rotate(-60deg) translate(-4px, -8px);
	}
	100% {
		transform: rotate(-60deg) translate(-4px, -8px);
	}
}


@media screen and (min-width: 1280px) {
	
	.menu__bar {
		height: 50px;
	}
	
	.menu__bar:nth-child(1) {
		left: -22px;
	}
	
	.menu__bar:nth-child(3) {
		left: 22px;
	}
	
	.-show .menu__bar:nth-child(1) {
		transform: rotate(60deg) translate(5px, -9px);
	}
	
	.-show .menu__bar:nth-child(3) {
		transform: rotate(-60deg) translate(-5px, -9px);
	}
	
	@keyframes navigate_animation {
		0% {
			top: 0;
			height: 50px;
		}
		10% {
			top: 0;
			height: 50px;
		}
		30% {
			top: 50px;
			height: 0;
		}
		31% {
			top: 0;
		}
		50% {
			top: 0;
			height: 50px;
		}
		100% {
			top: 0;
			height: 50px;
		}
	}
	
	@keyframes navigate_close_before {
		0% {
			top: 0;
			height: 50px;
		}
		50% {
			top: 50px;
			height: 0;
		}
		51% {
			top: 0;
			height: 0px;
		}
		100% {
			top: 0;
			height: 50px;
		}
	}
	
	@keyframes navigate_close_before_b {
		0% {
			top: 0;
			height: 50px;
		}
		50% {
			top: 50px;
			height: 0;
		}
		51% {
			top: 0;
			height: 0;
		}
		100% {
			top: 0;
			height: 0;
			opacity: 0;
		}
	}
	
	@keyframes navigate_close_a {
		0% {
			transform: rotate(0deg) translate(0px, 0px);
		}
		50% {
			transform: rotate(0deg) translate(0px, 0px);
		}
		51% {
			transform: rotate(60deg) translate(5px, -9px);
		}
		100% {
			transform: rotate(60deg) translate(5px, -9px);
		}
	}
	
	@keyframes navigate_close_c {
		0% {
			transform: rotate(0deg) translate(0px, 0px);
		}
		50% {
			transform: rotate(0deg) translate(0px, 0px);
		}
		51% {
			transform: rotate(-60deg) translate(-5px, -9px);
		}
		100% {
			transform: rotate(-60deg) translate(-5px, -9px);
		}
	}
}


.g-navigation {
	-ms-grid-row: 1;
	grid-row: 1;
	-ms-grid-column: 1;
	-ms-grid-column-span: 12;
	grid-column: 1 / 13;
	overflow-y: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
	display: -ms-grid;
	display: grid;
	pointer-events: none;
	opacity: 0;
	z-index: 12;
	transition: opacity 0.5s cubic-bezier(.77,0,.18,1);
}

.g-navigation::-webkit-scrollbar {
	display:none;
}

.-show .g-navigation {
	opacity: 1;
	pointer-events: auto;
}


.g-navigation__inner {
	-ms-grid-column: 2;
	-ms-grid-column-span: 9;
	grid-column: 2 / 11;
	padding: 60px 0 30px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.-show + .main-wrapper {
	pointer-events: none;
}

.g-header .g-nav {
	border-bottom: 1px solid rgba(153,153,153,1);
	padding-bottom: 25px;
}

.g-header .g-nav__list {
}

.g-header .g-nav__item {
}

.g-header .g-nav__item .g-nav__anchor {
	font-size: 1.8rem;
}

.g-header .g-news {
}

.g-header .g-news .news__item {
	margin: 25px 0;
}



.g-header .g-news .news__item .news__anchor {
	font-size: 1.3rem;
	line-height: 1.75;
}

.g-header .g-news .news__item .meta {
	font-size: 1.2rem;
}

.g-header .g-news .news__item .ttl {
	margin-top: 0.5em;
}

.g-header .g-news + .g-subnav {
	border-top: 1px solid rgba(153,153,153,1);
}

.g-header .g-subnav {
	border-bottom: 1px solid rgba(153,153,153,1);
	padding: 25px 0;
}

.g-header .subnav__list {
}

.g-header .subnav__item {
}

.g-header .subnav__item .subnav__anchor {
	font-size: 1.3rem;
}

.g-header .g-sns {
	margin-top: 30px;
}

.g-header .sns__list {
	line-height: 1;
}

.g-header .sns__item {
	display: inline-block;
}

.g-header .sns__item + .sns__item {
	margin-left: 20px;
}

.g-header .sns__item .i_sns_svg {
	width: 18px;
	height: 18px;
	opacity: 0.3;
}

.g-header .g-sns .copyright {
	display: none;
}


/* other --------------------------------------------- */

.w-state {
	position: static;
	margin-right: auto;
	margin-left: auto;
	width: calc(100% - 50px);
	max-width: 1440px;
}

.w-state--s {
	width: calc(100% - 100px);
	max-width: 1100px;
}

.w-state--m {
	width: calc(100% - 50px);
	max-width: 1440px;
}

.w-state--l {
	width: 100%;
}

.page-header {
	width: 100%;
	height: 100vh;
	z-index: 15;
	transition: opacity 0.5s cubic-bezier(.77,0,.18,1);
}

.-show .page-header {
	opacity: 0;
	pointer-events: none;
}

.page-header .ttl {
	-ms-grid-row: 1;
	-ms-grid-row-span: 6;
	grid-row: 1 / 7;
	-ms-grid-column: 6;
	-ms-grid-column-span: 2;
	grid-column: 6 / 8;
	-ms-grid-column-align: center;
	justify-self: center;
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center;
/*    text-align: center;*/
	/*letter-spacing: 0.27em;*/
	letter-spacing: 0.08em;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.page-header .ttl .current {
/*    font-size: 1.6rem;*/
}

.page-header.side-block {
	position: fixed;
	top: 80px;
	right: 0;
	width: calc(100% / 6);
	height: auto;
	text-align: center;
}

.page-header.side-block .ttl {
	display: inline-block;
}

.page-header.side-block .ttl a {
	text-decoration: none;
}

.page-header.side-block .ttl .current {
	font-size: 1.6rem;
}

.page-header .page-menu {
	position: fixed;
	top: 80px;
	right: 0;
	width: calc(100% / 6);
	height: auto;
	z-index: 11;
}

.page-header .page-menu a {
	text-decoration: none;
}

.page-header .page-menu__inner {
	text-align: center;
}

.page-header .page-menu .ttl {
	font-size: 1.6rem;
	margin: 0 auto;
	text-align: left;
	display: inline-block;
}

.page-header .page-menu .local__nav {
	margin-top: 45px;
}

.page-header .page-menu .local__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	flex-direction: column;
}

.page-header .page-menu .local__item {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	color: rgba(102,102,102,1);
}

.page-header .page-menu .local__item.current {
	color: rgba(0,0,0,1);
	position: relative;
}

.page-header .page-menu .local__item.current:after {
	position: absolute;
	content: '';
	width: 1px;
	height: 100%;
	background-color: rgba(0,0,0,1);
	right: .5em;
	top: 0;
	bottom: 0;
	margin: auto;
}

.page-header .page-menu .local__item + .local__item {
	margin-top: 30px;
}

.local__item .local__anchor {
	font-size: 1.6rem;
}

.local__item .local__anchor:hover {
	color: rgba(0,0,0,1);
}

.footnote li {
	position: relative;
	padding-left: 1em;
}

.footnote li:before {
	position: absolute;
	left: 0;
	content: "※";
}

.arrow {
	width: 30px;
	height: 5px;
}

.arrow-block.return .arrow {
	-webkit-transform: scale(-1, 1);
	transform: scale(-1, 1);
}

.text-combine {
	-webkit-text-combine: horizontal;
	-ms-text-combine-horizontal: all;
	text-combine-upright: all;
}

.online-link {
	text-align: center;
}

.online-link__anchor {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	display: inline-block;
	text-decoration: none;
	position: relative;
}

.online-link__anchor:hover {
	text-decoration: none;
}

.online-link__anchor:before {
	position: absolute;
	content: "";
	width: 1px;
	height: 30px;
	background: rgba(0,0,0,1);
	top: -40px;
	right: 0;
	left: 0;
	margin: auto;
}

.product .arrow-block {
	margin-top: 50px;
	margin-left: calc(100% / 12);
}

.product .arrow-block .arrow__anchor {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.product .arrow-block span {
	margin-left: 1em;
}

/* 404 */

.not-found .page-body {
	padding-top: 300px;
}

.not-found .section-inner {
	/* height: 100vh; */
}

.not-found .section-header {
	-ms-grid-row: 1;
	grid-row: 1;
	-ms-grid-column: 2;
	-ms-grid-column-span: 9;
	grid-column: 2 / 11;
	-ms-grid-row-align: center;
	align-self: center;
}

.not-found .section-body {
	-ms-grid-row: 2;
	grid-row: 2;
	-ms-grid-column: 2;
	-ms-grid-column-span: 9;
	grid-column: 2 / 11;
	margin-top: 50px;
}

.not-found .section-body .bold {
	margin-bottom: 1em;
}


/* footer --------------------------------------------- */

.g-footer {
	margin-top: 100px;
	-ms-grid-row: 2;
	position: relative;
	z-index: 11;
}

.g-footer a {
	text-decoration: none;
}

.g-footer__inner {
	
}

.g-footer .g-nav {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	-ms-grid-column-span: 10;
	grid-column: 1 / 11;
	border-top: 1px solid rgba(0,0,0,1);
	padding: 50px 0;
}

.g-footer .g-nav__list {
	-ms-grid-column: 2;
	-ms-grid-column-span: 9;
	grid-column: 2 / 11;
}

.g-footer .g-nav__item {
}

.g-footer .g-nav__item + .g-nav__item {
	margin-top: 30px;
}

.g-footer .g-nav__item .g-nav__anchor {
	font-size: 1.5rem;
}

.g-footer .g-nav__item .g-childnav__list {
	display: none;
}

.g-footer .g-subnav {
	-ms-grid-row: 2;
	-ms-grid-column: 1;
	-ms-grid-column-span: 10;
	grid-column: 1 / 11;
	border-top: 1px solid rgba(153,153,153,1);
	padding: 50px 0;
}

.g-footer .subnav__list {
	-ms-grid-column: 2;
	-ms-grid-column-span: 9;
	grid-column: 2 / 11;
}

.g-footer .subnav__item + .subnav__item {
	margin-top: 25px;
}

.g-footer .subnav__item .subnav__anchor {
	font-size: 1.2rem;
}

.g-footer .g-sns {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	-ms-grid-column-span: 10;
	grid-column: 1 / 11;
	border-top: 1px solid rgba(153,153,153,1);
	margin: 0;
	padding: 40px 0;
}

.g-footer .g-sns .sns__list {
	-ms-grid-column: 2;
	-ms-grid-column-span: 9;
	grid-column: 2 / 11;
}

.g-footer .g-sns .sns__item {
	display: inline-block;
}

.g-footer .g-link {
	-ms-grid-row: 4;
	-ms-grid-column: 1;
	-ms-grid-column-span: 10;
	grid-column: 1 / 11;
	padding-bottom: 40px;
}

.g-footer .g-link .link__list,
.g-footer .g-link .copyright {
	-ms-grid-row: 1;
	grid-row: 1;
	-ms-grid-column: 2;
	-ms-grid-column-span: 9;
	grid-column: 2 / 11;
	-ms-grid-row-align: center;
	align-self: center;
}

.g-footer .g-link .link__item svg.logo_simplicity {
	width: 30px;
	height: 30px;
}

.g-footer .g-link .copyright {
	display: inline-block;
	margin-left: 45px;
}

.g-footer .g-sns {
	/* margin-top: 30px; */
}

.g-footer .sns__item {
	display: inline-block;
}

.g-footer .sns__item + .sns__item {
	margin-left: 30px;
}

.g-footer .sns__item .i_sns_svg {
	width: 18px;
	height: 18px;
	/*opacity: 0.3;*/
	opacity: 0.5;
}

.g-footer__inner .grid {
	-ms-grid-rows: 1fr;
	grid-template-rows: 1fr;
	-ms-grid-columns: (1fr)[10];
	grid-template-columns: repeat(10, 1fr);
}



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


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

@media screen and (orientation:landscape) {

	.-show .lang__list {
		display: none;
	}

	.page-header .page-menu .local__nav {
		display: none;
	}

}

/* over iphone 6 plus landscape */
@media screen and (orientation:landscape) and (min-width: 736px) {
}

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

	/* header --------------------------------------------- */

	.g-header-fixed__inner {
		padding: 50px 0;
		height: calc(100vh - 100px);
	}

	/* other --------------------------------------------- */

	.page-header.side-block {
		top: 110px;
	}
	
	.page-header .page-menu {
		top: 110px;
	}

}


/* ----------------------------------------------------------------------- */
/* over ipad landscape */

@media screen and (orientation:landscape) and (min-width: 1024px) {

	/* header --------------------------------------------- */

	.-show .lang__list {
		display: flex;
	}

	/* other --------------------------------------------- */

	.page-header .page-menu .local__nav {
		display: block;
	}
}


/* ----------------------------------------------------------------------- */
/* Desktop */

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

	/* header --------------------------------------------- */

	.g-header {
		
	}
	
	.-show .g-header {
	}
	
	.g-logo .type {
		opacity: 1;
	}
	
	.g-header__inner {
		-ms-grid-columns: (1fr)[10];
		grid-template-columns: repeat(10, 1fr);
	}
	
	.g-header-fixed {
		-ms-grid-column: 10;
		-ms-grid-column-span: 1;
		grid-column: 10 / 11;
	}
	
	.main-wrapper {
		
	}
	
	.grid {
		-ms-grid-columns: (1fr)[10];
		grid-template-columns: repeat(10, 1fr);
	}
	
	.g-header-fixed {
		-ms-grid-column: 10;
		-ms-grid-column-span: 1;
		grid-column: 10 / 11;
	}
	
	.g-header-fixed__inner {
		
	}
	
	.g-logo__anchor {
		height: 100%;
	}
	
	.g-logo .symbol svg.logo {
		width: 30px;
		height: 30px;
	}

	.g-logo .type {
		width: 30px;
		margin-top: 30px;
		display: block;
	}
	
	.g-logo .type svg.logo_txt {
		width: 30px;
		height: 220px;
	}
	
	.lang__list {
		display: flex;
		opacity: 1;
	}
	
	.g-navigation {
		-ms-grid-column: 1;
		-ms-grid-column-span: 10;
		grid-column: 1 / 11;
		margin: 0;
		padding: 0;
	}
	
	.g-navigation__inner {
		-ms-grid-column: 1;
		-ms-grid-column-span: 9;
		grid-column: 1 / 10;
		display: -ms-grid;
		display: grid;
		-ms-grid-rows: 50px 1fr 40px;
		grid-template-rows: 50px 1fr 40px;
		-ms-grid-columns: (1fr)[9];
		grid-template-columns: repeat(9, 1fr);
		height: 100vh;
		padding: 0;
	}
	
	.g-header .g-nav {
		-ms-grid-column: 2;
		-ms-grid-column-span: 7;
		grid-column: 2 / 9;
		-ms-grid-row: 2;
		grid-row: 2;
		-ms-grid-row-align: start;
		align-self: start;
		-ms-grid-column-align: end;
		justify-self: end;
		margin-top: 130px;
		padding: 0;
		border: 0;
	}
	
	.g-header .g-nav__list {
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}
	
	.g-header .g-nav__item {
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		line-height: 1;
	}
	
	.g-header .g-news .news__item:last-child {
		margin-bottom: 13px;
	}
	
	.g-header .g-nav__item + .g-nav__item {
		margin-right: 7em;
	}
	
	.g-header .g-news {
		-ms-grid-row: 2;
		grid-row: 2;
		-ms-grid-column: 2;
		-ms-grid-column-span: 8;
		grid-column: 2 / 10;
		-ms-grid-row-align: end;
		align-self: end;
	}
	
	.g-header .g-news .news__item .news__anchor {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	
	.g-header .g-news .news__item .meta {
		width: calc(100% / 8);
	}
	
	.g-header .g-news .news__item .ttl {
		margin: 0;
	}
	
	.g-header .g-subnav {
		position: relative;
		z-index: 1;
		-ms-grid-row: 2;
		grid-row: 2;
		-ms-grid-column: 2;
		-ms-grid-column-span: 7;
		grid-column: 2 / 9;
		-ms-grid-row-align: start;
		align-self: start;
		-ms-grid-column-align: start;
		justify-self: start;
		margin-top: 130px;
		padding: 0;
		border: 0;
	}
	
	.g-header .g-news + .g-subnav {
		border-top: none;
	}
	
	.g-header .subnav__list {
		display: flex;
		justify-content: flex-end;
		align-items: flex-start;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}
	
	.g-header .subnav__item {
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		display: inline-block;
		text-align: center;
		line-height: .7;
	}
	
	.g-header .subnav__item + .subnav__item {
		margin-right: 5em;
	}
	
	.g-header .subnav__item .subnav__anchor {
		font-size: 1.35rem;
	}
	
	.g-header .g-sns {
		-ms-grid-row: 2;
		grid-row: 2;
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-column-align: center;
		justify-self: center;
		margin: 0;
		
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex-direction: column;
		width: 100%;
	}
	
	.g-header .sns__list {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	
	.g-header .sns__item + .sns__item {
		margin: 30px 0 0;
	}

	.g-header .g-sns .copyright {
		display: inline-block;
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		margin: 30px 0 10px;
		font-size: 1.2rem;
		display: flex;
		align-items: center;
		line-height: normal;
	}
	
	.menu-button a {
		height: 60px;
		width: 60px;
	}


	/* other --------------------------------------------- */

	.page-header .ttl {
		-ms-grid-column: 5;
		-ms-grid-column-span: 2;
		grid-column: 5 / 7;
	}
	
	.page-header .ttl .current {
		font-size: 2.4rem;
	}
	
	.page-header .page-menu {
		right: 10%;
		width: auto;
		height: auto;
	}
	
	.page-header.side-block {
		top: 110px;
		right: 10%;
		width: auto;
		height: auto;
	}
	
	.page-header.side-block .ttl .current {
		font-size: 2.2rem;
	}
	
	.side-block + .page-body {
		padding-top: 420px;
	}
	
	.online-link__anchor:before {
		height: 50px;
		top: -65px;
	}

	.product .arrow-block {
		margin-top: 80px;
		margin-left: 5%;
	}
	
	/* 404 */

	.not-found .page-body {
		padding-top: 420px;
	}
	
	.not-found .section-header {
		-ms-grid-column: 2;
		-ms-grid-column-span: 8;
		grid-column: 2 / 10;
	}
	
	.not-found .section-body {
		-ms-grid-column: 2;
		-ms-grid-column-span: 8;
		grid-column: 2 / 10;
	}
	
	
	/* footer --------------------------------------------- */
	
	.g-footer {
		padding: 50px 0 50px;
		margin-top: 120px;
	}
	
	.g-footer .g-nav {
		-ms-grid-row: 1;
		grid-row: 1;
		-ms-grid-column: 6;
		-ms-grid-column-span: 4;
		grid-column: 6 / 10;
		-ms-grid-column-align: end;
		justify-self: end;
		border: none;
		display: block;
		padding: 0;
	}
	
	.g-footer .g-nav__list {
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
		justify-content: flex-start;
	}
	
	.g-footer .g-nav__item {
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		line-height: 1;
	}
	
	.g-footer .g-nav__item + .g-nav__item {
		margin: 0 60px 0 0;
	}
	
	.g-footer .g-nav__item .g-nav__anchor {
		font-size: 1.6rem;
	}

	.product .g-footer .g-nav__item .g-childnav__list {
		display: block;
		margin-top: 1.5em;
	}

	.g-footer .g-nav__item .g-childnav__item {
		margin-right: 30px;
	}

	.g-footer .g-nav__item .g-childnav__item .g-childnav__anchor {
		font-size: 1.2rem;
	}
	
	.g-footer .g-subnav {
		-ms-grid-row: 1;
		grid-row: 1;
		-ms-grid-column: 2;
		-ms-grid-column-span: 4;
		grid-column: 2 / 5;
		-ms-grid-row-align: start;
		align-self: start;
		border: none;
		display: block;
		margin-left: 80px;
		padding: 0;
	}
	
	.g-footer .subnav__list {
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
		justify-content: flex-end;
	}
	
	.g-footer .subnav__item {
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
	}
	
	.g-footer .subnav__item + .subnav__item {
		margin: 0 35px 0 0;
	}
	
	.g-footer .g-sns {
		-ms-grid-row: 1;
		grid-row: 1;
		-ms-grid-column: 2;
		-ms-grid-column-span: 1;
		grid-column: 2 / 3;
		-ms-grid-column-align: start;
		justify-self: start;
		border: none;
		display: block;
		margin: 0;
		padding: 0;
	}
	
	.g-footer .g-sns .sns__list {
		display: flex;
		flex-direction: column;
	}
	
	.g-footer .sns__item + .sns__item {
		margin: 30px 0 0;
	}
	
	.g-footer .g-link {
		-ms-grid-row: 1;
		grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
		grid-column: 1 / 2;
		-ms-grid-column-align: center;
		justify-self: center;
		display: flex;
		flex-direction: column-reverse;
		padding: 0;
		text-align: center;
	}
	
	.g-footer .g-link .copyright {
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		margin: 0 0 30px;
		font-size: 1.2rem;
		display: flex;
		align-items: center;
	}
	
}


@media screen and (min-width: 1440px) {
	
	.g-footer .g-subnav {
		grid-column: 2 / 6;
		margin-left: 90px;
	}

	.g-footer .subnav__item + .subnav__item {
		margin: 0 40px 0 0;
	}

}