  @import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;600;700&&display=swap");
/*
html {
  @include mq(pc) {
    font-size: divceil(10, $pcBreakPoint, vw);
  }
  @include mq(mx) {
    font-size: 10px;
  }
  @include mq(sp) {
    font-size: divceil(10, $spMax, vw);
  }
}
header,
footer{
	font-size: 16px !important;
}
*/
#main_cont {
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #000;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  position: relative;
  line-height: 0;
  background: #fff;
  overflow-wrap: anywhere;
  word-break: break-all;
  line-break: strict;
  overflow: hidden; }

@media screen and (max-width: 768px) {
  main {
    padding-top: 25px !important; } }

#main_cont img {
  vertical-align: bottom; }

#main_cont img,
#main_cont svg {
  width: 100%;
  height: auto; }

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  #main_cont img {
    image-rendering: -webkit-optimize-contrast; } }
#main_cont ul,
#main_cont ol {
  list-style: none; }

@media screen and (max-width: 768px) {
  .forPC {
    display: none !important; } }

@media screen and (min-width: 769px) {
  .forSP {
    display: none !important; } }

@media print {
  .forSP {
    display: none; } }
@media screen and (max-width: 768px) {
  main .pcv {
    display: none !important; } }

@media screen and (min-width: 769px) {
  main .spv {
    display: none !important; } }

main *,
main *:before,
main *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

main a {
  text-decoration: none;
  color: inherit;
  color: #333; }

/* [start]

/*common*/
#main_cont section {
  position: relative;
  width: 100%; }

#main_cont section .inner {
  position: relative;
  margin: 0 auto; }
  @media screen and (min-width: 769px) {
    #main_cont section .inner {
      width: 120rem; } }
  @media screen and (max-width: 768px) {
    #main_cont section .inner {
      width: 89vw; } }

#main_cont section div,
#main_cont section p {
  position: relative; }

.slider,
.slider div {
  width: 100%;
  height: 100%; }

#kv {
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 769px) {
    #kv {
      height: 60rem;
      background: url("/jp/quality/research/story/img/05_img20.jpg") center center no-repeat;
      background-size: cover; } }

@media screen and (min-width: 769px) {
  #kv h1,
  #kv p {
    position: absolute !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120rem;
    height: 73rem; } }

@media screen and (max-width: 768px) {
  #kv h1 {
    position: relative;
    width: 100%; } }

@media screen and (max-width: 768px) {
  #kv p {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%; } }

#about .inner {
  position: relative;
  display: flex; }
  @media screen and (min-width: 769px) {
    #about .inner {
      padding: 10rem 0;
      justify-content: space-between;
      align-items: flex-start; } }
  @media screen and (max-width: 768px) {
    #about .inner {
      flex-direction: column;
      padding: 10vw 0; } }

#about .inner figure,
#about .inner div {
  position: relative; }
  @media screen and (min-width: 769px) {
    #about .inner figure,
    #about .inner div {
      width: 58rem; } }
  @media screen and (max-width: 768px) {
    #about .inner figure,
    #about .inner div {
      width: 100%; } }

@media screen and (max-width: 768px) {
  #about .inner div {
    padding-top: 6vw; } }

#about h2,
.effect_block h3,
.effect_block h4 {
  position: relative;
  color: #f08300;
  letter-spacing: 0.08em;
  padding: 0;
  margin: 0;
  font-weight: 500; }
  @media screen and (min-width: 769px) {
    #about h2,
    .effect_block h3,
    .effect_block h4 {
      line-height: 1.539em;
      font-size: 2.6rem;
      padding-bottom: 2rem; } }
  @media screen and (max-width: 768px) {
    #about h2,
    .effect_block h3,
    .effect_block h4 {
      font-size: 5vw;
      line-height: 1.7;
      padding-bottom: 2vw; } }

#main_cont section .normal_txt {
  position: relative;
  color: #000;
  letter-spacing: 0.02em;
  padding: 0;
  margin: 0;
  font-weight: 400; }
  @media screen and (min-width: 769px) {
    #main_cont section .normal_txt {
      line-height: 1.875em;
      font-size: 1.6rem; } }
  @media screen and (max-width: 768px) {
    #main_cont section .normal_txt {
      font-size: 3.46vw;
      line-height: 1.7; } }

#bg_area {
  position: relative;
  width: 100%;
  background: #fdf7e0; }
  @media screen and (min-width: 769px) {
    #bg_area {
      padding: 0 0 10rem; } }
  @media screen and (max-width: 768px) {
    #bg_area {
      padding: 0 0 10vw; } }

.effect_block {
  position: relative; }
  @media screen and (min-width: 769px) {
    .effect_block {
      padding: 10rem 0 0; } }
  @media screen and (max-width: 768px) {
    .effect_block {
      padding: 10vw 0 0; } }

.effect_block h2 {
  position: relative; }
  @media screen and (min-width: 769px) {
    .effect_block h2 {
      padding-bottom: 3rem; } }
  @media screen and (max-width: 768px) {
    .effect_block h2 {
      padding-bottom: 4vw; } }

.effect_block h2 img {
  position: relative;
  display: block;
  margin: 0 auto;
  width: auto !important; }
  @media screen and (min-width: 769px) {
    .effect_block h2 img {
      height: 10rem !important; } }
  @media screen and (max-width: 768px) {
    .effect_block h2 img {
      height: 13.3vw !important; } }

.effect_block .inner {
  position: relative;
  background: #fff; }
  @media screen and (min-width: 769px) {
    .effect_block .inner {
      border-radius: 1.6rem;
      padding: 5rem 5rem 5rem; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner {
      border-radius: 2vw;
      padding: 5.3vw; } }

.effect_block .inner .top_set {
  position: relative;
  display: flex; }
  @media screen and (min-width: 769px) {
    .effect_block .inner .top_set {
      justify-content: space-between;
      align-items: flex-start; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner .top_set {
      flex-direction: column; } }

.effect_block .inner .top_set div {
  position: relative; }
  @media screen and (min-width: 769px) {
    .effect_block .inner .top_set div {
      width: 49rem; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner .top_set div {
      width: 100%; } }

.effect_block .inner .top_set figure {
  position: relative; }
  @media screen and (min-width: 769px) {
    .effect_block .inner .top_set figure {
      width: 58rem; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner .top_set figure {
      width: 100%; } }

@media screen and (max-width: 768px) {
  .effect_block .inner .top_set figure {
    padding-top: 6vw; } }

.effect_block .bg_ttl {
  position: relative;
  width: 100%;
  background: #fdf7e0;
  text-align: center; }
  @media screen and (min-width: 769px) {
    .effect_block .bg_ttl {
      margin: 5rem 0 3rem;
      padding: 1.5rem 0; } }
  @media screen and (max-width: 768px) {
    .effect_block .bg_ttl {
      padding: 2.6vw;
      margin: 6.6vw 0 4vw; } }

@media screen and (min-width: 769px) {
  .effect_block h4 {
    text-align: center; } }

.effect_block .inner .btm_set {
  position: relative;
  display: flex; }
  @media screen and (min-width: 769px) {
    .effect_block .inner .btm_set {
      justify-content: space-between;
      align-items: flex-start;
      padding: 1.5rem 0 0; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner .btm_set {
      flex-direction: column;
      padding: 1vw 0 0; } }

#effect1.effect_block .inner .btm_set .l_box,
#effect2.effect_block .inner .btm_set .l_box {
  position: relative; }
  @media screen and (min-width: 769px) {
    #effect1.effect_block .inner .btm_set .l_box,
    #effect2.effect_block .inner .btm_set .l_box {
      width: 52rem; } }
  @media screen and (max-width: 768px) {
    #effect1.effect_block .inner .btm_set .l_box,
    #effect2.effect_block .inner .btm_set .l_box {
      width: 100%; } }

#effect1.effect_block .inner .btm_set figure {
  position: relative; }
  @media screen and (min-width: 769px) {
    #effect1.effect_block .inner .btm_set figure {
      width: 51rem; } }
  @media screen and (max-width: 768px) {
    #effect1.effect_block .inner .btm_set figure {
      width: 100%; } }

#effect2.effect_block .inner .btm_set figure {
  position: relative; }
  @media screen and (min-width: 769px) {
    #effect2.effect_block .inner .btm_set figure {
      width: 53rem; } }
  @media screen and (max-width: 768px) {
    #effect2.effect_block .inner .btm_set figure {
      width: 100%; } }

#effect3.effect_block .inner .btm_set .l_box {
  position: relative; }
  @media screen and (min-width: 769px) {
    #effect3.effect_block .inner .btm_set .l_box {
      width: 58rem; } }
  @media screen and (max-width: 768px) {
    #effect3.effect_block .inner .btm_set .l_box {
      width: 100%; } }

#effect3.effect_block .inner .btm_set figure {
  position: relative; }
  @media screen and (min-width: 769px) {
    #effect3.effect_block .inner .btm_set figure {
      width: 47rem; } }
  @media screen and (max-width: 768px) {
    #effect3.effect_block .inner .btm_set figure {
      width: 100%; } }

@media screen and (max-width: 768px) {
  .effect_block .inner .btm_set figure {
    padding-top: 6vw; } }

.effect_block .inner .btm_set dl {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%; }
  @media screen and (min-width: 769px) {
    .effect_block .inner .btm_set dl {
      margin-top: 2rem; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner .btm_set dl {
      margin-top: 2vw; } }

@media screen and (min-width: 769px) {
  .effect_block .inner .btm_set dl:first-of-type {
    margin-top: 0 !important; } }
@media screen and (max-width: 768px) {
  .effect_block .inner .btm_set dl:first-of-type {
    margin-top: 0 !important; } }

.effect_block .inner .btm_set dl dt {
  position: relative;
  display: inline-block !important;
  background: #f2f2f2;
  text-align: center;
  padding: 0 !important;
  margin: 0 !important;
  white-space: nowrap; }
  @media screen and (min-width: 769px) {
    .effect_block .inner .btm_set dl dt {
      width: 10.5rem; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner .btm_set dl dt {
      width: 22.6vw; } }

.effect_block .inner .btm_set dl dd {
  position: relative;
  text-align: left;
  padding: 0 !important;
  margin: 0 !important; }
  @media screen and (min-width: 769px) {
    .effect_block .inner .btm_set dl dd {
      width: 40rem; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner .btm_set dl dd {
      width: 53vw; } }

@media screen and (min-width: 769px) {
  #effect3.effect_block .inner .btm_set dl dd {
    width: 46rem !important; } }

.effect_block .inner .btm_set .l_box div.bg_box {
  position: relative;
  background: #f2f2f2;
  text-align: left; }
  @media screen and (min-width: 769px) {
    .effect_block .inner .btm_set .l_box div.bg_box {
      margin-top: 3rem;
      padding: 1.5rem; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner .btm_set .l_box div.bg_box {
      margin-top: 6vw;
      padding: 4vw; } }

#effect4.effect_block .inner .btm_set .l_box {
  position: relative; }
  @media screen and (min-width: 769px) {
    #effect4.effect_block .inner .btm_set .l_box {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: flex-start; } }
  @media screen and (max-width: 768px) {
    #effect4.effect_block .inner .btm_set .l_box {
      width: 100%; } }

@media screen and (min-width: 769px) {
  #effect4.effect_block .inner .btm_set .l_box div.bg_box {
    margin-top: 0 !important;
    width: 54rem; } }

@media screen and (min-width: 769px) {
  #effect4.effect_block .inner .btm_set .crm_l,
  #effect4.effect_block .inner .btm_set dl {
    width: 54rem !important; } }

@media screen and (min-width: 769px) {
  #effect4.effect_block .inner .btm_set dl dt {
    width: 15.5rem; } }
@media screen and (max-width: 768px) {
  #effect4.effect_block .inner .btm_set dl dt {
    width: 32vw; } }

@media screen and (min-width: 769px) {
  #effect4.effect_block .inner .btm_set dl dd {
    width: 37rem !important; } }
@media screen and (max-width: 768px) {
  #effect4.effect_block .inner .btm_set dl dd {
    width: 43.6vw; } }

.effect_block .inner .btm_set dl dt .normal_txt,
.effect_block .inner .btm_set dl dd .normal_txt,
.effect_block .inner .btm_set .l_box div .normal_txt {
  letter-spacing: 0.0em !important; }
  @media screen and (min-width: 769px) {
    .effect_block .inner .btm_set dl dt .normal_txt,
    .effect_block .inner .btm_set dl dd .normal_txt,
    .effect_block .inner .btm_set .l_box div .normal_txt {
      font-size: 1.5rem !important; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner .btm_set dl dt .normal_txt,
    .effect_block .inner .btm_set dl dd .normal_txt,
    .effect_block .inner .btm_set .l_box div .normal_txt {
      font-size: 3.2vw !important;
      line-height: 1.7; } }

#main_cont .sup {
  position: relative;
  display: inline-block;
  font-size: 75%;
  transform: translateY(-20%); }

.effect_block .inner .btm_set .l_box div .normal_txt strong {
  font-weight: 700 !important; }

#main_cont section .cap {
  position: relative;
  margin: 0 auto;
  text-align: right;
  color: #000;
  letter-spacing: 0.02em;
  font-weight: 400; }
  @media screen and (min-width: 769px) {
    #main_cont section .cap {
      width: 120rem;
      line-height: 1.539em;
      font-size: 1.3rem;
      margin-top: 1rem; } }
  @media screen and (max-width: 768px) {
    #main_cont section .cap {
      width: 89vw;
      font-size: 2.6vw;
      line-height: 1.7;
      margin-top: 2vw; } }

.effect_block .inner .btm_img figure {
  position: relative; }
  @media screen and (min-width: 769px) {
    .effect_block .inner .btm_img figure {
      width: 61rem;
      margin: 0 auto; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner .btm_img figure {
      width: 100%; } }

.effect_block .inner .btm_img {
  position: relative; }
  @media screen and (min-width: 769px) {
    .effect_block .inner .btm_img {
      padding-top: 4rem; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner .btm_img {
      padding-top: 6vw; } }

.effect_block .inner .btm_crm_img {
  position: relative;
  display: flex; }
  @media screen and (min-width: 769px) {
    .effect_block .inner .btm_crm_img {
      justify-content: space-between;
      align-items: flex-start;
      padding-top: 4rem; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner .btm_crm_img {
      flex-direction: column;
      gap: 4vw;
      padding-top: 6vw; } }

.effect_block .inner .btm_crm_img figure {
  position: relative; }
  @media screen and (min-width: 769px) {
    .effect_block .inner .btm_crm_img figure {
      width: 54rem;
      margin: 0 auto; } }
  @media screen and (max-width: 768px) {
    .effect_block .inner .btm_crm_img figure {
      width: 100%; } }

#bg_area_end {
  position: relative;
  width: 100%;
  background: #f2f2f2; }
  @media screen and (min-width: 769px) {
    #bg_area_end {
      padding: 10rem 0; } }
  @media screen and (max-width: 768px) {
    #bg_area_end {
      padding: 10vw 0; } }

.end_block {
  position: relative; }
  @media screen and (min-width: 769px) {
    .end_block {
      padding: 0; } }
  @media screen and (max-width: 768px) {
    .end_block {
      padding: 0; } }

@media screen and (min-width: 769px) {
  .end_block.mgn {
    padding: 8rem 0 0; } }
@media screen and (max-width: 768px) {
  .end_block.mgn {
    padding: 8vw 0 0; } }

.end_block .inner {
  position: relative;
  background: #fff; }
  @media screen and (min-width: 769px) {
    .end_block .inner {
      border-radius: 1.6rem;
      padding: 5rem 5rem 5rem; } }
  @media screen and (max-width: 768px) {
    .end_block .inner {
      border-radius: 2vw;
      padding: 5.3vw; } }

.end_block .hgroup {
  position: relative;
  text-align: center; }
  @media screen and (min-width: 769px) {
    .end_block .hgroup {
      padding-bottom: 4rem; } }
  @media screen and (max-width: 768px) {
    .end_block .hgroup {
      padding-bottom: 5.3vw;
      width: 89vw;
      margin: 0 auto; } }

.end_block .hgroup h2 {
  position: relative;
  color: #f08300;
  letter-spacing: 0.08em;
  padding: 0;
  margin: 0;
  font-weight: 500; }
  @media screen and (min-width: 769px) {
    .end_block .hgroup h2 {
      line-height: 1.688em;
      font-size: 3.2rem; } }
  @media screen and (max-width: 768px) {
    .end_block .hgroup h2 {
      font-size: 5vw;
      line-height: 1.7; } }

@media screen and (max-width: 768px) {
  .end_block .hgroup p {
    text-align: left; } }

.end_block .profile_set {
  position: relative;
  display: flex; }
  @media screen and (min-width: 769px) {
    .end_block .profile_set {
      justify-content: space-between;
      align-items: flex-start; } }
  @media screen and (max-width: 768px) {
    .end_block .profile_set {
      flex-direction: column;
      gap: 4vw; } }

.end_block .profile_set dl {
  position: relative;
  display: flex; }
  @media screen and (min-width: 769px) {
    .end_block .profile_set dl {
      width: 57rem;
      justify-content: space-between;
      align-items: flex-start; } }
  @media screen and (max-width: 768px) {
    .end_block .profile_set dl {
      width: 100%;
      flex-direction: column;
      gap: 4vw; } }

.end_block .profile_set dl dt {
  position: relative;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important; }
  @media screen and (min-width: 769px) {
    .end_block .profile_set dl dt {
      width: 20rem;
      height: 26.4rem; } }
  @media screen and (max-width: 768px) {
    .end_block .profile_set dl dt {
      width: 100%; } }

.end_block .profile_set dl dt img {
  position: relative; }
  @media screen and (min-width: 769px) {
    .end_block .profile_set dl dt img {
      width: 100%;
      height: 100% !important;
      display: block;
      object-fit: cover; } }
  @media screen and (max-width: 768px) {
    .end_block .profile_set dl dt img {
      width: 100%; } }

.end_block .profile_set dl dd {
  position: relative;
  margin: 0 !important; }
  @media screen and (min-width: 769px) {
    .end_block .profile_set dl dd {
      width: 33rem;
      padding: 5rem 0 0 !important; } }
  @media screen and (max-width: 768px) {
    .end_block .profile_set dl dd {
      width: 100%;
      padding: 0 !important; } }

.end_block .profile_set dl dd h3 {
  position: relative;
  color: #f08300;
  letter-spacing: 0.08em;
  padding: 0;
  margin: 0;
  font-weight: 500; }
  @media screen and (min-width: 769px) {
    .end_block .profile_set dl dd h3 {
      line-height: 1.539em;
      font-size: 2.6rem;
      padding-bottom: 1rem; } }
  @media screen and (max-width: 768px) {
    .end_block .profile_set dl dd h3 {
      font-size: 5vw;
      line-height: 1.7;
      padding-bottom: 2vw;
      text-align: center; } }

.end_block .profile_set dl dd p,
.end_block .indent {
  position: relative;
  color: #000;
  letter-spacing: 0.02em;
  padding: 0;
  margin: 0;
  font-weight: 400; }
  @media screen and (min-width: 769px) {
    .end_block .profile_set dl dd p,
    .end_block .indent {
      line-height: 2em;
      font-size: 1.4rem; } }
  @media screen and (max-width: 768px) {
    .end_block .profile_set dl dd p,
    .end_block .indent {
      font-size: 3.2vw;
      line-height: 1.7; } }

@media screen and (min-width: 769px) {
  .end_block .indent {
    padding-left: 1.4rem;
    text-indent: -1.4rem; } }
@media screen and (max-width: 768px) {
  .end_block .indent {
    padding-left: 3.2vw;
    text-indent: -3.2vw; } }

.end_block .bg_ttl {
  position: relative;
  display: block;
  width: 100%;
  background: #f2f2f2;
  color: #000;
  text-align: center; }
  @media screen and (min-width: 769px) {
    .end_block .bg_ttl {
      margin: 5rem 0 3rem !important;
      padding: 1.5rem 0 !important; } }
  @media screen and (max-width: 768px) {
    .end_block .bg_ttl {
      padding: 2.6vw !important;
      margin: 6.6vw 0 4vw !important; } }

.end_block .bg_ttl {
  color: #000;
  letter-spacing: 0.08em;
  font-weight: 500; }
  @media screen and (min-width: 769px) {
    .end_block .bg_ttl {
      line-height: 1em;
      font-size: 2.6rem; } }
  @media screen and (max-width: 768px) {
    .end_block .bg_ttl {
      font-size: 4vw;
      line-height: 1.7; } }
