@charset "euc-jp";
/*********************************************
内容       : サブページ共通CSS
ページURL  : TOPを除くサブページ
メモ       : 24年秋リニューアル 新旧の記述が混在中、当面残す
*********************************************/

/********** リセット **********/
body, form, p, hr, h1, h2, h3, h4, dl, dt, dd, ul, ol, li, select, option, input {
  margin: 0;
  padding: 0;
}

body {
  min-width: 980px;
  background-color: #f6f6f6;
  font-size: 12px;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
  letter-spacing: 0.04em;
  color: #444;
}

br {
  letter-spacing: 0;
  overflow: hidden;
}

ul, ol {
  list-style: none;
}

a {
  outline: none;
  color: #06c;
}

a:link {
  text-decoration: none;
  color: #06c;
}

a:visited {
  text-decoration: none;
  color: #06c;
}

a:hover {
  text-decoration: underline;
  color: #06c;
}

a:active {
  text-decoration: underline;
  color: #06c;
}

img {
  border: 0;
}



/********** 共通 **********/
.uppercase-letter {
  text-transform: uppercase;
}



/********** ヘッダー **********/
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 30;
  width: 100%;
  height: calc( 26px + 53px );
}

.header img {
  display: block;
  max-width: 100%
}

.header-description {
  height: 26px;
  padding-left: 15px;
  background-color: #373238;
  font-size: 10px;
  line-height: 26px;
  color: #999;
}

/* ログアウトボタン */
a.header-loginBtn {
  position: absolute;
  top: 5px;
  right: 0;
  display: none;
  margin-right: 10px;
  color: #ccc;
}

a.header-loginBtn.is_show {
  display: block;
}

a.header-loginBtn:hover {
  text-decoration: none;
}

a.header-loginBtn::before {
  position: absolute;
  top: 50%;
  right: 65px;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: center;
  content: '';
  width: 11px;
  height: 1px;
  background-color: #ccc;
}

a.header-loginBtn::after {
  position: absolute;
  top: 50%;
  right: 65px;
  transform: translateY(-50%) rotate(-45deg);
  transform-origin: center;
  content: '';
  width: 11px;
  height: 1px;
  background-color: #ccc;
}

.header-primary {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  height: 53px;
  background-color: #fff;
  border-bottom: 1px solid #f1f1f1;
}

.header-logo {
  display: flex;
  justify-content: center;
  flex-shrink: 0;
  width: 210px;
}

.header-logo__link {
  display: flex;
  align-items: center;
}

.header-logo__image {
  width: auto;
  height: 32px;
}

.header-menu {
  margin: 0;
  padding: 0;
  min-width: 600px; /* 改行されない適当な大きさ */
}

.header-menu-list {
  display: flex;
}

.header-menu-list-item__link {
  display: flex;
  align-items: center;
  height: 53px;
  padding-left: 14px;
  padding-right: 14px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  transition: .1s;
}

.header-menu-list-item__link:link,
.header-menu-list-item__link:visited {
  color: #444;
}

.header-menu-list-item__link:hover {
  box-shadow: 0 -3px 0 #ee8aa4 inset;
  text-decoration: none;
  color: #ee8aa4;
}

.header-sister {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
  margin-right: 20px;
}
.header-sister.is_hidden {
  display: none;
}

.header-sister-item__link {
  box-sizing: border-box;
  display: block;
  width: 26px;
  height: 26px;
  padding: 4px;
  border: 1px solid #eee;
  border-radius: 13px;
}

.header-sister-item__link,
.header-sister-item__image {
  transition: .1s;
}

.header-sister-item.is_cp:hover .header-sister-item__link {
  background: #fcf3f9;
  border: 1px solid #dc9ecc;
}

.header-sister-item.is_cp:hover .header-sister-item__image {
  filter: brightness(0) saturate(100%) invert(35%) sepia(39%) saturate(724%) hue-rotate(262deg) brightness(96%) contrast(90%);
}

.header-sister-item.is_gg:hover .header-sister-item__link {
  background: #fff1f8;
  border: 1px solid #ffadd6;
}

.header-sister-item.is_gg:hover .header-sister-item__image {
  filter: brightness(0) saturate(100%) invert(68%) sepia(21%) saturate(4884%) hue-rotate(293deg) brightness(100%) contrast(104%);
}



/********** サブメニュー ヘッダーメニューと同じ **********/
.sub-menu {
  position: fixed;
  top: 79px;
  left: 0;
  z-index: 30;
  box-sizing: border-box;
  width: 100%;
  min-width: 980px;
  height: 46px;
  background: #fff;
  border-bottom: 1px solid #f1f1f1;
}

.sub-menu-list {
  display: flex;
  justify-content: center;
  list-style: none;
}

.sub-menu-list-item__link {
  display: flex;
  align-items: center;
  height: 45px;
  padding-left: 14px;
  padding-right: 14px;
  font-size: 13px;
  line-height: 1;
  transition: .1s;
}

.sub-menu-list-item__link:link,
.sub-menu-list-item__link:visited {
  color: #0088cc;
}

.sub-menu-list-item__link:hover {
  box-shadow: 0 -2px 0 #ee8aa4 inset;
  text-decoration: none;
  color: #ee8aa4;
}



/********** ヘッダー以下 **********/
.content {
  position: relative;
}



/********** サイドバー **********/
.sidebar {
  position: absolute;
  top: 79px;
  left: 0;
  box-sizing: border-box;
  width: 210px;
  height: calc(100% - 79px);
  padding: 0 15px 15px;
  background-color: #f6f6f6;
  overflow: scroll;
}

/* スクロール時 */
.sidebar.is_start-scroll {
  position: fixed;
}

/* スクロール終了 */
.sidebar.is_end-scroll {
  top: initial;
}

/* サブメニューありの調整 */
body:has(.sub-menu) .sidebar {
  top: calc(79px + 46px);
  height: calc(100% - 79px - 46px);
}

.sidebar::-webkit-scrollbar {
  display: none;
}

.sidebar ul {
  list-style: none;
}

.sidebar img {
  display: block;
  max-width: 100%
}

.sidebar-section {
  padding: 20px 1px 20px;
  border-bottom: 1px solid #dfdfdf;
}

.sidebar-section.is_news,
.sidebar-section.is_price {
  border: none;
  padding-bottom: 0;
}

.sidebar-section.is_not-login {
  display: none;
}

.sidebar-section.is_not-login.is_show {
  display: block;
}

.sidebar-section__title {
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.3;
}

.button-sidebar-login,
.button-sidebar-regist {
  box-sizing: border-box;
  display: block;
  height: 61px;
  background: linear-gradient(to bottom, #fa7898, #eb6387);
  border-radius: 4px;
  box-shadow: 0 -3px 0 #ba516d inset;
  font-size: 18px;
  font-weight: bold;
  line-height: 58px;
  text-shadow: 2px 2px 0 rgba(0, 0, 0, .1);
  text-align: center;
  transition: .1s;
}

.button-sidebar-regist {
  margin-top: 6px;
  height: 46px;
  background: linear-gradient(to bottom, #54c916, #41b306);
  box-shadow: 0 -2px 0 #289415 inset;
  font-size: 13px;
  line-height: 45px;
}

.button-sidebar-login:hover,
.button-sidebar-regist:hover {
  filter: saturate(85%) brightness(108%);
}

.button-sidebar-login::before,
.button-sidebar-regist::before {
  position: relative;
  top: 3px;
  left: -6px;
  display: inline-block;
  content: '';
  width: 20px;
  height: 20px;
  background: url(https://assets.angel-live.com/common/images/icon_login.svg) 0 0 no-repeat;
  background-size: 100%;
  filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, .1));
}

.button-sidebar-regist::before {
  top: 1px;
  width: 13px;
  height: 13px;
  background-image: url(https://assets.angel-live.com/common/images/icon_user_fill.svg);
}

.sidebar-section.is_not-login a:link,
.sidebar-section.is_not-login a:visited {
  text-decoration: none;
  color: #fff;
}

.sidebar-section.is_mymenu.sidebar-mymenu {
  display: none;
}

.sidebar-section.is_mymenu.sidebar-mymenu.is_show {
  display: block;
}

.sidebar-mymenu-name {
  margin-bottom: 10px;
  padding-left: 2px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
}

.sidebar-mymenu-name__title {
  margin-left: 2px;
  font-size: 12px;
  font-weight: normal;
}

.sidebar-mymenu-list-item:not(:first-child) {
  margin-top: 6px;
}

.sidebar-mymenu-list-item__link {
  position: relative;
  display: block;
  height: 42px;
  padding-left: 36px;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 2px 4px rgba(238, 138, 164, .1);
  font-weight: bold;
  line-height: 42px;
  cursor: pointer;
  transition: .15s;
}

.sidebar-mymenu-list-item__link:link,
.sidebar-mymenu-list-item__link:visited {
  text-decoration: none;
  color: #444;
}

.sidebar-mymenu-list-item__link::before {
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
  display: block;
  content: '';
  width: 18px;
  height: 18px;
  background: url(https://assets.angel-live.com/common/images/icon_message_fill.svg) 0 0 no-repeat;
  background-size: 100%;
  filter: invert(19%) sepia(0%) saturate(257%) hue-rotate(150deg) brightness(16%) contrast(89%); /* おおよそ黒 */
}

.sidebar-mymenu-list-item.is_mymenu .sidebar-mymenu-list-item__link::before {
  background-image: url(https://assets.angel-live.com/common/images/icon_user_fill.svg);
}

.sidebar-mymenu-list-item.is_point .sidebar-mymenu-list-item__link::before {
  background-image: url(https://assets.angel-live.com/common/images/icon_point_color.svg); filter: none;
}

.sidebar-mymenu-list-item__link:hover {
  text-decoration: none;
  color: #ee8aa4;
}

.sidebar-mymenu-list-item__link:hover::before {
  filter: brightness(0) saturate(100%) invert(69%) sepia(52%) saturate(601%) hue-rotate(299deg) brightness(94%) contrast(98%); /* ピンク */
}

.badge-unread {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  display: block;
  width: 36px;
  height: 22px;
  background: #f05151;
  border-radius: 11px;
  font-size: 14px;
  font-weight: bold;
  line-height: 22px;
  text-align: center;
  color: #fff;
}

.sidebar-mymenu-purchase {
  position: relative;
  display: flex;
  height: 20px;
  margin-top: 7px;
  padding-left: 20px;
}

.sidebar-mymenu-purchase::before,
.sidebar-mymenu-purchase::after {
  position: absolute;
  top: 50%;
  left: 10px;
  content: '';
  width: 2px;
  height: 9px;
  background: #444;
  border-radius: 5px;
}

.sidebar-mymenu-purchase::before { transform: translate(-50%, -50%) rotate(0deg); }
.sidebar-mymenu-purchase::after { transform: translate(-50%, -50%) rotate(-90deg); }

.sidebar-mymenu-purchase__select {
  width: 116px;
  height: 20px;
  border: 1px solid #eee;
  font-size: 10px;
}

.sidebar-mymenu-purchase__button {
  display: inline-block;
  width: 40px;
  height: 20px;
  margin-left: 4px;
  background: #ccc;
  border: none;
  border-radius: 2px;
  color: #fff;
}

.sidebar-mymenu-purchase__button:not([disabled="true"]) {
  background: #ee8aa4;
  font-weight: bold;
}

.sidebar-section.is_price .sidebar-section-item {
  padding: 10px 12px 15px;
  background: #fff;
  border: 1px solid #f1f1f1;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1;
}

.sidebar-section.is_price .sidebar-section-item__title {
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: bold;
  color: #ee8aa4;
}

.sidebar-price-list-item {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  width: 154px;
  padding: 0 2px;
}

.sidebar-price-list-item:not(:first-child) {
  margin-top: 8px;
}

.sidebar-price-list-item__data {
  width: 70px;
}

.sidebar-section__more {
  display: block;
  padding: 12px 0 15px;
  font-size: 10px;
  line-height: 1;
  text-align: center;
}


/***** お知らせ *****/
.sidebar-news-list-item {
  padding-bottom: 3px;
  border-bottom: 1px dashed #ccc;
}

.sidebar-news-list-item:not(:first-child) {
  padding-top: 3px;
}

.sidebar-news-list-item__inner {
  display: block;
  padding: 4px 6px;
  line-height: 1.4;
  background: #FFFAC0;
}

.sidebar-news-list-item.new .sidebar-news-list-item__inner {
  background: none;
}

/*** ニュース小窓 ***/
.topnewsWindow {
  position: absolute;
  z-index: 4;
  box-sizing: border-box;
  display: none;
  width: 270px;
  padding: 5px 10px;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 0 0 2px #fff inset, 0 0 0 3px #ffdbe5 inset, 0 4px 8px rgba(238, 138, 164, .1);
  line-height: 1.4;
}

.topnewsWindow a.windowClose {
  position: absolute;
  top: -10px;
  right: -10px;
  display: block;
  width: 20px;
  height: 20px;
  background-color: #666;
  border: 1px solid #fff;
  border-radius: 11px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .1);
  cursor: pointer;
}

.topnewsWindow a.windowClose::before,
.topnewsWindow a.windowClose::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: '';
  width: 2px;
  height: 11px;
  background: #fff;
  border-radius: 2px;
}

.topnewsWindow a.windowClose::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.topnewsWindow a.windowClose::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.topnewsWindow .topnewsHeader {
  padding: 4px 2px;
  border-bottom: 1px solid #ffeaf0;
  font-size: 14px;
  font-weight: bold;
  color: #ee8aa4;
}

.topnewsWindow .topnewsBody {
  padding: 4px 2px;
  font-size: 12px;
}

.topnewsWindow .topnewsBody p.date {
  margin-top: 8px;
  font-size: 10px;
  text-align: right;
  color: #ee8aa4;
}



/********** メインカラム **********/
.primary {
  min-height: 660px;
  margin-left: 210px;
  padding: 79px 20px 20px 20px;
  background-color: #fff;
}

/* サブメニューありの調整 */
body:has(.sub-menu) .primary {
  padding-top: calc(79px + 46px);
}


/***** パンくずリスト *****/
.topicPath {
  margin: -3px 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px dotted #ccc;
}

.topicPath li {
  display: inline;
  line-height: 1em;
  list-style: none;
}

.topicPath li a,
.topicPath li.topictxt {
  margin-right: 8px;
  padding-right: 14px;
  background: url(https://assets.angel-live.com/common/img/icon/ico_topicpath.gif) no-repeat right center;
}

/*リニューアル版の調整*/
.primary .topicPath {
  margin: 10px 0 12px;
  border-bottom: 1px dotted #eee;
  font-size: 10px;
}



/***** ページタイトル *****/
.primary-title {
  position: relative;
  height: 24px;
  margin-bottom: 20px;
  padding-left: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #f5f5f5;
  font-size: 20px;
  font-weight: bold;
  line-height: 24px;
  color: #e97996;
}

.primary-title::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: '';
  width: 6px;
  height: 24px;
  background: #ee8aa4;
}


/*** ページサブタイトル ***/
.primary h2.titLevel2 {
  margin: 70px 0 10px;
  border-bottom: 2px solid #ee8aa4;
  font-size: 16px;
  line-height: 1.5em;
  color: #2a2a2a;
}



/***** ページ内容 *****/
.primary__inner {
  width: 820px;
  margin: 0 auto;
}

.vtrCre {
  display: block;
  width: 776px;
  margin: 10px auto;
  text-align: center;
}

/* 右カラムの中の左カラム */
.primary #l_box {
  width: 560px;
  float: left;
}

/* 右カラムの中の右カラム */
.primary #r_box {
  width: 180px;
  padding-left: 15px;
  float: left;
}

.primary #r_box > ul > li {
  padding-left: 15px;
  background: url(https://assets.angel-live.com/common/img/ico_subpage_form.gif) no-repeat 0 0.5em;
  line-height: 1.8em;
  list-style-type: none;
}

.primary #r_box dl dt {
  padding-left: 15px;
  background: url(https://assets.angel-live.com/common/img/ico_subpage_navi.gif) no-repeat 0 0.5em;
  font-weight: bold;
  line-height: 1.8em;
  color: #333;
}

.primary #r_box dl dd {
  margin-bottom: 15px;
  line-height: 1.8em;
  letter-spacing: 0;
}

.primary #r_box dl dd ul {
  padding: 0 0 0 18px;
  list-style: circle outside url(https://assets.angel-live.com/common/img/img_li_dot.gif);
}

.primary #r_box li.dot {
  padding-left: 15px;
  background: url(https://assets.angel-live.com/common/img/img_li_dot.gif) no-repeat scroll 0 0.3em;
  line-height: 1.9em;
  list-style-type: none;
}


/*** キャプションアイコン ***/
.primary dl.caption dt {
  display: block;
  padding-left: 15px;
  background: url(https://assets.angel-live.com/common/img/bg_subpage_dt.gif) no-repeat 0 0.5em;
  font-weight: bold;
  line-height: 1.8em;
}

.primary dl.caption dd {
  margin-bottom: 40px;
}