@charset "UTF-8";
/*----------------------------------

下層共通

----------------------------------*/
.box + .box h3 {
  margin-top: 40px;
}
@media (max-width: 959px) {
  .box + .box h3 {
    margin-top: 30px;
  }
}

.review_box {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 50px;
  padding: 30px 73px;
  max-width: 900px;
  width: 100%;
  border: none;
  background: #292929;
  border-radius: 14px;
}
@media (max-width: 959px) {
  .review_box {
    padding: 16px;
    margin-top: 30px;
    max-width: 100%;
    width: calc(100% - 32px);
    display: block;
    text-align: center;
  }
}
.review_box span {
  font-size: 17px;
  color: #fff;
  font-weight: bold;
  margin-right: 34px;
  display: block;
}
@media (max-width: 959px) {
  .review_box span {
    font-size: 16px;
    margin: 0 0 12px;
  }
}
.review_box .review_block {
  width: 100%;
}
.review_box .review_block_body .review_star {
  justify-content: center;
}
.review_box .review_block_thanks {
  margin-top: 19px;
}
@media (max-width: 959px) {
  .review_box .review_block_thanks {
    margin-top: 8px;
    padding: 0 5px;
  }
}
.review_box .review_block_thanks_title {
  color: #fff;
  font-size: 16px;
  font-weight: 700px;
  text-align: center;
  line-height: 1.3125;
}
@media (max-width: 959px) {
  .review_box .review_block_thanks_title {
    font-size: 12px;
    line-height: 1.75;
    margin-bottom: 12px;
  }
}
.review_box .review_block_thanks_text {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5625;
  text-align: center;
  margin-top: 16px;
}
@media (max-width: 959px) {
  .review_box .review_block_thanks_text {
    font-size: 13px;
    line-height: 1.61538461538;
    text-align: left;
    margin-top: 16px;
  }
}
.review_box .review_block_opinion {
  max-width: 762px;
  margin: 19px auto 0;
}

@media (max-width: 959px) {
  .review_box .review_block_opinion {
    margin-top: 8px;
    padding: 0 5px;
    text-align: left;
  }
}
.review_box .review_block_opinion_title {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3125;
}
@media (max-width: 959px) {
  .review_box .review_block_opinion_title {
    font-size: 14px;
    line-height: 1.5;
  }
}
.review_box .review_block_opinion_text {
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.71428571429;
  width: 100%;
  height: 161px;
  margin-top: 10px;
  padding: 12px;
  background: transparent;
  border: 2px solid #898989;
  border-radius: 8px;
}
@media (max-width: 959px) {
  .review_box .review_block_opinion_text {
    margin-top: 8px;
    padding: 10px;
  }
}
.review_box .review_block_opinion_thanks {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3125;
  text-align: center;
  margin: 57px auto 64px;
}
@media (max-width: 959px) {
  .review_box .review_block_opinion_thanks {
    font-size: 12px;
    line-height: 1.75;
    margin-top: 28px;
    margin-bottom: 20px;
  }
}
.review_box .review_block_button {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-size: 15px;
  line-height: 1;
  font-weight: 600;
  text-align: center;
  width: 100%;
  max-width: 380px;
  height: 48px;
  margin: 0 auto;
  background: #fff;
  border: none;
  border-radius: 60px;
}
@media (max-width: 959px) {
  .review_box .review_block_button {
    max-width: 100%;
  }
}
.review_box .review_block_button-submit {
  margin-top: 30px;
}
@media (max-width: 959px) {
  .review_box .review_block_button-submit {
    margin-top: 17px;
  }
}
.review_box .review_block_button-step {
  margin-top: 20px;
}
@media (max-width: 959px) {
  .review_box .review_block_button-step {
    margin-top: 17px;
  }
}

.reviewbtn_box {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 50px;
  padding: 28px 10px 28px 0px;
  max-width: 900px;
  width: 100%;
  border: none;
  background: #292929;
  border-radius: 14px;
  transition: 0.3s;
  cursor: pointer;
}
@media (min-width: 960px) {
  .reviewbtn_box:hover {
    opacity: 0.7;
  }
}
@media (max-width: 959px) {
  .reviewbtn_box {
    padding: 16px 0px 28px;
    margin-top: 30px;
    max-width: 100%;
    width: calc(100% - 32px);
    display: block;
    text-align: center;
  }
}
.reviewbtn_box span {
  font-size: 17px;
  color: #fff;
  font-weight: bold;
  margin-right: 34px;
  display: block;
}
@media (max-width: 959px) {
  .reviewbtn_box span {
    font-size: 16px;
    margin: 0 0 12px;
  }
}
@media (max-width: 959px) {
  .reviewbtn_box ul {
     justify-content: center;
  }
}

.review_star {
  display: flex;
  gap: 12px;
}
.review_star li button {
  background: none;
  margin: 0;
  padding: 0;
  border: 0; 
}
.review_star li button::focus-visible {
  outline: none;
}

.review_star li img {
  width: 44px;
}
@media (max-width: 959px) {
  .review_star li img {
    width: 34px;
  }
}

.review_modal_heading {
  color: #fff;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 20px;
}
@media (max-width: 959px) {
  .review_modal_heading {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 12px;
  }
}
.review_modal .review_block {
  padding: 30px 73px;
  background: #292929;
  border-radius: 12px;
}
@media (max-width: 959px) {
  .review_modal .review_block {
    padding: 16px;
  }
}
.review_modal .review_block_head {
  display: flex;
  align-items: center;
  gap: 0 20px;
  padding-bottom: 26px;
  padding-left: 72px;
  border-bottom: 1px solid #555555;
}
@media (max-width: 959px) {
  .review_modal .review_block_head {
    gap: 0 8px;
    padding-left: 0;
    padding-bottom: 14px;
  }
}
.review_modal .review_block_movie {
  width: 218px;
}
@media (max-width: 959px) {
  .review_modal .review_block_movie {
    width: 145px;
  }
}
.review_modal .review_block_movie_inner {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
}
.review_modal .review_block_movie_inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.review_modal .review_block_info dt {
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.13333333333;
}
@media (max-width: 959px) {
  .review_modal .review_block_info dt {
    font-size: 14px;
    line-height: 1.42857142857;
  }
}
.review_modal .review_block_info dd {
  color: #848484;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.38461538462;
  margin-top: 12px;
}
@media (max-width: 959px) {
  .review_modal .review_block_info dd {
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
  }
}
.review_modal .review_block_body {
  padding-top: 30px;
}
@media (max-width: 959px) {
  .review_modal .review_block_body {
    padding-top: 14px;
  }
}
.review_modal .review_block_body .review_star {
   justify-content: center;
}
.review_modal .review_block_thanks {
  margin-top: 19px;
}
@media (max-width: 959px) {
  .review_modal .review_block_thanks {
    margin-top: 8px;
    padding: 0 5px;
  }
}
.review_modal .review_block_thanks_title {
  color: #fff;
  font-size: 16px;
  font-weight: 700px;
  text-align: center;
  line-height: 1.3125;
}
@media (max-width: 959px) {
  .review_modal .review_block_thanks_title {
    font-size: 12px;
    line-height: 1.75;
    margin-bottom: 12px;
  }
}
.review_modal .review_block_thanks_text {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5625;
  text-align: center;
  margin-top: 16px;
}
@media (max-width: 959px) {
  .review_modal .review_block_thanks_text {
    font-size: 13px;
    line-height: 1.61538461538;
    text-align: left;
    margin-top: 16px;
  }
}
.review_modal .review_block_opinion {
  max-width: 762px;
  margin: 19px auto 0;
}

@media (max-width: 959px) {
  .review_modal .review_block_opinion {
    margin-top: 8px;
    padding: 0 5px;
    text-align: left;
  }
}
.review_modal .review_block_opinion_title {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3125;
}
@media (max-width: 959px) {
  .review_modal .review_block_opinion_title {
    font-size: 14px;
    line-height: 1.5;
  }
}
.review_modal .review_block_opinion_text {
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.71428571429;
  width: 100%;
  height: 161px;
  margin-top: 10px;
  padding: 12px;
  background: transparent;
  border: 2px solid #898989;
  border-radius: 8px;
}
@media (max-width: 959px) {
  .review_modal .review_block_opinion_text {
    margin-top: 8px;
    padding: 10px;
  }
}
.review_modal .review_block_opinion_thanks {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3125;
  text-align: center;
  margin: 57px auto 64px;
}
@media (max-width: 959px) {
  .review_modal .review_block_opinion_thanks {
    font-size: 12px;
    line-height: 1.75;
    margin-top: 28px;
    margin-bottom: 20px;
  }
}
.review_modal .review_block_button {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-size: 15px;
  line-height: 1;
  font-weight: 600;
  text-align: center;
  width: 100%;
  max-width: 380px;
  height: 48px;
  margin: 0 auto;
  background: #fff;
  border: none;
  border-radius: 60px;
}
@media (max-width: 959px) {
  .review_modal .review_block_button {
    max-width: 100%;
  }
}
.review_modal .review_block_button-submit {
  margin-top: 30px;
}
@media (max-width: 959px) {
  .review_modal .review_block_button-submit {
    margin-top: 17px;
  }
}
.review_modal .review_block_button-step {
  margin-top: 20px;
}
@media (max-width: 959px) {
  .review_modal .review_block_button-step {
    margin-top: 17px;
  }
}
@media (max-width: 959px) {
  .review_modal .box h3 {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
  }
}
.review_modal .chapter_box .chapter_list {
  border: none;
}
.review_modal .chapter_box .chapter_list li {
  padding-left: 0;
  padding-right: 0;
}
.heading-with-credits {
	display: inline;
}
p.heading-with-credits{
	color: #fff;
}
.video_link {
  position: relative;
}
.play_button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 39px;
  pointer-events: none;
  opacity: 0.8;
}
.play_button_offset {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-75%, -60%);
  width: 39px;
  pointer-events: none;
  opacity: 0.8;
}
/*----------------------------------

特集詳細 (動画)

----------------------------------*/
.movie {
  padding-top: 20px;
  line-height: 0;
  overflow-y: hidden;
}
@media (max-width: 959px) {
  .movie {
    padding: 0;
  }
}
.movie img {
  display: block;
  height: 100%;
  margin: 0 auto;
}
@media (min-width: 960px) {
  .movie img {
    border-radius: 12px;
  }
}
.movie iframe {
  display: block;
  height: 100%;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
}
@media (min-width: 960px) {
  .movie iframe {
    border-radius: 12px;
    aspect-ratio: 16 / 9;
  }
}

@media (min-width: 960px) {
  .movie_detail_box .flex {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
  }
  .movie_detail_box .flex .left {
    width: calc(100% - 367px);
    max-width: 626px;
  }
  .movie_detail_box .flex .right {
    width: 327px;
  }
}
.movie_detail_box .title {
  margin: 0 0 10px;
  color: #fff;
  font-size: 32px;
}
@media (max-width: 959px) {
  .movie_detail_box .title {
    margin: 20px 0 6px;
    font-size: 18px;
  }
}
.movie_detail_box .tag {
  display: flex;
  gap: 7px;
}
.movie_detail_box .tag li {
  font-size: 12px;
  padding: 0 12px;
  color: #E6E6E6;
  background: #4D4D4D;
  border-radius: 8px;
}
@media (max-width: 959px) {
  .movie_detail_box .tag li {
    padding: 2px 8px;
    border-radius: 30px;
  }
}
.movie_detail_box .txt1 {
  color: #fff;
  margin-top: 40px;
}
@media (max-width: 959px) {
  .movie_detail_box .txt1 {
    font-size: 13px;
    margin-top: 18px;
    margin-bottom: 10px;
  }
}
.movie_detail_box .btn2 {
  margin: 20px 0 0;
  text-align: center;
}
@media (max-width: 959px) {
  .movie_detail_box .btn2 {
    margin-top: 11px;
  }
}
.movie_detail_box .btn2 a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 380px;
  height: 48px;
  background: #FFFFFF;
  border-radius: 60px;
  font-weight: 600;
  line-height: 18px;
  color: #000000;
  position: relative;
}
.movie_detail_box .btn2 a::after {
  content: "";
  position: absolute;
  background: url("https://dev.happinessnavi-lifecontents.jp/assets/btn_arrow2.svg") no-repeat;
  background-size: cover;
  width: 37px;
  height: 38px;
  top: 0;
  bottom: 0;
  left: 7px;
  margin: auto;
}
@media (max-width: 959px) {
  .movie_detail_box .btn2 a::after {
    width: 47px;
    height: 48px;
    left: 2px;
  }
}
@media (max-width: 959px) {
  .movie_detail_box .btn2 a {
    width: 100%;
    height: 48px;
  }
}

.cast_box .cast_title {
  font-size: 13px;
  margin-bottom: 8px;
  margin-top: 16px;
  color: #808080;
}
.cast_box .cast_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  flex-direction: column;
}
@media (max-width: 959px) {
  .cast_box .cast_list {
    gap: 16px;
  }
}
.cast_box .cast_list li {
  display: flex;
  font-size: 12px;
}
.cast_box .cast_list li img {
  width: 40px;
  height: 40px;
  margin-right: 8px;
}
.cast_box .cast_list li span {
  margin-top: 11px;
}

.chapter_box {
  margin: 80px auto;
}
@media (max-width: 959px) {
  .chapter_box {
    margin: 30px auto;
  }
}
.chapter_box .flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 10px;
}
@media (max-width: 959px) {
  .chapter_box .flex {
    display: block;
  }
}
.chapter_box .chapter_hdg {
  font-size: 24px;
  color: #fff;
}
@media (max-width: 959px) {
  .chapter_box .chapter_hdg {
    font-size: 16px;
  }
}
.chapter_box .chapter_name {
  font-size: 18px;
  color: #fff;
}
@media (max-width: 959px) {
  .chapter_box .chapter_name {
    font-size: 13px;
  }
}
.chapter_box .chapter_list.li_link li {
  padding: 0;
}
.chapter_box .chapter_list.li_link a {
  color: #C7C7C7;
  display: flex;
  align-items: center;
  flex-flow: wrap;
  width: 100%;
  padding: 16px 43px;
  transition: .3s;
}
@media (min-width: 960px) {
  .chapter_box .chapter_list.li_link a:hover {
    opacity: 1;
    background: #333333;
  }
}
@media (max-width: 959px) {
  .chapter_box .chapter_list.li_link a {
    padding: 11px 0;
  }
}
@media (min-width: 960px) {
  .chapter_box .chapter_list {
    border-top: 1px solid #333333;
  }
}
.chapter_box .chapter_list li {
  display: flex;
  align-items: center;
  flex-flow: wrap;
  padding: 16px 43px;
}
@media (min-width: 960px) {
  .chapter_box .chapter_list li {
    border-bottom: 1px solid #333333;
  }
}
@media (max-width: 959px) {
  .chapter_box .chapter_list li {
    padding: 11px 0;
  }
}
.chapter_box .chapter_list li.active {
  background: #333333;
}
@media (max-width: 959px) {
  .chapter_box .chapter_list li.active {
    width: calc(100% + 32px);
    transform: translateX(-16px);
    padding: 16px;
  }
}
.chapter_box .chapter_list li .chapter_iframe {
  width: 218px;
  margin-right: 17px;
}
.chapter_box .chapter_list li .movie_time {
  width: 218px;
  height: 124px;
  margin-right: 18px;
}
@media (max-width: 959px) {
  .chapter_box .chapter_list li .movie_time {
    width: 145px;
    height: 82px;
    margin-right: 8px;
  }
}
.chapter_box .chapter_list li .movie_time iframe {
  aspect-ratio: 16 / 9;
}
.chapter_box .chapter_list li dl {
  width: calc(100% - 236px);
}
@media (max-width: 959px) {
  .chapter_box .chapter_list li dl {
    width: calc(100% - 153px);
  }
}
.chapter_box .chapter_list li dl dt {
  display: flex;
  justify-content: space-between;
  color: #fff;
}
@media (max-width: 959px) {
  .chapter_box .chapter_list li dl dt {
    display: block;
  }
}
.chapter_box .chapter_list li dl dt .chapter_title {
  font-size: 15px;
}
@media (max-width: 959px) {
  .chapter_box .chapter_list li dl dt .chapter_title {
    font-size: 14px;
  }
}
.chapter_box .chapter_list li dl dt .chapter_time {
  font-size: 16px;
  white-space: nowrap;
}
@media (max-width: 959px) {
  .chapter_box .chapter_list li dl dt .chapter_time {
    font-size: 12px;
    margin-top: 5px;
  }
}
.chapter_box .chapter_list li dl .chapter_txt {
  font-size: 14px;
  margin-top: 10px;
}
.chapter_box .chapter_list li .chapter_txt.sp {
  font-size: 13px;
  margin-top: 10px;
}

.relation_list {
  margin-top: 20px;
  display: flex;
  gap: 20px 0;
  flex-wrap: wrap;
}
@media (max-width: 959px) {
  .relation_list {
    display: block;
  }
}
.relation_list > li {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  width: 50%;
  padding-right: 32px;
}
@media (max-width: 959px) {
  .relation_list > li {
    width: 100%;
    padding-right: 0;
  }
  .relation_list > li + li {
    margin-top: 20px;
  }
}
.relation_list > li a {
  width: 188px;
  margin-right: 20px;
}
@media (max-width: 959px) {
  .relation_list > li a {
    width: 170px;
    margin-right: 12px;
  }
}
.relation_list > li .movie_detail_box {
  width: calc(100% - 208px);
}
@media (max-width: 959px) {
  .relation_list > li .movie_detail_box {
    width: calc(100% - 187px);
  }
}
.relation_list > li .movie_detail_box .title {
  margin: 0 0 5px;
  font-size: 20px;
}
@media (max-width: 959px) {
  .relation_list > li .movie_detail_box .title {
    font-size: 14px;
  }
}
.relation_list > li .movie_detail_box .txt1 {
  color: #C7C7C7;
  margin: 0 0 20px;
  font-size: 14px;
}
@media (max-width: 959px) {
  .relation_list > li .movie_detail_box .txt1 {
    margin-bottom: 10px;
    font-size: 13px;
  }
}
@media (max-width: 959px) {
  .relation_list > li .movie_detail_box .cast_list {
    gap: 8px;
  }
}
.relation_list > li .movie_detail_box .cast_list li img {
  width: 34px;
  height: 34px;
}
@media (max-width: 959px) {
  .relation_list > li .movie_detail_box .cast_list li img {
    width: 40px;
    height: 40px;
  }
}
@media (min-width: 960px) {
  .relation_list > li .movie_detail_box .cast_list span {
    margin-top: 8px;
  }
}
.box .movie_detail_box .detail_btn {
  margin-top: 30px;
}
@media (max-width: 959px) {
  .box .movie_detail_box .detail_btn {
    margin-top: 12px;
  }
}
.box .movie_detail_box .detail_btn a {
  width: 100%;
  margin-right: 0;
}

/*----------------------------------

動画詳細

----------------------------------*/

.creditsInline {
  margin-top: 40px;
}

.movie_detail_box2 {
  margin: 30px 0 0;
}
.movie_detail_box2 .title {
  margin: 0 0 5px;
  color: #fff;
  font-size: 24px;
}
@media (max-width: 959px) {
  .movie_detail_box2 .title {
    font-size: 20px;
  }
}
.movie_detail_box2 .txt1 {
  color: #fff;
  font-size: 14px;
}
@media (max-width: 959px) {
  .movie_detail_box2 .txt1 {
    font-size: 13px;
  }
}
.movie_detail_box2 .cast_box {
  margin: 30px 0 0;
  display: flex;
  align-items: center;
}
@media (max-width: 959px) {
  .movie_detail_box2 .cast_box {
    display: block;
  }
}
.movie_detail_box2 .cast_box .cast_title {
  white-space: nowrap;
}
.movie_detail_box2 .cast_box .cast_list li img {
  width: 34px;
  height: 34px;
}
@media (max-width: 959px) {
  .movie_detail_box2 .cast_box .cast_list li img {
    width: 40px;
    height: 40px;
  }
}
@media (min-width: 960px) {
  .movie_detail_box2 .cast_box .cast_list li span {
    margin-top: 8px;
  }
}
.movie_detail_box2 .chapter {
  font-size: 14px;
  margin-top: 6px;
}
@media (max-width: 959px) {
  .movie_detail_box2 .chapter {
    font-size: 13px;
  }
}
.movie_detail_box2 .chapter span {
  color: #808080;
}
.movie_detail_box2 .btn {
  margin: 20px 0 0;
  text-align: center;
}
@media (max-width: 959px) {
  .movie_detail_box2 .btn {
    margin-top: 30px;
    margin-bottom: 60px;
  }
}
.movie_detail_box2 .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 380px;
  height: 48px;
  background: #545454;
  border-radius: 60px;
  font-weight: 600;
  line-height: 18px;
  color: #fff;
  position: relative;
}
.movie_detail_box2 .btn a::after {
  content: "";
  position: absolute;
  background: url("https://dev.happinessnavi-lifecontents.jp/assets/btn_info.svg") no-repeat;
  background-size: cover;
  width: 32px;
  height: 32px;
  top: 0;
  bottom: 0;
  left: 10px;
  margin: auto;
}
@media (max-width: 959px) {
  .movie_detail_box2 .btn a {
    width: 100%;
    height: 48px;
  }
}


/*----------------------------------

特集ページ (記事)

----------------------------------*/
.article_box {
  color: #fff;
  max-width: 740px;
  margin: 0 auto;
  padding: 60px 20px 0;
}
@media (max-width: 959px) {
  .article_box {
    padding: 40px 16px 0;
  }
}
.article_box h2 {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.3;
}
@media (max-width: 959px) {
  .article_box h2 {
    font-size: 20px;
    line-height: 1.4;
  }
}
.article_box_category {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  width: fit-content;
  height: 21px;
  margin-top: 7px;
  padding: 0px 14px;
  background: #4D4D4D;
  border-radius: 30px;
}
@media (max-width: 959px) {
  .article_box_category {
    height: 22px;
    padding: 0px 7px;
  }
}
.article_box_lead {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 20px;
}
@media (max-width: 959px) {
  .article_box_lead {
    font-size: 14px;
    line-height: 1.71428571429;
    margin-top: 18px;
  }
}
.article_box_thumbnail {
  margin-top: 33px;
}
.article_box_thumbnail img {
  border-radius: 14px;
}
@media (max-width: 959px) {
  .article_box_thumbnail {
    width: calc(100% + 32px);
    margin-top: 30px;
    margin-left: -16px;
    margin-right: -16px;
  }
}
.article_box h3 {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 50px;
  margin-bottom: 8px;
}
@media (max-width: 959px) {
  .article_box h3 {
    font-size: 18px;
    margin-top: 30px;
  }
}
.article_box_text {
  margin-top: 8px;
  margin-bottom: 28px;
}
@media (max-width: 959px) {
  .article_box_text {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 18px;
  }
}
.article_box_image {
  margin: 28px auto;
}
.article_box_image img {
  border-radius: 14px;
}
@media (max-width: 959px) {
  .article_box_image {
    margin: 18px auto 60px;
  }
}
.article_box + .reviewbtn_box, .article_box + .review_box {
  margin-top: 80px;
  margin-bottom: 140px;
}
@media (max-width: 959px) {
  .article_box + .reviewbtn_box, .article_box + .review_box {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}

/*----------------------------------

体験レッスン詳細

----------------------------------*/
.lesson_detail + .box {
  margin-bottom: 80px;
}
@media (max-width: 959px) {
  .lesson_detail + .box {
    margin-bottom: 40px;
  }
}

/*----------------------------------

ハマってみたいこと一覧 (絞り込み) A

----------------------------------*/
.addictive_box {
  margin-bottom: 60px;
  padding-top: 30px;
}
@media (max-width: 959px) {
  .addictive_box {
    margin-bottom: 22px;
    padding-top: 18px;
  }
}
.addictive_box h2 {
  text-align: center;
  margin-bottom: 30px;
}
@media (max-width: 959px) {
  .addictive_box h2 {
    margin-bottom: 18px;
  }
}
.addictive_box h2 img {
  width: 306px;
}
@media (max-width: 959px) {
  .addictive_box h2 img {
    width: 216px;
  }
}
.addictive_search {
  max-width: 700px;
  margin: 0 auto;
  padding: 28px 40px;
  background: #292929;
  border: 1px solid #000000;
  border-radius: 12px;
}
@media (max-width: 959px) {
  .addictive_search {
    padding: 18px 17.5px;
  }
}
.addictive_search h3 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 24px;
}
@media (max-width: 959px) {
  .addictive_search h3 {
    margin-bottom: 1px;
  }
}
.addictive_form {
  max-width: 536px;
  margin: 0 auto;
  /* form parts */
  /* form parts end */
}
.addictive_form dl {
  display: flex;
  align-items: center;
  gap: 0 50px;
  padding-bottom: 25px;
  border-bottom: 1px solid #414141;
}
@media (max-width: 959px) {
  .addictive_form dl {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px 0;
    padding: 0;
    border: none;
  }
}
.addictive_form dl + dl {
  margin-top: 22px;
}
@media (max-width: 959px) {
  .addictive_form dl + dl {
    margin-top: 31px;
  }
}
.addictive_form dl dt {
  width: 97px;
}
@media (max-width: 959px) {
  .addictive_form dl dt {
    width: 100%;
  }
}
.addictive_form dl dt p {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 959px) {
  .addictive_form dl dt p {
    font-size: 13px;
  }
}
.addictive_form dl dd {
  width: calc(100% - 147px);
}
@media (max-width: 959px) {
  .addictive_form dl dd {
    width: 100%;
  }
}
.addictive_form_flex {
  display: flex;
  align-items: center;
  gap: 0 20px;
}
@media (max-width: 959px) {
  .addictive_form_flex {
    margin-top: 10px;
  }
}
.addictive_form_select {
  position: relative;
  max-width: 323px;
}
@media (max-width: 959px) {
  .addictive_form_select {
    max-width: 100%;
  }
}
.addictive_form_select::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 13px;
  margin: auto;
  width: 12px;
  height: 8px;
  background-image: url(https://dev.happinessnavi-lifecontents.jp/assets/icon_arrow_bottom.svg);
  background-size: cover;
  background-repeat: no-repeat;
  pointer-events: none;
}
@media (max-width: 959px) {
  .addictive_form_select::after {
    width: 15px;
    height: 9px;
  }
}
.addictive_form_select select {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  width: 100%;
  padding: 9px 13px;
  background: #4C4C4C;
  border: 1px solid #929292;
  border-radius: 5px;
}
@media (max-width: 959px) {
  .addictive_form_select select {
    font-size: 16px;
    padding: 11px 13px;
  }
}
.addictive_form_select select:focus {
  border-color: #fff;
  outline: none;
}
.addictive_form_radio label {
  display: inline-block;
  position: relative;
}
.addictive_form_radio input {
  position: absolute;
  width: 24px;
  height: 24px;
  white-space: nowrap;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
}
.addictive_form_radio input:checked + span::after {
  display: block;
}
.addictive_form_radio input:focus + span::after {
  border: 1px solid #fff;
}
.addictive_form_radio span {
  display: block;
  position: relative;
  color: #C7C7C7;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  padding-left: 32px;
}
@media (max-width: 959px) {
  .addictive_form_radio span {
    font-size: 16px;
  }
}
.addictive_form_radio span::before, .addictive_form_radio span::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 24px;
  height: 24px;
  border-radius: 50px;
}
.addictive_form_radio span::before {
  border: 1px solid #999999;
}
.addictive_form_radio span::after {
  display: none;
  background-image: url(https://dev.happinessnavi-lifecontents.jp/assets/icon_radio_on.svg);
  background-size: cover;
  background-repeat: no-repeat;
}
.addictive_form_submit {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-size: 15px;
  line-height: 1;
  font-weight: 600;
  text-align: center;
  width: 100%;
  max-width: 510px;
  height: 48px;
  margin: 24px auto 0;
  background: #fff;
  border: transparent;
  border-radius: 60px;
}
@media (max-width: 959px) {
  .addictive_form_submit {
    margin-top: 30px;
  }
}
.addictive_form_submit:focus {
  border: 1px solid #000;
  outline: none;
}

/*----------------------------------

ダイジェストショート動画詳細

----------------------------------*/
.short_detail_container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media (max-width: 959px) {
  .short_detail_container {
    display: block;
  }
}
.short_detail_container .short_detail_box:first-child {
  position: sticky;
  top: 80px;
  flex: 1;
}
@media (max-width: 959px) {
  .short_detail_container .short_detail_box:first-child {
    position: static;
  }
}
.short_detail_container .short_detail_box:first-child .relation_list > li .movie_detail_box {
    width: 302px;
}
@media (max-width: 959px) {
  .short_detail_container .short_detail_box:first-child .relation_list > li .movie_detail_box {
    width: 100%;
  }
}
.short_detail_container .short_detail_box:last-child {
  width: 340px;
}
@media (max-width: 959px) {
  .short_detail_container .short_detail_box:last-child {
    width: 100%;
  }
}
.short_detail_container .short_detail_box:last-child .thumbnail a {
  padding: 0;
}
.short_detail_container .short_detail_box .relation_list > li {
  width: auto;
}
.short_detail_container .short_detail_box .short_list {
  margin-top: 20px;
}
@media (max-width: 959px) {
  .short_detail_container .short_detail_box .short_list + .detail_btn {
    margin-top: 30px;
  }
}
.short_detail_container .short_detail_box .short_list li {
  flex: auto;
}
.short_detail_container .short_detail_box .detail_btn {
  margin-top: 30px;
}
@media (max-width: 959px) {
  .short_detail_container .short_detail_box .detail_btn {
    margin-top: 12px;
  }
}
.short_detail_container .short_detail_box .detail_btn a {
  width: 100%;
  margin-right: 0;
}

/*----------------------------------

啓発一覧（リスク一覧）

----------------------------------*/
.enlightenment.box {
  padding-top: 118px;
}
@media (max-width: 959px) {
  .enlightenment.box {
    padding-top: 31px;
  }
}


/*----------------------------------

啓発ページ（動画）

----------------------------------*/
.enlightenment_detail.box {
  margin-bottom: 80px;
}
@media (max-width: 959px) {
  .enlightenment_detail.box {
    margin-bottom: 50px;
  }
}

/*----------------------------------

エラー

----------------------------------*/
.error_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 564px;
  padding-top: 35px;
}
@media (max-width: 959px) {
  .error_wrap {
    height: 367px;
    padding-top: 18px;
  }
}
.error_box {
  width: 100%;
}
.error_box p {
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 1.6;
}
@media (max-width: 959px) {
  .error_box p {
    font-size: 16px;
  }
}
.error_box .btn {
  margin: 38px auto 0;
  text-align: center;
}
@media (max-width: 959px) {
  .error_box .btn {
    margin-top: 24px;
  }
}
.error_box .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 380px;
  height: 48px;
  background: #FFFFFF;
  border-radius: 60px;
  font-size: 15px;
  font-weight: 600;
  line-height: 18px;
  color: #000000;
}
@media (max-width: 959px) {
  .error_box .btn a {
    width: 100%;
    height: 48px;
  }
}

/*----------------------------------

ポリシー

----------------------------------*/
.policy_wrap {
  display: flex;
  justify-content: center;
  padding-top: 135px;
}
@media (min-width: 960px) {
  .policy_wrap {
    height: auto;
  }
}
@media (max-width: 959px) {
  .policy_wrap {
    height: auto;
    padding-top: 61px;
  }
}
.policy_box {
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 960px) {
  .policy_box {
    max-width: 800px;
  }
}
.policy_box p {
  color: #fff;
  font-size: 16px;
  line-height: 1.62;
}

.policy_box p {
  color: #fff;
  font-size: 16px;
  line-height: 1.62;
}

.policy_box ol.parent_list {
  color: #fff;
  font-size: 16px;
  line-height: 1.62;
  counter-reset: parent-counter;
  width: 87%;
  margin: 0 auto;
}

.policy_box ol.parent_list li {
  list-style-type: none;
  counter-increment: parent-counter;
  position: relative;
  padding-left: 2rem;
}

.policy_box ol.parent_list li::before {
  content: counter(parent-counter) ". ";
  color: #fff;
  font-size: 16px;
  line-height: 1.62;
  position: absolute;
  left: -9px;
  top: 0;
}

.policy_box ol.child_list {
  color: #fff;
  font-size: 16px;
  line-height: 1.62;
  counter-reset: child-counter;
  margin-left: 2rem;
}

.policy_box ol.child_list li {
  list-style-type: none;
  counter-increment: child-counter;
  position: relative;
  padding-left: 20px;
  word-wrap: break-word;
}

.policy_box ol.child_list li::before {
  content: "(" counter(child-counter) ") ";
  color: #fff;
  font-size: 16px;
  line-height: 1.62;
  padding-right: 0.5rem;
}

.policy_box table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px; 
  margin-bottom: 16px; 
}

.policy_box th, td {
  padding: 8px 12px;
  border: 1px solid #ccc; 
  text-align: left;
  background-color: black;
}

.policy_box th:first-child, td:first-child {
  width: 30%;
}

.policy_box th:last-child, td:last-child {
  width: 70%;
}


@media (max-width: 959px) {
  .policy_box p {
    width: 87%;
    margin: 0 auto;
  }
}
.policy_box .btn {
  margin: 50px auto 0;
  text-align: center;
}
@media (max-width: 959px) {
  .policy_box .btn {
    margin-top: 24px;
  }
}
.policy_box .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 380px;
  height: 48px;
  background: #FFFFFF;
  border-radius: 60px;
  font-size: 15px;
  font-weight: 600;
  line-height: 18px;
  color: #000000;
}
@media (max-width: 959px) {
  .policy_box .btn a {
    width: 100%;
    height: 48px;
  }
}

img.thumbnail {
  border-radius: 6px;
  aspect-ratio: 16 / 9;
}