@charset "UTF-8";
/* ==========================================
	extend.css
	Last Up Date 2022/08/30
 --------------------------------------------
	INDEX
 --------------------------------------------
	0.00.00 base
========================================== */
/* ==========================================
0.00.00 base
========================================== */
/* ==========================================
	extend.css
	Last Up Date 2022/08/31
 --------------------------------------------
	INDEX
 --------------------------------------------
	0.01.00 parts
	0.01.00 pagination
========================================== */
/* ==========================================
0.01.00 parts
========================================== */
/* ==========================================
0.02.00 pagination
========================================== */
/* ==========================================
	frame.css フレームCSS
	Last Up Date 2022/08/29
 --------------------------------------------
	INDEX
 --------------------------------------------

	0.00.00 common サイト共通の枠組み
		0.01.00 common_body 共通のボディ
		0.02.00 common_wrapper 共通のラッパー
		0.03.00 common_header 共通のヘッダー
		0.04.00 common_contents 共通のコンテンツ
		0.05.00 common_footer 共通のフッター
		0.06.00 common_font 共通のフォント
		0.07.00 common_img 共通のイメージ
		0.08.00 common_link 共通のリンク
			0.08.01 common_a:link 未訪問のリンク
			0.08.02 common_a:visited  訪問済のリンク
			0.08.03 common_a:active  クリック中
			0.08.04 common_a:hover  カーソルを乗せた時
		0.09.00 common_display:none 共通の非表示
		0.10.00 共通webフォント設定
		0.11.00 keyfream設定

	1.00.00 PC_media screen MaxPC用サイトの枠組み
		1.01.00 PC_body MaxPC用のボディ
		1.02.00 PC_wrapper MaxPC用のラッパー
		1.03.00 PC_header MaxPC用のヘッダー
		1.04.00 PC_contents MaxPC用のコンテンツ
            1.04.01 #ir_info 設定
            1.04.02 #irdocument 設定
            1.04.03 #news 設定
		1.05.00 PC_footer MaxPC用のフッター
		1.06.00 PC_font MaxPC用ののフォント
		1.07.00 PC_img MaxPC用の画像
		1.08.00 PC_display:table MaxPC用の疑似テーブル
		1.09.00 PC_anchor MaxPC用アンカー
		1.10.00 PC_top-arrow MaxPC用トップへ戻る

	2.00.00 TB_media screen TB用サイトの枠組み
		2.01.00 TB_body TB用のボディ
		2.02.00 TB_wrapper TB用のラッパー
		2.03.00 TB_header TB用のヘッダー
		2.04.00 TB_contents TB用のコンテンツ
            2.04.01 #ir_info 設定
            2.04.02 #irdocument 設定
            2.04.03 #news 設定
		2.05.00 TB_footer TB用のフッター
		2.06.00 TB_font TB用のフォント
		2.07.00 TB_img TB用の画像
		2.08.00 TB_display:table TB用の疑似テーブル
		2.09.00 TB_anchor TB用アンカー
		2.10.00 TB_anchor TB用その他

	3.00.00 SP_media screen SP用サイトの枠組み
		3.01.00 SP_body SP用のボディ
		3.02.00 SP_wrapper SP用のラッパー
		3.03.00 SP_header SP用のヘッダー
		3.04.00 SP_contents SP用のコンテンツ
            3.04.01 #ir_info 設定
            3.04.02 #irdocument 設定
            3.04.03 #news 設定
		3.05.00 SP_footer SP用のフッター
		3.06.00 SP_font SP用のフォント
		3.07.00 SP_img SP用の画像
		3.08.00 SP_display:table SP用の疑似テーブル
		3.09.00 SP_anchor SP用アンカー
		3.10.00 SP_anchor SP用その他

========================================== */
/* ==========================================
0.00.00 common サイト共通の枠組み
========================================== */
/* ==========================================
	0.01.00 common_body
========================================== */
body {
  background-repeat: repeat;
  width: 100%;
}

html {
  height: 100%;
}

/* ==========================================
	0.02.00 common_wrapper
========================================== */
#wrapper {
  display: none;
  width: 100%;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

/* ==========================================
	0.03.00 common_header 共通のヘッダー
========================================== */
/* ==========================================
	0.04.00 common_contents 共通のコンテンツ
========================================== */
#contents {
  min-height: 100%;
}

select, button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

a, img, a span, a::after, a::before, p::after, p::before, div::before, div#nav_bg, ul.dot_bt li, select, input[type=text], textarea, button, p, lite-youtube, label {
  transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}

/* ==========================================
	0.05.00 common_footer 共通のフッター
========================================== */
/* ==========================================
	0.06.00 common_font 共通のフォント
========================================== */
h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, form, label, table, tbody, tr, th, td, a, span, button {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  font-weight: normal;
}

@font-face {
  font-family: "YuMincho";
  src: url("../common/font/YuMincho.woff") format("woff"), url("../common/font/YuMincho.ttf") format("truetype");
}
/* bebas-neue-regular - latin */
@font-face {
  font-family: "Bebas Neue";
  font-style: normal;
  font-weight: 400;
  src: url("../common/font/bebas-neue-v2-latin-regular.eot"); /* IE9 Compat Modes */
  src: local(""), url("../common/font/bebas-neue-v2-latin-regular.eot?#iefix") format("embedded-opentype"), url("../common/font/bebas-neue-v2-latin-regular.woff2") format("woff2"), url("../common/font/bebas-neue-v2-latin-regular.woff") format("woff"), url("../common/font/bebas-neue-v2-latin-regular.ttf") format("truetype"), url("../common/font/bebas-neue-v2-latin-regular.svg#BebasNeue") format("svg"); /* Legacy iOS */
  font-display: swap;
}
/* jost-300 - latin */
@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 300;
  src: url("../common/font/jost-v6-latin-300.eot"); /* IE9 Compat Modes */
  src: local(""), url("../common/font/jost-v6-latin-300.eot?#iefix") format("embedded-opentype"), url("../common/font/jost-v6-latin-300.woff2") format("woff2"), url("../common/font/jost-v6-latin-300.woff") format("woff"), url("../common/font/jost-v6-latin-300.ttf") format("truetype"), url("../common/font/jost-v6-latin-300.svg#Jost") format("svg"); /* Legacy iOS */
  font-display: swap;
}
/* jost-regular - latin */
@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 400;
  src: url("../common/font/jost-v6-latin-regular.eot"); /* IE9 Compat Modes */
  src: local(""), url("../common/font/jost-v6-latin-regular.eot?#iefix") format("embedded-opentype"), url("../common/font/jost-v6-latin-regular.woff2") format("woff2"), url("../common/font/jost-v6-latin-regular.woff") format("woff"), url("../common/font/jost-v6-latin-regular.ttf") format("truetype"), url("../common/font/jost-v6-latin-regular.svg#Jost") format("svg"); /* Legacy iOS */
  font-display: swap;
}
/* jost-500 - latin */
@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 500;
  src: url("../common/font/jost-v6-latin-500.eot"); /* IE9 Compat Modes */
  src: local(""), url("../common/font/jost-v6-latin-500.eot?#iefix") format("embedded-opentype"), url("../common/font/jost-v6-latin-500.woff2") format("woff2"), url("../common/font/jost-v6-latin-500.woff") format("woff"), url("../common/font/jost-v6-latin-500.ttf") format("truetype"), url("../common/font/jost-v6-latin-500.svg#Jost") format("svg"); /* Legacy iOS */
  font-display: swap;
}
/* libre-baskerville-regular - latin */
@font-face {
  font-family: "Libre Baskerville";
  font-style: normal;
  font-weight: 400;
  src: url("../common/font/libre-baskerville-v9-latin-regular.eot"); /* IE9 Compat Modes */
  src: local(""), url("../common/font/libre-baskerville-v9-latin-regular.eot?#iefix") format("embedded-opentype"), url("../common/font/libre-baskerville-v9-latin-regular.woff2") format("woff2"), url("../common/font/libre-baskerville-v9-latin-regular.woff") format("woff"), url("../common/font/libre-baskerville-v9-latin-regular.ttf") format("truetype"), url("../common/font/libre-baskerville-v9-latin-regular.svg#LibreBaskerville") format("svg"); /* Legacy iOS */
}
/* baskervville-regular - latin */
@font-face {
  font-family: "Baskervville";
  font-style: normal;
  font-weight: 400;
  src: url("../common/font/baskervville-v11-latin-regular.eot"); /* IE9 Compat Modes */
  src: local(""), url("../common/font/baskervville-v11-latin-regular.eot?#iefix") format("embedded-opentype"), url("../common/font/baskervville-v11-latin-regular.woff2") format("woff2"), url("../common/font/baskervville-v11-latin-regular.woff") format("woff"), url("../common/font/baskervville-v11-latin-regular.ttf") format("truetype"), url("../common/font/baskervville-v11-latin-regular.svg#Baskervville") format("svg"); /* Legacy iOS */
}
/* ==========================================
	0.07.00 common_img 共通のイメージ
========================================== */
img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

/* ==========================================
	0.08.00 common_link 共通のリンク
========================================== */
/* a:link 未訪問のリンク */
/* a:visited 訪問後のリンク */
/* a:active クリック中 */
a:link, a:visited, a:active {
  text-decoration: none;
}

/* ==========================================
	0.09.00 @kyeframe
========================================== */
/* ==========================================
	0.10.00 共通webフォント設定
========================================== */
body, html {
  font-size: 62.5%;
  letter-spacing: normal;
  line-height: 1.5;
}

p, a, h1, h2, h3, h4, h5, h6, h7, h8, h9, li {
  font-size: 1.4rem;
}

/* ==========================================
	0.11.00 keyfream設定
========================================== */
/* ==========================================
	0.12.00 PC_wrapper MaxPC用のラッパー
========================================== */
/* ==========================================
	0.13.00 PC_header MaxPC用のヘッダー
========================================== */
div#header {
  width: 100%;
  position: relative;
  z-index: 5;
}
div#header > div:first-child {
  display: flex;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
  padding: 38px 0;
  width: 100%;
  background: #28282D;
}
div#header > div:first-child > a:first-child {
  position: absolute;
  left: 50px;
  top: calc(50% - 25px);
  width: 50px;
}
div#header > div:first-child h1 {
  display: block;
  width: 345px;
}
div#header div#h_navi {
  background: #202124;
  padding: 0 50px;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  z-index: 2;
}
div#header div#h_navi div.in_box {
  display: flex;
  align-items: center;
  max-width: 1500px;
}
div#header div#h_navi div.in_box > a {
  display: flex;
  justify-content: center;
  color: #9EA1B2;
  width: 12.5%;
  max-width: 200px;
  line-height: 1;
  letter-spacing: 0.05rem;
  padding: 30px 0;
  position: relative;
}
div#header div#h_navi div.in_box > a:last-child {
  margin: 0 0 0 auto;
  width: 140px;
  background: #2395ED;
  color: #FFFFFF;
  padding: 12px 0;
}
div#header div#h_navi div.in_box > a:last-child:hover {
  transform: scale(1.05);
}
div#header div#h_navi div.in_box > a:not(:last-child):hover {
  color: #FFFFFF;
}
div#header div#h_navi div.in_box > a:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: #FFFFFF;
  opacity: 0;
}
div#header div#h_navi div.in_box > a:not(:last-child):hover::after {
  opacity: 1;
}
div#header div#h_navi div.in_box > div {
  display: flex;
  flex-flow: column;
  width: 12.5%;
  max-width: 200px;
  position: relative;
}
div#header div#h_navi div.in_box > div:hover p {
  color: #FFFFFF;
}
div#header div#h_navi div.in_box > div:hover p::after {
  opacity: 1;
}
div#header div#h_navi div.in_box > div p {
  display: flex;
  justify-content: center;
  color: #9EA1B2;
  width: 100%;
  line-height: 1;
  letter-spacing: 0.05rem;
  padding: 30px 0;
  box-sizing: border-box;
  position: relative;
  cursor: pointer;
}
div#header div#h_navi div.in_box > div p::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: #FFFFFF;
  opacity: 0;
}
div#header div#h_navi div.in_box > div div {
  display: none;
  width: 100%;
  position: absolute;
  left: 0;
  top: 100%;
}
div#header div#h_navi div.in_box > div div a {
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  padding: 30px 0;
  line-height: 1;
  letter-spacing: 0.05rem;
  color: #9EA1B2;
  background: #202124;
  border-bottom: solid thin rgba(0, 0, 0, 0.3);
}
div#header div#h_navi div.in_box > div div a:hover {
  color: #FFFFFF;
}
div#header div#information {
  width: 100%;
  position: relative;
  z-index: 1;
  margin: 0 auto 0;
  box-sizing: border-box;
  padding: 0 50px;
}
div#header div#information::after {
  content: "";
  position: absolute;
  left: 0;
  top: 82px;
  height: 2px;
  width: 100%;
  background: linear-gradient(45deg, #00FFD5, #032CFF);
}
div#header div#information::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 82px;
  left: 0;
  top: 0;
  background: #28282D;
}
div#header div#information div.in_box {
  display: flex;
  align-items: center;
  padding: 40px 50px;
  color: #FFFFFF;
  background: #28282D;
  max-width: 1500px;
}
div#header div#information div.in_box div:not(:last-child) {
  display: flex;
  align-items: center;
  position: relative;
}
div#header div#information div.in_box div:not(:last-child) p:first-child,
div#header div#information div.in_box div:not(:last-child) p + p span {
  display: block;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.2rem;
  line-height: 1;
}
div#header div#information div.in_box div:not(:last-child) p + p {
  display: flex;
  align-items: center;
}
div#header div#information div.in_box div:not(:last-child) p + p a {
  display: block;
  font: 400 60px "Bebas Neue", Arial, Helvetica, "sans-serif";
  letter-spacing: 0.8rem;
  line-height: 1;
  padding: 0 5px;
  color: #FFFFFF;
}
div#header div#information div.in_box div:not(:last-child) p + p a:hover {
  color: #00C9AD;
}
div#header div#information div.in_box div:nth-child(2) p:first-child {
  display: flex;
  flex-flow: column;
  position: relative;
}
div#header div#information div.in_box div:nth-child(2) p:first-child span {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  padding: 5px 7px 5px 17px;
  color: #00C9AD;
}
div#header div#information div.in_box div:nth-child(2) p:first-child span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 6px;
  width: 13px;
  height: 13px;
  border-radius: 100px;
  background: #00C9AD;
}
div#header div#information div.in_box div:nth-child(2) p:first-child span.alert {
  color: #FF3D01;
}
div#header div#information div.in_box div:nth-child(2) p:first-child span.alert::after {
  background: #FF3D01;
}
div#header div#information div.in_box div:nth-child(2) {
  padding: 0 0 0 120px;
}
div#header div#information div.in_box div:nth-child(2)::after {
  content: "";
  position: absolute;
  left: 59px;
  top: calc(50% - 25px);
  width: 2px;
  height: 50px;
  background: #FFFFFF;
}
div#header div#information div.in_box div:last-child {
  display: flex;
  flex-flow: column;
  align-items: flex-end;
  margin: 0 0 0 auto;
}
div#header div#information div.in_box div:last-child p {
  display: flex;
  align-items: center;
  letter-spacing: 0.05rem;
  position: relative;
}
div#header div#information div.in_box div:last-child p span {
  display: block;
  font: 400 15px "Jost", Arial, Helvetica, "sans-serif";
  letter-spacing: 0.1rem;
  line-height: 1;
  color: #9EA1B2;
  padding: 0 5px 3px 0;
}
div#header div#information div.in_box div:last-child p:nth-child(2) {
  margin: 5px 0;
}
div#header div#information div.in_box div:last-child p:last-child {
  margin: 0 -8px 0 0;
}
div#header div#information div.in_box div:last-child p:last-child::after {
  content: "";
  position: absolute;
  left: -20px;
  top: 2px;
  background: url("../../img/index/ca_icon.svg") no-repeat;
  background-size: contain;
  width: 13px;
  height: 13px;
}
div#header div#information div.in_box div:last-child p a {
  color: #2395ED;
  letter-spacing: 0.05rem;
}

/* ==========================================
	0.14.00 PC_contents MaxPC用のコンテンツ
========================================== */
#contents {
  margin: 0 auto;
}

.in_box {
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

/* ==========================================
	0.15.00 PC_footer MaxPC用のフッター
========================================== */
div#footer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 80px 50px;
  width: 100%;
  background: #2F3243;
  box-sizing: border-box;
}
div#footer a:first-child {
  display: flex;
  justify-content: center;
  width: 150px;
  padding: 17px 0;
  background: #6879F9;
  color: #FFFFFF;
  border-radius: 3px;
  line-height: 1;
  letter-spacing: 0.05rem;
}
div#footer a:nth-child(2) {
  display: block;
  width: 60px;
  height: 60px;
  background: #FFFFFF;
  border-radius: 100px;
  margin: 0 20px;
  position: relative;
}
div#footer a:nth-child(2)::after {
  content: "";
  position: absolute;
  background: url("../img/common/arrow.svg") no-repeat;
  background-size: contain;
  width: 18px;
  height: 16px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
div#footer a:last-child {
  display: flex;
  justify-content: center;
  width: 150px;
  padding: 17px 0;
  background: rgba(0, 0, 0, 0.2);
  color: #FFFFFF;
  border-radius: 3px;
  line-height: 1;
  letter-spacing: 0.05rem;
}
div#footer a:hover {
  transform: scale(1.1);
}