@charset "utf-8";
/***************************************************************************************************
 default.css
 ***************************************************************************************************/
/*
font-family: 'Noto Sans JP', sans-serif;
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');

/*
font-family: "Archivo", sans-serif;
*/
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500&display=swap');

/*
 font-family: "pragmatica-extended",sans-serif; 
*/

/*
*/
*, *::before, *::after {
	position:relative;

	margin: 0;
	padding: 0;
	box-sizing: border-box;

	border: 0;
	border-style: none;
	outline: 0;

	background: none;
	background-color: transparent;
	background-repeat: no-repeat;

	text-decoration: none;

	font-family: inherit; 
  font-size:inherit;
  line-height: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  color:inherit;

	-webkit-font-smoothing: antialiased;
	/* text-rendering: optimizeSpeed; */

  backface-visibility: hidden;
}
table {
	/* border-collapse: collapse; */
	border-spacing: 0;
	border: none;
}
input::-ms-clear {
	visibility: hidden
}
/*
*/
:root {
	--max_wid_1:1680px;
	--max_wid_2:540px;

	--padding_1:0 min(calc(1680px * .037), 3.7%);
	--padding_2:0 min(calc(1680px * .1428), 14.28%);
	--padding_3:0 min(calc(1680px * .0714), 7.14%);
	--padding_4:0 min(calc(1680px * .2142), 21.42%);
	--padding_5:0 min(calc(1680px * .0714), 7.14%) 0 min(calc(1680px * .1428), 14.28%);

	--padding_1_sp:0 4%;
	--padding_2_sp:0 9.5%;
}
/*
*/
html {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	line-height: 1.75;
	letter-spacing: .04em;
	font-weight:400;
	color: #000000;
	width: 100%;
	height: 100%;
}
body {
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	text-align: left;
}
#pagetop {
	width: 100%;
	height: 100%;
}
/*
*/
#header_input {
	display: none;
}
/*
*/
#header {
	position:fixed;
	width:100%;
	height: 100px;
	left:0;
	top:0;
	z-index: 1000000;
	background-color: #ffffff;
	transition:	height .2s ease-out 0s;
}
#header.type_2 {
	height: 80px;
}
#header::before {
	position: absolute;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	left:0;
	top:0;
	background-color: #ffffff;
	box-shadow: 0 0 40px #000000;
	opacity:0;
	transition:	opacity .1s ease-out 0s;
}
#header.type_2::before {
	opacity:.08;
	transition:	opacity .4s ease-out .1s;
}
/*  */
#header .hd_blk_1 {
	width:100%;
	padding:min(100px, 7.1%) 0 0 0;
	top:50%;
	translate:0 -50%;
}
#header.type_2 .hd_blk_1 {
	padding: 0;
	height: 100%;
}
#header .hd_blk_1 > div {
	position: absolute;
	width:100%;
	max-width: var(--max_wid_1);
	height:100%;
	left:50%;
	top:0;
	translate:-50% 0;
}
#header .hd_blk_1 > div > div {
	width:100%;
	height:100%;
	padding:var(--padding_1);
	padding-left: 1.8%;
}
#header.type_2 .hd_blk_1 > div > div {
	padding-right: 0;
}
#header .hd_blk_1 > div > div > div {
	display: table;
	width:100%;
	height:100%;
}
/*  */
#header .hd_blk_1_1 {
	display: table-cell;
	width:47%;
	height: 100%;
}
#header.type_2 .hd_blk_1_1 {
	width:35%;
}
#header .hd_blk_1_1 h1 {
	display: block;
	width:90%;
	max-width: 480px;
	height: 100%;
}
#header.type_2 .hd_blk_1_1 h1 {
	width:81%;
	min-width: 250px;
}
#header .hd_blk_1_1 h1 a {
	position: absolute;
	display: block;
	width:100%;
	left:0;
	top:calc(100% - 12px);
	translate: 0 -100%;
}
#header.type_2 .hd_blk_1_1 h1 a {
	top:50%;
	translate: 0 max(-30px, -57%);
}
#header .hd_blk_1_1 h1 a img {
	display: block;
	width:100%;
}
/*  */
#header .hd_blk_1_2 {
	display: table-cell;
	width:53%;
	min-width: 600px;
	text-align: right;
	vertical-align: bottom;
}
#header.type_2 .hd_blk_1_2 {
	width:65%;
	min-width: 700px;
	padding:15px min(190px, 13.8%) 0 0;
	vertical-align: top;
}
#header.type_2 .hd_blk_1_2_1 {
	width:100%;
	margin:auto 0 auto auto;
}
#header .hd_blk_1_2_1 nav {
	display:block;
	width:100%;
}
#header.type_2 .hd_blk_1_2_1 nav {
	left:100%;
	max-width: 760px;
	translate:-100% 0;
}
#header .hd_blk_1_2_1 nav ul {
	display: flex;
	list-style: none;
	justify-content: space-between;
}
#header .hd_blk_1_2_1 nav ul li {
	display:block;
}
#header .hd_blk_1_2_1 nav ul li a {
	display:block;
	height: 50px;
}
#header .hd_blk_1_2_1 nav ul li a.disable {
	pointer-events: none;
}
#header .hd_blk_1_2_1 nav ul li a::before {
	position: absolute;
	display: block;
	content: '';
	width: 100%;
	height: 4px;
	left:0;
	top:calc(100% - 4px);
	background-color: #000000;
	scale:0 1;
	opacity:0;
	transition:scale .2s ease-out 0s, opacity .2s ease-out 0s;
}
#header .hd_blk_1_2_1 nav ul li a.nm_hover::before {
	scale:1 1;
	opacity:1;
}
#header .hd_blk_1_2_1 nav ul li a span:nth-of-type(1) {
	display:block;
	top:calc(50% + 5px);
	translate: 0 -50%;
	font-size: 13px;
	line-height: 1;
	font-weight: 400;
	letter-spacing: 0;
	font-family: "pragmatica-extended",sans-serif; 
}
#header .hd_blk_1_2_1 nav ul li a.disable span:nth-of-type(1) {
	color:#ccc9c6;
}
#header .hd_blk_1_2_1 nav ul li a br {
	display:none;
}
#header .hd_blk_1_2_1 nav ul li a span:nth-of-type(2) {
	display:none;
}
#header .hd_blk_1_2_2 {
	display:none;
}
#header .hd_blk_1_2_3 {
	display:none;
}
#header .hd_blk_1_2_4 {
	display:none;
}
/*  */
#header .hd_blk_2 {
	position: absolute;
	width:100%;
	max-width: var(--max_wid_1);
	left:50%;
	top:0;
	translate:-50% 0;
}
#header .hd_blk_2 p {
	position: absolute;
	width:min(200px, 14.3%);
	height: min(50px, 3.8vw);
	left:100%;
	top:0;
	translate: -100% 0;
	transition: 
	width .2s ease-out 0s,
	max-width .2s ease-out 0s,
	height .2s ease-out 0s;
}
#header.type_2 .hd_blk_2 p {
	width:11.6%;
	max-width: 160px;
	height: 80px;
}
#header .hd_blk_2 p a {
	display: block;
	width:100%;
	height: 100%;
	background-color: #000000;
}
#header .hd_blk_2 p a img {
	position: absolute;
	display: block;
	left:50%;
	top:50%;
	translate: -50% -50%;
	width:37.5%;
}
#header.type_2 .hd_blk_2 p a img {
	width:47.5%;
	/* min-width: 70px; */
}
/*
*/
#header .sp_menu {
	display: none;
}
#kp_hd {
	position: absolute;
	left:0;
	top:100px;
	pointer-events: none;
	/* width:100px;
	height:100px;
	border:1px solid #ff0000;
	z-index: 100; */
}
/*
*/
#footer {
	width:100%;
	overflow: hidden;
	z-index: 100;
	/* padding:270px 0 0 0; */
	padding:100px 0 0 0;
	background-color: #ffffff;
}
#footer .ft_content {
	width:100%;
	background-color: #e7e7e7;
}
#footer .ft_content.tgt_nm_psa {
  translate:0 30px;
  opacity: 0;
}
#footer .ft_content.tgt_nm_psa.psa_show {
  animation:footer_kf_1 .6s ease-out 0s 1 normal forwards;
}
@keyframes footer_kf_1 {
  100% { translate: 0 0; opacity:1;}
}
#footer .ft_content > div {
	width:100%;
	max-width: var(--max_wid_1);
	margin: auto;
	padding:var(--padding_2);
}
#footer .ft_content > div > div {
	width: 100%;
}
/*  */
#footer .ft_txt.gsty_txt_anim {
	top:120px;
	transition-delay: 0s;
}
#footer .ft_txt.gsty_txt_anim.show .t_anim {
	animation-delay: .5s;
}
#footer .ft_txt.gsty_txt_anim.show .t_anim_sp {
	animation-delay: .5s;
}
/* 
*/
#footer .ft_blk_1 {
	position: absolute;
	height: 100%;
	z-index: 2;
}
#footer .ft_blk_1 p {
	position: absolute;
	left:0;
	top:50%;
	translate:0 -50%;
}
#footer .ft_blk_1 p a {
	display: block;
	width:284px;
}
#footer .ft_blk_1 p a img {
	display: block;
	width:100%;
}
/*
*/
#footer .ft_blk_2 {
	width: 100%;
	min-height: 220px;
	padding:50px 0 40px 0;
	z-index: 1;
}
/*  */
#footer .ft_blk_2_1 {
	width:100%;
}
#footer .ft_blk_2_1 ul {
	display: block;
	list-style: none;
	text-align: right;
	font-size: 0;
	white-space: nowrap;
}
#footer .ft_blk_2_1 ul li {
	display: inline-block;
	padding:0 min(20px, 3%);
	border-left:1px solid #000000;
}
#footer .ft_blk_2_1 ul li:first-of-type {
	border-left:none;
	padding-left: 0;
}
#footer .ft_blk_2_1 ul li:last-of-type {
	border-right:none;
	padding-right: 0;
}
#footer .ft_blk_2_1 ul li a {
	display: block;
	font-size: min(1.2vw, 13px);
	line-height: 1;
	letter-spacing: 0;
	padding:2px 0;
	white-space: nowrap;
}
#footer .ft_blk_2_1 ul li a.disable {
	pointer-events: none;
	color: #ccc9c6;

}
#footer .ft_blk_2_1 ul li a::before {
	position: absolute;
	display: block;
	content: '';
	width: 100%;
	height: 2px;
	left:0;
	top:calc(100% + 3px);
	background-color: #c3c3c3;
	scale:0 1;
	opacity:0;
	transition:scale .2s ease-out 0s, opacity .2s ease-out 0s;
}
#footer .ft_blk_2_1 ul li a.nm_hover::before {
	scale:1 1;
	opacity:1;
}
/*  */
#footer .ft_blk_2_2 {
	padding:30px 0 0 40%;
}
#footer .ft_blk_2_2 ul {
	display:block;
	list-style:none;
	width:100%;
	font-size: 0;
	text-align: right;
}
#footer .ft_blk_2_2 ul li {
	display: inline-block;
	padding: 0 0 10px 30px;
}
#footer .ft_blk_2_2 ul li a {
	display: block;
	font-size: 13px;
	line-height: 1;
	letter-spacing: 0;
	padding:5px 0;
	white-space: nowrap;
	transition: opacity .2s ease-out 0s;
}
#footer .ft_blk_2_2 ul li a.nm_hover {
	opacity:.6;
}
/*  */
#footer .ft_blk_2_3 {
	padding: 20px 0 0 0;
}
#footer .ft_blk_2_3 ul {
	display:block;
	list-style:none;
	width:100%;
	font-size: 0;
	text-align: right;
}
#footer .ft_blk_2_3 ul li {
	display: inline-block;
	padding: 0 0 0 6px;
}
#footer .ft_blk_2_3 ul li a {
	width:50px;
	height: 22px;
	display: block;
	font-size: 12px;
	line-height: 21px;
	letter-spacing: 0;
	text-align: center;
	white-space: nowrap;
	color:#ffffff;
	background-color: #000000;
}
/*  */
#footer .ft_blk_2_4 {
	width:100%;
	padding:20px 0 0 0;
}
#footer .ft_blk_2_4 p {
	text-align: right;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
}
/*  */
#footer .ft_crumb {
	position: absolute;
	left:50%;
	top:100px;
	width:100%;
	max-width: var(--max_wid_1);
	padding:var(--padding_1);
	translate: -50% -100%;
}
#footer .ft_crumb.tgt_nm_psa {
	translate: -50% calc(-100% + 20px);
  opacity: 0;
}
#footer .ft_crumb.tgt_nm_psa.psa_show {
  animation:footer_kf_2 .6s ease-out 0s 1 normal forwards;
}
@keyframes footer_kf_2 {
  100% { 	translate: -50% -100%;; opacity:1;}
}
#footer .ft_crumb ul {
	display: block;
	width: 100%;
	padding:0 0 15px 0;
	text-align: right;
	font-size: 0;
}
#footer .ft_crumb ul li {
	display: inline-block;
	font-size: 13px;
	line-height: 1;
	padding:0 0 10px 30px;
	white-space: nowrap;
}
#footer .ft_crumb ul li:first-of-type {
	padding:0 0 10px 0;
}
#footer .ft_crumb ul li::before {
	position: absolute;
	display: block;
	content:'＞';
	left:16px;
	top:calc(50% - 7px);
	translate:-50% -50%;
	font-size: 12px;
	line-height: 1;
}
#footer .ft_crumb ul li:first-of-type::before {
	display:none;
}
#footer .ft_crumb ul li a {
	text-decoration: underline;
	text-underline-offset:4px;
}
/*
*/
.gsty_blk_1 {
	width:100%;
	background-color: #ffffff;
	z-index: 101;
}
.gsty_blk_1 > div {
	width:100%;
	max-width: var(--max_wid_1);
	margin: auto;
	padding:var(--padding_1);
}
.gsty_blk_1 ul {
	display:flex;
	width:100%;
	/* flex-wrap: wrap; */
	justify-content: space-between;
	list-style: none;
	margin: auto;
}
.gsty_blk_1 ul li {
	display: block;
	/* width: 19%; */
	width:15.6%;
}
.gsty_blk_1 ul.tgt_nm_psa li {
  translate:0 30px;
  opacity: 0;
  pointer-events: none;
}
.gsty_blk_1 ul.tgt_nm_psa.psa_show li {
  animation:gsty_blk_1_kf_1 .8s ease-out 0s 1 normal forwards;
}
@keyframes gsty_blk_1_kf_1 {
  100% { translate: 0 0; opacity:1; pointer-events: auto;}
}
.gsty_blk_1 ul.tgt_nm_psa.psa_show li:nth-of-type(1) {
  animation-delay: .2s;
}
.gsty_blk_1 ul.tgt_nm_psa.psa_show li:nth-of-type(2) {
  animation-delay: .4s;
}
.gsty_blk_1 ul.tgt_nm_psa.psa_show li:nth-of-type(3) {
  animation-delay: .6s;
}
.gsty_blk_1 ul.tgt_nm_psa.psa_show li:nth-of-type(4) {
  animation-delay: .8s;
}
.gsty_blk_1 ul.tgt_nm_psa.psa_show li:nth-of-type(5) {
  animation-delay: 1s;
}
.gsty_blk_1 ul.tgt_nm_psa.psa_show li:nth-of-type(6) {
  animation-delay: 1.2s;
}
.gsty_blk_1 ul li a {
	display: block;
	width:100%;
	/* padding:72.7% 0 0 0; */
	aspect-ratio: 10 / 10;
	/* background-position: 50% 50%;
	background-size: 100% auto; */
	background-position: 50% -30%;
	background-size: 130% auto;
}
.gsty_blk_1 ul li:nth-of-type(1) a {
	background-image: url('../images/link_btn_01.png');
}
.gsty_blk_1 ul li:nth-of-type(2) a {
	background-image: url('../images/link_btn_02.png');
}
.gsty_blk_1 ul li:nth-of-type(3) a {
	background-image: url('../images/link_btn_04.png');
}
.gsty_blk_1 ul li:nth-of-type(4) a {
	background-image: url('../images/link_btn_05.png');
}
.gsty_blk_1 ul li:nth-of-type(5) a {
	background-image: url('../images/link_btn_06.png');
}
.gsty_blk_1 ul li:nth-of-type(6) a {
	background-image: url('../images/link_btn_07.png');
}
.gsty_blk_1 ul li a::before {
	position: absolute;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	left:0;
	top:0;
	background-color: #000000;
	/* background-position: 50% 50%;
	background-size: 100% auto; */
	background-position: 50% -30%;
	background-size: 130% auto;
	opacity: 0;
	transition:opacity .2s ease-out 0s;
}
.gsty_blk_1 ul li:nth-of-type(1) a::before {
	background-image: url('../images/link_btn_01_02.png');
}
.gsty_blk_1 ul li:nth-of-type(2) a::before {
	background-image: url('../images/link_btn_02_02.png');
}
.gsty_blk_1 ul li:nth-of-type(3) a::before {
	background-image: url('../images/link_btn_04_02.png');
}
.gsty_blk_1 ul li:nth-of-type(4) a::before {
	background-image: url('../images/link_btn_05_02.png');
}
.gsty_blk_1 ul li:nth-of-type(5) a::before {
	background-image: url('../images/link_btn_06_02.png');
}
.gsty_blk_1 ul li:nth-of-type(6) a::before {
	background-image: url('../images/link_btn_07_02.png');
}
.gsty_blk_1 ul li a.nm_hover::before {
	opacity: 1;
}
.gsty_blk_1 ul li a span:nth-of-type(1) {
	position: absolute;
	display: block;
	left:5%;
	top:93%;
	translate:0 -100%;
	width:calc(95% - 30px);
	transition:color .2s ease-out 0s;
	font-size: 12px;
	line-height: 1.5;
	font-weight: 700;
	word-break: keep-all;
  overflow-wrap: break-word;
}
.gsty_blk_1 ul li a.nm_hover span:nth-of-type(1) {
	color:#ffffff;
}
.gsty_blk_1 ul li a span:nth-of-type(2) {
	position: absolute;
	display: block;
	left:95%;
	top:95%;
	translate:-100% -100%;
	width:18px;
	height:18px;
	rotate:-45deg;
}
.gsty_blk_1 ul li a span:nth-of-type(2)::before,
.gsty_blk_1 ul li a span:nth-of-type(2)::after {
	position: absolute;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	left:0;
	top:0;
	background-image: url('../images/btn_ill_01.svg');
	background-position: 50% 50%;
	background-size: 100% auto;
}
.gsty_blk_1 ul li a span:nth-of-type(2)::after {
	background-image: url('../images/btn_ill_01_02.svg');
	opacity:0;
	transition:opacity .2s ease-out 0s;
}
.gsty_blk_1 ul li a.nm_hover span:nth-of-type(2)::after {
	opacity:1;
}
/*
*/
.gsty_txt_anim {
  position: absolute;
  display: block;
  width:100%;
  height: 140px;
  left:50%;
  top:50%;
  translate:-50% -50%;
  z-index: 2;
  overflow: hidden;
	mask-image: linear-gradient(0deg, #ffffff 0%, #ffffff 100%);
  mask-position: 50% 50%;
  mask-size: 0 100%;
  mask-repeat: no-repeat;
  pointer-events: none;
}
.gsty_txt_anim.hide {
  mask-size: 0 100%;
  transition:none;
}
.gsty_txt_anim.show {
  mask-size: 100% 100%;
  transition:mask-size .6s ease-out 1s;
}
.gsty_txt_anim .t_anim {
  position:absolute;
  display: block;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background-image: url('../images/top_txt_01.svg');
	background-position: calc(50vw - 665px) 50%;
	background-size: 1300px auto;
  background-repeat: repeat-x;
}
.gsty_txt_anim.show .t_anim {
  animation:gsty_txt_anim_kf_1 20s linear 1.5s infinite normal both;
}
@keyframes gsty_txt_anim_kf_1 {
  0% { background-position: calc(50vw - 650px) 50%;}
  100% { background-position: calc(50vw - 1950px) 50%;}
}
.gsty_txt_anim .t_anim_sp {
  position:absolute;
  display: block;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background-image: url('../images/top_txt_01.svg');
  background-size: 1000px auto;
	background-position: 0 50%;
  background-repeat: repeat-x;
  opacity: 0;
}
.gsty_txt_anim.show .t_anim_sp {
  animation:gsty_txt_anim_kf_1_sp 20s linear 1.5s infinite normal both;
}
@keyframes gsty_txt_anim_kf_1_sp {
  0% { background-position: 0 50%;}
  100% { background-position: -1000px 50%;}
}
.gsty_txt_anim img {
  position: absolute;
  display: block;
  width: 200px;
  opacity:0;
  left:50%;
  top:50%;
  translate:-50% -50%;
}
/*
*/
.gsty_tit_1 {
	width: 100%;
  max-width: var(--max_wid_1);
  margin:auto;
  padding:var(--padding_3);
	padding-top:200px;
}
.gsty_tit_1 br {
	display: none;
}
.gsty_tit_1 > span:nth-of-type(1) {
  display: block;
	font-family: "Archivo", sans-serif;
  font-size: 30px;
  line-height: 1;
  font-weight: 300;
}
.tgt_nm_psa .gsty_tit_1 > span:nth-of-type(1) {
	opacity:0;
}
.tgt_nm_psa.psa_show .gsty_tit_1 > span:nth-of-type(1) {
	animation:gsty_tit_1_kf_1 1s ease-out 0s 1 normal forwards;
}
@keyframes gsty_tit_1_kf_1 {
  100% { opacity: 1; translate: 0 0;}
}
.gsty_tit_1 > span:nth-of-type(2) {
	display: block;
	overflow: hidden;
}
.gsty_tit_1 > span:nth-of-type(2) > span {
	display: block;
	font-family: "pragmatica-extended",sans-serif; 
  font-size: 90px;
  line-height: 1;
  font-weight: 300;
  letter-spacing: 0;
	padding:3px 0 2px 0;
}
.tgt_nm_psa .gsty_tit_1 > span:nth-of-type(2) > span {
	opacity:0;
	translate: 0 50%;
}
.tgt_nm_psa.psa_show .gsty_tit_1 > span:nth-of-type(2) > span {
	animation:gsty_tit_1_kf_1 .6s ease .0s 1 normal forwards;
}
.gsty_tit_1 > span:nth-of-type(3) {
  display: block;
}
.gsty_tit_1 > span:nth-of-type(3) > span {
  display: block;
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
}
.tgt_nm_psa .gsty_tit_1 > span:nth-of-type(3) > span {
	opacity:0;
	translate: 0 100%;
}
.tgt_nm_psa.psa_show .gsty_tit_1 > span:nth-of-type(3) > span {
	animation:gsty_tit_1_kf_1 .6s ease .4s 1 normal forwards;
}
/*
*/
.gsty_tit_2 {
  padding:0 0 0 80px;
}
.gsty_tit_2::before {
	position: absolute;
	display: block;
	content: '';
	width: 70px;
	height: 105px;
	left:0;
	top:-20px;
  background-image: url('../images/logo_03.svg');
	background-position: 0 50%;
	background-size: auto 100%;
}
.tgt_nm_psa .gsty_tit_2::before {
	opacity:0;
}
.tgt_nm_psa.psa_show .gsty_tit_2::before {
	animation:gsty_tit_2_kf_1 .6s ease-out .4s 1 normal forwards;
}
.tgt_nm_psa.psa_show .gsty_tit_2.delay_1::before {
	animation-delay: .6s;
}
.tgt_nm_psa.psa_show .gsty_tit_2.delay_2::before {
	animation-delay: 1.2s;
}
@keyframes gsty_tit_2_kf_1 {
  100% { opacity: 1; translate: 0 0;}
}
.gsty_tit_2 > br {
  display:none;
}
.gsty_tit_2 > span:nth-of-type(1) {
  display: block; 
	overflow: hidden;
}
.gsty_tit_2 > span:nth-of-type(1) > span {
  display: block;
  font-size: 41.9px;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap;
  font-family: "pragmatica-extended",sans-serif; 
}
.tgt_nm_psa .gsty_tit_2 > span:nth-of-type(1) > span {
	opacity:0;
	translate: 0 50%;
}
.tgt_nm_psa.psa_show .gsty_tit_2 > span:nth-of-type(1) > span {
	animation:gsty_tit_2_kf_1 .6s ease 0s 1 normal forwards;
}
.tgt_nm_psa.psa_show .gsty_tit_2.delay_1 > span:nth-of-type(1) > span {
	animation-delay: .2s;
}
.tgt_nm_psa.psa_show .gsty_tit_2.delay_2 > span:nth-of-type(1) > span {
	animation-delay: .8s;
}
.gsty_tit_2 > span:nth-of-type(2) {
  display: block;
	padding:8px 0 4px 0;
	overflow: hidden;
}
.gsty_tit_2 > span:nth-of-type(2) > span {
  display: block;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 700;
}
.tgt_nm_psa .gsty_tit_2 > span:nth-of-type(2) > span {
	opacity:0;
	translate: 0 100%;
}
.tgt_nm_psa.psa_show .gsty_tit_2 > span:nth-of-type(2) > span {
	animation:gsty_tit_2_kf_1 .6s ease .2s 1 normal forwards;
}
.tgt_nm_psa.psa_show .gsty_tit_2.delay_1 > span:nth-of-type(2) > span {
	animation-delay: .4s;
}
.tgt_nm_psa.psa_show .gsty_tit_2.delay_2 > span:nth-of-type(2) > span {
	animation-delay: 1s;
}
.gsty_tit_2 > span:nth-of-type(2) > span > span {
	white-space: nowrap;
}
/*
*/
#gsty_blk_anc {
  position: fixed;
  width: min(235px, 14%);
  left:50%;
  top:max(450px, min(700px, 95%));
  translate: max(-1000px, -50vw) -100%;
	z-index: 200;
}
#gsty_blk_anc > div {
	opacity:0;
	translate: -50% 0;
	animation:gsty_blk_anc_kf_1 .6s ease-out 1s 1 normal forwards;
}
@keyframes gsty_blk_anc_kf_1 {
  100% {translate: 0 0; opacity:1;}
}
#gsty_blk_anc ul {
  display: block;
  list-style: none;
}
#gsty_blk_anc ul li {
  display: block;
	padding:7px 0 7px 30px;
}
#gsty_blk_anc ul li a {
  display: inline-block;
  padding:1px 2px;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 700;
  color:#aaaaaa;
  transition:color .2s ease-out 0s;
}
#gsty_blk_anc ul li a::before {
	position: absolute;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	left:0;
	top:0;
	background-color: #000000;
	scale:1 0;
	transform-origin: 0 0;
	transition:scale .2s ease-out 0s;
}
#gsty_blk_anc ul li a span {
	display: block;
	word-break: keep-all;
  overflow-wrap: break-word;
}
#gsty_blk_anc ul li a.active {
  color:#000000;
}
#gsty_blk_anc ul li a.on {
  color:#000000;
}
#gsty_blk_anc ul li a.nm_hover,
#gsty_blk_anc ul li a.nm_hover span {
  color:#ffffff;
}
#gsty_blk_anc ul li a.nm_hover::before {
	scale:1 1;
}
#gsty_blk_anc .btn_sp {
  display:none;
}
/*  */
.panch_t,
.panch_b {
	position: absolute;
	left:0;
	top:0;
	pointer-events: none;
	/* width:100px;
	height:100px;
	border:1px solid #ff0000; */
}
.panch_b {
	top:100%;
	/* border:1px solid #ff00ff; */
}

/*
*/
.glitch {
	position: absolute;
  display: block;
  left:0;
  top:0;
  width:100%;
  height:100%;
  opacity: 0;
}
.nm_hover .glitch {
  opacity: 1;
  transition:opacity .4s ease-out 0s;
}
.glitch > span {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-position: 50% 59%;
  background-size: cover;
}
.glitch > span:nth-child(1) {
	transform: translateX(-5%);
}
.nm_hover .glitch > span:nth-child(1) {
	animation: glitch_kf_1 2s infinite linear alternate;
}
.glitch > span:nth-child(2) {
	transform: translateX(3%) translateY(3%);
}
.nm_hover .glitch > span:nth-child(2) {
	animation: glitch_kf_2 2.3s -.8s infinite linear alternate;
}
.glitch > span:nth-child(3) {
	transform: translateX(5%);
}
.nm_hover .glitch > span:nth-child(3) {
	animation: glitch_kf_3 1s infinite linear;
}
@keyframes glitch_kf_1 {
	0% {clip-path: polygon(0 0%, 100% 0%, 100% 5%, 0 5%);}
	10% {clip-path: polygon(0 15%, 100% 15%, 100% 15%, 0 15%);}
	20% {clip-path: polygon(0 10%, 100% 10%, 100% 20%, 0 20%);}
	30% {clip-path: polygon(0 1%, 100% 1%, 100% 2%, 0 2%);}
	40% {clip-path: polygon(0 35%, 100% 35%, 100% 35%, 0 35%);}
	50% {clip-path: polygon(0 45%, 100% 45%, 100% 46%, 0 46%);}
	60% {clip-path: polygon(0 50%, 100% 50%, 100% 70%, 0 70%);}
	70% {clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);}
	80% {clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);}
	90% {clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);}
	100% {clip-path: polygon(0 60%, 100% 60%, 100% 70%, 0 70%);}
}
@keyframes glitch_kf_2 {
	0% {clip-path: polygon(0 15%, 100% 15%, 100% 30%, 0 30%);}
	15% {clip-path: polygon(0 3%, 100% 3%, 100% 3%, 0 3%);}
	25% {clip-path: polygon(0 8%, 100% 8%, 100% 20%, 0 20%);}
	30% {clip-path: polygon(0 20%, 100% 20%, 100% 20%, 0 20%);}
	45% {clip-path: polygon(0 45%, 100% 45%, 100% 45%, 0 45%);}
	50% {clip-path: polygon(0 50%, 100% 50%, 100% 57%, 0 57%);}
	65% {clip-path: polygon(0 60%, 100% 60%, 100% 60%, 0 60%);}
	75% {clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);}
	80% {clip-path: polygon(0 40%, 100% 40%, 100% 60%, 0 60%);}
	95% {clip-path: polygon(0 45%, 100% 45%, 100% 60%, 0 60%);}
	100% {clip-path: polygon(0 11%, 100% 11%, 100% 15%, 0 15%);}
}
@keyframes glitch_kf_3 {
	0% {opacity: .2;}
	30%, 100% {opacity: 0;}
}

/***************************************************************************************************
 responsive
***************************************************************************************************/
@media screen and (max-width:1300px) {
#header .hd_blk_1_2_1 nav ul li a span:nth-of-type(1) {
	font-size: max(11.5px, min(1vw, 13px));
}
}
@media screen and (max-width:1200px) {
/*
*/
.gsty_blk_1 ul {
	flex-wrap: wrap;
	/* justify-content: center; */
	max-width: 800px;
}
.gsty_blk_1 ul li {
	/* width:33%; */
	width:32%;
	margin-bottom: 2%;

}
}
/*  */
@media screen and (max-width:1000px) {
/*
*/
#header {
	position:fixed;
	height: 60px;
	transition:	none;
}
#header.type_2 {
	height: 60px;
}
#header::before {
	box-shadow: 0 0 40px #000000;
}
/*  */
#header .hd_blk_1 {
	height: 100%;
	padding: 0;
	top:0;
	translate:0 0;
}
#header.type_2 .hd_blk_1 {
	padding: 0;
	height: 100%;
}
#header .hd_blk_1 > div {
	max-width: none;
	left:0;
	translate:0 0;
}
#header .hd_blk_1 > div > div {
	width:100%;
	height:100%;
	padding:0;
	padding-left: 0;
}
#header.type_2 .hd_blk_1 > div > div {
	padding-right: 0;
}
#header .hd_blk_1 > div > div > div {
	display: block;
}
/*  */
#header .hd_blk_1_1 {
	display: block;
	width:46%;
	height: 100%;
	left:4%;
	transition: opacity .2s ease-out .2s;
}
#header_input:checked ~ #header .hd_blk_1_1 {
	opacity:0;
	pointer-events: none;
	transition: opacity .2s ease-out 0s;
}
#header.type_2 .hd_blk_1_1 {
	width:46%;
}
#header .hd_blk_1_1 h1 {
	width:100%;
	max-width: none;
}
#header.type_2 .hd_blk_1_1 h1 {
	width:100%;
	min-width: 0;
}
#header .hd_blk_1_1 h1 a {
	position: absolute;
	display: block;
	width:96%;
	max-width: 200px;
	height:100%;
	left:0;
	top:0;
	translate: 0 0;
	background-image: url('../images/logo_02.svg');
	background-position: 0 50%;
	background-size: 100% auto;
}
#header.type_2 .hd_blk_1_1 h1 a {
	top:0;
	translate: 0 0;
}
#header .hd_blk_1_1 h1 a img {
	display: none;
}
/*  */
#header .hd_blk_1_2 {
	position:absolute;
	display: block;
	width:100%;
	height: calc(100dvh - 60px);
	min-width: 0;
	background-color: #ffffff;
	overflow: hidden;
	padding: 0;
	overflow: auto;
	opacity:0;
	pointer-events: none;
	transition:opacity .2s ease-out 0s;
}
#header_input:checked ~ #header .hd_blk_1_2 {
	opacity:1;
	pointer-events: auto;
}
#header.type_2 .hd_blk_1_2 {
	width:100%;
	min-width: 0;
	padding: 0;
}
#header.type_2 .hd_blk_1_2_1 {
	width: 100%;
	height: auto;
	margin:auto;
}
#header .hd_blk_1_2_1 nav {
	width: 100%;
	height: auto;
}
#header.type_2 .hd_blk_1_2_1 nav {
	left:0;
	max-width: none;
	translate:0 0;
}
#header .hd_blk_1_2_1 nav ul {
	display: block;
	width: 100%;
	padding: var(--padding_1_sp);
	padding-top: 30px;
}
#header .hd_blk_1_2_1 nav ul li {
	display:block;
	padding:15px 0 8px 0;
	border-bottom:1px solid #000000;
}
#header .hd_blk_1_2_1 nav ul li a {
	display:block;
	width:100%;
	height: auto;
}
#header .hd_blk_1_2_1 nav ul li a::before {
	display: none;
}
#header .hd_blk_1_2_1 nav ul li a span:nth-of-type(1) {
	display:block;
	top:0;
	font-weight: 700;
	translate: 0 0;
	font-size: 20px;
	text-align: left;
}
#header .hd_blk_1_2_1 nav ul li a span:nth-of-type(2) {
	display:block;
	text-align: left;
	font-size: 13px;
	line-height: 1;
	font-weight: 700;
	white-space:nowrap;
	padding:8px 0;
	background-image: url('../images/btn_ill_01.svg');
	background-position: calc(100% - 5px) 50%;
	background-size: 12px auto;
}
#header .hd_blk_1_2_1 nav ul li a.disable span:nth-of-type(2) {
	color:#ccc9c6;
}
#header .hd_blk_1_2_1 nav ul li a.disable span:nth-of-type(2) {
	color:#ccc9c6;
	background-image: url('../images/header_btn_04.svg');
	background-position: 100% 50%;
	background-size: auto 24px;
}
#header .hd_blk_1_2_2 {
	display:flex;
	padding: var(--padding_1_sp);
	padding-top: 20px;
	justify-content: space-between;
}
#header .hd_blk_1_2_2 p {
	width: 47.5%;
	text-align: left;
}
#header .hd_blk_1_2_2 p a {
	display:block;
	width:100%;
	border-bottom: 3px solid #000000;
	padding:0 0 5px 0;
}
#header .hd_blk_1_2_2 p a > br {
	display:none;
}
#header .hd_blk_1_2_2 p a span:nth-of-type(1) {
	display:block;
	font-size: 20px;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: 0;
	font-family: "pragmatica-extended",sans-serif; 

}
#header .hd_blk_1_2_2 p a span:nth-of-type(2) {
	display:block;
	text-align: left;
	font-size: 13px;
	line-height: 1;
	font-weight: 700;
	white-space:nowrap;
	padding:8px 0 12px 0;
	background-image: url('../images/btn_ill_01.svg');
	background-position: calc(100% - 5px) 50%;
	background-size: 12px auto;
}
#header .hd_blk_1_2_3 {
	display:block;
	padding: var(--padding_1_sp);
	/* padding-bottom: 100px; */
}
#header .hd_blk_1_2_3 > div {
	display:table;
	width: 100%;
	height: 60px;
	border-bottom: 1px solid #000000;
}
#header .hd_blk_1_2_3 > div > p {
	display:table-cell;
	text-align: left;
	vertical-align: middle;
	font-size: 13px;
	line-height: 1;
	font-weight: 700;
	white-space:nowrap;
}
#header .hd_blk_1_2_3 > div > ul {
	display:table-cell;
	list-style: none;
	text-align: right;
	vertical-align: middle;
	font-size: 0;
	white-space: nowrap;
}
#header .hd_blk_1_2_3 > div > ul li {
	display: inline-block;
	width:31px;
	height: 31px;
	margin-left: 15px;
}
#header .hd_blk_1_2_3 > div > ul li:has(img[alt="YouTube"]) {
	width:34px;
	margin-left: 17px;
}
#header .hd_blk_1_2_3 > div > ul li a {
	display: block;
	width:100%;
	height: 100%;
}
#header .hd_blk_1_2_3 > div > ul li a img {
	display: block;
	width:100%;
	height: auto;
}
#header .hd_blk_1_2_4 {
	display:block;
	width:100%;
	padding:30px 0 30px 0;
	/* height: 160px; */
}
/* #header .hd_blk_1_2_4 .hd_txt_sp {
	top:-7px;
	translate:-50% 0;
	mask-size: 100% 100% !important;
  transition:none !important;
}
#header .hd_blk_1_2_4 .hd_txt_sp.gsty_txt_anim.show .t_anim_sp {
	animation-delay: 0s;
}
*/
#header .hd_blk_1_2_4 p {
	padding: var(--padding_1_sp);
	/* padding-top: 130px; */
	text-align: right;
	font-size: 10px;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
} 
/*  */
#header .hd_blk_2 {
	position: absolute;
	width:auto;
	max-width: none;
	left:96%;
	top:50%;
	translate:0 0;
	transition: opacity .2s ease-out .2s;
}
#header_input:checked ~ #header .hd_blk_2 {
	opacity:0;
	pointer-events: none;
	transition: opacity .2s ease-out 0s;
}
#header .hd_blk_2 p {
	position: absolute;
	width:26vw;
	max-width: 100px;
	height:30px;
	left:-65px;
	top:-15px;
	translate: -100% 0;
	transition:none;
}
#header.type_2 .hd_blk_2 p {
	width:26vw;
	max-width: 100px;
	height:30px;
}
#header .hd_blk_2 p a img {
	width:50px;
}
#header.type_2 .hd_blk_2 p a img {
	width:50px;
}
/*
*/
#header .sp_menu {
	display: block;
	position: absolute;
	width:auto;
	max-width: none;
	left:96%;
	top:50%;
	translate:0 0;
}
#header .sp_menu > div {
	position: absolute;
	width:55px;
	height: 30px;
	left:-55px;
	top:-15px;
}
#header .sp_menu label {
	position: absolute;
	width:100%;
	height: 50px;
	left:0;
	top:calc(50% - 25px);
	background-image: url('../images/header_btn_03.svg');
	background-position: 50% calc(50% - 1px);
	background-size: 44px auto;
	cursor: pointer;
	transition: opacity .1s ease-out .2s;
}
#header_input:checked ~ #header .sp_menu label {
	opacity:0;
	transition: opacity .1s ease-out 0s;
}
#header .sp_menu .b_1,
#header .sp_menu .b_2 {
	position: absolute;
	left:50%;
	top:calc(100% - 1.5px);
	width:100%;
	height:3px;
	background-color: #000000;
	translate: -50% -50%;
	transition:
	top .2s ease-out .2s,
	rotate .2s ease-out 0s,
	opacity 0s ease-out .2s;
	pointer-events: none;
}
#header .sp_menu .b_1 {
	opacity:0;
}
#header_input:checked ~ #header .sp_menu .b_1,
#header_input:checked ~ #header .sp_menu .b_2 {
	opacity:1;
	top:50%;
	rotate:25deg;
	transition:
	top .2s ease-out 0s,
	rotate .2s ease-out .2s;
}
#header_input:checked ~ #header .sp_menu .b_2 {
	rotate:-25deg;
}
/*
*/
#footer {
	/* padding:220px 0 0 0; */
	padding:70px 0 0 0;
}
#footer .ft_content > div {
	max-width: none;
	padding:var(--padding_1_sp);
}
#footer .ft_content > div > div {
	display: block;
}
/*  */
#footer .ft_txt.gsty_txt_anim {
	top:100px;
}
/* 
*/
#footer .ft_blk_1 {
	position: relative;
	width: 100%;
	height: auto;
}
#footer .ft_blk_1 p {
	position: relative;
	top:0;
	translate: 0 0;
	padding:25px 0 0 0;
}
#footer .ft_blk_1 p a {
	width:150px;
	margin: auto;
}
/*
*/
#footer .ft_blk_2 {
	padding:20px 0 30px 0;
	min-height: 0;
}
/*  */
#footer .ft_blk_2_1 ul {
	justify-content: center;
	left:0;
	display: none;
}
#footer .ft_blk_2_1 ul li {
	padding:0 15px;
	margin-bottom: 10px;
}
#footer .ft_blk_2_1 ul li:nth-of-type(1) {
	border-left:none;
}
#footer .ft_blk_2_1 ul li:nth-of-type(7) {
	order:9;
}
#footer .ft_blk_2_1 ul li a {
	font-size: min(14px, 4vw);
	padding:1px 0;
}
#footer .ft_blk_2_1 ul li a::before {
	top:calc(100% + 1px);
}
/*  */
#footer .ft_blk_2_2 {
	padding:5px 0 0 0;
}
#footer .ft_blk_2_2 ul {
	text-align: center;
}
#footer .ft_blk_2_2 ul li {
	padding: 5px 7px;
}
#footer .ft_blk_2_2 ul li a {
	font-size: 12px;
	padding:2px 0;
}
/*  */
#footer .ft_blk_2_3 {
	padding: 15px 0 0 0;
}
#footer .ft_blk_2_3 ul {
	text-align: center;
}
#footer .ft_blk_2_3 ul li {
	padding: 0 3px;
}
#footer .ft_blk_2_3 ul li a {
	width:45px;
	height: 20px;
	font-size: 11px;
	line-height: 19px;
}
/*  */
#footer .ft_blk_2_4 {
	padding:30px 0 0 0;
}
#footer .ft_blk_2_4 p {
	text-align: center;
	font-size: 11px;
}

/*  */
#footer .ft_crumb {
	top:70px;
	max-width:none;
	padding:var(--padding_1_sp);
}
#footer .ft_crumb ul {
	padding:0 0 10px 0;
}
#footer .ft_crumb ul li {
	font-size: 11px;
	padding:0 0 10px 24px;
}
#footer .ft_crumb ul li:first-of-type {
	padding:0 0 10px 0;
}
#footer .ft_crumb ul li::before {
	left:12px;
	top:calc(50% - 5px); 
	font-size: 10px;
}
#footer .ft_crumb ul li a {
	text-underline-offset:3px;
}


/*
*/
.gsty_blk_1 > div {
	max-width: none;
	padding:var(--padding_1_sp);
}
.gsty_blk_1 ul li a span:nth-of-type(1) {
	top:95%;
	width:calc(95% - 30px);
	font-size: 11px;
}
.gsty_blk_1 ul li a span:nth-of-type(2) {
	top:98%;
	width:14px;
	height:14px;
}
/*
*/
.gsty_txt_anim .t_anim {
  opacity: 0;
}
.gsty_txt_anim .t_anim_sp {
  opacity: 1;
}
/*
*/
.gsty_tit_1 {
  max-width: none;
  padding:var(--padding_1_sp);
	padding-top:100px;
}
.gsty_tit_1 > span:nth-of-type(1) {
  font-size: 18px;
}
.gsty_tit_1 > span:nth-of-type(2) > span {
  font-size: 45px;
	padding:10px 0 8px 0;
}
.gsty_tit_1 > span:nth-of-type(3) > span {
  font-size: 14px;
}
/*
*/
.gsty_tit_2 {
  padding:0 0 0 45px;
}
.gsty_tit_2::before {
	width: 40px;
	height: 60px;
	top:-3px;
}
.gsty_tit_2 > br {
  display:none;
}
.gsty_tit_2 > span:nth-of-type(1) > span {
  font-size: 28px;
  line-height: 1.1;
  white-space: normal;
  word-break: keep-all;
}
.gsty_tit_2 > span:nth-of-type(2) {
  padding:5px 0 2px 0;
}
.gsty_tit_2 > span:nth-of-type(2) > span {
  font-size: 15px;
  line-height: 1.1;
}
/*
*/
#gsty_blk_anc {
  position: fixed;
  width: auto;
  left:0;
  top:max(225px, 35%);
  translate: 0 0;
	background-color: #ffffff;
	border:1px solid #646464;
	border-left:none;
	translate:-100% 0;
	transition:translate .4s ease-out 0s;
}
#gsty_blk_anc.open {
	translate:0 0;
}
#gsty_blk_anc > div {
	padding:10px 17px;
}
#gsty_blk_anc ul li {
	padding:3px 0;
}
#gsty_blk_anc ul li a {
  font-size: 11px;
	max-width: 150px;
	/* white-space: nowrap; */
}
#gsty_blk_anc .btn_sp {
	position: absolute;
  display:block;
	left:100%;
	top:0;
	width:36px;
	height: 60px;
	background-color: #000000;
	border:1px solid #646464;
	cursor: pointer;
}
#gsty_blk_anc .btn_sp::before,
#gsty_blk_anc .btn_sp::after {
	position: absolute;
	display: block;
	content: '';
	width: 20px;
	height: 20px;
	left:50%;
	top:50%;
	translate:-50% -50%;
	background-image: url('../images/btn_ill_01_02.svg');
	background-position: 50% 50%;
	background-size: 13px auto;
	transition: opacity .2s ease-out .2s;
}
#gsty_blk_anc .btn_sp::before {
	opacity:1;
}
#gsty_blk_anc .btn_sp::after {
	rotate:180deg;
	opacity:0;
}
#gsty_blk_anc.open .btn_sp::before {
	opacity:0;
}
#gsty_blk_anc.open .btn_sp::after {
	opacity:1;
}
/*  */
}
/***************************************************************************************************
 responsive
***************************************************************************************************/
@media screen and (max-width:800px) {
/*
*/
.gsty_blk_1 > div {
	max-width: var(--max_wid_2);
}
/* .gsty_blk_1 ul { */
	/* left:-2%; */
/* } */
.gsty_blk_1 ul li {
	width:49%;
	/* margin: auto 1%;
	margin-bottom: 2%; */
}
/* .gsty_blk_1 ul li a {
	padding:max(165px, 103%) 0 0 0;
	background-size: 125% auto;
}
.gsty_blk_1 ul li a::before {
	background-size: 125% auto;
} */
/*  */
}
/***************************************************************************************************
 responsive
***************************************************************************************************/
@media screen and (max-width:480px) {
#footer .ft_blk_2_1 ul::before {
	display: block;
  content: '';
  width: 100%;
	order:4;
}
#footer .ft_blk_2_1 ul li:nth-of-type(4) {
	order:5;
	border-left:none;
}
#footer .ft_blk_2_1 ul li:nth-of-type(5) {
	order:6;
}
#footer .ft_blk_2_1 ul::after {
	order:7;
}
#footer .ft_blk_2_1 ul li:nth-of-type(6) {
	order:8;
	border-left:none;
}
/*  */
}
