@charset "utf-8";

/* common */
html {
  font-size:62.5%;
  line-height:1.6;
}
body {
  color:#333;
  font-family: 游ゴシック, YuGothic, "ヒラギノ角ゴ ProN", HiraKakuProN, sans-serif;
}
.-sp {
  display: block;
}
.-pc {
  display: none;
}
.-mincho {
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN", HiraMinProN, 'Noto Serif JP', serif;
}
.-gothic {
  font-family: 游ゴシック, YuGothic, "ヒラギノ角ゴ ProN", HiraKakuProN, sans-serif;
}
.-grey {
  background:#F5F5F5;
}
p {
  font-size:3.733vw;
  margin-bottom:0;
  text-align:justify;
  line-height:1.8;
}
dt, dd {
  font-size:3.733vw;
  margin:0;
}
dd {
  line-height:1.8;
}
a {
  font-size:3.733vw;
  text-decoration: underline;
  color:#333;
}
img {
  height:auto;
}
h2 {
  font-size:7.467vw;
}
h3 {
  font-size:6.4vw;
  letter-spacing:.05em;
}
h4 {
  font-size:5.333vw;
}
dl, ol, ul {
  margin:0;
  padding:0;
}
ol, ul {
  list-style:none;
}
li {
  font-size:3.733vw;
  line-height:1.8;
}
h1, h2, h3, h4 {
  font-weight:normal;
  /*font-feature-settings:"palt";*/
}
h1, h2, h3, h4, .img {
  margin-bottom:0;
}
button:focus {
  outline:none;
}

p + p {
  margin-top:2rem;
}
dl + dl {
  margin-top:2rem;
}
.pht-shadow {
  box-shadow:4px 4px 0 rgba(0,0,0,.9);
}
.btn {
  background:#333;
  border-radius:40px;
  padding:4vw 2.667vw;
  position:relative;
}
.btn.-half {
  margin:0 -9.3vw 0 0;
  padding:2.667vw;
  border-radius:40px 0 0 40px;
}
.btn a {
  display:block;
  color:#fff;
  text-align:center;
  font-size:4.267vw;
  text-decoration:none;
}
.btn a::after {
  content:"〉";
  font-size:4.8vw;
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
}
@media only screen and (min-width: 751px) {
  :root {
    --vw: 1vw;
    min-width:1080px;
  }
  a[href*="tel:"] {
    pointer-events:none;
    cursor:default;
    text-decoration:none;
  }
  .-sp {
    display: none;
  }
  .-pc {
    display: block;
  }
  .-pc.spacer {
    display:inline;
  }
  .flex-pc {
    display:flex;
    justify-content:space-between;
  }
  p {
    font-size:1.4rem;
  }
  dt, dd {
    font-size:1.4rem;
  }
  li {
    font-size:1.4rem;
  }
  a {
    font-size:1.4rem;
  }
  h2 {
    font-size:3.6rem;
  }
  h3 {
    font-size:2.8rem;
  }
  h4 {
    font-size:2rem;
  }
  .btn {
    padding:30px 20px;
  }
  .btn.-half {
    margin:0 -40px 0 0;
    padding:10px;
  }
  .btn a {
    font-size:1.6rem;
  }
  .btn a::after {
    font-size:1.6rem;
    right:0;
  }
}

/* フェードアニメーション */
.fade-in {
  opacity: 0;
  animation: fadeIn 1.5s ease-in forwards;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUp 1.2s ease-out forwards;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-loazy {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in-loazy.-sideR {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in-loazy.-sideL {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in-loazy.-flip {
  opacity: 0;
  transform: rotateY(90deg);
  transform-origin: center;
  animation: flipFadeIn 1s ease-out forwards;
  backface-visibility: hidden;
}
.fade-in-loazy.active {
  opacity: 1;
  transform: translateY(0);
}
.fade-in-loazy.-sideR.active,
.fade-in-loazy.-sideL.active {
  transform: translateX(0);
}
.fade-in-loazy.-flip.active {
  transform: rotateY(0deg);
}

/* header */
.header_menu {
  width:100%;
  padding:2.667vw 0;
  position:fixed;
  top:0;
  z-index:10000;
  backface-visibility:hidden;
}
.header_menu_inner {
  padding:0 2.667vw;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.header_menu_logo {
  width:32vw;
  margin:0;
}
.lower .header_menu {
  min-height:7.227vh;
  padding:0;
  background:#fff;
  border-bottom:1px solid #333;
}
.lower .header_menu_inner {
  min-height:7.227vh;
  justify-content:space-between;
}
/* nav */
.nav {
  width:12vw;
  height:10vw;
}
.nav-button {
  width:30px;
  height:20px;
  color:#333;
  position:fixed;
  top:4.8vw;
  right:4.8vw;
  display:block;
  z-index:10001;
}
.nav-button:before {
  content:'';
  width:100%;
  height:0px;
  display:block;
  border-top:2px solid;
  position:absolute;
  -moz-transition:all .3s;
  -o-transition:all .3s;
  -webkit-transition:all .3s;
  transition:all .2s;
  top:0;
}
.nav-button:after {
  content:'';
  width:100%;
  height:0px;
  display:block;
  border-top:2px solid;
  position:absolute;
  -moz-transition:all .3s;
  -o-transition:all .3s;
  -webkit-transition:all .3s;
  transition:all .3s;
  bottom:0;
}
.nav-button span {
  width:100%;
  height:1px;
  margin:auto;
  position:absolute;
  top:0;
  bottom:0;
  border-top:2px solid #333;
  -moz-transition:all .3s;
  -o-transition:all .3s;
  -webkit-transition:all .3s;
  transition:all .3s;
}
.dark-scheme .nav-button span,
.dark-scheme .nav-button::before,
.dark-scheme .nav-button::after {
  border-top:2px solid #fff;
}
.is-open .nav-button {
  color:#fff;
}
.is-open .nav-button:before {
  -moz-transform:rotate(45deg);
  -o-transform:rotate(45deg);
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
  margin:auto;
  position:absolute;
  top:0;
  bottom:0;
}
.is-open .nav-button:after {
  -moz-transform:rotate(-45deg);
  -o-transform:rotate(-45deg);
  -webkit-transform:rotate(-45deg);
  transform:rotate(-45deg);
  margin:auto;
  position:absolute;
  top:0;
  bottom:0;
}
.is-open .nav-button span {
  opacity:0;
}
.nav-title {
  position:absolute;
  right:4vw;
  bottom:.5vw;
  font-size:3.733vw;
}
.nav-sp {
  pointer-events:none;
  width:100%;
  height:0;
  position:absolute;
  top:0;
  left:0;
  z-index:9999;
  background:rgba(0,0,0,.9);
  -moz-transition:all .3s;
  -o-transition:all .3s;
  -webkit-transition:all .3s;
  transition:all .3s;
}
.is-open .nav-sp {
  pointer-events:auto;
  height:100vh;
  overflow:hidden;
}
.nav-list {
  padding:12vw 5.333vw 0;
  display:none;
}
.is-open .nav-list {
  display:block;
}
body.is-fix {
  overflow-y:hidden;
}
.nav-item {
  padding:4vw 2.667vw;
  text-align:center;
}
.nav-item:nth-child(n+2) {
  border-top:1px solid #fff;
}
.nav-item:last-child {
  padding-top:8vw;
}
.nav-item a {
  display:block;
  color:#fff;
  font-size:3.733vw;
  text-decoration:none;
}
.nav-item a img {
  width:36vw;
}

@media only screen and (min-width: 751px) {
  .header_menu {
    padding:40px 0 0;
  }
  .header_menu_inner {
    padding:0 40px;
  }
  .header_menu_logo {
    width:180px;
  }
  .lower .header_menu {
    padding:10px 0;
    height:73px;
    min-height:0;
  }
  .lower .header_menu_inner {
    min-height:0;
  }
  /* nav */
  .nav {
    width:40px;
    height:30px;
  }
  .nav:hover {
    cursor:pointer;
  }
  .nav-button {
    width:40px;
    height:30px;
    top:40px;
    right:40px;
  }
  .lower .nav-button {
    top:20px;
  }
  .nav-list {
    width:1080px;
    margin:0 auto;
    padding:80px 0 0;
  }
  .is-open .nav-list {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
  }
  .nav-item {
    width:500px;
    padding:30px 0;
    border-top:1px solid #fff;
  }
  .nav-item:nth-child(n+7) {
    border-bottom:1px solid #fff;
  }
  .nav-item:last-child {
    padding:80px 0 0;
    width:100%;
    border-top:none;
    border-bottom:none;
  }
  .nav-item a:hover {
    text-decoration:underline;
  }
  .nav-item a img {
    width:270px;
  }
  body.is-fix {
    overflow-y:auto;
  }
  .nav-item a {
    font-size:1.4rem;
  }
}

/* footer */
.footer-cta {
  background:#333;
  color:#fff;
  padding:0 9.3vw;
}
.footer-cta-link {
  padding:12vw 0;
}
.footer-cta-link.-line {
  border-top:1px solid #fff;
}
.footer-cta-link p {
  text-align:center;
}
.footer-cta-separate {
  display:none;
}
.footer-cta-btn {
  text-align:center;
}
.footer-cta-btn a {
  display:block;
  margin:12vw 0 4vw;
}
.footer-cta-btn a img {
  width:13vw;
}
.footer-menu {
  padding:12vw 9.3vw 20vw;
}
.footer-menu-head {
  padding:0 5.333vw;
}
.footer-menu-item {
  padding:8vw 0 2.667vw;
  position:relative;
  border-bottom:1px solid #333;
}
.footer-menu-item a {
  text-decoration:none;
}
.footer-menu-item a::after {
  content:"〉";
  font-size:4.8vw;
  position:absolute;
  right:0;
  top:65%;
  transform:translateY(-50%);
}
.footer-menu-item dt {
  color:#ccc;
  font-size:6.4vw;
  font-weight:normal;
}
.footer-sub-link {
  padding:0 0 5.333vw;
}
.footer-sub-link p {
  text-align:center;
}
.copyright {
  text-align:center;
  background:#333;
  color:#fff;
}
small {
  font-size:3.733vw;
  line-height:2.4;
}
@media only screen and (min-width: 751px) {
  /* footer */
  .footer-cta {
    padding:0;
    display:flex;
    justify-content:center;
  }
  .footer-cta-link {
    width:540px;
    padding:60px 70px;
  }
  .footer-cta-link.-line {
    border-top:none;
  }
  .footer-cta-link p {
    font-size:1.8rem;
  }
  .footer-cta-separate {
    display:block;
    height:240px;
    width:1px;
    margin:auto 0;
    border-left:1px solid #ccc;
  }
  .footer-cta-btn a {
    margin:100px 0 20px;
  }
  .footer-cta-btn a img {
    width:74px;
  }
  .footer-menu {
    width:1080px;
    margin:0 auto;
    padding:80px 0 120px;
    display:flex;
    align-items:center;
  }
  .footer-menu-head {
    width:300px;
    padding:0;
  }
  .footer-menu-head img {
    width:210px;
  }
  .footer-menu-list {
    width:780px;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
  }
  .footer-menu-item {
    width:350px;
    padding:10px 0;
  }
  .footer-menu-item:nth-child(n+3) {
    margin:30px 0 0;
  }
  .footer-menu-item a::after {
    font-size:1.6rem;
  }
  .footer-menu-item dt {
    font-size:2.4rem;
  }
  .footer-sub-link {
    padding:0 0 20px;
  }
  small {
    font-size:1.4rem;
  }
}

/* パンくずリスト */
.breadcrumb {
  background:#333;
  border-bottom:1px solid #fff;
}
.producer .breadcrumb {
  border-top:1px solid #fff;
}
.breadcrumb-list {
  padding:4vw 8vw;
  display:flex;
  flex-wrap:wrap;
}
.breadcrumb-item {
  color:#fff;
  padding:0 .5em 0 0;
}
.breadcrumb-item:last-child {
  padding:0;
}
.breadcrumb-item:nth-child(n+2)::before {
  content:">";
  padding:0 .5em 0 0;
}
.breadcrumb-item a {
  color:#fff;
  text-decoration:underline;
}
@media only screen and (min-width: 751px) {
  .breadcrumb-list {
    width:1080px;
    margin:0 auto;
    padding:10px 0;
    justify-content:center;
  }
}

/* トップページ */
.mv_bg {
  padding:0 0 0 9.3vw;
}
.mv_title {
  margin:-8vw 0 0;
  padding:0 0 8vw;
  text-align:center;
}
.mv_logo {
  padding:0 18.6vw;
  margin:0 0 2.667vw;
}
.mv_logo img {
  width:100%;
}
.mv_head {
  font-size:4vw;
  line-height:2;
}
.mv_head::after {
  content:"|";
  display:block;
  transform:scale(1,5.375);
  line-height:1;
  margin:12vw 0 14.667vw;
}
.mv_subHead {
  padding:0 36.3vw;
}
.mv_subHead img {
  width:100%;
}
.concept_body {
  margin:-12vw 0 0;
  padding:0 14vw 20vw;
}
.-c003 .concept_body {
  margin:-24vw 0 0;
}
.concept_subHead {
  margin:0 0 10.667vw;
}
.-c001 .concept_subHead {
  padding:0 42vw 0 0;
}
.-c002 .concept_subHead {
  padding:0 43vw 0 0;
}
.-c003 .concept_subHead {
  padding:0 47.5vw 0 0;
}
.concept_head {
  font-size:4.267vw;
  font-weight:bold;
  margin:0 0 2rem;
}
.-merit {
  background:#F5F5F5;
  border-top:1px solid #333;
  border-bottom:1px solid #333;
}
.merit_head {
  padding:8vw 0 12vw;
}
.merit_head span {
  display:block;
  line-height:1;
  padding:9vw 0 3vw;
  font-size:4.267vw;
  font-weight:bold;
  text-align:center;
  background:url(../images/img-merit-head.webp) center center / contain no-repeat;
}
.merit_body {
  border-top:1px solid #333;
}
.merit_list_item {
  border-bottom:1px solid #333;
  padding:0 9.3vw;
}
.merit_item_body {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-left:1px solid #333;
  border-right:1px solid #333;
  padding:8vw 5.333vw 8vw 0;
}
.merit_item_body dt {
  width:25%;
  text-align:center;
}
.merit_item_body dt img {
  width:auto;
  height:5vw;
}
.merit_item_body dd {
  width:75%;
}
.merit_note {
  padding:8vw 9.3vw
}
.-intro {
  background:#333;
}
.intro_subHead {
  padding:0 27.5%;
  margin:-18vw 0 0;
}
.intro_body {
  background:#333;
  color:#fff;
  padding:16vw 9.3vw 12vw;
  margin:-12vw 0 0;
}
.intro_head {
  text-align:center;
  font-size:4.267vw;
  margin:0 0 8vw;
}
.intro_list {
  margin:0 0 8vw;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
.intro_list_item {
  width:38.4vw;
  height:38.4vw;
  background:#DBD7CE;
  border-radius:50%;
  display:flex;
  align-items:center;
  text-align:center;
  justify-content:center;
  color:#333;
  font-weight:bold;
}
.intro_list_item:nth-child(n+3) {
  margin-top:4vw;
}
.-step {
  background:#F5F5F5;
  padding:24vw 9.3vw 16vw;
}
.step-head {
  margin:0 0 16vw;
  border-top:1px solid #333;
  position:relative;
}
.step-head span {
  background:#f5f5f5;
  padding:0 .5em;
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  top:-6vw;
}
.step-list {
  margin:12vw 0 16vw;
}
.step-list-item:nth-child(N+2) {
  margin:5.333vw 0 0;
}
.step-list-item dl {
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.step-list-item dl dt {
  width:16%;
}
.step-list-item dl dt img {
  width:10.7vw;
}
.step-list-item:nth-child(2) dl dt img {
  width:10.9vw;
}
.step-list-item:nth-child(3) dl dt img {
  width:10.23vw;
}
.step-list-item dl dd {
  width:84%;
  font-size:4.267vw;
  font-weight:bold;
}
.step-list-item dl dd span {
  font-size:3.733vw;
}
.-seminar {
  padding:4.65vw;
}
.seminar-body {
  padding:8vw 4.65vw 12vw;
  background:#F8F8F8;
}
.seminar-head {
  font-size:4.8vw;
  text-align:center;
  margin:0 0 8vw;
  font-weight:bold;
}
.seminar-flow-list {
  margin:0 0 12vw;
}
.seminar-flow-item dl {
  display:flex;
  align-items:center;
}
.seminar-flow-item dl dt {
  width:8.84%;
}
.seminar-flow-item dl dd {
  width:91.16%;
  padding:0 0 0 4vw;
  font-size:4.267vw;
  font-weight:bold;
}
.seminar-flow-item dl + dl {
  margin:0;
}
.seminar-price {
  background:#fff;
  padding:2.667vw;
  font-size:4.8vw;
  font-weight:bold;
  text-align:right;
}
.seminar-price span:nth-child(1) {
  font-size:6.4vw;
}
.seminar-price span:nth-child(2) {
  display:block;
  font-size:3.733vw;
}
.seminar-pht-grid {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  grid-template-rows:repeat(2, 1fr);
  gap:0px;
}
.seminar-pht-grid div:nth-child(1) {
  grid-row: span 2 / span 2;
}
.seminar-pht-item:nth-child(3) {
  display:flex;
}
.-seminarApl {
  background:url(../images/bg-seminar-appeal.webp) center center / cover no-repeat;
  padding:20vw 8vw 16vw;
}
.-voice {
  padding:16vw 0 20vw;
}
.voice-head {
  margin:0 0 8vw;
}
.voice-head span {
  display:block;
  line-height:1;
  padding:17vw 0 3vw;
  font-size:4.8vw;
  font-weight:bold;
  text-align:center;
  background:url(../images/img-voice-title.webp) center center / contain no-repeat;
}
.voice-list-item {
  padding:2.667vw 0 5.333vw;
}
.voice-list-item:nth-child(odd) {
  background:#F8F8F8;
}
.voice-item-title {
  padding:0 6.28vw;
  display:flex;
  align-items:center;
}
.voice-item-title div:nth-child(1) {
  width:21%;
}
.voice-item-title div:nth-child(2) {
  width:79%;
  padding:0 0 0 1em;
  font-feature-settings:"palt";
}
.voice-item-text {
  padding:5.333vw 9.3vw 0;
}
.voice-item-text span {
  display:block;
  text-align:right;
  margin:1em 0 0;
}
.voice-more {
  padding:0 9.3vw;
  margin:12vw 0 0;
}
.-faq {
  padding:16vw 0 20vw;
  background:#F8F8F8;
}
.faq-head {
  margin:0 0 4vw;
}
.faq-head span {
  display:block;
  line-height:1;
  padding:9vw 0 9vw;
  font-size:4.8vw;
  font-weight:bold;
  text-align:center;
  background:url(../images/img-faq-head.webp) center center / contain no-repeat;
}
.faq-body {
  padding:0 9.3vw;
}
.faq-item-que,
.faq-item-ans {
  border-top:1px solid #B4B4B4;
  padding:4vw 2.667vw 4vw 0;
  display:flex;
  align-items:center;
}
.faq-item-que {
  background:#fff;
}
.faq-item-que div:nth-child(1),
.faq-item-ans div:nth-child(1) {
  width:11.5%;
}
.faq-item-que div:nth-child(2),
.faq-item-ans div:nth-child(2) {
  width:88.5%;
  padding:0 0 0 .5em;
}
.-produce {
  background:#333;
}
.produce-pht {
  padding:5.11vw 5.11vw 0 0;
}
.produce-body {
  padding:0 9.3vw;
  margin:-11vw 0 0;
  position:relative;
}
.produce-text {
  background:#fff;
  padding:8vw 9.3vw 12vw;
}
.produce-head {
  font-size:4.267vw;
  margin:0 0 5.333vw;
  font-weight:bold;
}
.produce-image {
  margin:2em 0;
}
.produce-name {
  margin:8vw 0;
}
.produce-name ul li {
  text-align:right;
}
.produce-name h3 {
  margin:4vw 0 0;
  padding:4vw 0 0;
  border-top:1px solid #333;
  font-size:5.333vw;
  text-align:right;
}
.produce-more {
  padding:0 0 0 25vw;
}
.produce-more .btn:nth-child(2) {
  margin-top:12vw;
}
.produce-more .btn:nth-child(2) a {
  line-height:3.2;
}

@media only screen and (min-width: 751px) {
  /* トップページ */
  .-mv {
    display:flex;
    position:relative;
    margin:0 0 80px;
  } 
  .mv_bg {
    width:65%;
    height:820px;
    padding:0;
  }
  .mv_img {
    width:100%;
    height:100%;
    background:url(../images/bg-top-mv-pc.webp) bottom right / auto 100% no-repeat;
  }
  .mv_img > img {
    display:none;
  }
  .mv_title {
    width:430px;
    height:fit-content;
    position:absolute;
    top:0;
    bottom:0;
    right:0;
    left:0;
    margin:auto;
    padding:0;
    transform:translateX(15vw);
  }
  .mv_logo {
    width:430px;
    padding:0;
    margin:0 0 20px;
  }
  .mv_head {
    width:430px;
    font-size:2.3rem;
  }
  .mv_head::after {
    content:"";
    display:block;
    transform:none;
    line-height:1;
    width:172px;
    margin:30px auto;
    border-top:1px solid #333;
  }
  .mv_subHead {
    width:430px;
    padding:0;
  }
  .mv_subHead img {
    width:187px;
  }
  .-concept {
    display:flex;
    align-items:center;
    height:600px;
    position:relative;
  }
  .-concept.-c002 {
    flex-direction:row-reverse;
  }
  .concept_image,
  .concept_body {
    width:50%;
  }
  .concept_image {
    height:100%;
  }
  .-c001 .concept_image {
    background:url(../images/bg-home-concept.webp) center right / auto 100% no-repeat;
  }
  .-c002 .concept_image {
    background:url(../images/bg-home-about.webp) center right / auto 100% no-repeat;
  }
  .-c003 .concept_image {
    background:url(../images/bg-home-point.webp) center right / auto 100% no-repeat;
  }
  .concept_image > img {
    display:none;
  }
  .concept_body {
    width:410px;
    height:fit-content;
    margin:0;
    padding:0 0 0 140px;
  }
  .-c002 .concept_body {
    padding:0 140px 0 0;
  }
  .-c003 .concept_body {
    margin:0;
  }
  .concept_subHead {
    height:fit-content;
    position:absolute;
    top:0;
    bottom:0;
    right:0;
    left:0;
    margin:auto;
  }
  .-c001 .concept_subHead {
    width:113px;
    padding:0;
  }
  .-c002 .concept_subHead {
    width:109px;
    padding:0;
  }
  .-c003 .concept_subHead {
    width:84px;
    padding:0;
  }
  .concept_head {
    font-size:1.6rem;
    margin:0 0 2rem;
  }
  .merit_head {
    padding:30px 0;
  }
  .merit_head span {
    padding:34px 0 14px;
    font-size:1.6rem;
  }
  .merit_list {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    grid-template-rows:repeat(3, 1fr);
    grid-column-gap:0px;
    grid-row-gap:0px;
    place-items:center;
  }
  .merit_list_item {
    border-bottom:1px solid #333;
    padding:0;
    display:flex;
  }
  .merit_list_item:nth-child(odd)::before {
    content:"";
    width:calc((var(--vw) * 100 - 1083px) / 2);
  }
  .merit_list_item:nth-child(even)::after {
    content:"";
    width:calc((var(--vw) * 100 - 1083px) / 2);
  }
  .merit_item_body {
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-left:1px solid #333;
    border-right:1px solid #333;
    padding:30px 0;
    min-height:150px;
  }
  .merit_list_item:nth-child(even) .merit_item_body {
    border-left:none;
  }
  .merit_item_body dt {
    width:195px;
    padding:0 0 0 50px;
    text-align:center;
    display:flex;
    justify-content:space-around;
  }
  .merit_item_body dt img {
    height:21px;
  }
  .merit_item_body dd {
    width:345px;
    padding:0 90px 0 0;
    line-height:2;
  }
  .merit_note {
    padding:40px 0;
    width:1080px;
    margin:0 auto;
  }
  .merit_note p {
    text-align:center;
  }
  .-intro {
    background:#333;
    position:relative;
  }
  .intro_image {
    height:630px;
    background:url(../images/bg-intro-image.webp) bottom center / cover no-repeat;
  }
  .intro_image > img {
    display:none;
  }
  .intro_subHead {
    width:265px;
    height:fit-content;
    padding:0;
    position:absolute;
    top:50px;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
  }
  .intro_body {
    width:1080px;
    padding:30px 0 60px;
    margin:0 auto;
  }
  .intro_head {
    font-size:1.6rem;
    margin:0 0 40px;
  }
  .intro_list {
    margin:0 0 40px;
    flex-wrap:nowrap;
    padding:0 40px;
  }
  .intro_list_item {
    width:218px;
    height:218px;
  }
  .intro_list_item:nth-child(n+3) {
    margin-top:0;
  }
  .intro_note {
    width:1080px;
    margin:0 auto;
  }
  .intro_note p {
    text-align:center;
  }
  .-step {
    padding:100px 0;
  }
  .step-head {
    width:1080px;
    margin:0 auto 100px;
  }
  .step-head span {
    font-size:5rem;
    top:-40px;
  }
  .step-body {
    width:1080px;
    margin:0 auto;
    display:flex;
    flex-wrap:wrap;
  }
  .step-image {
    width:660px;
  }
  .step-list {
    width:420px;
    margin:0;
    padding:40px 0 0 40px;
  }
  .step-list-item:nth-child(N+2) {
    margin:80px 0 0;
  }
  .step-list-item dl dt {
    display:none;
  }
  .step-list-item dl dd {
    width:100%;
    font-size:2.4rem;
  }
  .step-list-item dl dd span {
    font-size:2.4rem;
  }
  .step-more {
    width:1080px;
    margin-top:80px;
    padding:0 270px;
  }
  .-seminar {
    padding:80px 0;
  }
  .seminar-body {
    width:1080px;
    margin:0 auto;
    padding:20px;
    position:relative;
  }
  .seminar-head {
    font-size:1.8rem;
    margin:0;
    position:absolute;
    right:11%;
    top:5.5%;
  }
  .seminar-flow {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    justify-items:center;
    grid-template-rows:auto;
  }
  .seminar-image {
    width:520px;
    grid-area: 1 / 1 / 3 / 2;
  }
  .seminar-flow-list {
    width:520px;
    margin:100px 0 0;
    border-top:1px solid #333;
  }
  .seminar-flow-item {
    padding:0 0 0 96px;
  }
  .seminar-flow-item:nth-child(1) {
    display:none;
  }
  .seminar-flow-item dl {
    display:flex;
    align-items:center;
  }
  .seminar-flow-item dl dt {
    width:38px;
  }
  .seminar-flow-item dl dd {
    width:386px;
    padding:0 0 0 10px;
    font-size:1.4rem;
  }
  .seminar-price {
    padding:10px 40px;
    font-size:1.8rem;
    width:350px;
    height:fit-content;
  }
  .seminar-price span:nth-child(1) {
    font-size:2.4rem;
  }
  .seminar-price span:nth-child(2) {
    font-size:1.4rem;
  }
  .-seminarPht {
    height:630px;
    background:url(../images/bg-seminar-pht.webp) center center / auto 100% no-repeat;
  }
  .seminar-pht-list {
    display:none;
  }
  .-seminarApl {
    height:450px;
    background:url(../images/bg-seminar-appeal-pc.webp) center center / auto 100% no-repeat;
    padding:60px 0 0;
  }
  .seminar-appeal {
    width:344px;
    margin:0 auto;
  }
  .-voice {
    padding:100px 0;
  }
  .voice-head {
    width:1080px;
    margin:0 auto 20px;
  }
  .voice-head span {
    padding:55px 0 15px;
    font-size:1.8rem;
  }
  .voice-list {
    width:1080px;
    margin:0 auto;
  }
  .voice-list-item {
    padding:30px 270px;
  }
  .voice-item-title {
    padding:0;
  }
  .voice-item-title div:nth-child(1) {
    width:80px;
  }
  .voice-item-title div:nth-child(2) {
    width:460px;
    font-size:1.8rem;
  }
  .voice-item-text {
    padding:20px 0 0;
  }
  .voice-more {
    width:1080px;
    padding:0 270px;
    margin:100px auto 0;
  }
  .-faq {
    padding:80px 0;
  }
  .faq-head {
    margin:0 0 20px;
  }
  .faq-head span {
    padding:30px 0;
    font-size:1.8rem;
  }
  .faq-body {
    width:1080px;
    margin:0 auto;
    padding:0;
  }
  .faq-item-que,
  .faq-item-ans {
    padding:20px 10px;
    font-size:1.6rem;
  }
  .faq-item-que div:nth-child(1),
  .faq-item-ans div:nth-child(1) {
    width:70px;
  }
  .faq-item-que div:nth-child(2),
  .faq-item-ans div:nth-child(2) {
    width:1010px;
    padding:0 0 0 .5em;
  }
  .faq-item-que img,
  .faq-item-ans img {
    width:50px;
  }
  .-produce {
    padding:80px 0 0;
    position:relative;
  }
  .produce-pht {
    padding:0;
    position:absolute;
    top:40px;
    left:0;
    right:540px;
    margin:0 auto;
    width:520px;
    height:650px; 
    z-index:2;
  }
  .produce-body {
    width:1080px;
    padding:0 0 0 40px;
    margin:0 auto;
    position:relative;
  }
  .produce-bg {
    background:#fff;
  }
  .produce-text {
    padding:40px 40px 40px 540px;
    position:relative;
  }
  .produce-head {
    font-size:1.6rem;
    margin:0 0 2rem;
  }
  .produce-image {
    width:460px;
    height:538px;
    margin:0;
    position:absolute;
    left:30px;
    bottom:20px;
  }
  .produce-text p:nth-child(6) {
    margin-top:2em;
  }
  .produce-name {
    margin:60px 0;
    padding:0 0 0 240px;
  }
  .produce-name h3 {
    margin:16px 0 0;
    padding:16px 0 0;
    font-size:2.4rem;
  }
  .produce-more {
    padding:0 0 0 280px;
  }
  .produce-more .btn:nth-child(2) {
    margin-top:60px;
  }
  .produce-more .btn:nth-child(2) a {
    line-height:3.2;
  }
}

/* 下層共通 */
.lower .main {
  margin-top:7.227vh;
}
.lower_mv_img img {
  width:100%;
}
.lower_title {
  padding:10.667vw 0;
}
.lower_title_logo {
  padding:0 18.6vw;
  text-align:center;
}
.lower_title_logo::after {
  content: "|";
  display: block;
  transform: scale(1, 5);
  line-height: 1;
  margin: 10vw 0 13vw;
}
.lower_title_head {
  text-align:center;
  font-size:6.133vw;
}
@media only screen and (min-width: 751px) {
  .lower .main {
    margin-top:73px;
  }
  .lower_mv {
    height:550px;
    width:100%;
  }
  .lower_mv_img {
    display:none;
  }
  .lower_title {
    padding:100px 0 40px;
  }
  .lower_title_logo {
    padding:0;
  }
  .lower_title_logo::after {
    content: "";
    display: block;
    transform: none;
    line-height: 1;
    width: 172px;
    margin: 30px auto 20px;
    border-top: 1px solid #333;
  }
  .producer .lower_title_logo::after {
    border-top: 1px solid #fff;
  }
  .lower_title_logo img {
    width:428px;
  }
  .lower_title_head {
    text-align:center;
    font-size:2.3rem;
  }
}

/* Step Up */
.step-title-text {
  padding:0 9.3vw 10.667vw;
}
.stepup .-step {
  padding:0 9.3vw 4vw;
}
.stepup-head {
  height:100vw;
  display:flex;
}
.-step01 .stepup-head {
  justify-content:flex-end;
  background:url(../images/bg-stepup-step01.webp) center center / cover no-repeat;
}
.-step02 .stepup-head {
  justify-content:flex-start;
  background:url(../images/bg-stepup-step02.webp) center center / cover no-repeat;
}
.-step03 .stepup-head {
  justify-content:flex-end;
  background:url(../images/bg-stepup-step03.webp) center center / cover no-repeat;
}
.stepup-head-box {
  width:60vw;
  background:rgba(255,255,255,.8);
  display:flex;
  align-items:center;
  justify-content:center;
}
.stepup-head-box h2 {
  text-align:center;
}
.stepup-head-box h2 span {
  display:block;
  font-size:3.733vw;
  line-height:2;
}
.stepup-head-box h2 img {
  margin:0 0 4vw;
}
.-step01 .stepup-head-box h2 img {
  width:32vw;
}
.-step02 .stepup-head-box h2 img {
  width:36vw;
}
.-step03 .stepup-head-box h2 img {
  width:35vw;
}
.stepup-detail-box {
  padding:16vw 14vw 24vw;
}
.stepup-detail-box h3 {
  font-size:4.267vw;
  font-weight:bold;
  border-bottom:2px solid #333;
  margin:0 0 2rem;
}
.-step01 .stepup-detail-box h3 {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
}
.stepup-detail-box h3 span {
  font-size:3.733vw;
}
.stepup-detail-box dl {
  margin:5.333vw 0 0;
  padding:5.333vw 0 0;
  border-top:1px solid #333;
}
.stepup-detail-box dl dt {
  margin:0 0 2.667vw;
}

@media only screen and (min-width: 751px) {
  .stepup .lower_mv {
    background:url(../images/bg-mv-stepup_pc.webp) center center / cover no-repeat;
  }
  .step-title-text {
    padding:0 0 80px;
  }
  .step-title-text p {
    width:1080px;
    margin:0 auto;
    text-align:center;
  }
  .stepup .-step {
    padding:0 0 100px;
  }
  .stepup-content {
    display:flex;
    height:964px;
  }
  .stepup-content.-step02 {
    flex-direction:row-reverse;
  }
  .stepup-head {
    width:50%;
    height:964px;
  }
  .stepup-head-box {
    width:540px;
  }
  .stepup-head-box h2 {
    text-align:center;
  }
  .stepup-head-box h2 span {
    font-size:2.8rem;
  }
  .stepup-head-box h2 img {
    margin:0 0 30px;
  }
  .-step01 .stepup-head-box h2 img {
    width:289px;
  }
  .-step02 .stepup-head-box h2 img {
    width:328px;
  }
  .-step03 .stepup-head-box h2 img {
    width:325px;
  }
  .stepup-detail {
    width:50%;
    display:flex;
    align-items:center;
  }
  .-step02 .stepup-detail {
    justify-content:flex-end;
  }
  .stepup-detail-box {
    width:400px;
    padding:0 0 0 130px;
  }
  .-step02 .stepup-detail-box {
    padding:0 130px 0 0;
  }
  .stepup-detail-box h3 {
    font-size:1.6rem;
  }
  .stepup-detail-box h3 span {
    font-size:1.4rem;
  }
  .stepup-detail-box dl {
    margin:20px 0 0;
    padding:20px 0 0;
  }
  .stepup-detail-box dl dt {
    margin:0 0 20px;
  }
}

/* 認定サロン・ベベケアニスト */
.certified-content {
  padding:8vw 8vw 16vw;
}
.certified-area-head {
  font-size:4.8vw;
  font-weight:bold;
  display:flex;
  align-items:center;
}
.certified-area-head::after {
  content:"〉";
  font-size:3.733vw;
  padding:0 0 0 1em;
}
.certified-area-head a {
  font-size:4.8vw;
  font-weight:bold;
  text-decoration:none;
}
.certified-pref {
  margin-top:-20vw;
  padding-top:20vw;
}
.certified-pref:nth-child(n+2) {
  margin:-8vw 0 0;
}
.certified-pref-list {
  margin:8vw 0 16vw;
  padding:8vw 0 0;
  border-top:1px solid #333;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}
.certified-pref-item {
  width:47.5%;
  display:flex;
  justify-content:space-between;
  border-bottom:1px solid #ccc;
  align-items:center;
}
.certified-pref-item:nth-child(n+3) {
  margin:5.333vw 0 0;
}
.certified-pref-item::after {
  content:"〉";
  color:#ccc;
}
.certified-pref-item a {
  display:block;
  width:100%;
  text-decoration:none;
  font-size:4.267vw;
}
.certified-subHead {
  margin:8vw 0 0;
}
.certified-subHead h2 {
  font-size:5.333vw;
  font-weight:bold;
  text-align:center;
}
.certified-pref-head {
  font-size:4.8vw;
  font-weight:bold;
  margin:0 0 8vw;
  padding:0 0 5.333vw;
  border-bottom:2px solid #333;
}
.certified-salon {
  margin:0 0 12vw;
}
.certified-salon.-nist {
  margin:12vw 0;
}
.certified-salon-head {
  border-left:4px solid #333;
  padding:0 0 0 .5em;
  margin:0 0 8vw;
  line-height:1;
  font-size:4.267vw;
}
.-nist .certified-salon-list::after {
  content:"※掲載順はすべて順不同";
  display:block;
  text-align:right;
  margin:5.333vw 0 0;
  font-size:3.733vw;
}
.certified-salon-item {
  padding:0 0 8vw;
  border-bottom:1px solid #333;
}
.certified-salon-item:nth-child(n+2) {
  margin:8vw 0 0;
}
.certified-salon-pht.-vertical {
  padding:0 20%;
}
.certified-trainer-info {
  margin:2.667vw 0 0;
}
.certified-salon-detail {
  margin:2.667vw 0 0;
}
.-trainer .certified-salon-detail {
  margin:8vw 0 0;
  padding:5.333vw 0 0;
  border-top:1px solid #ccc;
}
.certified-salon-name {
  font-size:4.267vw;
}
.certified-salon-info {
  font-size:4.267vw;
}
.certified-salon-link {
  display:flex;
  justify-content:flex-end;
  margin:5.333vw 0 0;
}
.certified-salon-link .btn {
  width:70%;
}
.-nist .certified-salon-item {
  display:flex;
  justify-content:space-between;
  flex-wrap:nowrap;
  align-items:center;
}
.certified-nist-detail {
  width:71vw;
}
.certified-nist-btn {
  background:#333;
  width:13vw;
  height:13vw;
  border-radius:50%;
  display:flex;
  justify-content:center;
  align-items:center;
}
.certified-nist-btn a {
  display:block;
  color:#fff;
  font-size:6.4vw;
}
.certified-all-link {
  padding:0 8vw 24vw;
}
.certified-all-head {
  font-size:4.8vw;
  font-weight:bold;
  margin:0 0 8vw;
  padding:0 0 5.333vw;
  border-bottom:2px solid #333;
}
.certified-all-item {
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #333;
  padding:0 0 1rem;
}
.certified-all-item:nth-child(n+2) {
  margin:5.333vw 0 0;
}
.certified-all-item::after {
  content:"〉";
  color:#333;
}
.certified-all-item a {
  display:block;
  width:100%;
  text-decoration:none;
  font-size:4.8vw;
}
@media only screen and (min-width: 751px) {
  .certified .lower_mv {
    background:url(../images/bg-mv-certified_pc.webp) center center / cover no-repeat;
  }
  .certified-content {
    width:1080px;
    padding:40px 0 0;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    grid-template-rows:repeat(2, 1fr);
  }
  .-area .certified-content {
    display:block;
  }
  .certified-area {
    width:250px;
  }
  .certified-area-head {
    font-size:1.8rem;
  }
  .certified-area-head::after {
    font-size:1.4rem;
  }
  .certified-area-head a {
    font-size:1.8rem;
  }
  .certified-pref {
    margin-top:-120px;
    padding-top:120px;
  }
  .certified-pref:nth-child(n+2) {
    margin:0;
  }
  .certified-pref-list {
    margin:20px 0 80px;
    padding:20px 0 0;
    border-top:1px solid #333;
  }
  .certified-pref-item {
    width:100%;
  }
  .certified-pref-item:nth-child(n+3) {
    margin:0;
  }
  .certified-pref-item:nth-child(n+2) {
    margin:20px 0 0;
  }
  .certified-pref-item a {
    font-size:1.4rem;
  }
  .certied-area.-end {
    transform:translate(20px, -60px);
  }
  .certified-subHead {
    margin:40px 0 0;
  }
  .certified-subHead h2 {
    font-size:3.2rem;
  }
  .certified-pref-head {
    font-size:2.8rem;
    margin:0 0 60px;
    padding:0 0 20px;
    border-bottom:3px solid #333;
  }
  .certified-salon {
    margin:0 0 80px;
  }
  .certified-salon.-nist {
    margin:80px 0;
  }
  .certified-salon-head {
    margin:0 0 40px;
    font-size:2rem;
  }
  .-nist .certified-salon-list::after {
    margin:40px 0 0;
    font-size:1.4rem;
    width:100%;
  }
  .certified-salon-list {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
  }
  .certified-salon-item {
    width:520px;
    padding:0 0 40px;
  }
  .-trainer .certified-salon-item {
    width:100%;
    display:flex;
    justify-content:space-between;
  }
  .certified-salon-item:nth-child(n+2) {
    margin:0;
  }
  .certified-salon-item:nth-child(n+3) {
    margin:40px 0 0;
  }
  .-trainer .certified-salon-pht {
    width:311px;
    height:442px;
  }
  .-trainer .certified-salon-pht img {
    height:100%;
    width:auto;
  }
  .certified-salon-pht.-vertical {
    height:337px;
    padding:0;
    text-align:center;
  }
  .certified-salon-pht.-vertical img {
    height:100%;
    width:auto;
  }
  .certified-trainer-info {
    width:720px;
  }
  .certified-trainer-info h4 {
    font-size:2.4rem;
  }
  .certified-salon-detail {
    margin:20px 0 0;
  }
  .-trainer .certified-salon-detail {
    margin:40px 0 0;
    padding:40px 0 0;
  }
  .certified-salon-name {
    font-size:1.8rem;
  }
  .certified-salon-info {
    font-size:1.6rem;
  }
  .certified-salon-link {
    display:flex;
    justify-content:flex-end;
    margin:20px 0 0;
  }
  .certified-salon-link .btn {
    width:50%;
    padding:16px 20px;
  }
  .certified-salon-link .btn a {
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .certified-salon-link .btn a i {
    font-size:2.4rem;
    padding:0 .25em 0 0;
  }
  .-nist .certified-salon-item {
    padding:0 0 30px;
  }
  .certified-nist-detail {
    width:464px;
  }
  .certified-nist-name {
    font-size:1.8rem;
  }
  .certified-nist-info {
    font-size:1.6rem;
  }
  .certified-nist-btn {
    width:56px;
    height:56px;
  }
  .certified-nist-btn a {
    display:block;
    width:100%;
    text-align:center;
    font-size:2.8rem;
  }
  .certified-all-link {
    width:1080px;
    margin:0 auto;
    padding:120px 0;
  }
  .certified-all-head {
    font-size:2.8rem;
    margin:0 0 40px;
    padding:0 0 20px;
  }
  .certified-all-list {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    grid-template-rows:repeat(2, 1fr);
    grid-column-gap:16px;
    grid-row-gap:20px;
  }
  .certified-all-item {
    align-items:center;
  }
  .certified-all-item:nth-child(n+2) {
    margin:0;
  }
  .certified-all-item a {
    font-size:2rem;
  }
}

/* トレーナー紹介 */
.trainer-overview {
  padding:8vw 8vw 24vw;
}
.trainer-overview-head {
  font-size:5.867vw;
  border-bottom:2px solid #333;
  padding:0 0 2.667vw;
  margin:0;
  font-weight:bold;
}
.trainer-overview-item {
  margin:12vw 0 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.trainer-overview-item:nth-child(n+2) {
  border-top:1px solid #333;
  padding-top:16vw;
}
.trainer-overview-image,
.trainer-overview-prof {
  width:48%;
}
.trainer-overview-name {
  font-size:5.333vw;
  margin:0 0 5.333vw;
}
.trainer-overview-link.btn a {
  font-size:3.733vw;
  text-align:left;
}
@media only screen and (min-width: 751px) {
  .trainer-overview {
    width:1080px;
    margin:0 auto;
    padding:40px 0 0;
  }
  .trainer-overview-head {
    font-size:3.2rem;
    padding:0 0 20px;
    margin:0 0 60px;
  }
  .trainer-overview-list {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    grid-column-gap:40px;
  }
  .trainer-overview-item {
    width:520px;
    margin:0;
    display:flex;
    flex-wrap:wrap;
  }
  .trainer-overview-item:nth-child(n+2) {
    border-top:none;
    padding-top:0;
  }
  .trainer-overview-prof {
    margin-bottom:40px;
  }
  .trainer-overview-name {
    font-size:2rem;
    margin:0 0 40px;
  }
  .trainer-overview-link.btn a {
    font-size:1.6rem;
  }
  .trainer-overview-link {
    padding:20px;
  }
}

/* トレーナープロフィール */
.trainer-profile {
  padding:8vw 8vw 24vw;
}
.trainer-profile-text {
  margin:4vw 0 0;
}
.trainer-profile-data {
  padding:0 0 12vw;
  border-bottom:1px solid #333;
}
.trainer-profile-head {
  font-size:6.4vw;
  margin:0 0 2.667vw;
}
.trainer-profile-salon {
  margin:4vw 0 0;
}
.trainer-profile-salon dt {
  font-size:4.267vw;
}
.trainer-profile-link {
  margin:8vw 0 0;
  padding:0 0 0 30%;
}
.trainer-profile-career {
  margin:12vw 0 0;
  padding:0 0 12vw;
  border-bottom:1px solid #ccc;
}
.trainer-career-list li:nth-child(n+2) {
  margin:5.333vw 0 0;
}
.trainer-career-list dt {
  margin:0 0 1.333vw;
  padding:0 0 1.333vw;
  border-bottom:1px dashed #ccc;
}
.trainer-profile-message {
  margin:16vw 0 0;
}
.trainer-profile-message h3 {
  font-size:4.267vw;
  border-bottom:1px solid #333;
  margin:1.5em 0;
  font-weight:bold;
}
/*：プロフィール下部リンク */
.trainer-all-link {
  padding:8vw 8vw 24vw;
}
.trainer-all-link h3 {
  font-size: 4.8vw;
  font-weight: bold;
  margin: 0 0 8vw;
  padding: 0 0 2.667vw;
  border-bottom: 2px solid #333;
}
.trainer-all-item {
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.trainer-all-item:nth-child(n+2) {
  border-top:1px solid #333;
  margin:8vw 0 0;
  padding:8vw 0 0;
}
.trainer-all-image,
.trainer-all-info {
  width:48%;
}
.trainer-all-item h4 {
  font-size:4.8vw;
  margin:0 0 4vw;
}
.trainer-all-btn .btn a {
  font-size:3.733vw;
  text-align:left;
}
@media only screen and (min-width: 751px) {
  .trainer-profile {
    width:1080px;
    margin:0 auto;
    padding:40px 0 0;
  }
  .trainer-profile-detail {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
  }
  .trainper-profile-image {
    width:493px;
  }
  .trainer-profile-text {
    width:520px;
    margin:0;
  }
  .trainer-profile-data {
    padding:0 0 40px;
    border-bottom:1px solid #333;
  }
  .trainer-profile-head {
    font-size:3.2rem;
    margin:0 0 20px;
  }
  .trainer-profile-salon {
    margin:30px 0 0;
  }
  .trainer-profile-salon dt {
    font-size:1.8rem;
  }
  .trainer-profile-link {
    margin:40px 0 0;
    padding:0 0 0 50%;
  }
  .trainer-profile-link .btn {
    padding:20px;
  }
  .trainer-profile-career {
    margin:40px 0 0;
    padding:0;
    border-bottom:none;
  }
  .trainer-career-list li:nth-child(n+2) {
    margin:20px 0 0;
  }
  .trainer-career-list dt {
    margin:0 0 10px;
    padding:0 0 10px;
  }
  .trainer-profile-message {
    margin:60px 0 0;
    padding:0;
    border-top:none;
  }
  .trainer-profile-message h3 {
    font-size:1.8rem;
  }
/*：プロフィール下部リンク */
  .trainer-all-link {
    width:1080px;
    margin:0 auto;
    padding:160px 0 0;
  }
  .trainer-all-link h3 {
    font-size: 2.8rem;
    margin: 0 0 40px;
    padding: 0 0 20px;
  }
  .trainer-all-list {
    display:flex;
    justify-content:space-between;
  }
  .trainer-all-item {
    width:520px;
  }
  .trainer-all-item:nth-child(n+2) {
    border-top:none;
    margin:0;
    padding:0;
  }
  .trainer-all-item h4 {
    font-size:2rem;
    margin:0 0 40px;
  }
  .trainer-all-btn .btn {
    padding:20px;
  }
  .trainer-all-btn .btn a {
    font-size:1.6rem;
  }

}

/* プロデューサー紹介 */
.producer .main {
  background:#333;
  color:#fff;
}
.producer-content {
  padding:8vw 8vw 12vw;
}
.producer-profile-head {
  font-size:6.4vw;
  margin:4vw 0;
}
.producer-profile-address {
  margin:4vw 0 8vw;
}
.producer-profile-account li:nth-child(n+2) {
  margin:8vw 0 0;
}
.producer-profile-account dt {
  margin:0 0 4vw;
  font-weight:normal;
}
.producer-profile-btn .btn {
  background:#fff;
}
.producer-profile-btn .btn a {
  color:#333;
}
.producer-profile-career {
  margin:12vw 0 0;
  padding:12vw 0 0;
  border-top:1px solid #fff;
}
.producer-profile-history {
  margin:12vw 0 0;
  padding:12vw 0 0;
  border-top:1px solid #fff;
}
.producer-history-list li:nth-child(n+2) {
  margin:5.333vw 0 0;
}
.producer-history-list dt {
  margin:0 0 1.333vw;
  padding:0 0 1.333vw;
  border-bottom:1px dashed #fff;
}
.producer-photo-list {
  background:#fff;
  padding:8vw;
}
.producer-photo-list li:nth-child(n+2) {
  margin:8vw 0 0;
}
@media only screen and (min-width: 751px) {
  .producer-content {
    padding:40px 0 0;
  }
  .producer-profile {
    width:1080px;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  .producer-profile-image {
    width:700px;
  }
  .producer-profile-detail {
    width:340px;
  }
  .producer-profile-head {
    font-size:3.2rem;
    margin:0 0 20px;
  }
  .producer-profile-address {
    margin:20px 0 40px;
  }
  .producer-profile-account li:nth-child(n+2) {
    margin:60px 0 0;
  }
  .producer-profile-account dt {
    margin:0 0 20px;
  }
  .producer-profile-btn .btn {
    padding:20px;
  }
  .producer-profile-career {
    width:1080px;
    margin:0 auto;
    padding:40px 0 80px;
    border-top:none;
  }
  .producer-profile-history {
    width:1080px;
    margin:0 auto;
    padding:80px 0;
  }
  .producer-history-list li:nth-child(n+2) {
    margin:1.5em 0 0;
  }
  .producer-history-list dl {
    display:flex;
  }
  .producer-history-list dt {
    width:100px;
    margin:0;
    padding:0;
    border-bottom:none;
  }
  .producer-history-list dd {
    width:980px;
  }
  .producer-photo {
    background:#fff;
    padding:60px 0;
  }
  .producer-photo-list {
    width:1080px;
    margin:0 auto;
    padding:0;
    display:flex;
    justify-content:space-between;
  }
  .producer-photo-list li {
    width:320px;
  }
  .producer-photo-list li:nth-child(n+2) {
    margin:0;
  }
}

/* 導入サロンの声 */
.voice-full-head {
  font-size:4.8vw;
  text-align:center;
  font-weight:bold;
  margin:0 0 12vw;
}
.voice-full-list {
  margin:0 0 16vw;
}
.voice-full-item {
  padding:8vw 8vw 12vw;
}
.voice-full-item:nth-child(odd) {
  background:#F8F8F8;
}
.voice-full-prof {
  margin:0 0 12vw;
}
.voice-prof-image {
  padding:0 17.44vw;
  margin:0 0 5.333vw;
}
.voice-prof-name h3 {
  text-align:center;
  font-size:4.8vw;
  font-weight:bold;
  line-height:1.4;
}
.voice-prof-name h3 span {
  display:block;
  font-size:7.467vw;
  font-weight:normal;
  margin:5.333vw 0 0;
}
.voice-full-text h4 {
  font-size:4.267vw;
  font-weight:bold;
  margin:1.5em 0;
}
.voice-full-link {
  margin:12vw 0 0;
  padding:0 0 0 25%;
}
@media only screen and (min-width: 751px) {
  .voice-full-head {
    font-size:1.8rem;
    margin:0 0 50px;
  }
  .voice-full-list {
    width:1080px;
    margin:0 auto;
  }
  .voice-full-item {
    padding:60px 250px;
  }
  .voice-full-prof {
    margin:0 0 40px;
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  .voice-prof-image {
    padding:0;
    margin:0;
    width:255px;
  }
  .voice-prof-name {
    width:270px;
  }
  .voice-prof-name h3 {
    text-align:left;
    font-size:1.8rem;
    font-feature-settings:"palt";
  }
  .voice-prof-name h3 span {
    font-size:3.2rem;
    margin:20px 0 0;
  }
  .voice-full-text h4 {
    font-size:1.6rem;
  }
  .voice-full-link {
    margin:60px 0 0;
    padding:0 0 0 50%;
  }
  .voice-full-link .btn {
    padding:20px;
  }
}

/* プライバシーポリシー */
.privacy-content {
  padding:0 8vw 24vw;
}
.privacy-text h2,
.privacy-text h3,
.privacy-text h4 {
  font-weight:bold;
  margin:1.5em 0;
}
.privacy-text h2 {
  font-size:4.8vw;
}
.privacy-text h3 {
  font-size:4.267vw;
}
.privacy-text h4 {
  font-size:3.733vw;
}
@media only screen and (min-width: 751px) {
  .privacy-content {
    padding:0 0 160px;
  }
  .privacy-text {
    width:1080px;
    margin:0 auto;
  }
  .privacy-text h2 {
    font-size:2rem;
  }
  .privacy-text h3 {
    font-size:1.8rem;
  }
  .privacy-text h4 {
    font-size:1.6rem;
  }
}

/* cookie許可ポップアップ */
.cookie-consent {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-direction:column;
  position:fixed;
  bottom:-200px;
  width:100%;
  font-size:3.2vw;
  background:rgba(255,255,255,.8);
  padding:4vw 2.667vw;
  box-sizing:border-box;
  visibility:visible;
  transition:.5s;
}
.cookie-consent.is-show {
  bottom:0;
}
.cookie-text {
  width:100%;
  margin-bottom:2.667vw;
}
.cookie-text a {
  font-size:3.2vw;
}
.cookie-agree {
  color:#fff;
  background:#333;
  padding:.5em 1.5em;
}
.cookie-agree:hover {
  cursor:pointer;
}
/* パッと消える */
.cc-hide1 {
  display:none;
}
/* ゆっくり消える */
.cc-hide2 {
  animation:hide 1s linear 0s;
  animation-fill-mode:forwards;
}
@keyframes hide {
  from {
    opacity:1;
  }
  to {
    opacity:0;
    visibility:hidden;
  }
}
@media only screen and (min-width: 751px) {
  /* cookie許可ポップアップ */
  .cookie-consent {
    left:calc(50% - 800px/2);
    width:800px;
    font-size:1.4rem;
    padding:1em 2em;
    text-align:center;
    border:1px solid #333;
  }
  .cookie-text {
    margin-bottom:1em;
  }
  .cookie-text a {
    font-size:1.4rem;
  }
}