@charset "UTF-8";
/* Scss Document */
:root {
  --pc: 1000px;
  --sp: 999px;
  --fs48: 4.8rem;
  --fs40: 4rem;
  --fs36: 3.6rem;
  --fs28: 2.8rem;
  --fs22: 2.2rem;
  --fs20: 2.0rem;
  --fs18: 1.8rem;
  --fs16: 1.6rem;
  --fs14:1.4rem;
  --fs12:1.2rem; }

@media (max-width: 999px) {
  :root {
    --fs48: 2.6rem;
    --fs40: 2.2rem;
    --fs36: 2.4rem;
    --fs28: 2.2rem;
    --fs22: 2.0rem;
    --fs20: 1.8rem;
    --fs18: 1.6rem;
    --fs16: 1.4rem;
    --fs14: 1.2rem;
    --fs12: 1.0rem; } }
img {
  image-rendering: -webkit-optimize-contrast; }

html {
  font-size: clamp(8px, calc(8px + (2 * ((100vw - 1000px) / 920))), 10px); }
  @media (max-width: 999px) {
    html {
      font-size: 62.5% !important; } }

/* 
---------------------------------------
メインビジュアル
---------------------------------------
*/
#kv {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  height: 100vh;
  background-size: cover;
  background-image: url("../img/fv_01.jpg");
  background-position: center center; }
  @media (max-width: 999px) {
    #kv {
      background-image: url("../img/fv_01_sp.jpg"); } }
  #kv .ttl {
    position: absolute;
    right: 8rem;
    width: 50%;
    top: 3rem;
    max-width: 106rem; }
    @media (max-width: 999px) {
      #kv .ttl {
        right: 0;
        left: 0;
        width: 90%;
        top: 6rem;
        margin: 0 auto;
        max-width: 32rem; } }
  #kv .txt {
    position: absolute;
    right: 8rem;
    width: 30%;
    top: 28vw;
    max-width: 83rem; }
    @media (max-width: 999px) {
      #kv .txt {
        bottom: 13rem;
        top: inherit;
        width: 90%;
        margin: 0 auto;
        right: 0;
        left: 0;
        max-width: 32rem; } }
  #kv .bnr {
    width: 31rem;
    position: absolute;
    right: 8rem;
    bottom: 3rem; }
    @media (max-width: 999px) {
      #kv .bnr {
        display: none; } }

/* 
---------------------------------------
home01
---------------------------------------
*/
#home01 {
  position: relative; }
  #home01 .bgBox {
    position: relative;
    z-index: 0; }
  #home01 .bg {
    height: 58rem;
    background: linear-gradient(to top, #005A94, #0087DD);
    z-index: 0;
    position: relative;
    width: 100%; }
  #home01 .bgDeco {
    position: absolute;
    width: 40%; }
  #home01 .bgDeco.left {
    left: 0; }
  #home01 .bgDeco.right {
    right: 0; }
  #home01 .bgPic {
    position: relative;
    z-index: 0; }
    @media (max-width: 999px) {
      #home01 .bgPic {
        display: flex;
        align-items: center;
        justify-content: center;
        max-height: 100vh;
        overflow: hidden;
        margin: 0 auto; } }
  @media (max-width: 999px) {
    #home01 .bgPic img {
      width: 100%; } }
  #home01 .content {
    position: absolute;
    z-index: 1;
    top: 14rem;
    left: 0;
    margin: 0 auto;
    right: 0;
    width: 90%;
    max-width: 140rem; }
    @media (max-width: 999px) {
      #home01 .content {
        top: 5rem; } }
  #home01 .ttlBox {
    margin-bottom: 4rem; }
    @media (max-width: 999px) {
      #home01 .ttlBox {
        margin-bottom: 2rem; } }
  #home01 .ttl {
    font-size: 4.8rem;
    background: #fff;
    padding: 1rem 2rem;
    position: relative;
    margin: 0 auto 6rem;
    width: max-content; }
    @media (max-width: 999px) {
      #home01 .ttl {
        font-size: 2.4rem;
        padding: 0.5rem 1rem;
        margin-bottom: 3rem; } }
  #home01 .ttl::after {
    content: "";
    position: absolute;
    left: 1rem;
    bottom: -1rem;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, #F4E400, #97D400);
    z-index: -1; }
    @media (max-width: 999px) {
      #home01 .ttl::after {
        left: 0.5rem;
        bottom: -0.5rem; } }
  #home01 .txt {
    text-align: center;
    color: #fff; }
  #home01 .boxs {
    display: flex;
    justify-content: space-between;
    margin-bottom: 6vw;
    width: 100%; }
    @media (max-width: 999px) {
      #home01 .boxs {
        flex-wrap: wrap; } }
  #home01 .box {
    width: calc(320/1400*100%);
    text-align: center; }
    @media (max-width: 999px) {
      #home01 .box {
        width: 46%;
        margin-bottom: 3rem; } }
  #home01 .stxt {
    margin-top: 1rem;
    text-align: center;
    color: #fff;
    position: relative;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    font-size: 2.2rem;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #home01 .stxt {
        font-size: 1.6rem;
        margin-top: 0.5rem; } }
  #home01 .stxt::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 8px;
    background: url(../img/01_wave.png) repeat-x;
    background-size: 4rem auto;
    height: 0.8rem; }
  #home01 ul {
    width: calc(621/1200*100%);
    margin: 0 0 0 auto; }
    @media (max-width: 999px) {
      #home01 ul {
        width: 100%; } }
  #home01 ul li {
    display: flex;
    align-items: center;
    padding: 1rem 2rem;
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    margin-bottom: 1rem;
    font-weight: bold;
    font-size: 2.2rem; }
    @media (max-width: 999px) {
      #home01 ul li {
        font-size: 1.4rem; } }
  #home01 ul li img {
    margin-right: 2rem; }
    @media (max-width: 999px) {
      #home01 ul li img {
        width: 1.6rem;
        margin-right: 1rem; } }
  @media (max-width: 999px) {
    #home01 .inner12 {
      width: 100%;
      margin-top: 14rem; } }

/* 
---------------------------------------
home02
---------------------------------------
*/
#home02 {
  background: url("../img/02_bg_02.png");
  padding-bottom: 16rem; }
  @media (max-width: 999px) {
    #home02 {
      padding-bottom: 6rem; } }
  #home02 .inner14 {
    margin-top: -36vw;
    z-index: 1;
    position: relative; }
  #home02 .box {
    display: flex;
    justify-content: space-between; }
    @media (max-width: 999px) {
      #home02 .box {
        flex-direction: column; } }
  #home02 .pic {
    width: calc(560/1400*100%); }
    @media (max-width: 999px) {
      #home02 .pic {
        width: 100%;
        margin-right: 0;
        margin-bottom: 10px; } }
  #home02 .txt {
    font-weight: bold;
    font-size: 2.2rem;
    line-height: 2.75; }
    @media (max-width: 999px) {
      #home02 .txt {
        font-size: 1.6rem;
        line-height: 2;
        margin-bottom: 4rem; } }
  #home02 .ttl {
    width: 60%; }
    @media (max-width: 999px) {
      #home02 .ttl {
        width: 90%; } }

/* 
---------------------------------------
home03
---------------------------------------
*/
#home03 {
  padding: 16rem 0 6rem;
  position: relative; }
  @media (max-width: 999px) {
    #home03 {
      padding: 6rem 0  4rem; } }
  #home03 .deco {
    font-size: 10rem;
    text-align: center;
    color: #0087DD;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #home03 .deco {
        font-size: 4rem; } }
  #home03 .ttl {
    font-size: 2.8rem;
    line-height: 1.5;
    text-align: center; }
    @media (max-width: 999px) {
      #home03 .ttl {
        font-size: 1.4rem; } }
  #home03 .bgDeco {
    position: absolute;
    left: 0;
    top: 0;
    width: 50%; }
  #home03 .box {
    position: relative; }
  #home03 .picBox {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    margin: 0 auto; }
    @media (max-width: 999px) {
      #home03 .picBox {
        width: 100%; } }
  @media (min-width: 1000px) {
    #home03 .picBox .pic {
      width: 153rem; } }
  #home03 .picBox .pic2 {
    position: absolute;
    top: 0;
    left: 5rem;
    z-index: 1; }
    @media (min-width: 1000px) {
      #home03 .picBox .pic2 {
        width: 75rem; } }
    @media (max-width: 999px) {
      #home03 .picBox .pic2 {
        position: absolute;
        top: 0;
        left: -2rem;
        z-index: 1;
        width: 73%; } }

.image-slider {
  width: 105vw;
  overflow: hidden;
  position: absolute;
  transform: rotate(-5deg);
  margin-left: -2.5vw;
  top: 16%; }
  @media (max-width: 999px) {
    .image-slider {
      top: 10%; } }

.image-track {
  display: flex;
  min-width: 200%;
  animation: slide 30s linear infinite; }

@media (max-width: 999px) {
  .image-track {
    min-width: 600%; } }
.image-track img {
  width: 80%; }
  @media (max-width: 999px) {
    .image-track img {
      width: 54%; } }

@keyframes slide {
  0% {
    transform: translateX(-50%); }
  100% {
    transform: translateX(0); } }
/* 
---------------------------------------
home04
---------------------------------------
*/
#home04 {
  margin-bottom: 26rem; }
  @media (max-width: 999px) {
    #home04 {
      margin-bottom: 6rem; } }
  #home04 .ttlBox {
    margin: -20vw auto 6rem;
    position: relative;
    z-index: 1; }
    @media (max-width: 999px) {
      #home04 .ttlBox {
        margin: -20rem auto 3rem; } }
  #home04 .ttl {
    background: #fff;
    padding: 1rem 2rem;
    width: max-content;
    margin: 0 auto;
    font-size: 4.6rem; }
    @media (max-width: 999px) {
      #home04 .ttl {
        font-size: 1.8rem; } }
  #home04 .ttl strong {
    font-size: 5.4rem; }
    @media (max-width: 999px) {
      #home04 .ttl strong {
        font-size: 2.2rem; } }
  #home04 .ttl.grade {
    background: linear-gradient(45deg, #F4E400, #97D400);
    text-align: center; }
  #home04 .inner14 {
    background: #fff;
    position: relative;
    z-index: 1;
    padding: 6rem 0 0;
    text-align: center; }
    @media (max-width: 999px) {
      #home04 .inner14 {
        padding: 2rem 0 0; } }
  #home04 .sttl {
    font-size: 3.6rem;
    color: #0087DD;
    text-align: center; }
    @media (max-width: 999px) {
      #home04 .sttl {
        font-size: 2rem; } }
  @media (max-width: 999px) {
    #home04 .stxt {
      text-align: left;
      padding: 0 2rem 0; } }
  #home04 .stxt strong {
    font-size: 2.4rem;
    display: block; }
    @media (max-width: 999px) {
      #home04 .stxt strong {
        font-size: 1.6rem; } }
  #home04 .box {
    position: relative; }
  #home04 .logo1 {
    text-align: center;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    margin-bottom: 3rem;
    width: 54rem; }
    @media (max-width: 999px) {
      #home04 .logo1 {
        margin-bottom: 0rem;
        width: 24rem;
        margin-top: -3rem; } }
  #home04 .bg {
    max-width: inherit;
    position: absolute;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    margin-top: -29rem;
    z-index: -1;
    width: 290rem; }
    @media (max-width: 999px) {
      #home04 .bg {
        margin-top: -15rem;
        width: 278rem; } }
  #home04 .logo2 {
    text-align: center;
    margin: 0 auto; }
  #home04 .sttlDeco {
    margin: 0 auto;
    margin-top: 5rem;
    width: 50rem; }
    @media (max-width: 999px) {
      #home04 .sttlDeco {
        margin-top: 0;
        width: 70%;
        max-width: 42rem; } }
  #home04 .decoBg {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -2; }
    @media (max-width: 999px) {
      #home04 .decoBg {
        bottom: 25rem; } }
  #home04 .company-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4vw;
    text-align: center;
    max-width: 120rem;
    margin: 0 auto 10rem;
    padding: 0; }
    @media (max-width: 999px) {
      #home04 .company-grid {
        grid-template-columns: repeat(2, 1fr);
        width: 90%;
        margin-bottom: 5rem;
        margin-top: -3rem;
        max-width: 42rem; } }
  #home04 .company img {
    max-width: 21rem;
    height: auto;
    margin: 0 auto 1rem; }
    @media (max-width: 999px) {
      #home04 .company img {
        max-width: 78%;
        height: auto;
        margin: 0 auto 0rem; } }
  #home04 .company-name {
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 2.8rem; }
    @media (max-width: 999px) {
      #home04 .company-name {
        margin-bottom: 1rem;
        font-size: 1.6rem; } }
  #home04 .tags {
    display: flex;
    flex-direction: column;
    gap: 0.5rem; }
  #home04 .tag {
    background: #F6F6F6;
    padding: 0 2rem;
    font-size: 1.4rem; }
  @media (max-width: 999px) {
    #home04 .pic img {
      width: 100%; } }

/* 
---------------------------------------
home05
---------------------------------------
*/
#home05 {
  background: url("../img/05_bg.jpg");
  padding: 24rem 0 2rem;
  position: relative;
  /* ▼ proposal-section 配下だけに適用 */
  /* ▼ お客様の声 */
  /* ▼ 提案ボックス */
  /* スクロールで表示されたとき */ }
  @media (max-width: 999px) {
    #home05 {
      padding: 12rem 0 0.1rem; } }
  #home05 .deco {
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    right: 0;
    text-align: right;
    font-size: 16rem;
    line-height: 0.7;
    opacity: 0.2; }
    @media (max-width: 999px) {
      #home05 .deco {
        font-size: 4rem; } }
  #home05 .boxs {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(1660 / 1920 * 100%);
    margin: 0 0 12rem auto; }
    @media screen and (min-width: 1000px) and (max-width: 1660px) {
      #home05 .boxs {
        width: calc(1820 / 1920 * 100%); } }
    @media (max-width: 999px) {
      #home05 .boxs {
        flex-direction: column;
        margin: auto;
        margin-bottom: 12rem; } }
  #home05 .box {
    position: relative;
    padding: 8rem 0;
    margin-right: 3vw; }
    @media (max-width: 999px) {
      #home05 .box {
        padding: 1rem 0; } }
  #home05 .box::before {
    content: '';
    width: 200%;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    left: -50%;
    z-index: 0; }
    @media (max-width: 999px) {
      #home05 .box::before {
        content: '';
        width: 116%;
        height: 130%;
        left: -10%; } }
  #home05 .pic {
    position: relative;
    width: calc(900 / 1660 * 100%); }
    @media (max-width: 999px) {
      #home05 .pic {
        width: 116%;
        margin-right: -16%;
        max-width: max-content; } }
  #home05 .decoPic {
    position: absolute;
    top: -10rem;
    left: 0;
    z-index: 1;
    width: calc(350 / 1120 * 100%); }
    @media (max-width: 999px) {
      #home05 .decoPic {
        top: -8rem;
        width: 13rem; } }
  #home05 .content {
    position: relative;
    z-index: 1; }
  #home05 .boxs:nth-child(2n+1) {
    flex-direction: row-reverse;
    margin: 0 auto 16rem 0; }
    @media (max-width: 999px) {
      #home05 .boxs:nth-child(2n+1) {
        flex-direction: column;
        margin: auto;
        margin-bottom: 12rem; } }
  #home05 .boxs:nth-child(2n+1) .box {
    margin-right: 0;
    margin-left: 3vw; }
  #home05 .boxs:nth-child(2n+1) .decoPic {
    left: inherit;
    right: 0; }
  @media (max-width: 999px) {
    #home05 .boxs:nth-child(2n+1) .box::before {
      left: -5%; } }
  @media (max-width: 999px) {
    #home05 .boxs:nth-child(2n+1) .pic {
      margin-right: 0;
      margin-left: -16%; } }
  @media (max-width: 999px) {
    #home05 .boxs:last-child {
      margin-bottom: 6rem; } }
  #home05 .proposal-section .ttl {
    font-size: 3.6rem;
    font-weight: bold;
    margin-bottom: 4rem;
    padding: 1.5rem 0;
    position: relative; }
    @media (max-width: 999px) {
      #home05 .proposal-section .ttl {
        font-size: 2rem;
        margin-bottom: 2rem; } }
  #home05 .proposal-section .ttl::before {
    content: '';
    width: 100%;
    height: 0.4rem;
    background: linear-gradient(to right, #97D400, #F4E400);
    display: block;
    position: absolute;
    bottom: 0; }
  #home05 .proposal-section .ttl strong {
    font-size: 5rem;
    color: #FB7F00; }
    @media (max-width: 999px) {
      #home05 .proposal-section .ttl strong {
        font-size: 2.4rem; } }
  #home05 .proposal-section .txt {
    margin-bottom: 1.5rem;
    line-height: 1.8; }
  #home05 .proposal-section .txt .highlight {
    color: #0087DD;
    font-weight: bold; }
  #home05 .proposal-section .voiceBox {
    display: flex;
    align-items: center;
    background: #FEFBD9;
    padding: 2rem;
    position: relative; }
    @media (max-width: 999px) {
      #home05 .proposal-section .voiceBox {
        flex-direction: column;
        padding: 1.5rem 2rem 2rem; } }
  #home05 .proposal-section .voiceBox::before {
    content: '';
    width: 5.5rem;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #FCF598; }
    @media (max-width: 999px) {
      #home05 .proposal-section .voiceBox::before {
        content: '';
        width: 100%;
        height: 4rem;
        position: absolute;
        top: 0;
        bottom: inherit; } }
  #home05 .proposal-section .voiceBox.blue {
    background: #EAF5FC; }
  #home05 .proposal-section .voiceBox.blue::before {
    background: #C4E1F6; }
  #home05 .proposal-section .voice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    position: relative;
    z-index: 1;
    width: 7rem;
    height: auto; }
    @media (max-width: 999px) {
      #home05 .proposal-section .voice-icon {
        width: 4rem;
        margin-right: 0; } }
  #home05 .proposal-section .voice-title {
    font-weight: bold;
    font-size: 2rem;
    color: #9E9205;
    margin-right: 2rem;
    white-space: nowrap; }
    @media (max-width: 999px) {
      #home05 .proposal-section .voice-title {
        font-size: 1.4rem;
        margin-right: 0; } }
  #home05 .proposal-section .voiceBox.blue .voice-title {
    color: #0087DD; }
  #home05 .proposal-section .voice-txt {
    font-weight: bold; }
    @media (max-width: 999px) {
      #home05 .proposal-section .voice-txt {
        text-align: center; } }
  #home05 .proposal-section .proposalBox {
    display: flex;
    align-items: center;
    background: #F1F9DE;
    padding: 2rem;
    position: relative; }
    @media (max-width: 999px) {
      #home05 .proposal-section .proposalBox {
        flex-direction: column;
        padding: 1.5rem 2rem 2rem; } }
  #home05 .proposal-section .proposalBox::before {
    content: '';
    width: 5.5rem;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #D6ED9B; }
    @media (max-width: 999px) {
      #home05 .proposal-section .proposalBox::before {
        content: '';
        width: 100%;
        height: 4rem;
        position: absolute;
        top: 0;
        bottom: inherit; } }
  #home05 .proposal-section .proposal-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    position: relative;
    z-index: 1;
    width: 7rem;
    height: auto; }
    @media (max-width: 999px) {
      #home05 .proposal-section .proposal-icon {
        width: 4rem;
        margin-right: 0; } }
  #home05 .proposal-section .proposal-title {
    font-weight: bold;
    font-size: 2rem;
    position: relative;
    padding-bottom: 1rem;
    margin-bottom: 1.5rem;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #home05 .proposal-section .proposal-title {
        font-size: 1.6rem; } }
  #home05 .proposal-content {
    width: 100%; }
  #home05 .proposal-section .proposal-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 8px;
    background: url("../img/wave_green.png") repeat-x;
    background-size: 4rem auto;
    height: 0.8rem; }
  #home05 .decoPic {
    opacity: 0;
    transform: scale(0.9) translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease; }
  #home05 .decoPic.active {
    opacity: 1;
    animation: popIn 0.8s ease forwards; }
@keyframes popIn {
  0% {
    transform: scale(0.9) translateY(30px); }
  60% {
    transform: scale(1.1) translateY(-10px);
    /* ちょっと飛び出す */ }
  100% {
    transform: scale(1) translateY(0);
    /* 元に戻る */ } }
/* 
---------------------------------------
home06
---------------------------------------
*/
#home06 {
  padding: 6rem 0 6rem;
  position: relative; }
  @media (max-width: 999px) {
    #home06 {
      padding: 0 0  2rem; } }
  #home06 .deco {
    font-size: 10rem;
    text-align: center;
    color: #0087DD;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #home06 .deco {
        font-size: 4rem; } }
  #home06 .ttl {
    font-size: 2.8rem;
    line-height: 1.5;
    text-align: center; }
    @media (max-width: 999px) {
      #home06 .ttl {
        font-size: 1.4rem; } }
  #home06 .txt {
    text-align: center; }
    @media (max-width: 999px) {
      #home06 .txt {
        text-align: left;
        width: 90%;
        margin: 0 auto 3rem;
        max-width: 54rem; } }
  #home06 .boxs {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  #home06 .box {
    width: calc(445/1400*100%);
    text-align: center;
    margin-bottom: 6rem; }
    @media (max-width: 999px) {
      #home06 .box {
        width: 48%;
        margin-bottom: 2rem; } }
  #home06 .stxt {
    text-align: center;
    margin-top: 2rem; }
    @media (max-width: 999px) {
      #home06 .stxt {
        margin-top: 1rem; } }

/* 
---------------------------------------
home07
---------------------------------------
*/
#home07 {
  padding: 16rem 0 16rem;
  position: relative;
  background: url("../img/02_bg_02.png");
  /* 見出し列 */
  /* スタイルグループ列 */ }
  @media (max-width: 999px) {
    #home07 {
      padding: 6rem 0  2rem; } }
  #home07 .deco {
    font-size: 10rem;
    text-align: center;
    color: #0087DD;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #home07 .deco {
        font-size: 4rem; } }
  #home07 .ttl {
    font-size: 2.8rem;
    line-height: 1.5;
    text-align: center; }
    @media (max-width: 999px) {
      #home07 .ttl {
        font-size: 1.4rem; } }
  #home07 table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
    margin-top: 10rem; }
  #home07 th, #home07 td {
    padding: 2rem 1rem;
    text-align: center; }
  #home07 th {
    font-weight: bold;
    text-align: center; }
  #home07 td:first-child {
    font-weight: bold;
    border-top: 0.4rem #F5F5F5 solid; }
  #home07 td:last-child {
    font-weight: bold; }
  #home07 thead th:nth-child(2),
  #home07 thead th:nth-child(3) {
    background: #A7A7A7;
    color: #fff;
    border-left: 0.4rem #A7A7A7 solid;
    padding: 3rem 0;
    font-size: 2rem; }
  #home07 thead th:nth-child(4) {
    background: #0087DD;
    color: #fff;
    position: relative;
    z-index: 1;
    border-bottom: 0.4rem #0087DD solid; }
  #home07 thead th:nth-child(4)::before {
    content: 'スタイルグループ';
    position: absolute;
    bottom: 0;
    width: calc(100% + 0.4rem);
    height: 12rem;
    z-index: -1;
    background: #0087DD;
    left: -0.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.4rem; }
  #home07 tbody tr td:nth-child(2),
  #home07 tbody tr td:nth-child(3) {
    border-left: 0.4rem #A7A7A7 solid;
    border-top: 0.4rem #A7A7A7 solid;
    line-height: 1.5; }
  #home07 tbody tr td:nth-child(4) {
    border-left: 0.4rem #0087DD solid;
    border-right: 0.4rem #0087DD solid;
    border-bottom: 0.4rem #0087DD solid;
    line-height: 1.5; }
  #home07 tbody tr:nth-child(2) td:nth-child(4) {
    background: #F2F9FE; }
  #home07 tbody tr:last-child td:nth-child(2),
  #home07 tbody tr:last-child td:nth-child(3) {
    border-bottom: 0.4rem #A7A7A7 solid; }
  #home07 tr span {
    color: #A7A7A7;
    font-size: 4rem;
    line-height: 1; }
    @media (max-width: 999px) {
      #home07 tr span {
        font-size: 2.4rem; } }
  #home07 tr span.double-circle {
    color: #E72A00; }
  #home07 .box {
    margin-bottom: 2rem; }
  #home07 .sttl {
    background: #B8DCF6;
    padding: 0.8rem 2rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
    font-size: 1.6rem; }
  #home07 dl {
    display: flex;
    background: #A7A7A7; }
  #home07 dt {
    font-size: 1.2rem;
    width: 43%;
    color: #fff;
    padding: 1rem;
    border-bottom: 1px solid #fff;
    vertical-align: middle;
    display: flex;
    align-items: center;
    font-weight: bold; }
  #home07 dd {
    width: 57%;
    background: #fff;
    text-align: center;
    line-height: 1.5;
    border: 1px solid #A7A7A7;
    font-size: 1.3rem;
    font-weight: bold;
    padding: 1rem 0; }
  #home07 dl:nth-child(4) {
    background: #0087DD;
    border: 0.4rem solid #0087DD; }
  #home07 dl:nth-child(3) dt,
  #home07 dl:nth-child(4) dt {
    border-bottom: none; }

/* 
---------------------------------------
home08
---------------------------------------
*/
#home08 {
  padding: 0 0 16rem;
  position: relative;
  background: url("../img/02_bg_02.png");
  margin-bottom: 16rem; }
  @media (max-width: 999px) {
    #home08 {
      padding: 0 0 3rem;
      margin-bottom: 4rem; } }
  #home08 .ttlBox {
    margin: -20vw auto 6rem;
    position: relative;
    z-index: 1; }
    @media (max-width: 999px) {
      #home08 .ttlBox {
        margin: -46vw auto 4rem; } }
  #home08 .ttl {
    background: #fff;
    padding: 1rem 2rem;
    width: max-content;
    margin: 0 auto;
    font-size: 4.6rem; }
    @media (max-width: 999px) {
      #home08 .ttl {
        font-size: 1.8rem; } }
  #home08 .ttl span {
    color: #0087DD; }
  #home08 .ttl strong {
    font-size: 5.4rem; }
    @media (max-width: 999px) {
      #home08 .ttl strong {
        font-size: 2.2rem; } }
  #home08 .ttl.grade {
    background: linear-gradient(45deg, #F4E400, #97D400); }
  #home08 .boxs {
    background: #fff;
    position: relative;
    z-index: 1;
    padding: 5vw 5vw 0; }
  #home08 .boxs:last-child {
    padding-bottom: 5vw; }
    @media (max-width: 999px) {
      #home08 .boxs:last-child {
        padding-bottom: 0; } }
  #home08 .box {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media (max-width: 999px) {
      #home08 .box {
        flex-direction: column;
        margin-bottom: 2rem;
        padding-bottom: 2rem; } }
  #home08 .sttlBox {
    margin-right: 7rem;
    width: calc(600 / 1200 * 100%); }
    @media (max-width: 999px) {
      #home08 .sttlBox {
        margin-right: 0;
        width: 100%; } }
  #home08 .sttl {
    font-size: 3.6rem;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid #D2D2D2; }
    @media (max-width: 999px) {
      #home08 .sttl {
        font-size: 2rem;
        padding-bottom: 1rem;
        margin-bottom: 1rem; } }
  #home08 .sttl strong {
    color: #0087DD; }
  #home08 .stxt {
    background: #F4E400;
    padding: 1rem 2rem;
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 2rem;
    text-align: center; }
    @media (max-width: 999px) {
      #home08 .stxt {
        font-size: 1.6rem;
        line-height: 1.5; } }
  #home08 .box .pic {
    width: calc(530 / 1200 * 100%); }
    @media (max-width: 999px) {
      #home08 .box .pic {
        width: 100%; } }
  #home08 ul li {
    text-indent: -1.5em;
    padding-left: 1.5em;
    margin-bottom: 1rem; }
  #home08 ul li::before {
    content: '●';
    color: #97D400;
    margin-right: 1rem;
    font-size: 1.6rem; }
    @media (max-width: 999px) {
      #home08 ul li::before {
        font-size: 1.2rem; } }
  @media (max-width: 999px) {
    #home08 picture.pic img {
      width: 100%; } }

/* 
---------------------------------------
home09
---------------------------------------
*/
#home09 {
  padding: 16rem 0 16rem;
  position: relative; }
  @media (max-width: 999px) {
    #home09 {
      padding: 0 0 6rem; } }
  #home09 .deco {
    font-size: 10rem;
    text-align: center;
    color: #0087DD;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #home09 .deco {
        font-size: 4rem; } }
  #home09 .ttl {
    font-size: 2.8rem;
    line-height: 1.5;
    text-align: center; }
    @media (max-width: 999px) {
      #home09 .ttl {
        font-size: 1.4rem; } }
  #home09 .txt {
    text-align: center; }
  #home09 .boxs {
    display: flex;
    justify-content: space-between; }
    @media (max-width: 999px) {
      #home09 .boxs {
        flex-wrap: wrap; } }
  #home09 .box {
    width: calc(320/1400*100%); }
    @media (max-width: 999px) {
      #home09 .box {
        width: 48%;
        margin-bottom: 2rem; } }
  #home09 .decoBg {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -2; }
  #home09 .sttl {
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 2rem;
    padding: 1.5rem 0;
    position: relative;
    text-align: center; }
    @media (max-width: 999px) {
      #home09 .sttl {
        font-size: 1.6rem;
        line-height: 1.5; } }
  #home09 .sttl::before {
    content: '';
    width: 6rem;
    height: 0.4rem;
    background: linear-gradient(to right, #97D400, #F4E400);
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto; }

/* 
---------------------------------------
faq
---------------------------------------
*/
#faq {
  padding: 16rem 0 16rem;
  position: relative;
  background: linear-gradient(to top, #669CBF, #66B7EA); }
  @media (max-width: 999px) {
    #faq {
      padding: 6rem 0 6rem; } }
  #faq .deco {
    font-size: 10rem;
    text-align: center;
    color: #fff;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #faq .deco {
        font-size: 4rem; } }
  #faq .ttl {
    font-size: 2.8rem;
    line-height: 1.5;
    text-align: center;
    color: #fff; }
    @media (max-width: 999px) {
      #faq .ttl {
        font-size: 1.4rem; } }

.acdns li {
  margin-bottom: 2rem; }
.acdns .acdn-q {
  padding: 3rem 6rem;
  display: flex;
  align-items: center;
  transition: 0.3s all;
  background: #D6E5F1; }
  @media (max-width: 999px) {
    .acdns .acdn-q {
      padding: 2rem;
      line-height: 1.5; } }
  .acdns .acdn-q:hover {
    cursor: pointer;
    color: #0087DD;
    transition: 0.3s all; }
  .acdns .acdn-q span {
    font-size: 3rem;
    margin-right: 1rem;
    line-height: 1.25;
    color: #0087DD; }
    @media (max-width: 999px) {
      .acdns .acdn-q span {
        font-size: 2rem; } }
.acdns .acdn-a {
  display: flex;
  background: #fff;
  padding: 2rem 6rem 0rem; }
  @media (max-width: 999px) {
    .acdns .acdn-a {
      padding: 2rem 2rem 0; } }
  .acdns .acdn-a .data {
    display: flex;
    align-items: center;
    margin-bottom: 3rem; }
  .acdns .acdn-a span {
    font-size: 3rem;
    margin-right: 1rem;
    line-height: 1.25;
    color: #FB7F00; }
    @media (max-width: 999px) {
      .acdns .acdn-a span {
        font-size: 2rem; } }
.acdns .qTxt {
  margin-right: 1rem;
  font-size: 2.2rem;
  font-weight: bold; }
  @media (max-width: 999px) {
    .acdns .qTxt {
      font-size: 1.6rem; } }
.acdns .icons {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 6rem;
  height: 6rem;
  background: #7EA5CA;
  border-radius: 999px;
  margin: 0 0 0 auto;
  font-size: 3rem; }
  @media (max-width: 999px) {
    .acdns .icons {
      min-width: 3rem;
      height: 3rem;
      font-size: 1.6rem; } }
  .acdns .icons i {
    position: absolute;
    color: #fff; }
.acdns .open .fa-plus {
  display: none; }

/* 
---------------------------------------
home10
---------------------------------------
*/
#home10 {
  padding: 0 0 16rem;
  position: relative;
  background: url("../img/10_bg.png");
  background-size: cover; }
  @media (max-width: 999px) {
    #home10 {
      padding: 0 0 12rem; } }
  #home10 .ttlBox {
    position: relative; }
  #home10 .deco {
    color: white;
    font-size: 16rem;
    line-height: 1.25;
    opacity: 0.1; }
    @media (max-width: 999px) {
      #home10 .deco {
        font-size: 4rem; } }
  #home10 .ttl {
    font-size: 2.4rem;
    color: #31AFFF;
    margin-bottom: 4rem;
    position: relative;
    z-index: 1; }
    @media (max-width: 999px) {
      #home10 .ttl {
        font-size: 1.6rem; } }
  #home10 .decoTtl {
    width: 84rem;
    margin-bottom: 6rem;
    position: relative;
    z-index: 1; }
    @media (max-width: 999px) {
      #home10 .decoTtl {
        margin-bottom: 0; } }
  #home10 .txt {
    font-size: 2rem;
    color: #fff;
    position: relative;
    z-index: 1; }
    @media (max-width: 999px) {
      #home10 .txt {
        font-size: 1.6rem;
        margin-top: -6rem; } }
  @media (max-width: 999px) {
    #home10 .pic {
      width: 100%; } }
  #home10 .pic2 {
    position: absolute;
    right: -12vw;
    top: 2vw;
    width: 60%;
    z-index: 0; }
    @media (max-width: 999px) {
      #home10 .pic2 {
        width: 100%;
        position: inherit;
        right: 0;
        top: 4vw; } }

/* 
---------------------------------------
home11
---------------------------------------
*/
#home11 {
  padding: 16rem 0;
  position: relative;
  background: url("../img/02_bg_02.png"); }
  @media (max-width: 999px) {
    #home11 {
      padding: 6rem 0 6rem; } }
  #home11 .inner14 {
    margin: -24rem auto 0;
    background: #fff;
    padding: 5vw; }
    @media (max-width: 999px) {
      #home11 .inner14 {
        margin: -12rem auto 0; } }
  #home11 .deco {
    font-size: 10rem;
    text-align: center;
    color: #0087DD;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #home11 .deco {
        font-size: 4rem; } }
  #home11 .ttl {
    font-size: 2.8rem;
    line-height: 1.5;
    text-align: center; }
    @media (max-width: 999px) {
      #home11 .ttl {
        font-size: 1.4rem; } }
  #home11 .boxs {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 7rem; }
    @media (max-width: 999px) {
      #home11 .boxs {
        flex-direction: column-reverse;
        gap: 3rem; } }
  #home11 .boxs > .pic2 {
    width: 56rem; }
  #home11 dl {
    border-top: 1px solid #D2D2D2;
    padding: 2rem 0; }
  #home11 dl:last-child {
    border-bottom: 1px solid #D2D2D2; }
  #home11 dt {
    color: #0087DD;
    font-weight: bold;
    margin-bottom: 0.5rem; }
  #home11 dd {
    display: flex;
    align-items: flex-start; }
  @media (max-width: 999px) {
    #home11 dd a {
      text-decoration: underline; } }
  #home11 .box dl:first-child dd {
    display: inherit; }
  #home11 dd img {
    margin-left: 2rem;
    height: auto;
    width: 23rem; }
    @media (max-width: 999px) {
      #home11 dd img {
        max-width: 12rem; } }

.telBnr {
  padding: 12rem 0; }
  @media (max-width: 999px) {
    .telBnr {
      padding: 6rem 0; } }
  .telBnr .ttl {
    width: 100rem;
    margin-bottom: 4rem; }
    @media (max-width: 999px) {
      .telBnr .ttl {
        margin-bottom: 2rem; } }

/* 
---------------------------------------
contact01
---------------------------------------
*/
#contact01 {
  background: rgba(0, 90, 148, 0.1);
  padding: 16rem 0; }
  @media (max-width: 999px) {
    #contact01 {
      padding: 6rem 0; } }
  #contact01 .deco {
    font-size: 10rem;
    text-align: center;
    color: #0087DD;
    line-height: 1.5; }
    @media (max-width: 999px) {
      #contact01 .deco {
        font-size: 4rem; } }
  #contact01 .ttl {
    font-size: 2.8rem;
    line-height: 1.5;
    text-align: center; }
    @media (max-width: 999px) {
      #contact01 .ttl {
        font-size: 1.4rem; } }
  #contact01 .checkBox {
    text-align: center; }
    #contact01 .checkBox a {
      font-weight: bold;
      text-decoration: underline; }
  #contact01 .wpcf7-checkbox .wpcf7-list-item.first.last {
    font-weight: bold;
    font-size: 2rem;
    margin-top: 1rem; }
    @media (max-width: 999px) {
      #contact01 .wpcf7-checkbox .wpcf7-list-item.first.last {
        font-size: 1.4rem; } }

.bnrBox {
  margin: 12rem auto;
  position: relative; }
  @media (max-width: 999px) {
    .bnrBox {
      margin: 6rem auto; } }
  .bnrBox .bnrBtn {
    width: 28%;
    position: absolute;
    left: 18vw;
    bottom: 1.8vw;
    z-index: 10; }
    @media (max-width: 999px) {
      .bnrBox .bnrBtn {
        display: none; } }
  .bnrBox .bnrBtn img {
    display: block;
    width: 100%; }

/* ドキドキアニメーション */
.dokidoki {
  animation: dokidoki 3s ease-in-out infinite; }

@keyframes dokidoki {
  0%, 40%, 60%, 100% {
    transform: scale(1); }
  50% {
    transform: scale(1.1); } }
.fixBnr {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 999; }
  @media (min-width: 1000px) {
    .fixBnr {
      display: none !important; } }
  .fixBnr img {
    width: 100%;
    max-width: 42rem;
    margin: 0 auto; }

/* 
---------------------------------------
フッター
---------------------------------------
*/
#footer {
  background: #00447D; }
  @media (max-width: 999px) {
    #footer {
      margin-bottom: 10rem; } }
  #footer .flogo img {
    width: 100%; }
  #footer .nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4rem 0; }
    @media (max-width: 999px) {
      #footer .nav {
        flex-direction: column-reverse; } }
  #footer .copy {
    color: rgba(255, 255, 255, 0.5);
    font-size: 1.2rem; }
  #footer ul li a {
    font-size: 1.6rem;
    color: #fff; }
    @media (max-width: 999px) {
      #footer ul li a {
        font-size: 1.4rem;
        display: block;
        margin-bottom: 1rem; } }

.matrix-scroll .bg-wrap,
.matrix-scroll .bg-wrap .inn {
  display: block; }

.matrix-scroll .bg-wrap {
  opacity: 0; }

.matrix-scroll .bg-wrap + .bg-wrap {
  margin-top: 10px; }

.matrix-scroll .bg-wrap .inn {
  opacity: 0;
  transform: translateX(-50px);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.6s;
  transition-delay: 0.3s; }

.matrix-scroll.in-view .bg-wrap {
  opacity: 1; }

.matrix-scroll.in-view .bg-wrap .inn {
  opacity: 1;
  transform: translateX(0); }

.slideInLeft,
.slideinRight {
  opacity: 0; }

.wf-active .slideInLeft {
  animation: slideInLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 0.9s; }

@keyframes slideInLeft {
  0% {
    transform: translateX(-6rem);
    opacity: 0; }
  100% {
    transform: translateX(0); }
  40%,100% {
    opacity: 1; } }
.wf-active .slideinRight {
  animation: slideInRight 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 0.6s; }

@keyframes slideInRight {
  0% {
    transform: translateX(6rem);
    opacity: 0; }
  100% {
    transform: translateX(0); }
  40%,100% {
    opacity: 1; } }
.matrix .bg-wrap,
.matrix .bg-wrap .inn {
  display: block; }

.matrix .bg-wrap {
  overflow: hidden;
  opacity: 0; }

.matrix .bg-wrap .inn.large {
  font-weight: bold; }

.matrix .bg-wrap .inn {
  opacity: 0;
  transform: matrix(1, 0, 0, 1, 0, 100);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1); }

.matrix.is-animated .bg-wrap {
  opacity: 1; }

.matrix.is-animated .bg-wrap .inn {
  opacity: 1;
  transform: matrix(1, 0, 0, 1, 0, 0); }
