:root {
  --main-color: #007a58;
  --sub-color: #00503a;
  --f-red: #dc0c12;
  --f-red2: #ff001e;
  --f-yellow: #fffc00;
  --pink: #ff0061;
  --yg: #eaff64;
  --yg2: #deff48;
  --dg: #165c47;
  --regu: 400;
  --midi: 500;
  --bold: 700;
}


body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: var(--regu);
}

.wrapper {
  width: 100%;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  font-style: normal;
  font-size: min(3.2vw, 16px);
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  line-height: 1.75;
  /*  letter-spacing: 0.1em;*/
  color: #333;
  background: #fff;
}


.en {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings:
    "wdth"100;
}

a {
  text-decoration: none;
  color: #333;
  transition: .4s;
}

a:hover {
  opacity: .8;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.pc-only {
  display: block;
}

.sp-only {
  display: none;
}

@media (max-width: 750px) {
  .pc-only {
    display: none;
  }

  .sp-only {
    display: block !important;
  }
}

.orange {
  color: #fc5926;
}

.orange2 {
  color: #f88561;
}

.orange3 {
  color: #ffe0b4;
}

.yellow {
  color: #e6fc4f;
}

.yellow2 {
  color: #ffd800;
}

.blue {
  color: #59a1c3;
}

.relative {
  position: relative;
}

/*flexbox*/
.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}

.flex-sb {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-fs {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-fe {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.flex-c {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.aline-c {
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}


/*****************
 　　header
   *****************/
.header {
  padding: 17px 10px;
}

.header .inner {
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.header .header_logo {
  width: 324px;
  max-width: 32%;
  height: auto;

}

.header .tenpomei {
  border: var(--pink) 2px solid;
  padding: 8px 20px;
  border-radius: 10px;
  color: var(--pink);
  font-size: min(calc(26/750*100vw), 26px);
  margin-left: 22px;
  font-weight: var(--midi);
}



.header_obi {
  background: var(--yg2);
  text-align: center;
  font-size: min(calc(23/750*100vw), 23px);
  padding: 7px;
  font-weight: var(--bold);
}

.header_obi .red {
  color: var(--pink);
}

.header_obi span span {
  font-size: min(calc(35/750*100vw), 35px);
}

/*****************
 　　MV
   *****************/
.mv {
  background: var(--main-color);
  padding-top: 28px;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  position: relative;
  overflow: hidden;
}

.p-mv-txt {
  padding: 0 10px;
  background: url("../img/fv_bg_img.png") right bottom no-repeat;

  background-size: 34%;
}

.scrolling-track {
  position: absolute;
  bottom: 45px;
  left: 0;
  white-space: nowrap;
  display: inline-block;
  -webkit-animation: marquee 15s linear infinite;
  animation: marquee 15s linear infinite;
  pointer-events: none;
}

.scrolling-track span {
  display: inline-block;
  color: #014432;
  font-weight: var(--bold);
  font-size: min(calc(175/750*100vw), 175px);
  padding-right: 80px;
}

@-webkit-keyframes marquee {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@keyframes marquee {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.mv [class^="txt"] {
  color: #fff;
}

.mv .txt01 {
  margin: min(calc(40/750*100vw), 30px) 0 min(calc(40/750*100vw), 40px) 0;
  font-weight: var(--bold);
  font-size: min(calc(44/750*100vw), 47px);
  letter-spacing: .04em;
}

.mv .txt01 span {
  font-size: min(calc(67/750*100vw), 67px);
}

.mv .txt01 span.yellow {
  font-size: min(calc(60/750*100vw), 60px);
}
.mv .txt01 span.yellow.mt15{
  margin-top: 18px;
  display: inline-block;
}

.mv .txt01 span.yellow span {
  font-size: min(calc(93/750*100vw), 92px);
}

.mv .h1_title {
  font-weight: var(--bold);
  font-size: min(calc(82/750*100vw), 82px);
  text-align: center;
  line-height: 1.2;
  color: #fff;
}

.mv .h1_title .big {
  font-size: min(calc(110/750*100vw), 98px);
}

.mv .txt02 {
  display: block;
  width: 63.33%;
  margin: 0 auto;
}

.mv .txt03 {
  margin-bottom: 8px;
  font-size: min(calc(23/750*100vw), 18px);
  line-height: 1.5;
  font-weight: var(--midi);
}

.mv .maru04 {
  position: absolute;
  width: min(calc(112/750*100vw), 112px);
  right: 3%;
  bottom: 37%;
}

.mv_middle {
  padding-bottom: 4%;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

.mv .pic01 {
  width: 27.2%;
  margin-left: 5.6%;
  margin-top: 28px;
}

.mv .pic02 {
  width: 29.87%;
  margin-right: 2.93%;
}

.mv_bottom {

  background: var(--sub-color);
  height:240px ;
}

.mv_bottom .txt04 {
  color: #fff;
  text-align: center;
  padding: 1% 0;
  font-size: min(calc(24/750*100vw), 20px);
  font-weight: var(--bold);
  letter-spacing: 1px;
}

.mv_bottom .maru {
  gap: 1.33%;
}

.mv_bottom .maru li {
  width: 31%;
}

.p-mv-subtitle {
  margin: 0 auto;
  padding: 13px 10px;
  width: 780px;
  max-width: 100%;
  color: var(--main-color);
  font-weight: 700;
  background: #fff;
  border-radius: 30px;
  text-align: center;
  font-size: min(calc(24/750*100vw), 28px);
}

.p-circle-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  gap: 20px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  /* スマホで折り返し */
  position: relative;
}

.p-circle-item {
  margin-top: -20px;
  width: min(calc(146/750*100vw), 146px);
  height: min(calc(146/750*100vw), 146px);
  border-radius: 50%;
  background: var(--yg);
  /* 黄緑っぽい背景 */
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
  font-size: min(calc(24/750*100vw), 18px);
  font-weight: var(--bold);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
  letter-spacing: 0;
}

.p-circle-item p:last-child {
  margin-bottom: 0;
}

.p-circle-item .p-emphasis {
  color: var(--pink);
}

.p-circle-item_1 p {
  margin-bottom: min(calc(10/750*100vw), 10px);
  line-height: 1;
}

.p-circle-item_2 p {
  line-height: 1;
}

.p-circle-item_3 p {
  margin-bottom: min(calc(5/750*100vw), 5px);
  line-height: 1;
}

.p-circle-item_4 p {
  line-height: 1.27;
}

.p-circle-item_5 p {
  margin-bottom: min(calc(7/750*100vw), 7px);
  line-height: 1;
}

.p-circle-item_1 .p-emphasis {
  font-size: min(calc(31/750*100vw), 24px);
}

.p-circle-item_1 span span {
  font-size: min(calc(40/750*100vw), 30px);
}

.p-circle-item_2 p {
  font-size: min(calc(25/750*100vw), 20px);
}

.p-circle-item_2 span {
  font-size: min(calc(36/750*100vw), 28px);
}

.p-circle-item_3 span {
  font-size: min(calc(40/750*100vw), 30px);
}

.p-circle-item_3 span span {
  font-size: min(calc(57/750*100vw), 43px);
}

.p-circle-item_4 span {
  font-size: min(calc(40/750*100vw), 31px);
}

.p-circle-item_5 span {
  font-size: min(calc(28/750*100vw), 22px);
  letter-spacing: -.06em;
}

@media screen and (max-width: 768px) {
  .p-circle-list {
    padding-top:  calc(45 / 750 * 100vw);
    gap:0 calc(20 / 750 * 100vw);
  }

  .p-mv-txt {
    padding-bottom: calc(10 / 750 * 100vw) ;
    background-image: url(../img/fv_bg_img_sp.png);
    background-repeat: no-repeat;
    background-position: right top calc(60/750*100vw);
    background-size: calc(294/750*100vw);
  }

  .scrolling-track {
    bottom: calc(300/750*100vw);
  }
  .mv {
    padding-top: calc(30/750*100vw);
}
  .p-mv-subtitle {
    padding: calc(17 / 750 * 100vw) 0;
    font-size: calc(26 / 750 * 100vw);
    letter-spacing: 0;
}
  .p-mv-subtitle  span{
    letter-spacing: -.5em;
  }
  .mv .txt01{
    line-height: 1.1;
  }
  .p-circle-item {
    margin-top: 0;
    width: calc(192 / 750 * 100vw);
    height: calc(192 / 750 * 100vw);
  }

}

/*****************
 　　CTA
   *****************/
.cvArea {
  margin-top:-80px;
  background: #fff;
  width: 92%;
  border-radius: min(calc(30/750*100vw), 30px);
  position: relative;
}

.cta_top {
  position: absolute;
  top: -8%;
  width: 108.7%;
  margin-left: -4.2%;
}


.cvArea .txt05 {
  text-align: center;
  font-size: min(calc(34/750*100vw), 32px);
  color: var(--main-color);
  font-weight: var(--bold);
}

.cvArea .txt06 {
  text-align: center;
  font-size: min(calc(32/750*100vw), 26px);
  color: var(--f-red);
  font-weight: var(--bold);
  line-height: 1.3;
  margin-bottom: 0.3em;
}

.cvArea .txt06 .big {
  font-size: min(calc(38/750*100vw), 36px);
}

.cvArea .txt07 {
  text-align: center;
  font-size: min(calc(16/750*100vw), 16px);
  color: #5d5d5d;
  font-weight: var(--bold);

}

.cvArea .cv_btns {
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: center;
  max-width: 100%;
  width: 906px;
}

.cvArea .cv_btns li {
  margin-top: 3%;
}

.cvArea .cv_btns li.btn01 a {
  background-color:var(--pink);
  box-shadow: 0px 6px 0px 0px rgba(146, 0, 56, 1);
  border-radius: min(calc(100/750*100vw), 100px);
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  padding: 2% 0 2% 5%;
  aspect-ratio: 610/120;
  position: relative;
}

.cvArea .cv_btns li.btn01 a:before {
  content: '';
  background: url("../img/icon_tel.png");
  width: min(calc(60/750*100vw), 60px);
  aspect-ratio: 1;
  position: absolute;
  left: 4%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-size: contain;
}

.cvArea .cv_btns li a > span {
  display: block;
  font-weight: var(--bold);
  letter-spacing: .06em;
  line-height: 1.5;
  /*  padding-left: 1em;*/
}

.cvArea .cv_btns li.btn01 a .txt-top {
  font-size: min(calc(24/750*100vw), 25px);
  margin-bottom: 1.5%;
}

.cvArea .cv_btns li a .txt-top .small {
  font-size: 80%;
}

.cvArea .f-yellow {
  color: var(--f-yellow);
}

.cvArea .cv_btns li.btn01 a .btn-tel {
  font-size: min(calc(42/750*100vw), 44px);

}

.cvArea .cv_btns li a .txt-bottom {
  font-size: min(calc(25/750*100vw), 25px);
}

.cvArea .cv_btns li.btn02 {
  width: 66%;
}

.cvArea .cv_btns li.btn03 {
  width: 32%;
}

.cvArea .cv_btns li.btn02 a {
  background-color: rgb(0, 191, 0);
  box-shadow: 0px 6px 0px 0px rgba(2, 147, 1);
  border-radius: min(calc(100/750*100vw), 100px);
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  padding: 2% 0 2% 5%;
  aspect-ratio: 596/121;
  position: relative;
}


.cvArea .cv_btns li.btn02 a .txt-top {
  font-size:min(4.2vw,36px);
}
.cvArea .cv_btns li.btn02 a .txt-bottom {
  font-size:min(2.67vw,18px);
}

@-webkit-keyframes shiny {
  0% {
    left: -20%;
  }

  10% {
    left: 120%;
  }

  100% {
    left: 120%;
  }
}

@keyframes shiny {
  0% {
    left: -20%;
  }

  10% {
    left: 120%;
  }

  100% {
    left: 120%;
  }
}

.shiny-btn {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}

.shiny-btn::after {
  content: '';
  position: absolute;
  top: -10%;
  left: -20%;
  width: 40px;
  height: 100%;
  -webkit-transform: scale(2) rotate(20deg);
  transform: scale(2) rotate(20deg);
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);

  /* アニメーション */
  -webkit-animation-name: shiny;
  animation-name: shiny;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.cvArea .cv_notes {
  text-align: center;
  font-size: min(calc(16/750*100vw), 16px);
  margin-top: 2em;
}

@media only screen and (max-width: 768px) {

  .cvArea .cv_btns li.btn01,
  .cvArea .cv_btns li.btn02{
    width: 100%;
  }

  .cvArea .cv_btns li.btn02 a{
    aspect-ratio: 610 / 120;
  }
  .cvArea.l-inner{
    width: 93%;
  }
  .p-fv + .cvArea{
    margin-top: calc(-200/750*100vw);
  }
  
  .mv_bottom{
    height:calc(660/750*100vw);
  }
  
  .cvArea .cv_btns li.btn01 a > span{
    line-height: 1;
  }
  .cvArea .cv_btns li.btn01 a .txt-bottom,
  .cvArea .cv_btns li.btn01 a .txt-top{
    font-weight: var(--regu);
}
  .cvArea .cv_btns li{
    margin-top: calc(24/750*100vw);
  }

}

/*********************
  クーポン
*************************/
.campaign {
  position: relative;
  padding-top: 5%;
  margin: 5% auto;
}

.campaign .ttl01 {
  position: absolute;
  text-align: center;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  color: #ac0011;
  font-weight: var(--bold);
  font-size: min(calc(63/750*100vw), 63px);

}

.campaign .ttl01 span {
  display: inline;
  vertical-align: baseline;
}

.campaign .ttl01 .big {
  font-size: min(calc(80/750*100vw), 80px);
}


/*********************
  おまかせください
*************************/
.omakase .inner {
  width: 92%;
  margin: 0 auto;
}

.omakase .txt10 {
  font-size: min(calc(30/750*100vw), 30px);
  letter-spacing: 1px;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 1em;
}

.omakase .bg_green {
  background: var(--main-color);
  color: #fff;
  padding: 1px 5px;
  border-radius: min(calc(10/750*100vw), 10px);
}

.omakase .marker {
  background: linear-gradient(transparent 60%, var(--f-yellow) 60%);
}

.omakase .ttl02 {
  font-size: min(calc(43/750*100vw), 43px);
  letter-spacing: 2px;
  font-weight: var(--bold);
  line-height: 1.4;
  margin-bottom: 1em;
}

.omakase .img {
  width: 100%;
  margin-bottom: 1em;
}

.omakase .txt11 {
  font-size: min(calc(28/750*100vw), 28px);
}


/*********************
  5つの理由
*************************/
.reason {
  background: var(--main-color);
  padding-top: 40px;
  padding-bottom: 40px;
  margin-top: 80px;
  position: relative;
  overflow: hidden;
}

.scrolling-track.p-top {
  top: 15%;
}

.scrolling-track.p-mid {
  top: 50%;
}

.scrolling-track.p-bottom {
  top: 85%;
}

.reason .inner {
  width: calc(650/750*100%);
  margin: 0 auto;
  z-index: 2;
  position: relative;
}

.reason-list li {
  background: #fff;
  border-radius: clamp(10px, 2.5vw, 20px);
  position: relative;
  padding: 8%;
  margin-top: 20%;
}

.reason-list li:before {
  content: '01';
  position: absolute;
  top: -20%;
  left: 6%;
  font-size: min(calc(142/750*100vw), 142px);
  font-family: "Roboto", sans-serif;
  font-weight: var(--bold);
  color: #22b198;
  letter-spacing: -3px;
}

.reason-list li:first-child:before {
  content: '01';
  position: absolute;
  top: -20%;
  left: 6%;
  font-size: min(calc(142/750*100vw), 142px);
  font-family: "Roboto", sans-serif;
  font-weight: var(--bold);
  color: #22b198;
  letter-spacing: -3px;
}

.reason-list li:nth-child(2):before {
  content: '02';
}

.reason-list li:nth-child(3):before {
  content: '03';
}

.reason-list li:nth-child(4):before {
  content: '04';
}

.reason-list li:nth-child(5):before {
  content: '05';
}

.reason-list li .reason-ttl {
  font-size: min(calc(42/750*100vw), 42px);
  color: var(--main-color);
  font-weight: var(--bold);
}

.reason-list li .reason-txt {
  font-size: min(calc(28/750*100vw), 22px);
}

.reason-list li .reason-img {
  width: calc(293/560*100%);
  margin: 1em auto 0;
}

.reason .reason_img {
  position: absolute;
  width: 84%;
  top: 0;
  right: 0;
}

.reason .reason02 .reason_img,
.reason .reason04 .reason_img {
  position: absolute;
  width: 84%;
  top: 0;
  left: 0;
  right: auto;
}

.reason .txtArea {
  position: absolute;
  z-index: 2;
  width: 85.33%;
  top: 63%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.reason .txtArea.last {
  position: absolute;
  z-index: 2;
  width: 85.33%;
  top: 51%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.reason .ttl {
  font-size: min(calc(42/750*100vw), 42px);
  font-weight: var(--bold);
  color: #f88561;
  margin-bottom: 0.5em;
}

.reason .reason02 .ttl,
.reason .reason04 .ttl {
  color: #fff;
}

.reason .text {
  font-size: min(calc(24/750*100vw), 16px);
}




/*********************
  FAQ
*************************/
.faq {
  padding-top: clamp(40px, 10vw, 80px);
  padding-bottom: clamp(40px, 10vw, 80px);
}

.faqList {
  width: 84%;
  margin: 0 auto;
}

.faq .q_title {
  background: #fff;
  padding: 5% 8% 5% 12%;
  border-radius: 10px;
  margin-top: 3%;
  color: var(--main-color);
  position: relative;
  font-weight: var(--bold);
  border: 1px solid var(--main-color);
  font-size: min(calc(26/750*100vw), 20px);
}

.faq .q_title:after {
  border-right: solid 4px var(--main-color);
  border-top: solid 4px var(--main-color);
  content: "";
  display: block;
  height: 12px;
  position: absolute;
  right: 5%;
  top: 38%;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  transition: top .3s ease-in-out, -webkit-transform .3s ease-in-out;
  transition: transform .3s ease-in-out, top .3s ease-in-out;
  transition: transform .3s ease-in-out, top .3s ease-in-out, -webkit-transform .3s ease-in-out;
  width: 12px;
  z-index: 2;
}

.faq .q_title:before {
  content: '';
  background: url("../img/icon_q.png") no-repeat;
  background-size: contain;
  position: absolute;
  width: min(calc(40/750*100vw), 30px);
  height: auto;
  aspect-ratio: 30/31;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 3%;
}


.faq .q_title.active {
  border-radius: 10px 10px 0 0;
  border-bottom: none;
  background-image: url("../img/dotto.png");
  background-position: bottom;
  background-repeat: repeat-x;
}

.faq .q_title.active:after {
  top: 45%;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.faq .a_contents {
  display: none;
  padding: 3% 5% 3% 12%;
  border-radius: 0 0 10px 10px;
  background: #fff;
  position: relative;
  border-right: 1px solid var(--main-color);
  border-left: 1px solid var(--main-color);
  border-bottom: 1px solid var(--main-color);
  font-size: min(calc(26/750*100vw), 20px);
}

.faq .a_contents:before {
  content: '';
  background: url("../img/icon_a.png") no-repeat;
  background-size: contain;
  position: absolute;
  width: min(calc(40/750*100vw), 30px);
  height: auto;
  aspect-ratio: 30/29;
  top: 26%;
  left: 3%;
}

/*********************
  メッセージ
*************************/
.message {
  background: var(--main-color);
  padding-top: clamp(40px, 10vw, 80px);
  padding-bottom: clamp(40px, 10vw, 80px);
}

.message .message_img {
  width: 52.8%;
  margin: 0 auto 2em;
}

.message .message_txt {
  width: 92%;
  margin: 0 auto;
  font-size: min(calc(24/750*100vw), 24px);
  color: #fff;
  letter-spacing: 1px;
}

/*********************
  会社概要
*************************/
.gaiyou {
  background: #e9e9e9;
  padding: 4% 0;
}

.gaiyou .title_gaiyou {
  font-size: min(calc(55/750*100vw), 55px);
  font-weight: var(--bold);
  text-align: center;
  margin-bottom: 20px;
}

.gaiyou .gaiyou_list {
  width: 84%;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 auto;
}

.gaiyou .gaiyou_list dt {
  width: 30%;
  margin-bottom: 1em;
}

.gaiyou .gaiyou_list dd {
  width: 68%;
  margin-bottom: 1em;
}

/*********************
  タイトル周り
*************************/
.title_text {
  text-align: center;
  line-height: 1.3;
  position: relative;
  margin: 0 auto;
}

.title_text.mt40 {
  margin-top: 40px;
}

.title_text.mb10 {
  margin-bottom: 10px;
}

.title_ud_txt {
  text-align: center;
  font-size: min(calc(28/750*100vw), 28px);
  /*  margin-bottom: 40px;*/
  margin-bottom: clamp(20px, 5.33vw, 40px);
}

.uv .fuki {
  position: absolute;
  width: min(calc(161/750*100vw), 161px);
  left: 12%;
  top: -53%;
}

.ttl08 {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  line-height: 1.3;
}

.ttl08 .ja {
  font-size: min(calc(32/750*100vw), 32px);
  color: var(--main-color);
}

.ttl08 .en {
  font-size: min(calc(76/750*100vw), 76px);
}

.ttl08.f-w .ja,
.ttl08.f-w .en {
  color: #fff;
}

.ttl08.f-g .en {
  color: var(--main-color);
}


/* ---------------------
フローティング
---------------------*/
.floating_bnr {
  transition: all .3s;
  /*  visibility: hidden;*/
  opacity: 1;
  z-index: 99999;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 100%;
  margin: 0 auto;
  /*  pointer-events: none;*/
  background: rgba(255, 255, 255, 0.8);
  padding: 8px 5px;
}

.txt12 {
  text-align: center;
  font-size: min(calc(28/750*100vw), 28px);
  margin-bottom: 0.5em;
  font-weight: var(--bold);
}

.floating_bnr.is-active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.floating_bnr .floating_btns li {
  width: 33%;
}

.floating_bnr .floating_btns li[class^="btn0"] a {
  border-radius: min(calc(10/750*100vw), 10px);
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  padding: 2% 0;
  aspect-ratio: 230/120;
  position: relative;
  text-align: center;
}

.floating_bnr .floating_btns li.btn01 a {
  background-color: rgb(220, 12, 18);
  box-shadow: 0px 6px 0px 0px rgba(152, 2, 7, 1);
}

.floating_bnr .floating_btns li.btn02 a {
  background-color: rgb(0, 191, 0);
  box-shadow: 0px 6px 0px 0px rgba(2, 147, 1);
}

.floating_bnr .floating_btns li.btn03 a {
  background-color: rgb(48, 114, 224);
  box-shadow: 0px 6px 0px 0px rgba(23, 69, 145, 1);
}

.floating_bnr .floating_btns li[class^="btn0"] a:before {
  content: '';
  background: url("../img/icon_tel.png");
  width: min(calc(120/750*100vw), 120px);
  aspect-ratio: 1;
  position: absolute;
  left: -14%;
  top: -20%;
  background-size: contain;
  opacity: 0.4;
}

.floating_bnr .floating_btns li.btn02 a:before {
  content: '';
  background: url("../img/icon_line.png");
}

.floating_bnr .floating_btns li.btn03 a:before {
  content: '';
  background: url("../img/icon_mail.png");
}

.floating_bnr .floating_btns li a > span {
  display: block;
  font-weight: var(--bold);
  letter-spacing: 1.5px;
  line-height: 1;
  /*  padding-left: 1em;*/
}

.floating_bnr .floating_btns li a .txt-top {
  font-size: min(calc(27/750*100vw), 27px);
  margin: 10% auto auto;
}

.floating_bnr .floating_btns li a .txt-top .small {
  font-size: 80%;
}

.floating_bnr .floating_btns .f-yellow {
  color: var(--f-yellow);
}

.floating_bnr .floating_btns li.btn01 a .btn-tel {
  font-size: min(calc(42/750*100vw), 44px);

}

.floating_bnr .floating_btns li a .txt-bottom {
  font-size: min(calc(22/750*100vw), 22px);
  margin: auto auto 5%;
}


@media (min-width: 750px) {
  .floating_bnr {
    max-width: 750px;
    padding: 8px 8%;
  }
}

/* ---------------------
フェードインアニメーション
---------------------*/
.fadein-target {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
}

.fadein-target.show {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/*
.fadein-target:nth-child(1) { transition-delay: 0s; }
.fadein-target:nth-child(2) { transition-delay: 0.3s; }
.fadein-target:nth-child(3) { transition-delay: 0.6s; }
.fadein-target:nth-child(4) { transition-delay: 0.9s; }
.fadein-target:nth-child(5) { transition-delay: 1.2s; }
.fadein-target:nth-child(6) { transition-delay: 1.5s; }
.fadein-target:nth-child(7) { transition-delay: 1.8s; }
.fadein-target:nth-child(8) { transition-delay: 2.1s; }*/


/*********************

add
***************/
.l-inner {
  margin-left: auto;
  margin-right: auto;
  width: 1000px;
  max-width: 100%;
}

/***********
CTA
***********/
.p-campaign {
  padding: min(calc(40 / 750 * 100vw), 70px) min(calc(40 / 750 * 100vw), 10px);
  text-align: center;
}

.p-title {
  font-size: min(calc(62 / 750 * 100vw), 88px);
  font-weight: var(--bold);
  color: var(--pink);
  font-weight: var(--bold);
  letter-spacing: .1em;
}

.p-title span {
  font-size: min(calc(78 / 750 * 100vw), 110px);
}


.p-subtitle {
  padding: 10px 20px;
  margin: min(calc(15 / 750 * 100vw), 17px) 0 min(calc(30 / 750 * 100vw), 30px);
  background: var(--pink);
  display: inline-block;
  border-radius: min(calc(43 / 750 * 100vw), 43px);
  color: #fff;
  font-weight: var(--bold);
  font-size: min(calc(39 / 750 * 100vw), 55px);
  font-weight: var(--bold);
}

.p-desc {
  margin-bottom: 30px;
  font-size: min(calc(20 / 750 * 100vw), 22px);
  line-height: 1.8;
  letter-spacing: .06em;
}


.p-tel-box {
  margin: 40px 0 30px 0;
  letter-spacing: .06em;
}

.p-tel-label {
  margin-bottom: 5px;
  font-size: min(calc(24 / 750 * 100vw), 18px);
}

.p-tel-number {
  margin: 18px 0;
  font-size: min(calc(42 / 750 * 100vw), 42px);
  font-weight: var(--bold);
  color: var(--pink);
}

.p-tel-time {
  font-size: min(calc(24 / 750 * 100vw), 18px);
}

.p-note {
  margin-top: 20px;
  font-size: min(calc(25 / 750 * 100vw), 28px);
  line-height: 1.6;
  letter-spacing: .06em;
  text-indent: -44px;
}

.p-note img {
  width: min(calc(30 / 750 * 100vw), 44px);
}

.p-tel-time span {
  font-weight: var(--bold);
}

.p-campaign-bottom {
  background-image: url(../img/illust-01.jpg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: min(calc(120 / 750 * 100vw), 183px);
}
@media only screen and (max-width: 768px) {
  .p-note{
    margin-top: calc(100/750*100vw);
    padding-left: 10px;
   padding-bottom: calc(44/750*100vw);
    text-align: left;
    text-indent: calc(-30 / 750 * 100vw);
  }
  .p-campaign{
    padding-bottom:  calc(120/750*100vw)
  }
  .p-campaign-bottom {
    background-size:calc(165/750*100vw);
}
  
}
/***********
p-target
***********/
.p-target {
  background-color: var(--main-color);
  color: #fff;
  text-align: center;
  padding: min(calc(90 / 750 * 100vw), 90px) 10px;
}

.p-target .l-wrap {
  width: 920px;
  max-width: 100%;
}

.p-target__title {
  font-size: min(calc(40 / 750 * 100vw), 40px);
  margin-bottom: 30px;
  position: relative;
  font-weight: var(--bold);
}

.p-target__title:before {
  content: "＼";
  font-size: 1.2em;
}

.p-target__title:after {
  content: "／";
  font-size: 1.2em;
}

.p-target__box {
  margin-bottom: 30px;
  background: #fff;
  border-radius: min(calc(20 / 750 * 100vw), 30px);
  padding: min(calc(30 / 750 * 100vw), 50px) min(calc(20 / 750 * 100vw), 30px);
  width: 700px;
  max-width: 100%;
  min-height: min(calc(300 / 750 * 100vw), 300px);
  text-align: left;
  position: relative;
  color: #000;
}

.p-target__heading {
  margin-bottom: min(calc(30 / 750 * 100vw), 30px);
  color: var(--pink);
  font-size: min(calc(40 / 750 * 100vw), 40px);
  font-weight: var(--bold);
}

.p-target__text {
  font-size: min(calc(22 / 750 * 100vw), 18px);
  line-height: 1.8;
}

.p-target__img {
  position: absolute;
  bottom: min(calc(-5 / 750 * 100vw), -5px);
}

.p-target__box_l {
  margin-right: auto;
}

.p-target__box_r {
  margin-left: auto;
}

.p-target__box.p-target__box_r .p-target__heading {
  text-align: center;
}

.p-target__box.p-target__box_r p {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.p-target__box_l .p-target__img {
  right: min(calc(-30 / -750 * 100vw), -30px);
  width: min(calc(205 / 750 * 100vw), 205px);
}

.p-target__box_r .p-target__img {
  left: min(calc(-5 / -750 * 100vw), -5px);
  width: min(calc(163 / 750 * 100vw), 163px);
}

.p-target__condition {
  background: var(--dg);
  color: #000;
  margin-top: 40px;
  width: 945px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.p-target__condition-title {
  padding: 5px 15px;
  width: 25%;
  text-align: center;
  color: var(--yg);
  font-weight: var(--bold);
  font-size: min(calc(40 / 750 * 100vw), 40px);
}

.p-target__condition-list {
  padding: min(calc(30 / 750 * 100vw), 30px);
  background: #fff;
  width: 75%;
}

.p-target__condition-list li {
  margin-left: 2em;
  margin-bottom: 10px;
  font-weight: var(--midi);
  font-size: min(calc(26 / 750 * 100vw), 26px);
  list-style: outside;
  line-height: 1.4;
}

.p-target__condition-list li:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
  .p-target__box_l .p-target__img {
    right: 0;
    bottom: -10px
  }

  .p-target__box_r .p-target__img {
    left: 0;
    bottom: -10px;
  }

  .p-target__box {
    min-height: min(calc(350 / 750 * 100vw), 200px);
  }
}

/***********
p-potential
***********/
.p-potential {
  margin: 60px auto;
  text-align: center;
  overflow: hidden;
}

.p-potential-title {
  text-align: left;
}

.p-potential-graph {
  margin-top: min(calc(-30 / -750 * 100vw), -30px);
  margin-bottom: 70px;
  text-align: center;
}

.p-potential__bubble {
  display: inline-block;
  background: #fff;
  color: var(--pink);
  font-weight: var(--bold);
  padding: .2em .8em;
  border-radius: 20px;
  font-size: min(calc(46 / 750 * 100vw), 46px);
  line-height: 1;
  position: relative;
  border: 4px solid var(--pink);
  position: relative;
  z-index: 2;
}

.p-potential__bubble::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 20px 10px 0 10px;
  border-color: var(--pink) transparent transparent;
  translate: -50% 100%;
}

.p-potential__bubble::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 21.1px 10.5px 0 10.5px;
  border-color: #ffffff transparent transparent;
  translate: -50% 100%;
}

.p-potential__title {
  padding: min(calc(55 / 750 * 100vw), 55px) 0 0 0;
  font-size: min(calc(57 / 750 * 100vw), 57px);
  font-weight: var(--bold);
  color: #fff;
}

.p-potential__box_wrap {
  margin-top: min(calc(-20 / -750 * 100vw), -20px);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
  background: var(--pink);
  border-radius: min(calc(30 / 750 * 100vw), 30px);
  width: 796px;
  max-width: 100%;
  overflow: hidden;
}

.p-potential__box {
  padding: min(calc(30 / 750 * 100vw), 30px) min(calc(10 / 750 * 100vw), 10px);
  margin: min(calc(30 / 750 * 100vw), 30px);
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  background: #fff;
  border-radius: min(calc(10 / 750 * 100vw), 10px);
}

.p-potential__left img {
  width: min(calc(166 / 750 * 100vw), 166px);
}

.p-potential__right img {
  width: min(calc(232 / 750 * 100vw), 232px);
}

.p-potential__left .p-potential__label {
  font-size: min(calc(27 / 750 * 100vw), 27px);
}

.p-potential__right .p-potential__label {
  font-size: min(calc(32 / 750 * 100vw), 32px);
}

.p-potential__label {
  margin-bottom: 20px;
  font-weight: var(--bold);
}

.p-potential__label.pink {
  color: var(--pink);
}

.p-potential__number {
  font-weight: var(--bold);
}

.p-potential__number span {
  margin-left: 3px;
}

.p-potential__left .p-potential__number span {
  font-size: min(calc(36 / 750 * 100vw), 36px);
}

.p-potential__right .p-potential__number span {
  font-size: min(calc(36 / 750 * 100vw), 57px);
}

.p-potential__number.pink {
  color: var(--pink);
}

.p-potential__arrow {
  font-size: min(calc(60 / 750 * 100vw), 60px);
  font-weight: var(--bold);
  color: var(--pink);
}

.p-potential__sub {
  margin-bottom: 25px;
  font-size: min(calc(60 / 750 * 100vw), 60px);
  font-weight: var(--bold);
  font-size: min(calc(28 / 750 * 100vw), 28px);

}

.p-potential__sub span {
  font-size: min(calc(40 / 750 * 100vw), 40px);
}

.p-potential__desc {
  font-size: min(calc(28 / 750 * 100vw), 28px);
  font-weight: var(--bold);
}

.p-potential__desc strong {
  font-weight: var(--bold);
  font-size: min(calc(38 / 750 * 100vw), 38px);
}


.p-potential__note {
  margin: 40px auto 0 auto;
  background: #ffebec;
  padding: min(calc(15 / 750 * 100vw), 15px) 5px min(calc(30 / 750 * 100vw), 30px) 5px;
  width: 680px;
  max-width: 100%;
}

.p-potential__note p {
  font-size: min(calc(34 / 750 * 100vw), 34px);
  font-weight: var(--bold);
  line-height: 1.2;
}

.p-potential__note strong {
  color: var(--pink);
}

.p-potential__note span {
  font-size: min(calc(48 / 750 * 100vw), 48px);
}

.p-potential-title img {
  max-width: 92.9%;
}

@media only screen and (max-width: 768px) {
  .p-potential {
    padding-left: 10px;
    padding-right: 10px;
  }

  .p-potential__box {
    margin: 10px;
  }

  .p-potential__bubble::before {
    border-width: 16px 8px 0 8px;
  }

  .p-potential__bubble::after {
    border-width: 7.1px 3.5px 0 3.5px;
  }

}

/***********
p-stability
***********/
.p-stability {
  padding: min(calc(110 / 750 * 100vw), 110px) 10px;
  text-align: center;
  background: #e9f9f1;
  /* 薄いグリーン背景 */
  overflow-x: hidden;
}

.p-stability__title {
  padding: 0 min(calc(40 / 750 * 100vw), 40px);
  margin: 0 auto 80px auto;
  font-size: min(calc(40 / 750 * 100vw), 50px);
  font-weight: var(--bold);
  color: var(--main-color);
  position: relative;
  width: 760px;
  max-width: 100%;
}

.p-stability__title::before,
.p-stability__title::after {

  content: "［";
  color: var(--main-color);
  font-weight: 900;
  font-size: 2em;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-stability__title::before {
  left: -.5em;
}

.p-stability__title::after {
  content: "］";
  right: -.5em;
}

.p-stability__circles {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  gap: 40px;
  margin-bottom: 30px;
}

.p-stability__circle {
  width: min(calc(350 / 750 * 100vw), 350px);
  height: min(calc(350 / 750 * 100vw), 350px);
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
  font-weight: var(--bold);
  line-height: 1.4;
  color: #fff;
}

.p-stability__circle p {
  font-size: min(calc(42 / 750 * 100vw), 42px);
  line-height: 1;
}

.p-stability__circle p span {
  padding: 10px 0;
  display: block;
}

.p-stability__circle--black p span {
  padding: 10px 0;
  font-size: min(calc(33 / 750 * 100vw), 33px);
  display: block;
}

.p-stability__circle--black p {
  color: #fff;
}

.p-stability__circle--black p span {
  color: var(--yg);
}

.p-stability__circle--black p strong {
  color: var(--yg);
}

.p-stability__circle p {
  margin: 0;
}

.p-stability__circle strong {
  display: block;
  font-size: min(calc(92 / 750 * 100vw), 92px);
}

.p-stability__circle--black {
  background: #222;
  color: var(--yg);
}

.p-stability__circle--yellow {
  background: var(--yg);
  color: #222;
}

.p-stability__arrow {
  margin: -30px 0 40px 0;
  color: var(--dg);
  font-size: min(calc(146 / 750 * 100vw), 146px);
}

.p-stability__bottom h3 {
  margin-bottom: 20px;
  font-size: min(calc(60 / 750 * 100vw), 60px);
  font-weight: var(--bold);
}

.p-stability__bottom p {
  font-size: min(calc(24 / 750 * 100vw), 24px);
  line-height: 1.6;
  font-weight: var(--bold);
}

@media only screen and (max-width: 880px) {
  .p-stability__circles {
    gap: 0;
  }
}

@media only screen and (max-width: 768px) {
  .p-stability__circle {
    width: 49vw;
    height: 49vw;
    aspect-ratio: 1 / 1;
  }
}

/***********
p-fc-sample
***********/
.p-fc-sample {
  padding: min(calc(200 / 750 * 100vw), 200px) 10px;
  background: var(--main-color);
}

.p-fc-sample__title {
  text-align: center;
  color: #fff;
  font-size: min(calc(65 / 750 * 100vw), 65px);
  font-weight: var(--bold);
  position: relative;
}

.p-fc-sample__title strong {
  color: var(--yg);
}

.p-fc-sample__title img {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: min(calc(-63 / -750 * 100vw), -63px);
}

.p-fc-sample__title span {
  position: relative;
  z-index: 2;
}

.p-fc-card {
  margin: min(calc(150 / 750 * 100vw), 110px) auto;
  padding: 40px min(calc(100 / 750 * 100vw), 100px) 60px min(calc(100 / 750 * 100vw), 100px);
  border-radius: min(calc(10 / 750 * 100vw), 10px);
  width: 730px;
  max-width: 100%;
  position: relative;
  background-image: url(../img/bg.jpg);
  box-shadow: 0px 5px 20px 0px rgba(75, 75, 75, 0.8);

}

.p-fc-card__header {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.p-fc-card__rate {
  position: absolute;
  right: min(calc(-60 / -750 * 100vw), -60px);
  top: min(calc(-60 / -750 * 100vw), -60px);
  width: min(calc(224 / 750 * 100vw), 224px);
}

.p-fc-card__header h3 {
  font-size: min(calc(52 / 750 * 100vw), 52px);
  font-weight: var(--bold);
}

.p-fc-card__staff {
  margin: 20px 0 40px 0;
  font-size: min(calc(32 / 750 * 100vw), 32px);
  font-weight: var(--midi);
}

.p-fc-card__list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 100%;
  width: 560px;
}

.p-fc-card__list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: min(calc(37 / 750 * 100vw), 37px);
  font-weight: var(--midi);
}

.p-fc-card__list li:not(:last-child) {
  margin-bottom: 25px;
}

.p-fc-card__list li.p-fc-card__profit {
  font-weight: var(--bold);
  color: var(--pink);
  font-size: min(calc(40 / 750 * 100vw), 40px);
}

.p-fc-model {
  text-align: center;
  margin: 40px auto 0;
  color: #fff;
}

.p-fc-model__title {
  font-weight: var(--bold);
  color: #fff;
  font-size: min(calc(65 / 750 * 100vw), 65px);
}

.p-fc-model__title span {
  color: var(--yg);
}

.p-fc-model__desc {
  margin: 10px auto 50px auto;
  font-size: min(calc(30 / 750 * 100vw), 30px);
}

.p-fc-model__note {
  font-weight: var(--midi);
  font-size: min(calc(30 / 750 * 100vw), 28px);
  line-height: 1.38;
}

.p-fc-model__img {
  margin: 50px auto 30px auto;
}

.p-fc-model__img img {
  max-width: 100%;
  border-radius: 6px;
  margin-bottom: 20px;
}

.p-fc-model__list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  width: 635px;
  max-width: 100%;
}

.p-fc-model__list li {
  padding: 20px;
  margin: 8px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: min(calc(34 / 750 * 100vw), 34px);
  font-weight: var(--midi);
  border-bottom: 2px solid #fff;
}


.p-fc-model__bottom {
  margin-top: 80px;
  font-size: min(calc(36 / 750 * 100vw), 36px);
  font-weight: var(--midi);
  line-height: 1.66;
}

@media only screen and (max-width: 850px) {
  .p-fc-card__rate {
    right: 0;
  }

  .p-fc-card {}
}

@media only screen and (max-width: 768px) {
  .p-fc-sample__title img {
    width: 52.6%;
    top: -30px;
  }

  .p-fc-card {}

}

/***********
p-fc-sample
***********/
.p-system {
  padding: 36px 10px min(calc(120 / 750 * 100vw), 120px) 10px;
  text-align: center;
  background-color: #ffebec;
}

.p-system__title {
  text-align: left;
}

.p-system__item {
  margin: 64px auto;
  padding: 50px 10px 50px min(calc(170 / 750 * 100vw), 170px);
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  background: #fff;
  border-radius: min(calc(20 / 750 * 100vw), 20px);
  text-align: left;
  width: 837px;
  max-width: 100%;
  box-shadow: 0px 5px 20px 0px rgba(255, 0, 97, 0.16);
  position: relative;
}

.p-system__num {
  background: var(--pink);
  color: #fff;
  font-weight: var(--bold);
  border-radius: 50%;
  width: min(calc(128 / 750 * 100vw), 128px);
  height: min(calc(128 / 750 * 100vw), 128px);
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  font-size: min(calc(20 / 750 * 100vw), 20px);
  position: absolute;
  left: 20px;
  top: -20px;
  text-align: center;

}

.p-system__num span {
  letter-spacing: .1em;
}

.p-system__num span span {
  font-size: min(calc(80 / 750 * 100vw), 80px);
  display: block;
}

.p-system__content {
  width: 600px;
  max-width: 100%;
}

.p-system__content h3 {
  margin-bottom: 30px;
  color: var(--pink);
  font-size: min(calc(47 / 750 * 100vw), 47px);
  font-weight: var(--bold);
}

.p-system__content p {
  font-size: min(calc(24 / 750 * 100vw), 20px);
  line-height: 1.6;
  font-weight: var(--midi);
  color: #333333;
}

.p-system__content p span {
  color: var(--pink);
}

.p-system__footer {
  margin-top: 30px;
  font-size: min(calc(34 / 750 * 100vw), 34px);
  font-weight: var(--bold);
  color: #333;
  line-height: 2;
}

.p-system__footer span {
  padding: 8px 10px;
  background-color: var(--pink);
  color: #fff;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}

@media only screen and (max-width: 768px) {
  .p-system__item {
    padding: 50px 30px;
  }

  .p-system__num {
    left: 0;
  }

  .p-system__title img {
    width: 92.9%;
  }

}

/***********
p-case
***********/
.p-case {
  padding: min(calc(180 / 750 * 100vw), 180px) 0;
  width: 1100px;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}

.p-case__title {
  text-align: center;
  color: var(--main-color);
  font-size: min(calc(65 / 750 * 100vw), 65px);
  font-weight: var(--bold);
  position: relative;
}

.p-case__title img {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: min(calc(-63 / -750 * 100vw), -63px);
}

.p-case__bg {
  position: relative;
  z-index: 2;
}

.p-case__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  gap: 20px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.p-case__item {
  margin-top: 65px;
  padding: min(calc(7 / 750 * 100vw), 7px) min(calc(30 / 750 * 100vw), 30px) min(calc(30 / 750 * 100vw), 30px) min(calc(30 / 750 * 100vw), 30px);
  background: #f7f7f7;
  border-radius: 8px;
  width: 374px;
  max-width: 32%;
  text-align: left;
  position: relative;
}

.p-case__label {
  position: absolute;
  left: 10px;
  top: -7px;
}

.p-case__img {
  text-align: center;
  margin-bottom: 15px;
  height: min(calc(210 / 750 * 100vw), 210px);
  position: relative;
}

.p-case__img img {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
}

.p-case__heading {
  margin-bottom: 25px;
  font-size: min(calc(32 / 750 * 100vw), 20px);
  font-weight: var(--midi);
  text-align: center;
  line-height: 1.5;
}

.p-case__before {
  margin-bottom: 25px;
}

.p-case__tag {
  padding: 3px;
  margin-bottom: 5px;
  display: block;
  font-size: min(calc(32 / 750 * 100vw), 24px);
  font-weight: var(--midi);
  width: min(calc(124 / 750 * 100vw), 124px);
  text-align: center;
  line-height: 1;
}

.p-case__tag--before {
  background: #626262;
  color: #fff;
}

.p-case__tag--after {
  background: var(--main-color);
  color: #fff;
}

.p-case__item p {
  font-size: min(calc(30 / 750 * 100vw), 18px);
  font-weight: var(--midi);
  line-height: 1.6;
}

@media only screen and (max-width: 768px) {
  .p-case__title img {
    width: 39.3%;
    top: -30px;
  }

  .p-case__item {
    padding: 40px 20px;
    width: 90%;
    max-width: 100%;
  }

  .p-case__img {
    height: auto;
  }

  .p-case__img img {
    position: static;
    -webkit-transform: none;
    transform: none;
  }
  .p-case__list .p-case__item:nth-child(1) .p-case__img img{
    width: calc(183 / 750 * 100vw)
  }
  .p-case__list .p-case__item:nth-child(2) .p-case__img img{
    width: calc(229 / 750 * 100vw)
  }
  .p-case__list .p-case__item:nth-child(3) .p-case__img img{
    width: calc(178 / 750 * 100vw)
  }

}

/***********
p-support
***********/
.p-support {
  padding: min(calc(200 / 750 * 100vw), 200px) 10px min(calc(100 / 750 * 100vw), 100px) 10px;
  background: var(--main-color);
  color: #fff;
  text-align: center;
}


.p-support__title {
  text-align: center;
  color: #fff;
  font-size: min(calc(65 / 750 * 100vw), 65px);
  font-weight: var(--bold);
  position: relative;
}

.p-support__title img {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: min(calc(-63 / -750 * 100vw), -63px);
}

.p-support__bg {
  position: relative;
  z-index: 2;
}





.p-support__item {
  margin: 64px auto;
  padding: 50px 10px 50px min(calc(170 / 750 * 100vw), 170px);
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  background: #fff;
  border-radius: min(calc(20 / 750 * 100vw), 20px);
  text-align: left;
  width: 837px;
  max-width: 100%;
  box-shadow: 0px 5px 20px 0px rgba(255, 0, 97, 0.16);
  position: relative;
}

.p-support__num {
  background: var(--pink);
  color: #fff;
  font-weight: var(--bold);
  border-radius: 50%;
  width: min(calc(128 / 750 * 100vw), 128px);
  height: min(calc(128 / 750 * 100vw), 128px);
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  font-size: min(calc(20 / 750 * 100vw), 20px);
  position: absolute;
  left: 20px;
  top: -20px;
  text-align: center;

}

.p-support__num span {
  margin-top: 10px;
  letter-spacing: .1em;
}

.p-support__num span span {
  margin: 0;
  font-size: min(calc(80 / 750 * 100vw), 80px);
  display: block;
}

.p-support__content {
  width: 600px;
  max-width: 100%;
}

.p-support__content h3 {
  margin-bottom: 30px;
  color: var(--pink);
  font-size: min(calc(47 / 750 * 100vw), 47px);
  font-weight: var(--bold);
}

.p-support__content p {
  font-size: min(calc(24 / 750 * 100vw), 20px);
  line-height: 1.6;
  font-weight: var(--midi);
  color: #333333;
}

.p-support_content p span {
  color: var(--pink);
}

@media only screen and (max-width: 768px) {
  .p-support__title img {
    width: 61.6%;
    top: -30px;
  }

  .p-support__item {
    padding: 50px 30px;
  }

  .p-support__num {
    left: 0;
  }


}

/* price section */
.p-price {
  background: var(--main-color);
/*  padding: 60px 10px min(calc(120 / 750 * 100vw), 120px) 19px;*/
  padding: min(calc(120 / 750 * 100vw), 120px) 10px;
  text-align: center;
}

.p-price-wrap {
  padding: min(calc(80 / 750 * 100vw), 80px) 10px;
  margin: 40px auto 0 auto;
  background-color: #e9fef4;
  width: 900px;
  max-width: 100%;
}

.p-price__title {
  text-align: center;
  color: #fff;
  font-size: min(calc(65 / 750 * 100vw), 65px);
  font-weight: var(--bold);
  position: relative;
}

.p-price__title img {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: min(calc(-63 / -750 * 100vw), -63px);
}

.p-price__bg {
  position: relative;
  z-index: 2;
}


.p-price__lead {
  font-weight: var(--midi);
  line-height: 1.6;
  font-size: min(calc(32 / 750 * 100vw), 40px);
}

.p-price__box {
  padding-bottom: 30px;
  margin: min(calc(70 / 750 * 100vw), 70px) auto;
  background: #fff;
  border-radius: min(calc(10 / 750 * 100vw), 10px);
  width: 700px;
  max-width: 100%;
  text-align: left;
  border-radius: min(calc(30 / 750 * 100vw), 30px);
  overflow: hidden;
}

.p-price__subtitle {
  padding: 20px 10px;
  margin-bottom: 15px;
  color: #fff;
  background-color: var(--main-color);
  text-align: center;
  font-size: min(calc(30 / 750 * 100vw), 30px);
  font-weight: var(--midi);
}

.p-price__table {
  margin: 0 auto;
  width: 430px;
  max-width: 100%;
  border-collapse: collapse;
  margin-bottom: 10px;
}

.p-price__table td {
  border-bottom: 1px solid #ddd;
  padding: min(calc(16 / 750 * 100vw), 16px) 5px;
  font-size: min(calc(24 / 750 * 100vw), 24px);
  color: #222;
}

.p-price__table td:first-child {
  text-align: center;
}

.p-price__table td:last-child {
  padding-right: 70px;
  text-align: right;
  position: relative;
}

.p-price__table td:last-child small {
  position: absolute;
  right: 50px;
  top: 5px;
  font-size: min(calc(24 / 750 * 100vw), 18px);
}

.p-price__note {
  margin-top: 20px;
  font-size: min(calc(24 / 750 * 100vw), 16px);
  color: #222;
  line-height: 1.5;
}

.p-price__note.tar {
  padding-right: 97px;
}

.p-price__option {
  margin: min(calc(30 / 750 * 100vw), 30px) auto;
  width: 700px;
  max-width: 100%;
  text-align: left;
}

.p-price__option h4 {
  margin-bottom: 15px;
  color: var(--main-color);
  font-weight: var(--midi);
  font-size: min(calc(30 / 750 * 100vw), 22px);
}

.p-price__option p {
  padding-left: 1em;
  font-size: min(calc(28 / 750 * 100vw), 18px);
  line-height: 1.38;
}

.p-price__disclaimer {
  margin-top: 50px;
  font-size: min(calc(30 / 750 * 100vw), 18px);
  color: #fff;
  text-align: center;
  line-height: 1.38;
}

.p-price-wrap .p-price__box:nth-child(3) .p-price__table {
  width: 454px;
  max-width: 100%;
}

.p-price-wrap .p-price__box:nth-child(3) td:last-child {
  padding-right: 20px;
}

.p-price-wrap .p-price__box:nth-child(3) td:last-child small {
  right: 0;
}

.tac {
  text-align: center;
}

.tar {
  text-align: right;
}

@media only screen and (max-width: 768px) {
  .p-price__title img {
    width: 43.6%;
    top: -30px;
  }

  .p-price__note.tar {
    padding-right: 1em;
  }

  .p-price__table {
    padding: 0 10px;
  }

  .p-price__table,
  .p-price-wrap .p-price__box:nth-child(3) .p-price__table {
    width: 90%;
  }


}

/***********
縦文字
***********/

  .p-potential,
  .p-target {
    position: relative;
    padding-left: 1em;
    padding-right: 1em;
    font-size: min(calc(40 / 750 * 100vw), 60px);
    overflow-x: hidden;
  }

  .tate {

    position: absolute;
    top: min(calc(100 / 750 * 100vw), 100px);
    width: 1em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;

  }

.tate {
  font-weight: var(--bold);

}

.p-potential .tate {
  left: 10px;
  color: #cacaca;
  font-size: min(calc(40 / 750 * 100vw), 60px);
}

.p-target .tate {
  right: 10px;
  color: var(--sub-color);
  font-size: min(calc(40 / 750 * 100vw), 48px);
}

@media only screen and (max-width: 1049px) {
.p-potential .tate {
  left: 0;
}

.p-target .tate {
  right: 0;
}

}

/***********
FAQ
***********/
.faq {
  padding: min(calc(200 / 750 * 100vw), 160px) 10px;
}

.p-faq__title {
  margin-bottom: min(calc(95 / 750 * 100vw), 95px);
  text-align: center;
  color: var(--main-color);
  font-size: min(calc(65 / 750 * 100vw), 65px);
  font-weight: var(--bold);
  position: relative;
}

.p-faq__title img {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: min(calc(-63 / -750 * 100vw), -63px);
}

.p-faq__bg {
  position: relative;
  z-index: 2;
}

@media only screen and (max-width: 768px) {
  .p-faq__title img {
    width: 28.26%;
    top: -30px;
  }


}


/***********
CONTACT
***********/



/***********
CONTACT
***********/
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type='checkbox'],
input[type='radio'] {
  display: none;
}

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.contact {
  padding: min(calc(200 / 750 * 100vw), 160px) 10px;
}

.p-contact__title {
  margin-bottom: min(calc(95 / 750 * 100vw), 95px);
  text-align: center;
  color: var(--main-color);
  font-size: min(calc(65 / 750 * 100vw), 65px);
  font-weight: var(--bold);
  position: relative;
}

.p-contact__title img {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: min(calc(-33 / -750 * 100vw), -33px);
}

.p-faq__bg {
  position: relative;
  z-index: 2;
}

@media only screen and (max-width: 768px) {
  .p-contact__title img {
    width: 90%;
    top: -20px;
  }
}


.contact .sub_text {
  text-align: center;
  font-size: min(calc(24/750*100vw), 18px);
}

.contact .form_wrapper {
  margin: 2em auto;
  width: min(94%,750px);
}

.contact .input-area p {
  font-size: min(calc(36/750*100vw), 18px);
  margin-bottom: 10px;
}

.contact .input-area p .hissu {
  background: var(--pink);
  border-radius: 3px;
  color: #fff;
  font-size: min(calc(18/750*100vw), 14px);
  padding: 0 3px;
  margin-left: 3px;
}

.contact input[type=text],
.contact input[type=email],
.contact input[type=tel],
.contact textarea {
  border: 1px solid #ccc;
  width: 100%;
  border-radius: 5px;
  padding: 12px;
  margin-bottom: 1.5em
}

.confirm .input-area p:first-child {
  font-weight: var(--bold);
  margin-bottom: 0.5em;
}

.confirm .input-area p:last-child {
  border-bottom: 1px solid #ddd;
  margin-bottom: 2em;
}

.btn-border {
  border-radius: 10px;
  background-color: var(--main-color);
  box-shadow: 0px 6px 0px 0px rgba(0, 38, 27, 1);
  display: block;
  width: min(79.65%,500px);
  margin: 0 auto;
  padding: 1.2em;
  color: #fff;
  font-weight: var(--bold);
  font-size: min(calc(32/750*100vw), 18px);
}

/***********
　サンクスページ
************/
.contact_wrapper {
  width: 100%;
  height: auto;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f7f7f7;
}
.contact_wrapper .inner {
  background: #fff;
  border-radius: 20px;
  padding: 2em;
  width: 94%;
  max-width: 700px;
}
.contact_wrapper h2 {
  font-weight: bold;
  text-align: center;
  margin-bottom: 2em;
  font-size: min(calc(36/750*100vw),24px);
}
.contact_wrapper p {
  margin-bottom: 1em;
  line-height: 1.75;
  font-size: min(calc(34/750*100vw),18px);
}
.contact_wrapper p.qr_code img{
  display: block;
  text-align: center;
  width: min(80%,220px);
  margin: 0 auto;
}
.contact_wrapper p.qr_link a{
  background: #32cf3d;
  color: #fff;
  width: min(80%,220px);
  padding: 10px;
  border-radius: 10px;
  text-align: center;
  margin: 0 auto;
  box-shadow: 0px 6px 0px 0px rgba(40, 147, 48, 1);
  display: block;
}
.contact_wrapper p.contact_notes {
  margin-bottom: 1em;
  line-height: 1.75;
  font-size: min(calc(30/750*100vw),15px);
}


.contact_ttl {
  position: relative;
  display: block;
  text-align: center;
  padding: 0 55px;
  font-size: min(calc(36/750*100vw),24px);
  font-weight: bold;
  margin-top: 2em;
}

.contact_ttl:before, .contact_ttl:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 28%;
  height: 1px;
  background-color: black;
}

.contact_ttl:before {
  left:0;
}
.contact_ttl:after {
  right: 0;
}
.telmail {
  width: 70%;
  margin: 20px auto 40px;
  font-size: min(calc(32/750*100vw),18px);
}
.telmail dt {
  font-weight: bold;
  margin-bottom: 0.5em;
}
.telmail dd {
  margin-bottom: 1em;
}

.btn-border2 {
  border-radius: 10px;
  background-color: #b9b9b9;
  box-shadow: 0px 6px 0px 0px rgba(144, 144, 144, 1);
  display: block;
  width: min(79.65%,500px);
  margin: 0 auto;
  padding: 1.2em;
  color: #fff;
  font-weight: var(--bold);
  font-size: min(calc(32/750*100vw), 18px);
}
.copy {
  background: var(--main-color);
  text-align: center;
  color: #fff;
  padding: 10px;
  font-size: 12px;
}
