    @charset "utf-8";

    .clearfix {
        display: block;
    }

    .sp {
        display: none;
    }

html {
  scroll-behavior: smooth;
}

    body {
        color: #000;
        font-size: 20px;
        font-family: "Noto Sans JP", sans-serif;
    }

.error {
color:#ec3350

}
    /* header */
    header {
        padding: 15px 0;
    }
header ul {
    width: 1200px;
    margin: 0 auto;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    }
header ul li {
    margin: 0;
    padding: 0;
    }

header h1 {
    font-size: 1em;
    line-height: 1em;
    text-align: left;
    padding: 0;
    }
header h1 span {
    background-color: #F47701;
    color: #FFFFFF;
    margin-right: 5px;
    padding: 5px;
    }

    /* mv */
    #mv {
        width: 100%;
        background-image: url(../images/mv_back.jpg);
        background-size: cover;
    }
.mv_sp {
    display: none;
    }
.mv_in {
    width: 1200px;
    height: 768px;
    margin: 0 auto;
    position: relative;
    }
.mv01 {
    width: 650px;
    position: absolute;
    top: 40px;
    left: 0;
    z-index: 1;
    }

.mv02 {
    width: 326px;
    position: absolute;
    top: 60px;
    left: 670px;
    z-index: 1;
    }
.mv03 {
    width: 820px;
    position: absolute;
    bottom: 65px;
    left: 0;
    }


    /* contact */
    .contact {
    width: 100%;
    padding: 60px 0 65px;
    text-align: center;
    background-color: #F4F4F4;
    }


.contact h2 {
    font-size: 1.6em;
        line-height: 1em;
    margin: 0 0 60px 0;
    font-weight: bold;
    }
.contact h2 span {
    font-size: 1em;
    color: #e95513;
    }

.contact br {
    display: none;
    }

/* cv01 */
    .cv01 {
    width: 100%;
    padding: 50px 0;
    text-align: center;
    background-color: #E95613;
    }




/* cv02 */
    .cv02 {
    width: 100%;
    margin: 0;
    padding: 70px 0 120px;
    }

.cv02 h3 {
    color: #e95513;
    text-align: center;
    font-size: 2.6em;
    position: relative;
    margin: 0 0 125px 0;
}

.cv02 h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -50px;
  transform: translateX(-50%);
  width: 150px;
  height: 1px;
  background-color: #333;
}

.cv02 h4 {
    text-align: center;
    font-size: 1.6em;
    margin: 0 0 20px 0;
}

.cv02 ul {
    width: 1200px;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
    margin: 0 auto;
padding: 0;
}

.cv02 ul li {
    width: 370px;
margin: 0;
padding: 20px 0 30px;
list-style-type: none;
    border: 1px #e95513 solid;
}
.cv02 ul li img {
    max-width: 100%;
    margin: 0 0 20px 0;
}
.cv02 ul li p {
    text-align: left;
    font-size: .9em;
    line-height: 1.8em;
    padding: 0 20px;
}


/* cv03 */
    .cv03 {
    width: 100%;
    padding: 70px 0 110px;
    text-align: center;
    background-color: #E95613;
    }

.cv03 h3 {
    color: #fff;
    text-align: center;
    font-size: 2.6em;
    position: relative;
    margin: 0 0 80px 0;
}

.cv03 h4 {
    color: #fff;
    text-align: center;
    font-size: 1.6em;
    margin: 0 0 20px 0;
}


.cv03 ul {
width: 1200px;
display: flex;
flex-wrap: nowrap;
    justify-content: center;
  align-items: center;
margin: 0 auto;
padding: 0;
    gap: 0 2em;
}

.cv03 ul li {
    margin: 0;
    padding: 0;
    text-align: left;
    list-style-type: none;
    box-sizing: border-box;
    line-height: 1.6em;
}

.cv03 ul li:nth-of-type(3) {
    border: 4px #fff solid;
    border-radius: 20px;
    padding: 50px 30px 30px;
}

.cv03 ul li img {
    max-width: 100%;
    margin: 0;
}

.cv03 ul li p {
    width: 100%;
    text-align: left;
    margin: 0 0 30px 0;
}

.cv03 ul li p:nth-last-child(1) {
    margin: 0;
}

.cv03 ul.check_box {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    margin: 0;
    padding: 30px 50px;
    gap: 1em 0;
    background-color: #FFFFFF;
    border-radius: 20px;
    box-sizing: border-box;
}

.cv03 ul.check_box li {
    width: 100%;
    font-size: 1em;
    margin: 0 0 20px 0;
    padding: 0 0 30px 35px;
position: relative;
    border-bottom: 1px #333 solid;
}

.cv03 ul.check_box li:nth-last-child(1) {
    border: none;
    margin: 0;
    padding: 0 0 0 35px;
}

.cv03 ul.check_box li:before {
content: url(../images/check.png);
width: 26px;
height: 29px;
position:absolute;
top:0;
left:0;
}
   
/* cv04 */
    .cv04 {
    width: 100%;
    margin: 0;
    padding: 70px 0 120px;
    }

.cv04 h3 {
    color: #e95513;
    text-align: center;
    font-size: 2.6em;
    position: relative;
    margin: 0 0 125px 0;
}

.cv04 h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -50px;
  transform: translateX(-50%);
  width: 150px;
  height: 1px;
  background-color: #333;
}

.cv04 h4 {
    text-align: center;
    font-size: 1.6em;
    margin: 0 0 20px 0;
}

.cv04 ul {
    width: 1200px;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
    margin: 0 auto;
padding: 0;
}

.cv04 ul li {
    width: 370px;
margin: 0;
padding: 20px 0 30px;
list-style-type: none;
    border: 1px #e95513 solid;
}
.cv04 ul li img {
    max-width: 100%;
    margin: 0 0 20px 0;
}
.cv04 ul li p {
    text-align: left;
    font-size: .9em;
    line-height: 1.8em;
    padding: 0 20px;
}

/* cv05 */
    .cv05 {
    width: 100%;
    margin: 0;
    padding: 60px 0 70px;
    background-color: #F4F4F4;
    }

.cv05 h3 {
    text-align: center;
    font-size: 2em;
    position: relative;
    margin: 0 0 60px 0;
}

.cv05 h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -40px;
  transform: translateX(-50%);
  width: 150px;
  height: 1px;
  background-color: #333;
}

.cv05 h4 {
    color: #e95513;
    text-align: center;
    font-size: 1.6em;
    margin: 0 0 0 0;
}

.cv05 h4 span {
    font-family: "Spinnaker", sans-serif;
    font-size: 2em;
    font-weight: 700;
    letter-spacing: -0.05em;
}

.cv05 p {
    text-align: center;
    font-size: 1.4em;
    font-weight: bold;
    line-height: 1.8em;
    margin: 0 0 30px 0;
    padding: 0;
}

.cv05 ul {
    width: 830px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto 60px;
    padding: 40px;
    gap: 1em 0;
    background-color: #FFFFFF;
    border-radius: 20px;
    box-sizing: border-box;
}

.cv05 ul li {
    width: 48%;
    font-size: 1em;
    margin: 0 4% 0 0;
    padding: 0 0 0 35px;
    position: relative;
    list-style-type: none;
    box-sizing: border-box;
}

.cv05 ul li:nth-of-type(2n) {
margin: 0;
}

.cv05 ul li:before {
content: url(../images/check.png);
width: 26px;
height: 29px;
position:absolute;
top:0;
left:0;
}

/* cv06 */
    .cv06 {
    width: 100%;
    margin: 0;
    padding: 80px 0 95px;
    }

.cv06 h3 {
    text-align: center;
    font-size: 1.6em;
    position: relative;
    margin: 0 0 125px 0;
}

.cv06 h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -50px;
  transform: translateX(-50%);
  width: 150px;
  height: 1px;
  background-color: #333;
}

.cv06 h4 {
    text-align: center;
    font-size: 2.6em;
    margin: 0 0 20px 0;
}

.cv06 ul {
    width: 1200px;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
    margin: 0 auto;
padding: 0;
}

.cv06 ul li {
    width: 48%;
margin: 0;
padding: 0 30px 30px;
list-style-type: none;
    border: 2px #e95513 solid;
    border-radius: 20px;
    box-sizing: border-box;
    position: relative;
}

.cv06 ul li .num {
    position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
    backface-visibility: hidden;
}

.cv06 ul li p {
    margin: 40px 0;
    padding: 0;
}

.cv06 .before {
    margin: 0 0 30px 0;
    padding: 20px;
    background-color: #F4F4F4;
}

.cv06 .before h5 {
    font-family: "Spinnaker", sans-serif;
    font-size: 1.6em;
    font-weight: 700;
    letter-spacing: -0.03em;
    margin: 0 0 10px 0;
}

.cv06 .before ul {
    width: 100%;
display: block;
    margin: 0;
padding: 0 0 0 1.5em;
    box-sizing: border-box;
}

.cv06 .before ul li {
    width: 100%;
    font-size: .9em;
    line-height: 1.8;
margin: 0;
padding: 0;
list-style-type: disc;
    border: none;
    box-sizing: border-box;
    position: static;
}

.cv06 .after {
    padding: 20px;
    background-color: #FDDDCE;
}

.cv06 .after h5 {
    font-family: "Spinnaker", sans-serif;
    font-size: 1.6em;
    font-weight: 700;
    letter-spacing: -0.03em;
    margin: 0 0 10px 0;
    color: #e95513;
}

.cv06 .after ul {
    width: 100%;
display: block;
    margin: 0;
padding: 0 0 0 1.5em;
    box-sizing: border-box;
}

.cv06 .after ul li {
    width: 100%;
    font-size: 1em;
    line-height: 1.8;
    margin: 0;
    padding: 0;
    list-style-type: disc;
    border: none;
    box-sizing: border-box;
    position: static;
    font-weight: bold;
}

.cv06 .after ul li span {
    color: #e95513;
}

/* cv07 */
.cv07 {
        width: 100%;
        background-image: url(../images/cv07_back.jpg);
        background-size: cover;
    }
.cv07 ul {
    width: 1000px;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
    margin: 0 auto;
padding: 60px 0;
}

.cv07 ul li {
margin: 0;
padding: 0;
list-style-type: none;
    box-sizing: border-box;
}

/* cv08 */
    .cv08 {
    width: 100%;
    margin: 0;
    padding: 70px 0 35px;
    background-color: #F4F4F4;
    }

.cv08 h3 {
    text-align: center;
    font-size: 1.6em;
    position: relative;
    margin: 0 0 125px 0;
}

.cv08 h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -50px;
  transform: translateX(-50%);
  width: 150px;
  height: 1px;
  background-color: #333;
}

.cv08 h4 {
    text-align: center;
    font-size: 2.6em;
    margin: 0 0 20px 0;
}

.cv08 dl {
    width: 1200px;
    margin: 0 auto;
padding: 0;
}

.cv08 dl dt {
    width: 100%;
    font-size: 1.2em;
    font-weight: bold;
    margin: 0 0 30px 0;
    padding: 0 0 0 80px;
    position: relative;
    box-sizing: border-box;
}

.cv08 dl dt:before {
content: url(../images/cv08_q.png);
width: 47px;
height: 43px;
position:absolute;
top:0;
left:0;
}

.cv08 dl dd {
    width: 100%;
    font-size: .9em;
    margin: 0 0 60px 0;
    padding: 0 0 0 80px;
    position: relative;
    box-sizing: border-box;
}

.cv08 dl dd:before {
content: url(../images/cv08_a.png);
width: 47px;
height: 43px;
position:absolute;
top:0;
left:0;
}

/* 共通 */

.in_box {
    width: 1080px;
    margin: 0 auto;
    }
.btn {
    width: 520px;
    margin: 0 auto;
    }

.baundo {
        animation: baundo .3s ease infinite alternate;
    }

    @keyframes baundo {
        0% {
            transform: translateY(0px);
        }

        100% {
            transform: translateY(-10px);
        }
    }

@keyframes FadeIn { 
    0% {
    opacity: 0;
}
100% {
    opacity: 1;
}
}

/*下から上*/
@keyframes SlideUp {
0% {
    opacity: 0;/* 透明 */
    transform: translateY(300%) 
}
100% {
    opacity: 1;/* 不透明 */
    transform: translateY(0%) 
}
}


/*===========
fadein
===========*/

.fadeIn {
  opacity: 0; /* 最初は非表示 */
  transform: translateY(30px); /* 下に30pxの位置から */
  transition: opacity .8s, transform .8s; /* 透過率と縦方向の移動を0.8秒 */
}
.fadeIn.is-show {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateY(0); /* 30px上に移動する */
  transition-delay: .5s; /* フェード開始を0.5秒遅らせる */
}

.SlideUp {
  opacity: 0; /* 最初は非表示 */
  transform: translateY(-80px); /* 上に30pxの位置から */
  transition: opacity .8s, transform .8s; /* 透過率と縦方向の移動を0.8秒 */
}
.SlideUp.is-show {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateY(0); /* 30px上に移動する */
  transition-delay: .5s; /* フェード開始を0.5秒遅らせる */
}

    /* form */
    #form {
    width: 100%;
    margin: 0 auto;
    padding: 90px 0 70px 0;
    background-color: #F4F4F4;
    }

#form h3 {
    text-align: center;
    font-size: 2em;
    position: relative;
    margin: 0 0 80px 0;
}

#form h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -40px;
  transform: translateX(-50%);
  width: 150px;
  height: 1px;
  background-color: #333;
}

    #form p {
    font-size: .9em;
    margin: 0 0 40px 0;
    text-align: center;
    font-weight: bold;
    }

    #form table {
        width: 800px;
        margin: 0 auto 30px;
    }

    #form table th {
        padding: 20px 0 0;
    }

#form table th {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 10px;
    box-sizing: border-box;
}

#form table th h5 {
    font-size: 1.1em;
    margin: 0;
}

#form table th p {
    display: grid;
  place-items: center;
    width: fit-content;
    font-size: .7em;
    color: #fff;
    margin: 0;
    padding: 0 15px;
    background-color: #E95613;
}

    #form span {
        color: #ec3350;
    }

    #form table td {
        padding: 0 0 20px;
    }

    #form table td input[type="text"] {
    font-size: 24px;
    border: none;
    padding: 13px;
    box-sizing: border-box;
        border: 1px #ccc solid;
    border-radius: 5px;
    background-color: #fff;
    }

    #form table td select {
        font-size: 24px;
        border: none;
        padding: 10px;
        box-sizing: border-box;
        border-radius: 5px;
    }

    #form table td textarea {
        font-size: 24px;
        border: none;
        padding: 10px;
        box-sizing: border-box;
        border-radius: 5px;
    }

    .custom-checkbox {
        display: inline-block;
        padding-right: 25px;
        padding-bottom: 10px;
    }

    .custom-checkbox input[type="checkbox"] {
        transform: scale(1.5);
        /* チェックボックスの大きさを調整 */
        margin-right: 5px;
        /* チェックボックスとテキストの間隔を調整 */
        background: #fff;
    }

    .custom-radio {
        position: relative;
        padding-left: 30px;
        padding-right: 25px;
        padding-bottom: 10px;
        /* マークの左側に余白を設定 */
        cursor: pointer;
        display: inline-block;
        vertical-align: top;
    }

    .custom-radio input {
        position: absolute;
        opacity: 0;
        cursor: pointer;
    }

    .checkmark {
        position: absolute;
        top: 9px;
        left: 0;
        height: 18px;
        /* マークの大きさを指定 */
        width: 18px;
        /* マークの大きさを指定 */
        border: 1px solid #ccc;
        /* マークの境界線のスタイルを指定 */
        border-radius: 50%;
        /* マークを円形にする */
        background: #fff;
        /* マークの背景色を指定 */
        padding: 2px;
    }

    .custom-radio input:checked~.checkmark {
        background-color: #69a2d3;
        /* マークの塗りつぶし色を指定 */
    }

    #contact_btn {
        text-align: center;
    }

#form .button_box {
    width: 100%;
    font-size: 1.2em;
    text-align: center;
    margin: 0;
    border: none;
}

#form .button_box button {
    border: none;
    background: none;
    cursor:pointer;
}

#form .button_box button:hover {
    opacity: .9;
}

#form .pp_box {
    width: 800px;
    margin: 0 auto;
    padding: 10px 20px 0;
    height: 260px;
    border: 1px solid #ccc;
    overflow-y: scroll;
    box-sizing: border-box;
    background-color: #FFFFFF;
}

#form .pp_box h5 {
    font-size: 1em;
    font-weight: bold;
    margin: 0 0 20px 0;
    text-align: left;
}

#form .pp_box h6 {
    font-size: .9em;
    font-weight: bold;
    margin: 0 0 10px 0;
    text-align: left;
}

#form .pp_box p {
    font-size: .8em;
    line-height: 1.8em;
    margin: 0 0 20px 0;
    text-align: left;
    font-weight: normal;
}

input::placeholder {
    font-size: .8em;
  color: #ccc;
  opacity: 1; /* Firefoxで色が薄くなるのを防ぐため推奨 */
}

.floating-banner {
    position: fixed;
    bottom: 50px;
    right: 20px;
    width: 250px;
    padding: 15px;
    background-color: #19A80B;
    color: white;
    text-align: center;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.4s ease;
    }
.is-visible {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    /* 3. 消したい時のクラス（フッター到達時） */
    .is-hidden {
      opacity: 0;
      visibility: hidden;
      pointer-events: none; /* クリックできないようにする */
    }


    /* footer */
    footer {
        padding: 30px 0 0;
        text-align: center;
    }
footer p {
margin: 10px 0;
    }
footer p a {
    font-size: .8em;
    color: #333333;
    font-weight: bold;
    }

footer .copyright {
    width: 100%;
    margin: 0;
    padding: 5px 0;
    text-align: center;
    font-size: .7em;
    background-color: #000000;
    color: #FFFFFF;
    }


    /*スマホ
------------------------------*/

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

        .sp {
            display: block;
        }

        body {
            font-size: 14px;
        }



/* header */
    header {
        padding: 15px 0;
    }
header ul {
    width: 100%;
    margin: 0 auto;
    padding: 0 10px;
    display: grid;
    grid-template-columns: .8fr 2fr;
    align-items: center;
    box-sizing: border-box;
    }
header ul li {
    margin: 0;
    padding: 0;
    }
        
header ul li img {
    max-width: 80px;
    }

 header h1 {
    font-size: .8em;
    line-height: 1em;
    text-align: left;
    padding: 0;
    }
header h1 span {
    display: block;
    width: fit-content;
    margin: 0 0 5px 0;
    padding: 3px;
    }
                /* mv */
    #mv {
        display: none;
    }
    .mv_sp {
        display: block;
    width: 100%;
    height: auto;
    }


    /* contact */
    .contact {
    width: 100%;
    padding: 30px 0;
    text-align: center;
    background-color: #F4F4F4;
    }


.contact h2 {
    font-size: 1.6em;
        line-height: 1.5;
    margin: 0 0 40px 0;
    font-weight: bold;
    }
.contact h2 span {
    font-size: 1em;
    color: #e95513;
    }

.contact br {
    display: block;
    }

/* cv01 */
    .cv01 {
    width: 100%;
    padding: 50px 20px;
    text-align: center;
    background-color: #E95613;
        box-sizing: border-box;
    }

/* cv02 */
    .cv02 {
    width: 100%;
    margin: 0;
    padding: 30px 0;
    }

.cv02 h3 {
    color: #e95513;
    text-align: center;
    font-size: 1.8em;
    position: relative;
    margin: 0 0 60px 0;
}

.cv02 h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px;
  transform: translateX(-50%);
  width: 80px;
  height: 1px;
  background-color: #333;
}

.cv02 h4 {
    text-align: center;
    font-size: 1.2em;
    margin: 0 0 10px 0;
}

.cv02 ul {
    width: 80%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
    margin: 0 auto;
padding: 0;
}

.cv02 ul li {
    width: 100%;
margin: 0 0 30px;
padding: 20px 0;
list-style-type: none;
    border: 1px #e95513 solid;
}
.cv02 ul li img {
    max-width: 100%;
    margin: 0 0 10px 0;
}
.cv02 ul li p {
    text-align: left;
    font-size: 1em;
    line-height: 1.8em;
    padding: 0 15px;
}


/* cv03 */
    .cv03 {
    width: 100%;
    padding: 30px 0;
    text-align: center;
    }

.cv03 h3 {
    color: #fff;
    text-align: center;
    font-size: 1.6em;
    position: relative;
    margin: 0 0 40px 0;
}

.cv03 h4 {
    color: #fff;
    text-align: center;
    font-size: 1.2em;
    margin: 0 0 10px 0;
}


.cv03 ul {
width: 90%;
display: flex;
flex-wrap: wrap;
    justify-content: center;
  align-items: center;
margin: 0 auto;
padding: 0;
    gap: 0 2em;
}

.cv03 ul li {
    margin: 0 0 20px;
    padding: 0;
    text-align: left;
    list-style-type: none;
    box-sizing: border-box;
    line-height: 1.6em;
}

.cv03 ul li:nth-of-type(3) {
    border: 2px #fff solid;
    border-radius: 20px;
    padding: 30px 20px;
}

.cv03 ul li img {
    max-width: 100%;
    margin: 0;
}
        
.cv03 ul li:nth-of-type(2) {
    width: 100%;
    text-align: center;
}
        
.cv03 ul li:nth-of-type(2) img {
    width: 30%;
    margin: 0 auto;
}       

.cv03 ul li p {
    width: 100%;
    text-align: left;
    margin: 0 0 30px 0;
}

.cv03 ul li p:nth-last-child(1) {
    margin: 0;
}

.cv03 ul.check_box {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    margin: 0;
    padding: 15px;
    gap: 1em 0;
    background-color: #FFFFFF;
    border-radius: 20px;
    box-sizing: border-box;
}

.cv03 ul.check_box li {
    width: 100%;
    font-size: 1em;
    margin: 0 0 10px 0;
    padding: 0 0 10px 30px;
    position: relative;
    border-bottom: 1px #333 solid;
    text-align: left;
}

.cv03 ul.check_box li:nth-last-child(1) {
    border: none;
    margin: 0;
    padding: 0 0 0 30px;
}

.cv03 ul.check_box li:before {
content: url(../images/check.png);
width: 26px;
height: 29px;
position:absolute;
top:0;
left:0;
    transform: scale(0.7);
}
   
/* cv04 */
    .cv04 {
    width: 100%;
    margin: 0;
    padding: 30px 0;
    }

.cv04 h3 {
    color: #e95513;
    text-align: center;
    font-size: 1.8em;
    position: relative;
    margin: 0 0 60px 0;
}

.cv04 h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px;
  transform: translateX(-50%);
  width: 80px;
  height: 1px;
  background-color: #333;
}

.cv04 h4 {
    text-align: center;
    font-size: 1.2em;
    margin: 0 0 10px 0;
}

.cv04 ul {
    width: 80%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
    margin: 0 auto;
padding: 0;
}

.cv04 ul li {
    width: 100%;
margin: 0 0 30px;
padding: 20px 0;
list-style-type: none;
    border: 1px #e95513 solid;
}
.cv04 ul li img {
    max-width: 100%;
    margin: 0 0 10px 0;
}
.cv04 ul li p {
    text-align: left;
    font-size: 1em;
    line-height: 1.8em;
    padding: 0 15px;
}

/* cv05 */
    .cv05 {
    width: 100%;
    margin: 0;
    padding: 30px 0;
    background-color: #F4F4F4;
    }

.cv05 h3 {
    text-align: center;
    font-size: 1.8em;
    position: relative;
    margin: 0 0 30px 0;
}

.cv05 h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px;
  transform: translateX(-50%);
  width: 80px;
  height: 1px;
  background-color: #333;
}

.cv05 h4 {
    color: #e95513;
    text-align: center;
    font-size: 1.4em;
    margin: 0 0 0 0;
}

.cv05 h4 span {
    font-family: "Spinnaker", sans-serif;
    font-size: 2.6em;
    font-weight: 700;
    letter-spacing: -0.05em;
}

.cv05 p {
    text-align: center;
    font-size: 1.42em;
    font-weight: bold;
    line-height: 1.8em;
    margin: 0 0 30px 0;
    padding: 0;
}

.cv05 ul {
    width: 80%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto 40px;
    padding: 20px;
    gap: 1em 0;
    background-color: #FFFFFF;
    border-radius: 20px;
    box-sizing: border-box;
}

.cv05 ul li {
    width: 100%;
    font-size: 1em;
    margin: 0;
    padding: 0 0 0 35px;
    position: relative;
    list-style-type: none;
    box-sizing: border-box;
}

.cv05 ul li:nth-of-type(2n) {
margin: 0;
}

.cv05 ul li:before {
content: url(../images/check.png);
width: 26px;
height: 29px;
position:absolute;
top:0;
left:0;
    transform: scale(0.7);
}

/* cv06 */
    .cv06 {
    width: 100%;
    margin: 0;
    padding: 30px 0;
    }

.cv06 h3 {
    text-align: center;
    font-size: 1.2em;
    position: relative;
    margin: 0 0 100px 0;
}

.cv06 h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px;
  transform: translateX(-50%);
  width: 80px;
  height: 1px;
  background-color: #333;
}

.cv06 h4 {
    text-align: center;
    font-size: 1.8em;
    margin: 0 0 20px 0;
}

.cv06 ul {
    width: 80%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
    margin: 0 auto;
padding: 0;
}

.cv06 ul li {
    width: 100%;
margin: 0 0 80px;
padding: 0 15px 30px;
list-style-type: none;
    border: 2px #e95513 solid;
    border-radius: 20px;
    box-sizing: border-box;
    position: relative;
}
        
.cv06 ul li:nth-last-child(1) {
margin: 0;
}
        
.cv06 ul li .num img {
    width: 100%;
}

.cv06 ul li .num {
    max-width: 23%;
    position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
    backface-visibility: hidden;
}
        


.cv06 ul li p {
    margin: 40px 0 20px;
    padding: 0;
}

.cv06 .before {
    margin: 0 0 15px 0;
    padding: 15px;
    background-color: #F4F4F4;
}

.cv06 .before h5 {
    font-family: "Spinnaker", sans-serif;
    font-size: 1.3em;
    font-weight: 700;
    letter-spacing: -0.03em;
    margin: 0 0 10px 0;
}

.cv06 .before ul {
    width: 100%;
display: block;
    margin: 0;
padding: 0 0 0 1.5em;
    box-sizing: border-box;
}

.cv06 .before ul li {
    width: 100%;
    font-size: 1em;
    line-height: 1.8;
margin: 0;
padding: 0;
list-style-type: disc;
    border: none;
    box-sizing: border-box;
    position: static;
}

.cv06 .after {
    padding: 15px;
    background-color: #FDDDCE;
}

.cv06 .after h5 {
    font-family: "Spinnaker", sans-serif;
    font-size: 1.3em;
    font-weight: 700;
    letter-spacing: -0.03em;
    margin: 0 0 10px 0;
    color: #e95513;
}

.cv06 .after ul {
    width: 100%;
display: block;
    margin: 0;
padding: 0 0 0 1.5em;
    box-sizing: border-box;
}

.cv06 .after ul li {
    width: 100%;
    font-size: 1em;
    line-height: 1.8;
    margin: 0;
    padding: 0;
    list-style-type: disc;
    border: none;
    box-sizing: border-box;
    position: static;
    font-weight: bold;
}

.cv06 .after ul li span {
    color: #e95513;
}

/* cv07 */
.cv07 {
        width: 100%;
        background-image: url(../images/cv07_back.jpg);
        background-size: cover;
    }
.cv07 ul {
    width: 90%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
    margin: 0 auto;
padding: 30px 0;
}

.cv07 ul li {
    width: 100%;
    margin: 0 0 30px;
    padding: 0;
    list-style-type: none;
    box-sizing: border-box;
    text-align: center;
}
        
.cv07 ul li:nth-last-child(1) {
    margin: 0;
}
        
.cv07 ul li:nth-last-child(1) img {
    width: 50%;
}

/* cv08 */
    .cv08 {
    width: 100%;
    margin: 0;
    padding: 30px 0;
    background-color: #F4F4F4;
    }

.cv08 h3 {
    text-align: center;
    font-size: 1.2em;
    position: relative;
    margin: 0 0 60px 0;
}

.cv08 h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px;
  transform: translateX(-50%);
  width: 80px;
  height: 1px;
  background-color: #333;
}

.cv08 h4 {
    text-align: center;
    font-size: 1.8em;
    margin: 0 0 20px 0;
}

.cv08 dl {
    width: 90%;
    margin: 0 auto;
padding: 0;
}

.cv08 dl dt {
    width: 100%;
    font-size: 1.2em;
    font-weight: bold;
    margin: 0 0 20px 0;
    padding: 5px 0 0 60px;
    position: relative;
}

.cv08 dl dt:before {
content: url(../images/cv08_q.png);
width: 47px;
height: 43px;
position:absolute;
top:0;
left:0;
    transform: scale(0.7);
}

.cv08 dl dd {
    width: 100%;
    font-size: 1em;
    margin: 0 0 30px 0;
    padding: 5px 0 0 60px;
    position: relative;
}

.cv08 dl dd:before {
content: url(../images/cv08_a.png);
width: 47px;
height: 43px;
position:absolute;
top:0;
left:0;
    transform: scale(0.7);
}

/* 共通 */
    .midashi {
    margin: 0 0 30px 0;
    padding: 30px 0 20px 0;
    background-color: #8ECCD9;
    }
.midashi h2 {
    font-size: 1.6em;
    line-height: 1.5em;
    color: #FFFFFF;
    margin: 0 0 30px 0;
    font-weight: bold;
    }
.midashi br {
    display: block;
    }
.in_box {
    width: 90%;
    margin: 0 auto;
    }
        
.btn {
    width: 80%;
    }

        /* form */
        #form {
        width: 100%;
        margin: 0 auto;
        padding: 30px 0;
    }

#form h3 {
    text-align: center;
    font-size: 1.8em;
    position: relative;
    margin: 0 0 60px 0;
}

#form h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px;
  transform: translateX(-50%);
  width: 80px;
  height: 1px;
  background-color: #333;
}

    #form p {
    font-size: 1em;
    margin: 0 0 40px 0;
    text-align: center;
    }

        #form table {
            width: 90%;
            margin: 0 auto 15px;
        }

        #form table th {
            padding: 10px;
            box-sizing: border-box;
        }

        #form table th h5 {
    font-size: 1.1em;
    margin: 0;
}

#form table th p {
    display: grid;
  place-items: center;
    width: fit-content;
    font-size: .7em;
    color: #fff;
    margin: 0;
    padding: 0 15px;
    background-color: #E95613;
}

        #form table td {
            padding: 0 10px 10px;
            box-sizing: border-box;
        }

        #form table td input[type="text"] {
            font-size: 16px;
            padding: 10px;
            border-radius: 5px;
        }

        #form table td select {
            font-size: 12px;
            padding: 5px;
        }

        #form table td textarea {
            font-size: 12px;
            padding: 5px;
        }

        .custom-checkbox {
            display: inline-block;
            padding-right: 15px;
            padding-bottom: 5px;
        }

        .custom-checkbox input[type="checkbox"] {
            transform: scale(1.5);
            /* チェックボックスの大きさを調整 */
            margin-right: 5px;
            /* チェックボックスとテキストの間隔を調整 */
            background: #fff;
        }

        .custom-radio {
            position: relative;
            padding-left: 15px;
            padding-right: 15px;
            padding-bottom: 5px;
            /* マークの左側に余白を設定 */
            cursor: pointer;
            display: inline-block;
            vertical-align: top;
        }

        .custom-radio input {
            position: absolute;
            opacity: 0;
            cursor: pointer;
        }

        .checkmark {
            position: absolute;
            top: 5px;
            left: 0;
            height: 9px;
            /* マークの大きさを指定 */
            width: 9px;
            /* マークの大きさを指定 */
            border: 1px solid #ccc;
            /* マークの境界線のスタイルを指定 */
            border-radius: 50%;
            /* マークを円形にする */
            background: #fff;
            /* マークの背景色を指定 */
            padding: 1px;
        }

        .custom-radio input:checked~.checkmark {
            background-color: #69a2d3;
            /* マークの塗りつぶし色を指定 */
        }

        #contact_btn button {
            width: 300px;
            line-height: 60px;
            text-align: center;
            color: #fff;
            background: #483231;
            border-radius: 30px;
            font-size: 16px;
            border: none;
            font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
            cursor: pointer;
        }


        #form .button_box {
    width: 70%;
    text-align: center;
    margin: 0 auto;
    border: none;
}
        
    #form .pp_box {
    width: 100%;
    margin: 0 0 10px;
    padding: 10px 20px 0;
    height: 260px;
}

#form .pp_box h3 {
    font-size: 1em;
    margin: 0 0 10px 0;
}

#form .pp_box h4 {
    font-size: 1em;
    margin: 0 0 10px 0;
}

#form .pp_box p {
    font-size: .9em;
    line-height: 1.6em;
    margin: 0 0 20px 0;
}
        
.floating-banner {
    position: fixed;
    bottom: 10px;
    right: 50%;
    width: 200px;
    padding: 15px;
    background-color: #19A80B;
    color: white;
    text-align: center;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateX(50%) translateY(20px);
    transition: all 0.4s ease;
    }
        
    .is-visible {
      opacity: 1;
      visibility: visible;
      transform: translateX(50%) translateY(0);
    }

    /* 3. 消したい時のクラス（フッター到達時） */
    .is-hidden {
      opacity: 0;
      visibility: hidden;
      pointer-events: none; /* クリックできないようにする */
    }
        
        /* footer */
    footer {
        padding: 10px 0 0;
        text-align: center;
    }
        
    footer img {
        width: 20%;
    }
    footer p {
margin: 5px 0;
    }
footer p a {
    font-size: .9em;
    color: #333333;
    font-weight: bold;
    }

footer .copyright {
    width: 100%;
    margin: 0;
    padding: 5px 0;
    text-align: center;
    font-size: .7em;
    background-color: #000000;
    color: #FFFFFF;
    }

}
