@charset "UTF-8";

#luxy {
  overflow: hidden;
}

#location {
  padding-top: 44px;
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  #location {
    padding-top: 25px;
  }
}
#location h2 .sub {
  position: relative;
  display: block;
  font-size: 20px;
  color: #F45581;
  font-weight: 500;
  line-height: 55px;
}
#location h2 .sub::after {
  position: absolute;
  content: "";
  top: calc(100% + 7px);
  left: 50%;
  width: 198px;
  height: 12px;
  background-image: url("../img/studioreport/line_head01_list.png");
  background-size: cover;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
#location h2 .ja {
  display: block;
  margin-top: 36px;
  font-size: 40px;
  font-weight: 700;
  line-height: 55px;
}
@media screen and (max-width: 768px) {
  #location h2 .ja {
    font-size: 26px;
    line-height: 32px;
  }
}
#location .section-body {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 30px 22px;
}
@media screen and (max-width: 768px) {
  #location .section-body {
    gap: 20px 0;
  }
}
#location .section-body .reportBlock {
  width: calc((100% - 44px) / 3);
  border: 1px solid #D3D3D3;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (min-width: 769px) {
  #location .section-body .reportBlock:hover {
    background-color: #fdf5f8;
  }
  #location .section-body .reportBlock:hover .thumbnails img {
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2);
  }
}
@media screen and (max-width: 768px) {
  #location .section-body .reportBlock {
    width: 100%;
  }
}
#location .section-body .reportBlock a {
  display: block;
  padding: 15px;
  color: #504C4D;
}
#location .section-body .reportBlock a h3 .title {
  display: block;
  color: #F45581;
  font-weight: 700;
  line-height: 22px;
}
#location .section-body .reportBlock a h3 .studioname {
  display: block;
  margin: 5px 0 7px;
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
}
#location .section-body .reportBlock a .thumbnails {
  margin: 0 0 12px;
  overflow: hidden;
}
#location .section-body .reportBlock a .thumbnails img {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
#location .section-body .reportBlock a ul li {
  position: relative;
  padding-left: 22px;
  font-size: 14px;
  line-height: 22px;
}
@media screen and (max-width: 768px) {
  #location .section-body .reportBlock a ul li:not(:first-child) {
    margin-top: 2px;
  }
}
#location .section-body .reportBlock a ul li:before {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  font-family: "icomoon";
  font-style: normal;
  font-weight: normal;
  font-size: 15px;
  width: 1em;
  height: 1em;
  line-height: 1;
  margin-right: 4px;
  -webkit-transform: translateY(5px);
      -ms-transform: translateY(5px);
          transform: translateY(5px);
}
@media screen and (max-width: 768px) {
  #location .section-body .reportBlock a ul li:before {
    font-size: 16px;
    margin-right: 5px;
    -webkit-transform: translateY(3px);
        -ms-transform: translateY(3px);
            transform: translateY(3px);
  }
}
#location .section-body .reportBlock a ul li.location:before {
  content: "\e904";
}
#location .section-body .reportBlock a ul li.date:before {
  content: "";
  width: 15px;
  height: 16px;
  background-image: url("../img/studioreport/ico_date.svg");
  background-size: cover;
}
#location .section-body .reportBlock a ul li.label:before {
  content: "";
  width: 16px;
  height: 16px;
  background-image: url("../img/studioreport/ico_label.svg");
  background-size: cover;
}
#location .pagenation {
  margin: 30px 0 70px;
}

.repIntroduction {
  padding: 64px 0;
  background-color: #FDF5F8;
}
.repIntroduction h2 {
  font-size: 32px;
  font-weight: 700;
  line-height: 55px;
}
@media screen and (max-width: 768px) {
  .repIntroduction h2 {
    font-size: 23px;
    line-height: 35px;
  }
}
.repIntroduction_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 50px 80px;
  width: calc(100% - 35px);
  max-width: 778px;
  margin: 26px auto 0;
}
@media screen and (max-width: 768px) {
  .repIntroduction_list {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 36px 60px;
  }
}
.repIntroduction_list > div {
  width: calc((100% - 160px) / 3);
}
@media screen and (max-width: 768px) {
  .repIntroduction_list > div {
    width: calc((100% - 60px) / 2);
  }
}
@media screen and (max-width: 480px) {
  .repIntroduction_list > div {
    width: 100%;
  }
}
.repIntroduction_list > div:nth-child(3n+1) .image {
  background-image: url("../img/studioreport/bg_member_cnt01.png");
  background-size: cover;
}
.repIntroduction_list > div:nth-child(3n+2) .image {
  background-image: url("../img/studioreport/bg_member_cnt02.png");
  background-size: cover;
}
.repIntroduction_list > div:nth-child(3n+3) .image {
  background-image: url("../img/studioreport/bg_member_cnt03.png");
  background-size: cover;
}
.repIntroduction_list > div dt .image {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 188px;
}
@media screen and (max-width: 768px) {
  .repIntroduction_list > div dt .image {
    width: 206px;
    margin: 0 auto;
  }
}
.repIntroduction_list > div dd {
  margin-top: 8px;
}
.repIntroduction_list > div dd .name {
  display: block;
  font-size: 20px;
  color: #F45581;
  font-weight: 700;
  line-height: 30px;
  text-align: center;
}
.repIntroduction_list > div dd .text {
  display: block;
  margin-top: 11px;
  font-size: 14px;
  line-height: 26px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .repIntroduction_list > div dd .text {
    text-align: left;
  }
}

.container {
  position: relative;
  width: 100%;
}
.container.report::before {
  position: absolute;
  content: "";
  top: 0;
  right: calc(50% + 430px);
  width: 245px;
  height: 100%;
  background-image: url("../img/studioreport/bg_leftside.png");
  background-size: contain;
  background-repeat: repeat-y;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .container.report::before {
    width: 122px;
    right: inherit;
    left: 6px;
  }
}
.container.report::after {
  position: absolute;
  content: "";
  top: 0;
  left: calc(50% + 430px);
  width: 245px;
  height: 100%;
  background-image: url("../img/studioreport/bg_rightside.png");
  background-size: contain;
  background-repeat: repeat-y;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .container.report::after {
    width: 122px;
    left: inherit;
    right: 2px;
  }
}
.container p {
  margin-top: 26px;
  font-size: 14px;
  line-height: 30px;
}
@media screen and (max-width: 768px) {
  .container p {
    line-height: 25px;
  }
}
.container section {
  position: relative;
  width: calc(100% - 35px);
  max-width: 860px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 15;
}
@media screen and (max-width: 768px) {
  .container section {
    width: 100%;
  }
}
.container .main.m-studio {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .firstview .section_inner {
    width: calc(100% - 35px);
    margin-left: auto;
    margin-right: auto;
  }
}
.firstview h1 {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .firstview h1 {
    margin-top: 32px;
  }
}
.firstview h1 .sub {
  position: relative;
  display: block;
  font-size: 18px;
  color: #F45581;
  font-weight: 500;
  line-height: 35px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .firstview h1 .sub {
    font-size: 18px;
    line-height: 30px;
  }
}
.firstview h1 .sub::after {
  position: absolute;
  content: "";
  top: calc(100% + 14px);
  left: 50%;
  width: 108px;
  height: 13px;
  background-image: url("../img/studioreport/line_head01.png");
  background-size: cover;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.firstview h1 .title {
  display: block;
  margin-top: 36px;
  font-size: 40px;
  font-weight: 700;
  line-height: 55px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .firstview h1 .title {
    font-size: 26px;
    line-height: 38px;
  }
}
.firstview .data {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px 20px;
  margin-top: 13px;
}
@media screen and (max-width: 768px) {
  .firstview .data {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.firstview .data span {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .firstview .data span {
    display: block;
    width: 195px;
    margin: 0 auto;
  }
}
.firstview .data span.date {
  position: relative;
}
.firstview .data span.date::before {
  content: "";
  display: inline-block;
  font-family: "icomoon";
  font-style: normal;
  font-weight: normal;
  width: 15px;
  height: 16px;
  margin-right: 4px;
  background-image: url("../img/studioreport/ico_date.svg");
  background-size: cover;
  -webkit-transform: translateY(3px);
      -ms-transform: translateY(3px);
          transform: translateY(3px);
}
@media screen and (max-width: 768px) {
  .firstview .data span.date::before {
    font-size: 15px;
    -webkit-transform: translateY(1px);
        -ms-transform: translateY(1px);
            transform: translateY(1px);
  }
}
.firstview .data span.location {
  position: relative;
}
.firstview .data span.location::before {
  content: "\e904";
  display: inline-block;
  font-family: "icomoon";
  font-style: normal;
  font-weight: normal;
  width: 1em;
  height: 1em;
  margin-right: 5px;
  font-size: 16px;
  line-height: 1;
  margin-right: 4px;
  -webkit-transform: translateY(2px);
      -ms-transform: translateY(2px);
          transform: translateY(2px);
}
@media screen and (max-width: 768px) {
  .firstview .data span.location::before {
    font-size: 15px;
    -webkit-transform: translateY(1px);
        -ms-transform: translateY(1px);
            transform: translateY(1px);
  }
}
.firstview .thumbnails {
  position: relative;
  width: 100%;
  height: 340px;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .firstview .thumbnails {
    height: auto;
    margin-top: 24px;
  }
}
.firstview .thumbnails img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.studioinfo {
  position: relative;
  margin-top: 50px !important;
  padding: 50px 41px 37px;
  border-radius: 8px;
  background-color: #FDF5F8;
}
@media screen and (max-width: 768px) {
  .studioinfo {
    padding: 59px 15px 15px;
    margin: 43px auto 50px !important;
  }
}
@media screen and (max-width: 768px) {
  .studioinfo .section_inner {
    width: calc(100% - 35px);
    margin-left: auto;
    margin-right: auto;
  }
}
.studioinfo h2 {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  font-size: 30px;
  color: #F45581;
  font-weight: 700;
  text-align: center;
  line-height: 55px;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .studioinfo h2 {
    -webkit-transform: translate(-50%, -13px);
        -ms-transform: translate(-50%, -13px);
            transform: translate(-50%, -13px);
    font-size: 19px;
    line-height: 32px;
  }
}
.studioinfo h2 .is-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .studioinfo h2 .is-sp {
    display: inline;
  }
}
.studioinfo .studioname {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 26px 20px;
}
.studioinfo .studioname .image {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 164px;
  height: 116px;
  margin: 0;
  border: 1px solid #D3D3D3;
  border-radius: 10px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .studioinfo .studioname .image {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: 161px;
    height: 113px;
    margin: 0 auto;
    border-radius: 5px;
  }
}
.studioinfo .studioname .image img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
}
.studioinfo .studioname .name {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(100% - 184px);
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
}
@media screen and (max-width: 480px) {
  .studioinfo .studioname .name {
    width: 100%;
    line-height: 25px;
  }
}
.studioinfo .studioprof {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 21px 28px;
  margin-top: 21px;
}
.studioinfo .studioprof .lead {
  width: calc(100% - 357px);
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .studioinfo .studioprof .lead {
    width: 100%;
  }
}
.studioinfo .studioprof .image {
  width: 329px;
  height: auto;
  margin: 4px 0 0;
}
@media screen and (max-width: 768px) {
  .studioinfo .studioprof .image {
    width: 100%;
    margin: 0;
  }
}
.studioinfo .studioprof .image img {
  width: 100%;
  height: auto;
}

.reportblock {
  margin-top: 70px !important;
}
@media screen and (max-width: 768px) {
  .reportblock {
    margin-top: 35px !important;
  }
}
@media screen and (max-width: 768px) {
  .reportblock .section_inner {
    width: calc(100% - 35px);
    margin-left: auto;
    margin-right: auto;
  }
}
.reportblock .reportedit {
  counter-reset: headcount 0;
}
.reportblock .reportedit h2 {
  position: relative;
  display: block;
  margin-top: 95px;
  font-size: 32px;
  font-weight: 700;
  line-height: 42px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .reportblock .reportedit h2 {
    margin-top: 64px;
    font-size: 23px;
    line-height: 28px;
  }
}
.reportblock .reportedit h2::before {
  position: absolute;
  content: "Report ";
  bottom: calc(100% + 2px);
  right: calc(50% + 2px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 24px;
  font-family: "Potta One", system-ui;
  font-size: 14px;
  color: #F45581;
}
@media screen and (max-width: 768px) {
  .reportblock .reportedit h2::before {
    bottom: calc(100% + 6px);
  }
}
.reportblock .reportedit h2::after {
  position: absolute;
  counter-increment: headcount 1;
  content: counter(headcount, decimal-leading-zero);
  bottom: calc(100% + 2px);
  left: calc(50% + 2px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 32px;
  height: 24px;
  background-image: url("../img/studioreport/bg_report_num.png");
  background-size: cover;
  font-family: "Potta One", system-ui;
  font-size: 16px;
  color: #F45581;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .reportblock .reportedit h2::after {
    bottom: calc(100% + 6px);
  }
}
.reportblock .reportedit p img {
  width: 100%;
}
.reportblock .reportedit p a {
  color: #F45581;
  -webkit-transition: 0.1s;
  -o-transition: 0.1s;
  transition: 0.1s;
}
@media screen and (min-width: 769px) {
  .reportblock .reportedit p a:hover {
    color: #5FBEF0;
  }
}
.reportblock .reportedit ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 23px;
  margin-top: 26px;
}
@media screen and (max-width: 768px) {
  .reportblock .reportedit ul {
    gap: 20px;
  }
}
.reportblock .reportedit ul:has(> :nth-child(1):last-child) li {
  width: 100%;
}
.reportblock .reportedit ul:has(> :nth-child(2):last-child) li {
  width: calc((100% - 23px) / 2);
}
.reportblock .reportedit ul:has(> :nth-child(3):last-child) li:nth-child(3) {
  width: calc((100% - 46px) / 100 * 47.1);
}
.reportblock .reportedit ul:has(> :nth-child(3):last-child) li:not(:nth-child(3)) {
  width: calc((100% - 46px) / 100 * 26.4);
}
.reportblock .reportedit ul:has(> :nth-child(4)) li {
  width: calc((100% - 23px) / 2);
}
@media screen and (max-width: 768px) {
  .reportblock .reportedit ul li {
    width: 100% !important;
  }
}
.reportblock .reportedit ul li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.reportarea {
  margin-top: 70px !important;
}
@media screen and (max-width: 768px) {
  .reportarea {
    margin-top: 35px !important;
  }
}
@media screen and (max-width: 768px) {
  .reportarea .section_inner {
    width: calc(100% - 35px);
    margin-left: auto;
    margin-right: auto;
  }
}
.reportarea h2 .sub {
  display: block;
  font-family: "Potta One", system-ui;
  font-size: 14px;
  color: #F45581;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .reportarea h2 .sub {
    font-size: 14px;
  }
}
.reportarea h2 .sub .num {
  position: relative;
  display: inline-block;
  padding: 0 8px;
  font-size: 16px;
}
.reportarea h2 .sub .num::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 7px;
  height: 25px;
  background-image: url("../img/studioreport/bg_report_num01.png");
  background-size: cover;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.reportarea h2 .sub .num::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  width: 7px;
  height: 25px;
  background-image: url("../img/studioreport/bg_report_num02.png");
  background-size: cover;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.reportarea h2 .head {
  display: block;
  margin-top: 8px;
  font-size: 32px;
  font-weight: 700;
  line-height: 42px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .reportarea h2 .head {
    margin-top: 14px;
    font-size: 23px;
    line-height: 28px;
  }
}
.reportarea.report01 .imagebox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 26px;
}
@media screen and (max-width: 768px) {
  .reportarea.report01 .imagebox {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.reportarea.report01 .imagebox.top {
  gap: 20px 23px;
}
.reportarea.report01 .imagebox.top:has(> :nth-child(1):last-child) .image {
  width: 100%;
}
.reportarea.report01 .imagebox.top:has(> :nth-child(2):last-child) .image {
  width: calc((100% - 23px) / 2);
}
.reportarea.report01 .imagebox.top:has(> :nth-child(3):last-child) .image:nth-child(3) {
  width: calc((100% - 46px) / 100 * 47.1);
}
.reportarea.report01 .imagebox.top:has(> :nth-child(3):last-child) .image:not(:nth-child(3)) {
  width: calc((100% - 46px) / 100 * 26.4);
}
.reportarea.report01 .imagebox.top .image {
  height: 288px;
  margin: 0;
}
.reportarea.report01 .imagebox.top .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.reportarea.report01 .imagebox.bottom {
  gap: 20px 24px;
}
.reportarea.report01 .imagebox.bottom:has(> :nth-child(1):last-child) .image {
  width: 100%;
}
.reportarea.report01 .imagebox.bottom:has(> :nth-child(2):last-child) .image:nth-child(2) {
  width: calc((100% - 24px) / 100 * 64);
}
.reportarea.report01 .imagebox.bottom:has(> :nth-child(2):last-child) .image:not(:nth-child(2)) {
  width: calc((100% - 24px) / 100 * 36);
}
.reportarea.report01 .imagebox.bottom .image {
  height: 402px;
  margin: 0;
}
.reportarea.report01 .imagebox.bottom .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
@media screen and (max-width: 768px) {
  .reportarea.report01 .imagebox .image {
    width: 100% !important;
    height: auto !important;
  }
}
.reportarea.report02 .imagebox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 26px;
  gap: 20px 23px;
}
@media screen and (max-width: 768px) {
  .reportarea.report02 .imagebox {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.reportarea.report02 .imagebox:has(> :nth-child(1):last-child) .image {
  width: 100%;
}
.reportarea.report02 .imagebox:has(> :nth-child(2):last-child) .image {
  width: calc((100% - 23px) / 2);
}
.reportarea.report02 .imagebox .image {
  height: 313px;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .reportarea.report02 .imagebox .image {
    width: 100% !important;
    height: auto !important;
  }
}
.reportarea.report02 .imagebox .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.reportarea.report03 .imagebox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 26px;
}
.reportarea.report03 .imagebox.top {
  gap: 0 23px;
}
.reportarea.report03 .imagebox.top .image {
  width: 100%;
  height: auto;
  margin: 0;
}
.reportarea.report03 .imagebox.top .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.reportarea.report03 .imagebox.bottom {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 23px 20px;
}
@media screen and (max-width: 768px) {
  .reportarea.report03 .imagebox.bottom {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.reportarea.report03 .imagebox.bottom .image {
  width: calc((100% - 20px) / 2);
  margin: 0;
}
@media screen and (max-width: 768px) {
  .reportarea.report03 .imagebox.bottom .image {
    width: 100%;
  }
}
.reportarea.report03 .imagebox.bottom .image:nth-child(1), .reportarea.report03 .imagebox.bottom .image:nth-child(2) {
  height: 630px;
}
@media screen and (max-width: 768px) {
  .reportarea.report03 .imagebox.bottom .image:nth-child(1), .reportarea.report03 .imagebox.bottom .image:nth-child(2) {
    height: auto;
  }
}
.reportarea.report03 .imagebox.bottom .image:nth-child(n+3) {
  height: 277px;
}
@media screen and (max-width: 768px) {
  .reportarea.report03 .imagebox.bottom .image:nth-child(n+3) {
    height: auto;
  }
}
.reportarea.report03 .imagebox.bottom .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
@media screen and (max-width: 768px) {
  .reportarea.report03 .caption {
    margin-top: 16px;
  }
}

.summarize {
  width: calc(100% - 35px) !important;
  margin-top: 70px !important;
  padding: 30px 32px 44px;
  border: 1px solid #F45581;
  border-radius: 8px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .summarize {
    margin-top: 26px !important;
    padding: 26px 15px;
  }
}
.summarize h2 {
  position: relative;
  font-size: 24px;
  color: #F45581;
  font-weight: 700;
  text-align: center;
  line-height: 34px;
}
@media screen and (max-width: 768px) {
  .summarize h2 {
    font-size: 19px;
    line-height: 32px;
  }
}
.summarize h2::after {
  position: absolute;
  content: "";
  top: calc(100% + 11px);
  left: 50%;
  width: 56px;
  height: 10px;
  background-image: url("../img/studioreport/line_report.png");
  background-size: cover;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.summarize .lead {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .summarize .lead {
    margin-top: 45px !important;
  }
}

.tostudio {
  margin-top: 30px !important;
  padding: 74px 30px 26px;
  border-radius: 4px;
  background-color: #FCEFDF;
}
@media screen and (max-width: 768px) {
  .tostudio {
    padding: 86px 15px 28px;
  }
}
.tostudio h2 {
  position: relative;
  font-size: 24px;
  color: #F45581;
  font-weight: 700;
  text-align: center;
  line-height: 34px;
}
@media screen and (max-width: 768px) {
  .tostudio h2 {
    font-size: 19px;
    line-height: 32px;
  }
}
.tostudio h2::after {
  position: absolute;
  content: "";
  bottom: calc(100% + 5px);
  left: 50%;
  width: 58px;
  height: 40px;
  background-image: url("../img/studioreport/img_session.png");
  background-size: cover;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .tostudio h2::after {
    width: 60px;
    height: 42px;
  }
}
.tostudio .columnbox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 26px 30px;
  margin-top: 21px;
}
@media screen and (max-width: 768px) {
  .tostudio .columnbox {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.tostudio .columnbox .image {
  width: 365px;
  margin: 4px 0;
}
@media screen and (max-width: 768px) {
  .tostudio .columnbox .image {
    width: 100%;
  }
}
.tostudio .columnbox .image img {
  width: 100%;
  height: auto;
}
.tostudio .columnbox .data {
  width: calc(100% - 395px);
}
@media screen and (max-width: 768px) {
  .tostudio .columnbox .data {
    width: 100%;
  }
}
.tostudio .columnbox .data .lead {
  margin-top: 0;
}
.tostudio .columnbox .data .buttonarea {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 7px 12px;
  margin-top: 33px;
}
@media screen and (max-width: 768px) {
  .tostudio .columnbox .data .buttonarea {
    margin-top: 26px;
  }
}
@media screen and (max-width: 480px) {
  .tostudio .columnbox .data .buttonarea {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.tostudio .columnbox .data .buttonarea a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc((100% - 12px) / 2);
  padding: 6px 7px 6px 10px;
  border: 1px solid #F45581;
  border-radius: 4px;
  background-color: #fff;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .tostudio .columnbox .data .buttonarea a {
    width: 100%;
    padding: 11px;
  }
}
@media screen and (min-width: 769px) {
  .tostudio .columnbox .data .buttonarea a:hover {
    background-color: #F45581;
  }
  .tostudio .columnbox .data .buttonarea a:hover .ico .def {
    opacity: 0;
  }
  .tostudio .columnbox .data .buttonarea a:hover .ico .hov {
    opacity: 1;
  }
  .tostudio .columnbox .data .buttonarea a:hover .text {
    color: #fff;
  }
  .tostudio .columnbox .data .buttonarea a:hover svg path {
    fill: #fff;
  }
}
.tostudio .columnbox .data .buttonarea a .ico {
  position: relative;
}
.tostudio .columnbox .data .buttonarea a .ico .hov {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.tostudio .columnbox .data .buttonarea a .ico img {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.tostudio .columnbox .data .buttonarea a .text {
  margin-left: 6px;
  color: #F45581;
  font-weight: 500;
  line-height: 24px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.tostudio .columnbox .data .buttonarea a svg {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.tostudio .columnbox .data .buttonarea a svg path {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.tostudio .columnbox .data .buttonarea a .arrow {
  margin-left: auto;
}

.studioinformation {
  margin: 70px auto !important;
}
@media screen and (max-width: 768px) {
  .studioinformation {
    margin-top: 56px auto 60px !important;
  }
}
@media screen and (max-width: 768px) {
  .studioinformation.studiopage {
    margin: 40px auto !important;
  }
}
@media screen and (max-width: 768px) {
  .studioinformation .section_inner {
    width: calc(100% - 35px);
    margin-left: auto;
    margin-right: auto;
  }
}
.studioinformation h2 {
  font-size: 32px;
  color: #F45581;
  font-weight: 700;
  text-align: center;
  line-height: 42px;
}
@media screen and (max-width: 768px) {
  .studioinformation h2 {
    font-size: 23px;
    line-height: 28px;
  }
}
.studioinformation h3 {
  margin-top: 24px;
  font-size: 20px;
  font-weight: 700;
  line-height: 46px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .studioinformation h3 {
    font-size: 23px;
    line-height: 23px;
  }
}
.studioinformation .basic {
  margin-top: 6px;
  border: 1px solid #707070;
}
@media screen and (max-width: 768px) {
  .studioinformation .basic {
    margin-top: 15px;
  }
}
.studioinformation .basic > div {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.studioinformation .basic > div:not(:first-child) {
  border-top: 1px solid #707070;
}
.studioinformation .basic > div dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 264px;
  padding: 17px 20px;
  background-color: #F8F4F0;
  border-right: 1px solid #707070;
  font-size: 14px;
  line-height: 24px;
}
@media screen and (max-width: 768px) {
  .studioinformation .basic > div dt {
    width: 125px;
    padding: 7px 10px;
    font-size: 13px;
  }
}
@media screen and (max-width: 480px) {
  .studioinformation .basic > div dt {
    width: 94px;
  }
}
.studioinformation .basic > div dd {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding: 17px 20px;
  width: calc(100% - 264px);
  background-color: #fff;
  font-size: 14px;
  line-height: 24px;
}
@media screen and (max-width: 768px) {
  .studioinformation .basic > div dd {
    width: calc(100% - 125px);
    padding: 7px 10px;
    font-size: 13px;
  }
}
@media screen and (max-width: 480px) {
  .studioinformation .basic > div dd {
    width: calc(100% - 94px);
  }
}
.studioinformation .basic > div dd span.head {
  width: 100%;
  font-weight: 700;
}
.studioinformation .basic > div dd span.head:not(:first-child) {
  margin-top: 16px;
}
.studioinformation .basic > div dd span.text {
  width: 100%;
  margin-top: 8px;
}
.studioinformation .basic > div dd a {
  color: #F45581;
  -webkit-transition: 0.1s;
  -o-transition: 0.1s;
  transition: 0.1s;
}
@media screen and (min-width: 769px) {
  .studioinformation .basic > div dd a:hover {
    color: #5FBEF0;
  }
}

.comment {
  margin: 10px 0 40px !important;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .comment {
    margin: 7px 0 26px !important;
    font-size: 12px !important;
    text-align: left !important;
  }
}

.session {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 70px !important;
  padding: 70px 0;
  background-color: #FDF5F8;
}
.session .section_inner {
  width: calc(100% - 35px);
  max-width: 860px;
  margin: 0 auto;
}
.session h2 {
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  line-height: 42px;
}
@media screen and (max-width: 768px) {
  .session h2 {
    font-size: 24px;
    line-height: 28px;
  }
}
.session .sectionbox {
  margin-top: 18px;
}
@media screen and (max-width: 768px) {
  .session .sectionbox {
    margin-top: 24px;
  }
}
.session .sectionbox .session_box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 39px;
  padding: 30px;
  border-radius: 8px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0 15px;
    padding: 36px 15px 15px;
  }
}
.session .sectionbox .session_box:not(:first-child) {
  margin-top: 30px;
}
.session .sectionbox .session_box .data {
  width: calc(100% - 454px);
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box .data {
    width: calc(100% - 175px);
  }
}
@media screen and (max-width: 480px) {
  .session .sectionbox .session_box .data {
    width: 100%;
  }
}
.session .sectionbox .session_box .data h3 {
  height: 64px;
  font-size: 20px;
  color: #F45581;
  font-weight: 700;
  line-height: 34px;
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box .data h3 {
    height: auto;
    font-size: 19px;
    line-height: 32px;
  }
}
.session .sectionbox .session_box .data .priceBox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box .data .priceBox {
    margin-top: 16px;
  }
}
.session .sectionbox .session_box .data .priceBox small {
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box .data .priceBox small {
    font-size: 14px;
  }
}
.session .sectionbox .session_box .data .priceBox small.tl {
  font-size: 18px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-transform: translateY(5px);
      -ms-transform: translateY(5px);
          transform: translateY(5px);
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box .data .priceBox small.tl {
    font-size: 12px;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
  }
}
.session .sectionbox .session_box .data .priceBox .price {
  margin-right: 4px;
  font-family: "Roboto";
  font-size: 30px;
  font-weight: bold;
  color: #F45581;
  letter-spacing: -0.04em;
  -webkit-transform: translateY(-3px);
      -ms-transform: translateY(-3px);
          transform: translateY(-3px);
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box .data .priceBox .price {
    font-size: 42px;
    margin-right: 9px;
  }
}
.session .sectionbox .session_box .data .priceBox .num {
  position: relative;
  font-size: 14px;
  padding-left: 20px;
  margin-left: 6px;
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box .data .priceBox .num {
    font-size: 11px;
    font-weight: bold;
    padding-left: 13px;
    margin-left: 6px;
  }
}
.session .sectionbox .session_box .data .priceBox .num:before {
  display: block;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("../img/icon_slash.svg");
  width: 17px;
  height: 23px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box .data .priceBox .num:before {
    width: 11px;
    height: 15px;
  }
}
.session .sectionbox .session_box .data ul {
  margin-top: 6px;
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box .data ul {
    margin-top: 20px;
  }
}
.session .sectionbox .session_box .data ul li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  line-height: 20px;
  margin-top: 4px;
  text-align: left;
  word-break: break-all;
}
.session .sectionbox .session_box .data ul li:first-child {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box .data ul li:first-child {
    margin-top: 2px;
  }
}
.session .sectionbox .session_box .data ul li:before {
  display: block;
  font-family: "icomoon";
  font-style: normal;
  font-weight: normal;
  font-size: 15px;
  width: 1em;
  height: 1em;
  line-height: 1;
  margin-right: 4px;
  -webkit-transform: translateY(3px);
      -ms-transform: translateY(3px);
          transform: translateY(3px);
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box .data ul li:before {
    font-size: 21px;
    margin-right: 5px;
    -webkit-transform: translateY(1px);
        -ms-transform: translateY(1px);
            transform: translateY(1px);
  }
}
.session .sectionbox .session_box .data ul li.location:before {
  content: "\e904";
}
.session .sectionbox .session_box .data ul li.studio:before {
  content: "\e902";
}
.session .sectionbox .session_box .data ul li.age:before {
  content: "\e901";
}
.session .sectionbox .session_box .data ul li.date:before {
  content: "\e903";
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box .data .butotn-area {
    margin-top: 16px;
  }
}
.session .sectionbox .session_box .data .butotn-area .button {
  width: 100%;
  min-width: 0;
}
.session .sectionbox .session_box .image {
  width: 424px;
  margin: 6px 0;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .session .sectionbox .session_box .image {
    width: 160px;
  }
}
@media screen and (max-width: 480px) {
  .session .sectionbox .session_box .image {
    width: 100%;
    margin: 30px 0 0;
  }
}
.session .sectionbox .session_box .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.reportlink {
  position: relative;
  margin-top: 105px !important;
  padding: 33px 30px 30px;
  border: 1px solid #F45581;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .reportlink {
    width: calc(100% - 35px) !important;
    margin-top: 60px !important;
    padding: 40px 15px 21px;
  }
}
.reportlink::before {
  position: absolute;
  content: "";
  top: -40px;
  left: 50%;
  width: 106px;
  height: 61px;
  background-image: url("../img/studioreport/ico_report_link.png");
  background-size: cover;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 15;
}
.reportlink::after {
  position: absolute;
  content: "";
  top: -40px;
  left: 50%;
  width: 145px;
  height: 61px;
  background-color: #fff;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 5;
}
.reportlink h2 {
  font-size: 24px;
  color: #F45581;
  font-weight: 700;
  line-height: 34px;
}
.reportlink .reportcolumn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px 30px;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .reportlink .reportcolumn {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
@media screen and (max-width: 480px) {
  .reportlink .reportcolumn {
    margin-top: 7px;
  }
}
.reportlink .reportcolumn .image {
  width: 364px;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .reportlink .reportcolumn .image {
    width: 200px;
  }
}
@media screen and (max-width: 480px) {
  .reportlink .reportcolumn .image {
    width: 100%;
  }
}
.reportlink .reportcolumn .data {
  width: calc(100% - 394px);
}
@media screen and (max-width: 768px) {
  .reportlink .reportcolumn .data {
    width: calc(100% - 230px);
  }
}
@media screen and (max-width: 480px) {
  .reportlink .reportcolumn .data {
    width: 100%;
    margin-top: 16px;
  }
}
.reportlink .reportcolumn .data h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 26px;
}
@media screen and (max-width: 768px) {
  .reportlink .reportcolumn .data h3 {
    line-height: 21px;
  }
}
.reportlink .reportcolumn .data p {
  display: -webkit-box;
  margin-top: 16px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .reportlink .reportcolumn .data p {
    font-size: 14px;
    line-height: 25px;
  }
}
.reportlink .reportcolumn .data .buttonarea {
  margin-top: 33px;
}
@media screen and (max-width: 768px) {
  .reportlink .reportcolumn .data .buttonarea {
    margin-top: 26px;
  }
}
@media screen and (max-width: 480px) {
  .reportlink .reportcolumn .data .buttonarea {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.reportlink .reportcolumn .data .buttonarea a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 329px;
  padding: 6px 7px 6px 10px;
  border: 1px solid #F45581;
  border-radius: 4px;
  background-color: #fff;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .reportlink .reportcolumn .data .buttonarea a {
    width: 100%;
    padding: 11px;
  }
}
@media screen and (min-width: 769px) {
  .reportlink .reportcolumn .data .buttonarea a:hover {
    background-color: #F45581;
  }
  .reportlink .reportcolumn .data .buttonarea a:hover .ico .def {
    opacity: 0;
  }
  .reportlink .reportcolumn .data .buttonarea a:hover .ico .hov {
    opacity: 1;
  }
  .reportlink .reportcolumn .data .buttonarea a:hover .text {
    color: #fff;
  }
  .reportlink .reportcolumn .data .buttonarea a:hover svg path {
    fill: #fff;
  }
}
.reportlink .reportcolumn .data .buttonarea a .ico {
  position: relative;
}
.reportlink .reportcolumn .data .buttonarea a .ico .hov {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
.reportlink .reportcolumn .data .buttonarea a .ico img {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.reportlink .reportcolumn .data .buttonarea a .text {
  margin-left: 6px;
  color: #F45581;
  font-weight: 500;
  line-height: 24px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.reportlink .reportcolumn .data .buttonarea a svg {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.reportlink .reportcolumn .data .buttonarea a svg path {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.reportlink .reportcolumn .data .buttonarea a .arrow {
  margin-left: auto;
}

.repBanner {
  position: relative;
  width: calc(100% - 35px);
  max-width: 860px;
  margin: 0 auto;
  padding: 64px 0 70px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .repBanner {
    padding: 54px 0 60px;
  }
}
@media screen and (max-width: 768px) {
  .repBanner .section-inner {
    width: calc(100% - 35px);
    margin-left: auto;
    margin-right: auto;
    padding: 0;
  }
}
.repBanner h2 {
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  line-height: 55px;
}
@media screen and (max-width: 768px) {
  .repBanner h2 {
    font-size: 23px;
    line-height: 35px;
  }
}
.repBanner_content {
  margin-top: 27px;
}
@media screen and (max-width: 768px) {
  .repBanner_content {
    margin-top: 14px;
  }
}

.sidelink {
  position: fixed;
  top: 200px;
  left: calc(50% - 430px - 205px);
  width: 165px;
  height: 160px;
  background-image: url("../img/studioreport/bg_sidelink.png");
  background-size: cover;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
  z-index: 35;
}
.sidelink.is-show {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 1280px) {
  .sidelink {
    top: inherit;
    bottom: 4px;
    left: 50%;
    width: 342px;
    height: 82px;
    background-image: url("../img/studioreport/bg_sidelink_sp.png");
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.sidelink_content {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1280px) {
  .sidelink_content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
.sidelink_content .name {
  position: absolute;
  top: -48px;
  left: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 154px;
  height: 99px;
  padding: 18px 11px 12px;
  background-image: url("../img/studioreport/bg_sidelink_name.png");
  background-size: cover;
  font-family: "New Tegomin", serif;
  font-size: 12px;
  color: #000;
  line-height: 18px;
  -webkit-transform: translateX(-50%) rotate(-10deg);
      -ms-transform: translateX(-50%) rotate(-10deg);
          transform: translateX(-50%) rotate(-10deg);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}
@media screen and (max-width: 1280px) {
  .sidelink_content .name {
    position: static;
    background: transparent;
    width: 160px;
    height: 100%;
    padding: 16px 11px 7px 20px;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}
.sidelink_content p {
  position: relative;
  margin-top: 0 !important;
  padding: 60px 16px 0;
}
@media screen and (max-width: 1280px) {
  .sidelink_content p {
    width: calc(100% - 160px);
    padding: 20px 16px 17px 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.sidelink_content p::after {
  position: absolute;
  content: "";
  top: calc(100% + 6px);
  left: 50%;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 10px solid transparent;
  border-top: 10px solid #F45581;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.sidelink_content p span {
  display: block;
  color: #F45581;
  font-weight: 700;
  text-align: center;
  line-height: 21px;
}
@media screen and (max-width: 1280px) {
  .sidelink_content p span {
    text-align: left;
  }
}
@media screen and (max-width: 1280px) {
  .sidelink_content p .is-pc {
    display: none;
  }
}

.page-index {
  position: fixed;
  top: 300px;
  right: 0;
  z-index: 100;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  opacity: 0;
  visibility: hidden;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .page-index {
    top: 220px;
  }
}
.page-index.visible {
  opacity: 1;
  visibility: visible;
}
.page-index.opened {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}
.page-index.opened .page-index_button:after {
  left: 0;
  right: 3px;
  border: none;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

.page-index_button {
  border-radius: 8px 0 0 8px;
  background-color: #5FBEF0;
  padding: 15px 2px;
  position: relative;
  width: 40px;
  height: 151px;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: -40px;
  text-align: center;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .page-index_button {
    width: 34px;
    height: 110px;
    left: -34px;
    border-radius: 6px 0 0 6px;
    padding: 19px 0;
  }
}
.page-index_button span {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  font-size: 24px;
  font-weight: bold;
  line-height: 36px;
  color: #fff;
  position: relative;
  padding-bottom: 16px;
  letter-spacing: 0.5em;
}
@media screen and (max-width: 768px) {
  .page-index_button span {
    font-size: 16px;
    line-height: 26px;
  }
}
.page-index_button span:after {
  color: #fff;
  content: "";
  position: absolute;
  bottom: 0;
  left: 3px;
  right: 0;
  width: 20px;
  height: 18px;
  background-image: url("../img/studioreport/ico_index_btn.svg");
  background-size: cover;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .page-index_button span:after {
    font-size: 15px;
    width: 18px;
    height: 16px;
  }
}
.page-index_button:after {
  color: #fff;
  content: "";
  position: absolute;
  bottom: 15px;
  left: 4px;
  right: 0;
  width: 7px;
  height: 7px;
  border-left: 2px solid #fff;
  border-top: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  margin: auto;
}
@media screen and (max-width: 768px) {
  .page-index_button:after {
    width: 9px;
    height: 9px;
    font-size: 10px;
    bottom: 9px;
    -webkit-transform: rotate(-45deg) scale(0.5);
        -ms-transform: rotate(-45deg) scale(0.5);
            transform: rotate(-45deg) scale(0.5);
  }
}

.page-index_first {
  border: 1px solid #5FBEF0;
  background-color: #fff;
  border-radius: 0 0 0 8px;
  width: 271px;
  min-height: 220px;
  max-height: calc(100vh - 550px);
  overflow-y: auto;
  padding: 20px;
  counter-reset: custom-counter;
  list-style-type: none;
}
@media screen and (max-width: 768px) {
  .page-index_first {
    max-height: calc(100vh - 450px);
  }
}
@media screen and (max-width: 768px) {
  .page-index_first {
    width: 241px;
    padding: 17px 10px;
    border-radius: 0 0 0 6x;
    min-height: 110px;
    max-height: calc(100vh - 330px);
  }
}
.page-index_first > li {
  list-style-type: none;
  position: relative;
  margin-top: 25px;
  counter-increment: custom-counter;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.page-index_first > li a {
  display: block;
  font-size: 14px;
  font-weight: normal;
  line-height: 22px;
  color: #4d4d4d;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  letter-spacing: 0.08em;
}
.page-index_first > li a.current {
  color: #5FBEF0;
}
@media screen and (min-width: 769px) {
  .page-index_first > li a:hover {
    color: #5FBEF0;
    text-decoration: underline;
  }
}
@media screen and (max-width: 768px) {
  .page-index_first > li {
    font-size: 14px;
    line-height: 22px;
    margin-top: 10px;
  }
}
.page-index_first > li:first-child {
  margin-top: 0;
}
.page-index_first > li::before {
  content: counter(custom-counter);
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  width: 20px;
  height: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #5FBEF0;
  color: #fff;
  border-radius: 4px;
  margin-right: 8px;
  position: relative;
  top: 1px;
}
@media screen and (max-width: 768px) {
  .page-index_first > li::before {
    font-size: 11px;
    top: 1px;
  }
}
.page-index_first > li ol {
  counter-reset: my-nested-counter;
  list-style-type: none;
  width: 100%;
  margin-left: 25px;
}
.page-index_first > li ol li {
  counter-increment: my-nested-counter;
  position: relative;
  margin-top: 15px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .page-index_first > li ol li a {
    font-size: 12px;
  }
}
.page-index_first > li ol li:before {
  content: counter(custom-counter) "-" counter(my-nested-counter);
  border: 1px solid #5FBEF0;
  background-color: #fff;
  border-radius: 11px;
  color: #5FBEF0;
  padding: 3px 6px;
  font-size: 13px;
  font-weight: bold;
  margin-right: 5px;
  position: relative;
  top: 1px;
}
@media screen and (max-width: 768px) {
  .page-index_first > li ol li:before {
    font-size: 10px;
    line-height: 1;
    padding: 2px 7px 3px;
    top: 3px;
  }
}