@charset "utf-8";

/* -----------------------------------------
- root ( var )
----------------------------------------- */
:root {
  /* font-family */
  --font-family: "m-plus-2p", sans-serif;

  /* color */
  --txt: #000;
  --pink: #ED7980;
  --blue: #0054A7;
  --orange: #F18E38;
  --yellow: #FEDC5E;

  /* font-weight */
  --normal: 400;
  --regular: 400;
  --bold: 700;
}

/* color */
.-pink {
  color: var(--pink);
}
.-blue {
  color: var(--blue);
}
.-orange {
  color: var(--orange);
}
.-yellow {
  color: var(--yellow);
}
.-white {
  color: #fff;
}

/* .txt (font-family) */
.en,
.ff-mplus {
  font-family: var(--mplus);
}
/* font-weight */
.fw-regular {
  font-weight: var(--regular);
}
.fw-medium {
  font-weight: var(--medium);
}
.fw-smbold {
  font-weight: var(--semibold);
}
.fw-bold {
  font-weight: var(--bold);
}
/* font-size clamp - min-width: 1100px */
:root {
  --clamp_14px: clamp(13px, 1.273vw, 14px);
  --clamp_16px: clamp(14px, 1.455vw, 16px);
  --clamp_18px: clamp(15px, 1.636vw, 18px);
  --clamp_20px: clamp(16px, 1.818vw, 20px);
  --clamp_22px: clamp(20px, 2vw, 22px);
  --clamp_24px: clamp(22px, 2.182vw, 24px);
  --clamp_26px: clamp(24px, 2.364vw, 26px);
  --clamp_28px: clamp(26px, 2.545vw, 28px);
  --clamp_30px: clamp(27px, 2.727vw, 30px);
  --clamp_32px: clamp(24px, 2.909vw, 32px);
  --clamp_36px: clamp(32px, 3.273vw, 36px);
  --clamp_40px: clamp(34px, 3.633vw, 40px);
  --clamp_64px: clamp(60px, 5.818vw, 64px);
  --clamp_100px: clamp(70px, 9.083vw, 100px);
}
@media screen and (max-width: 768px) {
:root {
  /* font-size clamp w375px */
  --clamp_12px: clamp(11px, 3.2vw, 12px);
  --clamp_14px: clamp(13px, 3.733vw, 14px);
  --clamp_16px: clamp(13px, 4.267vw, 16px);
  --clamp_17px: clamp(15px, 4.533vw, 17px);
  --clamp_18px: clamp(16px, 4.8vw, 18px);
  --clamp_20px: clamp(18px, 5.333vw, 20px);
  --clamp_22px: clamp(19px, 5.867vw, 22px);
  --clamp_24px: clamp(20px, 6.4vw, 24px);
  --clamp_26px: clamp(24px, 6.933vw, 26px);
  --clamp_28px: clamp(26px, 7.467vw, 28px);
  --clamp_30px: clamp(28px, 8vw, 30px);
  --clamp_32px: clamp(30px, 8.533vw, 32px);
  --clamp_36px: clamp(34px, 9.6vw, 36px);
  }
}


/* ********************************
reset
******************************** */
.sec {
  padding: 0;
}
.sec h1,
.sec h2,
.sec h3,
.sec h4,
.sec h5,
.sec h6 {
  line-height: normal;
  margin: 0;
  padding: 0;
  border-left-style: none;
  border-left-width: 0;
}
.sec ul,
.sec ol {
  margin: 0;
  padding: 0;
}
.sec ul li,
.sec ol li {
  line-height: normal;
  padding: 0;
}
.sec ul {
  margin-left: 0;
}
.sec ul li {
  position: unset;
}
.sec ul li:before {
  display: none;
  box-shadow: none;
}
.sec img {
  margin: 0;
}
.sec p {
  padding: 0;
}
.sec a:hover img {
  -webkit-filter: none;
  -moz-filter: none;
  -ms-filter: none;
  -o-filter: none;
  filter: none;
}
.sec dl,
.sec table {
  margin-bottom: 0;
}
.sec dl {
  border-top: none;
}
.content dl,
.content dd,
.content dt,
.content table tr,
.content table th,
.content table td {
  border: 0;
  border-top: 0;
  background: unset;
  margin: 0;
  padding: 0;
}
.content {
  width: 100%;
  line-height: 1;
}
.clearfix::after,
.clearfix::before {
  content: "";
  display: none;
}
a,a:active,a:hover,a:visited {
  font-style: unset;
  font-weight: unset;
  text-decoration: none;
  color: unset;
}
li {
  list-style: none;
}
.sec #main-wrap.no-header {
  margin-top: 0;
}
.sec .entry a:hover {
  text-decoration: unset;
}

/* ********************************
effect js-fade
******************************** */
.sec .js-fade {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s;
  transition-delay: .13s;
}
.sec .js-fade.active {
  opacity: 1;
  visibility: visible;
}
.sec .js-fade+:nth-child(n+2) {
  transition-delay: .13s;
}
.sec .js-fade+:nth-child(n+3) {
  transition-delay: .26s;
}
.sec .js-fade+:nth-child(n+4) {
  transition-delay: .39s;
}
.sec .js-fade+:nth-child(n+5) {
  transition-delay: .52s;
}

/* .js-fade-up
-------------------------- */
.js-fade-up {
  opacity: 0;
  visibility: hidden;
  transform: translate(0, 120px);
  transition: transform 1s, opacity 1s;
  transition-delay: .3s;
}
.js-fade-up.active {
  opacity: 1;
  visibility: visible;
  transform: translate(0, 0);
}
.js-fade-up+:nth-child(n+2) {
  transition-delay: .4s;
}
.js-fade-up+:nth-child(n+3) {
  transition-delay: .5s;
}
.js-fade-up+:nth-child(n+4) {
  transition-delay: .6s;
}
.js-fade-up+:nth-child(n+5) {
  transition-delay: .7s;
}

/* .js-fade-down
-------------------------- */
.sec .js-fade-down {
  opacity: 0;
  visibility: hidden;
  transition: 1s;
  transition-delay: .13s;
  transform: translateY(-100px);
}
.sec .js-fade-down.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.sec .js-fade-down:nth-of-type(1) {
  transition-delay: .13s;
}
.sec .js-fade-down:nth-of-type(2) {
  transition-delay: .26s;
}
.sec .js-fade-down:nth-of-type(3) {
  transition-delay: .39s;
}
.sec .js-fade-down:nth-of-type(4) {
  transition-delay: .52s;
}

/* --------------------------------
.pc-only / .sp-only
------------------------------------- */
.pc-only {
  display: block;
}
.sp-only {
  display: none;
}
span.pc-only {
  display: inline;
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
  span.pc-only {
    display: none;
  }
}

/* --------------------------------
  scrollbar
------------------------------------- */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background-color: transparent;
}
::-webkit-scrollbar-thumb {
  background-color: #b9b9ba;
  border-radius: 4px;
}

.sec .no_scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.sec .no_scrollbar::-webkit-scrollbar {
  display: none;
}

/* ********************************
style
******************************** */
body {
  color: var(--txt);
  font-family: var(--font-family);
  font-size: 16px;
  font-weight: var(--regular);
  font-optical-sizing: auto;
  font-style: normal;
  line-height: 1;
  text-align: left;
  background: #fff;
  animation: is-fadeIn ease .5s;
  line-break: strict;
  overflow-wrap: break-word;
  word-wrap: break-word;
  overflow-x: hidden;
}
.main-wrap {
  position: relative;
  top: 0;
  margin-top: 78px;
}
@media screen and (max-width: 768px) {
  .main-wrap {
    margin-top: 60px;
  }
}

/* -----------------------------------------
- animation
----------------------------------------- */
.is-fadeIn {
  animation: is-fadeIn ease .5s;
}
@keyframes is-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* common
---------------------------------------- */
img {
  height: auto;
  object-fit: contain;
}
section, div, ul,li, dl,dt,dd, p, a {
  box-sizing: border-box;
}

/* common class
---------------------------------------- */
.sec {
  color: #000;
  background: #fff;
}
.sec .entry-title.single-title {
  display: none;
}
.sec .main-wrap {
  width: 100%;
  margin: 0 auto;
}
.sec #dp_breadcrumb_div {
  border-top: 2px solid;
  border: 0;
  margin: 0 auto;
  padding: 20px 10px;
}
.sec .animate {
  visibility: hidden;
}
.sec {
  width: 100%;
}
@media screen and (max-width: 1366px) {
  .sec.-top.main-wrap {
    min-width: 100%;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .sec.-top.header_container {
    border-color: #fff;
  }
}
@media screen and (min-width: 769px) {
  .sec a {
    transition: .25s;
  }
  .sec a:hover {
    opacity: .7;
  }
}

.sec {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.sec .inner {
  width: 100%;
  margin: 0 auto;
}
.flex {
  display: flex;
}
.txt {
  font-size: 16px;
  font-weight: var(--regular);
  letter-spacing: .8px;
  line-height: 1.75;
}
.read {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: .8px;
  line-height: 1.3;
}
.read .small {
  font-size: 20px;
}
.read.-big {
  display: block;
  margin: 0 auto;
  font-size: 40px;
  line-height: 1.5;
  text-align: center;
}
.ls_1em {
  letter-spacing: 1em!important;
  padding-left: 1em!important;
}
.underline {
  background:linear-gradient(transparent 60%, var(--orange) 60%);
}
@media screen and (max-width: 768px){
  .txt {
    font-size: 14px;
    font-weight: var(--regular);
    letter-spacing: .8px;
    line-height: 1.86;
  }
  .read {
    font-size: var(--clamp_22px);
    font-weight: bold;
    letter-spacing: .8px;
    line-height: 1.3;
  }
  .read .small {
    font-size: 14px;
  }
  .read.-big {
    display: block;
    margin: 0 auto;
    font-size: var(--clamp_22px);
    line-height: 1.5;
    text-align: center;
  }
  .underline {
    background:linear-gradient(transparent 60%, var(--orange) 60%);
  }
}

/* .dlist_box
---------------------------------------- */
.sec .dlist_box dl {
  display: flex;
  padding: 12px 5px 10px;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: -.8px;
  line-height: 1.3;
  border-bottom: 1px solid #807F80;
}
.sec .dlist_box dl:first-child {
  border-top: 1px solid #807F80;
}
.sec .dlist_box dt {
  flex-shrink: 0;
  width: 197px;
}
@media screen and (max-width: 768px){
  .sec .dlist_box dl {
    display: flex;
    flex-direction: column;
    padding: 13px 5px 8px;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: -.8px;
    line-height: 1.7;
    border-bottom: 1px solid #807F80;
  }
  .sec .dlist_box dt {
    flex-shrink: 0;
    width: 100%;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: normal;
    line-height: 1.4;
  }
  .sec .dlist_box dd .list {
    display: flex;
    flex-wrap: wrap;
  }
  .sec .dlist_box dd .list li {
    margin-right: 1em;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: -.8px;
    line-height: 1.7;
  }
}

/* .list
---------------------------------------- */
.sec .list.-circle li {
  display: flex;
  margin-bottom: 3px;
  font-size: 18px;
}
.sec .list.-circle li::before {
  flex-shrink: 0;
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 5px 5px 0 0;
  border-radius: 50%;
  background: var(--pink);
}
.sec .list.-circle.-yellow li::before {
  background: var(--yellow);
}
@media screen and (max-width: 768px){
  .sec .list.-circle li {
    display: flex;
    margin-bottom: 3px;
    font-size: 18px;
  }
  .sec .list.-circle li::before {
    flex-shrink: 0;
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 5px 5px 0 0;
    border-radius: 50%;
    background: var(--pink);
  }
}

.sec .txt-small {
  font-size: 12px;
}
.sec .txt-14 {
  font-size: 14px;
}
.sec .txt-16 {
  font-size: 16px;
}
.sec .txt-18 {
  font-size: 18px;
}
.sec .txt-20 {
  font-size: 20px;
}
.sec .txt-26 {
  font-size: 26px;
}
.sec .txt-27 {
  font-size: 27px;
}
.sec .txt-28 {
  font-size: 28px;
}
.sec .txt-32 {
  font-size: 32px;
}
.sec .txt-34 {
  font-size: 34px;
}
.sec .txt-48 {
  font-size: 48px;
}
@media screen and (max-width: 768px){
  .sec .txt-small {
    font-size: 10px;
  }
  .sec .txt-14 {
    font-size: 12px;
  }
  .sec .txt-16 {
    font-size: 14px;
  }
  .sec .txt-18 {
    font-size: 18px;
  }
  .sec .txt-20 {
    font-size: 20px;
  }
  .sec .txt-26 {
    font-size: 26px;
  }
  .sec .txt-27 {
    font-size: 27px;
  }
  .sec .txt-28 {
    font-size: 28px;
  }
  .sec .txt-32 {
    font-size: 32px;
  }
  .sec .txt-34 {
    font-size: 34px;
  }
  .sec .txt-48 {
    font-size: 48px;
  }
}

.sec .txt-bold {
  font-weight: bold;
}
.sec .txt-black {
  font-weight: 900;
}

.sec .txt-left {
  text-align: left;
}
.sec .txt-center {
  text-align: center;
}
.sec .txt-right {
  text-align: right;
}
.sec .txt-indent {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}
.sec .nowrap {
  white-space: nowrap;
}
@media screen and (max-width: 768px){
}

/* .inner_xxx */
.inner_w1366 {
  width: 100%;
  max-width: 1366px;
  margin: 0 auto;
  transition: .5s;
}
.inner_w1140 {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  transition: .5s;
}
.inner_w740 {
  width: 100%;
  max-width: 740px;
  margin: 0 auto;
  transition: .5s;
}
.inner_w644 {
  width: 100%;
  max-width: 644px;
  margin: 0 auto;
  transition: .5s;
}
@media screen and (max-width: 1366px) {
  .inner_w1366 {
    max-width: 100%;
  }
}
@media screen and (max-width: 1140px){
  .inner_w1140 {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .inner,
  .inner_w1366,
  .inner_w1140,
  .inner_w740,
  .inner_w644 {
    max-width: 100%;
  }
}

/* -----------------------------------
  .sec.-top.fixed_box
--------------------------------------*/
@media screen and (min-width: 769px){
  .fixed_box {
    position: relative;
    width: 100%;
    max-width: 1366px;
    margin: 0 auto;
    z-index: 999;
  }
  .fixed_box .fixed_banner {
    position: fixed;
    right: 5px;
    bottom: 20px;
    border-radius: 6px;
    filter: drop-shadow(0 0 5px rgba(0,0,0,.3));
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: .6s;
  }
  .fixed_box .fixed_banner.is-active {
    opacity: 1;
    visibility: visible;
  }
}

/* -----------------------------------
  .saiyo-lp_header
--------------------------------------*/
.saiyo-lp_header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 78px;
  background: #fff;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.4));
}
.saiyo-lp_header .inner {
  display: flex;
  margin: 0 auto;
  padding: 0 50px 0 20px;
  justify-content: space-between;
}
.saiyo-lp_header .toplogo {
  width: 161px;
  margin: 12px 0 0 11px;
}
.saiyo-lp_header .nav.hd_nav {
  display: flex;
  align-items: center;
  gap: 0 20px;
  margin-top: 10px;
}
.saiyo-lp_header .nav.hd_nav >ul {
  display: flex;
}
.saiyo-lp_header .nav.hd_nav .nav_list_01 {}
.saiyo-lp_header .nav.hd_nav .tel {
  margin: 10px 4px 0 0;
}
.saiyo-lp_header .nav.hd_nav .tel a {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
}
.saiyo-lp_header .nav.hd_nav .tel .num {
  font-size: 27px;
  font-weight: bold;
  line-height: 1;
  color: var(--blue);
  white-space: nowrap;
}
.saiyo-lp_header .nav.hd_nav .tel .num::before {
  content: "";
  display: inline-block;
  width: 21px;
  height: 27px;
  margin: 0 2px -5px 0;
  background: url(../img/ico_tel.svg) no-repeat;
}
.saiyo-lp_header .nav.hd_nav .tel .txt {
  color: #000;
  font-size: 14px;
  font-weight: bold;
}
.saiyo-lp_header .nav.hd_nav .nav_list_02 {
  display: flex;
  gap: 0 12px;
}
.saiyo-lp_header .nav.hd_nav .nav_list_02 li {
  width: 168px;
  height: 40px;
  border-radius: 10px;
}
.saiyo-lp_header .nav.hd_nav .nav_list_02 li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 16px;
  font-weight: bold;
  background-image: url(../img/ico_arrow_yellow.svg);
  background-repeat: no-repeat;
  background-size: 14px;
  background-position: center right 14px;
  color: #fff;
}
.saiyo-lp_header .consult {
  background-color: var(--pink);
}
.saiyo-lp_header .diagnosis {
  background-color: var(--blue);
}
.nav_list_02_sp {
  display: none;
}
@media screen and (max-width: 768px){
  .saiyo-lp_header {
    height: 60px;
    filter: drop-shadow(0 5px 10px rgba(0,0,0,.4));
  }
  .saiyo-lp_header .inner {
    padding: 0 10px 0 10px;
  }
  .saiyo-lp_header .toplogo {
    width: 125px;
    margin: 8px 0 0 7px;
  }
  .saiyo-lp_header .nav.hd_nav {
    display: flex;
    align-items: center;
    gap: 0 20px;
    margin-top: 10px;
  }
  .saiyo-lp_header .nav.hd_nav .tel {
    margin: 2px 0 0 0;
  }
  .saiyo-lp_header .nav.hd_nav .tel .num {
    font-size: var(--clamp_20px);
  }
  .saiyo-lp_header .nav.hd_nav .tel .num::before {
    width: 16px;
    height: 20px;
    margin: 0 4px -2px 0;
  }
  .saiyo-lp_header .nav.hd_nav .tel .txt {
    font-size: 10px;
  }
  .saiyo-lp_header .nav.hd_nav .nav_list_02.pc-only {
    display: none;
  }
  .nav_list_02_sp {
    position: fixed;
    bottom: 0;
    display: flex;
    justify-content: center;
    gap: 0 12px;
    width: 100%;
    height: 48px;
    z-index: 99;
  }
  .nav_list_02_sp li {
    width: 44.8%;
    height: 40px;
    border-radius: 10px;
    filter: drop-shadow(2px 4px 2px rgba(0,0,0,.2));
  }
  .nav_list_02_sp li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 16px;
    font-weight: bold;
    background-image: url(../img/ico_arrow_yellow.svg);
    background-repeat: no-repeat;
    background-size: 14px;
    background-position: center right 14px;
    color: #fff;
  }
  .nav_list_02_sp .consult {
    background-color: var(--pink);
  }
  .nav_list_02_sp .diagnosis {
    background-color: var(--blue);
  }
}

/* -----------------------------------
  .sec.-top
--------------------------------------*/
.sec.-top {
  height: 1070px;
  background: url(../img/fv_bg.png) no-repeat;
  background-size: cover;
  background-position: top center;
}
.sec.-top .inner {
  height: 100%;
  background: url(../img/fv_02.png) no-repeat;
  background-size: cover;
  background-position: top center;
  animation: is-fadeIn ease-out 1.5s;
}
.sec.-top .top_heading {
  width: 100%;
  max-width: 703px;
  margin: 0 auto;
}
.sec.-top .top_heading img {
  margin-top: 65px;
}
.sec.-top .read {
  margin: 8px auto 45px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.75;
  text-align: center;
}
@media screen and (max-width: 768px){
  .sec.-top {
    height: auto;
    background: url(../img/fv_bg_sp.png) no-repeat;
    background-size: 100%;
    background-position: top center;
    background-color: #62C0B4;
  }
  .sec.-top .inner {
    background: none;
  }
  .sec.-top .top_heading {
    width: 92%;
    max-width: 100%;
    margin: 0 auto;
  }
  .sec.-top .top_heading img {
    margin-top: 46vw;
  }
  .sec.-top .read {
    margin: 20px auto 15px;
    font-size: 18px;
    line-height: 1.6;
  }
}

/* .sec.-top .contact_btn
---------------------------------------- */
.sec.-top .contact_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 416px;
  height: 64px;
  margin: 0 auto 100px;
  background-color: #000;
  background-image: url(../img/ico_arrow_yellow.svg);
  background-repeat: no-repeat;
  background-size: 28px;
  background-position: center right 40px;
  border-radius: 16px;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 768px){
  .sec.-top .contact_btn {
    width: 90%;
    max-width: 416px;
    height: 53px;
    margin: 0 auto 60vw;
    background-size: 20px;
    background-position: center right 40px;
    font-size: 18px;
  }
}

/* .top-slide_banner_box 
---------------------------------------- */
.top-slide_banner_box .nolink {
  position: relative;
}
@media screen and (min-width: 769px){
  .top-slide_banner_box {
    max-width: 925px;
    margin: 0 auto;
    padding: 4px 16px 20px;
    background: #fff;
    border-radius: 20px;
    filter: drop-shadow(0 0 10px rgba(0,0,0,.3));
  }
  .top-slide_banner_box .slide_title {
    margin: 5px auto;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
  }
  .top-slide_banner_box .splide.is-initialized:not(.is-active) .splide__list {
    display: flex;
    gap: 0 8px;
  }
  .top-slide_banner_box .splide__slide {
    width: calc(100%/4 - 8px);
    background: #EFEEE8;
  }
  .top-slide_banner_box .splide__slide img {
    width: 100%;
    margin: auto;
  }
  .top-slide_banner_box .nolink::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.6);
  }
}
@media screen and (max-width: 940px){
  .top-slide_banner_box {
    max-width: 96%;
  }
}
@media screen and (max-width: 768px){
  .top-slide_banner_box {
    position: relative;
    z-index: 1;
    width: 94.6666%;
    max-width: 520px;
    min-height: 165px;
    margin: 0 auto;
    padding: 5px 0;
    background: #fff;
    border-radius: 10px;
    filter: drop-shadow(0 0 10px rgba(0,0,0,.3));
  }
  .top-slide_banner_box .slide_title {
    margin: 8px auto 0;
    font-size: 14px;
    line-height: 1;
    text-align: center;
  }
  .top-slide_banner_box .splide__slide {}
  .top-slide_banner_box .splide__slide img {
    width: auto;
    max-width: 260px;
    height: auto;
    margin: auto;
  }
  .top-slide_banner_box .splide__pagination {
    bottom: -10px;
    left: 0;
    padding: 0 1em;
    position: absolute;
    right: 0;
    z-index: 1;
  }
  .top-slide_banner_box .splide__pagination__page {
    background: #B9B9BA;
    border: 0;
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    margin: 0 10px;
    opacity: 1;
    padding: 0;
    position: relative;
    transition: transform .2s linear;
    width: 8px;
  }
  .top-slide_banner_box .splide__pagination__page.is-active {
    background: #F18E38;
    transform: unset;
    z-index: 1;
  }
  .top-slide_banner_box .splide__arrow  {
    display: none;
  }
  .top-slide_banner_box .splide__slide {
    text-align: center;
  }
  .top-slide_banner_box .nolink::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 1;
    display: block;
    width: 243px;
    height: 84%;
    background: rgba(0,0,0,.6);
  }
}

/* -----------------------------------
  .sec common style
--------------------------------------*/
/* .sec .c-heading_box
---------------------------------------- */
.sec .c-heading_box {
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 100%;
  max-width: 926px;
  height: 300px;
  margin: 0 auto 90px;
  background: url(../img/sec_hd_bg.png) no-repeat;
  background-size: 100%;
  background-position: center;
}
.sec .c-heading_box .sec_heading {
  margin: 120px auto 16px;
}
.sec .c-heading_box .read {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: .8px;
  text-align: center;
}
/* /// each /// */
.sec.-pain .c-heading_box {
  position:relative;
  z-index: 1;
  max-width: 983px;
  height: 300px;
  background: url(../img/pain_hd_bg.png) no-repeat;
  background-size: 100%;
  background-position: center;
}
.sec.-solution .c-heading_box {
  max-width: 926px;
  height: 307px;
  margin: 0 auto 25px;
  background: url(../img/solution_hd_bg.png) no-repeat;
  background-size: 100%;
  background-position: center;
}
.sec.-component .c-heading_box {
  background: url(../img/component_hd_bg.png) no-repeat;
  background-size: 100%;
  background-position: center;
}

/* .sec .c-heading_box.-no_bg */
.sec .c-heading_box.-no_bg {
  max-width: 100%;
  height: auto;
  margin: 0 auto 60px;
  background: none;
}
.sec .c-heading_box.-no_bg .sec_heading {
  margin: 0 auto 18px;
}
.sec .c-heading_box.-no_bg .read {
  margin: 0 auto 10px;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: .8px;
}
@media screen and (max-width: 768px){
  .sec .c-heading_box {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 100%;
    max-width: 360px;
    height: 240px;
    margin: 0 auto 20px;
    background: url(../img/sec_hd_bg_sp.png) no-repeat;
    background-size: 100%;
    background-position: center;
  }
  .sec .c-heading_box .sec_heading {
    margin: 50px auto 16px;
  }
  .sec .c-heading_box .read {
    font-size: var(--clamp_22px);
    font-weight: bold;
    letter-spacing: .8px;
    text-align: center;
    line-height: 1.45;
  }

  /* .sec .c-heading_box.-no_bg */
  .sec .c-heading_box.-no_bg {
    max-width: 100%;
    height: auto;
    margin: 0 auto 60px;
    background: none;
  }
  .sec .c-heading_box.-no_bg .sec_heading {
    margin: 0 auto 18px;
  }
  .sec .c-heading_box.-no_bg .sec_heading img {
    width: 80px;
  }
  .sec .c-heading_box.-no_bg .read {
    margin: 0 auto 10px;
    font-size: var(--clamp_22px);
    font-weight: bold;
    letter-spacing: .8px;
  }

  /* /// each /// */
  .sec.-pain .c-heading_box {
    position:relative;
    z-index: 1;
    max-width: 360px;
    height: 240px;
    margin: 0 auto 8px;
    background: url(../img/pain_hd_bg_sp.png) no-repeat;
    background-size: 100%;
    background-position: center;
  }
  .sec.-pain .c-heading_box .sec_heading {
    margin: 62px auto 16px;
  }
  .sec.-pain .c-heading_box .sec_heading img {
    width: 80px;
  }
  .sec.-solution .c-heading_box {
    position: relative;
    top: -34px;
    max-width: 360px;
    height: 276px;
    margin: 0 auto;
    background: url(../img/solution_hd_bg_sp.png) no-repeat;
    background-size: 100%;
    background-position: top center;
  }
  .sec.-solution .c-heading_box .sec_heading {
    margin: 131px auto 16px;
  }
  .sec.-solution .c-heading_box .sec_heading img {
    width: 180px;
  }
  .sec.-knowhow .c-heading_box .sec_heading {
    margin: 44px auto 16px;
  }
  .sec.-knowhow .c-heading_box .sec_heading img {
    width: 199px;
  }
  .sec.-gym_production .c-heading_box .sec_heading {
    margin: 68px auto 16px;
  }
  .sec.-gym_production .c-heading_box .sec_heading img {
    width: 80px;
  }
  .sec.-inflow .c-heading_box .sec_heading {
    margin: 62px auto 16px;
  }
  .sec.-inflow .c-heading_box .sec_heading img {
    width: 130px;
  }
  .sec.-component .c-heading_box {
    background: url(../img/component_hd_bg_sp.png) no-repeat;
    background-size: 100%;
    background-position: center;
  }
  .sec.-component .c-heading_box .sec_heading {
    margin: 75px auto 16px;
  }
  .sec.-component .c-heading_box .sec_heading img {
    width: 219px;
  }
  .sec.-look .c-heading_box .sec_heading {
    margin: 70px auto 16px;
  }
  .sec.-look .c-heading_box .sec_heading img {
    width: 92px;
  }
  .sec.-gym_portfolio .c-heading_box .sec_heading {
    margin: 30px auto 16px;
  }
  .sec.-gym_portfolio .c-heading_box .sec_heading img {
    width: 80px;
  }
  .sec.-flow_order .c-heading_box .sec_heading {
    margin: 30px auto 16px;
  }
  .sec.-flow_order .c-heading_box .sec_heading img {
    width: 92px;
  }
  .sec.-price .c-heading_box .sec_heading {
    margin: 30px auto 16px;
  }
  .sec.-price .c-heading_box .sec_heading img {
    width: 95px;
  }
  .sec.-company .c-heading_box .sec_heading {
    margin: 30px auto 16px;
  }
  .sec.-company .c-heading_box .sec_heading img {
    width: 170px;
  }
  .sec.-cta_diagnosis .c-heading_box .sec_heading {
    margin: 30px auto 16px;
  }
  .sec.-cta_diagnosis .c-heading_box .sec_heading img {
    width: 80px;
  }
  .sec.-contact .heading_box .sec_heading {
    margin: 30px auto 16px;
  }
  .sec.-contact .heading_box .sec_heading img {
    width: 161px;
  }
}

/* .sec .heading_box.-cta
---------------------------------------- */
.sec .heading_box.-cta {}
.sec .heading_box.-cta .sec_heading {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.sec .heading_box.-cta .sec_heading .point {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 115px;
  height: 51px;
  margin-right: 10px;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: .8px;
  background: #fff;
  border-radius: 10px;
  color: var(--pink);
}
.sec .heading_box.-cta .sec_heading .txt {
  font-size: 50px;
  font-weight: bold;
  letter-spacing: 3px;
  white-space: nowrap;
}
@media screen and (max-width: 768px){
  .sec .heading_box.-cta {}
  .sec .heading_box.-cta .sec_heading {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
  }
  .sec .heading_box.-cta .sec_heading .point {
    width: 101px;
    height: 45px;
    margin-right: auto;
    margin-bottom: 5px;
  }
  .sec .heading_box.-cta .sec_heading .txt {
    font-size: 36px;
  }
}

/* .sec .c-cta_btn
---------------------------------------- */
.sec .c-cta_btn {
  display: flex;
  width: 354px;
  height: 45px;
  margin-bottom: 30px;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: .8px;
  background-color: var(--yellow);
  background-image: url(../img/ico_arrow_blue.svg);
  background-repeat: no-repeat;
  background-size: 8px;
  background-position: center right 10px;
  border-radius: 10px;
  color: var(--blue);
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px){
  .sec .c-cta_btn {
    display: flex;
    width: 304px;
    height: 45px;
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: .8px;
    background-color: var(--yellow);
    background-image: url(../img/ico_arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: 8px;
    background-position: center right 16px;
    border-radius: 7px;
    color: var(--blue);
    align-items: center;
    justify-content: center;
  }
}

/* -----------------------------------
  .sec.-pain
--------------------------------------*/
.sec.-pain {
  position: relative;
  margin: 0 auto 132px;
  padding: 38px 0 40px;
  background: #62C0B4;
}
.sec.-pain::after {
  position: absolute;
  bottom: -132px;
  content: "";
  display: block;
  width: 100%;
  height: 180px;
  margin: 0 auto;
  background: url(../img/pain_bottom.png) no-repeat;
  background-size: cover;
  background-position: center bottom;
  background-color: #ACD5CE;
}
.sec.-pain .pain_list {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 68px 8vw;
  margin: 0 auto 80px;
}
.sec.-pain .pain_list li {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  width: calc(100%/3 - 5.5vw);
  max-width: 318px;
  height: 262px;
  background: #EFEEE8;
  border-radius: 25px;
}
.sec.-pain .pain_list .num {
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translate(-50%,0);
  display: flex;
  width: 60px;
  height: 46px;
  background: url(../img/pain_num.svg) no-repeat;
  background-size: 100%;
  background-position: center;
}
.sec.-pain .pain_list .num .txt {
  margin: 14px auto 0;
  color: #fff;
  font-size: 20px;
}
.sec.-pain .pain_list .read {
  margin: 40px auto 20px;
  text-align: center;
}
.sec.-pain .box_heading {
  margin-bottom: 20px;
  color: #fff;
  font-size: 35px;
  font-weight: bold;
  letter-spacing: .8px;
  line-height: 1.3;
}
@media screen and (max-width: 1000px){
  .sec.-pain .pain_list {
    gap: 68px 3vw;
  }
  .sec.-pain .pain_list li {
    width: calc(100%/3 - 2.5vw);
  }
}
@media screen and (max-width: 768px){
  .sec.-pain {
    margin: 0 auto 93px;
    padding: 23px 0 17px;
  }
  .sec.-pain::after {
    position: absolute;
    bottom: -93px;
    content: "";
    display: block;
    width: 100%;
    height: 93px;
    margin: 0 auto;
    background: url(../img/pain_bottom.png) no-repeat;
    background-size: cover;
    background-position: center bottom;
    background-color: #ACD5CE;
  }
  .sec.-pain .pain_list {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 23px 0;
    margin: 0 auto;
  }
  .sec.-pain .pain_list li {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: row;
    width: 100%;
    max-width: 326px;
    min-height: 107px;
    height: auto;
    background: #EFEEE8;
    border-radius: 18px;
    justify-content: space-between;
  }
  .sec.-pain .pain_list .num {
    position: absolute;
    top: -19px;
    left: -3.4%;
    transform: unset;
    display: flex;
    width: 60px;
    height: 46px;
    background: url(../img/pain_num.svg) no-repeat;
    background-size: 100%;
    background-position: center;
  }
  .sec.-pain .pain_list .num .txt {
    margin: 14px auto 0;
    color: #fff;
    font-size: 20px;
  }
  .sec.-pain .pain_list .read {
    margin: 20px 0 20px 28px;
    text-align: left;
  }
  .sec.-pain .pain_01 img {
    width: 45px;
    margin-right: 17%;
  }
  .sec.-pain .pain_02 img {
    width: 42px;
    margin-right: 16%;
  }
  .sec.-pain .pain_03 img {
    width: 93px;
    margin-right: 4%;
  }
  .sec.-pain .pain_04 picture {
    width: 105px;
    margin-right: 5%;
  }
  .sec.-pain .pain_05 img {
    width: 70px;
    margin-right: 4%;
  }
  .sec.-pain .box_heading {
    margin-bottom: 20px;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: .8px;
    line-height: 1.3;
  }
}

/* .worries_box
---------------------------------------- */
.sec.-pain .worries_box {
  position: relative;
  top: 60px;
  z-index: 1;
  display: flex;
  align-items: center;
  flex-direction: column;
  margin: 0 auto;
}
.sec.-pain .worries_list {
  color: #fff;
}
.sec.-pain .worries_list li {
  display: flex;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: .8px;
  line-height: calc(34/20);
}
.sec.-pain .worries_list li::before {
  flex-shrink: 0;
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 14px 8px 0 0;
  background: #fff;
}
@media screen and (max-width: 768px){
  .sec.-pain .worries_box {
    position: relative;
    top: 33px;
    z-index: 1;
    display: flex;
    align-items: center;
    flex-direction: column;
    margin: 0 auto;
  }
  .sec.-pain .worries_list {
    color: #fff;
  }
  .sec.-pain .worries_list li {
    display: flex;
    font-size: 14px;
    font-weight: var(--regular);
    letter-spacing: .8px;
    line-height: calc(24/14);
  }
  .sec.-pain .worries_list li::before {
    flex-shrink: 0;
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin: 11px 8px 0 0;
    background: #fff;
  }
}

/* -----------------------------------
  .sec.-solution
--------------------------------------*/
.sec.-solution {
  background: #ACD5CE;
  padding: 68px 0 50px;
}
.sec.-solution .solution_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 38px 1%;
  margin: 0 auto 10px;
}
.sec.-solution .solution_list li {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  width: calc(100%/3 - 1%);
  max-width: 368px;
  height: 224px;
  background: #fff;
  border-radius: 19px;
}
.sec.-solution .solution_list .num {
  position: absolute;
  top: -26px;
  left: 50%;
  transform: translate(-50%,0);
  display: flex;
  width: 52px;
  height: 52px;
  background: url(../img/solution_num.svg) no-repeat;
  background-size: 100%;
  background-position: center;
}
.sec.-solution .solution_list .num .txt {
  margin: 20px auto 0;
  color: #fff;
  font-size: 20px;
}
.sec.-solution .solution_list .read {
  margin: 40px auto 0;
  font-size: 37px;
  line-height: 1.2;
  text-align: center;
  color: var(--pink);
}
.sec.-solution .solution_list .read .small {
  color: #000;
}
@media screen and (max-width: 768px){
  .sec.-solution {
    padding: 0 0 45px;
  }
  .sec.-solution .solution_list {
    display: flex;
    align-items: center;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 13.5px 0;
    margin: -15px auto 0;
  }
  .sec.-solution .solution_list li {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 80%;
    max-width: 368px;
    min-height: 87px;
    height: auto;
    margin-right: -7%;
    background: #fff;
    border-radius: 18px;
    align-items: flex-start;
  }
  .sec.-solution .solution_list .num {
    position: absolute;
    top: 50%;
    transform: translate(0,-50%);
    left: -8.5%;
    display: flex;
    width: 52px;
    height: 52px;
    background: url(../img/solution_num.svg) no-repeat;
    background-size: 100%;
    background-position: center;
  }
  .sec.-solution .solution_list .num .txt {
    margin: 20px auto 0;
    color: #fff;
    font-size: 20px;
  }
  .sec.-solution .solution_list .read {
    margin: auto 10px auto 40px;
    font-size: var(--clamp_24px);
    letter-spacing: -.2px;
    line-height: 1.2;
    text-align: left;
    color: var(--pink);
  }
  .sec.-solution .solution_list .read .small {
    font-size: 16px;
  }
}

/* -----------------------------------
  .sec.-cta
--------------------------------------*/
.sec.-cta {
  padding: 83px 0 60px;
  background: url(../img/cta_bg.webp) no-repeat;
  background-size: cover;
  background-position: center;
  color: #fff;
}
.sec.-cta .flex {
  display: flex;
  align-items: center;
  gap: 0 4%;
}
.sec.-cta .read {
  margin-bottom: 27px;
  font-size: 18px;
  font-weight: var(--regular);
  letter-spacing: .8px;
  line-height: calc(30/18);
}
@media screen and (max-width: 768px){
  .sec.-cta {
    padding: 47px 0 40px;
    background: url(../img/cta_bg.webp) no-repeat;
    background-size: cover;
    background-position: center;
  }
  .sec.-cta .flex {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0;
  }
  .sec.-cta .inner_w644 {
    width: 85%;
    max-width: 480px;
  }
  .sec.-cta .read {
    margin-bottom: 21px;
    font-size: 14px;
    font-weight: var(--regular);
    letter-spacing: .8px;
    line-height: calc(25/14);
  }
  .sec.-cta .img_box {
    position: absolute;
    right: 0%;
    top: 10%;
    width: 33%;
  }
}

/* -----------------------------------
  .sec.-knowhow
--------------------------------------*/
.sec.-knowhow {
  background: var(--yellow);
  padding: 78px 0 34px;
}
.sec.-knowhow .heading_box {
  margin: 0 auto 40px;
}
.sec.-knowhow .knowhow_list {}
.sec.-knowhow .knowhow_list li {
  position: relative;
  z-index: 1;
  display: flex;
  width: 629px;
  aspect-ratio: 626/198;
  margin-bottom: 90px;
  border-radius: 29px;
}
.sec.-knowhow .knowhow_list .txt_box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
  background: #fff;
  border-radius: 29px 0 0 29px;
}
.sec.-knowhow .knowhow_list .txt_box .read {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: .8px;
  line-height: calc(38/24);
  text-align: center;
}
.sec.-knowhow .knowhow_list .img_box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
  background: #FFF1CF;
  border-radius: 0 29px 29px 0;
}
.sec.-knowhow .knowhow_list li:nth-child(even) .txt_box {
  border-radius: 0 29px 29px 0;
}
.sec.-knowhow .knowhow_list li:nth-child(even) .img_box {
  border-radius: 29px 0 0 29px;
}
/* /// each /// */
.sec.-knowhow .knowhow_list .knowhow_01 {
  left: 6%;
}
.sec.-knowhow .knowhow_list .knowhow_01 img {
  margin-top: 30px;
}
.sec.-knowhow .knowhow_list .knowhow_01::after {
  position: absolute;
  bottom: -205px;
  right: -5vw;
  z-index: -1;
  content: "";
  display: block;
  width: 463px;
  height: 270px;
  background: url(../img/knowhow_road_01.svg) no-repeat;
  background-size: 100%;
  background-position: center;
}
.sec.-knowhow .knowhow_list .knowhow_02 {
  left: 33%;
}
.sec.-knowhow .knowhow_list .knowhow_02::after {
  position: absolute;
  bottom: -217px;
  right: -5.3vw;
  z-index: -1;
  content: "";
  display: block;
  width: 189px;
  height: 274px;
  background: url(../img/knowhow_road_02.svg) no-repeat;
  background-size: 100%;
  background-position: center;
}
.sec.-knowhow .knowhow_list .knowhow_03 {
  left: 50%;
  transform: translate(-50%,0);
}
.sec.-knowhow .knowhow_list .knowhow_03::after {
  position: absolute;
  bottom: -115px;
  left: 50%;
  transform: translate(-50%,0);
  z-index: -1;
  content: "";
  display: block;
  width: 44px;
  height: 116px;
  background: url(../img/knowhow_road_03.svg) no-repeat;
  background-size: 100%;
  background-position: center;
}
@media screen and (max-width: 768px){
  .sec.-knowhow {
    background: var(--yellow);
    padding: 28px 0 34px;
  }
  .sec.-knowhow .heading_box {
    margin: 0 auto 17px;
  }
  .sec.-knowhow .knowhow_list {}
  .sec.-knowhow .knowhow_list li {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 222px;
    aspect-ratio: 222/244;
    margin-bottom: 26px;
    border-radius: 29px;
  }
  .sec.-knowhow .knowhow_list .txt_box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 122px;
    background: #fff;
    border-radius: 18px 18px 0 0;
  }
  .sec.-knowhow .knowhow_list .txt_box .read {
    margin-top: 16px;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: .8px;
    line-height: calc(26/18);
    text-align: center;
  }
  .sec.-knowhow .knowhow_list .img_box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 122px;
    background: #FFF1CF;
    border-radius: 0 0 18px 18px;
  }
  .sec.-knowhow .knowhow_list li:nth-child(even) .txt_box {
    border-radius: 18px 18px 0 0;
  }
  .sec.-knowhow .knowhow_list li:nth-child(even) .img_box {
    order: 2;
    border-radius: 0 0 18px 18px;
  }
  .sec.-knowhow .knowhow_list {
    max-width: 375px;
    margin: 0 auto;
  }
  /* /// each /// */
  .sec.-knowhow .knowhow_list .knowhow_01 {
    left: 6.5vw;
  }
  .sec.-knowhow .knowhow_list .knowhow_01 img {
    width: 160px;
    margin-top: 14px;
  }
  .sec.-knowhow .knowhow_list .knowhow_01::after {
    position: absolute;
    bottom: -190px;
    right: 30%;
    content: "";
    display: block;
    width: 146px;
    height: 263px;
    background: url(../img/knowhow_road_01_sp.svg) no-repeat;
    background-size: 100%;
    background-position: center;
  }
  .sec.-knowhow .knowhow_list .knowhow_02 {
    left: 34%;
  }
  .sec.-knowhow .knowhow_list .knowhow_02 img {
    width: 123px;
  }
  .sec.-knowhow .knowhow_list .knowhow_02::after {
    position: absolute;
    bottom: -212px;
    right: -2%;
    content: "";
    display: block;
    width: 143px;
    height: 231px;
    background: url(../img/knowhow_road_02_sp.svg) no-repeat;
    background-size: 100%;
    background-position: center;
  }
  .sec.-knowhow .knowhow_list .knowhow_03 {
    left: 7%;
    transform: unset;
  }
  .sec.-knowhow .knowhow_list .knowhow_03 img {
    width: 144px;
  }
  .sec.-knowhow .knowhow_list .knowhow_03::after {
    position: absolute;
    bottom: -75px;
    left: 63%;
    transform: unset;
    content: "";
    display: block;
    width: 44px;
    height: 116px;
    background: url(../img/knowhow_road_03_sp.svg) no-repeat;
    background-size: 100%;
    background-position: center;
  }
}

/* .knowhow_04
---------------------------------------- */
.sec.-knowhow .knowhow_04 {
  width: 100%;
  max-width: 100%;
  margin: 120px auto 60px;
  padding: 111px 0 100px;
  background: #fff;
  border-radius: 53px;
}
.sec.-knowhow .knowhow_04 .box_heading {
  margin: 0 auto 60px;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: .8px;
  line-height: 1.3;
  text-align: center;
}
.sec.-knowhow .knowhow_04 .knowhow_04_box {
  display: flex;
  max-width: 686px;
  margin: 0 auto 62px;
  justify-content: space-between;
}
.sec.-knowhow .knowhow_04 .knowhow_04_box >div {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.sec.-knowhow .knowhow_04 .knowhow_04_box .img_box {
  margin: 0 auto 20px;
}
.sec.-knowhow .knowhow_04 .knowhow_04_box .title {
  margin: 0 auto 10px;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: .8px;
  text-align: center;
}
.sec.-knowhow .knowhow_04 .knowhow_04_box .txt {
  display: block;
  width: 100%;
  max-width: 280px;
  margin: 0 auto;
  font-size: 16px;
  font-weight: 600;
  line-height: calc(28/16);
  letter-spacing: -.8px;
}
.sec.-knowhow .knowhow_04 .knowhow_04_box .corporate .title {
  color: var(--blue);
}
.sec.-knowhow .knowhow_04 .knowhow_04_box .corporate {
  position: relative;
}
.sec.-knowhow .knowhow_04 .knowhow_04_box .corporate::before {
  position: absolute;
  top: 48px;
  right: -120px;
  content: "";
  display: block;
  width: 122px;
  height: 73px;
  background: url(../img/knowhow_04_arrow.svg) no-repeat;
  background-size: 100%;
  background-position: center;
}
.sec.-knowhow .knowhow_04 .knowhow_04_box .recruit .title {
  color: var(--orange);
}
.sec.-knowhow .knowhow_04 .knowhow_04_box .recruit {}

@media screen and (max-width: 1180px){
  .sec.-knowhow .knowhow_04 {
    width: 94%;
  }
}
@media screen and (max-width: 768px){
  .sec.-knowhow .knowhow_04 {
    width: 87%;
    max-width: 100%;
    margin: 103px auto 29px;
    padding: 30px 0 38px;
    background: #fff;
    border-radius: 20px;
  }
  .sec.-knowhow .knowhow_04 .box_heading {
    margin: 0 auto 40px;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: .8px;
    line-height: 1.4;
    text-align: center;
  }
  .sec.-knowhow .knowhow_04 .knowhow_04_box {
    display: flex;
    max-width: 686px;
    margin: 0 auto 37px;
    justify-content: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
  }
  .sec.-knowhow .knowhow_04 .knowhow_04_box >div {
    display: flex;
    align-items: center;
    flex-direction: column;
  }
  .sec.-knowhow .knowhow_04 .knowhow_04_box .img_box {
    width: 63%;
    margin: 0 auto 13px;
    text-align: center;
  }
  .sec.-knowhow .knowhow_04 .knowhow_04_box .title {
    margin: 0 auto 10px;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: .8px;
    text-align: center;
  }
  .sec.-knowhow .knowhow_04 .knowhow_04_box .txt {
    display: block;
    width: 77%;
    max-width: 100%;
    margin: 0 auto;
    font-size: 14px;
    font-weight: 600;
    line-height: calc(26/14);
    letter-spacing: -.8px;
  }
  .sec.-knowhow .knowhow_04 .knowhow_04_box .corporate .title {
    color: var(--blue);
  }
  .sec.-knowhow .knowhow_04 .knowhow_04_box .corporate {
    position: relative;
    margin: 0 auto 125px;
  }
  .sec.-knowhow .knowhow_04 .knowhow_04_box .corporate::before {
    position: absolute;
    top: unset;
    bottom: -92px;
    right: 50%;
    transform: translate(50%,0);
    content: "";
    display: block;
    width: 46px;
    height: 62px;
    background: url(../img/knowhow_04_arrow_sp.svg) no-repeat;
    background-size: 100%;
    background-position: center;
  }
}

/* -----------------------------------
  .sec.-gym_production
--------------------------------------*/
.sec.-gym_production {
  padding: 81px 0 20px;
  background: #ED7980;
}
.sec.-gym_production .heading_box {
  margin: 0 auto 68px;
}
.sec.-gym_production .gym_production_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px 0;
  width: 76%;
  margin: 0 auto 80px;
}
.sec.-gym_production .gym_production_list li {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  width: calc(100%/2);
}
.sec.-gym_production .gym_production_list .read {
  margin: 10px auto 20px;
  text-align: center;
  color: #fff;
}
.sec.-gym_production .gym_production_list .read .big {
  font-size: 50px;
}
@media screen and (max-width: 768px){
  .sec.-gym_production {
    padding: 44px 0 20px;
    background: #ED7980;
  }
  .sec.-gym_production .heading_box {
    margin: 0 auto 16px;
  }
  .sec.-gym_production .gym_production_list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: stretch;
    flex-direction: row;
    gap: 20px 8%;
    width: 80%;
    margin: 0 auto 30px;
  }
  .sec.-gym_production .gym_production_list li {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: space-around;
    width: calc(100%/2 - 4%);
  }
  .sec.-gym_production .gym_production_list .read {
    margin: 10px auto 20px;
    font-size: var(--clamp_17px);
    text-align: center;
    color: #fff;
  }
  .sec.-gym_production .gym_production_list .read .big {
    font-size: var(--clamp_30px);
  }
  .sec.-gym_production .gym_production_list .gym_production_01 img {
    width: 110px;
  }
  .sec.-gym_production .gym_production_list .gym_production_02 img {
    width: 148px;
  }
  .sec.-gym_production .gym_production_list .gym_production_03 img {
    width: 95px;
  }
  .sec.-gym_production .gym_production_list .gym_production_04 img {
    width: 94px;
  }
}

/* -----------------------------------
  .sec.-inflow
--------------------------------------*/
.sec.-inflow {
  padding: 120px 0 160px;
  background: #51A7DD;
}
.sec.-inflow .heading_box {
  margin: 0 auto 15px;
}
.sec.-inflow .img_box {
  margin: 0 auto 56px;
  text-align: center;
}
@media screen and (max-width: 768px){
  .sec.-inflow {
    padding: 40px 0 72px;
    background: #51A7DD;
  }
  .sec.-inflow .heading_box {
    margin: 0 auto 32px;
  }
  .sec.-inflow .img_box {
    width: 86%;
    max-width: 420px;
    margin: 0 auto 65px;
    text-align: center;
  }
}

/* -----------------------------------
  .sec.-component
--------------------------------------*/
.sec.-component {
  padding: 45px 0 160px;
  background: #fff;
}
.sec.-component .heading_box {
  margin: 0 auto 33px;
}
.sec.-component .txt {
  margin: 0 auto 30px;
  text-align: center;
}
/* .sec.-component .dlist_box
---------------------------------------- */
.sec.-component .dlist_box {
  max-width: 722px;
  margin: 0 auto 20px;
}
@media screen and (max-width: 768px){
  .sec.-component {
    padding: 18px 0 60px;
    background: #fff;
  }
  .sec.-component .heading_box {
    margin: 0 auto;
  }
  .sec.-component .txt {
    width: 87%;
    margin: 0 auto 30px;
    font-size: 14px;
    line-height: calc(26/14);
    text-align: left;
  }
  /* .sec.-component .dlist_box
  ---------------------------------------- */
  .sec.-component .dlist_box {
    width: 87%;
    max-width: 722px;
    margin: 0 auto 20px;
  }
}

/* -----------------------------------
  .sec.-look
--------------------------------------*/
.sec.-look {
  padding: 84px 0 170px;
  background: var(--orange);
}
.sec.-look .look-slider_box {
  display: flex;
  gap: 0 4%;
  margin: 0 auto 50px;
}
/* .look-slider-thumb */
.sec.-look .look-slider-thumb {
  width: 100%;
  max-width: 400px;
}
.sec.-look .look-slider-thumb .splide__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 68px;
  border-radius: 34px;
  background: rgba(255,255,255,.6);
  font-size: 18px;
  letter-spacing: .8px;
}
.sec.-look .look-slider-thumb .splide__slide.is-active {
  opacity: 1;
  border: none;
  background: #fff;
}
/* .look-slider */
.sec.-look .look-slider {
  width: 100%;
  max-width: 701px;
}
@media screen and (max-width: 768px){
  .sec.-look {
    padding: 38px 0 40px;
    background: var(--orange);
  }
  .sec.-look .c-heading_box {
    margin: 0 auto 33px;
  }
  .sec.-look .look-slider_box {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 20px 0;
    margin: 0 auto 20px;
  }
  /* .look-slider-thumb */
  .sec.-look .look-slider-thumb {
    order: 1;
    width: 87%;
    max-width: 400px;
    margin: 0 auto;
  }
  .sec.-look .look-slider-thumb .splide__slide {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 55px;
    border-radius: 34px;
    background: rgba(255,255,255,.6);
    font-size: 14px;
    letter-spacing: .8px;
  }
  .sec.-look .look-slider-thumb .splide__slide.is-active {
    opacity: 1;
    border: none;
    background: #fff;
  }
  /* .look-slider */
  .sec.-look .look-slider {
    width: 87%;
    max-width: 480px;
    margin: 0 auto;
  }
}

/* -----------------------------------
  .sec.-gym_portfolio
--------------------------------------*/
.sec.-gym_portfolio {
  padding: 50px 0 50px;
  background: #B9B9BA;
}
.sec.-gym_portfolio .inner_box {
  width: calc(100% - 80px);
  margin: 0 auto;
  padding: 120px 0 100px;
  border-radius: 30px;
  background-color: #fff;
  background-image: linear-gradient(90deg, #e0e0e180 1px, transparent 1px), linear-gradient(#e0e0e180 1px, transparent 1px);
  background-position: 10px 10px;
  background-size: 21px 21px;
}
.sec.-gym_portfolio .heading_box {
  margin: 0 auto 104px;
}
.sec.-gym_portfolio .heading_box .read {
  margin: 0 auto 30px;
}
.sec.-gym_portfolio .heading_box .txt {
  text-align: center;
}
@media screen and (max-width: 768px){
  .sec.-gym_portfolio {
    padding: 60px 0 60px;
    background: #B9B9BA;
  }
  .sec.-gym_portfolio .inner_box {
    width: calc(100% - 50px);
    margin: 0 auto;
    padding: 60px 0 20px;
    border-radius: 20px;
    background-color: #fff;
    background-image: linear-gradient(90deg, #e0e0e180 1px, transparent 1px), linear-gradient(#e0e0e180 1px, transparent 1px);
    background-position: 10px 10px;
    background-size: 21px 21px;
  }
  .sec.-gym_portfolio .heading_box {
    margin: 0 auto 36px;
  }
  .sec.-gym_portfolio .heading_box .read {
    margin: 0 auto 13px;
  }
  .sec.-gym_portfolio .heading_box .txt {
    width: 86%;
    max-width: fit-content;
    margin: 0 auto;
    text-align: left;
  }
}

/* .portfolio_box
---------------------------------------- */
.portfolio_box {
  max-width: 1040px;
  margin: 0 auto;
}
.portfolio_list li {
  margin: 0 auto 90px;
}
.portfolio_box .flex {
  display: flex;
  justify-content: space-between;
  gap: 0 4%;
}
.portfolio_box figcaption {max-width: 279px;margin-left: 23px;}
.portfolio_box .title {
  margin-bottom: 3px;
  font-size: 24px;
  line-height: 1.5;
  font-weight: bold;
}
.portfolio_box .txt {
  width: 100%;
  margin-bottom: 50px;
}
.portfolio_box .link_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 284px;
  height: 43px;
  color: #fff;
  font-size: 14px;
  border-radius: 21.5px;
  background-color: #606060;
}
.portfolio_box .link_btn.-blank {
  background-image: url(../img/ico_blank.svg);
  background-repeat: no-repeat;
  background-size: 16px;
  background-position: center right 15px;
}
.portfolio_box img {
  width: 64.8%;
  max-width: 648px;
  height: auto;
  object-fit: contain;
}
@media screen and (max-width: 1200px){
  .portfolio_box {
    width: 96%;
    max-width: 96%;
  }
  .portfolio_box img {
    width: 56%;
  }
}
@media screen and (max-width: 768px){
  .portfolio_box {
    width: 96%;
    max-width: 96%;
  }
  .portfolio_list li {
    margin: 0 auto 50px;
  }
  .portfolio_box .flex {
    display: flex;
    justify-content: flex-start;
    gap: 13px 0;
    flex-direction: column;
    align-items: center;
  }
  .portfolio_box figcaption {
    order: 1;
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
  }
  .portfolio_box .title {
    width: 90%;
    margin: 0 auto 3px;
    font-size: 20px;
    line-height: 1.5;
    font-weight: bold;
  }
  .portfolio_box .txt {
    width: 90%;
    margin: 0 auto 18px;
  }
  .portfolio_box .link_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 91%;
    max-width: 284px;
    height: 43px;
    margin: 0 auto;
    padding: 1em 3em 1em 1.5em;
    color: #fff;
    font-size: 14px;
    line-height: 1.25;
    background-color: #606060;
    border-radius: 21.5px;
  }
  .portfolio_box .link_btn.-blank {
    background-image: url(../img/ico_blank.svg);
    background-repeat: no-repeat;
    background-size: 16px;
    background-position: center right 24px;
  }
  .portfolio_box img {
    width: 91%;
    max-width: 480px;
    height: auto;
    object-fit: contain;
  }
}

/* -----------------------------------
  .sec.-flow_order
--------------------------------------*/
.sec.-flow_order {
  padding: 100px 0 100px;
  background: #B9B9BA;
}
.sec.-flow_order .heading_box .read {
  color: #fff;
}
/* .order_box
---------------------------------------- */
.sec.-flow_order .order_list {
  width: 96%;
  display: flex;
  gap: 0 2%;
  margin: 0 auto 70px;
}
.sec.-flow_order .order_list li {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: space-evenly;
  width: calc(100%/6);
  height: 220px;
  padding: 36px 0 0;
  background: #fff;
  border-radius: 5px;
}
.sec.-flow_order .order_list li .num {
  position: absolute;
  left: -6px;
  top: 10px;
  justify-content: center;
  display: flex;
  width: 73px;
  height: 31px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background: url(../img/flow_order_num.svg) no-repeat;
  background-size: 100%;
  background-position: center;
}
.sec.-flow_order .order_list li img {
  flex-shrink: 0;
}
.sec.-flow_order .order_list .txt {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 1200px){
  .sec.-flow_order .order_list {
    width: 98%;
  }
}
@media screen and (max-width: 1000px){
  /* .order_box
  ---------------------------------------- */
  .sec.-flow_order .order_list {
    width: 84%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 3%;
  }
  .sec.-flow_order .order_list li {
    width: calc(100%/3 - 4%);
    max-width: 280px;
  }
}
@media screen and (max-width: 768px){
  .sec.-flow_order {
    padding: 10px 0 50px;
    background: #B9B9BA;
  }
  .sec.-flow_order .heading_box.-no_bg {
    margin: 0 auto 18px;
  }
  .sec.-flow_order .heading_box .read {
    color: #fff;
  }
  /* .order_box
  ---------------------------------------- */
  .sec.-flow_order .order_list {
    width: 84%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 6%;
    margin: 0 auto 70px;
  }
  .sec.-flow_order .order_list li {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: space-evenly;
    width: calc(100%/2 - 3%);
    max-width: 280px;
    height: 150px;
    padding: 36px 0 0;
    background: #fff;
    border-radius: 5px;
  }
  .sec.-flow_order .order_list li .num {
    position: absolute;
    left: -6px;
    top: 10px;
    justify-content: center;
    display: flex;
    width: 73px;
    height: 31px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    background: url(../img/flow_order_num.svg) no-repeat;
    background-size: 100%;
    background-position: center;
  }
  .sec.-flow_order .order_list li img {
    flex-shrink: 0;
  }
  .sec.-flow_order .order_list .order_list_01 img {
    width: 40px;
  }
  .sec.-flow_order .order_list .order_list_02 img {
    width: 61px;
  }
  .sec.-flow_order .order_list .order_list_03 img {
    width: 42px;
  }
  .sec.-flow_order .order_list .order_list_04 img {
    width: 66px;
  }
  .sec.-flow_order .order_list .order_list_05 img {
    width: 48px;
  }
  .sec.-flow_order .order_list .order_list_06 img {
    width: 62px;
  }
  .sec.-flow_order .order_list .txt {
    font-size: 16px;
    font-weight: bold;
  }
}

/* -----------------------------------
  .sec.-price
--------------------------------------*/
.sec.-price {
  padding: 100px 0 110px;
  background: #EFEEE8;
}
.sec.-price .heading_box {
  margin: 0 auto 10px;
}
@media screen and (max-width: 768px){
  .sec.-price {
    padding: 33px 0 30px;
    background: #EFEEE8;
  }
  .sec.-price .heading_box {
    margin: 0 auto -7px;
  }
}

/* .sec.-price .table_box
---------------------------------------- */
.sec.-price .table td:nth-of-type(1) .color {
  color: var(--pink);
}
.sec.-price .table td:nth-of-type(2) .color {
  color: var(--orange);
}
.sec.-price .table {
  position: relative;
  width: 836px;
  max-width: 836px;
  margin: 0 auto 10px;
  margin: 90px auto 10px;
}
.sec.-price .table::after {
  position: absolute;
  top: -12px;
  left: 191px;
  content: "";
  display: block;
  width: 204px;
  height: calc(100% + 4px);
  border: 8px solid var(--pink);
  border-radius: 21px 21px 0 0;
}
.sec.-price .table th {
  width: 195px;
  min-height: 51px;
  padding: 10px 2px 8px;
  font-size: 18px;
  letter-spacing: .8px;
  line-height: 1.3;
  text-align: center;
}
.sec.-price .table td {
  width: 212px;
  font-size: 18px;
  letter-spacing: .8px;
  line-height: 1.3;
  text-align: center;
}
.sec.-price .table span + span {
  display: block;
  white-space: nowrap;
}
.sec.-price .table .big {
  display: inline-block;
  font-size: 31px;
}
/* .table thead */
.sec.-price .table thead {}
.sec.-price .table thead th {
}
.sec.-price .table thead td {
  height: 74px;
  padding: 10px 2px 0;
  color: #fff;
  border: 1px solid #ccc;
}
.sec.-price .table thead td .en {
  color: rgb(255,255,255,.47);
  font-size: 18px;
  font-weight: bold;
}
.sec.-price .table thead td .txt {
  font-size: 20px;
  font-weight: bold;
}
.sec.-price .table .title-standard {
  position: relative;
  background: var(--pink);
  border: 0;
  border-radius: 21px 21px 0 0;
}
.sec.-price .table .title-standard::before {
  position: absolute;
  top: -73px;
  left: 50%;
  transform: translate(-50%,0);
  z-index: 1;
  content: "";
  display: block;
  width: 132px;
  height: 83px;
  background: url(../img/price_recomment.svg) no-repeat;
  background-size: contain;
}
.sec.-price .table .title-standard::after {
  position: absolute;
  top: -8px;
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: var(--pink);
  border-radius: 21px 21px 0 0;
}
.sec.-price .table .title-premium {
  background: var(--orange);
}
.sec.-price .table .title-economy {
  background: #E6E6E6;
  color: #575554;
}
.sec.-price .table .title-economy .en {
  color: #807F80;
}

/* .table tbody */
.sec.-price .table tbody th {
  background: #E6E6E6;
  border: 1px solid #ccc;
}
.sec.-price .table tbody td {
  border: 1px solid #ccc;
  background: #fff;
  font-weight: 600;
}
.sec.-price .table tbody td > span {
  display: block;
}
@media screen and (max-width: 900px){
  .sec.-price .table_box {
    padding: 80px 40px 60px;
    overflow-x: auto;
  }
}
@media screen and (max-width: 768px){
  .sec.-price .table_box {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .sec.-price .table_box::-webkit-scrollbar {
    display: none;
  }
  .sec.-price .table_box {
    padding: 30px 40px 20px 10px;
    overflow-x: auto;
  }
  .sec.-price .table {
    position: relative;
    width: 714px;
    max-width: 836px;
    margin: 90px 20px 10px;
  }
  .sec.-price .table::after {
    position: absolute;
    top: -12px;
    left: 161px;
    content: "";
    display: block;
    width: 166px;
    height: calc(100% + 4px);
    border: 8px solid var(--pink);
    border-radius: 21px 21px 0 0;
  }
  .sec.-price .table th {
    width: 215px;
    min-height: 51px;
    padding: 10px 2px 8px;
    font-size: 16px;
    letter-spacing: .8px;
    line-height: 1.3;
    text-align: center;
  }
  .sec.-price .table td {
    width: 202px;
    font-size: 14px;
    letter-spacing: .8px;
    line-height: 1.3;
    text-align: center;
  }
  .sec.-price .table span + span {
    display: block;
    white-space: nowrap;
  }
  .sec.-price .table .big {
    font-size: 27px;
  }
  
  /* .table thead */
  .sec.-price .table thead {}
  .sec.-price .table thead th {
  }
  .sec.-price .table thead td {
    height: 74px;
    padding: 10px 2px 0;
    color: #fff;
    border: 1px solid #ccc;
  }
  .sec.-price .table thead td .en {
    color: rgb(255,255,255,.47);
    font-size: 15px;
    font-weight: bold;
  }
  .sec.-price .table thead td .txt {
    font-size: 17px;
    font-weight: bold;
  }
  .sec.-price .table .title-standard {
    position: relative;
    background: var(--pink);
    border: 0;
    border-radius: 21px 21px 0 0;
  }
  .sec.-price .table .title-standard::before {
    position: absolute;
    top: -73px;
    left: 50%;
    transform: translate(-50%,0);
    z-index: 1;
    content: "";
    display: block;
    width: 132px;
    height: 83px;
    background: url(../img/price_recomment.svg) no-repeat;
    background-size: contain;
  }
  .sec.-price .table .title-standard::after {
    position: absolute;
    top: -8px;
    content: "";
    display: block;
    width: 100%;
    height: 30px;
    background: var(--pink);
    border-radius: 21px 21px 0 0;
  }
  .sec.-price .table .title-premium {
    background: var(--orange);
  }
  .sec.-price .table .title-economy {
    background: #E6E6E6;
    color: #575554;
  }
  .sec.-price .table .title-economy .en {
    color: #807F80;
  }
  
  /* .table tbody */
  .sec.-price .table tbody th {
    background: #E6E6E6;
    border: 1px solid #ccc;
  }
  .sec.-price .table tbody td {
    border: 1px solid #ccc;
    background: #fff;
    font-weight: 600;
  }
}

/* -----------------------------------
  .sec.-company
--------------------------------------*/
.sec.-company {
  padding: 90px 0 100px;
  background: #fff;
}
.sec.-company .heading_box {
  margin: 0 auto 94px;
}
@media screen and (max-width: 768px){
  .sec.-company {
    padding: 20px 0 60px;
    background: #fff;
  }
  .sec.-company .heading_box {
    margin: 0 auto 23px;
  }
}

/* .sec.-company .dlist_box
---------------------------------------- */
.sec.-company .dlist_box {
  max-width: 584px;
  margin: 0 auto 10px;
}
.sec.-company .dlist_box dt {
  width: 85px;
  font-size: 14px;
  line-height: 22px;
  text-align: center;
  margin-right: 35px;
}
.sec.-company .dlist_box dd {
  font-size: 14px;
  line-height: 22px;
}
@media screen and (max-width: 768px){
  .sec.-company .dlist_box {
    width: 87%;
    max-width: 584px;
    margin: 0 auto 10px;
  }
  .sec.-company .dlist_box dl {
    display: flex;
    flex-direction: row;
    padding: 13px 5px 8px;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: -.8px;
    line-height: 1.7;
    border-bottom: 1px solid #807F80;
  }
  .sec.-company .dlist_box dl:first-child {
    border-top: 0;
  }
  .sec.-company .dlist_box dt {
    width: 85px;
    font-size: 14px;
    line-height: 22px;
    text-align: center;
    margin-right: 20px;
  }
  .sec.-company .dlist_box dd {
    font-size: 14px;
    line-height: 22px;
  }
}

/* -----------------------------------
  .sec.-cta_diagnosis
--------------------------------------*/
.sec.-cta_diagnosis {
  height: 894px;
  padding: 133px 0 60px;
  background: url(../img/cta_diagnosis_bg.webp) no-repeat;
  background-size: cover;
  background-position: center;
  color: #fff;
}
@media screen and (max-width: 768px){
  .sec.-cta_diagnosis {
    height: auto;
    padding: 63px 0 120px;
    background: url(../img/cta_diagnosis_bg.webp) no-repeat;
    background-size: cover;
    background-position: center;
    color: #fff;
  }
}

/* .txt_box
---------------------------------------- */
.sec.-cta_diagnosis .txt_box {
  width: 65%;
  max-width: 739px;
  margin-left: auto;
  margin-right: 2.5%;
}
/* .heading_box */
.sec.-cta_diagnosis .heading_box {
  margin-bottom: 20px;
}
.sec.-cta_diagnosis .heading_box .sec_heading .point {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 115px;
  height: 86px;
  margin-right: 22px;
  font-size: 38px;
  font-weight: bold;
  letter-spacing: .12px;
  background: var(--yellow);
  border-radius: 10px;
  color: var(--blue);
}
.sec.-cta_diagnosis .heading_box .sec_heading span {
  white-space: nowrap;
  color: var(--yellow);
}
.sec.-cta_diagnosis .heading_box .sec_heading .middle {
  font-size: 28px;
  font-weight: bold;
  letter-spacing: .6px;
  line-height: 1.5;
}
.sec.-cta_diagnosis .heading_box .sec_heading .big {
  font-size: 44px;
  font-weight: bold;
  letter-spacing: .6px;
  line-height: 1;
}
.sec.-cta_diagnosis .read {
  margin-bottom: 10px;
  font-size: 24px;
  font-weight: var(--regular);
  letter-spacing: normal;
}
.sec.-cta_diagnosis .wakarukoto {
  margin: 86px 0 42px;
  padding: 30px 8.5% 30px;
  background: #fff;
  border-radius: 30px;
}
.sec.-cta_diagnosis .box_heading {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
  color: var(--blue);
  letter-spacing: .2px;
}
.sec.-cta_diagnosis .list {
  margin-bottom: 20px;
  color: #000;
}
.sec.-cta_diagnosis .list li {
  display: flex;
  margin-bottom: 7px;
  font-size: 20px;
  font-weight: var(--regular);
}
.sec.-cta_diagnosis .list li::before {
  margin: 8px 12px 0 0;
}

/* .img_box
---------------------------------------- */
.sec.-cta_diagnosis .inner_w1140 {
  position: relative;
}
.sec.-cta_diagnosis .img_box {
  position: absolute;
  top: 26%;
  right: 72%;
  width: 27%;
  padding-left: 1%;
}
@media screen and (max-width: 768px){
  /* .txt_box
  ---------------------------------------- */
  .sec.-cta_diagnosis .txt_box {
    width: 93%;
    max-width: 739px;
    margin: 0 auto;
  }
  /* .heading_box */
  .sec.-cta_diagnosis .heading_box {
    margin-bottom: 30px;
  }
  .sec.-cta_diagnosis .heading_box.-cta .sec_heading {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: row;
    width: 93%;
    margin: 0 auto;
  }
  .sec.-cta_diagnosis .heading_box .sec_heading .point {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 78px;
    height: 58px;
    margin-right: 14px;
    margin-top: 6px;
    font-size: 25px;
    font-weight: bold;
    letter-spacing: .12px;
    background: var(--yellow);
    border-radius: 6px;
    color: var(--blue);
  }
  .sec.-cta_diagnosis .heading_box .sec_heading span {
    white-space: nowrap;
    color: var(--yellow);
  }
  .sec.-cta_diagnosis .heading_box .sec_heading .middle {
    font-size: 19px;
    font-weight: bold;
    letter-spacing: .6px;
    line-height: 1.7;
  }
  .sec.-cta_diagnosis .heading_box .sec_heading .big {
    font-size: 30px;
    font-weight: bold;
    letter-spacing: .6px;
    line-height: 1;
  }
  .sec.-cta_diagnosis .read {
    width: 92%;
    margin: 0 auto 13px;
    font-size: 20px;
    font-weight: var(--regular);
    letter-spacing: normal;
  }
  .sec.-cta_diagnosis .txt {
    width: 90%;
    margin: 0 auto 22px;
  }
  .sec.-cta_diagnosis .wakarukoto {
    width: 100%;
    max-width: 480px;
    margin: 36px auto 42px;
    padding: 23px 7% 25px;
    background: #fff;
    border-radius: 10px;
  }
  .sec.-cta_diagnosis .box_heading {
    margin-bottom: 13px;
    font-size: 16px;
    font-weight: bold;
    color: var(--blue);
    letter-spacing: .2px;
  }
  .sec.-cta_diagnosis .list {
    margin-bottom: 0;
    color: #000;
  }
  .sec.-cta_diagnosis .list li {
    display: flex;
    margin-bottom: 5px;
    font-size: 14px;
    font-weight: var(--regular);
  }
  .sec.-cta_diagnosis .list li::before {
    margin: 5px 7px 0 0;
  }
  /* .img_box
  ---------------------------------------- */
  .sec.-cta_diagnosis .inner_w1140 {
    position: relative;
  }
  .sec.-cta_diagnosis .img_box {
    position: relative;
    top: unset;
    right: unset;
    transform: unset;
    width: 40%;
    max-width: 200px;
    padding-left: 0;
    margin: 0 auto;
  }
}

/* .sec.-cta_diagnosis .c-cta_btn
---------------------------------------- */
.sec.-cta_diagnosis .c-cta_btn {
  display: flex;
  width: 495px;
  height: 63px;
  margin: 0 auto;
  font-size: 29px;
  font-weight: bold;
  letter-spacing: .8px;
  background-color: var(--yellow);
  background-image: url(../img/ico_arrow_blue.svg);
  background-repeat: no-repeat;
  background-size: 10px;
  background-position: center right 20px;
  border-radius: 10px;
  color: var(--blue);
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px){
  .sec.-cta_diagnosis .c-cta_btn {
    display: flex;
    width: 100%;
    max-width: 420px;
    height: 44px;
    margin: 0 auto 10px;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: .8px;
    background-color: var(--yellow);
    background-image: url(../img/ico_arrow_blue.svg);
    background-repeat: no-repeat;
    background-size: 8px;
    background-position: center right 12px;
    border-radius: 8px;
    color: var(--blue);
    align-items: center;
    justify-content: center;
  }
}

/* -----------------------------------
  .sec.-contact
--------------------------------------*/
.sec.-contact {
  background: #fff;
}
.sec.-contact .flex {
  display: flex;
}
@media screen and (max-width: 768px){
  .sec.-contact {
    background: #fff;
  }
  .sec.-contact .flex {
    display: flex;
    align-items: center;
    flex-direction: column;
  }
}

/* .contact_box
---------------------------------------- */
.sec.-contact .contact_box {
  width: 44%;
  padding: 122px 0 180px;
}
.sec.-contact .contact_box >.inner {
  max-width: 412px;
  margin: 0 13% 0 auto;
}
.sec.-contact .heading_box {
  margin-bottom: 20px;
}
.sec.-contact .heading_box .sec_heading {
  margin-bottom: 20px;
}

/* .read_box */
.sec.-contact .read_box {
  margin-bottom: 30px;
}
.sec.-contact .read_box .read {
  position: relative;
  margin: 0 auto;
  padding: 30px 58px 46px;
  font-size: 20px;
  text-align: center;
  letter-spacing: normal;
  line-height: 1.5;
}
.sec.-contact .read_box .txt {
  letter-spacing: normal;
}
.sec.-contact .read_box .read::before {
  position: absolute;
  top: 0;
  left: 10px;
  content: "";
  display: block;
  width: 44px;
  height: 115px;
  background: url(../img/contact_hd_01.svg) no-repeat;
  background-size: cover;
}
.sec.-contact .read_box .read::after {
  position: absolute;
  top: 10px;
  right: 10px;
  content: "";
  display: block;
  width: 59px;
  height: 104px;
  background: url(../img/contact_hd_02.svg) no-repeat;
  background-size: cover;
}

/* .tel_box */
.sec.-contact .tel_box {
  max-width: 412px;
  margin: 0 auto;
  padding: 10px 10px 15px;
  text-align: center;
  border: 4px solid var(--blue);
  border-radius: 16px;
}
.sec.-contact .tel_box .txt {
  font-size: 14px;
  font-weight: bold;
}
.sec.-contact .tel_box .num {
  display: flex;
  justify-content: center;
  margin: 10px auto 0;
  color: var(--blue);
  font-size: 27px;
  font-weight: bold;
}
.sec.-contact .tel_box .num::before {
  content: "";
  display: inline-block;
  width: 21px;
  height: 27px;
  margin: 2px 5px 0 0;
  background: url(../img/ico_tel.svg) no-repeat;
  background-size: cover;
}
@media screen and (max-width: 1200px){
  .sec.-contact .contact_box {
    padding: 122px 1% 180px;
  }
  .sec.-contact .contact_box >.inner {
    margin: 0 1% 0 auto;
  }
}
@media screen and (max-width: 768px){
  .sec.-contact .contact_box {
    width: 100%;
    padding: 18px 0 30px;
  }
  .sec.-contact .contact_box >.inner {
    max-width: 412px;
    margin: 0 auto;
  }
  .sec.-contact .heading_box {
    width: 86%;
    margin: 0 auto 20px;
  }
  .sec.-contact .heading_box .sec_heading {
    margin-bottom: 17px;
  }
  /* .read_box */
  .sec.-contact .read_box {
    margin-bottom: 24px;
  }
  .sec.-contact .read_box .read {
    position: relative;
    padding: 30px 50px 48px;
    font-size: var(--clamp_20px);
    text-align: center;
    letter-spacing: normal;
    line-height: 1.5;
  }
  .sec.-contact .read_box .txt {
    width: 86%;
    margin: 0 auto;
    font-size: 16px;
    letter-spacing: normal;
    line-height: 1.75;
  }
  .sec.-contact .read_box .read::before {
    position: absolute;
    top: 7px;
    left: 20px;
    content: "";
    display: block;
    width: 39px;
    height: 104px;
    background: url(../img/contact_hd_01.svg) no-repeat;
    background-size: cover;
  }
  .sec.-contact .read_box .read::after {
    position: absolute;
    top: 10px;
    right: 14px;
    content: "";
    display: block;
    width: 53px;
    height: 94px;
    background: url(../img/contact_hd_02.svg) no-repeat;
    background-size: cover;
  }
  
  /* .tel_box */
  .sec.-contact .tel_box {
    width: 87%;
    max-width: 412px;
    margin: 0 auto;
    padding: 10px 10px 15px;
    text-align: center;
    border: 4px solid var(--blue);
    border-radius: 16px;
  }
  .sec.-contact .tel_box .txt {
    font-size: 14px;
    font-weight: bold;
  }
  .sec.-contact .tel_box .num {
    display: flex;
    justify-content: center;
    margin: 10px auto 0;
    color: var(--blue);
    font-size: 27px;
    font-weight: bold;
  }
  .sec.-contact .tel_box .num::before {
    content: "";
    display: inline-block;
    width: 21px;
    height: 27px;
    margin: 2px 5px 0 0;
    background: url(../img/ico_tel.svg) no-repeat;
    background-size: cover;
  }
}

/* .form_box
---------------------------------------- */
.sec.-contact .form_box {
  width: 57%;
  padding: 107px 0 180px;
  background: #EFEEE8;
}
.sec.-contact .form_box >.inner {
  max-width: 555px;
  margin: 0 auto 0 12%;
}
@media screen and (max-width: 1200px){
  .sec.-contact .form_box {
    padding: 107px 2% 180px;
  }
  .sec.-contact .form_box >.inner {
    margin: 0 auto 0 2%;
  }
}
/* .form
---------------------------------------- */
.form_box .form dl {
  padding: 7px 0;
}
.form_box .form dl:nth-child(2),
.form_box .form dl:nth-child(3){
  border-bottom: 1px solid #B9B9BA;
}
.form_box .form dt,
.form_box .form dd {
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: .8px;
}
.form_box .form dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: space-between;
  -ms-flex-preferred-size: 240px;
  width: 190px;
  margin-right: 20px;
  margin-top: 14px;
}
.form_box .form dt .txt {
  display: flex;
  justify-content: space-between;
  width: 100%;
  color: #000;
  font-weight: bold;
}
.form_box .form dd {
  width: 100%;
  height: 100%;
  max-width: 358px;
}
.form_box .form .required {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 20px;
  margin: 5px 0 0 auto;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  background: var(--pink);
  border-radius: 6px;
}
.form_box .form .dl-check.check_01 dt {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.form_box .form .dl-check.check_01 dt .note {
  text-align: left;
  font-size: 12px;
  font-weight: var(--regular);
  line-height: 1.5;
}
.form_box .form .dl-check.check_02 .wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required {
  display: flex;
  flex-wrap: wrap;
}
.form_box .form .dl-check.check_02 .wpcf7-list-item {
  width: 50%;
}

.form_box .form input:focus,
.form_box .form select:focus,
.form_box .form textarea:focus {
  outline: 0;
  background: #fff;
}
.form_box .form label {
  display: flex;
  line-height: 1.5;
  transition: .25s;
}
.form_box .form label:hover {
  cursor: pointer;
  color: var(--blue);
}

.form_box .form dl {
  display: flex;
  align-items: flex-start;
  max-width: 100%;
}
.form_box .form dl.dl-checkbox {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.form_box .form dl.dl-textarea {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.form_box .form textarea {
  height: 92px;
}

.form_box .form .wpcf7-form input[type="text"],
.form_box .form .wpcf7-form input[type="password"],
.form_box .form .wpcf7-form input[type="datetime"],
.form_box .form .wpcf7-form input[type="datetime-local"],
.form_box .form .wpcf7-form input[type="date"],
.form_box .form .wpcf7-form input[type="month"],
.form_box .form .wpcf7-form input[type="time"],
.form_box .form .wpcf7-form input[type="week"],
.form_box .form .wpcf7-form input[type="number"],
.form_box .form .wpcf7-form input[type="email"],
.form_box .form .wpcf7-form input[type="url"],
.form_box .form .wpcf7-form input[type="search"],
.form_box .form .wpcf7-form input[type="tel"],
.form_box .form .wpcf7-form input[type="color"],
.form_box .form .wpcf7-form .uneditable-input {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: .5em .75em;
  font-family: var(--font-family);
  font-size: inherit;
  line-height: inherit;
  border: 1px solid #B9B9BA;
  border-radius: 4px;
}
.form_box .form .wpcf7-form textarea {
  max-width: 100%;
  padding: .5em .75em;
  margin: 0;
  font-family: var(--font-family);
  font-size: inherit;
  line-height: inherit;
  border: 1px solid #B9B9BA;
}
.form_box .form .wpcf7-form .wpcf7-form-control-wrap {
  display: inline-block;
  width: 100%;
  height: 100%;
  margin: 0;
}
.form_box .form .wpcf7-form .wpcf7-list-item {
  margin: 0 0 3px;
  line-height: 1;
}
.wpcf7-form .wpcf7-form-control-wrap {
  display: block;
  text-align: left;
  margin: 0 auto 10px auto
}
.form_box .form .wpcf7-form input::-webkit-input-placeholder, .form_box .form .wpcf7-form textarea::-webkit-input-placeholder {
  font-weight: bold;
  color: #aaa;
}
.form_box .form .wpcf7-form input::-moz-placeholder, .form_box .form .wpcf7-form textarea::-moz-placeholder {
  font-weight: bold;
  color: #aaa;
}
.form_box .form .wpcf7-form input:-ms-input-placeholder, .form_box .form .wpcf7-form textarea:-ms-input-placeholder {
  font-weight: bold;
  color: #aaa;
}
.form_box .form .wpcf7-form input::-ms-input-placeholder, .form_box .form .wpcf7-form textarea::-ms-input-placeholder {
  font-weight: bold;
  color: #aaa;
}
.form_box .form .wpcf7-form input::placeholder,
.form_box .form .wpcf7-form textarea::placeholder {
  font-weight: bold;
  color: #aaa;
}
.form_box .form .submit_btn {
  position: relative;
  width: 228px;
  height: 45px;
  margin: 10px auto;
}
.form_box .form .submit_btn input[type="submit"] {
  display: flex;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  border: 0;
  border-radius: 7.5px;
  background-color: var(--blue);
  background-image: url(../img/ico_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 8px;
  background-position: center right 10px;
}

.form_box .form .submit_btn input[type="submit"]:hover {
  opacity: .7;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.form_box .form input[type="checkbox"],
.form_box .form input[type="radio"] {
  flex-shrink: 0;
  position: relative;
  margin-right: 5px;
  top: 2px;
  border: 0;
  border-radius: 0;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  background-color: #fff;;
  border: 1px solid #B9B9BA;
  border-radius: 4px;
}
.form_box .form input[type="checkbox"]:checked {
  background: var(--blue);
}
.form_box .form input[type="checkbox"]:checked:before,
.form_box .form input[type="checkbox"]:checked:after,
.form_box .form input[type="radio"]:checked:before,
.form_box .form input[type="radio"]:checked:after {
  display: block;
  position: absolute;
  content: "";
  background-color: #fff;
}
.form_box .form input[type="checkbox"]:checked:before {
  left: 1px;
  top: 11px;
  width: 8px;
  height: 3px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: right center;
  transform-origin: right center;
}
.form_box .form input[type="checkbox"]:checked:after {
  left: 8px;
  top: 11px;
  width: 10px;
  height: 3px;
  -webkit-transform: rotate(-53deg);
  transform: rotate(-45deg);
  -webkit-transform-origin: left center;
  transform-origin: left center;
}
.form_box .form input[type="radio"] {
  border-radius: 50%
}
.form_box .form input[type="radio"]:checked:before {
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  margin-left: -4px;
  border-radius: 50%
}
.form_box .form input[type="radio"]:checked:after {
  display: none;
  width: 0;
  height: 0
}

.form_box .form div.wpcf7-mail-sent-ok {
  max-width: 80%;
  margin: 40px auto 0;
  padding: 10px;
  text-align: center;
}
.form_box .form div.wpcf7-validation-errors,
.form_box .form div.wpcf7-acceptance-missing {
  max-width: 80%;
  margin: 40px auto 0;
  padding: 10px;
  text-align: center;
  border: 2px solid #dd3333;
}
.form_box .form .wpcf7 form.invalid .wpcf7-response-output,
.form_box .form .wpcf7 form .wpcf7-response-output {
  max-width: 80%;
  text-align: center;
  margin: 30px auto;
  padding: 1em 0;
  border-color: #dd3333;
}
.form_box .form .wpcf7 form.sent .wpcf7-response-output {
  display: none;
}
@media screen and (max-width: 768px){
  .sec.-contact .form_box {
    width: 100%;
    padding: 56px 0 100px;
    background: #EFEEE8;
  }
  .sec.-contact .form_box >.inner {
    width: 85%;
    max-width: 555px;
    margin: 0 auto;
  }
  
  /* .form
  ---------------------------------------- */
  .form_box .form dl {
    padding: 7px 0;
  }
  .form_box .form dl:nth-child(2),
  .form_box .form dl:nth-child(3){
    border-bottom: 1px solid #B9B9BA;
  }
  .form_box .form dt,
  .form_box .form dd {
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: .8px;
  }
  .form_box .form dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-start;
    -ms-flex-preferred-size: 240px;
    width: 100%;
    margin: 4px 0;
  }
  .form_box .form dt .txt {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    color: #000;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.75;
  }
  .form_box .form dd {
    width: 100%;
    height: 100%;
    max-width: 100%;
    margin-top: 0;
  }
  .form_box .form .required {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 20px;
    margin: 3px 0 0 8px;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    background: var(--pink);
    border-radius: 6px;
  }
  .form_box .form .dl-check.check_01 dt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .form_box .form .dl-check.check_01 dt .note {
    margin-bottom: 5px;
    text-align: left;
    font-size: 12px;
    font-weight: var(--regular);
    line-height: 1.5;
  }
  .form_box .form .dl-check.check_02 .wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required {
    display: flex;
    flex-wrap: wrap;
  }
  .form_box .form .dl-check.check_02 .wpcf7-list-item {
    width: 50%;
  }
  .form_box .form input:focus,
  .form_box .form select:focus,
  .form_box .form textarea:focus {
    outline: 0;
    background: #fff;
  }
  .form_box .form label {
    display: flex;
    line-height: 1.5;
    transition: .25s;
  }
  .form_box .form label:hover {
    cursor: pointer;
    color: var(--blue);
  }
  
  .form_box .form dl {
    display: flex;
    align-items: flex-start;
    max-width: 100%;
    flex-direction: column;
  }
  .form_box .form dl.dl-checkbox {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .form_box .form dl.dl-textarea {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .form_box .form textarea {
    height: 92px;
  }
  
  .form_box .form .wpcf7-form input[type="text"],
  .form_box .form .wpcf7-form input[type="password"],
  .form_box .form .wpcf7-form input[type="datetime"],
  .form_box .form .wpcf7-form input[type="datetime-local"],
  .form_box .form .wpcf7-form input[type="date"],
  .form_box .form .wpcf7-form input[type="month"],
  .form_box .form .wpcf7-form input[type="time"],
  .form_box .form .wpcf7-form input[type="week"],
  .form_box .form .wpcf7-form input[type="number"],
  .form_box .form .wpcf7-form input[type="email"],
  .form_box .form .wpcf7-form input[type="url"],
  .form_box .form .wpcf7-form input[type="search"],
  .form_box .form .wpcf7-form input[type="tel"],
  .form_box .form .wpcf7-form input[type="color"],
  .form_box .form .wpcf7-form .uneditable-input {
    width: 100%;
    margin: 0;
    padding: .5em .75em;
    font-size: inherit;
    line-height: inherit;
    border: 1px solid #B9B9BA;
    border-radius: 4px;
  }
  .form_box .form .wpcf7-form textarea {
    max-width: 100%;
    padding: .5em .75em;
    margin: 0;
    font-size: inherit;
    line-height: inherit;
    border: 1px solid #B9B9BA;
  }
  .form_box .form .wpcf7-form .wpcf7-form-control-wrap {
    display: inline-block;
    width: 100%;
    height: 100%;
    margin: 0;
  }
  .form_box .form .wpcf7-form .wpcf7-list-item {
    margin: 0 0 4px;
    line-height: 1;
  }
  .wpcf7-form .wpcf7-form-control-wrap {
    display: block;
    text-align: left;
    margin: 0 auto 10px auto
  }
  .form_box .form .wpcf7-form input::-webkit-input-placeholder, .form_box .form .wpcf7-form textarea::-webkit-input-placeholder {
    font-weight: bold;
    color: #aaa;
  }
  .form_box .form .wpcf7-form input::-moz-placeholder, .form_box .form .wpcf7-form textarea::-moz-placeholder {
    font-weight: bold;
    color: #aaa;
  }
  .form_box .form .wpcf7-form input:-ms-input-placeholder, .form_box .form .wpcf7-form textarea:-ms-input-placeholder {
    font-weight: bold;
    color: #aaa;
  }
  .form_box .form .wpcf7-form input::-ms-input-placeholder, .form_box .form .wpcf7-form textarea::-ms-input-placeholder {
    font-weight: bold;
    color: #aaa;
  }
  .form_box .form .wpcf7-form input::placeholder,
  .form_box .form .wpcf7-form textarea::placeholder {
    font-weight: bold;
    color: #aaa;
  }
  .form_box .form .submit_btn {
    position: relative;
    width: 228px;
    height: 45px;
    margin: 16px auto;
  }
  .form_box .form .submit_btn input[type="submit"] {
    display: flex;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    border: 0;
    border-radius: 7.5px;
    background-color: var(--blue);
    background-image: url(../img/ico_arrow_white.svg);
    background-repeat: no-repeat;
    background-size: 8px;
    background-position: center right 10px;
  }
  
  .form_box .form .submit_btn input[type="submit"]:hover {
    opacity: .7;
    box-shadow: none;
  }
  .form_box .form input[type="checkbox"],
  .form_box .form input[type="radio"] {
    flex-shrink: 0;
    position: relative;
    margin-right: 12px;
    top: 2px;
    border: 0;
    border-radius: 0;
    width: 20px;
    height: 20px;
    vertical-align: middle;
    background-color: #fff;
    border: 1px solid #B9B9BA;
    border-radius: 4px;
  }
  .form_box .form input[type="checkbox"]:checked {
    background: var(--blue);
  }
  .form_box .form input[type="checkbox"]:checked:before,
  .form_box .form input[type="checkbox"]:checked:after,
  .form_box .form input[type="radio"]:checked:before,
  .form_box .form input[type="radio"]:checked:after {
    display: block;
    position: absolute;
    content: "";
    background-color: #fff;
  }
  .form_box .form input[type="checkbox"]:checked:before {
    left: 1px;
    top: 11px;
    width: 8px;
    height: 3px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
  .form_box .form input[type="checkbox"]:checked:after {
    left: 8px;
    top: 11px;
    width: 10px;
    height: 3px;
    -webkit-transform: rotate(-53deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
  .form_box .form input[type="radio"] {
    border-radius: 50%
  }
  .form_box .form input[type="radio"]:checked:before {
    left: 50%;
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    margin-left: -4px;
    border-radius: 50%
  }
  .form_box .form input[type="radio"]:checked:after {
    display: none;
    width: 0;
    height: 0
  }
  
  .form_box .form div.wpcf7-mail-sent-ok {
    max-width: 80%;
    margin: 40px auto 0;
    padding: 10px;
    text-align: center;
  }
  .form_box .form div.wpcf7-validation-errors,
  .form_box .form div.wpcf7-acceptance-missing {
    max-width: 80%;
    margin: 40px auto 0;
    padding: 10px;
    text-align: center;
    border: 2px solid #dd3333;
  }
  .form_box .form .wpcf7 form.invalid .wpcf7-response-output,
  .form_box .form .wpcf7 form .wpcf7-response-output {
    max-width: 80%;
    text-align: center;
    margin: 30px auto;
    padding: 1em 0;
    border-color: #dd3333;
  }
}

/* -----------------------------------
  footer
--------------------------------------*/
#footer {
	width: 100%;
	padding: 0;
}
@media screen and (max-width: 768px){
}

/* -----------------------------------
  /// add style ///
--------------------------------------*/
.grecaptcha-badge {
  bottom: 160px!important;
  z-index: 9999;
}
@media screen and (max-width: 768px){
  .grecaptcha-badge {
    bottom: 54px!important;
  }
}
