/*

	viewport settings

**************************************************/
/*

	font setting

**************************************************/
/*

	clearfix settings

**************************************************/
/*

	boxsizing settings

**************************************************/
/*

	opacity settings

**************************************************/
/*

	border-radius settings

**************************************************/
/*

	drop shadow settings

**************************************************/
/*

	vertical align setting

**************************************************/
/*

	flexbox layout setting

**************************************************/
/*

	hover transition

**************************************************/
.mt0 {
  margin-top: 0 !important; }

.mt10 {
  margin-top: 10px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt50 {
  margin-top: 50px !important; }

.mt60 {
  margin-top: 60px !important; }

@media (max-width: 768px) {
  .sp-mt0 {
    margin-top: 0 !important; } }

@media (max-width: 768px) {
  .sp-mt10 {
    margin-top: 10px !important; } }

@media (max-width: 768px) {
  .sp-mt20 {
    margin-top: 20px !important; } }

@media (max-width: 768px) {
  .sp-mt30 {
    margin-top: 30px !important; } }

@media (max-width: 768px) {
  .sp-mt40 {
    margin-top: 40px !important; } }

@media (max-width: 768px) {
  .sp-mt50 {
    margin-top: 50px !important; } }

@media (max-width: 768px) {
  .sp-mt60 {
    margin-top: 60px !important; } }

.mt_xxl {
  margin-top: 80px !important; }
  @media (max-width: 768px) {
    .mt_xxl {
      margin-top: 40px !important; } }

.mt_xl {
  margin-top: 64px !important; }
  @media (max-width: 768px) {
    .mt_xl {
      margin-top: 32px !important; } }

.mt_x {
  margin-top: 40px !important; }
  @media (max-width: 768px) {
    .mt_x {
      margin-top: 24px !important; } }

.mt_l {
  margin-top: 32px !important; }
  @media (max-width: 768px) {
    .mt_l {
      margin-top: 16px !important; } }

.mt_m {
  margin-top: 24px !important; }
  @media (max-width: 768px) {
    .mt_m {
      margin-top: 8px !important; } }

.mt_s {
  margin-top: 16px !important; }
  @media (max-width: 768px) {
    .mt_s {
      margin-top: 8px !important; } }

.mt_xs {
  margin-top: 8px !important; }
  @media (max-width: 768px) {
    .mt_xs {
      margin-top: 8px !important; } }

.mb_xxl {
  margin-bottom: 80px !important; }
  @media (max-width: 768px) {
    .mb_xxl {
      margin-bottom: 40px !important; } }

.mb_xl {
  margin-bottom: 64px !important; }
  @media (max-width: 768px) {
    .mb_xl {
      margin-bottom: 32px !important; } }

.mb_x {
  margin-bottom: 40px !important; }
  @media (max-width: 768px) {
    .mb_x {
      margin-bottom: 24px !important; } }

.mb_l {
  margin-bottom: 32px !important; }
  @media (max-width: 768px) {
    .mb_l {
      margin-bottom: 16px !important; } }

.mb_m {
  margin-bottom: 24px !important; }
  @media (max-width: 768px) {
    .mb_m {
      margin-bottom: 8px !important; } }

.mb_s {
  margin-bottom: 16px !important; }
  @media (max-width: 768px) {
    .mb_s {
      margin-bottom: 8px !important; } }

.mb_xs {
  margin-bottom: 8px !important; }
  @media (max-width: 768px) {
    .mb_xs {
      margin-bottom: 8px !important; } }

.only--pc {
  display: block !important; }
  @media (max-width: 768px) {
    .only--pc {
      display: none !important; } }

.only--sp {
  display: none !important; }
  @media (max-width: 768px) {
    .only--sp {
      display: block !important; } }

.forall .top_ttl {
  max-width: 620px;
  padding: 64px 16px 48px;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .forall .top_ttl {
      max-width: 400px;
      width: 90%;
      padding: 32px 0 24px; } }
.forall .txt-lead {
  width: 800px;
  margin: 0 auto;
  text-align: left; }
  @media only screen and (max-width: 768px) {
    .forall .txt-lead {
      width: 100%; } }
.forall .special {
  background-image: linear-gradient(0deg, #fff9e1, white); }
  .forall .special h3.sans {
    font-size: 32px;
    color: #CF1518;
    margin-bottom: 10px; }
  .forall .special h3.serif {
    font-size: 40px;
    letter-spacing: 8px;
    margin-bottom: 40px; }
    @media only screen and (max-width: 768px) {
      .forall .special h3.serif {
        font-size: 25px;
        margin-bottom: 16px; } }
  .forall .special p {
    margin-bottom: 1em; }
  @media (min-width: 768px) and (max-width: 1200px) {
    .forall .special {
      min-width: 1200px; } }
  @media only screen and (max-width: 768px) {
    .forall .special {
      padding: 0 15px; } }
.forall .long {
  position: relative; }
  .forall .long::before {
    content: "";
    background: url(../img/img_illust02.svg) 0 0 no-repeat;
    background-size: contain;
    width: 243px;
    height: 240px;
    position: absolute;
    top: 80px;
    left: 0; }
  @media only screen and (max-width: 768px) {
    .forall .long {
      padding-top: 64px; }
      .forall .long::before {
        width: 20.2666666667vw;
        height: 20vw;
        top: 5.3333333333vw;
        left: -1.3333333333vw; } }
.forall .sidou {
  position: relative; }
  .forall .sidou::before {
    content: "";
    background: url(../img/img_illust01.svg) 0 0 no-repeat;
    background-size: contain;
    width: 279px;
    height: 239px;
    position: absolute;
    top: -0px;
    right: -20px; }
  @media only screen and (max-width: 768px) {
    .forall .sidou {
      padding-top: 64px; }
      .forall .sidou::before {
        width: 25.6vw;
        height: 21.8666666667vw;
        top: -4vw;
        right: -4vw; } }
.forall .podcast {
  max-width: 800px;
  margin: 0 auto;
  position: relative; }
  .forall .podcast::before {
    content: "";
    background: url(../img/img_illust05.svg) 0 0 no-repeat;
    background-size: contain;
    width: 275px;
    height: 277px;
    position: absolute;
    top: -40px;
    left: -200px; }
  .forall .podcast::after {
    content: "";
    background: url(../img/img_illust04.svg) 0 0 no-repeat;
    background-size: contain;
    width: 328px;
    height: 222px;
    position: absolute;
    bottom: -10px;
    right: -200px; }
  .forall .podcast-img {
    margin-top: 40px; }
    .forall .podcast-img a img {
      display: block;
      margin: 0 auto; }
  .forall .podcast-btn {
    width: 380px;
    margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .forall .podcast-img {
      margin-top: 16px; }
    .forall .podcast-btn {
      width: 100%; }
      .forall .podcast-btn a {
        margin-top: 0; }
    .forall .podcast::before {
      width: 24.8vw;
      height: 25.0666666667vw;
      top: -10.6666666667vw;
      left: -9.3333333333vw; }
    .forall .podcast::after {
      width: 30.6666666667vw;
      height: 20.8vw;
      bottom: -13.3333333333vw;
      right: -5.3333333333vw; } }
.forall .interview {
  padding-bottom: 200px;
  position: relative; }
  .forall .interview::after {
    content: "";
    background: url(../img/img_illust03.svg) 0 0 no-repeat;
    background-size: contain;
    width: 291px;
    height: 220px;
    position: absolute;
    bottom: -0px;
    left: -20px; }
  @media only screen and (max-width: 768px) {
    .forall .interview {
      padding: 13.3333333333vw 0 22.6666666667vw; }
      .forall .interview::after {
        width: 26.4vw;
        height: 20vw;
        bottom: 0;
        left: -2.6666666667vw; } }
.forall #page_title {
  background-image: linear-gradient(0deg, white, #fff9e1); }
  @media only screen and (max-width: 1230px) {
    .forall #page_title {
      padding: 0 15px; } }
.forall .link-none {
  pointer-events: none; }
