 body,
 html {
     font-family: 'Noto Sans JP';
     font-size: 62.5%;
     color: #333333;

 }

 #header {
     display: flex;
     justify-content: space-between;
     align-items: center;
position: fixed;
width: 100%;
z-index: 10000;
background-color: #ffffff;
 }

 #header h1 {
     max-width: 139px;
     width: 20%;
     margin-left: 43px;
 }

 #header nav ul {
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 #header nav ul li a {
     font-size: 1.6rem;
     font-weight: 500;
     color: #000000;
     text-decoration: none;
     padding: 0 25px;
     line-height: 1;
 }

 #header nav ul li:last-child a {
     color: #ffffff;
     display: block;
     padding: 40px 30px;
     margin-left: 40px;
     background-color: #68C3C5;
 }

 #header nav ul li:last-child a:before {
     content: "";
     width: 22px;
     height: 17px;
     background: url(../img/mail_icon.svg);
     background-position: center;
     background-repeat: no-repeat;
     background-size: cover;
     display: inline-block;
     margin-right: 10px;
     vertical-align: middle;
     top: -1px;
     position: relative;
 }

 .t01 {
     position: relative;
     padding-top: 98px;
 }
 .t01 .slider {
    margin-inline: auto;
    overflow: hidden; /* 画像がはみ出ないようにする */
  }
  #t01 div img {
    width: 100%;
  }
  @keyframes zoomUp {
    0% {
      transform: scale(1);
    }
    100% {
      transform: scale(1.15); /* 拡大率 */
    }
  }
  .add-animation {
    animation: zoomUp 10s linear 0s normal both;
  }

 .inner {
     position: absolute;
     top: 53%;
     left: 50%;
     transform: translate(-50%, -50%);
     -webkit-transform: translate(-50%, -50%);
     -ms-transform: translate(-50%, -50%);
     width: 40%;
 }

 section h2 {
     font-size: 2.0rem;
     font-weight: 500;
     line-height: 1.75;
     color: #68C3C5;
     text-align: center;
     margin-bottom: -1px;
     font-feature-settings: “palt”;
 }

 section aside {
     font-size: 2.8rem;
     font-weight: 500;
     line-height: 1.5;
     text-align: center;
     margin-bottom: 10px;
     letter-spacing: 0.04em;
     font-feature-settings: “palt”;
 }

 section p {
     font-size: 1.6rem;
     font-weight: 400;
     line-height: 1.75;
 }

 #features {
     padding: 57px 0 0px;
 }

 #features p {
     text-align: center;
     margin-bottom: 78px;
 }

 #services {
     background: repeating-linear-gradient(-45deg, #EAF6F7, #EAF6F7 10px, #DCEDED 0, #DCEDED 20px);
     padding: 91px 0 68px;
 }

 #services .work_list {
     margin: 65px auto 55px;
     width: 77.8%;
     max-width: 1150px;
     display: flex;
     justify-content: space-between;
 }

 #services .work_list>li {
     width: 31.3%;
     background-color: #ffffff;
     padding: 53px 0px 41px;
     position: relative;
 }

 #services .work_list>li .number {
     position: absolute;
     width: 16%;
     top: -2.5%;
     left: 6%;
 }
#services .work_type{
    margin-left: 7px;
    width: calc(100% + 7px);
}
 #services .work_list>li .work_inner {
     width: 70%;
     margin: 0 auto;
 }

 #services .work_list>li .work_inner figure {
     margin-bottom: 17px;
 }

 #services .work_list>li .work_inner ul li {
     font-size: 1.6rem;
     font-weight: 400;
     line-height: 1.5;
     list-style-type: disc;
     color: #333333;
 }
 #services .work_list>li:last-child .work_inner ul li:nth-child(6) {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    list-style-type: none;
    color: #333333;
    margin-top: 10px;
}
#services .work_list>li:last-child .work_inner ul li:last-child {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    list-style-type: none;
    color: #333333;
}
 #services .work_list>li .work_inner ul p {
     text-align: right;
 }

 #services .work_list .work_img {
     margin-top: 25px;
 }

 #services .work_img_container {
     width: 61.9%;
     max-width: 897px;
     margin: 0 auto;
     display: flex;
     justify-content: space-between;
 }

 #services .work_img_container figure {
     width: 32.4%;
 }

 #services .number04 {
     text-align: center;
     font-size: 3.2rem;
     font-weight: 500;
     letter-spacing: 0.04em;
     margin-top: 30px;
     margin-bottom: 60px;
 }

 #services .number04:before {
     content: "";
     width: 57px;
     height: 48px;
     background: url(../img/n04.svg);
     background-position: center;
     background-repeat: no-repeat;
     background-size: cover;
     display: inline-block;
     margin-right: 10px;
     vertical-align: middle;
     top: -5px;
     position: relative;
 }

 #services .banner {
    width: 77.8%;
    max-width: 1150px;
    margin: 0 auto;
     display: flex;
     justify-content: space-between;
 }

 #services .banner a {
     width: 32.4%;
 }

 #services .banner_txt {
     text-align: center;
     font-weight: 500;
     font-size: 2.2rem;
     line-height: 1.63;
     margin-top: 11px;
 }

 #contact_unit {
     background: url(../img/contact_unit_back.jpg);
     background-position: center;
     background-repeat: no-repeat;
     background-size: cover;
     padding: 85px 0 97px;
 }

 #contact_unit .contact_btn {
     width: 37.7%;
     margin: 0 auto;
 }

 #greeting {
     padding: 75px 0 107px;
 }

 #greeting .box {
     padding: 15px 0;
     width: 61.9%;
     max-width: 897px;
     margin: 0 auto;
 }


 #greeting .flex_box {
     display: flex;
     justify-content: space-between;
     width: 100%;
     margin: 0 auto;
     padding: 0px 0 0px;
 }

 #greeting .flex_left {
     width: 28.3%;
 }
 .flex_left p{
    width: 100%;
 }
 #greeting .flex_left figure{
width: 100%;
text-align: center;
}
#greeting .flex_left figure img{
    width: 80.8%;
    display: block;
    margin: 0 auto;
    }
 #greeting .flex_right .greeting_name {
     font-size: 1.6rem;
     line-height: 1.75;
     font-weight: 500;
     text-align: right;
     margin-top: 10px;
 }

 #greeting .flex_right .name {
     font-size: 2.0rem;
     line-height: 1.75;

 }

 #greeting .flex_right {
     width: 100%;
     padding-right: 0;
 }

 #company-overview {
     padding: 70px 0 145px;
     background: repeating-linear-gradient(-45deg, #BDBFC0, #BDBFC0 10px, #C8C8C8 0px, #C8C8C8 20px);
 }

 #company-overview h2 {
     color: #ffffff;
     font-size: 2.8rem;
     letter-spacing: 0.04em;
     line-height: 1.5;
     margin-bottom: 60px;
 }

 #company-overview h2 .en {
     display: block;
     font-size: 2.0rem;
     font-weight: 500;
 }

 #company-overview table {
    width: 61.9%;
    max-width: 897px;
    margin: 0 auto;
     border-collapse: separate;
     border-spacing: 0px 13px;
 }

 #company-overview table tr {
     background-color: #ffffff;
     margin-bottom: 10px;

 }

 #company-overview table th {
     font-size: 1.6rem;
     font-weight: 500;
     line-height: 1.5;
     text-align: left;
     width: 170px;
     padding: 8px 20px 8px 28px;
 }

 #company-overview table td {
     font-size: 1.6rem;
     font-weight: 400;
     line-height: 1.5;
     text-align: left;
     padding-right: 10px;
          padding: 8px 10px 8px 0px;
 }

 #map .gmap {
     width: 100%;
     height: 488px;
 }

 #map .gmap iframe {
     width: 100%;
     height: 100%;
 }

 #contact {
     padding: 70px 0 78px;
     background: repeating-linear-gradient(-45deg, #EFF2F4, #EFF2F4 10px, #ffffff 0px, #ffffff 20px);
 }

 #contact h2 {
     color: #333333;
     font-size: 2.8rem;
     letter-spacing: 0.04em;
     line-height: 1.5;
     margin-bottom: 65px;
 }

 #contact h2 .en {
     color: #68C3C5;
     display: block;
     font-size: 2.0rem;
     font-weight: 500;
 }

 #contact .contact_box {
     background-color: #ffffff;
     width: 77.8%;
     max-width: 1150px;
     margin: 0 auto;
     padding: 52px 0;
 }
 #contact .contact_box h3{
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 20px;
 }
 #contact table {
     margin: 0 auto;
     width: 80%;
     border-collapse: collapse;
 }

 #contact table tr:nth-child(1) {
     border-top: 1px dashed #000000;
 }

 #contact table tr {
     background-color: #ffffff;
     margin-bottom: 15px;
     border-bottom: 1px dashed #000000;
 }

 #contact table tr:last-child td {
     padding-top: 8px;
     padding-bottom:8px;
 }

 #contact table th {
     font-size: 1.6rem;
     font-weight: 500;
     line-height: 1.75;
     text-align: left;
     background-color: rgba(173, 188, 196, 0.4);
     padding: 13.5px 30px 13.5px 22px;
     vertical-align: baseline;
     width: 31.3%;
     min-width: 289px;
     position: relative;
 }

 .required:after {
     position: absolute;
     top: 50%;
     transform: translate(0, -50%);
     -webkit-transform: translate(0, -50%);
     -ms-transform: translate(0, -50%);
     right: 34px;
     width: 64px;
     height: 24px;
     content: "";
     background: url(../img/required.svg);
     background-position: center;
     background-repeat: no-repeat;
     background-size: cover;
 }

 .required_bottom:after {
     position: absolute;
     top: 15%;
     transform: translate(0, -50%);
     -webkit-transform: translate(0, -50%);
     -ms-transform: translate(0, -50%);
     right: 34px;
     width: 64px;
     height: 24px;
     content: "";
     background: url(../img/required.svg);
     background-position: center;
     background-repeat: no-repeat;
     background-size: cover;
 }

 #contact table td {
     font-size: 1.6rem;
     font-weight: 400;
     line-height: 1.75;
     text-align: left;
     padding-left: 30px;
 }

 #contact table td input[type="text"] {
     width: 53.3%;
     font-size: 1.6rem;
     line-height: 2.2;
     padding-left: 15px;
 }

 #contact table td .select {
     font-size: 1.6rem;
     line-height: 2.2;
     padding: 7px;
 }

 #contact table tr:nth-child(3) td input[type="text"] {
     width: 30%;
 }

 #contact table tr:nth-child(5) td input[type="text"] {
     width: 30%;
 }

 #contact table tr:nth-child(4) td input[type="text"] {
     width: 43.3%;
 }

 #contact table tr:nth-child(6) td input[type="text"] {
     width: 89.6%;
 }

 #contact table td textarea {
     width: 98% !important;
     font-size: 1.6rem;
     line-height: 1.5;
     padding:0 15px;
 }

 .policy_agree {
     display: flex;
     justify-content: center;
     margin-top: 80px;
 }

 .policy_agree label {
     font-size: 1.4rem;
     font-weight: 500;
     margin-left: 5px;
 }
 .policy_agree .button {
    font-size: 1.4rem;
    font-weight: 500;
    color: #333;
}
 .submit {
    display: block;
     width: 28.2%;
     margin: 20px auto 0;
     
 }
.confirm_btn{
    margin: 80px auto 0;
}
 #banner .banner {
    width: 77.8%;
    max-width: 1150px;
    margin: 0 auto;
     display: flex;
     justify-content: space-between;
     padding: 45px 0;
 }

 #banner .banner a {
     width: 32.4%;
 }

 #footer {
     padding: 22px 0 10px;
     background: #68C3C5;
 }

 #footer small {
     display: block;
     text-align: center;
     width: 100%;
     margin-top: 18px;
     font-size: 1.2rem;
     font-weight: 400;
     color: #fff;
 }

 #footer .flex_box {
     display: flex;
     justify-content: space-between;
     width: 80%;
     max-width: 1180px;
     margin: 0 auto;
 }

 #footer .flex_box .flex_left {
     width: 50%;
 }

 #footer .flex_box .flex_right {
     width: 50%;
     padding-right: 2.5%;
 }

 #footer .flex_box .footer_logo {
    display: block;
    max-width: 151.5px;
    width: 25.7%;
    margin-bottom: 20px;
 }


 #footer .company {
     color: #fff;
     font-size: 1.4rem;
     font-weight: 400;
 }

 #footer .company_name {
     font-weight: 500;
 }

 #footer .footer_contact {
     display: block;
     max-width: 240px;
     width: 43%;
     margin-left: auto;
 }

 #footer .footer_link {
     display: block;
     display: flex;
     justify-content: flex-end;
     margin-left: auto;
     margin-top: 20px;
 }

 #footer .footer_link li a {
     font-size: 1.4rem;
     font-weight: 500;
     color: #fff;
     text-decoration: none;
     border-left: 1px solid #fff;
     padding-left: 5px;
     padding-right: 5px;
     line-height: 1;
     text-align: center;
 }

 #footer .footer_link li:last-child a {
     border-right: 1px solid #fff;
 }

 /* modal */
 .modalScroll,
 .ScrollContent {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
 }

 .modal {
     display: none;
     height: 100vh;
     position: fixed;
     top: 0;
     width: 100%;
 }

 .modal_bg {
     background: rgba(0, 0, 0, 0.32);
     height: 100vh;
     position: absolute;
     width: 100%;
 }

 .js-modal-close {
     color: #555;
 }

 .modalScroll {
     background: #fff;
     height: 80vh;
     width: 80%;
     max-height: 800px;
     padding: 20px;
     border-radius: 20px;
 }

 .ScrollContent {
     overflow-y: scroll;
     height: 90%;
     width: 89%;
     border-radius: 20px;
 }

 ::-webkit-scrollbar {
     border-radius: 10px;
     width: 10px;
 }

 ::-webkit-scrollbar-thumb {
     background-color: #b6b6b6;
     border-radius: 10px;
 }

 .modal_content {
     text-align: center;
     padding-top: 20px;
     padding: 20px 15px 60px;
 }

 .modal_content h2 {
     font-size: 2.0rem;
     font-weight: 500;
     line-height: 1.75;
     color: #68C3C5;
     text-align: center;
     margin-bottom: 20px;
 }

 .modal_content h3 {
     text-align: center;
     font-size: 1.6rem;
     line-height: 1.75;
     font-weight: 500;
     color: #333333;
     text-align: left;
     margin-top: 25px;
 }


 .modal_content p {
     font-size: 1.6rem;
     line-height: 1.75;
     font-weight: 400;
     color: #333333;
     text-align: left;
 }

 .modal_content ul {
     margin: 10px 0;
 }

 .modal_content li {
     font-size: 1.6rem;
     font-weight: 400;
     line-height: 1.75;
     color: #333333;
     text-align: left;

 }

 .js-modal-close {
     color: #68C3C5;
     font-size: 1.6rem;
     font-weight: 400;
     line-height: 1.75;
     padding-top: 40px;
     display: block;
 }
 @media screen and (min-width: 769px) {
     .pc_only {
         display: block;
     }

     .sp_only {
         display: none !important;
     }

     .openbtn1 {
         display: none;
     }

     #g-nav {
         display: none;
     }
     .icon{
        display: none;
     }
 }

 @media screen and (max-width: 768px) {
     .pc_only {
         display: none !important;
     }

     .sp_only {
         display: block;
     }
     .icon{
        position: absolute;
        right: 69px;
        display: flex;
        justify-content: center;
        width: 84px;
     }
     .icon a{
display: block;
width: 37px;
margin-right: auto;
     }
     .icon_nav{
        display: flex;
        justify-content: center;
        width: 84px;
        margin: 40px auto 0;
     }
     .icon_nav a{
        display: block;
        width: 37px;
        margin-right: auto;
             }
     #header {
         padding: 15px;
         position: fixed;
         width: 100%;
         z-index: 10000;
         background-color: #ffffff;
         z-index: 2000;
         background-color: #fff;
     }

     #header h1 {
         margin: 0;
         width: 29.3%;
     }

     #g-nav {
         /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
         position: fixed;
         z-index: 999;
         /*ナビのスタート位置と形状*/
         top: 0;
         right: -120%;
         width: 49.6%;
         height: 100vh;
         /*ナビの高さ*/
         background: #68C3C5;
         /*動き*/
         transition: all 0.6s;
     }

     /*アクティブクラスがついたら位置を0に*/
     #g-nav.panelactive {
         right: 0;
     }

     /*ナビゲーションの縦スクロール*/
     #g-nav.panelactive #g-nav-list {
         /*ナビの数が増えた場合縦スクロール*/
         position: fixed;
         z-index: 999;
         width: 49.6%;
         height: 100vh;
         /*表示する高さ*/
         overflow: auto;
         -webkit-overflow-scrolling: touch;
     }

     /*ナビゲーション*/
     #g-nav ul {
         /*ナビゲーション天地中央揃え*/
         position: relative;
         padding: 85px 8.6% 0;
     }

     /*リストのレイアウト設定*/

     #g-nav li {
         list-style: none;
     }

     #g-nav li a {
         color: #333;
         text-decoration: none;
         padding: 10px;
         text-align: left;
         display: block;
         text-transform: uppercase;
         color: #fff;
         font-size: 1.4rem;
         font-weight: 500;
         position: relative;

     }

     #g-nav li a:after {
         content: "";
         background: url(../img/slide_icon.svg);
         background-repeat: no-repeat;
         background-position: center;
         background-size: cover;
         width: 9px;
         height: 5px;
         position: absolute;
         right: 0;
         top: 50%;
         transform: translate(-50%, -50%);
         -webkit-transform: translate(-50%, -50%);
         -ms-transform: translate(-50%, -50%);
     }

     /*========= ボタンのためのCSS ===============*/
     .openbtn1 {
         position: absolute;
         z-index: 9999;
         top: 5px;
         right: 5px;
         cursor: pointer;
         width: 50px;
         height: 50px;
     }

     /*×に変化*/
     .openbtn1 span {
         display: inline-block;
         transition: all .4s;
         position: absolute;
         left: 14px;
         height: 3px;
         border-radius: 2px;
         background-color: #68C3C5;
         width: 45%;
     }

     .openbtn1 span:nth-of-type(1) {
         top: 15px;
     }

     .openbtn1 span:nth-of-type(2) {
         top: 23px;
     }

     .openbtn1 span:nth-of-type(3) {
         top: 31px;
     }

     .openbtn1.active span:nth-of-type(1) {
         top: 18px;
         left: 18px;
         transform: translateY(6px) rotate(-45deg);
         width: 45%;
     }

     .openbtn1.active span:nth-of-type(2) {
         opacity: 0;
     }

     .openbtn1.active span:nth-of-type(3) {
         top: 30px;
         left: 18px;
         transform: translateY(-6px) rotate(45deg);
         width: 45%;
     }
.t01{
    padding-top: 62px;
}
     .inner {
         position: absolute;
         top: 43%;
         left: 50%;
         transform: translate(-50%, -50%);
         -webkit-transform: translate(-50%, -50%);
         -ms-transform: translate(-50%, -50%);
         width: 77%;
     }

     #features {
         padding: 40px 0 0px;
     }

     #features p {
         text-align: left;
         margin-bottom: 45px;
         font-size: 1.4rem;
     }

     section h2 {
         font-size: 1.6rem;
         font-weight: 500;
         line-height: 1.75;
         color: #68C3C5;
         text-align: center;
         margin-bottom: 10px;

     }

     section aside {
         font-size: 2.2rem;
         font-weight: 500;
         line-height: 1.27;
         text-align: center;
         margin-bottom: 15px;
         letter-spacing: 0.04em;
     }

     section p {
         font-size: 1.6rem;
         font-weight: 400;
         line-height: 1.75;
         width: 90.6%;
         margin: 0 auto;
         text-align: left;
     }

     #services {
         background: repeating-linear-gradient(-45deg, #EAF6F7, #EAF6F7 7px, #DCEDED 0, #DCEDED 14px);
         padding: 50px 0 45px;
     }

     #services .work_list {
         margin: 55px auto 10px;
         width: 90.6%;
         display: flex;
         flex-direction: column;
         justify-content: space-between;
         max-width: 1147px;
     }

     #services .work_list>li {
         width: 100%;
         background-color: #ffffff;
         padding: 30px 0px;
         position: relative;
         margin-bottom: 25px;
     }

     #services .work_list>li .number {
         position: absolute;
         width: 13.8%;
         top: -2%;
         left: 8%;
     }

     #services .work_list>li .work_inner {
         width: 77%;
         margin: 0 auto;
     }

     #services .work_list>li .work_inner figure {
         width: 78%;
         margin: 0 auto 0px;
     }

     #services .work_list>li:nth-child(2) .work_inner figure {
         width: 78%;
         margin: 0 auto 20px;
     }

     #services .work_list>li .work_inner ul li {
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1.5;
        list-style-type: disc;
        color: #333333;
     }
     #services .work_list>li:last-child .work_inner ul li:nth-child(6) {
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1.5;
        list-style-type: none;
        color: #333333;
        margin-top: 6px;
    }
    #services .work_list>li:last-child .work_inner ul li:last-child {
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1.5;
        color: #333333;
        margin-top: 6px;
    }
     #services .work_list>li .work_inner ul p {
         text-align: right;
         font-size: 1.4rem;
         font-weight: 400;
     }

     #services .work_list .work_img {
         margin-top: 25px !important;
         width: 100% !important;
     }

     #services .work_img_container {
         width: 77.86%;
         max-width: 897px;
         margin: 0 auto;
         display: flex;
         justify-content: space-between;
         flex-direction: column;
         flex-wrap: wrap;
     }

     #services .work_img_container figure {
         width: 100%;
         margin-bottom: 10px;
     }

     #services .number04 {
         width: 77.86%;
         text-align: left;
         font-size: 2.08rem;
         line-height: 1.25;
         font-weight: 500;
         letter-spacing: 0.04em;
         margin-top: 30px;
         margin-bottom: 40px;
         display: flex;
         align-items: center;
     }

     #services .number04:before {
         content: "";
         width:75px;
         height: 48px;
         background: url(../img/n04.svg);
         background-position: center;
         background-repeat: no-repeat;
         background-size: cover;
         display: inline-block;
         margin-right: 10px;
         vertical-align: middle;
         top: -5px;
         position: relative;
     }

     #services .banner {
         width: 77.86%;
         display: flex;
         justify-content: space-between;
         flex-direction: column;
         flex-wrap: wrap;
         max-width: 1147px;
         margin: 0 auto;
     }

     #services .banner a {
         width: 100%;
         margin-bottom: 15px;
     }

     #services .banner_txt {
         text-align: center;
         font-weight: 500;
         font-size: 1.8rem;
         line-height: 1.5;
         margin-top: 10px;
         letter-spacing: 0em;
         width: 100%;
     }

     #contact_unit {
         background: url(../img/contact_unit_back_sp.jpg);
         background-position: center;
         background-repeat: no-repeat;
         background-size: cover;
         padding: 60px 0 70px;
     }

     #contact_unit .contact_btn {
         width: 90.4%;
         margin: 0 auto;
     }

     #greeting {
         padding: 50px 0 80px;
     }

     #greeting .box {
         width: 90.6%;
         margin: 0px auto 0;
         padding: 0;
     }

     #greeting .box_inner {
         background-color: white;
     }

     #greeting .flex_box {
         display: flex;
         justify-content: center;
         flex-direction: column;
         align-items: center;
         width: 100%;
         margin: 0 auto;
         padding: 0px 0 0px;
     }

     #greeting .flex_left {
         width: 60%;
     }

     #greeting .flex_left p {
         font-size: 1.4rem;
         line-height: 1.75;
         font-weight: 500;
         text-align: center;
         margin-top: 5px;
     }

     #greeting .flex_left .name {
         font-size: 1.6rem;
         line-height: 1.75;

     }

     #greeting .flex_right {
         margin-top: 0px;
         width: 100%;
     }

     #greeting .flex_right p {
         font-size: 1.4rem;
         width: 100%;
     }
     #greeting .flex_right .greeting_name{
        font-size: 1.4rem;
     }
     #greeting .flex_right .name {
        font-size: 1.6rem;
        line-height: 1.75;

    }

     #company-overview {
         padding: 50px 0 65px;
         background: repeating-linear-gradient(-45deg, #BDBFC0, #BDBFC0 7px, #C8C8C8 0px, #C8C8C8 14px);
     }

     #company-overview h2 {
         color: #ffffff;
         font-size: 2.24rem;
         letter-spacing: 0.04em;
         line-height: 1.5;
         margin-bottom: 10px;
     }

     #company-overview h2 .en {
         display: block;
         font-size: 1.6rem;
         font-weight: 500;
     }

     #company-overview table {
         width: 90.6%;
         margin: 0 auto;
         border-collapse: separate;
         border-spacing: 0px 15px;
     }

     #company-overview table tr {
         background-color: #ffffff;
         margin-bottom: 10px;

     }

     #company-overview table th {
        width: 112px;
         font-size: 1.4rem;
         font-weight: 500;
         line-height: 1.5;
         text-align: left;
         vertical-align: text-top;
         padding: 7px 10px 7px 10px;
     }

     #company-overview table td {
         font-size: 1.4rem;
         font-weight: 400;
         line-height: 1.5;
         text-align: left;
                  padding: 7px 10px 7px 0px;
     }

     #map .gmap {
         width: 100%;
         height: 390px;
     }

     #map .gmap iframe {
         width: 100%;
         height: 100%;
     }

     #contact {
         padding: 45px 0 78px;
         background: repeating-linear-gradient(-45deg, #EFF2F4, #EFF2F4 7px, #ffffff 0px, #ffffff 14px);
     }

     #contact h2 {
         color: #333333;
         font-size: 2.2rem;
         font-weight: 500;
         letter-spacing: 0.04em;
         line-height: 1.5;
         margin-bottom: 25px;
     }

     #contact h2 .en {
         color: #68C3C5;
         display: block;
         font-size: 1.6rem;
         font-weight: 500;
     }

     #contact .contact_box {
         background-color: #ffffff;
         width: 90.66%;
         margin: 0 auto;
         padding: 25px 18px 55px;
     }
     #contact .contact_box h3{
        font-size: 1.6rem;
        font-weight: 500;
        text-align: center;
        margin-bottom: 20px;
     }
     #contact table {
         margin: 0 auto;
         width: 100%;
         border-collapse: collapse;
     }

     #contact table tr:nth-child(1) {
         border-top: 1px dashed #000000;
     }

     #contact table tr {
         background-color: rgba(173, 188, 196, 0.4);
         border-bottom: 1px dashed #000000;
         display: flex;
         flex-direction: column;
         margin: 0;
         padding: 4px 0;
     }

     #contact table tr:last-child {
         padding-bottom: 0px;
     }

     #contact table tr:last-child td {
         padding-top: 0px;
     }

     #contact table th {

         font-size: 1.4rem;
         font-weight: 500;
         line-height: 1.75;
         text-align: left;
         background-color: unset;
         padding: 0 0 6px 0;
         vertical-align: baseline;
         width: 88.1%;
         min-width: unset;
         margin: 0 auto;
         position: relative;
     }

     .required:after {
         position: absolute;
         top: 50%;
         transform: translate(0, -50%);
         -webkit-transform: translate(0, -50%);
         -ms-transform: translate(0, -50%);
         right: 0;
         width: 51px;
         height: 20px;
         content: "";
         background: url(../img/required.svg);
         background-position: center;
         background-repeat: no-repeat;
         background-size: cover;
     }

     .required_bottom:after {
         position: absolute;
         top: 50%;
         transform: translate(0, -50%);
         -webkit-transform: translate(0, -50%);
         -ms-transform: translate(0, -50%);
         right: 0;
         width: 51px;
         height: 20px;
         content: "";
         background: url(../img/required.svg);
         background-position: center;
         background-repeat: no-repeat;
         background-size: cover;
     }

     #contact table td {
        font-size: 1.4rem;
         font-weight: 400;
         line-height: 1.75;
         text-align: left;
         padding: 0;
         width: 88.1%;
         min-width: unset;
         margin: 0 auto;
     }

     #contact table td input[type="text"] {
         width: 100%;
         font-size: 1.4rem;
         line-height: 2.2;
         padding:0 15px;
     }

     #contact table td .select {
        font-size: 1.4rem;
         line-height: 2.2;
         padding: 7px;
     }

     #contact table tr:nth-child(3) td input[type="text"] {
         width: 30%;
     }

     #contact table tr:nth-child(5) td input[type="text"] {
         width: 30%;
     }

     #contact table tr:nth-child(4) td input[type="text"] {
         width: 43.3%;
     }

     #contact table tr:nth-child(6) td input[type="text"] {
         width: 89.6%;
     }

     #contact table td textarea {
         width:100% !important;
         font-size: 1.6rem;
         line-height:1.5;
         padding:0 10px;
     }

     .policy_agree {
         display: flex;
         justify-content: center;
         margin-top: 45px;
     }

     .policy_agree label {
         font-size: 1.4rem;
         font-weight: 500;
         margin-left: 5px;
     }

     .submit {
         width: 85.2%;
         margin: 15px auto 0;
     }
     .confirm_btn{
        margin: 45px auto 0;
    }
     #banner .banner {
         width: 77.86%;
         max-width: 897px;
         margin: 0 auto;
         display: flex;
         justify-content: space-between;
         flex-direction: column;
         flex-wrap: wrap;
     }

     #banner .banner a {
         width: 100%;
         margin-bottom: 10px;
     }

     #footer {
         padding: 35px 0 30px;
         background: #68C3C5;
     }

     #footer small {
         display: block;
         text-align: center;
         width: 100%;
         margin-top: 25px;
         font-size: 1.28rem;
         font-weight: 400;
         color: #fff;
     }

     #footer .flex_box {
         display: flex;
         justify-content: center;
         flex-wrap: wrap;
         flex-direction: column-reverse;
         width: 100%;
         max-width: 1180px;
         margin: 0 auto;
     }

     #footer .flex_box .flex_left {
         width: 100%;
         margin-top: 30px;
     }

     #footer .flex_box .flex_right {
         width: 100%;
         padding-right: 0;
     }

     #footer .flex_box .footer_logo {
         display: block;
         max-width: unset;
         width: 29.6%;
         margin: 0 auto 10px;
     }


     #footer .company {
         color: #fff;
         font-size: 1.4rem;
         font-weight: 400;
         text-align: center;
     }

     #footer .company_name {
         font-weight: 500;
         display: block;
         text-align: center;
     }

     #footer .footer_contact {
         display: block;
         max-width: 240px;
         width: 51.2%;
         margin: 0 auto 10px;
     }

     #footer .footer_link {
         display: block;
         display: flex;
         flex-wrap: wrap;
         justify-content: center;
         margin-left: auto;
         margin-top: 10px;
     }

     #footer .footer_link li {
         margin-top: 18px;
     }

     #footer .footer_link li a {
         font-size: 1.4rem;
         font-weight: 500;
         color: #fff;
         text-decoration: none;
         border-left: 1px solid #fff;
         padding-left: 5px;
         padding-right: 5px;
         line-height: 1;
         text-align: center;

     }

     #footer .footer_link li:last-child a {
         border-right: 1px solid #fff;
     }

 /* modal */
 .modalScroll,
 .ScrollContent {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
 }

 .modal {
     display: none;
     height: 100vh;
     position: fixed;
     top: 0;
     width: 100%;
 }

 .modal_bg {
     background: rgba(0, 0, 0, 0.32);
     height: 100vh;
     position: absolute;
     width: 100%;
 }

 .js-modal-close {
     color: #555;
 }

 .modalScroll {
     background: #fff;
     height: 80vh;
     width: 90.6%;
     max-height: 800px;
     padding: 20px;
     border-radius: 10px;
 }

 .ScrollContent {
     overflow-y: scroll;
     height: 90%;
     width: 89%;
     border-radius: 10px;
 }

 ::-webkit-scrollbar {
     border-radius: 10px;
     width: 10px;
 }

 ::-webkit-scrollbar-thumb {
     background-color: #b6b6b6;
     border-radius: 10px;
 }

 .modal_content {
     text-align: center;
     padding-top: 20px;
     padding: 10px 15px 35px;
 }

 .modal_content h2 {
     font-size: 1.4rem;
     font-weight: 500;
     line-height: 1.75;
     color: #68C3C5;
     text-align: center;
     margin-bottom: 10px;
 }

 .modal_content h3 {
     text-align: center;
     font-size: 1.4rem;
     line-height: 1.75;
     font-weight: 500;
     color: #333333;
     text-align: left;
     margin-top: 25px;
 }


 .modal_content p {
    font-size: 1.4rem;
     line-height: 1.75;
     font-weight: 400;
     color: #333333;
     text-align: left;
 }

 .modal_content ul {
     margin: 10px 0;
 }

 .modal_content li {
    font-size: 1.4rem;
     font-weight: 400;
     line-height: 1.75;
     color: #333333;
     text-align: left;

 }

 .js-modal-close {
     color: #68C3C5;
     font-size: 1.4rem;
     font-weight: 400;
     line-height: 1.75;
     padding-top: 25px;
     display: block;
 }
 }



 svg a {
     transition: 0.5s;
 }

 svg a:hover {
     opacity: 0.9;
 }
/*アニメーション要素のスタイル*/
.animation{
	opacity : 0;
	visibility: hidden;
	transition: 1s;
	transform: translateY(30px);
}
/*アニメーション要素までスクロールした時のスタイル*/
.active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.pagetop {
    cursor: pointer;
    position: fixed;
    right: 30px;
    bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 57px;
    transition: .3s;
    
  /*   デフォルトは非表示 */
    opacity: 0;
  }
  .pagetop:hover {
opacity: 0.8!important;
  }
  input, select {
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #333;
    border-radius: 0px;
  }
  input[type="checkbox"]{
    -webkit-appearance: auto!important;
appearance: auto!important;
  }
  textarea {
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #333;
    border-radius: 0px;
    line-height: 1.5;
  }
  select{
    background-color: #fff;
padding: 0px 7px!important;
  }
  .slide-animation{
    animation: fadezoom 8s 0s forwards;
}
@keyframes fadezoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
