@charset "utf-8";

/* ---------------------------------------- 
 - html
---------------------------------------- */
html,
body {
  margin: 0;
  padding: 0;
}
html{
	font-size: 62.5%;
	scroll-behavior: smooth;
}

@media screen and (max-width: 320px) {
	html{
		font-size: 52.5%;
	}
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}


/* ---------------------------------------- 
 - img
---------------------------------------- */
img {
	width: 100%;
}
/* ホバー */
a,
a::after {
	transition: all 0.4s ease-in-out;
}
.sp_only {
	display: none;	
}
.pc_only {
	display: block;	
}
span.pc_only {
	display: inline-block;	
}
.tb_only {
	display: none;
}
.tb_none {
	display: block;
}

@media screen and (max-width : 1024px) {
	.tb_only {
		display: block;
	}
	.tb_none {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	.sp_only {
		display: block;	
	}
	.pc_only,
	span.pc_only {
		display: none;	
	}
}

/* ---------------------------------------- 
 - body #282828
---------------------------------------- */
body{
	font-family: var(--font_Noto_Sans);
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 18px;
	font-size: 1.8em;
	font-weight: var(--font_Regular);
	text-align: justify;
	color: var(--color_black);
	background-color: var(--color_White);
	line-height:2.0;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	-webkit-text-size-adjust: 100%; /* 文字の拡大縮小を防ぐ */
	text-size-adjust: 100%; /* 文字の拡大縮小を防ぐ */
}
/*
.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.roboto-<uniquifier> {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
	"wdth" <width>;
}

*/
:root {
	--color_black: #000000;
	--color_White: #FFFFFF;
	--color_gold: #d5c175;
	--color_gray: #282828;
	--color_light_gray: #c2ccd4;
	--inner_width: 1280px;
	--inner_width_out: 1680px;
	--inner_padding: 0 3%;
	--bp_tb: 1024px;
	--bp_sp: 768px;
	--font_09: 50.00%;
	--font_12: 66.66%;
	--font_14: 77.78%;
	--font_15: 83.33%;
	--font_16: 88.89%;
	--font_18: 100.00%;
	--font_19: 105.56%;
	--font_20: 111.11%;
	--font_21: 116.66%;
	--font_22: 122.22%;
	--font_24: 133.33%;
	--font_25: 138.88%;
	--font_26: 144.44%;
	--font_28: 155.55%;
	--font_32: 177.77%;
	--font_35: 194.44%;
	--font_38: 211.11%;
	--font_50: 277.77%;
	--font_52: 288.89%;
	--font_62: 344.44%;
	--font_70: 388.88%;
	--font_94: 522.22%;
	--font_133: 738.89%;
	--font_Light: 300;
	--font_Regular: 400;
	--font_medium: 500;
	--font_bold: 700;
	--font_black: 900;
	--font_Noto_Sans: "Noto Sans JP", sans-serif;
	--font_Roboto: "Roboto", sans-serif;
}
/* @media screen and (max-width : 1280px) {
	body {
		font-size: 1.6rem;
	}
} */
@media screen and (max-width : 1024px) {
	body {
		font-size: 1.6rem;
	}
	:root {
		--inner_padding: 0 7%;
		--inner_width: 800px;
	}
}

@media screen and (max-width : 768px) {
	body {
		font-size: 1.4rem;
		line-height:1.8;
	}
	:root {
		--inner_padding: 0 7%;
		--font_21: 100%;
		--font_25: 114.28%;
		--font_50: 214.28%;
		--font_52: 214.28%;
		--font_62: 228.57%;
		--font_94: 371.42%;
		--font_133: 371.42%;
	}
}
/* ---------------------------------------- 
 - common
---------------------------------------- */
#main {
	padding-top: 150px;
}
.sec {
	padding: var(--inner_padding);
	overflow: hidden;
}
.sec .inner {
	width: 100%;
	max-width: var(--inner_width);
	margin: 0 auto;
}
#breadcrumb .inner {
	font-size: var(--font_12);
	display: flex;
	gap: 1em;
}
#breadcrumb a {
	display: flex;
	gap: 1em;
}
#breadcrumb a:hover {
	color: var(--color_gold);
}
#breadcrumb a::after{
	content: "＞";
	display: block;
}
#single_visual {
	position: relative;
	margin-top: 30px;
	margin-bottom: 170px;
}
#single_visual::before {
	position: absolute;
	top: 0;
	right: 0;
	content: "";
	display: block;
	width: calc((var(--inner_width) - 220px) + ((100vw - var(--inner_width))/2));
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
@media screen and (max-width : 1280px) {
	#single_visual::before {
		width: calc(100vw - 220px);
	}
}
#single_visual .inner {
	position: relative;
	padding-top: 130px;
}
#single_visual .inner::before {
	position: absolute;
	content: "";
	display: block;
	top: 245px;
	left: 0;
	background-color: var(--color_White);
	height: calc(100% - 245px);
	width: 585px;
}
#single_visual .ttl_area {
	width: 560px;
	position: relative;
}
#single_visual .en_ttl {
	font-size: var(--font_133);
	font-family: var(--font_Roboto);
	font-weight: var(--font_medium);
	line-height: 1.07;
}
#single_visual .h1_ttl {
	font-size: var(--font_19);
	font-weight: var(--font_bold);
	margin-top: 50px;
}
#single_visual .catch {
	font-size: var(--font_38);
	font-weight: var(--font_bold);
	margin-top: 100px;
}
#single_visual .txt {
	margin-top: 35px;
	padding-right: 2em;
}

#link_area {
	padding-top: 185px;
	padding-bottom: 185px;
}
#link_area .inner {
	max-width: 1010px;
}
#link_area .linl_list {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#link_area .linl_item a {
	width: 465px;
	height: 155px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	font-size: var(--font_22);
	line-height: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 15px;
	color: var(--color_White);
}
#link_area .linl_item.prev a {
	padding-left: 20px;
}
#link_area .linl_item.next a {
	padding-right: 20px;
}
#link_area .linl_item span {
	font-size: var(--font_16);
	display: block;
}
#link_area .linl_item a:hover {
	height: 130px;
}
@media screen and (max-width : 1024px) {
	#single_visual::before {
		content: unset;
	}
	#single_visual .ttl_area {
		width: 100%;
	}
	#single_visual .img {
		margin-top: 50px;
	}
	#single_visual .catch {
		margin-top: 50px;
	}
	#single_visual .name {
		margin-top: 30px;
	}
	#link_area .linl_item a {
		width: 350px;
		height: 115px;
	}
}
@media screen and (max-width : 768px) {
	#main {
		padding-top: 80px;
	}
	#single_visual {
		margin-bottom: 80px;
	}
	#single_visual .inner {
		padding-top: 45px;
	}
	#single_visual .h1_ttl {
		margin-top: 20px;
	}
	#single_visual .img {
		width: 116%;
		margin: 30px -8% 0;
	}
	#single_visual .catch {
		margin-top: 30px;
		line-height: 1.7;
	}
	#single_visual .txt {
		padding-right: 0;
	}
	#link_area {
		padding-top: 85px;
		padding-bottom: 85px;
	}
	#link_area .linl_list {
		flex-direction: column-reverse;
		gap: 30px;
	}
	#link_area .linl_item a {
		width: 340px;
		height: 100px;
	}
}



/* ---------------------------------------- 
 - HISTORY
---------------------------------------- */
#history #single_visual::before {
	background-image: url(../img/history_ttl_bg.jpg);
	background-position: left center;
}
#history #link_area .prev a {
	background-image: url(../img/history_link_prev.png);
}
#history #link_area .next a {
	background-image: url(../img/history_link_next.png);
}
#history_area {
	background-color: var(--color_gray);
	color: var(--color_White);
	padding-top: 160px;
	padding-bottom: 170px;
}
.history_box {
	margin-top: 20px;
}
.history_box:first-child {
	margin-top: 0;
}
.history_box .num_ttl {
	font-size: var(--font_94);
	font-family: var(--font_Roboto);
	font-variation-settings: "wdth" 75;
	letter-spacing: -0.03em;
	font-style: italic;
	font-weight: var(--font_Light);
	color: var(--color_gold);
	text-align: center;
	line-height: 1;
}
.history_box .flex_box {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
}
.history_box .flex_box .txt_area {
	width: 45%;
	max-width: 440px;
	padding-top: 75px;
	border-top: 1px solid var(--color_White);
	margin-top: -70px;
}
.history_box:first-child .flex_box .txt_area {
	border-top: unset;
	margin-top: -180px;
}
.history_box .txt_area .h2_ttl {
	font-size: var(--font_35);
	display: flex;
	align-items: center;
}
.history_box .txt_area .h2_ttl span {
	font-size: 51%;
	display: block;
	margin-left: 1em;
}
.history_box .txt_area .ttl {
	font-size: var(--font_38);
	font-weight: var(--font_bold);
	margin-top: 40px;
	line-height: 1.8;
}
.history_box .txt_area .txt {
	margin-top: 35px;
}
.history_box .flex_box .num_area {
	width: 50%;
	background-image: url(../img/dot_icon.svg);
	background-repeat: repeat-y;
	background-size: 3px;
	padding-bottom: 50px;
}
.history_box .num_area ul {
	display: flex;
	flex-direction: column;
	row-gap: 80px;
}
.history_box:first-child .num_area ul,
.history_box:nth-child(3) .num_area ul {
	margin-top: -15px;
}
.history_box .num_area li {
	position: relative;
	color: var(--color_gold);
	font-size: var(--font_25);
	display: flex;
	align-items: flex-start;
	column-gap: 20px;
	padding-left: 35px;
	line-height: 1.7;
}
.history_box .num_area li::before {
	position: absolute;
	top: 0.55em;
	left: 0;
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	margin-left: -13.5px;
	background-color: var(--color_gold);
}
.history_box .num_area li.in {
	color: var(--color_White);
	font-size: var(--font_21);
	padding-left: 170px;
}
.history_box .num_area li.in::before {
	position: absolute;
	top: 1.1em;
	left: 0;
	content: "";
	display: block;
	width: 150px;
	height: 1px;
	border-radius: 0;
	margin-left: 0;
	background-color: var(--color_White);
}
.history_box .num_area li .num {
	font-size: 140%;
	font-family: var(--font_Roboto);
	font-variation-settings: "wdth" 75;
	letter-spacing: -0.03em;
	font-style: italic;
	font-weight: var(--font_Light);
}
.history_box .num_area li .txt {
	flex: 1;
	padding-top: 0.2em;
}
.history_50th {
	padding-top: 45px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 40px;
}
.history_50th .logo {
	width: 280px;
}
.history_50th .ttl {
	font-size: var(--font_52);
	font-weight: var(--font_bold);
	margin-top: 40px;
}
.history_50th .txt {
	line-height: 2.7;
}
#message {
	position: relative;
	padding-top: 280px;
	margin-bottom: 200px;
}
#message::after {
	position: absolute;
	content: "";
	display: block;
	background-image: url(../img/history_message_img.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;
	width: 100%;
	height: 80%;
	top: 0;
	left: 0;
	z-index: -1;
}
#message::before {
	content: "";
	display: block;
	position: absolute;
	background-color: var(--color_White);
	width: calc((var(--inner_width) / 2) + ((100vw - var(--inner_width)) / 2));
	height: calc(100% - 180px);
	bottom: 0;
	left: 0;
}
@media screen and (max-width : 1280px) {
	#message::before {
		width: calc(100vw / 2);
	}
}
#message .txt_area {
	position: relative;
	width: 50%;
	padding-right: 9%;
}
#message .h2_ttl {
	display: flex;
	font-family: var(--font_Roboto);
	font-size: var(--font_62);
	font-weight: var(--font_bold);
	align-items: baseline;
	gap: 10px;
}
#message .h2_ttl span {
	display: flex;
	align-items: baseline;
	font-family: var(--font_Noto_Sans);
	font-size: 1.8rem;
	gap: 10px;
}
#message .h2_ttl span::before {
	content: "";
	width: 70px;
	height: 1px;
	background-color: var(--color_black);
}
#message .ttl {
	margin-top: 50px;
	font-size: var(--font_62);
	font-weight: var(--font_bold);
	line-height: 1.58;
	text-align: left;
}
#message .txt {
	margin-top: 60px;
}
#message .name {
	font-size: var(--font_21);
	text-align: right;
	margin-top: 50px;
}
@media screen and (max-width : 1024px) {
	.history_box .flex_box {
		flex-direction: column;
		row-gap: 50px;
	}
	.history_box .flex_box .txt_area {
		width: 100%;
		max-width: 100%;
		margin-top: 0;
		padding-top: 0;
		border-top: unset;
	}
	.history_box:first-child .flex_box .txt_area {
		margin-top: 0;
	}
	.history_box .flex_box .num_area {
		width: 100%;
	}
	.history_box .num_area ul {
		row-gap: 40px;
	}
	.history_box .flex_box .num_area {
		padding-left: 15px;
		background-position-x: 15px;
	}
	.history_box .num_ttl {
		text-align: left;
	}
	#message {
		padding-top: 250px;
	}
	#message::after {
		height: 600px;
	}
	#message::before {
		width: calc(100vw * 0.6);
	}
	#message .txt_area {
		width: 100%;
		padding-right: 0;
	}
	#message .h2_ttl {
		flex-direction: column;
		gap: 0;
	}
}
@media screen and (max-width : 768px) {
	#history_area {
		padding-top: 80px;
		padding-bottom: 90px;
	}
	.history_box .flex_box {
		margin-top: 10px;
	}
	.history_box .flex_box .num_area {
		background-position-x: 11px;
	}
	.history_box .num_area li {
		padding-left: 20px;
	}
	.history_box .num_area li::before {
		width: 21px;
		height: 21px;
	}
	.history_box .num_area li.in {
		padding-left: 60px;
		flex-direction: column;
	}
	.history_box .num_area li.in::before {
		width: 50px;
	}.history_box .num_area ul {
		row-gap: 20px;
	}
	.history_box .txt_area .h2_ttl {
		font-size: 171%;
	}
	.history_box .txt_area .ttl {
		margin-top: 20px;
		line-height: 1.5;
	}
	.history_box .txt_area .txt {
		margin-top: 15px;
	}
	.history_50th {
		gap: 30px;
	}
	.history_50th .logo {
		width: 180px;
	}
	.history_50th .ttl {
		margin-top: 10px;
	}
	.history_50th .txt {
		line-height: 2.0;
		text-align: left;
	}
	#message {
		margin-bottom: 0;	
	}
	#message::after {
		height: 300px;
	}
	#message::before {
		height: calc(100% - 200px);
	}
	#message .h2_ttl {
		font-size: 180%;
	}
	#message .h2_ttl span {
		font-size: 40%;
	}
	#message {
		padding-top: 220px;
	}
	#message .ttl {
		margin-top: 30px;
	}
	#message .txt {
		margin-top: 30px;
	}
	#message .name {
		margin-top: 30px;
	}
}

/* ---------------------------------------- 
 - REVOLUTION
---------------------------------------- */
#revolution #single_visual::before {
	background-image: url(../img/revolution_ttl_bg.jpg);
}
#revolution #single_visual .inner::before {
	width: 850px;
}
#revolution #link_area .prev a {
	background-image: url(../img/revolution_link_prev.png);
}
#revolution #link_area .next a {
	background-image: url(../img/revolution_link_next.png);
}
#episode .inner {
	max-width: 1480px;
}
#episode .episode_item {
	padding-top: 155px;
	padding-bottom: 155px;
	border-top: 1px solid var(--color_black);
}
#episode .episode_item:last-child {
	padding-bottom: 0;
}
#episode .episode_item .ttl_area {
	padding: 0 5% 95px;
	display: flex;
	justify-content: space-between;
	gap: 4%;
}
#episode .episode_item .ep_num {
	font-family: var(--font_Roboto);
	font-weight: var(--font_bold);
	font-size: 8.0rem;
	line-height: 1;
	text-align: left;
}
#episode .episode_item .name {
	margin-top: 135px;
	font-size: var(--font_22);
}
#episode .episode_item .info {
	margin-top: 20px;
}
#episode .episode_item .txt_box {
	max-width: 585px;
	flex: 1;
}
#episode .episode_item .txt_box .ttl {
	font-size: var(--font_50);
	font-weight: var(--font_bold);
	line-height: 1.66;
}
#episode .episode_item .txt_box .txt {
	margin-top: 50px;
}
#episode .episode_item .txt_area {
	padding: 95px 5% 0;
	display: flex;
	justify-content: space-between;
	gap: 4%;
}
#episode .episode_item .img_box {
	max-width: 600px;
}
@media screen and (max-width : 1024px) {
	#episode .episode_item .ttl_area,
	#episode .episode_item .txt_area {
		flex-direction: column;
		gap: 30px;
	}
	#episode .episode_item .ttl_area {
		padding: 0 5% 65px;
	}
	#episode .episode_item .txt_area {
		padding: 65px 5% 0;
	}
	#episode .episode_item .name {
		margin-top: 25px;
	}
	#episode .episode_item .info {
		margin-top: 0px;
	}
	#episode .episode_item .txt_box,
	#episode .episode_item .img_box {
		max-width: 100%;
	}
	#episode .episode_item {
		padding-top: 95px;
		padding-bottom: 115px;
	}
}
@media screen and (max-width : 768px) {
	#episode .episode_item .ep_num {
		font-size: 3.6rem;
	}
	#episode .episode_item .ttl_area {
		padding: 0 0 40px;
	}
	#episode .episode_item .txt_area {
		padding: 40px 0 0;
	}
	#episode .episode_item .name {
		font-size: 1.4rem;
	}
	#episode .episode_item .info {
		font-size: 1.1rem;
	}
	#episode .episode_item .txt_box .ttl {
		line-height: 1.5;
	}
	#episode .episode_item .txt_box .txt {
		margin-top: 20px;
	}
	#episode .episode_item .img_area {
		width: 116%;
		margin: 0 -8%;
	}
}
/* ---------------------------------------- 
 - CULTURE
---------------------------------------- */
#culture #single_visual::before {
	background-image: url(../img/culture_ttl_bg.jpg);
}
#culture #link_area .prev a {
	background-image: url(../img/culture_link_prev.png);
}
#culture #link_area .next a {
	background-image: url(../img/culture_link_next.png);
}
#top_message {
	padding-bottom: 150px;
}
#top_message .h2_ttl {
	font-size: var(--font_50);
	font-weight: var(--font_bold);
	line-height: 1.66;
	margin-bottom: 55px;
}
#top_message .flex_box {
	display: flex;
	margin-bottom: 60px;
}
#top_message .flex_box .txt {
	width: 57%;
}
#top_message .flex_box .img {
	flex: 1;
	margin-right: calc(50% - 50vw);
	margin-left: 7%;
}
#top_message .top_message_txt {
	display: flex;
	margin-top: 175px;
}
#top_message .top_message_txt .txt_box {
	width: 57%;
}
#top_message .top_message_txt .txt_box > *:nth-child(3) {
	margin-top: 75px;
}
#top_message .top_message_txt .img {
	flex: 1;
	margin-left: calc(50% - 50vw);
	margin-right: 7%;
}
#spirit {
	padding-top: 150px;
	padding-bottom: 335px;
	background-image: url(../img/culture_spirit_bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	color: var(--color_White);
}
#spirit .inner {
	max-width: 1180px;
}
#spirit .h2_ttl {
	display: inline-block;
	font-size: var(--font_20);
	font-family: var(--font_Roboto);
	padding-bottom: 2px;
	border-bottom: 1px solid var(--color_White);
}
#spirit .flex_box {
	display: flex;
	justify-content: space-between;
	margin-top: 85px;
}
#spirit .ttl {
	font-size: var(--font_38);
	font-weight: var(--font_bold);
}
#spirit .txt {
	line-height: 2.8;
}
#philosophy {
	padding-top: 150px;
	padding-bottom: 165px;
	background-image: url(../img/culture_philosophy_bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	color: var(--color_White);
}
#philosophy .inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: 105px;
}
#philosophy .inner .txt {
	margin-top: 60px;
} 
#philosophy .philosophy_box .h2_ttl {
	display: inline-block;
	padding-bottom: 2px;
	border-bottom: 1px solid var(--color_White);
}
#philosophy .philosophy_box .txt {
	font-size: var(--font_70);
	line-height: 1;
}
#philosophy .mission_box .h2_ttl,
#philosophy .value_box .h2_ttl {
	display: inline-block;
	font-size: var(--font_20);
	font-family: var(--font_Roboto);
	padding-bottom: 2px;
	border-bottom: 1px solid var(--color_White);
}
#philosophy .mission_box .txt {
	font-size: var(--font_28);
}
#philosophy .value_box .txt {
	font-size: var(--font_22);
	list-style-type: decimal;
	padding-left: 2.5em;
}
#philosophy .value_box .txt li {
	text-align: left;
}

@media screen and (max-width : 1024px) {
	#culture #single_visual {
		margin-bottom: 100px;
	}
	#spirit {
		padding-top: 120px;
		padding-bottom: 235px;
		background-position: center left;
	}
	#spirit .flex_box {
		flex-direction: column;
		gap: 30px;
		margin-top: 55px;
	}
}
@media screen and (max-width : 768px) {
	#top_message {
		padding-bottom: 100px;
	}
	#top_message .h2_ttl {
		margin-bottom: 25px;
	}
	#top_message .flex_box {
		flex-direction: column-reverse;
		gap: 30px;
	}
	#top_message .flex_box .txt,
	#top_message .flex_box .img,
	#top_message .top_message_txt .img,
	#top_message .top_message_txt .txt_box {
		width: 100%;
		margin: 0;
	}
	#top_message .img_box {
		width: 116%;
		margin: 0 -8%;
	}
	#top_message .top_message_txt {
		margin-top: 40px;
		flex-direction: column-reverse;
		gap: 30px;
	}
	#top_message .top_message_txt .txt_box > *:nth-child(3) {
		margin-top: 55px;
	}
	#spirit {
		padding-top: 100px;
		padding-bottom: 150px;
		background-position: 30% center;
	}
	#spirit .txt {
		line-height: 2.4;
	}
	#philosophy {
		padding-top: 100px;
		padding-bottom: 120px;
	}
	#philosophy .inner {
		gap: 85px;
	}
	#philosophy .inner .txt {
		margin-top: 30px;
	}
}


/* ---------------------------------------- 
 - FUTURE
---------------------------------------- */
#future #single_visual::before {
	background-image: url(../img/future_ttl_bg.jpg);
}
#future #link_area .prev a {
	background-image: url(../img/future_link_prev.png);
}
#future #link_area .next a {
	background-image: url(../img/future_link_next.png);
}
#number {
	background-color: var(--color_light_gray);
	padding-top: 170px;
	padding-bottom: 180px;
}
.number_list {
	position: relative;
}
.grid-sizer {
	width: calc((100% - 25px) / 2);
}
.number_item {
	width: calc((100% - 25px) / 2);
	margin-bottom: 25px;
}
.number_item.wide {
	width: 100%;
}
#voice {
	position: relative;
}
#voice::before {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 700px;
	background-image: url(../img/future_voice_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
#voice::after {
	position: absolute;
	display: block;
	top: 300px;
	left: 0;
	content: "";
	width: calc(550px + ((100vw - var(--inner_width)) / 2));
	height: 400px;
	background-color: var(--color_White);
}
#voice .ttl_box {
	position: relative;
	z-index: 100;
	height: 700px;
	width: 480px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
#voice .ttl_box .h2_ttl {
	font-size: var(--font_38);
	font-weight: var(--font_bold);
	line-height: 1.7;
}
#voice .ttl_box .txt {
	margin-top: 30px;
}
#voice .voice_area {
	padding-top: 195px;
	display: flex;
	flex-direction: column;
	row-gap: 180px;
}
#voice .voice_ttl {
	position: relative;
	display: block;
	width: 690px;
	margin: 0 auto 83px;
	background-color: var(--color_black);
	text-align: center;
	font-size: var(--font_24);
	font-weight: var(--font_bold);
	line-height: 80px;
	color: var(--color_White);
}
#voice .voice_ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 24px 14px 0 14px;
  border-color: var(--color_black) transparent transparent;
  translate: -50% 100%;
}
@media screen and (max-width : 1280px) {
	#voice::after {
		width: 550px;
	}
}
@media screen and (max-width : 1024px) {
	#voice::after {
		width: calc(550px + ((100vw - var(--inner_width)) / 2));
	}
}
@media screen and (max-width : 768px) {
	#number {
		padding-top: 70px;
		padding-bottom: 80px;
	}
	.number_item {
		width: 100%;
		margin-bottom: 15px;
	}
	#voice::before {
		height: 200px;
	}
	#voice::after {
		content: unset;
	}
	#voice .ttl_box {
		height: auto;
		padding-top: 220px;
		width: 100%;
	}
	#voice .voice_area {
		padding-top: 95px;
		row-gap: 100px;
	}
	#voice .voice_ttl {
		width: 100%;
		line-height: 1.5;
		padding: 1em;
		margin-bottom: 50px;
	}
}

/* ---------------------------------------- 
 - CROSSTALK
---------------------------------------- */
#crosstalk.senior #link_area .prev a {
	background-image: url(../img/crosstalk_senior_link_prev.png);
}
#crosstalk.senior #link_area .next a {
	background-image: url(../img/crosstalk_senior_link_next.png);
}
#crosstalk.nextgen #link_area .prev a {
	background-image: url(../img/crosstalk_nextgen_link_prev.png);
}
#crosstalk.nextgen #link_area .next a {
	background-image: url(../img/crosstalk_nextgen_link_next.png);
}
#crosstalk #visual {
	width: 100%;
	height: 835px;
	margin-top: 30px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
}
#crosstalk.senior #visual {
	background-image: url(../img/crosstalk_senior_ttl_bg.jpg);
}
#crosstalk.nextgen #visual {
	background-image: url(../img/crosstalk_nextgen_ttl_bg.jpg);
}
#crosstalk #visual .ttl_area {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 485px;
	height: 835px;
	padding-bottom: 60px;
	color: var(--color_White);
}
#crosstalk #visual .en_ttl {
	width: 260px;
	height: 65px;
	line-height: 1;
	border: 1px solid var(--color_White);
	text-align: center;
	font-family: var(--font_Roboto);
	font-size: var(--font_22);
	display: flex;
	justify-content: center;
	align-items: center;
}
#crosstalk #visual .h1_ttl {
	font-size: var(--font_38);
	font-weight: var(--font_bold);
	line-height: 1.7;
	margin-top: 40px;
}
#crosstalk #visual .txt {
	margin-top: 55px;
}
#cast {
	padding-top: 125px;
	padding-bottom: 120px;
}
#cast .inner {
	max-width: 1060px;
}
#cast .cast_list {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
#cast .cast_item {
	width: 19%;
	text-align: center;
}
#cast .cast_item .name {
	font-weight: var(--font_bold);
	line-height: 1;
	margin-top: 30px;
}
#cast .cast_item .name_en {
	font-size: var(--font_14);
	font-family: var(--font_Roboto);
	line-height: 1;
	margin-top: 10px;
}
#cast .cast_item .etc {
	font-size: var(--font_14);
	line-height: 1.8;
	margin-top: 15px;
}
#cast .cast_icon {
	width: 2.3%;
	height: 100%;
	padding-top: 19%;
	background-image: url(../img/crosstalk_icon.svg);
	background-repeat: no-repeat;
	background-position: center 48%;
	background-size: contain;
}
#talk .inner {
	display: flex;
	flex-direction: column;
	row-gap: 160px;
}
#talk .talk_box {
	display: flex;
	margin-bottom: 60px;
}
#talk .talk_box .txt_area {
	width: 50%;
}
#talk .txt_area .h2_ttl {
	font-size: var(--font_50);
	font-weight: var(--font_bold);
	line-height: 1.66;
	margin-bottom: 55px;
}
#talk .txt_area .txt_box span {
	font-weight: var(--font_bold);
}
#talk .talk_box .img_area {
	flex: 1;
	margin-right: calc(50% - 50vw);
	margin-left: 7.5%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	row-gap: 55px;
}
#talk .talk_box.rev {
	flex-direction: row-reverse;
}
#talk .talk_box.rev .img_area {
	margin-left: calc(50% - 50vw);
	margin-right: 7.5%;
}
#talk .talk_box .txt_box {
	display: flex;
	flex-direction: column;
	row-gap: 1.5em;
}
@media screen and (max-width : 1024px) {
	#crosstalk #visual {
		height: 590px;
		margin-bottom: 100px;
		overflow: unset;
		position: relative;
	}
	#crosstalk #visual .ttl_area {
		position: absolute;
		top: 340px;
		padding-bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		align-items: center;
		justify-content: flex-start;
		text-align: center;
	}
	#crosstalk #visual .txt {
		padding: 0 20%;
		color: var(--color_black);
	}
	#talk .inner {
		row-gap: 60px;
	}
	#talk .talk_box,
	#talk .talk_box.rev {
		flex-direction: column;
		gap: 30px;
	}
	#talk .talk_box .txt_area {
		width: 100%;
	}
	#talk .talk_box .img_area,
	#talk .talk_box.rev .img_area {
		width: 100%;
		margin: 0;
		flex-direction: row;
		justify-content: space-between;
		gap: 30px;
	}
	#talk .img_box {
		width: 116%;
		margin: 0 -8%;
	}
	#crosstalk #visual .txt {
		padding: 0 20%;
	}
}
@media screen and (max-width : 768px) {
	#crosstalk #visual .ttl_area {
		top: 220px;
		color: var(--color_black);
	}
	#crosstalk #visual {
		height: 250px;
		margin-bottom: 180px;
	}
	#crosstalk #visual .en_ttl {
		border: 1px solid var(--color_black);
		background-color: var(--color_White);
		width: 175px;
		height: 45px;
		font-size: 1.6rem;
	}
	#crosstalk #visual .h1_ttl {
		margin-top: 20px;
	}
	#crosstalk #visual .txt {
		padding: 0 10%;
		margin-top: 20px;
	}
	#cast {
		padding-bottom: 90px;
	}
	#cast .cast_list {
		flex-wrap: wrap;
		justify-content: center;
		gap: 40px;
	}
	#cast .cast_item {
		width: 35%;
	}
	#cast .cast_icon {
		display: none;
	}
	#cast .cast_item .name {
		margin-top: 10px;
	}
	#cast .cast_item .etc {
		line-height: 1.4;
		margin-top: 10px;
	}
	#talk .inner {
		row-gap: 30px;
	}
	#talk .talk_box .img_area, 
	#talk .talk_box.rev .img_area {
		flex-direction: column;
	}
	#talk .txt_area .h2_ttl {
		margin-bottom: 25px;
	}
}

/* ---------------------------------------- 
 - THANKS
---------------------------------------- */
#thanks #link_area .linl_list {
	justify-content: center;
}
#thanks #link_area a {
	background-image: url(../img/thanks_link.png);
}
#thanks #link_area a:hover {
	height: 155px;
	width: 425px;
}
#thanks #visual {
	width: 100%;
	height: 835px;
	margin-top: 30px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	color: var(--color_gold);
	background-image: url(../img/thanks_ttl_bg.jpg);
}
#thanks #visual .inner {
	height: 100%;
}
#thanks #visual .ttl_area {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	text-align: center;
	height: 100%;
}
#thanks #visual .h1_ttl {
	font-size: var(--font_24);
	font-weight: var(--font_bold);

}
#thanks #visual .ttl {
	margin-top: 30px;
	font-size: var(--font_50);
	font-weight: var(--font_bold);
	line-height: 66px;
	display: flex;
	align-items: center;
	gap: 5px;
	justify-content: center;
}
#thanks #visual .ttl span {
	display: block;
	background-color: var(--color_gold);
	color: var(--color_black);
	padding: 0 5px 5px;
}
#thanks #visual .txt {
	font-size: var(--font_20);
	margin-top: 45px;
}
#thanks #visual .en_ttl {
	margin-top: 170px;
}

#thanks_area01,
#thanks_area03 {
	background-color: #f0f0f0;
}
.sec.thanks_area {
	padding: 150px 0;
}
.sec.thanks_area .inner {
	padding: 0;
	max-width: 100%;
}
.thanks_area .ttl_box {
	padding: var(--inner_padding);
	width: 100%;
	padding-bottom: 120px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.thanks_area .ttl_box .h2_ttl {
	position: relative;
	width: 100%;
	max-width: 574px;
	height: 83px;
	background-color: var(--color_gold);
	color: var(--color_White);
	font-size: var(--font_32);
	font-weight: var(--font_bold);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50px;
}
.thanks_area .ttl_box .h2_ttl::after {
	position: absolute;
	content: "";
	display: block;
	width: 3px;
	height: 57px;
	background-color: var(--color_gold);
	bottom: -57px;
	left: 50%;
}
.thanks_area .ttl_box .txt {
	margin-top: calc(30px + 57px);
}
.thanks_box {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.thanks_item {
	height: 270px!important;
	min-width: 300px;
	margin: 0 10px;
	padding: 30px 40px;
	background: var(--color_gold);
	color: var(--color_White);
	border-radius: 15px;
	line-height: 1.7;
	display: flex!important;
	flex-direction: column;
}
/* .thanks_item .txt.f10 {font-size: var(--font_09);}
.thanks_item .txt.f12 {font-size: var(--font_12);}
.thanks_item .txt.f14 {font-size: var(--font_14);}
.thanks_item .txt.f16 {font-size: var(--font_16);} */
#thanks_area01 .thanks_item .txt,
#thanks_area02 .thanks_item .txt,
#thanks_area03 .thanks_item .txt {
	display: flex;
	width: 100%;
	padding: 5px;
	line-height: 1.4;
}

#thanks_area01 .thanks_item .txt {
	align-items: center;
	border-top: 1px solid;
	border-bottom: 1px solid;
	height: 100%;
}
#thanks_area02 .thanks_item .txt,
#thanks_area03 .thanks_item .txt {
	align-items: flex-start;
	border-bottom: 1px solid;
	height: calc(100% - 20px);
}
.thanks_item .sub_txt {
	 padding-top: 5px;
	 height: 20px;
	 text-align: right;
	 display: block;
	 font-size: var(--font_14);
}
#thanks_area00 {
	padding-top: 180px;
}
#thanks_area00 .inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 95px;
}
#thanks_area00 .ttl {
	font-size: var(--font_62);
	font-weight: var(--font_bold);
}
#thanks_area00 .logo {
	max-width: 344px;
}
/* .thanks_item .txt {
  white-space: normal !important;
  display: flex !important;
} */

@media screen and (max-width : 1024px) {
}
@media screen and (max-width : 768px) {
	#thanks #visual {
		height: 550px;
		background-image: url(../img/thanks_ttl_bg_sp.jpg);
	}
	#thanks #visual .h1_ttl {
		font-size: 1.4rem;
		font-weight: var(--font_medium);
	}
	#thanks #visual .ttl {
		flex-direction: column;
		line-height: 1;
		gap: 20px;
	}
	#thanks #visual .ttl span {
		padding: 7px 15px 9px;
	}
	#thanks #visual .txt {
		font-size: 1.4rem;
	}
	#thanks #visual .en_ttl {
		margin: 0 -8%;
		margin-top: 70px;
	}
	.thanks_item {
		height: 300px !important;
		min-width: 200px;
		padding: 30px 20px
	}
	.thanks_box {
		font-size: 110%;
	}
	.sec.thanks_area {
		padding: 100px 0;
	}
	.thanks_area .ttl_box {
		padding-bottom: 70px;
	}
	.thanks_area .ttl_box .h2_ttl {
		font-size: 2.1rem;
		height: 55px;
	}
	.thanks_area .ttl_box .h2_ttl::after {
		height: 37px;
		bottom: -37px;
	}
	.thanks_area .ttl_box .txt {
		margin-top: calc(20px + 37px);
	}
	#thanks_area00 {
		padding-top: 100px;
	}
	#thanks_area00 .inner {
		gap: 45px;
	}
	#thanks_area00 .ttl {
		text-align: center;
	}
	#thanks_area00 .logo {
		max-width: 180px;
	}
}





/* ---------------------------------------- 
 - TOP
---------------------------------------- */

.top_ttl_area {
	display: flex;
	flex-direction: row-reverse;
	column-gap: 9%;
}
.top_ttl_area .img_box {
	width: 51%;
}
.top_ttl_area .top_ttl_box {
	width: 40%;
	position: relative;
	z-index: 1;
}
.top_ttl_box .top_sub_ttl {
	font-size: var(--font_19);
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.top_ttl_box .top_sub_ttl::after {
	content: "";
	display: block;
	width: 20px;
	height: 1px;
	background-color: var(--color_black);
}
.top_ttl_box .top_ttl {
	font-size: var(--font_62);
	font-weight: var(--font_bold);
	line-height: 1.5;
	letter-spacing: 0.06em;
	margin-top: 50px;
	text-align: left;
}
.top_ttl_box .txt {
	margin-top: 60px;
	max-width: 540px;
}
.top_ttl_box .btn_maru {
	margin-top: 90px;
}
.btn_maru a {
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	border: 2px solid var(--color_black);
	width: 340px;
	height: 55px;
	font-size: var(--font_16);
	font-weight: var(--font_bold);
	border-radius: 30px;
}
.btn_maru a:hover {
	background-color: var(--color_gold);
	border: 2px solid var(--color_gold)!important;
	color: var(--color_black);
}
@media screen and (max-width : 1024px) {
	.top_ttl_area {
		flex-direction: column!important;
		align-items: center;
		gap: 50px;
	}
	.top_ttl_area .img_box {
		width: 116%!important;
		margin: 0 -8%!important;
	}
	.top_ttl_area .img_box img {
		object-fit: unset!important;
		height: auto!important;
	}
	.top_ttl_area .top_ttl_box {
		width: 100%!important;
	}
}
@media screen and (max-width : 768px) {
	.top_ttl_box .top_sub_ttl {
		gap: 20px;
	}
	.top_ttl_box .top_ttl {
		margin-top: 35px;
	}
	.top_ttl_box .txt {
		margin-top: 25px;
	}
	.top_ttl_box .btn_maru {
		margin-top: 55px;
	}
	.btn_maru a {
		width: 250px;
		margin: 0 auto;
	}
}

/* ---------------------------------------- #top_visual ---------------------------------------- */
#top_visual {
	padding-top: 150px;
	padding-bottom: 220px;
}
#top_visual .inner {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}
#top_visual .thanks_area {
	width: 90%;
	max-width: 817px;
}
#top_visual .thanks_area video {
	width: 100%;
}
#top_visual .catch_box {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 215px;
}
#top_visual .catch_box .ttl {
	font-size: var(--font_52);
	font-weight: var(--font_bold);
}
#top_visual .catch_box .txt {
	font-size: var(--font_19);
	line-height: 2.7;
	margin-top: 50px;
}
#top_visual .catch_box .img {
	width: 80%;
	max-width: 280px;
	margin-top: 100px;
}
@media screen and (max-width : 1024px) {
}
@media screen and (max-width : 768px) {
	#top_visual {
		padding-top: 145px;
		padding-bottom: 120px;
	}
	#top_visual .thanks_area {
		width: 107%;
		margin-left: -7%;
	}
	#top_visual .catch_box {
		margin-top: 90px;
	}
	#top_visual .catch_box .txt {
		margin-top: 30px;
		line-height: 2.1;
	}
	#top_visual .catch_box .img {
		margin-top: 70px;
		max-width: 145px;
	}
}


/* ---------------------------------------- #top_history ---------------------------------------- */
#top_history {
	background-color: var(--color_gray);
	color: var(--color_White);
	padding-top: 125px;
	padding-bottom: 180px;
}
#top_history .inner {
	display: flex;
	flex-direction: column;
	row-gap: 110px;
}
#top_history .h2_ttl {
	width: 100%;
}
#top_history .h2_ttl img {
	max-width: 1133px;
}
#top_history .top_history01 .top_ttl_box {
}
#top_history .top_history01 .top_ttl {
	margin-right: -140%;
}
#top_history .top_history01 .img_box {
	flex: 1;
	margin-right: calc(50% - 50vw);
}
#top_history .top_history02 {
	margin-top: 75px;
	flex-direction: row;
}
#top_history .top_history02 .img_box {
	flex: 1;
	margin-left: calc(50% - 50vw);
}
#top_history .top_history02 .top_ttl_box .top_ttl {
	margin-right: -21%;
}
#top_history .top_ttl_area .img_box img {
	object-fit: cover;
	height: 600px;
}
#top_history .top_ttl_box .top_sub_ttl::after {
	background-color: var(--color_White);
}
#top_history .btn_maru a {
	border-color: var(--color_White);
}
@media screen and (max-width : 1500px) {
	#top_history .top_history02 .top_ttl_box .top_ttl {
		margin-right: 0;
	}
}
@media screen and (max-width : 1024px) {
}
@media screen and (max-width : 768px) {
	#top_history {
		padding-top: 75px;
		padding-bottom: 120px;
	}
	#top_history .inner {
		gap: 55px;
	}
	#top_history .h2_ttl img {
		max-width: 245px;
	}
	#top_history .top_history01 .top_ttl {
		margin-right: 0;
	}
	#top_history .top_history02 {
		margin-top: 50px;
	}
}


/* ---------------------------------------- #top_culture ---------------------------------------- */
#top_culture {
	background-color: var(--color_light_gray);
	padding-top: 125px;
	padding-bottom: 180px;
}
#top_culture .inner {
}
#top_culture .h2_ttl {
}
#top_culture .h2_ttl img {
	max-width: 1133px;
}
#top_culture .top_ttl_area {
	justify-content: flex-start;
	margin-top: 110px;
	column-gap: 5%;
}
#top_culture .top_ttl_area .img_box {
	width: 67%;
	margin-right: calc(50% - 50vw);
	flex: 1;
}
#top_culture .top_ttl_area .top_ttl_box {
	width: 405px;
	position: relative;
	z-index: 1;
}
@media screen and (max-width : 1024px) {
	#top_culture .top_ttl_area .img_box {
		width: 108% !important;
		margin: 0 -8% 0 0 !important;
	}
}
@media screen and (max-width : 768px) {
	#top_culture {
		padding-top: 80px;
		padding-bottom: 120px;
	}
	#top_culture .h2_ttl img {
		max-width: 250px;
	}
	#top_culture .top_ttl_area {
		margin-top: 60px;
	}
}


/* ---------------------------------------- #top_crosstalk ---------------------------------------- */
#top_crosstalk {
	background-color: var(--color_light_gray);
	padding-top: 385px;
	padding-bottom: 185px;
	position: relative;
}
#top_crosstalk .inner {
}
#top_crosstalk::before {
	position: absolute;
	content: "";
	display: block;
	width: 108%;
	margin: 0 -4%;
	top: 0;
	left: 0;
	right: 0;
	height: 740px;
	background-image: url(../img/top_crosstalk_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;	
}
#top_crosstalk .top_ttl_box {
	position: relative;
	background-color: var(--color_light_gray);
	margin: 0 auto;
	width: 90%;
	max-width: 1280px;
	padding: 95px 20px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	column-gap: 45px;
}
#top_crosstalk .top_ttl_box .h2_ttl {
	width: 208px;
}
#top_crosstalk .top_ttl_box .top_ttl {
	text-align: center;
}
#top_crosstalk .top_ttl_box .txt {
	text-align: left;
	max-width: 920px;
}
#top_crosstalk .talk_list {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	column-gap: 6%;
}
#top_crosstalk .talk_item .sub_ttl {
	display: block;
	font-weight: var(--font_bold);
	margin-top: 25px;
}
#top_crosstalk .talk_item .ttl {
	font-size: var(--font_26);
	font-weight: var(--font_bold);
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	line-height: 1;
	margin-top: 10px;
	flex-wrap: wrap;
	gap: 15px;
}
#top_crosstalk .talk_item .ttl::after {
	content: "記事を読む＞";
	font-size: 1.5rem;
	font-weight: var(--font_medium);
}
#top_crosstalk .talk_item .txt a:hover {
	color: var(--color_gold);
}
@media screen and (max-width : 1024px) {
}
@media screen and (max-width : 768px) {
	#top_crosstalk {
		padding-top: 150px;
		padding-bottom: 115px;
	}
	#top_crosstalk::before {
		height: 340px;
		background-position: 60% center;
	}
	#top_crosstalk .top_ttl_box {
		padding: 60px 0px;
	}
	#top_crosstalk .top_ttl_box .h2_ttl {
		width: 160px;
	}
	#top_crosstalk .top_ttl_box .top_ttl {
		text-align: center;
	}
	#top_crosstalk .top_ttl_box .txt {
		text-align: left;
	}
	#top_crosstalk .talk_list {
		flex-direction: column;
		gap: 40px;
	}
	#top_crosstalk .talk_item .ttl {
		line-height: 1.4;
		justify-content: flex-end;
		gap: 0px;
	}
}


/* ---------------------------------------- #top_future ---------------------------------------- */
#top_future {
	padding-top: 110px;
	padding-bottom: 185px;
	background-image: url(../img/top_future_bg.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
#top_future .inner {
}
#top_future .h2_ttl img {
	max-width: 1135px;
}
#top_future .top_ttl_box {
	color: var(--color_White);
	margin-top: 85px;
}
#top_future .top_ttl_box .top_sub_ttl::after {
	background-color: var(--color_White);
}
#top_future .btn_maru a {
	border-color: var(--color_White);
}
@media screen and (max-width : 1024px) {
}
@media screen and (max-width : 768px) {
	#top_future {
		padding-top: 75px;
		padding-bottom: 120px;
		background-image: url(../img/top_future_bg_sp.jpg);
	}
	#top_future .h2_ttl img {
		max-width: 220px;
	}
	#top_future .top_ttl_box {
		margin-top: 60px;
	}
}


/* ---------------------------------------- #top_thanks ---------------------------------------- */
#top_thanks {
	padding-top: 100px;
	padding-bottom: 125px;
	background-image: url(../img/top_thanks_bg.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
#top_thanks .inner {
}
#top_thanks .top_ttl_box {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: var(--color_White);
	text-align: center;
}
#top_thanks .top_ttl_box .top_sub_ttl::after {
	content: unset;
	width: 100%;
}
#top_thanks .top_ttl_box .txt {
	max-width: 886px;
}
#top_thanks .btn_maru a {
	border-color: var(--color_White);
}

@media screen and (max-width : 1024px) {
}
@media screen and (max-width : 768px) {
	#top_thanks {
		padding-top: 220px;
		padding-bottom: 120px;
		background-image: url(../img/top_thanks_bg_sp.jpg);
	}
	#top_thanks .top_ttl_box .top_ttl {
		margin-top: 25px;
		text-align: center;
	}
	#top_thanks .top_ttl_box .txt {
		text-align: left;
	}
}




/* ---------------------------------------- 
 - header
---------------------------------------- */
#header {
	position: fixed;
	z-index: 50;
	background-color: rgba(255, 255, 255, 0.2);
	width: 100%;
	height: 80px;
	transition: all 0.8s ease-in-out;
}
#header .inner {
	width: 100%;
	height: 100%;
	max-width: var(--inner_width);
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
#header .head_logo {
	z-index: 1001;
	position: relative;
	width: 200px;
	transition: all 0.8s ease-in-out;
}
#header .head_logo img {
	display: block;
}
#header .nav_open {
	z-index: 1000;
	position: absolute;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	align-items: flex-end;
	right: 3%;
	top: 30px;
	margin: auto 0;
	cursor: pointer;
	width: 60px;
	height: 20px;
	transition: all .4s;
}
#header .nav_open span {
	display: inline-block;
	transition: all .4s;
	left: 0;
	height: 2px;
	background-color: var(--color_black);
	width: 100%;
	opacity: 1;
}
#header .nav_open span:nth-of-type(1) {
}
#header .nav_open span:nth-of-type(2) {
}
#header .nav_open span:nth-of-type(3) {
}
#header .nav_open.active span:nth-of-type(1) {
	transform: translateY(9px) rotate(135deg);
}
#header .nav_open.active span:nth-of-type(2){
	opacity: 0;
}
#header .nav_open.active span:nth-of-type(3){
	transform: translateY(-9px) rotate(-135deg);
}
#top #header {
	height: 145px;
}
#top #header .head_logo {
	width: 281px;
}
#top #header .nav_open {
	top: 60px;
}
#top #header.scrolled {
	height: 80px;
}
#top #header.scrolled .head_logo {
	width: 200px;
}
#top #header.scrolled .nav_open {
	top: 30px;
}
#header #head_nav {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	bottom: 0;
	left: 0;
	height: 100vh;
	width: 100vw;
	margin-bottom: 990px;
	z-index: 900;
	background-color: #FFFFFF;
	transition: all 0.5s ease-in-out;
	flex-direction: column;
	opacity: 0.3;
	gap: 10%;
	padding: 3%;
}
#header #head_nav.panelactive {
	margin-bottom: 0;
	opacity: 1;
}
#header #head_nav .main_area {
	width: 100%;
	max-width: 1080px;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
}
#header #head_nav .main_area .nav_box {
	display: flex;
	justify-content: flex-start;
	column-gap: 170px;
}
#header #head_nav .main_area .nav_list {
	display: flex;
	row-gap: 60px;
	flex-direction: column;
	font-size: var(--font_26);
}
#header #head_nav .main_area .nav_list a:hover,
#header #head_nav .main_area .nav_list a.current {
	color: var(--color_gold);
}
#header #head_nav .sub_nav {
	width: 100%;
	max-width: 1080px;
}
#header #head_nav .sub_nav ul {
	display: flex;
	justify-content: flex-start;
	column-gap: 75px;
	font-size: var(--font_14);
}
#header #head_nav .main_area .logo_box {
	width: 240px;
}
@media screen and (max-width : 1024px) {

}
@media screen and (max-width : 768px) {
	#header {
		height: 70px;
		padding:  0 6%;
	}
	#top #header,
	#top #header.scrolled {
		height: 70px;
	}
	#header .inner {
		justify-content: flex-start;
	}
	#header .head_logo,
	#top #header .head_logo,
	#top #header.scrolled .head_logo {
		width: 160px;
	}
	#header .nav_open,
	#top #header .nav_open,
	#top #header.scrolled .nav_open {
		width: 34px;
		height: 12px;
		top: 29px;
		right: 6%;
	}
	#header .nav_open.active span:nth-of-type(1) {
		transform: translateY(5px) rotate(135deg);
	}
	#header .nav_open.active span:nth-of-type(3){
		transform: translateY(-5px) rotate(-135deg);
	}
	#header #head_nav {
		gap: 5%;
		padding-top: 60px;
	}
	#header #head_nav .main_area {
		flex-direction: column;
	}
	#header #head_nav .main_area .logo_box {
		width: 140px;
	}
	#header #head_nav .main_area .nav_box {
		flex-direction: column;
		margin-top: 30px;
		gap: 25px;
	}
	#header #head_nav .main_area .nav_list {
		gap: 25px;
		line-height: 1;
		font-size: 1.7rem;
		text-align: center;
	}
	#header #head_nav .sub_nav ul {
		flex-direction: column;
		margin-top: 0px;
		text-align: center;
		gap: 10px;
	}

}



/* ---------------------------------------- 
 - footer
---------------------------------------- */
#footer {
	padding: var(--inner_padding);
	background-color: var(--color_gray);
	padding-top: 65px;
	padding-bottom: 25px;
	color: var(--color_White);
}
#footer .inner {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	position: relative;
}
#footer .ttl_area {
	position: absolute;
	width: 307px;
	top: 0;
	left: 0;
}
#foot_nav {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-direction: row-reverse;
}
#foot_nav .nav_box {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	column-gap: 45px;
}
#foot_nav .nav_list,
#foot_nav .sub_list {
	display: flex;
	flex-direction: column;
	line-height: 1;
	row-gap: 2.0em;
	font-size: var(--font_14);
}
#foot_nav .nav_list a:hover,
#foot_nav .sub_list a:hover {
	color: var(--color_gold);
}
#footer .copy {
	font-size: var(--font_09);
	text-align: center;
	margin-top: 85px;
}

@media screen and (max-width : 1024px) {
}
@media screen and (max-width : 768px) {
	#footer .inner {
		max-width: 240px;
	}
	#footer .ttl_area {
		width: 200px;
		position: static;
	}
	#foot_nav {
		flex-direction: column;
		align-items: flex-start;
		margin-top: 55px;
		gap: 60px;
	}
	#footer .copy {
		margin-top: 75px;
	}
}

