@charset "utf-8";

body {
	background-color: #fff;
	font-size : 62.5%;
	color : #000;
	box-sizing : border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: YakuHanJP, "Noto Sans JP", Meiryo, sans-serif;
	font-weight: 500;
	font-optical-sizing: auto;
	min-height : 100vh;
	font-feature-settings: "pwid";
}
html {
	scroll-behavior: smooth;
}
img {
	vertical-align : top;
}
a {
	text-decoration : none;
}
p {
	line-height: inherit;
}
.clearfix {
	*zoom: 1;
}
.clearfix:before,
.clearfix:after {
	display: table;
	line-height: 0;
	content: "";
}
.clearfix:after {
	clear: both;
}

a .link-block {
	color: #000;
}

/* temporary */
.link-block.disabled {
	border-bottom: 1px solid #aaa;
	color: #aaa;
}
.link-block.disabled .title .title-icon {
	opacity: 0.3;
}

@media screen and (max-width: 768px) {
	body {
		overflow-x: hidden;
	}
	.pc-content {
		display: none;
	}
	#header-root {
		width: calc(100% - 32px);
		margin: 12px 16px 12px 16px;
	}
	#header-root .content {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	#gmenu {
		width: 100%;
		margin: 0;
		position: absolute;
		top: -100vh;
		left: 0;
		padding: 12px 0 0 0;
		background-color: #e6e6e6;
		transition: 0.7s;
		animation-timing-function: ease;
		z-index: 100;
	}
	#gmenu.active {
		top: 0;
	}
	#gmenu .gmenu-control {
		display: flex;
		width: calc(100% - 32px);
		margin: 0 auto;
		justify-content: flex-end;
		align-items: center;
		position: relative;
	}
	.gmenu_close {
		width: 12vw;
		cursor: pointer;
	}
	#gmenu ul {
		padding: 4.8vw 0;
		text-align: center;
	}
	#gmenu ul a {
		color: #000;
	}
	#gmenu ul li {
		margin-bottom: 6.4vw;
	}
	#gmenu ul li .link-title {
		font-size: 5.6vw;
		font-weight: 700;
		font-family: "Helvetica", "Inter", sans-serif;
		margin-bottom: 2.4vw;
	}
	#gmenu ul li .link-comment {
		font-size: 3.6vw;
	}
	.root-wrapper {
		width: 100%;
		margin: 0 auto;
	}
	.content-wrapper {
		margin: 0 auto;
	}
	.header-logo {
		width: 70%;
		text-align: center;
		height: 100%;
		z-index: 10000;
	}
	.header-navi {
		width: 20vw;
		z-index: 10001;
		display: flex;
		justify-content: space-between;
		align-items: center;
		opacity: 1.0;
		transition: 0.5s;
	}
	.header-navi.hide {
		opacity: 0;
		pointer-events: none;
	}
	.header-navi>a {
		width: 7vw;
	}
	.navi_lang-sel {
	}
	.navi_menu {
		width: 10vw;
	}
	#footer {
		background-color: #333;
		color: #fff;
		padding: 6.4vw 0;
	}
	#footer .content {
		width: calc(100% - 64px);
		font-size: 3.2vw;
	}
	#footer .footer_logo {
		width: 100%;
		margin: 0 auto 6.4vw auto;
	}
	#footer .footer_info {
		display: flex;
		flex-direction: column;
		margin-bottom: 6.4vw;
	}
	#footer .footer_info .title {
		order: 3;
		line-height: 5.6vw;
	}
	#footer .footer_info .title strong {
		font-size: 4.0vw;
		font-weight: 700;
		letter-spacing: 0.8vw;
	}
	#footer .footer_info .address {
		order: 1;
		line-height: 5.6vw;
	}
	#footer .footer_info .contact {
		order: 2;
		line-height: 5.6vw;
	}
	#footer .footer_info dl dt {
		font-size: 4.0vw;
		margin-bottom: 4.0vw;
	}
	#footer .footer_info dl dd {
		margin-bottom: 6.4vw;
	}
	#footer .footer_info table {
		width: 100%;
	}
	#footer .footer_info dl dd, #footer .footer_info table td {
		line-height: 6.4vw;
	}
	#footer .footer_info table th {
		width: 22%;
	}
	#footer .footer_info table td {
		width: 78%;
	}
	#footer .footer_navi {
		margin-bottom: 4.0vw;
	}
	#footer .footer_navi ul {
		text-align: right;
	}
	#footer .footer_navi ul li {
		margin-bottom: 3.2vw;
	}
	#footer .footer_navi ul li a {
		color: #fff;
	}
	#footer .footer_copy {
		color: #b3b3b3;
		font-size: 3.2vw;
		text-align: right;
	}
	.link-block {
		width: 100%;
		border-bottom: 1px solid #000;
	}
	.link-block .title {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 2vw;
	}
	.link-block .title .title-body {
		font-size: 7.2vw;
	}
	.link-block .title .title-icon {
		width: 6.4vw;
	}
	.link-block .title .title-icon img {
		height: 6.4vw;
	}
	.link-block .description {
		font-size: 3.4vw;
		margin-bottom: 2.4vw;
	}
	.symbol {
		position: absolute;
		width: 100%;
		z-index: -1;
	}
	.symbol img {
		width: 100%;
	}
}
@media screen and (max-width: 400px) {
}
@media screen and (min-width: 769px) {
	.sp-content {
		display: none;
	}
	#header-root {
		position: relative;
		width: 100%;
		margin: 32px 0;
	}
	#header-root .content {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		position: relative;
		height: 48px;
	}
	#gmenu {
		width: 100%;
		margin: 0;
		position: absolute;
		top: -100vh;
		padding: 32px 0 0 0;
		background-color: #e6e6e6;
		transition: 0.7s;
		animation-timing-function: ease;
		z-index: 100;
	}
	#gmenu.active {
		top: -32px;
	}
	#gmenu .gmenu-control {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		position: relative;
		height: 48px;
	}
	.gmenu_close {
		width: 40px;
		cursor: pointer;
	}
	#gmenu ul {
		padding: 64px 0;
		text-align: center;
	}
	#gmenu ul a {
		color: #000;
	}
	#gmenu ul li {
		margin-bottom: 48px;
	}
	#gmenu ul li .link-title {
		font-size: 3.2rem;
		font-weight: 700;
		font-family: "Helvetica", "Inter", sans-serif;
		margin-bottom: 12px;
	}
	#gmenu ul li .link-comment {
		font-size: 1.2rem;
	}
	.header-logo {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
		width: 80%;
		text-align: center;
		height: 100%;
		z-index: 10000;
	}
	.header-logo img {
		height: 100%;
	}
	.header-navi {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		width: 30%;
		z-index: 10001;
		opacity: 1.0;
		transition: 0.5s;
	}
	.header-navi.hide {
		opacity: 0;
		pointer-events: none;
	}
	.navi_lang-sel {
		width: 32px;
		margin-left: 16px;
	}
	.navi_menu {
		width: 40px;
		margin-left: 16px;
		cursor: pointer;
	}
	#main-visual {
		width: 90%;
		position: relative;
		margin: 0 auto;
	}
	#main-visual .logo {
		width: 100%;
	}
	#main-visual .catch {
		position: absolute;
		left: 20px;
		top: 16%;
		width: 25%;
	}
	#main-visual .main {
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
		margin: auto;
		width: 45%;
	}
	.arrow-navigation {
		width: 4.0rem;
		margin: 6.4rem auto;
	}
	#footer {
		background-color: #333;
		color: #fff;
	}
	#footer .content {
		padding: 4.8rem 0 2.4rem 0;
		font-size: 1.1rem;
	}
	#footer .footer_logo {
		width: 600px;
		margin: 0 auto 6.4rem auto;
	}
	#footer .footer_info {
		display: flex;
		align-items: flex-start;
		margin-bottom: 6.4rem;
	}
	#footer .footer_info .title {
		width: 30%;
		line-height: 2.0rem;
		align-self: center;
	}
	#footer .footer_info .title strong {
		font-size: 1.3rem;
		font-weight: 700;
		letter-spacing: 0.26rem;
	}
	#footer .footer_info .address {
		width: 30%;
		line-height: 2.0rem;
	}
	#footer .footer_info .contact {
		width: 40%;
	}
	#footer .footer_info dl dt {
		font-size: 1.3rem;
		margin-bottom: 2.0rem;
	}
	#footer .footer_info dl dd, #footer .footer_info table td {
		line-height: 2.0rem;
	}
	#footer .footer_navi {
		margin-bottom: 0.8rem;
	}
	#footer .footer_navi ul {
		display: flex;
		justify-content: flex-end;
	}
	#footer .footer_navi ul li {
		margin-left: 2.4rem;
	}
	#footer .footer_navi ul li a {
		color: #fff;
	}
	#footer .footer_copy {
		color: #b3b3b3;
		font-size: 1.0rem;
		text-align: right;
	}
	.link-block {
		width: 400px;
		border-bottom: 1px solid #000;
	}
	.link-block .title {
		display: flex;
		align-items: center;
		margin-bottom: 1.2rem;
	}
	.link-block .title .title-body {
		width: calc(100% - 2.0rem);
		font-size: 2.4rem;
	}
	.link-block .title .title-icon {
		width: 2.0rem;
	}
	.link-block .title .title-icon img {
		height: 2.0rem;
	}
	.link-block .description {
		font-size: 1.3rem;
		margin-bottom: 1.2rem;
	}
	.symbol {
		position: absolute;
		height: 50vw;
		z-index: -1;
	}
	.symbol img {
		height: max(40vw, 600px);
	}
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
	html {
		font-size : 12px;
	}
	.root-wrapper {
		width: calc(100% - 32px);
		margin: 0 auto;
	}
	.content-wrapper {
		width: calc(100% - 64px);
		margin: 0 auto;
	}
}
@media screen and (min-width: 1200px) {
	.root-wrapper {
		width: 1176px;
		margin: 0 auto;
	}
	.content-wrapper {
		width: 880px;
		margin: 0 auto;
	}
}
@media screen and (min-width: 1600px) {
}