@charset "UTF-8";
/* ======================================================
	PC
====================================================== */
@media print, screen and (min-width: 769px) {
  .content__lp {
    font-family: YakuHanJPs, "Noto Sans JP", sans-serif;
    color: #000000;
    line-height: 1.5;
  }
  .content__lp img {
    max-width: 100%;
    vertical-align: bottom;
  }
  .content__lp .sp {
    display: none;
  }
  .content__lp h2.title__underline {
    position: relative;
    display: table;
    margin: 0 auto;
    padding-bottom: 18px;
    font-size: 24px;
    font-family: "Outfit", sans-serif;
    font-weight: 900;
    color: #ff5445;
    line-height: 1;
  }
  .content__lp h2.title__underline::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: calc(50% - 15px);
    width: 30px;
    border-top: 3px solid #ff5445;
  }
  .content__lp h2.title {
    text-align: center;
    font-size: 35px;
    font-weight: 900;
    line-height: 1;
  }
  .content__lp h3.title {
    text-align: center;
    font-size: 26px;
    font-weight: 900;
    color: #ff5445;
  }
  .content__lp h4.title {
    text-align: center;
    font-size: 24px;
    font-weight: 900;
  }
  .content__lp h4.title__background {
    padding: 17px 0 19px;
    text-align: center;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(to right, rgba(255, 203, 110, 0.15), rgba(255, 61, 60, 0.15), rgba(255, 108, 226, 0.15));
  }
  .content__lp h5.title {
    font-size: 20px;
    font-weight: 900;
  }
  .content__lp p.text__kome {
    position: relative;
    padding-left: 1em;
  }
  .content__lp p.text__kome::before {
    content: "※";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
  }
  .content__lp .btn__inquiry {
    overflow: hidden;
    position: relative;
    background-color: #ff473c;
    transition: background-color 0.3s;
  }
  .content__lp .btn__inquiry:hover {
    background: none;
  }
  .content__lp .btn__inquiry:hover::before {
    opacity: 1;
  }
  .content__lp .btn__inquiry::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #ffcb6e, #ff3d3c, #ff6ce2);
    opacity: 0;
    transition: opacity 0.3s;
  }
  .content__lp .btn__inquiry a {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    font-weight: 700;
    color: #fff;
    line-height: 1;
  }
  .content__lp .btn__inquiry a::after {
    content: "";
    display: block;
    position: absolute;
    background: #fff url("../img/ic_arrow.svg") center center no-repeat;
  }
  .content__lp .btn__blank {
    display: table;
  }
  .content__lp .btn__blank a {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 30px;
    padding-right: 40px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    color: #ff3d3c;
    line-height: 1;
    transition: color 0.3s;
  }
  .content__lp .btn__blank a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 15px);
    right: 0;
    width: 30px;
    height: 30px;
    background-color: #ff3d3c;
    background-image: url("../img/ic_blank.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 10px 10px;
    border-radius: 30px;
    transition: background-color 0.3s;
  }
  .content__lp .btn__blank a:hover {
    color: #ff57aa;
  }
  .content__lp .btn__blank a:hover::after {
    background-color: #ff57aa;
  }
  .content__lp .mainvisual {
    position: relative;
    height: 697px;
    background: #fff url("../img/mainvisual_w1300px.png") center center no-repeat;
  }
  .content__lp .mainvisual .logo {
    position: absolute;
    z-index: 1;
    top: 30px;
    left: 40px;
  }
  .content__lp .mainvisual .logo a {
    display: block;
    width: 171px;
    height: 21px;
    background: url("../img/logo_b.png?t=20260917") center center no-repeat;
    background-size: contain;
  }
  .content__lp .mainvisual .logo a span {
    opacity: 0;
  }
  .content__lp .mainvisual > .btn__inquiry {
    position: absolute;
    z-index: 1;
    top: 20px;
    right: 40px;
    width: 202px;
    height: 40px;
    border-radius: 40px;
  }
  .content__lp .mainvisual > .btn__inquiry::before {
    border-radius: 40px;
  }
  .content__lp .mainvisual > .btn__inquiry a {
    padding: 12px 0 0 16px;
    font-size: 14px;
  }
  .content__lp .mainvisual > .btn__inquiry a::after {
    top: 5px;
    right: 5px;
    width: 30px;
    height: 30px;
    background-size: 10px 9px;
    border-radius: 30px;
  }
  .content__lp .mainvisual .inner {
    box-sizing: border-box;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 40px;
  }
  .content__lp .mainvisual .inner .block {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    max-width: 1052px;
    height: 100%;
    margin: 0 auto;
  }
  .content__lp .mainvisual .inner p.text__lead {
    width: 100%;
    font-size: 30px;
    line-height: 1.5;
  }
  .content__lp .mainvisual .inner p.text__lead strong {
    font-size: 34px;
    font-weight: 900;
  }
  .content__lp .mainvisual .inner h1.title {
    width: 100%;
    margin-top: 45px;
  }
  .content__lp .mainvisual .inner h1.title img {
    display: block;
    width: 470px;
  }
  .content__lp .mainvisual .inner .btn__inquiry {
    width: 328px;
    height: 70px;
    margin-top: 70px;
    border-radius: 70px;
  }
  .content__lp .mainvisual .inner .btn__inquiry::before {
    border-radius: 70px;
  }
  .content__lp .mainvisual .inner .btn__inquiry a {
    padding: 23px 0 0 40px;
    font-size: 20px;
  }
  .content__lp .mainvisual .inner .btn__inquiry a::after {
    top: 10px;
    right: 10px;
    width: 50px;
    height: 50px;
    background-size: 17px 16px;
    border-radius: 50px;
  }
  /* =================================================== */
}
@media print and (min-width: 769px) and (max-width: 1200px), screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1200px) {
  .content__lp .mainvisual {
    height: 58.08vw;
    background: #fff url("../img/mainvisual_w1200px.png") center center no-repeat;
    background-size: contain;
  }
}
@media print and (min-width: 769px) and (max-width: 1024px), screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1024px) {
  .content__lp .mainvisual .inner p.text__lead {
    font-size: 2.92vw;
  }
  .content__lp .mainvisual .inner p.text__lead strong {
    font-size: 3.32vw;
  }
  .content__lp .mainvisual .inner h1.title {
    margin-top: 4.39vw;
  }
  .content__lp .mainvisual .inner h1.title img {
    width: 45.89vw;
  }
  .content__lp .mainvisual .inner .btn__inquiry {
    width: 32vw;
    height: 6.83vw;
    margin-top: 6.83vw;
    border-radius: 6.83vw;
  }
  .content__lp .mainvisual .inner .btn__inquiry::before {
    border-radius: 6.83vw;
  }
  .content__lp .mainvisual .inner .btn__inquiry a {
    padding: 2.24vw 0 0 3.9vw;
    font-size: 1.95vw;
  }
  .content__lp .mainvisual .inner .btn__inquiry a::after {
    top: 0.97vw;
    right: 0.97vw;
    width: 4.88vw;
    height: 4.88vw;
    background-size: 1.66vw 1.56vw;
    border-radius: 4.88vw;
  }
}
@media print, screen and (min-width: 769px) {
  .content__lp .section__about {
    padding: 100px 40px;
    background: #fff4f1;
  }
  .content__lp .section__about .inner {
    max-width: 960px;
    margin: 0 auto;
  }
  .content__lp .section__about .column01 {
    display: flex;
    position: relative;
    margin-top: 50px;
  }
  .content__lp .section__about .column01::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 75%;
    height: 100%;
    min-height: 472px;
    background: #fff;
    border-radius: 10px;
  }
  .content__lp .section__about .column01 .cell {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    width: 50%;
  }
  .content__lp .section__about .column01 .cell:first-child {
    display: flex;
    align-items: center;
    padding: 45px 0 45px 6.25%;
  }
  .content__lp .section__about .column01 .cell:last-child {
    display: flex;
    align-items: center;
    padding: 45px 0;
  }
  .content__lp .section__about .column01 p.text__lead {
    font-weight: 900;
  }
  .content__lp .section__about .column01 p.text__lead strong {
    display: block;
    line-height: 1.2;
  }
  .content__lp .section__about .column01 p.text__lead strong:first-child {
    font-size: 30px;
  }
  .content__lp .section__about .column01 p.text__lead strong:last-child {
    font-size: 42px;
  }
  .content__lp .section__about .column01 p.text__lead strong:last-child span {
    font-size: 20px;
    font-weight: 400;
  }
  .content__lp .section__about .column01 p.text__lead strong + strong {
    margin-top: 0.2em;
  }
  .content__lp .section__about .column01 p.text {
    margin-top: 30px;
    font-size: 16px;
    line-height: 2;
  }
  .content__lp .section__about .column01 .btn__blank {
    margin-top: 50px;
  }
  .content__lp .section__about h4.title {
    margin-top: 80px;
  }
  .content__lp .section__about figure.img__about02 {
    margin-top: 20px;
  }
  .content__lp .section__about .area__merit {
    margin-top: 80px;
    padding: 20px 0 50px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(112, 118, 120, 0.15);
  }
  .content__lp .section__about .area__merit .column02 {
    display: flex;
    margin-top: 40px;
    padding: 0 50px;
  }
  .content__lp .section__about .area__merit .column02 .cell {
    position: relative;
    width: 93.023%;
    padding-bottom: 50px;
  }
  .content__lp .section__about .area__merit .column02 .cell + .cell {
    margin-left: 6.977%;
  }
  .content__lp .section__about .area__merit h5.title {
    margin-top: 25px;
    text-align: center;
  }
  .content__lp .section__about .area__merit p.text {
    margin-top: 20px;
    padding: 0 16px;
    font-size: 16px;
    line-height: 2;
  }
  .content__lp .section__about .area__merit .block__btn {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }
  .content__lp .section__about .area__merit .btn__blank {
    display: table;
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 769px) {
  .content__lp .section__case {
    padding: 100px 40px;
    background: #fff;
  }
  .content__lp .section__case .inner {
    max-width: 960px;
    margin: 0 auto;
  }
  .content__lp .section__case h3.title__img {
    display: table;
    margin: 0 auto;
  }
  .content__lp .section__case h3.title__case01 {
    margin-top: 60px;
  }
  .content__lp .section__case h3.title__case02 {
    margin-top: 100px;
  }
  .content__lp .section__case h3.title {
    margin-top: 55px;
  }
  .content__lp .section__case h4.title__img {
    display: table;
    margin: 0 auto;
  }
  .content__lp .section__case p.text {
    text-align: center;
    margin-top: 20px;
    font-size: 16px;
    line-height: 2;
  }
  .content__lp .section__case p.text__kome {
    max-width: 770px;
    margin: 20px auto 0;
    font-size: 12px;
  }
  .content__lp .section__case .area__img__scroll {
    margin-top: 50px;
  }
  .content__lp .section__case .area__img__scroll figure.img {
    display: table;
    margin: 0 auto;
  }
  .content__lp .section__case .area__img {
    display: table;
    margin: 30px auto 0;
  }
  .content__lp .section__case .column {
    display: flex;
    flex-wrap: wrap;
    margin-top: 80px;
  }
  .content__lp .section__case .column .cell {
    box-sizing: border-box;
    display: flex;
    width: 48.9585%;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(112, 118, 120, 0.15);
  }
  .content__lp .section__case .column .cell:nth-child(even) {
    margin-left: 2.083%;
  }
  .content__lp .section__case .column .cell:nth-child(n+3) {
    margin-top: 2.083%;
  }
  .content__lp .section__case .column figure.img {
    width: 29.768%;
  }
  .content__lp .section__case .column .group {
    width: 65.581%;
    margin-left: 4.651%;
  }
  .content__lp .section__case .column .group p.text {
    margin-top: 15px;
    text-align: left;
    font-size: 14px;
    line-height: 1.7;
  }
  .content__lp .section__case .area__inquiry {
    margin-top: 80px;
    padding: 50px;
    background: linear-gradient(to right, rgba(255, 203, 110, 0.15), rgba(255, 61, 60, 0.15), rgba(255, 108, 226, 0.15));
    border-radius: 234px;
  }
  .content__lp .section__case .btn__inquiry {
    width: 382px;
    height: 80px;
    margin: 30px auto 0;
    border-radius: 80px;
  }
  .content__lp .section__case .btn__inquiry::before {
    border-radius: 80px;
  }
  .content__lp .section__case .btn__inquiry a {
    padding: 28px 0 0 40px;
    font-size: 24px;
  }
  .content__lp .section__case .btn__inquiry a::after {
    top: 15px;
    right: 15px;
    width: 50px;
    height: 50px;
    background-size: 17px 16px;
    border-radius: 50px;
  }
  .content__lp .section__case .area__img + .column {
    margin-top: 50px;
  }
}
@media print, screen and (min-width: 769px) {
  .content__lp .section__projects {
    padding: 100px 40px;
    background: #fff4f1;
  }
  .content__lp .section__projects .inner {
    max-width: 960px;
    margin: 0 auto;
  }
  .content__lp .section__projects h2.title {
    margin-top: 50px;
  }
  .content__lp .section__projects .column {
    display: flex;
    margin-top: 80px;
  }
  .content__lp .section__projects .column .cell {
    width: 47.917%;
  }
  .content__lp .section__projects .column .cell + .cell {
    margin-left: 4.166%;
  }
  .content__lp .section__projects .column + .column {
    margin-top: 60px;
  }
  .content__lp .section__projects figure.img {
    overflow: hidden;
    border-radius: 10px;
  }
  .content__lp .section__projects figure.img a {
    display: block;
    position: relative;
  }
  .content__lp .section__projects figure.img a::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ff57aa;
    opacity: 0;
    transition: opacity 0.3s;
  }
  .content__lp .section__projects figure.img a:hover::after {
    opacity: 0.6;
  }
  .content__lp .section__projects figure.img a img {
    position: relative;
    z-index: 0;
  }
  .content__lp .section__projects h5.title a {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 30px;
    padding-right: 40px;
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    color: #ff3d3c;
    line-height: 1.4;
    transition: color 0.3s;
  }
  .content__lp .section__projects h5.title a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 15px);
    right: 0;
    width: 30px;
    height: 30px;
    background-color: #ff3d3c;
    background-image: url("../img/ic_blank.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 10px 10px;
    border-radius: 30px;
    transition: background-color 0.3s;
  }
  .content__lp .section__projects h5.title a:hover {
    text-decoration: underline;
    color: #ff57aa;
  }
  .content__lp .section__projects h5.title a:hover::after {
    background-color: #ff57aa;
  }
  .content__lp .section__projects p.amount__total {
    margin-top: 20px;
    padding: 10px 15px;
    font-size: 12px;
    line-height: 1;
    background: #fff;
  }
  .content__lp .section__projects p.amount__total strong {
    display: inline-block;
    margin: 0 0.15em;
    font-size: 32px;
    font-family: "Outfit", sans-serif;
    font-weight: 900;
  }
  .content__lp .section__projects ul.list__amount {
    display: flex;
    margin-top: 10px;
    border-left: 1px solid #c8c8c8;
  }
  .content__lp .section__projects ul.list__amount li {
    padding: 5px 15px;
    font-size: 12px;
    line-height: 1;
    border-right: 1px solid #c8c8c8;
  }
  .content__lp .section__projects ul.list__amount li strong {
    display: inline-block;
    margin: 0 0.15em;
    font-size: 18px;
    font-family: "Outfit", sans-serif;
    font-weight: 500;
  }
  .content__lp .section__projects p.text {
    margin-top: 20px;
    font-size: 12px;
    line-height: 1.6;
  }
}
@media print, screen and (min-width: 769px) {
  .content__lp .section__flow {
    padding: 100px 40px;
    background: #fff;
  }
  .content__lp .section__flow .inner {
    max-width: 794px;
    margin: 0 auto;
  }
  .content__lp .section__flow h2.title {
    margin-top: 50px;
  }
  .content__lp .section__flow dl.list__flow {
    margin-top: 50px;
  }
  .content__lp .section__flow dl.list__flow .group {
    display: flex;
    position: relative;
    min-height: 100px;
    border: 1px solid #000;
    border-radius: 6px;
  }
  .content__lp .section__flow dl.list__flow .group:last-child::before {
    content: none;
  }
  .content__lp .section__flow dl.list__flow .group::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    bottom: -26px;
    left: calc(50% - 7px);
    width: 14px;
    height: 26px;
    background: url("../img/ic_arrow_bottom.svg") center center no-repeat;
    background-size: 14px 26px;
  }
  .content__lp .section__flow dl.list__flow .group + .group {
    margin-top: 30px;
  }
  .content__lp .section__flow dl.list__flow dt {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 280px;
    padding: 15px 20px;
    line-height: 1;
    background: linear-gradient(to right, rgba(255, 203, 110, 0.15), rgba(255, 61, 60, 0.15), rgba(255, 108, 226, 0.15));
    border-radius: 6px 0 0 6px;
  }
  .content__lp .section__flow dl.list__flow dt strong {
    display: block;
    font-size: 32px;
    font-family: "Outfit", sans-serif;
    font-weight: 900;
  }
  .content__lp .section__flow dl.list__flow dt span {
    display: block;
    margin-left: 20px;
    font-size: 16px;
    font-family: "Outfit", sans-serif;
    font-weight: 700;
  }
  .content__lp .section__flow dl.list__flow dd {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: calc(100% - 280px);
    padding: 15px 20px;
  }
  .content__lp .section__flow dl.list__flow dd p.text {
    font-size: 14px;
    line-height: 1.7;
  }
}
@media print, screen and (min-width: 769px) {
  .content__lp .section__inquiry {
    background: linear-gradient(to right, rgba(255, 203, 110, 0.15), rgba(255, 61, 60, 0.15), rgba(255, 108, 226, 0.15));
  }
  .content__lp .section__inquiry .inner {
    padding: 50px 40px;
  }
  .content__lp .section__inquiry .btn__inquiry {
    width: 382px;
    height: 80px;
    margin: 30px auto 0;
    border-radius: 80px;
  }
  .content__lp .section__inquiry .btn__inquiry::before {
    border-radius: 80px;
  }
  .content__lp .section__inquiry .btn__inquiry a {
    padding: 28px 0 0 40px;
    font-size: 24px;
  }
  .content__lp .section__inquiry .btn__inquiry a::after {
    top: 15px;
    right: 15px;
    width: 50px;
    height: 50px;
    background-size: 17px 16px;
    border-radius: 50px;
  }
  .content__lp .section__inquiry .area__logo {
    padding: 35px 40px;
    background: #000;
  }
  .content__lp .section__inquiry .area__logo .logo__fany {
    width: 171px;
    height: 21px;
    margin: 0 auto;
  }
  .content__lp .section__inquiry .area__logo .logo__fany a {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background: url("../img/logo_w.png?t=20260917") center center no-repeat;
    background-size: contain;
  }
  .content__lp .section__inquiry .area__logo .logo__fany a span {
    opacity: 0;
  }
  .content__lp .section__inquiry .area__logo .logo__libalent {
    width: 162px;
    height: 18px;
    margin: 25px auto 0;
  }
  .content__lp .section__inquiry .area__logo .logo__libalent a {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background: url("../img/logo_libalent.png") center center no-repeat;
  }
  .content__lp .section__inquiry .area__logo .logo__libalent a span {
    opacity: 0;
  }
}
/* ======================================================
	SP
====================================================== */
@media screen and (max-width: 768px) {
  .content__lp {
    font-family: YakuHanJPs, "Noto Sans JP", sans-serif;
    color: #000000;
    line-height: 1.5;
  }
  .content__lp img {
    width: 100%;
    vertical-align: bottom;
  }
  .content__lp .pc {
    display: none;
  }
  .content__lp h2.title__underline {
    position: relative;
    display: table;
    margin: 0 auto;
    padding-bottom: 3.33vw;
    font-size: 4.8vw;
    font-family: "Outfit", sans-serif;
    font-weight: 900;
    color: #ff5445;
    line-height: 1;
  }
  .content__lp h2.title__underline::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: calc(50% - 2.7vw);
    width: 5.4vw;
    border-top: 4px solid #ff5445;
  }
  .content__lp h2.title {
    text-align: center;
    font-size: 6.4vw;
    font-weight: 900;
  }
  .content__lp h3.title {
    text-align: center;
    font-size: 5.33vw;
    font-weight: 900;
    color: #ff5445;
  }
  .content__lp h4.title {
    text-align: center;
    font-size: 4.8vw;
    font-weight: 900;
  }
  .content__lp h4.title__background {
    padding: 2.4vw 0 2.5vw;
    text-align: center;
    font-size: 4.8vw;
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(to right, rgba(255, 203, 110, 0.15), rgba(255, 61, 60, 0.15), rgba(255, 108, 226, 0.15));
  }
  .content__lp h5.title {
    font-size: 4.8vw;
    font-weight: 900;
  }
  .content__lp p.text__kome {
    position: relative;
    padding-left: 1em;
  }
  .content__lp p.text__kome::before {
    content: "※";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
  }
  .content__lp .btn__inquiry {
    overflow: hidden;
    position: relative;
    background-color: #ff473c;
    transition: background-color 0.3s;
  }
  .content__lp .btn__inquiry a {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    font-weight: 700;
    color: #fff;
    line-height: 1;
  }
  .content__lp .btn__inquiry a::after {
    content: "";
    display: block;
    position: absolute;
    background: #fff url("../img/ic_arrow.svg") center center no-repeat;
  }
  .content__lp .btn__blank {
    display: table;
  }
  .content__lp .btn__blank a {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 7vw;
    padding-right: 40px;
    text-decoration: none;
    font-size: 4.26vw;
    font-weight: 700;
    color: #ff3d3c;
    line-height: 1;
    transition: color 0.3s;
  }
  .content__lp .btn__blank a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.5vw);
    right: 0;
    width: 7vw;
    height: 7vw;
    background-color: #ff3d3c;
    background-image: url("../img/ic_blank.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.66vw 2.66vw;
    border-radius: 7vw;
  }
  .content__lp .mainvisual {
    box-sizing: border-box;
    position: relative;
    height: 162vw;
    background: #fff url("../img/mainvisual_w750px.png") center top no-repeat;
    background-size: contain;
  }
  .content__lp .mainvisual .logo {
    position: absolute;
    z-index: 1;
    top: 5.06vw;
    left: 4.26vw;
  }
  .content__lp .mainvisual .logo a {
    display: block;
    width: 27.14vw;
    height: 3.33vw;
    background: url("../img/logo_b.png?t=20260917") center center no-repeat;
    background-size: contain;
  }
  .content__lp .mainvisual .logo a span {
    opacity: 0;
  }
  .content__lp .mainvisual > .btn__inquiry {
    position: absolute;
    top: 3.2vw;
    right: 4.26vw;
    width: 36.26vw;
    height: 6.66vw;
    border-radius: 6.66vw;
  }
  .content__lp .mainvisual > .btn__inquiry a {
    padding: 1.8vw 0 0 2.4vw;
    font-size: 2.66vw;
  }
  .content__lp .mainvisual > .btn__inquiry a::after {
    top: 0.93vw;
    right: 0.93vw;
    width: 4.8vw;
    height: 4.8vw;
    background-size: 1.73vw 1.6vw;
    border-radius: 4.8vw;
  }
  .content__lp .mainvisual .inner {
    padding: 93.33vw 4.26vw 0;
  }
  .content__lp .mainvisual .inner p.text__lead {
    width: 100%;
    text-align: center;
    font-size: 4vw;
    line-height: 1.5;
  }
  .content__lp .mainvisual .inner p.text__lead strong {
    font-size: 4.8vw;
    font-weight: 900;
  }
  .content__lp .mainvisual .inner h1.title {
    width: 100%;
    height: 15.2vw;
    margin-top: 5.33vw;
    background: url("../img/maintitle_sp.png?t=20260917") center center no-repeat;
    background-size: contain;
  }
  .content__lp .mainvisual .inner h1.title img {
    display: none;
  }
  .content__lp .mainvisual .inner .btn__inquiry {
    width: 76.53vw;
    height: 16.4vw;
    margin: 8vw auto 0;
    border-radius: 16.4vw;
  }
  .content__lp .mainvisual .inner .btn__inquiry a {
    padding: 5.6vw 0 0 9.6vw;
    font-size: 4.8vw;
  }
  .content__lp .mainvisual .inner .btn__inquiry a::after {
    top: 2.4vw;
    right: 2.4vw;
    width: 11.46vw;
    height: 11.46vw;
    background-size: 4vw 3.73vw;
    border-radius: 11.46vw;
  }
  .content__lp .section__about {
    padding: 16vw 4.26vw;
    background: #fff4f1;
  }
  .content__lp .section__about .column01 {
    position: relative;
    margin-top: 8vw;
  }
  .content__lp .section__about .column01::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 121vw;
    background: #fff;
    border-radius: 2.66vw;
  }
  .content__lp .section__about .column01 .cell {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
  }
  .content__lp .section__about .column01 .cell:first-child {
    display: flex;
    align-items: center;
    padding: 9vw 6.66vw;
  }
  .content__lp .section__about .column01 p.text__lead {
    font-weight: 900;
  }
  .content__lp .section__about .column01 p.text__lead strong {
    display: block;
    line-height: 1.2;
  }
  .content__lp .section__about .column01 p.text__lead strong:first-child {
    font-size: 4.8vw;
  }
  .content__lp .section__about .column01 p.text__lead strong:last-child {
    font-size: 7.46vw;
  }
  .content__lp .section__about .column01 p.text__lead strong:last-child span {
    font-size: 4.26vw;
    font-weight: 400;
  }
  .content__lp .section__about .column01 p.text__lead strong + strong {
    margin-top: 0.2em;
  }
  .content__lp .section__about .column01 p.text {
    margin-top: 6vw;
    font-size: 3.73vw;
    line-height: 1.7;
  }
  .content__lp .section__about .column01 .btn__blank {
    margin-top: 7.33vw;
  }
  .content__lp .section__about h4.title {
    margin-top: 16vw;
  }
  .content__lp .section__about figure.img__about02 {
    margin-top: 20px;
  }
  .content__lp .section__about .area__merit {
    padding: 4vw 0 10vw;
    margin-top: 10vw;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(112, 118, 120, 0.15);
  }
  .content__lp .section__about .area__merit .column02 {
    margin-top: 10vw;
    padding: 0 8vw;
  }
  .content__lp .section__about .area__merit .column02 .cell + .cell {
    margin-top: 16vw;
  }
  .content__lp .section__about .area__merit h5.title {
    margin-top: 6.66vw;
    text-align: center;
  }
  .content__lp .section__about .area__merit p.text {
    margin-top: 5.33vw;
    font-size: 3.73vw;
    line-height: 1.7;
  }
  .content__lp .section__about .area__merit .btn__blank {
    display: table;
    margin: 5.33vw auto 0;
  }
  .content__lp .section__case {
    padding: 16vw 0;
    background: #fff;
  }
  .content__lp .section__case h3.title__img {
    display: block;
    height: 41.2vw;
    margin: 0 4.26vw;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .content__lp .section__case h3.title__img img {
    display: none;
  }
  .content__lp .section__case h3.title__case01 {
    margin-top: 8vw;
    background-image: url("../img/case_title01sp.png?t=20260917");
  }
  .content__lp .section__case h3.title__case02 {
    margin-top: 16vw;
    background-image: url("../img/case_title02sp.png?t=20260917");
  }
  .content__lp .section__case h3.title {
    margin: 12vw 4.26vw 0;
  }
  .content__lp .section__case h4.title__img {
    display: block;
    width: 100%;
    height: 4.53vw;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .content__lp .section__case h4.title__img img {
    display: none;
  }
  .content__lp .section__case h4.title__subtitle01 {
    background-image: url("../img/case_subtitle01sp.png?t=20260917");
  }
  .content__lp .section__case h4.title__subtitle02 {
    background-image: url("../img/case_subtitle02sp.png?t=20260917");
  }
  .content__lp .section__case p.text {
    margin: 6.66vw 4.26vw 0;
    font-size: 3.73vw;
    line-height: 1.7;
  }
  .content__lp .section__case p.text__kome {
    margin: 8vw 4.26vw 0;
    font-size: 2.66vw;
  }
  .content__lp .section__case .area__img__scroll {
    margin: 12vw 0 0 4.26vw;
  }
  .content__lp .section__case .scroll {
    position: relative;
    padding-bottom: 9.33vw;
    overflow-x: scroll;
    scrollbar-width: none;
  }
  .content__lp .section__case .scroll::-webkit-scrollbar {
    display: none;
  }
  .content__lp .section__case .scroll::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1.5vw;
    background: #fff;
  }
  .content__lp .section__case .scroll figure.img {
    width: 180vw;
  }
  .content__lp .section__case .scroll .simplebar-track {
    position: absolute;
    z-index: 2;
    bottom: 1px;
    left: 0;
    margin-right: 4.26vw;
    background: #c8c8c8;
    height: 1.5vw;
    border-radius: 1.5vw;
  }
  .content__lp .section__case .scroll .simplebar-track .simplebar-scrollbar {
    top: 0;
    left: 0;
    height: 1.5vw;
  }
  .content__lp .section__case .scroll .simplebar-track .simplebar-scrollbar::before {
    height: 1.5vw;
    margin-top: 0;
    border-radius: 1.5vw;
    background: #646464;
  }
  .content__lp .section__case .area__img {
    margin: 6.66vw 4.26vw 0;
  }
  .content__lp .section__case .column {
    margin: 13vw 4.26vw 0;
  }
  .content__lp .section__case .column .cell {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    padding: 4vw;
    border-radius: 2.66vw;
    box-shadow: 0 0.53vw 3.2vw rgba(112, 118, 120, 0.15);
  }
  .content__lp .section__case .column .cell + .cell {
    margin-top: 5.33vw;
  }
  .content__lp .section__case .column figure.img {
    width: 24vw;
  }
  .content__lp .section__case .column .group {
    width: calc(100% - 24vw - 4vw);
    margin-left: 4vw;
  }
  .content__lp .section__case .column .group p.text {
    margin: 3vw 0 0;
    text-align: left;
    font-size: 3.2vw;
    line-height: 1.6;
  }
  .content__lp .section__case .area__inquiry {
    margin-top: 13vw;
    padding: 10vw 4.26vw;
    background: linear-gradient(to right, rgba(255, 203, 110, 0.15), rgba(255, 61, 60, 0.15), rgba(255, 108, 226, 0.15));
  }
  .content__lp .section__case .btn__inquiry {
    width: 76.4vw;
    height: 16vw;
    margin: 5.33vw auto 0;
    border-radius: 16vw;
  }
  .content__lp .section__case .btn__inquiry::before {
    border-radius: 16vw;
  }
  .content__lp .section__case .btn__inquiry a {
    padding: 5.6vw 0 0 8vw;
    font-size: 4.8vw;
  }
  .content__lp .section__case .btn__inquiry a::after {
    top: calc(50% - 5vw);
    right: 2.93vw;
    width: 10vw;
    height: 10vw;
    background-size: 3.33vw 3.2vw;
    border-radius: 10vw;
  }
  .content__lp .section__case .area__img + .column {
    margin-top: 10vw;
  }
  .content__lp .section__projects {
    padding: 16vw 4.26vw;
    background: #fff4f1;
  }
  .content__lp .section__projects h2.title {
    margin-top: 10vw;
  }
  .content__lp .section__projects .column {
    margin-top: 10vw;
  }
  .content__lp .section__projects .column .cell + .cell {
    margin-top: 4vw;
  }
  .content__lp .section__projects figure.img {
    overflow: hidden;
    border-radius: 1.33vw;
  }
  .content__lp .section__projects figure.img a {
    display: block;
    position: relative;
  }
  .content__lp .section__projects figure.img a::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ff57aa;
    opacity: 0;
  }
  .content__lp .section__projects figure.img a img {
    position: relative;
    z-index: 0;
  }
  .content__lp .section__projects h5.title a {
    box-sizing: border-box;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 8vw;
    padding-right: 12vw;
    text-decoration: none;
    font-size: 3.73vw;
    font-weight: 700;
    color: #ff3d3c;
    line-height: 1.4;
    transition: color 0.3s;
  }
  .content__lp .section__projects h5.title a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 4vw);
    right: 0;
    width: 8vw;
    height: 8vw;
    background-color: #ff3d3c;
    background-image: url("../img/ic_blank.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.66vw 2.66vw;
    border-radius: 8vw;
  }
  .content__lp .section__projects p.amount__total {
    margin-top: 4vw;
    padding: 2.4vw;
    font-size: 2.66vw;
    line-height: 1;
    background: #fff;
  }
  .content__lp .section__projects p.amount__total strong {
    display: inline-block;
    margin: 0 0.15em;
    font-size: 6.4vw;
    font-family: "Outfit", sans-serif;
    font-weight: 900;
  }
  .content__lp .section__projects ul.list__amount {
    display: flex;
    margin-top: 2.66vw;
    border-left: 1px solid #c8c8c8;
  }
  .content__lp .section__projects ul.list__amount li {
    padding: 1.6vw 2vw;
    font-size: 2.66vw;
    line-height: 1;
    border-right: 1px solid #c8c8c8;
  }
  .content__lp .section__projects ul.list__amount li strong {
    display: inline-block;
    margin: 0 0.15em;
    font-size: 3.46vw;
    font-family: "Outfit", sans-serif;
    font-weight: 500;
  }
  .content__lp .section__projects p.text {
    margin-top: 4vw;
    font-size: 2.66vw;
    line-height: 1.6;
  }
  .content__lp .section__flow {
    padding: 16vw 4.26vw;
    background: #fff;
  }
  .content__lp .section__flow h2.title {
    margin-top: 10vw;
  }
  .content__lp .section__flow dl.list__flow {
    margin-top: 8vw;
  }
  .content__lp .section__flow dl.list__flow .group {
    position: relative;
    border: 1px solid #000;
    border-radius: 1.6vw;
  }
  .content__lp .section__flow dl.list__flow .group:last-child::before {
    content: none;
  }
  .content__lp .section__flow dl.list__flow .group::before {
    content: "";
    display: block;
    position: absolute;
    bottom: -4.8vw;
    left: calc(50% - 1.4vw);
    width: 2.8vw;
    height: 4.8vw;
    background: url("../img/ic_arrow_bottom.svg") center center no-repeat;
    background-size: 2.8vw 4.8vw;
  }
  .content__lp .section__flow dl.list__flow .group + .group {
    margin-top: 5.6vw;
  }
  .content__lp .section__flow dl.list__flow dt {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    padding: 4vw 5.33vw;
    line-height: 1;
    background: linear-gradient(to right, rgba(255, 203, 110, 0.15), rgba(255, 61, 60, 0.15), rgba(255, 108, 226, 0.15));
    border-radius: 1.6vw 1.6vw 0 0;
  }
  .content__lp .section__flow dl.list__flow dt strong {
    display: block;
    font-size: 6.93vw;
    font-family: "Outfit", sans-serif;
    font-weight: 900;
  }
  .content__lp .section__flow dl.list__flow dt span {
    display: block;
    margin-left: 4vw;
    font-size: 4.26vw;
    font-family: "Outfit", sans-serif;
    font-weight: 700;
  }
  .content__lp .section__flow dl.list__flow dd {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    padding: 5.33vw;
  }
  .content__lp .section__flow dl.list__flow dd p.text {
    font-size: 3.2vw;
    line-height: 1.7;
  }
  .content__lp .section__inquiry {
    background: linear-gradient(to right, rgba(255, 203, 110, 0.15), rgba(255, 61, 60, 0.15), rgba(255, 108, 226, 0.15));
  }
  .content__lp .section__inquiry .inner {
    padding: 10vw 4.26vw;
  }
  .content__lp .section__inquiry .btn__inquiry {
    width: 76.26vw;
    height: 16vw;
    margin: 5.33vw auto 0;
    border-radius: 16vw;
  }
  .content__lp .section__inquiry .btn__inquiry a {
    padding: 5.6vw 0 0 8.5vw;
    font-size: 4.8vw;
  }
  .content__lp .section__inquiry .btn__inquiry a::after {
    top: 3.06vw;
    right: 3.06vw;
    width: 10vw;
    height: 10vw;
    background-size: 3.33vw 3.2vw;
    border-radius: 10vw;
  }
  .content__lp .section__inquiry .area__logo {
    padding: 9vw 4.26vw;
    background: #000;
  }
  .content__lp .section__inquiry .area__logo .logo__fany {
    width: 35.86vw;
    height: 4.4vw;
    margin: 0 auto;
  }
  .content__lp .section__inquiry .area__logo .logo__fany a {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background: url("../img/logo_w_sp.png?t=20260917") center center no-repeat;
    background-size: contain;
  }
  .content__lp .section__inquiry .area__logo .logo__fany a span {
    opacity: 0;
  }
  .content__lp .section__inquiry .area__logo .logo__libalent {
    width: 33.6vw;
    height: 3.6vw;
    margin: 6vw auto 0;
  }
  .content__lp .section__inquiry .area__logo .logo__libalent a {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background: url("../img/logo_libalent_sp.png") center center no-repeat;
    background-size: contain;
  }
  .content__lp .section__inquiry .area__logo .logo__libalent a span {
    opacity: 0;
  }
  /* =================================================== */
}
/* ======================================================
	animation設定
====================================================== */
/*----------------------------------------------------
	keyframes
----------------------------------------------------*/
/* fadeIn ==========*/
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* fadeInUp ==========*/
@keyframes fadeInUp-50px {
  0% {
    opacity: 0;
    transform: translate(0, 50px);
  }
  /*50%  { opacity: 1; }*/
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes fadeInUp-100px {
  0% {
    opacity: 0;
    transform: translate(0, 100px);
  }
  /*50%  { opacity: 0; }*/
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes fadeInUp-150px {
  0% {
    opacity: 0;
    transform: translate(0, 150px);
  }
  /*50%  { opacity: 0; }*/
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes fadeInUp-200px {
  0% {
    opacity: 0;
    transform: translate(0, 200px);
  }
  /*50%  { opacity: 1; }*/
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
/*----------------------------------------------------
	section__about
----------------------------------------------------*/
.section__about .effect {
  opacity: 0;
}
.section__about .-on {
  animation-name: fadeInUp-150px;
  animation-duration: 0.7s;
  animation-delay: 0.2s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}

/*----------------------------------------------------
	section__case
----------------------------------------------------*/
.section__case .effect {
  opacity: 0;
}
.section__case .-on {
  animation-name: fadeInUp-150px;
  animation-duration: 0.7s;
  animation-delay: 0.2s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}

/*----------------------------------------------------
	section__projects
----------------------------------------------------*/
.section__projects .effect {
  opacity: 0;
}
.section__projects .-on {
  animation-name: fadeInUp-150px;
  animation-duration: 0.7s;
  animation-delay: 0.2s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}

/*----------------------------------------------------
	section__flow
----------------------------------------------------*/
.section__flow .effect {
  opacity: 0;
}
.section__flow .-on {
  animation-name: fadeInUp-150px;
  animation-duration: 0.7s;
  animation-delay: 0.2s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}

/*----------------------------------------------------
	section__inquiry
----------------------------------------------------*/
.section__inquiry .effect {
  opacity: 0;
}
.section__inquiry .-on {
  animation-name: fadeInUp-50px;
  animation-duration: 0.4s;
  animation-delay: 0.2s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
/*----------------------------------------------------
	footer（トップページと共通 / css/client/rebrand.css より）
----------------------------------------------------*/
footer {
    background-color: #333;
}

footer .f_inner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    max-width: 1312px;
    margin: 0 auto;
    text-align: center;
}

footer .f_logo {
    margin: 0;
    line-height: 0;
}

footer .f_logo img {
    display: inline-block;
    width: auto;
}

footer .col_sns {
    display: block;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-size: 0;
    list-style: none;
}

footer .col_sns li {
    display: inline-block;
    vertical-align: top;
    margin: 0 4px;
}

footer .col_sns li a {
    display: block;
}

footer .col_sns li img {
    display: block;
    width: 32px;
    height: 32px;
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
}

footer .col_sns li a:hover img {
    opacity: 0.7;
}

footer .f_nav_area {
    padding: 0;
}

footer .f_nav {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    font-size: 0;
    list-style: none;
}

footer .f_nav.f_nav_first {
    margin-right: 0;
    padding-right: 0;
    padding-bottom: 0;
}

footer .f_nav.f_nav_first:before {
    content: none;
}

footer .f_nav li {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
}

footer .f_nav li + li:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #ff574c;
}

footer .f_nav li a {
    color: #fff;
    text-decoration: none;
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
}

footer .f_nav li a:hover {
    opacity: 0.6;
    text-decoration: underline;
}

footer .copyright {
    clear: none;
    margin: 0;
    border-top: none;
    color: #fff;
    line-height: 1.4;
    text-align: center;
}

@media screen and (min-width: 641px), print {
    footer {
        padding: 0;
    }

    footer .f_inner {
        padding: 10px 40px 32px;
    }

    footer .f_logo img {
        width: 326px;
        height: 40px;
    }

    footer .col_sns {
        margin-top: 40px;
    }

    footer .f_nav_area {
        margin-top: 16px;
    }

    footer .f_nav + .f_nav {
        margin-top: 26px;
    }

    footer .f_nav li {
        font-size: 14px;
        line-height: 1.4;
    }

    footer .f_nav li + li:before {
        margin: -2px 20px 0;
    }

    footer .copyright {
        margin-top: 70px;
        font-size: 14px;
    }
}

@media screen and (max-width: 640px) {
    footer {
        padding: 0;
    }

    footer .f_inner {
        padding: 10px 16px 16px;
    }

    footer .f_logo img {
        width: 261px;
        height: 32px;
    }

    footer .col_sns {
        margin-top: 24px;
    }

    footer .f_nav_area {
        margin-top: 10px;
    }

    footer .f_nav + .f_nav {
        margin-top: 0;
    }

    footer .f_nav li {
        margin: 0 10px 0 0;
        font-size: 13px;
        line-height: 30px;
    }

    footer .f_nav li:before,
    footer .f_nav li + li:before {
        content: "";
        display: inline-block;
        vertical-align: middle;
        width: 4px;
        height: 4px;
        margin: -2px 6px 0 0;
        border-radius: 50%;
        background-color: #ff574c;
    }

    footer .copyright {
        margin-top: 32px;
        font-size: 12px;
    }
}
