@charset "UTF-8";
/*----------------------------------------
  arrow icon
----------------------------------------*/
/*  ▲
----------------------------------------*/
/*  ＞
----------------------------------------*/
/*----------------------------------------
  SP のコンテンツ両端に入るオフセットを padding として追加する
----------------------------------------*/
/*----------------------------------------
  Youtube 埋め込み動画 mixin
----------------------------------------*/
/*  PC 埋め込み動画(iframe)ラッパー
----------------------------------------*/
/*  SP 埋め込み動画(iframe)ラッパー
----------------------------------------*/
/*  埋め込み動画(iframe)
----------------------------------------*/
/*----------------------------------------
  z-index を名前で指定
----------------------------------------*/
/*----------------------------------------
  browser default value
----------------------------------------*/
/*----------------------------------------
  base
----------------------------------------*/
/*----------------------------------------
  z-index
----------------------------------------*/
/*----------------------------------------
  color
----------------------------------------*/
/*----------------------------------------
  font-weight
----------------------------------------*/
/*----------------------------------------
  opacity
----------------------------------------*/
/*----------------------------------------
  size
----------------------------------------*/
/*----------------------------------------
  padding
----------------------------------------*/
/*----------------------------------------
  transition
----------------------------------------*/
/*----------------------------------------
  border-radius
----------------------------------------*/
/*----------------------------------------
  Asset handling
----------------------------------------*/
/*----------------------------------------
  デバイス別 切替
----------------------------------------*/
/*  表示
----------------------------------------*/
.pc_appear {
  display: none;
}

.sp_appear {
  display: block;
}

/*  改行
----------------------------------------*/
.pc_break {
  display: none;
}

.sp_break {
  display: inline;
}

/*  電話番号リンク
----------------------------------------*/
.tel_for_sp {
  pointer-events: auto;
}

/*----------------------------------------
  reset
----------------------------------------*/
/* stylelint-disable selector-max-type */
img {
  max-width: 100%;
  height: auto;
}

/*----------------------------------------
  base
----------------------------------------*/
/* stylelint-disable selector-max-type */
body {
  min-width: 0;
}

/*----------------------------------------
  element
----------------------------------------*/
.header {
  width: 100%;
  position: fixed;
  z-index: 3;
  top: 0;
  left: 0;
}

.header_inner {
  height: 50px;
  padding: 0 15px;
}

.header_logo {
  width: 107px;
}

.main {
  padding-top: 50px;
  padding-right: 15px;
  padding-left: 15px;
}

.main_top {
  margin-right: -15px;
  margin-left: -15px;
  padding: 15px;
}

.main_top.o-gradient {
  background: #ad9458;
}

.main_top_inner {
  width: 100%;
}

.main_content {
  width: 100%;
  display: block;
}

.main_article {
  width: 100%;
  max-width: initial;
}

.main_article + .main_aside {
  margin-top: 60px;
}

.main_aside {
  width: 100%;
  margin-left: 0;
}

.footer {
  padding: 0;
}

.footer_inner {
  width: 100%;
}

.footer_main {
  display: block;
  padding: 30px 15px 40px;
}

.footer_main_list {
  margin-left: 0;
  display: block;
}

.footer_main_item {
  text-align: center;
}

.footer_main_item:not(:first-child) {
  margin-top: 30px;
  margin-left: 0;
}

.footer_sns {
  width: 100%;
  margin-top: 40px;
}

.footer_sns_list {
  justify-content: center;
}

.footer_sub {
  margin-top: 0;
  margin-left: 0;
  background-color: #242424;
  padding: 22px 15px 40px;
  flex-direction: column-reverse;
}

.footer_sub_list {
  width: 100%;
}

.footer_sub_item {
  text-align: center;
}

.footer_logo {
  width: 141px;
  margin: 0 auto 30px;
}

.footer_banner {
  background-color: #242424;
  padding: 0 20px;
}

.footer_banner_inner {
  margin-top: 0;
  text-align: center;
}

.footer_copyright {
  margin-top: 0;
  text-align: center;
  background-color: #242424;
  padding: 35px 0 22px;
}

.grid_list {
  margin-right: -7.5px;
  margin-left: -7.5px;
}

.grid_item {
  flex: none;
  width: 50%;
  padding: 0 7.5px;
}

.grid_item:not(:nth-child(4n + 1)) {
  margin-left: 0;
}

.grid_thumbnail {
  width: 100%;
  height: auto;
}

.track_main {
  display: block;
}

.track_main_image {
  width: 100%;
  height: auto;
  margin-right: 0;
}

.track_main_text {
  width: 100%;
  margin-bottom: 0;
}

.playlist_main {
  display: block;
  padding-bottom: 0;
}

.playlist_main_image {
  width: 100%;
  max-width: 100%;
  height: auto;
  margin-right: 0;
}

.playlist_main_text {
  width: 100%;
  margin-bottom: 0;
}

.modal_title {
  font-size: 2.2rem;
}

.modal_title_sub {
  font-size: 1.7rem;
}

.modal_button {
  width: 100%;
  margin: 0;
}

.modal_button_container {
  width: 100%;
  display: inline-flex;
  flex-direction: row;
  margin-top: 20px;
}

.modal_button_text {
  font-size: 1.5rem;
  padding: 0;
  height: 50px;
}

.modal_button + .modal_button {
  margin-left: 20px;
}

.modal_content {
  width: 92vw;
  max-width: initial;
  max-height: initial;
}

.modal_content_inner {
  padding: 50px 20px;
}

.modal_content_bottom {
  margin-top: 40px;
}

.modal_content_notice {
  color: #909090;
  margin: 30px 0;
}

.modal_content_text.o-narrow {
  padding: 0 20px;
}

.profile_status_wrapper {
  justify-content: space-between;
}

.profile_status_item {
  width: calc(100% / 3);
  min-width: initial;
}

.profile_status_item:first-child {
  border-left: none;
}

.profile_status_item:last-child {
  border-right: none;
}

.profile_status_count {
  font-size: 1.6rem;
}

.description_accordion_button {
  margin-top: 10px;
}

/*----------------------------------------
  typography
----------------------------------------*/
.title {
  font-size: 2rem;
}
