/*リセット*/
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light}@supports not (min-block-size:100dvb){:where(html){block-size:100%}}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){block-size:100%;block-size:100dvb;line-height:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(button){border-style:solid}:where(a){text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem)}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(:focus-visible){outline:2px solid var(--focus-color,Highlight);outline-offset:2px}:where(.visually-hidden:not(:focus,:active,:focus-within,.not-visually-hidden)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}

/* --- common --- */
body{
  color:#333;
  background: #fff;
  font-size: 16px;
  font-family: 'Roboto', 'Noto Sans JP', sans-serif;
  line-height: 1.6;
}

article{
  background: #eafeed;
  padding: 0 0 2rem 0;
}

header{
  border-bottom: #05aa22 solid 2px;
  padding: 0.5rem;
}

.header,
.main{
  background: #fff;
  margin: 0 auto;
  max-width: 748px;
}

/* --- サポート ---*/
.is-pc{
  display: none;
}
.is-sp{
  display: block;
}

.color-orange{
  background: linear-gradient(transparent 0%, #efaf2c75 0%);
  border-radius: 0.25rem;
  padding: 0.2rem 0.5rem;
}
.color-orange:last-child {
  margin: 0;
}

/* --- title --- */
.title__h1{
  align-items: center;
  border-bottom: #05aa22 solid 2px;
  color: #05aa22;
  display: flex;
  font-size: 1.5rem;
  justify-content: center;
  padding: 1rem 0;
  text-align: center;
}
.title__h1 strong{
  display: block;
}
.title__h1 small{
  display: block;
  font-size: 0.75rem;
  margin: 0 0 0 1rem;
  line-height: 1;
}
.title__lineup{
  color: #ff5c00;
  font-size: 1.5rem;
  font-weight: 700;
  padding: 2.4rem 0 0 0;
  letter-spacing: -1px;
  text-align: center;
}
.title__h2{
  background: #05aa22;
  color: #fff;
  font-size: 1.25rem;
  text-align: center;
  line-height: 1;
  padding: 1.25rem 0;
}
.title__recommend{
  color: #ff5c00;
  font-size: 1.5rem;
  text-align: center;
  margin: 2rem 0 1rem 0;
}

/* --- image --- */
.image__emblem{
  display: block;
  height: 4.5rem;
}
.image__book{
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);
  margin: 0 auto 0 0;
}
.image__voice{
  width: 3rem;
}
.image__intro{
  width: 5rem;
}
.image__bookView,
.image__achievement{
  width: 90%;
  margin: 0 auto;
}
.image__bookView--small{
  width: 80%;
  margin: 2rem auto 0 auto;
}
.image__flow{
  margin: 0 auto 1.5rem auto;
  width: 100%;
}

/* --- list --- */
.list__voice{
  margin: 2rem 1rem 1rem 1rem;
}
.list__intro{
  width: 70%;
}

/* --- item --- */
.item__lineup{
  font-weight: 500;
  padding: 0.125rem 0 0.125rem 1.375rem;
  position: relative;
}
.item__lineup::before{
  content: "";
  background: url(https://s3.ap-northeast-1.amazonaws.com/cdn.e-ohaka.com/booklet/icon_check.png) no-repeat left top / cover;
  display: block;
  height: 1.25rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
}
.item__voice{
  display: flex;
  gap: 0 0.5rem;
  align-items: center;
  padding: 0.75rem 0;
}
.item__intro{
  background: #fff;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  line-height: 2;
  padding: 0.5rem 0.5rem 0.5rem 0.75rem;
  position: relative;
  margin: 0 0 1rem 0;
  filter: drop-shadow(2px 2px 3px rgba(0,0,0,0.2));
}
.item__intro:last-child{
  margin: 0;
}
.item__intro::after{
  content: "";
  display: block;
  position: absolute;
  right: -1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 20px;
  border-color: transparent transparent transparent #fff;
}

/* --- text --- */
.text__note--voice{
  display: block;
  text-align: right;
  margin: 0 1rem 1.5rem 0;
}
.text__flow,
.text__achievement{
  text-align: left;
  margin: 1rem;
}
.text__flow strong,
.text__achievement strong{
  color: #ff5c00;
}

/* --- button --- */
.button__cta{
  background: linear-gradient(180deg, #FFBA7B 0%, #FF993C 41.15%, #E47004 97.4%);
  border: 1px solid #FF5C00;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 0.625rem;
  color: #fff;
  display: block;
  line-height: 1;
  margin: 0 0 0.5rem 0;
  padding: 0.75rem 0;
  position: relative;
  top: 0;
  text-decoration: none;
  transition: 0.3s all;
}
.button__cta:hover,
.button__cta:visited{
  color: #fff;
  text-decoration: none;
}
.button__cta strong{
  display: block;
  font-size: 1.5rem;
  margin: 0 0 0.25rem 0;
}
.button__cta em{
  font-style: normal;
  font-size: 0.875rem;
}

/* --- header --- */
.blk-logo {
  display: flex;
  gap: 10px;
}

.logo-main {
  height: 1.375rem;
}

.logo-no1 {
  max-width: 120px;
  object-fit: contain;
}

/* --- breadcrumb --- */
.breadcrumb {
  background-color: #f5f5f5;
  border-bottom: 1px solid #e6e6e6;
  height: 32px;
  line-height: 1;
  overflow: hidden;
}

.breadcrumb-container {
  display: block;
  overflow-y: hidden;
  overflow-x: scroll;
}

.breadcrumb-container ol {
  line-height: 32px;
  display: inline-block;
  white-space: nowrap;
  overflow-y: hidden;
  overflow-x: scroll;
}

.breadcrumb-container ol li {
  position: relative;
  display: inline-block;
  line-height: 28px;
  height: 30px;
  margin: 0;
  padding: 0 10px;
  text-align: center;
  font-size: 13px;
}

.breadcrumb-container ol li:before,
.breadcrumb-container ol li:after {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: calc(100% - 6px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 0 16px 10px;
  border-color: transparent transparent transparent #e6e6e6;
  z-index: 1;
}

.breadcrumb-container ol li:before {
  left: calc(100% - 7px);
  border-left-color: #f5f5f5;
  z-index: 2;
}

.breadcrumb-container ol li a {
  text-decoration: none;
  font-size: 13px;
  color: #232b39;
}

.breadcrumb-container ol li:last-of-type:before,
.breadcrumb-container ol li:last-of-type:after {
  content: none;
}


/* --- KV --- */
.kv{
  margin: 0;
}
.kv-inr{
  display: flex;
  align-items: center;
  margin: 0.75rem 1rem;
}
.dl__lineup{
  position: relative;
}
.dl__lineup::before{
  content: "もれなく全員に";
  background: #22bcb0;
  color: #fff;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  border-radius: 0.5rem;
  padding: 0.2rem 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.dl__lineup::after{
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 5px 0 5px;
  border-color: #22bcb0 transparent transparent transparent;
  position: absolute;
  top: 1.8rem;
  left: 50%;
  transform: translateX(-50%);
}
.discription__lineup{
  background: #fffce2;
  border-radius: 1rem;
  padding: 0.5rem 0.25rem;
}

/*introduction*/
.introduction{
  background: #fffce2;  
  display: flex;
  gap: 0 2rem;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  position: relative;
}
.introduction::after{
  content: "";
  bottom: -1.25rem;
  border-style: solid;
  border-width: 20px 40px 0 40px;
  border-color: #fffce2 transparent transparent transparent;
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
}

/*cta*/
.cta{
  padding: 0.5rem 0 1.875rem 0;
  margin: 0 auto;
  text-align: center;
  width: 90%;
}
.cta span{
  font-size: 0.875rem;
}

/*footerのoverwrite*/
.blk_footer_link,
.blk_footer_attention,
.wrap_more{
  display: block;
}

@media screen and (min-width: 320px){
  /*title*/
  .title__h1{
    font-size: 1.2rem;
  }
  .title__lineup{
    font-size: 1.1rem;
    letter-spacing: -1px;
  }
  .title__recommend{
    font-size: 1.3rem;
  }

  /*image*/
  .image__book{
    width: 40%;
  }

  /*item*/
  .item__lineup{
    font-size: 0.75rem;
  }
  .item__lineup::before{
    width: 1rem;
    height: 1rem;
  }

  /*text*/
  .text__flow,
  .text__achievement{
    font-size: 1rem;
  }
  .text__flow strong,
  .text__achievement strong{
    font-size: 1.1rem;
  }

  /*KV*/
  .dl__lineup{
    width: 55%;
  }
}

@media screen and (min-width: 321px){
  /*text*/
  .text__flow strong,
  .text__achievement strong{
    font-size: 1.3rem;
  }
  /*cta*/
  .cta{
    width: 80%;
  }
}

@media screen and (min-width: 360px){
  /*title*/
  .title__h1{
    font-size: 1.4rem;
  }
  .title__lineup{
    font-size: 1.2rem;
  }
  /*image*/
  .image__book{
    width: 43%;
  }
  /*item*/
  .item__lineup{
    font-size: 0.875rem;
  }
  /*kv*/
  .dl__lineup{
    width: 52%;
  }

}
@media screen and (min-width: 375px){
  /*title*/
  .title__lineup{
    font-size: 1.3rem;
  }
}

@media screen and (min-width: 390px){
  /*title*/
  .title__lineup{
    font-size: 1.4rem;
  }
}

/* 小冊子LPの要素入れ替えによるマージン調整 */
section .introduction {
  margin-bottom: 2rem;
}

@media screen and (min-width: 768px){
  /* --- サポート ---*/
  .is-pc{
    display: block;
  }
  .is-sp{
    display: none;
  }

  /* header */
  .logo-no1 {
    max-width: 140px;
    object-fit: contain;
  }

  /* breadcrumb */
  .breadcrumb {
    max-width: 748px;
    margin: 0 auto;
  }

  .breadcrumb-container {
    padding: 0 10px;
  }

  .breadcrumb-container ol {
    overflow: hidden;
  }

  /*title*/
  .title__h1{
    font-size: 2.2rem;
    letter-spacing: -2px;
    text-align: left;
  }
  .title__h1 small {
    font-size: 0.875rem;
    margin: 0 0 0.1rem 1rem;
    letter-spacing: initial;
}
  .title__lineup{
    font-size: 2.5rem;
    padding: 3rem 0 0 0;
  }
  .title__h2,
  .title__recommend{
    font-size: 1.5rem;
  }
  .title__recommend{
    margin: 2.5rem 0 2rem 0;
  }

  /*image*/
  .image__emblem{
    height: 4.125rem;
  }
  .image__book{
    width: 45%;
    animation: zoomIn 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
  }
  @keyframes zoomIn {
    0% {
      transform: scale(0.8);
      opacity: 0;
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }
  .image__flow{
    margin: 0 auto 3rem auto;
    width: 90%;
  }

  /*list*/
  .list__voice{
    margin: 1rem 2rem;
  }
  .list__intro{
    width: 50%;
    padding: 0.75rem 1rem;
  }

  /*item*/
  .item__lineup{
    font-size: 1.25rem;
    padding: 0.125rem 0 0.125rem 2rem;
  }
  .item__lineup::before{
    height: 1.75rem;
    width: 1.75rem;
  }
  .item__intro{
    font-size: 1rem;
    padding: 0.5rem 1.5rem;
  }
  .item__intro:first-child{
    position: relative;
    left: -4rem;
  }

  /*text*/
  .text__note--voice{
    font-size: 0.75rem;
    margin: 0 2rem 1.875rem 0;
  }
  .text__flow,
  .text__achievement{
    text-align: center;
    font-size: 1.1rem;
  }
  .text__flow strong,
  .text__achievement strong{
    font-size: 1.5rem;
  }

  /*button*/
  .button__cta:hover,
  .button__cta:visited{
    top: 0.25rem;
  }

  /*KV*/
  .kv-inr{
    margin: 1.25rem 2rem;
  }
  .dl__lineup::before{
    font-size: 1rem;
    padding: 0.5rem 1.5rem;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
  }
  .dl__lineup::after{
    top: 2.6rem;
  }
  .discription__lineup{
    padding: 1rem;
  }

  /*introduction*/
  .introduction{
    padding: 2rem;
  }

  /*cta*/
  .cta{
    width: 60%;
    padding: 1rem 0 1.875rem 0;
  }

  /*footerのoverwrite*/
  .blk_footer_link,
  .blk_footer_attention,
  .wrap_more{
    display: none !important;
  }
  .blk_footer_info{
    border-top: none !important;
    margin: 1.25rem auto !important;
    padding: 0 !important;
  }

  /* 小冊子LPの要素入れ替えによるマージン調整 */
  section .introduction {
    margin-bottom: 2rem;
  }
}
