@charset "utf-8";

/* =========================================================
   01. Design tokens
========================================================= */
:root {
  --nmh_page_w: 1440px;
  --nmh_content_w: 736px;
  --nmh_text: #333;
  --nmh_muted: #666;
  --nmh_bg: #fcfcfc;
  --nmh_base2: #F7F6F1;
  --nmh_teal: #1f6f78;
  --nmh_teal_dark: #15545b;
  --nmh_blue: #5EB9C8;
  --nmh_orange: #F84920;
  --nmh_orange_2: #F57456;
  --nmh_green: #1aa64a;
  --nmh_gold: #b38b2a;
  --nmh_radius: 16px;
}

/* =========================================================
   02. Base / layout
========================================================= */
* {
  box-sizing: border-box;
}

h2 {
  font-size: 32px;
}

.nmh_body{
  margin: 0;
  color: var(--nmh_text);
  font-family: 'Zen Maru Gothic', sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 1.7;
  background: #fcfcfc;
}


.nmh_wrapper {
  width: 100%;
  margin: 0 auto;
  background: var(--nmh_bg);
  text-align: center;
}

.nmh_inner {
  width: 100%;
  max-width: var(--nmh_content_w);
  margin: 0 auto;
  padding: 60px 20px;
}

/* =========================================================
   03. Responsive visibility helpers
========================================================= */
.nmh_sp_item {
  display: none;
}

.nmh-flex.nmh_pc_item {
  display: flex;
}

.nmh-flex.nmh_sp_item {
  display: none;
}

@media (max-width: 768px) {
  .nmh_pc_item {
    display: none;
  }

  .nmh_sp_item {
    display: block;
  }

  .nmh-flex.nmh_pc_item {
    display: none;
  }

  .nmh-flex.nmh_sp_item {
    display: flex;
  }
}

/* =========================================================
   04. Utilities
========================================================= */
/* Legacy project width helpers (values preserved for visual compatibility) */
.nmh-u-w10 {
  width: 10%;
}

.nmh-u-w20 {
  width: 20%;
}

.nmh-u-w30 {
  width: 30%;
}

.nmh-u-w40 {
  width: 40%;
}

.nmh-u-w50 {
  width: 50%;
}

.nmh-u-w60 {
  width: 60%;
}

.nmh-u-w70 {
  width: 70%;
}

.nmh-u-w80 {
  width: 90%;
}

.nmh-u-w90 {
  width: 90%;
}

.nmh-u-mt20 {
  margin-top: 20px;
}

.nmh_txt_orange {
  color: var(--nmh_orange);
}

.nmh_font_size30 {
  font-size: 30px;
}

.nmh_txt_shadow_w {
  text-shadow:
    0 0 10px #ffffff,
    0 0 10px #ffffff,
    0 0 10px #ffffff,
    0 0 10px #ffffff,
    0 0 10px #ffffff;
}

.under_line_yellow {
  text-decoration-color: #F4E025;
  text-decoration-line: underline;
  text-decoration-thickness: 10px;
  text-underline-offset: -3px;
}

/* =========================================================
   05. Components
========================================================= */
.nmh_btn {
  cursor: pointer;
  transition: opacity 0.3s;
}

.nmh_btn:hover {
  opacity: 0.6;
}

.nmh_btn_primary img {
  width: 50%;
}

.nmh_tit_sec {
  margin: 0 0 28px;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
}

.nmh_tit_main {
  display: inline-block;
  margin-top: 5px;
  letter-spacing: .01em;
  font-weight: 700;
}

.nmh_txt_font20_bold {
  font-size: 23px;
  font-weight: 700;
  line-height: 1.3;
}

.nmh_tit_left {
  text-align: left;
}

.nmh_txt_left {
  text-align: left;
}

.nmh_img_wide {
  height: 240px;
}

.nmh_img_square {
  width: 120px;
  height: 120px;
  border-radius: 12px;
}

.nmh_img_ph {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 200px;
  aspect-ratio: 16 / 9;
  background: #eee;
  border: 1px dashed #ccc;
  outline: 2px dashed rgba(0, 0, 0, .12);
  border-radius: 10px;
}

.nmh_list_check {
  padding: 0;
  list-style: none;
}

.nmh_list_check li {
  position: relative;
  margin-bottom: 15px;
  padding-left: 35px;
  font-size: 20px;
  font-weight: 700;
}

.nmh_list_check li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--nmh_teal);
  font-weight: 700;
}

/* =========================================================
  Sections
========================================================= */

/* ーーーーーーーーーーーーー 
  MV
ーーーーーーーーーーーーー */
.nmh_mv {
  background: #F7F6F1;
  width: 100%;
  padding-bottom: 30px;
}

.nmh_p_head{
  background: #333;
  width: 100%;
}

.nmh_p_head_1{
  padding: 10px;
}

.nmh_p_head_1 img{
  width: 80%;
  max-width: 880px;
}

.nmh_p_head_2{
  margin-bottom: 10px;
}

.nmh_p_head_2 img{
  width: 80%;
  max-width: 600px;
}


.nmh_mv_bg {
  background: url(../images/mv_bg_pc.webp) center / cover no-repeat;
  padding: 5px 40px 130px;
  overflow: hidden;
  border-bottom-left-radius: 1000px 300px;
  border-bottom-right-radius: 1000px 300px;
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 100px;
  padding-right: 100px;
  min-height: auto; 
}

.nmh_mv_container{
  width: 100%;
  height: auto;
}

.nmh_mv_tit img{
  width: 100%;
  max-width: 800px;
  height: auto;
}

.nmh_mv_txt{
  position: relative;
  width: 100%;
  max-width: 880px;
  margin: -200px auto 0;
}

.nmh_mv_txt img {
  width: 100%;
  height: auto;
}

/* ーーーーーーーーーーーーー 
  present
ーーーーーーーーーーーーー */
.nmh_mv_present {
  width: 100%;
  background: #F7F6F1;
}

.nmh_mv_present .nmh_inner{
  padding-top: 0;
}

.nmh_mv_present_container{
  background: #fcfcfc;
  border: 2px solid rgba(179,139,42,.55);
  padding: 12px 75px 29px;
  margin: 10px 0;
  position: relative;
}

.nmh_mv_present_tit img{
  position: absolute;
  top:-20px;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.nmh_cta_mirocopy_polygon {
  color: #8E5E0E;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 23px;
  gap: 10px;
  margin-bottom: 20px;
  line-height: 1.5;
}

.nmh_cta_mirocopy_polygon::before,.nmh_cta_mirocopy_polygon::after {
  content: "";
  background: #8E5E0E;
  height: 22px;
  width: 3px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.nmh_cta_mirocopy_polygon::before {
  transform: rotate(-20deg);
}

.nmh_cta_mirocopy_polygon::after {
  transform: rotate(20deg);
}

.nmh_mv_present_tit {
  text-align: center;
  font-weight: 700;
  margin: 0 0 16px;
}

.nmh_mv_present_body {
  max-width: 590px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 16px;
  align-items: start;
  justify-items: center;
  position: relative;
}

.nmh_mv_present_txt{
  text-align: left;
}

.nmh_mv_present_txt .nmh_pc_item{
  display: block;
}

.nmh_mv_present_txt .nmh_sp_item{
  display: none;
}

.nmh_mv_present_img{
  position: absolute;
  top: 10%;
  left: 63%;
}

.nmh_mv_present_img img{
  width: 200px;
}

.nmh_mv_present_body img{
  display: block;
}

.nmh_mv_present_lead {
  display: inline-block;
  font-weight: 500;
  color: var(--nmh_bg);
  background-color: var(--nmh_orange_2);
  padding: 0 4px;
  margin: 0;
  font-size: 22px;
}

.nmh_mv_present_list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-weight: 700;
}

.nmh_mv_present_list img{
  display: inline-block;
}

.nmh_mv_present_list li{
  display: flex;
  flex-wrap:wrap;
  align-items:center;
  gap: 1px;
}

.nmh_mv_present_list li img{
  width: 50px; 
  height: auto;
}


.nmh_mv_present_list li.nmh_present_item > img{
  grid-column: 1;
  grid-row: 1 / 3;
}
.nmh_mv_present_list li.nmh_present_item > .nmh_mv_present_tag{
  grid-column: 2;
  grid-row: 1;
  margin-right: 0;
}
.nmh_mv_present_list li.nmh_present_item > .nmh_present_line{
  grid-column: 2;
  grid-row: 2;
  justify-self: start;
  margin-top: 2px;
  display: inline-block;
  width: 30px;
  height: 8px;
  background: var(--nmh_bg);
  border-bottom: 2px solid var(--nmh_gold);
  border-right: 2px solid var(--nmh_gold);
  transform: skew(45deg);
}

.nmh_mv_present_tag {
  display: inline-block;
  color: #8E5E0E;
  padding: 2px 10px;
  margin-right: 8px;
  font-size: 24px;
}

.nmh_mv_cta {
  text-align: center;
  margin-top: 30px;
}

/* ーーーーーーーーーーーーー 
  sec01
ーーーーーーーーーーーーー */
.nmh_sec01 {
  background: var(--nmh_bg);
  width: 100%;
}

.nmh_sec01_eyebrow {
  display: inline-block;
  padding: 0 7px;
  background: var(--nmh_teal);
  color: #fcfcfc;
  letter-spacing: .04em;
  line-height: 1.5em;
  white-space: nowrap;
}

.nmh_sec01_tit_item{
  font-size: 40px;
  font-weight: 700;
  color: var(--nmh_teal);
  width: 100px;
}

.nmh_sec01_media {
  margin: 10px auto;
}

.nmh_sec01_media img{
  width: 20px;
  margin-bottom: 10px;
}

.nmh_sec01_bg{
  background: url(../images/sec01_bg_img1.webp) no-repeat bottom / 100%;
  height: 180px;
}

.nmh_sec01_bg p{
  font-size: 20px;
}

.nmh_sec01_bg02{
  background: url(../images/sec01_bg_img2.webp) no-repeat top / 100%;
}


.nmh_sec01_bg02 figure img{
  margin: 0 auto;
}

.nmh_sec01_bg03 .nmh-u-w60{
  margin-top: -40px;
}

.nmh-flex{
  display: flex;
  justify-content: center;
}

.nmh_sec01 .nmh-flex img{
  width: 40%;
}

.nmh_sec01 .nmh-flex__item{
  margin: 20px;
}

.nmh_sec01 .nmh-flex__item:last-child{
  transform: translateY(40px);
}
/* ーーーーーーーーーーーーー 
  sec02
ーーーーーーーーーーーーー */
.nmh_sec02 {
  background: var(--nmh_teal);
  color: #fcfcfc;
  padding: 10px 0 25px;
  width: 100%;
  text-align: center;
}

.nmh_sec02 h2{
  font-size: 28px;
}

.nmh_sec02_txt{
  line-height: 1.4;
  margin-top: -16px;
}

.nmh_sec02 .nmh_inner{
  width: 900px;
  padding: 15px 0px;
  line-height: 1.1;
}

.nmh_sec02 .nmh-flex{
  align-items: center;
}

.nmh_sec02 .nmh-flex__item:first-child{
  transform: translateY(-15px);
  margin-right: 10px;
}

.nmh_sec02_accent {
  color: #F4E025;
}

/* ーーーーーーーーーーーーー 
  sec03
ーーーーーーーーーーーーー */
.nmh_sec03 {
  padding: 0px 0;
  background: #E6E4D8;
  width: 100%;
}

.nmh_sec03 .nmh_inner{
  padding-top: 10px;
}

.nmh_sec03 h2.nmh-flex img{
  width: 232px; 
}

.nmh_sec03 .nmh-flex{
  justify-content: space-between;
}

.nmh_sec03 .nmh_tit_sec{
  margin-bottom: 0px;
  font-weight: 700;
}

.nmh_sec03 .nmh_tit_main{
  font-size: 32px;
}

.nmh_sec03 .nmh_txt_left{
  font-size: 20px;
}

.nmh_sec03_box {
  background: var(--nmh_bg);
  box-shadow: 0px  0px 4px 4px #c3c2c2;
  padding: 15px 20px;
  margin: 5px;
}

.nmh_sec03 li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: url(../images/check_icon_nega.webp) no-repeat center center;
    background-size: contain;
}

.nmh_sec03 .nmh_sec03_box.nmh-flex{
  justify-content: space-between;
  align-items: flex-end;
}

.nmh_sec03 .nmh_sec03_box .nmh-flex__item img{
  width: 157px; 
  transform: translateY(15px);
}

.nmh_sec03 .nmh_sec03_img .nmh-u-w10{
    width: 70px;
    margin-bottom: 15px;
}

.nmh_sec03 .nmh_sec03_img .nmh-flex{
    justify-content: center;
    align-items: center;
}

.nmh_sec03 .nmh_sec03_img .nmh-flex .nmh-flex__item:first-child{
  transform: translateX(50px);
  z-index: 2;
}

.nmh_sec03 .nmh_sec03_img .nmh-flex .nmh-flex__item:last-child{
  transform: translateX(-40px);
}

/* ーーーーーーーーーーーーー 
  sec04
ーーーーーーーーーーーーー */
.nmh_sec04 {
  background: var(--nmh_bg);
  width: 100%;
}

.nmh_sec04_pttl{
  width:50%;
  margin-bottom: 5px;
}

.nmh_sec04 .nmh_tit_sec{
  text-align: left;
  transform: translateY(-74px);
  margin-bottom: 0px;
}

.nmh_sec04 h2{
  margin: 0;
}

.nmh_sec04 h2 figure{
  transform: translateY(-87px);
}

.nmh_sec04_bg{
  background: url(../images/sec04_h2_img.webp) no-repeat center center / cover;
  height: 300px;
  position: relative;
}

.nmh_p_wrap{
  position: absolute;
  top: 20%;
}

.nmh_sec04 .nmh_sec04_bg p{
  display: inline-block;
  padding: 1px 10px;
  margin-bottom: 5px;
  background-color: var(--nmh_bg);
  box-shadow: 2px 2px 3px #c7c7c7;
  font-weight: 700;
}

.nmh_sec04 .nmh_cta_mirocopy_polygon{
  margin-top: 0;
  color: var(--nmh_text);
}

.nmh_sec04 .nmh_cta_mirocopy_polygon::before,.nmh_sec04 .nmh_cta_mirocopy_polygon::after {
  content: "";
  background: var(--nmh_text);
  height: 35px;
  width: 4px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.nmh_bubble::after{
  content: "";
  position: absolute;
  right: 0;
  bottom: -20px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #F84920 transparent transparent transparent;
  border-width: 20px 10px 0 10px;
}

.nmh_bubble{
  position: relative;
  display: inline-block;
  color: var(--nmh_bg);
  padding: 6px 20px;
  border-radius: 50px;
  background: linear-gradient(135deg, #F47F19, #F84920);
  margin-bottom: 40px;
}

.nmh_sec04_wrap2{
  transform: translateY(-40px);
  margin-bottom: 40px;
}

.nmh_sec04_wrap2 .nmh_cta_mirocopy_polygon{
  font-size: 32px;
}

.nmh_sec04_wrap2 .nmh-u-w90{
  margin-bottom: 40px;
}

.nmh_sec04 .nmh-flex{
  display: flex;
  gap: 12px;
}

.nmh_sec04 .nmh-flex img{
  width: 100%;
  max-width: 25%;
}

/* ーーーーーーーーーーーーー 
  sec05
ーーーーーーーーーーーーー */
.nmh_sec05 {
  background: var(--nmh_base2);
  width: 100%;
}

.nmh_sec05_eyebrow img{
  width: 60px;
  margin-bottom: 10px;
}

.nmh_sec05_eyebrow p{
  display: inline-block;
  font-size: 32px;
  font-weight: 700;
  color: var(--nmh_bg);
  background-color: var(--nmh_blue);
  padding: 0 20px;
}

.nmh_sec05_list {
  margin-top: 28px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.nmh_card_voice {
  display: grid;
  grid-template-columns: 133px 1fr;
  gap: 0px 15px;
  text-align: left;
  background: #fcfcfc;
  box-shadow: 4px 4px 3px rgba(171, 171, 171, 0.08);
  padding: 28px;
}

.nmh_card_voice_avatar {
  grid-column: 1;
  grid-row: 1 / 4;
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.nmh_card_voice_tit,
.nmh_card_voice_meta,
.nmh_card_voice_txt{
  grid-column: 2;
}

.nmh_card_voice_avatar img{
  width: 100%;
  height: 100%;
  object-fit: contain; /* イラストならcontain */
  display: block;
}

.nmh_card_voice_tit {
  font-size: 26px;
  font-weight: 700;
  color: var(--nmh_blue);
  line-height: 1.4em;
}

.nmh_card_voice_meta{
  position: relative;
  padding-bottom: 2px;
}

.nmh_card_voice_meta::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: var(--nmh_text); 
}

.nmh_card_voice_meta {
  margin: 0 0 10px;
  font-weight: 700;
  color: #333;
}

.nmh_card_voice_txt {
  margin: 0;
}

/* ーーーーーーーーーーーーー 
nmh_cta_mid
ーーーーーーーーーーーーー */
.nmh_cta_mid {
  position: relative;
  background: url(..//images/cta02_bg.webp)no-repeat center / 70%;
}

.nmh_cta_mid_content {
  position: relative;
  text-align: center;
}

.nmh_cta_mid_lead {
  font-size: 32px;
  margin: 0 0 6px;
  font-weight: 700;
}


.nmh_cta_mid_sub {
  margin: 12px 0 10px;
  font-weight: 700;
  font-size: 32px;
}

.nmh_cta_mid_wrap{
  margin-bottom: 40px;
}

.nmh_cta_mid_tag {
  display: inline-block;
  background: var(--nmh_blue);
  color: #fcfcfc;
  padding: 2px 12px;
}

.nmh_cta_micro_copy {
  margin: 10px 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 23px;
  gap: 6px;
  margin: 0 0 5px;
  line-height: 1.5;
}

.nmh_cta_micro_copy::before {
  content: "\\";
  font-weight: 500;
}

.nmh_cta_micro_copy::after {
  content: "/";
  font-weight: 500;
}
/* ーーーーーーーーーーーーー 
sec06 
ーーーーーーーーーーーーー */
.nmh_sec06 {
  background: var(--nmh_base2);
  padding: 56px 0;
  width: 100%;
}

.nmh_sec06_card {
  position: relative;
  background: #fcfcfc;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
  border-radius: var(--nmh_radius);
  padding: 0 25px 25px;
}

.nmh_sec06_head {
  display: inline-block;
  background: linear-gradient(135deg, #F47F19, #F84920);
  color: #fcfcfc;
  text-align: center;
  padding: 4px 18px;
  font-weight: 700;
  margin-top: -50px;
}

.nmh_sec06 .nmh-flex{
  margin: 20px 0 10px 0;
  gap: 12px;
  align-items: center; 
}

.nmh_sec06 .nmh-flex img {
    width: 100%;
    max-width: 30%;
}

.nmh_sec06_list {
  list-style: none;
  margin: 6px 0 20px;
  padding: 0 26px;
  text-align: left;
  font-size: 19px;
}

.nmh_sec06_list li {
  padding: 10px 0 10px 34px;
  border-top: 1px solid #e7e7e7;
  position: relative;
  font-weight: 700;
}

.nmh_sec06_list li:first-child {
  border-top: 0;
}

.nmh_sec06_list li:last-child{
  border-bottom: 1px solid #e7e7e7;
}

.nmh_sec06_list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url(../images/pencile_icon.webp) no-repeat center center;
  background-size: contain;
}

.nmh_sec06_txt{
  text-align: left;
  padding: 0 26px;
  margin-bottom: 26px;
}

.nmh_sec06_card figure img{
  margin-bottom: 15px;
}


.nmh_sec06 .nmh_bubble {
  margin: 10px 0 18px;
  text-align: center;
  font-size: 20px;
  display: inline-block;
  background: #333;
  color: #fcfcfc;
  padding: 0 15px;
  border-radius: 500px;
  margin: 18px auto 8px;
}

.nmh_sec06 .nmh_bubble::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -20px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
  border-width: 11px 5px;
}

.nmh_promise h3 img{
  margin-bottom: 10px;
}

.nmh_promise .nmh_sec06_list {
  list-style: none;
  margin: 6px 0 20px;
  padding: 0 26px;
  text-align: left;
  font-size: 19px;
}

.nmh_promise .nmh_sec06_list li {
  padding: 10px 0 10px 50px;
  border-top: 1px solid #e7e7e7;
  position: relative;
  font-weight: 700;
}

.nmh_promise .nmh_sec06_list li:first-child {
  border-top: 0;
}

.nmh_promise .nmh_sec06_list li:last-child{
  border-bottom: 1px solid #e7e7e7;
}

.nmh_promise .nmh_sec06_list li::before {
  content: "";
  position: absolute;
  left: 0;
  /* top: 20px; */
  width: 35px;
  height: 35px;
  background-size: contain;
  background-repeat: no-repeat;
}

.nmh_promise .nmh_sec06_list li:nth-child(1)::before{
  background-image: url(../images/promise01_icon.webp);
}

.nmh_promise .nmh_sec06_list li:nth-child(2)::before{
  background-image: url(../images/promise02_icon.webp);
}

.nmh_promise .nmh_sec06_list li:nth-child(3)::before{
  background-image: url(../images/promise03_icon.webp);
}

.nmh_promise .nmh_sec06_list li:nth-child(4)::before{
  background-image: url(../images/promise04_icon.webp);
}

/* ーーーーーーーーーーーーー 
  sec07
ーーーーーーーーーーーーー */
.nmh_sec07 {
  background: var(--nmh_bg);
  width: 100%;
}

.nmh_sec07 h2 figure{
  margin-top: -80px;
  margin-bottom: 10px;
}

.nmh_sec07 h2 figure .nmh-u-w30{
  margin-bottom: 20px;
}

.nmh_sec07_desc {
  margin: 12px 0 12px;
  text-align: center;
  color: #333;
  line-height: 1.6;
}

.nmh_sec07_cards {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.nmh_card_present {
  position: relative;
  gap: 18px;
  border: 2px solid #d2a64a;
  border-radius: 18px;
  background: #fbf7ea;
  padding: 35px;
  align-items: start;
  text-align: left;
  margin-bottom: 30px;
}

.nmh_card_present .nmh-flex{
  justify-content: flex-start;
}

.nmh_card_present .nmh-flex .nmh_present_img01{
  position: absolute;
  top: 2%;
  left: 67%;
  width: 100%;
  max-width: 30%;
}

.nmh_card_present .nmh-flex .nmh_present_img02{
  position: absolute;
  top: 6%;
  left: 70%;
  width: 100%;
  max-width: 30%;
}

.nmh_present_tag{
  width: 10%;
  position: absolute;
  top: -1%;
  left: 2%;
}

.nmh_card_present_tit {
  margin: 1px 0 25px 58px;
  font-size: 22px;
  font-weight: 700;
  color: #8E5E0E;
  border-bottom: 1px solid var(--nmh_gold);
  padding-bottom: 9px;
}

.nmh_card_present_tit::before {
  margin: 25px 0 25px 72px;
  font-size: 22px;
  font-weight: 700;
  color: #6b4d10;
}

.nmh_card_present_txt {
  margin: 0;
  line-height: 1.9;
  color: #333;
}

.nmh_card_present_sub {
  text-align: center;
  margin-top: 14px;
}

/* ーーーーーーーーーーーーー 
  sec08
ーーーーーーーーーーーーー */
.nmh_sec08 {
  background: var(--nmh_base2);
  color: #fcfcfc;
  width: 100%;
}

.nmh_sec08_head {
  background: #f07a63;
  width: 100%;
  color: #fcfcfc;
  text-align: center;
  padding: 30px 10px;
  font-weight: 700;
  font-size: 32px;
}

.nmh_sec08 .nmh_inner{
  padding-top: 0;
}

.nmh_sec08_card{
  position: relative;
  background: #fcfcfc;
  padding: 0 40px 30px;
  border-radius: 0 0 20px 20px;
  box-shadow: 3px 3px 4px #e7e7e7;
}

.nmh_sec08_card img{
  position: absolute;
  top: 78%;
  left: 70%;
  width: 30%;
  }


.nmh_sec08_list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nmh_sec08_list li {
  color: var(--nmh_text);
  padding: 16px 0 16px 50px;
  border-top: 1px solid #e7e7e7;
  position: relative;
  line-height: 1.6;
  font-weight: 700;
}

.nmh_sec08_list li:first-child {
  border-top: 0;
}

.nmh_sec08_list li::before {
  content: "✓";
  position: absolute;
  left: 10px;
  top: 50%;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: #f07a63;
  color: #fcfcfc;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

.nmh_sec08_em {
  color: var(--nmh_orange);
  font-weight: 700;
  font-size: 24px;
}

.nmh_sec08_foot {
  margin: 14px 0 0;
  text-align: left;
  color: #333;
  line-height: 1.9;
}



/* ーーーーーーーーーーーーー 
  sec09
ーーーーーーーーーーーーー */
.nmh_sec09 {
  background: #fcfcfc;
  width: 100%;
}

.nmh_sec09_hero {
  width: 100%;
  margin: 18px 0 24px;
}

.nmh_sec09_hero .nmh_tit_sec{
  font-size: 25px;
  font-weight: 700;
}

.nmh_sec09_body {
  text-align: left;
  line-height: 2.0;
  color: #333;
}

.nmh_sec09_bg{
  background: url(../images/prf.webp) no-repeat top center / cover;
  height: 240px;
  position: relative;
}

.nmh_sec09 .nmh_sec09_bg p{
  display: inline-block;
  padding: 1px 10px;
  margin-bottom: 5px;
  background-color: var(--nmh_bg);
  box-shadow: 2px 2px 3px #c7c7c7;
}

.nmh_sec09 .nmh_p_wrap{
  position: absolute;
  top: 30%;
} 

.nmh_sec09_bullets {
  margin: 12px 0 18px 10px;
  color: var(--nmh_teal);
  font-weight: 700;
}

.nmh_txt_highlight {
  background: linear-gradient(transparent 60%, #F4E025 60%);
  padding: 0 2px;
}

.nmh_txt_highlight_line {
  background: linear-gradient(transparent 60%, #F4E025 60%);
}

.nmh_txt_em_orange {
  color: var(--nmh_orange);
  font-weight: 700;
}

.nmh_txt_em_teal {
  color: var(--nmh_teal);
  font-weight: 700;
}

/* ーーーーーーーーーーーーー 
  sec10
ーーーーーーーーーーーーー */
.nmh_sec10 {
  background: var(--nmh_base2);
  padding: 10px 0;
  width: 100%;
}

.nmh_sec10_card {
  border: 2px solid var(--nmh_blue);
  padding: 22px 26px 24px;
  background: var(--nmh_bg);
  border-radius: var(--nmh_radius);
  color: var(--nmh_text);
  position: relative;
  font-weight: 700;
}

.nmh_sec10_head {
  text-align: center;
  margin-top: -47px;
  margin-bottom: 20px;
}

.nmh_sec10_head span {
  display: inline-block;
  background: var(--nmh_blue);
  color: var(--nmh_bg);
  padding: 1px 18px;
  font-size: 28px;
}

.nmh_sec10_company {
  margin: 18px 0 0;
}

.nmh_sec10_role {
  color: #333;
}

.nmh_sec10_name {
  font-size: 32px;
}

.nmh_sec10_line {
  height: 1px;
  background: #e1e1e1;
  margin: 14px 0 12px;
}

.nmh_sec10_txt p {
  font-weight: 200;
  margin: 10px 0;
  line-height: 1.9;
  color: #333;
}

.nmh_cta_last {
  position: relative;
  background: url(..//images/cta3_bg.webp)no-repeat center / cover;
}

.nmh_cta_last .nmh_cta_mirocopy_polygon{
  margin: 0 0 10px 0;
  color: var(--nmh_text);
  gap: 16px;
}

.nmh_cta_last .nmh_cta_mirocopy_polygon::before,.nmh_cta_last .nmh_cta_mirocopy_polygon::after {
  content: "";
  background: var(--nmh_text);
  height: 70px;
  width: 4px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

/* ーーーーーーーーーーーーー 
  nmh_footer
ーーーーーーーーーーーーー */
.nmh_footer {
  background: #333;
  color: #fcfcfc;
  padding: 10px 0;
  width: 100%;
  text-align: center;
}

.nmh_footer .nmh_inner{
  padding: 10px 0;
}

.nmh_footer_links {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 0;
  padding: 0 0 10px;
}

.nmh_footer_link {
  color: #fff;
  text-decoration: none;
  font-size: 13px;
}

.nmh_footer_copy {
  display: block;
  color: #ddd;
  font-size: 12px;
}

/* =========================================================
  Responsive (<=768px)
  - SP layout follows PC section order (latest PC is the source of truth)
========================================================= */
@media (max-width: 768px){
  .nmh_pc_item{
    display: none;
  }
  
  /* typography */
  h2{ font-size: 24px; }
  .nmh_tit_sec{ font-size: 24px; }
  .nmh_txt_font20_bold{ font-size: 18px; }

  /* common container */
  .nmh_inner{
    padding: 40px 16px;
  }

  .nmh_cta_micro_copy {
    margin-bottom: 2px;
}

/* ーーーーーーーーーーーーー 
  MV 
ーーーーーーーーーーーーー */
  .nmh_p_head_1 img{
    width: 89%;
    min-width: 0;
  }

  .nmh_mv{
    padding-bottom: 40px;
  }

  .nmh_mv_tit img{
    width: 100%;
  }

  .nmh_mv_bg{
    height: auto;
    margin-left: 0;
    margin-right: 0;
    padding: 0 5px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    background: url(../images/mv_bg_sp.webp)no-repeat 70%/ cover;
  }

  .nmh_mv_txt{
    position: static;
    max-width: none;
    margin-top: 5px;
  }

  .nmh_mv_txt img{
    width: 85%;
  }

  .nmh_p_head_2 .nmh-u-w40 {
    width: 95%;
    margin: 0 auto;
  }

/* ーーーーーーーーーーーーー 
  present
ーーーーーーーーーーーーー */
  .nmh_mv_present_container{
    padding: 16px 20px;
    margin: 0 auto;
  }

  .nmh_mv_present_body{
    grid-template-columns: 1fr;
    max-width: none;
  }

  .nmh_mv_present_img{
    position: static;
    left: auto;
    text-align: center;
  }

  .nmh_mv_present_img img{
    width: 250px;
    margin: 0 auto;
  }

  .nmh_mv_present_tit img{
    width: 90%;
  }

  .nmh_mv_present_txt .nmh_pc_item{
    display: none;
  }
  
  .nmh_mv_present_txt{
    text-align: center;
  }

  .nmh_mv_present_list {
    width: fit-content;
    margin: 0 auto;
    text-align: left;
  }

  .nmh_mv_present_list li img{
    width: 65px;
  }

  .nmh_mv_present_txt .nmh_sp_item{
    display: block;
    width: 90%;
    margin: 0 auto;
  }

  .nmh_mv_present_lead{
    font-size: 20px;
    margin-bottom: 5px;
  }

  .nmh_btn_primary img{
    width: 100%;
  }

/* ーーーーーーーーーーーーー 
  sec01
ーーーーーーーーーーーーー */
  .nmh_sec01_bg{
    height: auto;
    padding-bottom: 24px;
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }

  .nmh_sec01 .nmh_pc_item{
    display: none;
  }

  .nmh_sec01_bg .nmh_sp_item{
    display: block;
    font-size: 24px;
    line-height: 1.3;
    margin-bottom: 20px;
  }

  .nmh_sec01_bg .nmh_sp_item .nmh_sec01_tit_item{
    font-size: 38px;
  }

  .nmh_sec01 .nmh_tit_sec{
    font-size: 22px;
  }

  .nmh_sec01_tit_item{
    font-size: 28px;
  }

  .nmh_sec01 .nmh-flex{
    flex-direction: column;
    gap: 12px;
  }

  .nmh_sec01 .nmh-flex img{
    width: 80%;
  }

  .nmh_sec01 .nmh-flex__item:first-child{
    transform: translate(-25px, -18px);
  }

  .nmh_sec01 .nmh-flex__item:last-child{
    transform: translate(48px, );
  }

  .nmh_sec01_bg03 .nmh-flex__item:last-child{
    transform: none;
    margin-top: -100px;
    margin-left: 65px;
  }

  .nmh_sec01_bg02{
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }

  .nmh_sec01_bg02 .nmh_sp_item{
    display: block;
  }

  .nmh_sec01_bg02 .nmh_sp_item img{
    width: 90%;
  }

  .nmh_sec01_bg02 .nmh_sp_item .nmh_sec01_negative{
    margin-top: -50px;
  }

  .nmh_sec01_bg03 .nmh-flex__item{
    transform: none;
  }
  
  .nmh_sec01_bg03 .nmh-u-w60{
    width: 100%;
    margin-top: -20px;
  }

/* ーーーーーーーーーーーーー 
  sec02
ーーーーーーーーーーーーー */
  .nmh_sec02{
    padding:10px 0 ;
  }

  .nmh_sec02 h2{
    font-size: 22px; 
  }

  .nmh_sec02 .nmh_inner{
    width: 100%;
    max-width: var(--nmh_content_w);
    padding: 16px 16px;
  }
  
  .nmh_sec02 .nmh-flex{
    flex-wrap: wrap;
    justify-content: center;
    gap: 3px;
  }

  .nmh_sec02 .nmh-flex__item:first-child{
    transform: none;
    margin-top: -50px;
    margin-right: 0;
    width: 20%;
  }

  .nmh_sec02_txt{
    line-height: 1.3;
    margin-top: 2px;
  }

  .nmh_sec02 .nmh_sp_item{
    margin-bottom: 5px;
  }

  /* flex helper */
  .nmh-flex{
    flex-direction: column;
  }

/* ーーーーーーーーーーーーー 
  sec03
ーーーーーーーーーーーーー */
  .nmh_sec03 .nmh-u-w20{
    width: 40%;
  }

  .nmh_sec03 .nmh-flex__item{
    text-align: center;
  }

  .nmh_sec03 h2.nmh-flex{
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .nmh_sec03 .nmh_tit_main {
    font-size: 26px;
}

  .nmh_sec03 h2.nmh-flex img{
    width: 60%;
  }

  .nmh_sec03 .nmh_sec03_box.nmh-flex{
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 20px;
    padding-bottom: 15px;
  }

  .nmh_sec03 .nmh_txt_left {
    font-size: 18px;
}

  .nmh_sec03 .nmh_sec03_box.nmh-flex .nmh_sp_item{
    text-align: left;
  }

  .nmh_sec03 .nmh_sec03_box.nmh-flex .nmh_sp_item li{
    font-size: 22px;
    margin-bottom: 21px;
  }

    .nmh_sec03 .nmh_sec03_box.nmh-flex .nmh_sp_item .nmh_li_last{
    margin-bottom: 0;
  }

  .nmh_sec03 .nmh_sec03_box .nmh-flex__item img{
    width: 60%;
  }

  .nmh_sec03 .nmh_sec03_img .nmh-flex{
    justify-content: center;
    align-items: center;
  }

  .nmh_sec03 .nmh_sec03_img .nmh-flex .nmh-flex__item:first-child,
  .nmh_sec03 .nmh_sec03_img .nmh-flex .nmh-flex__item:last-child{
    transform: none;
    margin: 0;
  }

  .nmh_sec03_img .nmh_sp_item{
    margin: 10px auto;
    width: 20%;
  }

  .nmh_sec03_img .nmh_sec03_img_text{
    width: 100%;
    z-index: 2;
  }

  .nmh_sec03_img .nmh_sec03_img_person{
    width: 80%;
    margin-top: -40px;
  }

/* ーーーーーーーーーーーーー 
  sec04
ーーーーーーーーーーーーー */
  .nmh_sec04 .nmh_tit_sec,
  .nmh_sec04 h2 figure{
    transform: none;
  }

  .nmh_sec04 h2{
    margin-bottom: 20px;
  }

  .nmh_sec04 h2 figure{
    margin: -55px 0 15px;
  }

  .nmh_sec04_pttl{
    width:90%;
  }

  .nmh_sec04_bg{
    height: auto;
    padding: 24px 0;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-bottom: 20px;
  }

  .nmh_p_wrap{
    position: static;
  }

  .nmh_sec04_wrap2{
    transform: none;
    margin-bottom: 20px;
  }

  .nmh_sec04 .nmh-flex{
    flex-direction: row;
  }

  .nmh_sec04 .nmh_sec04_wrap2 .nmh_cta_mirocopy_polygon{
    margin-bottom: 20px;
  }

  .nmh_sec04_wrap2 .nmh_bubble{
    padding: 5px 40px;
  }


  .nmh_sec04 .nmh_bubble .nmh_tit_sec{
    font-size: 22px;
  }

  .nmh_sec04_wrap2 .nmh_bubble p{
    line-height: 1.5;
  }

/* ーーーーーーーーーーーーー 
  sec05
ーーーーーーーーーーーーー */
  .nmh_sec05 .nmh_sec05_eyebrow .nmh_sp_item p{
    font-size: 30px;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    line-height: 1.5;
    padding: 10px;
  }

  .nmh_sec05_list{
    margin-bottom: 20px;
  }

  .nmh_card_voice_tit,.nmh_card_voice_meta{
    text-align: center;
    line-height: 1.2
  }

  .nmh_card_voice_tit{
    margin-bottom: 16px;
  }

  .nmh_card_voice{
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  /* ーーーーーーーーーーーーー 
  CTA mid
ーーーーーーーーーーーーー */
  /* CTA mid bg sizing */
  .nmh_cta_mid{
    background: url(..//images/cta02_bg.webp)no-repeat  / 100%;
    background-size: contain;
    background-position: 0 10%;
  }

  .nmh_cta_mid_wrap {
    margin-bottom: 20px;
  }

  .nmh_cta_mid_wrap .nmh-u-w90{
    margin-bottom: 10px;
  }

  .nmh_cta_mid_lead{
    font-size: 20px;
    margin: 0;
  }

  .nmh_cta_mid_sub{
    width: 90%;
    margin: 0 auto;
    font-size: 28px;
  }

/* ーーーーーーーーーーーーー 
  sec06
ーーーーーーーーーーーーー */
  .nmh_sec06_list,
  .nmh_sec06_txt,
  .nmh_promise .nmh_sec06_list{
    padding: 0;
  }

  .nmh_sec06_head{
    width: 90vw;
    margin-left: calc(50% - 45vw);
  }

  .nmh_sec06_head p {
    width: 100%;
    font-size: 26px;
    line-height: 1.4;
  }

  .nmh_sec06 .nmh-flex img {
    max-width: 100%;
    margin-bottom: 0;
  }

  .nmh_sec06_list li{
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: 0.05em;
  }

  .nmh_sec06 .nmh-u-w40{
    width: 80%;
  }

  .nmh_promise .nmh_bubble{
    padding: 8px 50px;
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 10px;
  }

  .nmh_promise h3 img{
    margin-bottom: 0;
  }

/* ーーーーーーーーーーーーー 
  sec07
ーーーーーーーーーーーーー */
  .nmh_sec07 .nmh_inner{
    padding-top: 0;
  }

  .nmh_sec07 h2 figure{
    margin: 0 0 20px;
  }

  .nmh_sec07 h2 figure img{
    width: 40%;
  }

  .nmh_sec07 h2 figure .nmh_sp_item{
    width: 90%;
    margin: 0 auto;
  }

  .nmh_sec07_desc{
    text-align: left;
    margin-bottom: 12px;
  }
  .nmh_card_present{
    padding: 24px 16px;
  }

  .nmh_present_tag{
    width: 70px;
    top: -0.3%;
    left: 2%;
  }

  .nmh_card_present .nmh-flex{
    flex-direction: column;
    align-items: flex-start;
  }

  .nmh_card_present .nmh-flex .nmh_present_img01,
  .nmh_card_present .nmh-flex .nmh_present_img02{
    position: static;
    max-width: 220px;
    margin: 0 auto;
    margin-bottom: 20px;
  }

  .nmh_card_present_tit{
    margin: 1px 0 25px 66px;
    font-size: 24px;
    line-height: 1.3;
  }

  .nmh_card_present_sub img{
    width: 50%;
  }

/* ーーーーーーーーーーーーー 
sec08
ーーーーーーーーーーーーー */
  .nmh_sec08 .nmh_sp_item{
    font-size: 30px;
  }

  .nmh_sec08_head{
    font-size: 30px;
    padding: 20px 10px;
    line-height: 1.3;
  }

  .nmh_sec08_card{
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 0 16px 24px;
  }

  .nmh_sec08_card img{
    position: static;
    width: 80%;
    margin: 16px auto 0;
  }

  .nmh_sec08 .nmh_sec06_list li{
    font-size: 19px;
  }

  .nmh_sec08_list li{
    padding: 25px 0 25px 43px;
  }

  .nmh_sec08_em{
    font-size: 22px;
  }
/* ーーーーーーーーーーーーー 
sec09
ーーーーーーーーーーーーー */
  .nmh_sec09 .nmh_tit_sec{
    font-size: 30px;
  }

  .nmh_sec09_bg{
    width: 100vw;
    margin-left: calc(50% - 50vw);
    height: auto;
    padding: 24px 0;
  }

  .nmh_sec09 .nmh_sec09_bg p{
    font-size: 24px;
  }

  .nmh_txt_font20_bold{
    font-size: 23px;
  }

  .nmh_sec09 .nmh_p_wrap{
    position: static;
  }

/* ーーーーーーーーーーーーー 
sec10
ーーーーーーーーーーーーー */
  .nmh_sec10_head span{
    font-size: 22px;
  }
  .nmh_sec10_name{
    font-size: 26px;
  }


/* ーーーーーーーーーーーーー 
最終CTA
ーーーーーーーーーーーーー */
  .nmh_cta_last {
  background: url(..//images/cta03_bg_sp.webp)no-repeat top / contain;
}

  .nmh_cta_last .nmh-u-w90{
    margin-bottom: 10px;
  }

  .nmh_cta_last .nmh_cta_mirocopy_polygon{
    font-size: 21px;
  }

/* ーーーーーーーーーーーーー 
footer
ーーーーーーーーーーーーー */
  .nmh_footer_links{
    gap: 16px;
    flex-wrap: wrap;
  }
}
