@charset "utf-8";

/*-----------------------------------------------------	*/
/*	for all	- General Settings　*/
/*-----------------------------------------------------	*/

:root{
  --white: #f5f5f5;
  --black: #222222;
  --darkblue: #002d74;
  --darkblue_border: #5b6d8c;
  --darkblue_hover-d: #4d6895;
  --darkblue_hover-l: #0082ca;
  --gray: #e0e0e0;
  --gray_border: #ccc;
  --white_hover: #aebcd4;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.8;
  background-color: var(--white);
  color: var(--black);
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

.sp_only {
  display: none;
}
.tb-sp {
  display: none;
}
b {
  font-weight: bolder;
}
hr {
  clear: both;
  margin: 20px 0 20px;
}
h1 {
  display: none;
}

.base_li li {
  margin-left: 1em;
  text-indent: -1em;
}
.atten_li li {
  font-size: 80%;
  margin-left: 1em;
  text-indent: -1em;
}

/* スクロール進捗 */
.progress-svg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  z-index: 9999;
  padding-top: env(safe-area-inset-top);
  background: var(--darkblue);
}
.track {
  stroke: var(--gray_border);
  stroke-width: 6;
}
.progress {
  stroke: var(--darkblue);
  stroke-width: 6;
  xstroke-linecap: round;
}

/* ヘッダー */
.header {
  position: relative;
  width: 100%;
  height: 90px;
  border-bottom: 1px solid var(--gray_border);
  background: var(--white);
}
.header .header_bg {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 30px;
  background: var(--gray);
}
.header .h_left {
  position: absolute;
  top: 17px;
  left: 20px;
}

.header .sitetitle_logo {
  float: left;
  width: 360px;
  margin-top: 0px;
}
.header .sitetitle_logo img {
  width: 100%;
  height: auto;
}

.header .h_right {
  position: absolute;
  top: 20px;
  right: 100px; /* ハンバーガーメニュー分 70px マイナス */
  text-align: right;
}

.h_right .lang {
  float: right;
  margin-left: 30px;
}
.h_right .lang span {
  font-weight: bold;
  color: var(--darkblue_hover-d);
}
.h_right .about {
  float: right;
  margin-left: 30px;
}
.h_right .articles {
  float: right;
  margin-left: 30px;
}
.h_right .top {
  float: right;
}
.header .h_right a {
  font-weight: normal;
  text-decoration: none;
  color: var(--darkblue);
  position: relative;
}
.header .h_right a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: var(--darkblue);
bottom: -1px;
transform: scale(0, 1);
transform-origin: left top;
transition: transform 0.3s;
}
.header .h_right a:hover::after {
transform: scale(1, 1);
}

/* パンくず */
.breadcrumb {
  margin: 20px 20px 0;
  font-size: 80%;
}
.breadcrumb a {
  text-decoration: none;
  color: var(--darkblue);
  position: relative;
}
.breadcrumb a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: var(--darkblue);
bottom: -1px;
transform: scale(0, 1);
transform-origin: left top;
transition: transform 0.3s;
}
.breadcrumb a:hover::after {
transform: scale(1, 1);
}

/* カテゴリーカラー 記事一覧用・個別記事上部 */
.new_list span.cate_sp,
.content_title span.cate_sp {
  background: #721111;
}

.new_list span.cate_01,
.content_title span.cate_01 { /* NEWS & REPORT */
  background: #960c61;
}
.new_list span.cate_02,
.content_titlet span.cate_02 { /* STORIES */
  background: #0c5c5c;
}
.new_list span.cate_03,
.content_title span.cate_03 { /* CREATIVE */
  background: #b96607;
}
.new_list span.cate_04,
.content_title span.cate_04 { /* TECH */
  background: #77428b;
}
.new_list span.cate_05,
.content_title span.cate_05 { /* SEGA DNA */
  background: #1a9ba0;
}
.new_list span.cate_06,
.content_title span.cate_06 { /* BEYOND GAMES */
  background: #87882e;
}

/* カテゴリーカラー キーワード検索用 */
.category_list li a.cate_sp {
  color: #721111;
}
.category_list li a.cate_sp:hover,
.category_list li a.cate_sp.current {
  background: #721111;
  color: var(--white);
  border: 1px solid #721111;
}
.category_list li a.cate_01 {
  color: #960c61;
}
.category_list li a.cate_01:hover,
.category_list li a.cate_01.current {
  background: #960c61;
  color: var(--white);
  border: 1px solid #960c61;
}
.category_list li a.cate_02 {
  color: #0c5c5c;
}
.category_list li a.cate_02:hover,
.category_list li a.cate_02.current {
  background: #0c5c5c;
  color: var(--white);
  border: 1px solid #0c5c5c;
}
.category_list li a.cate_03 {
  color: #b96607;
}
.category_list li a.cate_03:hover,
.category_list li a.cate_03.current {
  background: #b96607;
  color: var(--white);
  border: 1px solid #b96607;
}
.category_list li a.cate_04 {
  color: #77428b;
}
.category_list li a.cate_04:hover,
.category_list li a.cate_04.current {
  background: #77428b;
  color: var(--white);
  border: 1px solid #77428b;
}
.category_list li a.cate_05 {
  color: #1a9ba0;
}
.category_list li a.cate_05:hover,
.category_list li a.cate_05.current {
  background: #1a9ba0;
  color: var(--white);
  border: 1px solid #1a9ba0;
}
.category_list li a.cate_06 {
  color: #87882e;
}
.category_list li a.cate_06:hover,
.category_list li a.cate_06.current {
  background: #87882e;
  color: var(--white);
  border: 1px solid #87882e;
}

/* カテゴリーカラー ハンバーガーメニュー用 */
.circle-menu-keyword .category_list li a.cate_sp {
  background: #721111;
  color: var(--white);
  border: 1px solid #721111;
}
.circle-menu-keyword .category_list li a.cate_sp:hover {
  background: var(--white);
  color: #721111;
}
.circle-menu-keyword .category_list li a.cate_01 {
  background: #960c61;
  color: var(--white);
  border: 1px solid #960c61;
}
.circle-menu-keyword .category_list li a.cate_01:hover {
  background: var(--white);
  color: #960c61;
}
.circle-menu-keyword .category_list li a.cate_02 {
  background: #0c5c5c;
  color: var(--white);
  border: 1px solid #0c5c5c;
}
.circle-menu-keyword .category_list li a.cate_02:hover {
  background: var(--white);
  color: #0c5c5c;
}
.circle-menu-keyword .category_list li a.cate_03 {
  background: #b96607;
  color: var(--white);
  border: 1px solid #b96607;
}
.circle-menu-keyword .category_list li a.cate_03:hover {
  background: var(--white);
  color: #b96607;
}
.circle-menu-keyword .category_list li a.cate_04 {
  background: #77428b;
  color: var(--white);
  border: 1px solid #77428b;
}
.circle-menu-keyword .category_list li a.cate_04:hover {
  background: var(--white);
  color: #77428b;
}
.circle-menu-keyword .category_list li a.cate_05 {
  background: #1a9ba0;
  color: var(--white);
  border: 1px solid #1a9ba0;
}
.circle-menu-keyword .category_list li a.cate_05:hover {
  background: var(--white);
  color: #1a9ba0;
}
.circle-menu-keyword .category_list li a.cate_06 {
  background: #87882e;
  color: var(--white);
  border: 1px solid #87882e;
}
.circle-menu-keyword .category_list li a.cate_06:hover {
  background: var(--white);
  color: #87882e;
}

/* カテゴリーカラー サブメニュー用 */
.recommends_list span.cate_sp {
  color: #721111;
}

.recommends_list span.cate_01 { /* NEWS & REPORT */
  color: #960c61;
}
.recommends_list span.cate_02 { /* STORIES */
  color: #0c5c5c;
}
.recommends_list span.cate_03 { /* CREATIVE */
  color: #b96607;
}
.recommends_list span.cate_04 { /* TECH */
  color: #77428b;
}
.recommends_list span.cate_05 { /* SEGA DNA */
  color: #1a9ba0;
}
.recommends_list span.cate_06 { /* BEYOND GAMES */
  color: #87882e;
}

/* ボタン */
.btn_s a,
.btn_s_w a {
  position: relative;
  display: block;
  width: 300px;
  margin: 0px auto;
  padding: 20px 0px;
  text-decoration: none;
  text-align: center;
  transition: background-position 0.3s;
}
.btn_s a {
  background: var(--darkblue);
  color: var(--white);
  background: linear-gradient(to right, var(--darkblue_hover-d) 50%, var(--darkblue) 50%) 100%;
  background-size: 200% 100%;
}
.btn_s_w a {
  background: var(--white);
  color: var(--darkblue);
  background: linear-gradient(to right, var(--white_hover) 50%, var(--white) 50%) 100%;
  background-size: 200% 100%;
}
.btn_s a:after,
.btn_s_w a:after {
  position: absolute;
  right: 20px;
  content: "〉";
}
.btn_s a:hover,
.btn_s_w a:hover {
  background-position: 0 100%;
}

.btn_s_blank a,
.btn_s_w_blank a {
  position: relative;
  display: block;
  width: 300px;
  margin: 0px auto;
  padding: 20px 0px;
  text-decoration: none;
  text-align: center;
  transition: background-position 0.3s;
}
.btn_s_blank a {
  background: var(--darkblue);
  color: var(--white);
  background: linear-gradient(to right, var(--darkblue_hover-d) 50%, var(--darkblue) 50%) 100%;
  background-size: 200% 100%;
}
.btn_s_w_blank a {
  background: var(--white);
  color: var(--darkblue);
  background: linear-gradient(to right, var(--white_hover) 50%, var(--white) 50%) 100%;
  background-size: 200% 100%;
}
.btn_s_blank a:after,
.btn_s_w_blank a:after {
  position: absolute;
  display: block;
  right: 20px;
  top: 24px;
  width: 20px;
  height: 20px;
  background-size: contain;
  content: " ";
}
.btn_s_blank a:after {
  background: url(../img/blank_w.svg);
}
.btn_s_w_blank a:after {
  background: url(../img/blank.svg);
}
.btn_s_blank a:hover,
.btn_s_w_blank a:hover {
  background-position: 0 100%;
}

.btn_blank a {
  position: relative;
  display: inline-block;
  background: var(--darkblue);
  color: var(--white);
  margin: 0px auto 0px;
  padding: 20px 60px;
  text-decoration: none;
  text-align: center;
  background: linear-gradient(to right, var(--darkblue_hover-d) 50%, var(--darkblue) 50%) 100%;
  background-size: 200% 100%;
  transition: background-position 0.3s;
}
.btn_blank a:after {
  position: absolute;
  display: block;
  right: 20px;
  top: calc(50% - 10px);
  width: 20px;
  height: 20px;
  background: url(../img/blank_w.svg);
  background-size: contain;
  content: " ";
}
.btn_w_blank a {
  position: relative;
  display: inline-block;
  background: var(--white);
  color: var(--darkblue);
  margin: 0px auto 0px;
  padding: 20px 60px;
  text-decoration: none;
  text-align: center;
  background: linear-gradient(to right, var(--white_hover) 50%, var(--white) 50%) 100%;
  background-size: 200% 100%;
  transition: background-position 0.3s;
}
.btn_w_blank a:after {
  position: absolute;
  display: block;
  right: 20px;
  top: calc(50% - 10px);
  width: 20px;
  height: 20px;
  background: url(../img/blank.svg);
  background-size: contain;
  content: " ";
}

.btn_blank a:hover,
.btn_w_blank a:hover {
  background-position: 0 100%;
}

/* SNSボタン */
.sns_title_content {
  color: #c4c4c4;
  width: 300px;
  margin: 60px auto 0;
  font-weight: bold;
  display: flex;
  align-items: center;
  text-align: center;
}
.sns_title_content::before,
.sns_title_content::after {
  content: "";
  flex-grow: 1;
  height: 1px; /* 線の太さ */
  background-color: #c4c4c4; /* 線の色 */
}
.sns_title_content::before {
  margin-right: 1em; /* 文字と左側の線の間隔 */
}
.sns_title_content::after {
  margin-left: 1em; /* 文字と右側の線の間隔 */
}

.sns_area {
  margin: 10px 0 0;
  display: flex;
  justify-content: center;
  gap: 0% 1%;
}
.sns_area div {
  display: block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  overflow: hidden;
  transition: 0.2s;
  border: 2px solid var(--white);
}
.sns_area div:hover {
  scale: 1.05;
}
.sns_area div a img {
  width: 100%;
  height: auto;
}

/* トップへ戻るボタン */
.pagetop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 60px;
  height: 60px;
  background: var(--darkblue);
  border: solid 1px var(--white);
  color: var(--white);
  border-radius: 50%;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  z-index: 1000;
}
.pagetop.is-show {
  opacity: .6;
  visibility: visible;
}
.pagetop:hover {
  background: var(--darkblue_hover-l);
}
.pagetop.stop {
position: absolute;
right: 20px;
bottom: calc(100% + 20px);
}

/* フッター */
.footer {
  position: relative;
  width: 100%;
  padding: 30px 0;
  background: #00002a;
  color: var(--white);
}
.footer_box {
  width: 1200px;
  margin: 0 auto 40px;
  overflow: hidden;
}

.f_left .sitetitle_logo {
  float: left;
  width: 310px;
}
.f_left .sitetitle_logo img {
  width: 100%;
  height: auto;
}

.f_right {
  float: right;
  display: flex;
  justify-content: flex-end;
}

.f_right .articles {
  margin-left: 30px;
}
.f_right .about {
  margin-left: 30px;
}
.f_right .lang {
  margin-left: 30px;
}
.f_right .lang span {
  color: var(--white_hover);
  font-weight: bold;
}
.f_right:after {
  display: block;
  content: " ";
  overflow: hidden;
  clear: both;
}

.f_bottom {
  text-align: center;
}

.sns_title_site {
  width: 300px;
  margin: 0 auto;
  font-weight: bold;
  display: flex;
  align-items: center;
  text-align: center;
}
.sns_title_site::before,
.sns_title_site::after {
  content: "";
  flex-grow: 1;
  height: 1px; /* 線の太さ */
  background-color: #333; /* 線の色 */
}
.sns_title_site::before {
  margin-right: 1em; /* 文字と左側の線の間隔 */
}
.sns_title_site::after {
  margin-left: 1em; /* 文字と右側の線の間隔 */
}

.f_bottom .txt_link {
  margin: 30px auto 20px;
  font-size: 80%;
  display: flex;
  justify-content: center;
  gap: 0% 1.5%;
}

.f_bottom .sega_logo {
  width: 120px;
  margin: 0 auto 5px;
}
.f_bottom .sega_logo img {
  width: 100%;
  height: auto;
}

.f_bottom .copy {
  font-size: 80%;
}

.footer .f_right a,
.footer .txt_link a {
  font-weight: normal;
  text-decoration: none;
  color: var(--white);
  position: relative;
}
.footer .f_right a::after,
.footer .txt_link a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: var(--white);
bottom: -1px;
transform: scale(0, 1);
transform-origin: left top;
transition: transform 0.3s;
}
.footer .f_right a:hover::after,
.footer .txt_link a:hover::after {
transform: scale(1, 1);
}


/*-----------------------------------------------------	*/
/*	for - 1200px以下の記述　*/
/*-----------------------------------------------------	*/

@media screen and (max-width:1200px) {
.pc_only {
  display: none;
}
.tb-sp {
  display: block;
}

/* ヘッダー */
.h_right {
  display: none;
}

/* フッター */
.footer_box {
  width: 96%;
}
.f_bottom {
  width: 100%;
}
}

/*-----------------------------------------------------	*/
/*	for - 700px以下の記述　*/
/*-----------------------------------------------------	*/

@media screen and (max-width:700px) {
body {
  font-size: 14px;
}

.pc-tb {
  display: none;
}
.sp_only {
  display: block;
}

/* ヘッダー */
.header .h_left {
  top: 24px;
  left: 2%;
}
.header .sitetitle_logo {
  width: 280px;
}

/* フッター */
.f_left .sitetitle_logo {
  float: none;
  width: 280px;
  margin: 0 auto 20px;
}

.f_right {
  float: none;
  justify-content: center;
}

.btn_s a,
.btn_s_w a,
.btn_s_blank a,
.btn_s_w_blank a,
.btn_blank a,
.btn_w_blank a {
  transition: background-position 0s;
}
}