@import url("https://fonts.google.com/specimen/Sawarabi+Gothic");
body {
  margin: 0;
  padding: 0;
  background: #ccc;
  background-image: url("/dir/cat/idolbangaichi/img/hogechan_talkshow/bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  font-family: 'Sawarabi Gothic', sans-serif; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

@media only screen and (min-width: 768px) {
  .main {
    position: relative;
    background: #ccc;
    max-width: 900px;
    margin: 60px auto;
    padding: 120px 90px 60px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    overflow: hidden; } }

.wrap {
  position: relative; }
  @media only screen and (max-width: 767px) {
    .wrap {
      margin: 0;
      padding: 0;
      box-sizing: border-box; } }
  @media only screen and (min-width: 768px) {
    .wrap {
      max-width: 900px;
      margin: 0 auto; } }

.hero {
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .hero {
      box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3); } }

@media only screen and (max-width: 767px) {
  .deco_01 {
    display: none; } }
@media only screen and (min-width: 768px) {
  .deco_01 {
    position: absolute;
    top: 42.5%;
    left: -49px;
    z-index: 3;
    transform: rotateX(180deg); } }

@media only screen and (max-width: 767px) {
  .deco_02 {
    display: none; } }
@media only screen and (min-width: 768px) {
  .deco_02 {
    position: absolute;
    top: 42.5%;
    right: -49px;
    z-index: 3; } }

@media only screen and (max-width: 767px) {
  .deco_03 {
    display: none; } }
@media only screen and (min-width: 768px) {
  .deco_03 {
    position: absolute;
    bottom: 0;
    left: -30px;
    z-index: 3;
    transform: rotateX(180deg); } }

@media only screen and (max-width: 767px) {
  .deco_04 {
    display: none; } }
@media only screen and (min-width: 768px) {
  .deco_04 {
    position: absolute;
    top: 0;
    right: -30px;
    z-index: 3; } }

@media only screen and (max-width: 767px) {
  .deco_05 {
    display: none; } }
@media only screen and (min-width: 768px) {
  .deco_05 {
    position: absolute;
    top: -8%;
    right: -8.5%;
    z-index: 3; } }

.content h1 {
  position: absolute;
  margin: 0;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .content h1 {
      top: 0.6%;
      left: 5%; }
      .content h1 img {
        width: 95%; } }
  @media only screen and (min-width: 768px) {
    .content h1 {
      top: -5.35%;
      left: -5%; }
      .content h1 img {
        width: 90%; } }
.content .intro {
  margin: 0;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .content .intro {
      padding: 30px 15px 20px;
      box-sizing: border-box;
      font-size: 1.0rem;
      line-height: 2.0rem; } }
  @media only screen and (min-width: 768px) {
    .content .intro {
      position: absolute;
      width: 310px;
      top: 8.0%;
      right: 3%;
      font-size: 1.2rem;
      line-height: 2.3rem; } }
.content .ticket {
  background: #000; }
  @media only screen and (max-width: 767px) {
    .content .ticket {
      height: 83px;
      line-height: 83px; } }
  @media only screen and (min-width: 768px) {
    .content .ticket {
      position: absolute;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      top: 29.5%;
      right: 3%;
      width: 200px;
      height: 200px;
      cursor: pointer;
      filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.3)); }
      .content .ticket:hover {
        background: #222; } }
  .content .ticket .inner {
    display: flex; }
    @media only screen and (max-width: 767px) {
      .content .ticket .inner {
        justify-content: center; } }
    @media only screen and (min-width: 768px) {
      .content .ticket .inner {
        flex-direction: column;
        width: 150px; } }
    @media only screen and (max-width: 767px) {
      .content .ticket .inner img {
        width: 50px;
        height: 36px;
        margin-top: 23px;
        margin-right: 20px; } }
    @media only screen and (min-width: 768px) {
      .content .ticket .inner img {
        width: 63%;
        margin: 0 auto; } }
    .content .ticket .inner p {
      text-align: center;
      color: #fff; }
      @media only screen and (max-width: 767px) {
        .content .ticket .inner p {
          margin: 0; } }
      @media only screen and (min-width: 768px) {
        .content .ticket .inner p {
          margin: 15px auto 0; } }
    .content .ticket .inner a {
      color: #fff;
      text-decoration: none; }
      @media only screen and (max-width: 767px) {
        .content .ticket .inner a {
          font-size: 1.0rem; } }
      @media only screen and (min-width: 768px) {
        .content .ticket .inner a {
          margin: 10px 0 0;
          font-size: 0.9rem; } }
@media only screen and (max-width: 767px) {
  .content .date {
    padding: 0 15px 50px;
    box-sizing: border-box;
    line-height: 2.2rem;
    font-size: 1.0rem; } }
@media only screen and (min-width: 768px) {
  .content .date {
    position: absolute;
    width: 310px;
    line-height: 2.2rem;
    top: 8.5%;
    left: 3%;
    font-size: 1.2rem; } }
@media only screen and (max-width: 767px) {
  .content .date .day {
    display: none; } }
@media only screen and (min-width: 768px) {
  .content .date .day {
    margin: 0 0 18px; }
    .content .date .day img {
      width: 190px;
      height: auto; } }
.content .date dl {
  display: flex;
  flex-direction: column;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .content .date dl {
      margin: 0 0 8px; }
      .content .date dl:last-of-type {
        margin: 0 0 18px; } }
  @media only screen and (min-width: 768px) {
    .content .date dl {
      margin: 0 0 18px; } }
  .content .date dl dt {
    padding: 0;
    font-weight: 700;
    font-size: 1.4rem; }
    @media only screen and (max-width: 767px) {
      .content .date dl dt {
        margin: 0; } }
    @media only screen and (min-width: 768px) {
      .content .date dl dt {
        margin: 0 0 3px; } }
    .content .date dl dt span {
      font-size: 1.2rem; }
  .content .date dl dd {
    margin: 0;
    padding: 0;
    font-weight: 500; }
    @media only screen and (max-width: 767px) {
      .content .date dl dd {
        line-height: 1.6rem; } }
    @media only screen and (min-width: 768px) {
      .content .date dl dd {
        line-height: 2.0rem; } }
    @media only screen and (min-width: 768px) {
      .content .date dl dd .large {
        font-weight: 600;
        font-size: 1.75rem; } }
    @media only screen and (min-width: 768px) {
      .content .date dl dd .middle {
        font-size: 1.13rem; } }
    .content .date dl dd .small {
      font-weight: normal; }
      @media only screen and (min-width: 768px) {
        .content .date dl dd .small {
          font-size: 0.9rem; } }
@media only screen and (min-width: 768px) {
  .content .date .map img {
    width: 190px;
    height: auto; } }
.content .date .map .text {
  margin: 15px 0 0;
  font-size: 0.95rem;
  line-height: 1.3rem;
  word-break: break-all; }
  @media only screen and (min-width: 768px) {
    .content .date .map .text {
      width: 190px; } }
  .content .date .map .text p {
    margin: 0 0 5px;
    padding: 0; }
  .content .date .map .text a {
    color: #0a1945;
    text-decoration: none;
    font-size: 0.9rem; }
@media only screen and (max-width: 767px) {
  .content .goods {
    padding: 30px 15px 50px;
    box-sizing: border-box; } }
@media only screen and (min-width: 768px) {
  .content .goods {
    position: absolute;
    top: 48%;
    right: 2%; } }
.content .goods h3 {
  color: #fff;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .content .goods h3 {
      margin: 0 0 10px;
      font-size: 1.3rem; } }
  @media only screen and (min-width: 768px) {
    .content .goods h3 {
      margin: 0 0 5px 8px;
      font-size: 1.6rem; } }
.content .goods .price {
  color: #fff;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .content .goods .price {
      text-align: center;
      font-size: 1.0rem;
      margin: 15px 0 0; } }
  @media only screen and (min-width: 768px) {
    .content .goods .price {
      text-align: right;
      margin: 10px 13px 0 0;
      font-size: 1.3rem; } }
  @media only screen and (max-width: 767px) {
    .content .goods .price span {
      font-size: 0.95rem; } }
  @media only screen and (min-width: 768px) {
    .content .goods .price span {
      font-size: 1.1rem; } }
.content .goods .item_container {
  display: flex; }
  @media only screen and (max-width: 767px) {
    .content .goods .item_container {
      justify-content: space-between; } }
  .content .goods .item_container .item {
    filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.3)); }
    @media only screen and (max-width: 767px) {
      .content .goods .item_container .item {
        width: 47.5%; } }
    @media only screen and (min-width: 768px) {
      .content .goods .item_container .item {
        width: 220px;
        margin: 0 10px; } }

.timetable {
  background: #F4A800; }
  @media only screen and (max-width: 767px) {
    .timetable {
      padding: 30px 15px 50px;
      box-sizing: border-box; } }
  @media only screen and (min-width: 768px) {
    .timetable {
      filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.3));
      border-radius: 50%;
      width: 360px;
      height: 360px;
      left: -6%;
      bottom: 7%;
      position: absolute;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 10; } }
  .timetable .inner {
    display: flex;
    flex-direction: column; }
    @media only screen and (min-width: 768px) {
      .timetable .inner {
        width: 200px;
        height: 200px; } }
    .timetable .inner h2 {
      padding: 0; }
      @media only screen and (max-width: 767px) {
        .timetable .inner h2 {
          margin: 0 0 11px;
          font-size: 1.2rem; } }
      @media only screen and (min-width: 768px) {
        .timetable .inner h2 {
          margin: 0 0 15px;
          font-size: 1.2rem; } }
    .timetable .inner dl {
      display: flex;
      margin: 0 0 13px;
      padding: 0;
      width: 100%; }
      .timetable .inner dl:last-child {
        margin: 0; }
      @media only screen and (max-width: 767px) {
        .timetable .inner dl {
          font-size: 1.0rem; } }
      .timetable .inner dl dt {
        margin: 0;
        padding: 0;
        font-weight: 600; }
        @media only screen and (max-width: 767px) {
          .timetable .inner dl dt {
            width: 20%; } }
        @media only screen and (min-width: 768px) {
          .timetable .inner dl dt {
            width: 20%;
            font-size: 1.15rem; } }
      .timetable .inner dl dd {
        margin: 0;
        padding: 0; }
        @media only screen and (max-width: 767px) {
          .timetable .inner dl dd {
            width: 80%;
            text-align: left; } }
        @media only screen and (min-width: 768px) {
          .timetable .inner dl dd {
            width: 80%;
            text-align: right;
            font-size: 1.0rem; } }

.profile {
  background: #F4A800; }
  @media only screen and (max-width: 767px) {
    .profile {
      padding: 30px 15px 50px;
      box-sizing: border-box; } }
  @media only screen and (min-width: 768px) {
    .profile {
      position: absolute;
      z-index: 10;
      width: 820px;
      height: 820px;
      border-radius: 50%;
      right: -47%;
      bottom: -46%; } }
  @media only screen and (min-width: 768px) {
    .profile .inner {
      width: 345px;
      margin-top: 80px;
      margin-left: 125px; } }
  .profile h4 {
    padding: 0; }
    @media only screen and (max-width: 767px) {
      .profile h4 {
        margin: 0 0 5px;
        font-size: 1.1rem; } }
    @media only screen and (min-width: 768px) {
      .profile h4 {
        margin: 0 0 10px;
        font-size: 1.2rem;
        text-align: right; } }
  @media only screen and (min-width: 768px) {
    .profile .profile_data {
      text-align: right;
      margin: 0 0 40px; } }
  .profile p {
    margin: 0 0 17px;
    padding: 0;
    font-size: 0.95rem; }
    .profile p:last-child {
      margin: 0; }
    .profile p a {
      color: #0a1945;
      text-decoration: none; }

@media only screen and (max-width: 767px) {
  .sns {
    padding: 30px 15px 50px;
    box-sizing: border-box; } }
@media only screen and (min-width: 768px) {
  .sns {
    margin: 40px 0 0; } }
.sns h5 {
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .sns h5 {
      margin: 0 0 5px;
      font-size: 1.1rem; } }
  @media only screen and (min-width: 768px) {
    .sns h5 {
      margin: 0 0 15px;
      font-size: 1.2rem; } }
.sns p {
  padding: 0;
  font-size: 0.95rem; }
  @media only screen and (max-width: 767px) {
    .sns p {
      margin: 0 0 17px; } }
  @media only screen and (min-width: 768px) {
    .sns p {
      margin: 0 0 5px; } }
  .sns p:last-child {
    margin: 0; }
  .sns p a {
    color: #0a1945;
    text-decoration: none;
    font-size: 0.9rem;
    word-break: break-all; }

@media only screen and (min-width: 768px) {
  .sponly {
    display: none; } }

@media only screen and (max-width: 767px) {
  .pconly {
    display: none; } }

.global_head {
  margin: 0;
  padding: 0; }

footer {
  position: relative;
  z-index: 99; }
