/* SVG */
.svg-defs {
  display: none;
}
.svg__icon_btn {
  display: block;
  color: #fff;
  width: min(3.73vw, 20px);
  height: min(3.73vw, 20px);
}
.svg__icon_btn.svg__icon_btn__large {
  width: min(4.53vw, 22px);
  height: min(4.53vw, 22px);
}
.svg__content_intro_icon {
  color: #dd2523;
  height: 42px;
  flex-shrink: 0;
}
.svg__content_intro_icon.__intro_icon_01 {
  width: 56px;
}
.svg__content_intro_icon.__intro_icon_02 {
  width: 35px;
}
.svg__content_intro_icon.__intro_icon_03 {
  width: 45px;
}
.media-promise__btn .svg__icon_home {
  color: #fff;
  width: 16px;
  height: 16px;
}

/* common */
.media-promise-main {
  font-family: var(--font-family-base);
}
.media-promise__inner {
  width: min(100%, 990px);
  margin: 0 auto;
  padding: 0 1em;
}

/* cv_a */
.c-header {
  z-index: 9999;
}
.media-promise__cv-a {
  display: none;
  justify-content: flex-end;
  align-items: center;
  position: fixed;
  top: 50%;
  right: 0;
  width: min(14.5%, 145px);
  height: min(41.5vw, 415px);
  transform: translateY(-50%);
  z-index: 100;
}
.media-promise__cv-a_btn {
  display: block;
  width: 100%;
  max-width: calc(34.94vh - 104.82px);
  max-height: calc(100vh - 300px);
  transition: .2s filter ease-out;
}
.media-promise__cv-a_btn:hover {
  filter: contrast(1.3);
}
.media-promise__cv-a_btn img {
  width: 100%;
  height: auto;
  max-height: 100%;
}

/* main */
.media-promise-main a:hover {
  text-decoration: none;
}
.media-promise-body {
  position: relative;
  background-color: #dd2523;
  font-size: max(3.03vw, 14px);
  font-weight: 600;
  letter-spacing: 0.05em;
}
.media-promise-body p {
  font-size: max(3.03vw, 14px);
  text-align: center;
  line-height: 1.75em;
}
.media-promise__title {
  padding: min(6.06vw, 60px) 0 0;
}
.media-promise__title_h1 {
  width: min(88%, 620px);
  margin: 0 auto;
}
.media-promise__title_h1 img {
  display: block;
  width: 100%;
  height: auto;
}
.media-promise__content {
  padding-bottom: 40px;
}
.media-promise__content_section_box {
  padding: 1em 0 3em;
  background-color: #fff;
  border-radius: 15px;
  box-shadow: .4em .4em 1em rgba(0,0,0,.2);
}
.media-promise__content_h2 img {
  display: block;
  width: 100%;
  height: auto;
}
.media-promise__content_container {
  padding: 0 1em;
}
.media-promise__content_intro {
  margin-top: 1.2em;
}
.media-promise__content_intro_icon {
  display: flex;
  justify-content: center;
}
.media-promise__content_intro_text {
  margin-top: 1em;
}
.media-promise__content_intro_text > span {
  display: inline-block;
  background: linear-gradient(transparent 0 56%, #ffff00 56% 78%, transparent 78% 100%);
}
.media-promise__content_intro_line {
  margin: 1.5em 0 2.3em;
}
.media-promise__content_intro_line hr {
  border-top: 1.5px solid var(--color-black);
  position: relative;
}
.media-promise__content_intro_line hr:before,
.media-promise__content_intro_line hr:after {
  position: absolute;
  width: 18px;
  height: 15px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  left: 50%;
  transform: translateX(-50%);
}
.media-promise__content_intro_line hr:before {
  bottom: -15px;
  background-color: var(--color-black);
}
.media-promise__content_intro_line hr:after {
  bottom: -13px;
  background-color: #fff;
}
.media-promise__content_body p {
  font-size: max(2.22vw, 12px);
  letter-spacing: 0.005em;
}
.media-promise__content_visual {
  margin-top: -2em;
}
.media-promise__content_visual.__visual_01 .media-promise__content_visual_inner {
  margin-right: auto;
  padding-left: 2em;
  width: min(75%, 527px);
}
.media-promise__content_visual.__visual_02 .media-promise__content_visual_inner {
  margin-left: auto;
  padding-right: 2em;
  width: min(70%, 487px);
}
.media-promise__content_visual_inner img {
  display: block;
  width: 100%;
  height: auto;
}
.media-promise__btn_section {
  margin-top: 40px;
}
.media-promise__btn_section .media-promise__btn + .media-promise__btn {
  margin-top: 20px;
}
.media-promise .m-stack {
  margin-top: 2em;
}

@media screen and (min-width: 768px) {
  /* svg */
  .svg__icon_btn {
    display: block;
    color: #fff;
    width: min(3.54vw, 35px);
    height: min(3.54vw, 35px);
  }
  .svg__icon_btn.svg__icon_btn__large {
    width: min(4.04vw, 40px);
    height: min(4.04vw, 40px);
  }
  .svg__content_intro_icon {
    height: 82px;
  }
  .svg__content_intro_icon.__intro_icon_01 {
    width: 107px;
  }
  .svg__content_intro_icon.__intro_icon_02 {
    width: 68px;
  }
  .svg__content_intro_icon.__intro_icon_03 {
    width: 88px;
  }
  .media-promise__btn .svg__icon_home {
    width: 32px;
    height: 32px;
  }
  /* cv_a */
  .media-promise__cv-a {
    display: flex;
  }
  /* PC */
  br.__sp_only {
    display: none;
  }
  .media-promise__inner  {
    padding: 0 min(2.02vw ,20px);
  }
  .media-promise__content {
    padding-bottom: 100px;
  }
  .media-promise-body {
    font-size: 26px;
  }
  .media-promise-body p {
    font-size: 26px;
  }
  .media-promise__content_container {
    padding: 0 min(8.59vw, 85px);
  }
  .media-promise__content_section_box {
    border-radius: 20px;
  }
  .media-promise__content_intro_line hr {
    border-top: min(0.202vw, 2px) solid var(--color-black);
  }
  .media-promise__content_intro_line hr:before,
  .media-promise__content_intro_line hr:after {
    position: absolute;
    width: 33px;
    height: 28px;
  }
  .media-promise__content_intro_line hr:before {
    bottom: -27px;
  }
  .media-promise__content_intro_line hr:after {
    bottom: -23.5px;
  }
  .media-promise__content_body p {
    font-size: 16px;
  }
  .media-promise__content_visual {
    margin-top: max(-88px, -8.89vw);
  }
  .media-promise__btn_section {
    margin-top: 100px;
  }
  .media-promise__btn_section .media-promise__btn + .media-promise__btn {
    margin-top: 45px;
  }
}



/* 保険は選べる */
:root {
  --color-yellow: #ffe424;
}

.media-promise__btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 0 36px;
  height: 3em;
  font-size: 15px;
  border-radius: 1.5em;
  transition: .2s ease-out box-shadow, .2s ease-out transform;
}
.media-promise-body .media-promise__btn p,
.media-promise-body .media-promise__campaign_area .media-promise__btn p {
  font-size: inherit;
  line-height: 1;
  margin-bottom: 0;
  color: #fff;
  font-weight: bold;
}
.media-promise__btn.__gold {
  width: min(100%, 450px);
  background: linear-gradient(to right, #d59b00, #af7215);
  box-shadow: 0 4px 0 #6b4c00;
}
.media-promise__btn:hover {
  box-shadow: 0 0 0 transparent;
  transform: translateY(4px);
}
.media-promise__btn__icon_left {
  display: flex;
  align-items: center;
  position: absolute;
  top: 50%;
  left: .8em;
  transform: translateY(-50%);
}
.media-promise__btn .svg__icon_btn {
  position: absolute;
  top: 50%;
  right: .8em;
  transform: translateY(-50%);
  transition: .2s ease-out transform;
}
.media-promise__btn:hover .svg__icon_btn {
  transform: translateY(-50%) scale(1.1);
}

.__inlineblock {
  display: inline-block;
}

.media-promise__campaign_area {
  font-size: 14px;
  color: #fff;
}
.media-promise-body .media-promise__campaign_area p {
  font-size: 14px;
}
.media-promise__campaign_area__news_bar {
  background-color: var(--color-yellow);
  color: var(--color-black);
}
.media-promise__campaign_area__news_bar p {
  text-align: left;
}
.media-promise__campaign_area__news_bar__inner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 10px 1em;
  width: min(100%, 990px);
  margin: 0 auto;
}
.media-promise__campaign_area__news_bar__icon {
  color: rgba(48,53,58,.5);
  margin-right: 1em;
}
.media-promise__campaign_area__body {
  padding: 40px 0;
  line-height: 2em;
}
.media-promise__campaign_area__body__inner {
  margin: 0 auto;
  padding: 0 1em;
  width: min(100%, 840px);
}
.media-promise__campaign_area__textlink {
  text-align: center;
  margin: 40px 0 20px;
}
.media-promise__campaign_area__textlink a {
  color: #fff;
  transition: .2s opacity ease-out;
}
.media-promise__campaign_area__textlink .svg__icon_btn {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: .5em;
  margin-bottom: 0.5em;
  transition: .2s transform ease-out;
}
.media-promise__campaign_area__textlink .p-icon--blank {
  margin-left: 0.5em;
  color: #fff;
}
.p-icon--blank:before {
  content: var(--icon-blank);
}
.media-promise__campaign_area__imglink {
  width: 100%;
  padding-bottom: 30px;
  background: linear-gradient(to bottom, transparent 40%, #c91717 100%);
}
.media-promise__campaign_area__imglink a {
  transition: .2s opacity ease-out;
}
.media-promise__campaign_area__imglink img {
  width: 100%;
  height: auto;
  box-shadow: 6px 6px 14px rgba(0,0,0,.2);
}
.media-promise__campaign_area__body__bottom {
  background-color: #c91717;
  padding: 30px 0 60px;
}
.media-promise__campaign_area .media-promise__btn {
  margin-top: 40px;
}
.media-promise__btn .svg__promise_icon_search {
  color: #fff;
  width: 16px;
  height: 16px;
}

/* PC */
@media screen and (min-width: 768px) {
  .media-promise__btn {
    font-size: 24px;
  }
  .media-promise__btn.__gold {
    box-shadow: 0 5px 0 #6b4c00;
  }
  .media-promise__btn:hover {
    box-shadow: 0 0 0 transparent;
    transform: translateY(5px);
  }

  .media-promise__campaign_area {
    font-size: 16px;
  }
  .media-promise-body .media-promise__campaign_area p {
    font-size: 16px;
  }
  .media-promise__campaign_area__news_bar__inner {
    padding: 10px 20px;
  }
  .media-promise__campaign_area__body {
    padding: 80px 0;
  }
  .media-promise__campaign_area__textlink {
    margin: 60px 0 30px;
  }
  .media-promise__campaign_area__imglink {
    padding-bottom: 60px;
  }
  .media-promise__campaign_area__imglink img {
  box-shadow: 12px 12px 32px rgba(0,0,0,.2);
  }
  .media-promise__campaign_area__body__bottom {
    padding: 40px 0 100px;
  }
  .media-promise__btn .svg__promise_icon_search {
    width: 32px;
    height: 32px;
  }
  .media-promise__campaign_area__textlink a:hover {
    opacity: .6;
  }
  .media-promise__campaign_area__textlink a:hover .svg__icon_btn {
    transform: translateX(-.25em);
  }
  .media-promise__campaign_area__imglink a:hover {
    opacity: .6;
  }
  .media-promise__btn_section {
    margin-top: 100px;
  }
  .media-promise__btn_section .media-promise__btn + .media-promise__btn {
    margin-top: 45px;
  }
}

/* タレントなし用 */
.media-promise__title_h1--notalent {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin: 0 auto 1em;
  width: min(88.7%, 570px);
  height: auto;
}
.media-promise__title_h1--notalent::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: center bottom / contain no-repeat url(/media/components/index/introduction/img/deco__introduction__promise_title_line.svg);
}
.media-promise__title_h1--notalent > img {
  display: block;
  width: 83.7%;
  height: auto;
}
.media-promise__content_visual {
	margin-top: 40px;
}
.media-promise__cv-a_btn--notalent {
	max-width: calc(33vh - 129px);
}
@media screen and (min-width: 768px) {
  .media-promise__content_visual {
    margin-top: 100px;
  }
}