 @charset "UTF-8";
 /* Theme Name:meisho-logi 
  Theme URI:
  Author: meisho-logi
  Author URI:
  Description:
  Version: 1.0
  License: GNU General Public License v2 or later
  License URI: http: //www.gnu.org/licenses/gpl-2.0.html
  Text Domain: meisho-logi
  
  This theme, like WordPress,
  is licensed under the GPL.
  Use it to make something cool, have fun, and share what you've learned with others. */

 article,
 blockquote,
 body,
 dd,
 section,
 div,
 dl,
 dt,
 fieldset,
 form,
 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 input,
 li,
 ol,
 p,
 pre,
 td,
 textarea,
 th,
 ul {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 address,
 caption,
 cite,
 code,
 dfn,
 em,
 strong,
 th {
     font-style: normal;
 }

 table {
     border-collapse: collapse;
     border-spacing: 0;
 }

 caption,
 p,
 th {
     text-align: center;
 }

 abbr,
 acronym,
 fieldset {
     border: 0;
 }

 li {
     list-style-type: none;
 }

 ul {
     display: block;
     list-style-type: disc;
     margin-block-start: 1em;
     margin-block-end: 1em;
     margin-inline-start: 0px;
     margin-inline-end: 0px;
     padding-inline-start: 40px;
 }

 a:hover {
     opacity: 0.7;
 }

 body p {
     display: block;
     -webkit-margin-before: 0;
     -webkit-margin-after: 0;
     -webkit-margin-start: 0;
     -webkit-margin-end: 0;
 }

 html {
     font-weight: 600;
     font-feature-settings: "palt";
     line-height: 1.5;
     letter-spacing: 0.12em;
     color: #333;
 }


 .fadeU,
 .fadeD,
 .fadeL,
 .fadeR {
     opacity: 0;
 }

 html {
     overflow-y: scroll;
 }

 h1,
 h2,
 h3,
 h4,
 h5,
 ul,
 li,
 dl,
 dt,
 dd,
 table,
 figure,
 span,
 p {
     border-collapse: collapse;
     list-style: none;
     margin: 0;
     padding: 0;
     /* font-family: "Noto Sans JP", sans-serif; */
     font-family: "Zen Old Mincho", serif;
     font-weight: 500;
     font-style: normal;
 }

 a {
     text-decoration: none;
     -webkit-transition: all .3s;
     transition: all .3s;
     color: #333;
 }

 img {
     border: none;
     vertical-align: middle;
     max-width: 100%;
     height: auto;
     width: auto;
     transition: .3s;
 }

 body {
     margin: 0;
     -webkit-text-size-adjust: none;
 }


 * {
     box-sizing: border-box;
     float: none;
     position: static;
 }

 /* .shutter {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background-color: #fff;
     z-index: 15;
 }

 .shutter::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     bottom: 0;
     margin: auto;
     background-color: #ff0000;
     width: 0;
     height: 1px;
 }

 .shutter {
     -webkit-animation: byeShutter 3s forwards;
     animation: byeShutter 3s forwards;
 }

 .shutter::before {
     -webkit-animation: shutterOpen 3s forwards;
     animation: shutterOpen 3s forwards;
 }

 @keyframes byeShutter {
     70% {
         opacity: 1;
     }

     100% {
         opacity: 0;
         display: none;
         z-index: -1;
     }
 }

 @keyframes shutterOpen {
     0% {
         width: 0;
         height: 1px;
     }

     50% {
         width: 100%;
         height: 1px;
     }

     90% {
         width: 100%;
         height: 100%;
     }

     100% {
         width: 100%;
         height: 100%;
     }
 } */

 @keyframes contentScale {
     70% {
         -webkit-transform: perspective(800px) scale(0.9) rotateX(15deg);
         transform: perspective(800px) scale(0.9) rotateX(15deg);
     }

     100% {
         -webkit-transform: perspective(800px) scale(1) rotateX(0);
         transform: perspective(800px) scale(1) rotateX(0);
     }
 }

 /* #stalker {
     pointer-events: none;
     position: fixed;
     width: 20px;
     height: 20px;
     top: 10px;
     left: 10px;
     background-color: rgba(226, 116, 71, 0.5);
     border-radius: 50%;
     transition: transform 0.2s;
     transform: translate(0, 0);
     z-index: 999;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 #stalker span {
     opacity: 0;
     font-size: 12px;
     color: #ff0000;
     transition: 0.2s;
 }

 #stalker.hover span {
     opacity: 1;
     transition: 0.2s;
 }

 #stalker.hover {
     width: 80px;
     height: 80px;
     background-color: transparent;
     border: 1px solid #e27447;
     transition: 0.2s;
 }

 #stalker a {
     display: flex;
     width: 300px;
     height: 200px;
     background-color: #eee;
     justify-content: center;
     align-items: center;
     color: black;
     text-decoration: none;
 } */

 .other #footer .o-truck {
     display: block;
     background-color: #f9f9f9;
 }

 .other #footer .inner-block {
     /* min-height: 81vh; */
     background-color: #f9f9f9;
 }

 .o-truck {
     display: none;
 }

 .ro-wrapper {
     position: relative;
     /* top: 50%;
     transform: translateY(-50%); */
 }

 .ro-car {
     position: relative;
     z-index: 10;
     width: 273px;
     height: 86px;
     margin-right: auto;
     animation: rodriving 13s linear infinite;
     translate: 300px 0;
 }

 .ro-body {
     animation: roshaking 1s linear infinite;
 }

 .ro-tire-front {
     position: absolute;
     left: 32px;
     bottom: 0;
     animation: rospin 1s linear infinite;
 }

 .ro-tire-rear {
     position: absolute;
     right: 83px;
     bottom: 0;
     animation: rospin 1s linear -0.5s infinite;
 }

 @keyframes rospin {
     0% {
         rotate: 0deg;
     }

     100% {
         rotate: -360deg;
     }
 }

 @keyframes roshaking {
     0% {
         translate: 0 0;
     }

     20% {
         translate: 0 1px;
     }

     40% {
         translate: 0 0;
     }

     60% {
         translate: 0 2px;
     }

     80% {
         translate: 0 0;
     }

     100% {
         translate: 0 0;
     }
 }

 @keyframes rodriving {
     0% {
         translate: -300px 0;
     }

     100% {
         translate: 100vw 0;
     }
 }


 #top {
     margin-top: 250px;
 }

 #maintop {
     width: 100%;
     height: 107vh;
 }

 .kv {
     align-items: center;
     position: relative;
     z-index: 1;

 }

 .kv .main-copy {
     display: block;
     font-size: 10rem;
     line-height: 1.2;
     font-family: 'Oswald', sans-serif;
     padding: 30px 0;
     text-align: start;
     letter-spacing: .5rem;
     color: #fff;
     text-shadow: 1px 1px 0 #242424, -1px -1px 0 #242424,
         -1px 1px 0 #242424, 1px -1px 0 #242424,
         1px 0 0 #242424, -1px 0 0 #242424,
         0 1px 0 #242424, 0 -1px 0 #242424;
 }

 .catch-img {
     margin-left: 5%;
     margin-right: 20%;

 }

 .catch-copy {
     display: flex;
     flex-wrap: wrap;
     flex-direction: column;
     position: absolute;
     top: 35%;
     z-index: 10;
 }

 .video {
     width: 100vw;
     height: 100vh;
     position: relative;
     overflow: hidden;
 }

 .video>video {
     min-width: 100%;
     min-height: 100%;
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
 }

 .sub-copy {
     color: #fff;
     text-align: start;
     line-height: 2;
     letter-spacing: .15em;
     font-size: 1.8rem;
     margin-left: 5%;
 }

 .wrapper {
     display: flex;
     justify-content: flex-end;
     align-items: flex-end;
     position: relative;
     overflow: hidden;
     width: 100%;
 }

 .car {
     position: relative;
     z-index: 10;
     width: 300px;
     height: 112px;
     margin-left: auto;
     animation: driving 13s linear infinite;
     translate: 300px 0;
 }

 .body {
     animation: shaking 1s linear infinite;
 }

 .tire-front {
     position: absolute;
     left: 41px;
     bottom: 0;
     /* width: 84px; */
     animation: spin 1s linear infinite;
 }

 .tire-rear {
     position: absolute;
     right: 51px;
     bottom: 0;
     /* width: 84px; */
     animation: spin 1s linear -0.5s infinite;
 }

 @keyframes spin {
     0% {
         rotate: 0deg;
     }

     100% {
         rotate: -360deg;
     }
 }

 @keyframes shaking {
     0% {
         translate: 0 0;
     }

     20% {
         translate: 0 1px;
     }

     40% {
         translate: 0 0;
     }

     60% {
         translate: 0 2px;
     }

     80% {
         translate: 0 0;
     }

     100% {
         translate: 0 0;
     }
 }

 @keyframes driving {
     0% {
         translate: 300px 0;
     }

     100% {
         translate: -100vw 0;
     }
 }

 /* @media screen and (max-width: 1720px) {
     .kv .main-copy {
         font-size: 120px;
     }
 }
 */

 /* body img {
     max-width: 100%;
     height: auto;
     vertical-align: top;
 } */

 /* ********************************* */



 .mainttl {
     align-items: center;
     display: flex;
     justify-content: center;
     margin-top: 100px;
 }

 .caption {
     font-size: 8.75rem;
     margin: 0;
     padding: 0;
     color: transparent;
     position: relative;
     text-transform: uppercase;
     font-family: sans-serif;
     /* transform: rotate(-7deg); */
 }

 .captionPlay:before {
     content: attr(data-heading);
     position: absolute;
     top: 0;
     left: 0;
     background: -webkit-linear-gradient(#ff0000 0%, #ffffff 54%, #c4c4c4 54%, #6e6e6e 100%);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     animation: splitLeft 1.5s both;

 }

 .captionPlay:after {
     content: attr(data-heading);
     position: absolute;
     color: #ffffff;
     top: 0;
     left: 0;
     max-height: 54%;
     overflow: hidden;
     transform: translateX(50%);
     animation: splitRight 1.5s both;
 }

 @keyframes splitRight {
     0% {
         transform: translate(0);
     }

     15% {
         transform: translate(50%, 0);
     }

     30% {
         transform: translate(50%, 50%);
     }

     45% {
         transform: translate(-50%, 50%);
     }

     60% {
         transform: translate(-50%, 0);
     }

     75% {
         transform: translate(0);
     }

     100% {
         transform: translate(0);
     }
 }

 @keyframes splitLeft {
     0% {
         transform: translate(0);
     }

     15% {
         transform: translate(-50%, 0);
     }

     30% {
         transform: translate(-50%, -50%);
     }

     45% {
         transform: translate(50%, -50%);
     }

     60% {
         transform: translate(50%, 0);
     }

     75% {
         transform: translate(0);
     }

     100% {
         transform: translate(0);
     }
 }

 .change-color {
    background-color: #fff;
 }

 .main-text {
     margin: 30px 0;
     line-height: 2.5rem;
 }

 .top-img {
     text-align: center;
 }

 .top-img img {
     max-width: 400px;
     height: auto;
     width: 100%;
 }

 .top-ttl {
     font-size: 6rem;
     font-family: Montserrat, sans-serif;
     font-weight: 800;
     opacity: .05;
     text-align: center;
     z-index: -1;
     position: relative;
     margin-top: -130px;
 }

 .main-subttl p {
     font-size: 2.5rem;
     font-weight: 700;
     letter-spacing: .3rem;
 }


 .main-subttl {
     margin: 70px;
 }


 .mb-img {
     width: 600px;
     height: auto;
 }

 .mb-img img {
     width: 100%;
 }

 .main-text p {
     font-size: 1.3rem;
     line-height: 2.2;
 }

 .mainbusiness {

     width: 600px;
     height: 600px;
     position: relative;
     overflow: hidden;
     border-radius: 20px 30px 50% 10%;
 }

 .mainbusiness img,
 .mainbusiness2 img {
     height: 600px;
     object-fit: cover;
 }


 .mainbusiness2 {
     width: 600px;
     height: 600px;
     position: relative;
     overflow: hidden;
     margin: 0 0 0 auto;
     border-radius: 30px 20px 10% 50%;
 }


 .mainbusiness video,
 .mainbusiness2 video {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     height: 100%;
 }

 .mbn {
     margin: 0 auto;
     width: 50%;
 }

 .mbn h1 {
     font-family: Montserrat, sans-serif;
     font-weight: 900;
     font-size: 4rem;
 }

 .sec-mb {
     display: flex;
     margin-top: 180px;
     background-color: #f9f9f9;
 }

 .truck-marginB {
     margin-bottom: 150px;
 }

 .mbn-ttl {
     padding-top: 100px;
 }

 .mbn-text,
 .mbn-text2,
 .mbn-text3 {
     font-weight: bold;
     font-size: 28px;
     letter-spacing: 2px;
     margin: 70px auto 0;
     text-align: center;
     position: relative;
     top: 15%;
     left: 50%;
     transform: translate(-50%, -50%);
     width: 100%;
     margin: 0;
 }

 .mbn-text .text-wrapper,
 .mbn-text2 .text-wrapper,
 .mbn-text3 .text-wrapper {
     position: relative;
     display: inline-block;
     padding-top: 0.2em;
     padding-right: 0.05em;
     padding-bottom: 0.1em;
     overflow: hidden;
 }


 .mbn-text .letter,
 .mbn-text2 .letter2,
 .mbn-text3 .letter3 {
     display: inline-block;
     line-height: 1em;
     transform-origin: 0 0;
     font-family: Montserrat, sans-serif;
     font-weight: 800;
 }

 .mbn-jp {
     position: relative;
     padding: 1em;
     border-top: #ff0000 solid 2px;
     width: calc(100vw - 50vw);
 }

 .mbn-jp2 {
     position: relative;
     padding: 1em;
     border-top: #00e909 solid 2px;
     width: calc(100vw - 50vw);
 }

 .mbn-jp3 {
     position: relative;
     padding: 1em;
     border-top: #0051ff solid 2px;
     width: calc(100vw - 50vw);
 }

 /* .mbn-jp4 {
     position: relative;
     padding: 1em;
     border-top: #0051ff solid 2px;
 } */


 .mbn-jp::before {
     position: absolute;
     content: '';
     top: -16px;
     left: 10px;
     width: 100px;
     height: 30px;
     border-radius: 30px;
     background: #ff0000;
 }

 .mbn-jp2::before {
     position: absolute;
     content: '';
     top: -16px;
     left: 10px;
     width: 100px;
     height: 30px;
     border-radius: 30px;
     background: #00e909;
 }

 .mbn-jp3::before {
     position: absolute;
     content: '';
     top: -16px;
     left: 10px;
     width: 100px;
     height: 30px;
     border-radius: 30px;
     background: #0051ff;

 }

 /* .mbn-jp4::before {
     position: absolute;
     content: '';
     top: -16px;
     left: 10px;
     width: 100px;
     height: 30px;
     border-radius: 30px;
     background: #0051ff;
 } */

 .mbn-jp::after {
     position: absolute;
     content: 'Chapter 1';
     top: -16px;
     left: 10px;
     width: 100px;
     color: #ffffff;
     font-size: 13px;
     line-height: 30px;
     text-align: center;
 }

 .mbn-jp2::after {
     position: absolute;
     content: 'Chapter 2';
     top: -16px;
     left: 10px;
     width: 100px;
     color: #ffffff;
     font-size: 13px;
     line-height: 30px;
     text-align: center;
 }

 .mbn-jp3::after {
     position: absolute;
     content: 'Chapter 3';
     top: -16px;
     left: 10px;
     width: 100px;
     color: #ffffff;
     font-size: 13px;
     line-height: 30px;
     text-align: center;
 }

 /* .mbn-jp4::after {
     position: absolute;
     content: 'Chapter 4';
     top: -16px;
     left: 10px;
     width: 100px;
     color: #ffffff;
     font-size: 13px;
     line-height: 30px;
     text-align: center;
 } */


 .mbn-p {
     padding-top: 30px;
     font-size: 1.3rem;
     line-height: 1.85;
 }

 .mbn-p2 {
     padding-top: 40px;
     font-size: 1.3rem;
     line-height: 1.85;
 }


 button {
     position: relative;
     display: inline-block;
     cursor: pointer;
     outline: none;
     border: 0;
     vertical-align: middle;
     text-decoration: none;
     background: transparent;
     padding: 0;
     font-size: inherit;
     font-family: inherit;
 }

 button.learn-more {
     width: 13rem;
     height: auto;
 }

 button.learn-more .circle {
     transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
     position: relative;
     display: block;
     margin: 0;
     width: 3rem;
     height: 3rem;
     background: #ff0000;
     border-radius: 1.625rem;
 }

 button.learn-more .circle2 {
     transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
     position: relative;
     display: block;
     margin: 0;
     width: 3rem;
     height: 3rem;
     background: #00e909;
     border-radius: 1.625rem;
 }

 button.learn-more .circle3 {
     transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
     position: relative;
     display: block;
     margin: 0;
     width: 3rem;
     height: 3rem;
     background: #0051ff;
     border-radius: 1.625rem;
 }

 /* button.learn-more .circle4 {
     transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
     position: relative;
     display: block;
     margin: 0;
     width: 3rem;
     height: 3rem;
     background: #0051ff;
     border-radius: 1.625rem;
 } */

 button.learn-more .circle .icon,
 button.learn-more .circle2 .icon,
 button.learn-more .circle3 .icon,
 button.learn-more .circle4 .icon {
     transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
     position: absolute;
     top: 0;
     bottom: 0;
     margin: auto;
     background: #fff;
 }

 button.learn-more .circle .icon.arrow,
 button.learn-more .circle2 .icon.arrow,
 button.learn-more .circle3 .icon.arrow,
 button.learn-more .circle4 .icon.arrow {
     transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
     left: 0.625rem;
     width: 1.125rem;
     height: 0.125rem;
     background: none;
 }

 button.learn-more .circle .icon.arrow::before,
 button.learn-more .circle2 .icon.arrow::before,
 button.learn-more .circle3 .icon.arrow::before,
 button.learn-more .circle4 .icon.arrow::before {
     position: absolute;
     content: "";
     top: -0.29rem;
     right: 0.0625rem;
     width: 0.625rem;
     height: 0.625rem;
     border-top: 0.125rem solid #fff;
     border-right: 0.125rem solid #fff;
     transform: rotate(45deg);
 }

 button.learn-more .button-text {
     transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     padding: 0.8rem 0;
     margin: 0 0 0 1.85rem;
     font-weight: 700;
     line-height: 1.6;
     text-align: center;
     text-transform: uppercase;
 }

 button:hover .circle,
 button:hover .circle2,
 button:hover .circle3,
 button:hover .circle4 {
     width: 100%;
 }

 button:hover .circle .icon.arrow,
 button:hover .circle .icon.arrow2,
 button:hover .circle .icon.arrow3,
 button:hover .circle .icon.arrow4 {
     background: #fff;
     transform: translate(1rem, 0);
 }

 button:hover .button-text {
     color: #fff;
 }

 .mbn-btn {
     padding-top: 40px;
     text-align: end;
 }

 @keyframes infinity-scroll-left {
     from {
         transform: translateX(0);
     }

     to {
         transform: translateX(-100%);
     }
 }

 /* ----- インデックスレスポンシブ----- */


 @media screen and (max-width: 1680px) {
     .mbn h1 {
         font-size: 3.5rem;
     }
 }


 @media screen and (max-width: 1480px) {
     .sub-copy {
         font-size: 1.5rem;
     }
 }

 @media screen and (max-width: 1280px) {
     .mbn h1 {
         font-size: 2.5rem;
     }

     .mbn-p,
     .mbn-p2 {
         font-size: 1.1rem;
         line-height: 1.7;
     }

     .top-ttl {
         font-size: 4rem;
     }

     .top-img img {
         max-width: 350px;
     }

     .main-text p {
         font-size: 1.2rem;
         line-height: 1.75;
     }

     .main-subttl p {
         font-size: 2rem;
     }

     .catch-img {
         margin-right: 25%;
     }

     .mbn-ttl {
         padding-top: 70px;
     }
 }

 @media screen and (max-width: 1080px) {

     #top {
         margin-top: 160px;
     }

     .top-ttl {
         font-size: 3.5rem;
     }

     .top-img img {
         max-width: 300px;
     }

     .mbn-text,
     .mbn-text2,
     .mbn-text3 {
         letter-spacing: 0;
     }

     .mbn-jp,
     .mbn-jp2,
     .mbn-jp3 {
         font-size: 1.3rem;
     }

     .mbn-p,
     .mbn-p2 {
         font-size: 1rem;
     }

     button.learn-more .button-text {
         font-size: .9rem;
     }

     button.learn-more {
         width: 11rem;
     }

     .mainbusiness,
     .mainbusiness2,
     .mainbusiness3 {
         width: 500px;
         height: 500px;
     }

     .mainbusiness img,
     .mainbusiness2 img,
     .mainbusiness video {
         height: 500px;
     }

     .main-subttl p {
         font-size: 1.8rem;
     }

     .main-text p {
         line-height: 1.6;
     }

     .main-subttl {
         margin: 70px 0 50px;
     }

     .car {
         width: 230px;
         height: 95px;
     }

     .tire-front {
         left: 28px;
     }

     .tire-rear {
         right: 29px;
     }
 }

 @media screen and (max-width: 980px) {
     .mbn h1 {
         font-size: 2rem;
         margin-top: -20px;
     }

     .mbn-ttl {
         padding-top: 50px;
     }

     .mbn-btn {
         padding-top: 20px;
     }

     /* .mbn-jp {
    padding: 1em 0 0 1em;
} */
     .mainbusiness,
     .mainbusiness2,
     .mainbusiness3 {
         width: 450px;
         height: 450px;
     }

     .mainbusiness img,
     .mainbusiness2 img,
     .mainbusiness video {
         height: 450px;
     }

     .pc-br {
         display: none;
     }

     #top {
         margin-top: 120px;
     }

     .main-text p {
         font-size: 1.1rem;
     }

     .sub-copy {
         font-size: 1.4rem;
     }

     .mbn-p,
     .mbn-p2 {
         padding: 30px 10px 0;
         line-height: 1.5;
     }
 }

 @media screen and (max-width: 780px) {

     .mbn-jp,
     .mbn-jp2,
     .mbn-jp3 {
         font-size: 1.1rem;
     }

     .sec-mb {
         margin-top: 140px;
     }

     .truck-marginB {
         margin-bottom: 130px;
     }

     .sub-copy {
         font-size: 1.3rem;
     }

     .mbn h1 {
         font-size: 1.9rem;
     }

     .catch-img {
         margin-right: 15%;
     }

     .car {
         width: 200px;
         height: 87px;
     }

     .tire-front {
         left: 25px;
     }

     .tire-rear {
         right: 27px;
     }

 }

 @media screen and (max-width: 680px) {

     #top {
         margin-top: 100px;
     }

     .top-img img {
         max-width: 250px;
     }

     .top-ttl {
         font-size: 2.5rem;
         margin-top: -100px;
     }

     .main-subttl p {
         font-size: 1.6rem;
     }

     .main-text p {
         font-size: 1rem;
     }

     .mainbusiness,
     .mainbusiness2,
     .mainbusiness3 {
         width: 45%;
     }

     .sub-copy {
         font-size: 1.2rem;
     }

     .catch-img {
         margin-right: 5%;
     }

     .mbn h1 {
         font-size: 1.7rem;
     }

     .pc-br2 {
         display: none;
     }

     .f-contact {
         display: none;
     }
 }

 @media screen and (max-width: 590px) {
     .main-subttl p {
         font-size: 1.5rem;
     }

     .main-text p {
         font-size: .9rem;
     }

     .mbn-p,
     .mbn-p2 {
         font-size: .9rem;
     }

     .mainbusiness img,
     .mainbusiness2 img,
     .mainbusiness video {
         height: 400px;
     }

     .mainbusiness,
     .mainbusiness2,
     .mainbusiness3 {
         height: 400px;
     }

     .mbn-jp,
     .mbn-jp2,
     .mbn-jp3 {
         font-size: 1rem;
     }

     button.learn-more .circle,
     button.learn-more .circle2,
     button.learn-more .circle3 {
         top: 8px;
     }

     button.learn-more {
         width: 9rem;
     }

     button.learn-more .circle,
     button.learn-more .circle2,
     button.learn-more .circle3 {
         width: 2rem;
         height: 2rem;
     }

     button.learn-more .circle .icon.arrow,
     button.learn-more .circle2 .icon.arrow,
     button.learn-more .circle3 .icon.arrow,
     button.learn-more .circle4 .icon.arrow {
         left: 0.1rem;
     }

     .sub-copy {
         font-size: 1rem;
     }

     .sub-copy,
     .catch-img {
         margin-right: 3%;
         margin-left: 3%;
     }

     .car {
         width: 170px;
         height: 73px;
     }

     .tire-front {
         left: 19px;
         width: 27px;
     }

     .tire-rear {
         width: 27px;
         right: 20px;
     }

     .sec-mb {
         margin-top: 100px;
     }

     .truck-marginB {
         margin-bottom: 100px;
     }

     #top {
         margin-top: 80px;
     }

     .top-img img {
         max-width: 230px;
     }

     .mbn h1 {
         font-size: 1.5rem;
     }

     button.learn-more .button-text {
         font-size: .8rem;
     }
 }

 @media screen and (max-width: 520px) {

     .mbn h1 {
         font-size: 1.4rem;
     }

     .pc-br3 {
         display: none;
     }

     .main-text {
         margin: 0 3%;
     }

     .main-subttl {
         margin: 70px 0 40px;
     }

     .sec-mb {
         margin-top: 80px;
     }

     .sec-mb {
         margin-top: 80px;
     }

     .mbn-p,
     .mbn-p2 {
         font-size: .8rem;
         line-height: 1.4;
     }

     .mbn-jp,
     .mbn-jp2,
     .mbn-jp3 {
         padding: 1em 1rem 0;
     }

     .mainbusiness img,
     .mainbusiness2 img,
     .mainbusiness video {
         height: 380px;
     }

     .mainbusiness,
     .mainbusiness2,
     .mainbusiness3 {
         height: 380px;
     }

     .top-ttl {
         font-size: 2rem;
     }
 }

 @media screen and (max-width: 490px) {

     .mbn {
         width: 60%;
     }

     .mbn-jp,
     .mbn-jp2,
     .mbn-jp3 {
         width: calc(100vw - 45vw);
     }

     .mainbusiness img,
     .mainbusiness2 img,
     .mainbusiness video {
         height: 350px;
     }

     .mainbusiness,
     .mainbusiness2,
     .mainbusiness3 {
         height: 350px;
     }

     button.learn-more {
         width: 8rem;
     }

     .sub-copy {
         font-size: .9rem;
     }

     button.learn-more .button-text {
         font-size: .7rem;
     }

     button.learn-more .circle,
     button.learn-more .circle2,
     button.learn-more .circle3 {
         top: 4px;
     }
 }

 @media screen and (max-width: 430px) {

     .mbn-jp,
     .mbn-jp2,
     .mbn-jp3 {
         font-size: .9rem;
     }

     .mbn h1 {
         font-size: 1.3rem;
     }

     .main-text p {
         line-height: 1.5;
         letter-spacing: 0;
     }

     .mbn-ttl {
         padding-top: 30px;
     }

     .top-img img {
         max-width: 200px;
     }

     #top {
         margin-top: 60px;
     }

     .top-ttl {
         margin-top: -70px;
     }

     .mainbusiness img,
     .mainbusiness2 img,
     .mainbusiness video {
         height: 330px;
     }

     .mainbusiness,
     .mainbusiness2,
     .mainbusiness3 {
         height: 330px;
     }

     .main-subttl p {
         font-size: 1.4rem;
     }

     .main-subttl {
         margin: 70px 0 30px;
     }
 }

 @media screen and (max-width: 415px) {
     .sub-copy {
         font-size: .8rem;
     }

     .main-subttl p {
         font-size: 1.3rem;
     }
 }

 @media screen and (max-width: 390px) {

     .mbn h1 {
         font-size: 1.2rem;
     }
 }



 /* 子ページトップ */


 .main-sec {
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .main-L {
     width: 20%;
     position: relative;

 }

 .main-R {
     width: 80%;
     position: relative;
 }

 .main-img {
     padding-top: 20vh;
 }

 .cp_main img {
    object-position: top;
 }

 .main-img img {
     border-radius: 80px 0 0 0;
     width: 100%;
     object-fit: cover;
     height: 80vh;
 }
 .company-img {
     padding-top: 20vh;
 }
  .company-img img {
     border-radius: 80px 0 0 0;
     width: 100%;
     object-fit: cover;
     height: 80vh;
 }
  .entry-img {
     padding-top: 20vh;
 }
  .entry-img img {
     border-radius: 80px 0 0 0;
     width: 100%;
     object-fit: cover;
     height: 80vh;
 }
 .ticker {
     white-space: nowrap;
     width: 100%;
     height: 100vh;
     display: flex;
     align-items: center;
     overflow: hidden;
 }

 .ticker ul {
     display: flex;
     align-items: center;
     animation: ticker 50s linear infinite;
 }

 .ticker li {
     margin-right: 20px;
     font-family: Montserrat, sans-serif;
     font-weight: 800;
     opacity: 0.1;
     padding-bottom: 50px;
 }

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

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


 .maincatch {
     writing-mode: vertical-rl;
     text-orientation: mixed;
     /* padding-left: 5%; */
     font-size: 9rem;
     position: relative;
 }


 .maincatchJP {
     position: absolute;
     top: 24%;
     transform: translateX(-50%);
     left: 50%;
 }

 .mainJP {
     font-size: 3rem;
     -ms-writing-mode: tb-rl;
     writing-mode: vertical-rl;
 }

 .txt {
     display: flex;
     overflow: hidden;
 }

 .txt p {
     font-size: 3rem;
     font-weight: bold;
     letter-spacing: .5rem;
     /* ここからアニメーション関係 */
     transform: translateY(10em);
     animation: textanimation 1s forwards;
     color: #333;
     /* font-family: "Zen Kaku Gothic Antique", sans-serif; */
     font-weight: 500;
     font-style: normal;
 }

 /* 1文字目 */

 .txt p:nth-child(1) {
     animation-delay: 0.2s
 }

 .txt p:nth-child(2) {
     animation-delay: 0.4s
 }

 .txt p:nth-child(3) {
     animation-delay: 0.6s
 }

 .txt p:nth-child(4) {
     animation-delay: 0.8s
 }

 .txt p:nth-child(5) {
     animation-delay: 1s
 }

 .txt p:nth-child(6) {
     animation-delay: 1.2s
 }

 .txt p:nth-child(7) {
     animation-delay: 1.4s
 }

 .txt p:nth-child(8) {
     animation-delay: 1.6s
 }

 .txt p:nth-child(9) {
     animation-delay: 1.8s
 }

 .txt p:nth-child(10) {
     animation-delay: 2s
 }


 @keyframes textanimation {
     0% {
         transform: translatey(5em);
     }

     100% {
         transform: translatey(0);
     }
 }


 .scrollbar-text_04 {
     display: inline-block;
     position: absolute;
     bottom: 0;
     padding: 10px 10px 110px;
     color: #f18989;
     font-size: 14px;
     font-family: serif;
     line-height: 1;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     writing-mode: vertical-lr;
     left: 10%;
     transform: translateX(-50%);
     z-index: 1;
 }

 .scrollbar_04 {
     position: absolute;
     left: 10%;
     transform: translateX(-50%);
     bottom: 1px;
     z-index: 1;
 }

 .scrollbar_04::after {
     content: "";
     position: absolute;
     bottom: 0;
     left: -1px;
     width: 1px;
     height: 100px;
     background: #f18989;
 }

 .scrollbar_04::before {
     content: "";
     position: absolute;
     bottom: 0;
     left: -4px;
     width: 8px;
     height: 8px;
     border-radius: 50%;
     background: #f18989;
     animation: circlemove 3s ease-in-out infinite,
         cirlemovehide 3s ease-out infinite;
 }

 @keyframes circlemove {
     0% {
         bottom: 95px;
     }

     100% {
         bottom: 0px;
     }
 }

 @keyframes cirlemovehide {
     0% {
         opacity: 0;
     }

     50% {
         opacity: 1;
     }

     80% {
         opacity: 0.9;
     }

     100% {
         opacity: 0;
     }
 }

 /* transportation運送 */


 .transportation,
 .industrialwaste,
 .company,
 .recycle,
 .contact {
     background-color: #f9f9f9;
 }

 .delivery {
     position: relative;
 }

 .tr-sec1 {
     margin-top: 15%;
 }

 .tr-wrapper {
     box-sizing: content-box;
     container: container / inline-size;
     margin-inline: auto;
     max-inline-size: 1200px;
     padding-inline: 3vi;
 }

 /* .tr-heading1 {
     -webkit-box-align: end;
     -ms-flex-align: end;
     align-items: flex-end;
     -webkit-box-sizing: content-box;
     box-sizing: content-box;
     color: var(--color-blue);
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     line-height: 1;
     margin-inline: auto;
     max-inline-size: 1200px;
     position: relative;
     z-index: 1;
 } */

 .tr-title1 {
     position: relative;
     font-size: 3rem;
     margin-right: 4rem;
     font-weight: 500;
 }



 .tr-title1EN {
     color: #ff0000;
     font-family: "Zen Kaku Gothic Antique", sans-serif;
     font-style: normal;
     font-weight: 400;
 }

 .del-txt {
     max-width: 900px;
     margin-top: 150px;
 }

 .del-inner {
     margin: 0 auto;
     max-width: 670px;
     position: relative;
     width: 100%;
 }

 .del-maintext {
     font-size: 1.4rem;
     /* font-weight: 700;
     font-family: "Zen Kaku Gothic Antique", sans-serif; */
     font-style: normal;
 }

 .del-box {
     background-color: #fff;
     margin-top: 150px;
 }

 .del-box p {

     font-weight: 700;
     font-family: "Zen Kaku Gothic Antique", sans-serif;
     font-style: normal;
 }

 .del-heading {
     position: relative;
     padding: 1em 2em;
     text-align: start;
     font-size: 1.4rem;
     color: #ff0000;
     margin-left: 10px;
 }

 .del-heading::before,
 .del-heading::after {
     display: inline-block;
     position: absolute;
     transform: translateY(-50%);
     width: 12px;
     height: 12px;
     border: 2px solid #ff0000;
     content: '';
 }

 .del-heading::before {
     top: calc(50% - 3px);
     left: 0;
 }

 .del-heading::after {
     top: calc(50% + 3px);
     left: 5px;
 }

 .del-example {
     width: 100%;
     display: flex;
     padding-bottom: 10px;
 }

 .del-exL,
 .del-exR {
     width: 50%;
     text-align: center;
 }

 .del-exL {
     border-right: 1px solid #c3c3c3;

 }


 .del-10truck,
 .del-2truck {
     padding: 20px 0;
     font-size: 1.2rem;
 }

 .tr10-img img,
 .tr2-img img {
     width: 250px;
 }

 .tr-category,
 .tr-category2 {
     display: flex;
     align-items: center;
     column-gap: 8px;
     font-size: 1.2rem;
     line-height: 2.5rem;
 }

 .tr-category::before {
     width: 0.8em;
     height: 0.4em;
     border-bottom: 4px solid #ff0000;
     border-left: 4px solid #ff0000;
     transform: rotate(-45deg) translate(2px, -2px);
     content: '';
 }

 .sec-category {
     padding-left: 50px;
 }

 .tr-comment {
     padding: 50px 0;
 }

 .tr-com {
     font-size: 1.2rem;
 }

 .tr-human {
     bottom: 0;
     margin-left: 0;
     position: absolute;
     right: 0;
 }

 .tr-padding {
     padding: 0 3%;
 }

 .tr-wrapper2 {
     box-sizing: content-box;
     container: container / inline-size;
     margin-inline: auto;
     max-inline-size: 1200px;
     margin-top: 150px;
 }

 .tr-list {
     background-color: #fff;
 }

 .tr-list p {

     font-weight: 700;
     font-family: "Zen Kaku Gothic Antique", sans-serif;
     font-style: normal;
     font-size: 1.2rem;
 }

 .tr-listp {
     padding: 1em 0 0 0;
     font-size: 1.4rem;
     color: #ff0000;
 }

 .tr-listp::before {
     content: "";
     display: inline-block;
     width: 41px;
     height: 32px;
     background-image: url(img/tr-icon.png);
     margin-right: 20px;
     /*画像右の余白*/
     position: relative;
     top: 5px;
     /*上からの位置*/
     left: 0;
     /*左からの位置*/
 }

 .tr-kinds {
     position: relative;
     text-shadow: 0 0 2px white;
     z-index: 1;
 }

 .kinds-fl {
     display: flex;
     justify-content: space-between;
     padding: 0 50px;
 }

 .tr-kinds:before {
     content: "";
     position: absolute;
     background: #cfcfcf;
     width: 35px;
     height: 35px;
     border-radius: 50%;
     top: 50%;
     -webkit-transform: translateY(-50%);
     transform: translateY(-50%);
     z-index: -1;
 }

 .tr-kinds:hover:before {
     background: #ffc8c8;
     width: 40px;
     height: 40px;
 }


 .tbl-tr {
     padding-top: 50px;
 }

 .tr-sec2 {
     margin-top: 15%;
     margin-bottom: 10%;
 }


 .tr-title-r {
     position: relative;
     font-size: 3rem;
     margin-left: 4rem;
     font-weight: 500;
 }

 .co-heading4 {
     align-items: end;
     display: flex;
     justify-content: flex-end;
     border-bottom: dashed 1.5px #fff;

 }

 /* .tr-title-r::before {
     content: '';
     position: absolute;
     bottom: -20px;
     display: inline-block;
     height: 2px;
     border-bottom: dashed 2px #fff;
     width: calc(100% + 20.5vw);
 } */

 .tr-title2EN-r {
     color: #fff;
     font-family: "Zen Kaku Gothic Antique", sans-serif;
     font-style: normal;
     font-weight: 400;
 }

 .tr-heading2 {
     /* -webkit-box-align: end; */
     /* -ms-flex-align: end; */
     align-items: end;
     /* -webkit-box-sizing: content-box; */
     /* box-sizing: content-box; */
     /* color: var(--color-blue); */
     /* display: -webkit-box; */
     /* display: -ms-flexbox; */
     display: flex;
     line-height: 1;
     /* margin-inline: auto; */
     /* max-inline-size: 1200px; */
     /* position: relative; */
     justify-content: flex-end;
     /* z-index: 1; */
 }

 .tr-title2 {
     position: relative;
     font-size: 3rem;
     margin-left: 4rem;
     font-weight: 500;
     line-height: 1.2;
 }

 .tr-title2EN {
     color: #ff0000;
     font-family: "Zen Kaku Gothic Antique", sans-serif;
     font-style: normal;
     font-weight: 400;
 }


 .del-txt2 {
     max-width: 900px;
     margin-top: 150px;
     margin-left: auto;
 }

 .tr-human2 {
     bottom: 0;
     margin-right: 0;
     position: absolute;
     left: 0;
 }

 .sec-category2 {
     padding: 30px;
 }

 .tr-category2::before {
     display: none;
 }

 .logistics,
 .trans,
 .trans-flow,
 .co-ov1 {
     position: relative;
 }

 @media screen and (max-width: 1680px) {


     .tr-human img,
     .tr-human2 img {
         width: 400px;
     }
          .del-txt,
     .del-txt2 {
         width: calc(100% - 200px);
     }

 }

 @media screen and (max-width: 1280px) {


     .del-maintext {
         font-size: 1.2rem;
     }

     .del-heading {
         font-size: 1.2rem;
     }

     .tr-list p,
     .tr-com,
     .del-10truck,
     .del-2truck,
     .tr-category,
     .tr-category2 {
         font-size: 1.1rem;
     }
               .del-txt,
     .del-txt2 {
         width: calc(100% - 400px);
     }


 }

 @media screen and (max-width: 980px) {

     .del-heading {
         font-size: 1.1rem;
     }

     .del-maintext {
         font-size: 1.2rem;
     }

     .tr-list p,
     .tr-com,
     .del-10truck,
     .del-2truck,
     .tr-category,
     .tr-category2 {
         font-size: 1rem;
     }

     .tr-category,
     .tr-category2 {
         line-height: 2rem;
     }

     .tr10-img,
     .tr2-img {
         padding: 0 2%;
     }
          .tr-human,
     .tr-human2 {
         width: 400px;
     }

     .del-txt,
     .del-txt2 {
         width: 100%;
     }

     .tr-human {
     position: relative;
        margin: 0 auto 0 0;

     }
     .tr-human2 {
         position: relative;
         margin: 0 0 0 auto;
     }

     .tr-human img,
     .tr-human2 img {
         height: 600px;
         object-fit: cover;
     }


 }

 @media screen and (max-width: 860px) {

     .del-maintext {
         font-size: 1.1rem;
     }

     .tr-human {
         position: relative;
     }
 }

  @media screen and (max-width: 760px) {
.kinds-fl {
    display: flex;
    padding: 0;
    flex-direction: column;
    flex-wrap: nowrap;
}

.tr-kinds {
 padding: 3%;   
}
    .del-maintext {
        font-size: 1rem;
    }
    .del-txt2,
    .del-txt,
    .del-box {
    margin-top: 100px;
}
    .tr-list p, .tr-com, .del-10truck, .del-2truck, .tr-category, .tr-category2 {
        font-size: .95rem;
    }
  }


 @media screen and (max-width: 600px) {

     .del-maintext {
         font-size: 1rem;
     }

         .tr-human img, .tr-human2 img {
        height: 500px;
    }
        .tr-list p, .tr-com, .del-10truck, .del-2truck, .tr-category, .tr-category2 {
        font-size: .9rem;
    }
        .tr-category, .tr-category2 {
        line-height: 1.8rem;
    }
        .tr-human, .tr-human2 {
        width: 350px;
    }
 }

  @media screen and (max-width: 500px) {

 .tr-title1 {
    margin-right: 2rem;
 }

 .tr-title2 {
    margin-left: 2rem;
 }
}

 @media screen and (max-width: 420px) {

     .del-maintext {
         font-size: .95rem;
     }
         .del-maintext {
        font-size: .95rem;
    }
 }



 /* 運送ここまで */


 .trpo-sec1,
 .trpo-sec2,
 .trpo-sec3 {
     margin-top: 20%;
 }

 .sec-backimg img {
     width: -webkit-fill-available;
     z-index: 0;
     position: absolute;
 }

 .trans-map {
     position: relative;
     z-index: 2;
 }


 .trpo-wrapper {
     box-sizing: content-box;
     container: container / inline-size;
     margin-inline: auto;
     max-inline-size: 1400px;
     padding-inline: 3vi;

 }

 .trpo-title1 {
     position: relative;
     font-size: 3rem;
     margin-right: 4rem;
     font-weight: 500;

 }

 /* .trpo-title1::before {
     content: '';
     position: absolute;
     bottom: -20px;
     display: inline-block;
     height: 2px;
     -webkit-transform: translateX(-50%);
     transform: translateX(-50%);
     border-bottom: dashed 2px #ff0000;
     left: calc(100% - 40vw);
     width: calc(100% + 78vw);
 } */


 .trpo-title1EN {
     color: #ff0000;
     font-family: "Zen Kaku Gothic Antique", sans-serif;
     font-style: normal;
     font-weight: 400;

 }

 .trpo-txt {
     margin: 150px auto 100px;
 }

 .trpo-maintext {
     font-size: 1.4rem;
 }

 .trpo-list {
     display: flex;
     justify-content: space-around;
     flex-wrap: wrap;
 }

 .list01,
 .list02,
 .list03,
 .list04 {
     text-align: center;
     margin-top: 50px;
 }

 .trpo-img1,
 .trpo-img2,
 .trpo-img3,
 .trpo-img4 {
     padding-top: 10%;
 }

 .trpo-list p {
     font-size: 1.2rem;
     flex-grow: 1;
     padding-bottom: 30px;
     line-height: 2.5rem;
     font-weight: 700;
     font-family: "Zen Kaku Gothic Antique", sans-serif;
     font-style: normal;
 }

 .trpo-list1,
 .trpo-list2,
 .trpo-list3,
 .trpo-list4 {
     width: 300px;
     padding: 10px;
     margin: 10px;
     background-color: #fff;
     display: flex;
     flex-direction: column;
 }

 .trpo-icon {
     text-align: center;
     padding: 20px;
 }

 .trpo-icon img {
     display: inline-block;
     width: 51px;
     height: 41px;
     position: relative;
 }

 .trpo-category {
     color: #d9303d;
 }

 .trpo-imglist {
     display: flex;
     justify-content: space-between;
     margin-top: 50px;
 }


 .trpo-img1 img,
 .trpo-img2 img,
 .trpo-img3 img,
 .trpo-img4 img {
     width: 300px;
     height: 220px;
     object-fit: cover;
 }


 .co-heading2 {
     align-items: end;
     display: flex;
     justify-content: flex-end;
     border-bottom: dashed 1.5px #ff0000;
 }

 .trpo-title2 {
     position: relative;
     font-size: 3rem;
     margin-left: 4rem;
     font-weight: 500;
 }

 .trpo-title2EN {
     color: #ff0000;
     font-family: "Zen Kaku Gothic Antique", sans-serif;
     font-style: normal;
     font-weight: 400;
 }

 .flow_design12 {
     margin-top: 150px;
 }

 .flow12 {
     margin: 0;
     padding: 0;
     z-index: 2;
     position: relative;
 }

 .flow12>li {
     list-style-type: none;
     position: relative;
     padding-bottom: 50px;
     display: flex;
     align-items: flex-start;
 }

 .flow12>li:nth-of-type(even)::after {
     content: "";
     position: absolute;
     left: 50px;
     top: 0;
     width: 0;
     height: 100%;
     border-left: 4px dotted #d4d4d4;
 }

 .flow12>li:nth-of-type(odd)::before {
     content: "";
     position: absolute;
     left: 50px;
     top: -40px;
     width: 20%;
     height: 40px;
 }

 .flow12>li:nth-of-type(odd)::after {
     content: "";
     position: absolute;
     left: 50px;
     top: 50px;
     width: 20%;
     height: calc(100% - 50px);
     border-left: 4px dotted #d4d4d4;
 }

 .flow12>li:first-of-type::before,
 .flow12>li:last-of-type::after {
     content: unset;
 }

 .flow12>li dl {
     display: inline-block;
     vertical-align: top;
     width: calc(100% - 130px);
 }

 .flow12>li .icon12 {
     display: inline-block;
     margin: 0;
     width: 100px;
     height: auto;
     margin-right: 20px;
     text-align: center;
     font-weight: bold;
     vertical-align: middle;
     font-size: 2rem;
     line-height: 100px;
     background: #00e909;
     color: #fff;
     border-radius: 100vh;
     position: relative;
     z-index: 1;
 }

 .flow12>li dt {
     display: inline-block;
     margin: 1rem 0 0.5rem;
     font-size: 2rem;
     font-weight: bold;
     line-height: 1.5;
     letter-spacing: .1em;
     text-shadow: 2px 2px 1px #ffffffbf;
 }

 .flow12>li dd {
     max-width: 550px;
     font-weight: normal;
     line-height: 2;
     letter-spacing: .1em;
     font-size: 1.2rem;
     background-color: #e9ecef7a;
 }

 @media screen and (min-width: 960px) {
     .flow12>li:nth-of-type(even) {
         margin-left: 20%;
         padding-top: 20px;
     }

     .flow12>li:nth-of-type(odd)::after {
         border-bottom: 4px dotted #d4d4d4;
     }

     .flow12>li:nth-of-type(odd)::before {
         border-top: 4px dotted #d4d4d4;
         border-left: 4px dotted #d4d4d4;
     }

     .flow12>li:nth-of-type(even)::after {
         height: calc(100% - 40px);
     }
 }

 .flow-img {
     bottom: 0;
     margin-left: 0;
     position: absolute;
     right: 0;
 }

 .flow-img img {
     max-width: 700px;
 }

 .trpo-title3 {
     position: relative;
     font-size: 3rem;
     margin-right: 4rem;
     font-weight: 500;
 }

 .trpo-title3EN {
     color: #ff0000;
     font-family: "Zen Kaku Gothic Antique", sans-serif;
     font-style: normal;
     font-weight: 400;
 }


 /* .trpo-title3::before {
     content: '';
     position: absolute;
     bottom: -20px;
     display: inline-block;
     height: 2px;
     -webkit-transform: translateX(-50%);
     transform: translateX(-50%);
     border-bottom: dashed 2px #ff0000;
     left: calc(100% - 40vw);
     width: calc(100% + 84.5vw);
 } */

 .areamap {
     position: relative;
     margin: 150px auto 80px;
 }



 @-webkit-keyframes blink {
     0% {
         opacity: 0;
     }

     100% {
         opacity: 1;
     }
 }

 @-moz-keyframes blink {
     0% {
         opacity: 0;
     }

     100% {
         opacity: 1;
     }
 }

 @keyframes blink {
     0% {
         opacity: 0;
     }

     100% {
         opacity: 1;
     }
 }



 .area-box {
     width: 100%;
     height: 100%;
     overflow: hidden;
     position: relative;
 }

 .area-japan {
     display: flex;
     justify-content: center;
 }

 .area-kanto {
     font-size: 4.3rem;
     color: #ed4e4e;
 }

 .area-text {
     display: flex;
     justify-content: center;
     align-items: center;
 }

 .area-kanto span {
     font-size: 3rem;
 }

 .collect-c {
     padding-top: 10%;
     background-image: url(img/silhouette.png);
     background-repeat: no-repeat;
 }

 .collect-c p {
     font-size: 1.5rem;
     font-weight: 600;
 }


 .circle i {
     padding-top: 8%;
     position: relative;
     top: 50%;
     left: 48%;
     transform: translate(-50%, -50%);
     font-size: 6rem;
     color: #ff0000;
     -webkit-animation: updown 2s infinite ease-in-out;
     animation: updown 2s infinite ease-in-out;
 }

 @-webkit-keyframes updown {
     0% {
         transform: translate(0, 0);
     }

     50% {
         transform: translate(0, -30px);
     }

     100% {
         transform: translate(0, 0);
     }
 }

 @keyframes updown {
     0% {
         transform: translate(0, 0);
     }

     50% {
         transform: translate(0, -30px);
     }

     100% {
         transform: translate(0, 0);
     }
 }

 .area-box img {
     -webkit-transition: all 0.4s ease;
     transition: all 0.4s ease;
 }

 @media screen and (max-width: 1480px) {
     .trpo-list p {
         font-size: 1rem;
         line-height: 2.1rem;
     }
 }

 #contact_form2 {
     margin-top: 5%;
     margin-bottom: 5%;
 }

 .co-wrapper {
     box-sizing: content-box;
     container: container / inline-size;
     margin-inline: auto;
     max-inline-size: 1400px;
     padding-inline: 3vi;
 }

 .co-heading {
     border-bottom: dashed 1.5px #ff0000;
 }

 .his-title1 {
     position: relative;
     font-size: 3rem;
     margin-right: 4rem;
     font-weight: 500;
 }

 /* .his-title1::before {
     content: '';
     position: absolute;
     bottom: -20px;
     display: inline-block;
     height: 2px;
     -webkit-transform: translateX(-50%);
     transform: translateX(-50%);
     border-bottom: dashed 2px #ff0000;
     left: calc(100% - 40vw);
     width: calc(100% + 89.5vw);
 } */

 .his-title1EN {
     color: #ff0000;
     font-family: "Zen Kaku Gothic Antique", sans-serif;
     font-style: normal;
     font-weight: 400;
 }

 .co-his {
     margin: 150px 0;
 }

 .flow_design03 {
     display: flex;
     justify-content: center;
     align-items: center;
     margin-left: 20px;
 }

 .flow_design03 ul {
     padding: 0;
 }

 .flow_design03 li {
     list-style-type: none;
 }

 .flow_design03 dd {
     margin-left: 0;
     font-size: 1.4rem;
 }

 .flow03 {
     position: relative;
 }

 .flow03::before {
     content: "";
     width: 15px;
     height: 100%;
     background: #eee;
     margin-left: -129px;
     display: block;
     position: absolute;
     top: 0;
     left: 120px;
     border-radius: 20px;
 }

 .flow03>li {
     position: relative;
 }

 .flow03>li:not(:last-child) {
     margin-bottom: 60px;
 }

 .flow03>li .icon03 {
     font-size: 0.8em;
     width: .8em;
     height: .8em;
     line-height: 2;
     text-align: center;
     font-weight: bold;
     border-radius: 100vh;
     color: #fff;
     background: #f57474;
     display: inline-block;
     margin-right: 0.3em;
 }

 .flow03>li dl {
     padding-left: 145px;
     position: relative;
 }

 .flow03>li dl::before,
 .flow03>li dl::after {
     content: "";
     display: block;
     position: absolute;
     top: 15px;
 }

 .flow03>li dl::before {
     width: 7px;
     height: 7px;
     margin-top: -3px;
     background: #f18989;
     border-radius: 50%;
     left: -4px;
 }

 .flow03>li dl::after {
     width: 100px;
     border-bottom: 1px dashed #999;
     position: absolute;
     left: 5px;
 }

 .flow03>li dl dt {
     font-size: 3em;
     font-weight: 600;
     color: #ff0000;
     margin-bottom: 0.5em;
     display: flex;
     align-items: center;
     font-family: "Old Standard TT", serif;
     font-weight: 400;
     font-style: italic;

 }


 .co-wrapper2 {
     box-sizing: content-box;
     container: container / inline-size;
     margin-inline: auto;
     max-inline-size: 1400px;
     padding-inline: 3vi;

 }

 .pro-title {
     position: relative;
     font-size: 3rem;
     margin-left: 4rem;
     font-weight: 500;

 }

 /* .pro-title::before {
     content: '';
     position: absolute;
     bottom: -20px;
     display: inline-block;
     height: 2px;
     border-bottom: dashed 2px #ff0000;
     width: calc(100% + 13vw);
 } */


 .pro-titleEN {
     color: #ff0000;
     font-family: "Zen Kaku Gothic Antique", sans-serif;
     font-style: normal;
     font-weight: 400;

 }

 table.company {
     width: 80%;
     margin: 0 auto;
     border-collapse: separate;
     border-spacing: 0px 30px;
     font-size: 1.4rem;
 }

 table.company th,
 table.company td {
     padding: 15px;
 }

 table.company th {
     background: #e50012;
     vertical-align: middle;
     text-align: left;
     width: 200px;
     overflow: visible;
     position: relative;
     color: #fff;
     font-weight: normal;
     font-size: 1.4rem;
 }

 table.company th:after {
     left: 100%;
     top: 50%;
     border: solid transparent;
     content: " ";
     height: 0;
     width: 0;
     position: absolute;
     pointer-events: none;
     border-color: rgba(136, 183, 213, 0);
     border-left-color: #e50012;
     border-width: 10px;
     margin-top: -10px;
 }

 /* firefox */
 @-moz-document url-prefix() {
     table.company th::after {
         float: right;
         padding: 0;
         left: 30px;
         top: 10px;
         content: " ";
         height: 0;
         width: 0;
         position: relative;
         pointer-events: none;
         border: 10px solid transparent;
         border-left: #295890 10px solid;
         margin-top: -10px;
     }
 }

 table.company td {
     background: #fff;
     width: auto;
     padding-left: 100px;
 }

 .co-pro {
     margin: 150px 0;
 }

 @media screen and (max-width: 1600px) {

     .area-kanto {
         font-size: 3.5rem;
     }
 }

 @media screen and (max-width: 1480px) {
     /* .main-img {
    padding-top: 15vh;
} */

     .main-L {
         width: 12%;
     }

     .maincatch {
         font-size: 7rem;
     }

     .main-R {
         width: 88%;
     }

     .txt p {
         font-size: 2.5rem;
     }

     .his-title1,
     .pro-title,
     .trpo-title1,
     .trpo-title2,
     .trpo-title3,
     .tr-title1,
     .tr-title2
      {
         font-size: 2.5rem;
     }

     .area-img {
         width: 750px;
     }

     .area-kanto {
         font-size: 3rem;
     }

     .area-kanto span {
         font-size: 2.5rem;
     }

     .collect-c {
         background-size: 450px;
     }

     .collect-c p {
         font-size: 1.3rem;
     }
 }

 @media screen and (max-width: 1400px) {

     .trpo-imglist img {
         padding: 8px;
     }

     .trpo-list1,
     .trpo-list2,
     .trpo-list3,
     .trpo-list4 {
         margin: 8px;
     }
 }

 @media screen and (max-width: 1280px) {
     .maincatch {
         font-size: 6rem;
     }

     .main-R {
         width: 85%;
     }

     .flow03>li dl dt {
         font-size: 2.5em;
     }

     .flow_design03 dd,
     table.company th,
     table.company td {
         font-size: 1.3rem;
     }

     .trpo-txt {
         margin: 120px auto 70px;
     }

     .trpo-maintext {
         font-size: 1.3rem;
     }

     .trpo-list p {
         line-height: 1.8rem;
     }

     .flow12>li dt {
         font-size: 1.8rem;
     }

     .flow12>li .icon12 {
         font-size: 1.9rem;
         width: 90px;
         line-height: 90px;
     }

     .flow-img img {
         max-width: 600px;
     }

     .area-img {
         width: 650px;
     }

     .area-kanto {
         font-size: 2.8rem;
     }

     .collect-c {
         background-size: 400px;
     }

     .collect-c p {
         font-size: 1.2rem;
     }

     .circle i {
         font-size: 5rem;
     }

     .area-kanto span {
         font-size: 2.3rem;
     }
 }

 @media screen and (max-width: 1060px) {
     .area-img {
         width: 600px;
     }

     .flow12>li dt {
         font-size: 1.7rem;
     }

     .flow12>li .icon12 {
         font-size: 1.8rem;
         width: 80px;
         line-height: 80px;
     }

     .flow12>li dd {
         line-height: 1.8;
         font-size: 1.1rem;
     }
 }


 @media screen and (max-width: 980px) {
     .maincatch {
         font-size: 5rem;
     }

     .txt p {
         font-size: 2rem;
     }

     .his-title1,
     .pro-title,
     .trpo-title1,
     .trpo-title2,
     .trpo-title3,
     .tr-title1,
     .tr-title2 {
         font-size: 2.2rem;
     }

     .his-title1EN,
     .pro-titleEN,
     .trpo-title1EN,
     .trpo-title2EN,
     .trpo-title3EN {
         font-size: 1.4rem;
     }

     .flow03>li dl dt {
         font-size: 2.3em;
     }

     .flow_design03 dd,
     table.company th,
     table.company td {
         font-size: 1.2rem;
     }

     .area-img {
         width: 500px;
     }

     .area-kanto {
         font-size: 2.6rem;
     }

     .collect-c {
         background-size: 300px;
     }

     .flow12>li dt {
         font-size: 1.5rem;
     }

     .trpo-maintext {
         font-size: 1.2rem;
     }

     .area-kanto span {
         font-size: 2rem;
     }

     .trpo-txt {
         margin: 100px auto 50px;
     }
 }

 @media screen and (max-width: 860px) {
     .area-japan {
         display: flex;
         justify-content: center;
         flex-direction: column-reverse;
         flex-wrap: nowrap;
         align-items: center;
     }

     .area-kanto {
         line-height: 1.3;
         padding-bottom: 10%;
     }

     .collect-c p {
         font-size: 1.1rem;
     }

     .trpo-list p {
         font-size: .9rem;
     }

     .flow12>li .icon12 {
         font-size: 1.6rem;
         width: 70px;
         line-height: 70px;
     }

     .flow12>li dt {
         font-size: 1.4rem;
     }

     .flow-img img {
         max-width: 500px;
     }

     .trpo-maintext {
         font-size: 1.1rem;
     }
 }


 @media screen and (max-width: 780px) {
     .maincatch {
         font-size: 4rem;
     }

     .txt p {
         font-size: 1.7rem;
     }

     .his-title1,
     .pro-title,
     .trpo-title1,
     .trpo-title2,
     .trpo-title3,
     .tr-title1,
     .tr-title2 {
         font-size: 2rem;
     }

     .his-title1EN,
     .pro-titleEN,
     .trpo-title1EN,
     .trpo-title2EN,
     .trpo-title3EN {
         font-size: 1.3rem;
     }

     .flow03>li dl dt {
         font-size: 2.2em;
     }

     .flow_design03 dd,
     table.company th,
     table.company td {
         font-size: 1.1rem;
     }

     table.company {
         width: 90%;
     }

     table.company td {
         padding-left: 70px;
     }

     table.company th {
         width: 160px;
     }

     .main-img img {
            object-position: left;
}
     .company-img img {
            object-position: -290px;
}
     .entry-img img {
            object-position: -290px;
}
 }

 @media screen and (max-width: 600px) {

     .his-title1,
     .pro-title,
     .trpo-title1,
     .trpo-title2,
     .trpo-title3,
     .tr-title1,
     .tr-title2 {
         font-size: 1.8rem;
     }

     .his-title1EN,
     .pro-titleEN,
     .trpo-title1EN,
     .trpo-title2EN,
     .trpo-title3EN {
         font-size: 1.2rem;
     }

     .flow03>li dl dt {
         font-size: 2.1em;
     }

     .flow03>li dl::after {
         width: 90px;
     }

     .flow03>li dl {
         padding-left: 130px;
     }

     .flow_design03 dd,
     table.company th,
     table.company td {
         font-size: 1rem;
     }

     .co-his {
         margin: 100px 0 0 0;
     }

     .co-pro {
         margin: 80px 0;
     }

     table.company th {
         width: 135px;
     }

     .sec-backimg img {
         padding-top: 200px;
     }

     .collect-c {
         background-size: 250px;
     }

     .collect-c p {
         font-size: 1rem;
         padding: 0 3%;
     }

     .flow12>li dd {
         line-height: 1.7;
         font-size: 1rem;
     }

     .flow12>li .icon12 {
         font-size: 1.4rem;
         width: 65px;
         line-height: 65px;
     }

     .flow-img img {
         max-width: 420px;
     }

     .area-kanto {
         font-size: 2.5rem;
     }

     .trpo-maintext {
         font-size: 1rem;
     }

     .flow_design12,
     .areamap {
         margin: 100px 0 50px 0;
     }

     .circle i {
         font-size: 4rem;
     }

     .circle i {
         left: 44%;
     }

         .scroll-infinity__item>img {
        object-position: left;
    }
 }



 @media screen and (max-width: 598px) {
     .main-R {
         width: 84%;
     }

     .maincatch {
         font-size: 3.5rem;
     }
 }

 @media screen and (max-width: 520px) {
     table.company {
         width: 100%;
     }

     table.company td {
         padding-left: 60px;
     }

     .flow_design03 {
         margin-left: 0;
     }

     .flow03>li dl {
         padding-left: 110px;
     }

     .flow03>li dl dt {
         font-size: 2em;
     }

     .flow03>li dl::after {
         width: 80px;
     }

     .flow-img img {
         max-width: 350px;
     }

     .area-img {
         width: 400px;
     }

     .flow12>li dt {
         font-size: 1.3rem;
     }

     .area-kanto {
         font-size: 2.2rem;
     }

     .area-kanto span {
         font-size: 1.7rem;
     }
 }

 @media screen and (max-width: 500px) {

     .his-title1,
     .pro-title,
     .trpo-title1,
     .trpo-title2,
     .trpo-title3,
     .tr-title1,
     .tr-title2 {
         font-size: 1.6rem;
     }

     table.company td {
         padding-left: 45px;
     }

     .flow03>li .icon03 {
         width: .7em;
         height: .7em;
     }

     .trpo-title1,
     .trpo-title3 {
         margin-right: 2rem;
     }

     .trpo-title2 {
         margin-left: 2rem;
     }

     .flow12>li dl {
         width: calc(100% - 100px);
     }
 }

 @media screen and (max-width: 440px) {
     .maincatch {
         font-size: 3.2rem;
     }

     table.company th {
         width: 125px;
     }

     table.company th,
     table.company td {
         padding: 14px;
     }

     table.company td {
         padding-left: 35px;
     }

     .flow03>li dl {
         padding-left: 95px;
     }

     .flow03>li dl::after {
         width: 70px;
     }

     table.company th {
         width: 120px;
     }

     table.company td {
         padding-left: 22px;
     }

     table.company {
         border-spacing: 0px 20px;
     }

     .flow_design03 dd,
     table.company th,
     table.company td {
         font-size: .95rem;
     }

     table.company th {
         width: 114px;
     }

     .flow03>li dl dt {
         font-size: 1.9em;
     }
 }

 @media screen and (max-width: 420px) {

     .flow-img img {
         max-width: 300px;
     }

     .area-img {
         width: 350px;
     }

     .collect-c p {
         font-size: .95rem;
     }

     .trpo-maintext {
         font-size: .95rem;
     }

     .flow12>li dd {
         line-height: 1.6;
         font-size: .95rem;
     }

     .area-kanto {
         font-size: 2rem;
     }

     .area-kanto span {
         font-size: 1.5rem;
     }
 }


 @media screen and (max-width: 390px) {
     .maincatch {
         font-size: 3rem;
     }
 }


 /* ---------↓コンタクトページ↓--------- */


 /************************************
** Contact form 7 CSSカスタマイズ
************************************/
 /* 入力欄全体の設定 */

 input[type="text"],
 input[type="password"],
 input[type="datetime"],
 input[type="date"],
 input[type="month"],
 input[type="time"],
 input[type="week"],
 input[type="number"],
 input[type="email"],
 input[type="url"],
 input[type="search"],
 input[type="tel"],
 input[type="color"],
 select,
 textarea {
     display: block;
     width: 100%;
     height: 45px;
     margin-bottom: 0;
     padding: 0 12px;
     border: 0;
     border-radius: 3px;
     box-shadow: none;
     background-color: #F6F8F8;
     color: #5c6b80;
     font-size: 1em;
     vertical-align: middle;
     line-height: 45px;
     transition: background-color 0.24s ease-in-out;
 }

 /* テキストエリアの設定 */

 table.CF7_table textarea {
     resize: vertical;
     max-width: 100%;
     min-height: 300px;
     line-height: 1.5em;
     padding: 0.5em;
     overflow: auto;
 }

 /* 入力欄とテキストエリア共通 */

 .CF7_table input,
 .CF7_table select,
 .CF7_table textarea {
     border: 1px solid #cccccc;
     background-color: #ebebeb;
 }

 .cf7__list dd p span textarea {
     height: 10vh;
 }

 /* table */

 table.CF7_table {
     width: 100%;
     margin: 0 auto;
     border: none !important;
     max-width: 1200px;
 }

 table.CF7_table tr th p {
     text-align: start;
 }

 table.CF7_table tr {
     border-top: 1px solid #e5e5e5;
 }

 table.CF7_table th {
     width: 30%;
     background-color: #F6F8F8;
     font-size: 15px;
     vertical-align: middle;
 }

 .wpcf7-form-control-wrap {
     font-size: .9rem;
 }

 /* 背景を削除 */

 table.CF7_table tr,
 table.CF7_table th,
 table.CF7_table td {
     padding: 0.75rem 0.75rem !important;
     background: none !important;
     border: none !important;
 }

 .single .entry-content table.CF7_table,
 .page .entry-content table.CF7_table {
     display: table;
 }

 .CF7_table ::placeholder {
     color: #797979;
 }

 /*「必須」文字*/

 .CF7_req {
     font-size: .9em;
     padding: 4px 7px;
     background: #ff0000;
     color: #fff;
     border-radius: 3px;
     margin-right: 1em;
 }

 /*「任意」文字*/

 .CF7_unreq {
     font-size: .9em;
     padding: 4px 7px;
     background: #bdbdbd;
     color: #fff;
     border-radius: 3px;
     margin-right: 1em;
 }

 .wp-block-image img {
     max-width: 700px;
 }

 .wp-block-gallery.has-nested-images figure.wp-block-image {
     max-width: 700px;
 }

 .content_wrap h2 {
     margin-bottom: 5%;
 }

 .single_txt {
     font-size: 20px;
 }

 /* 「送信する」ボタン */

 .wpcf7 input.wpcf7-submit {
     background-color: #fff;
     border: 3px solid #ff0000;
     box-shadow: 5px 5px #ff0000;
     font-size: 1.2em;
     font-weight: bold;
     margin: 0 auto;
     padding: 15px 30px;
     transition: all 0.5s 0s ease;
     width: 250px;
 }

 .wpcf7 input.wpcf7-submit:hover {
     background: #fff;
     color: #ff0000;
 }

 .CF7_btn {
     text-align: center;
     margin: 20px;
 }

 .wpcf7-spinner {
     width: 0;
     margin: 0;
 }

 .recruit-title1 {
     position: relative;
     font-size: 3rem;
     margin-right: 4rem;
     font-weight: 500;
 }

 .recruit-title2 {
     position: relative;
     font-size: 3rem;
     margin-left: 4rem;
     font-weight: 500;

 }

 .cp_qa03 {
     margin-top: 100px;
 }

 .cp_qa03 .cp_actab {
     position: relative;
     width: 100%;
     margin: 0 0 1em 0;
     color: #1b2538;
 }

 .cp_qa03 .cp_actab input {
     display: none;
 }

 /* 質問 */
 .cp_qa03 .cp_actab label {
     font-size: 1.3rem;
     font-weight: bold;
     line-height: 1.6em;
     position: relative;
     display: block;
     margin: 0 0 0 0;
     padding: 2em 2em 2em 2.5em;
     cursor: pointer;
     text-indent: 1em;
     border-radius: 0.5em;
     background: rgba(27, 37, 56, 0.1);
 }

 .cp_qa03 .cp_actab label::before {
     content: 'Q';
     font-family: serif;
     font-size: 1.5em;
     margin-left: -2em;
     padding-right: 0.5em;
 }

 .cp_qa03 .cp_actab label:hover {
     color: #ff0000;
     transition: all 0.3s;
 }

 /* --質問の＋アイコン */
 .cp_qa03 .cp_actab label::after {
     position: absolute;
     top: 0;
     right: 0;
     content: '+';
     font-size: 1.7em;
     font-weight: bold;
     line-height: 2em;
     display: inline-block;
     width: 2em;
     height: 2em;
     transition: transform 0.3s;
 }

 /* 答え */
 .cp_qa03 .cp_actab .cp_actab-content {
     position: relative;
     overflow: hidden;
     max-height: 0;
     padding: 0 0 0 2.5em;
     border-radius: 0 0 0.5em 0.5em;
     transition: max-height 0.2s;
 }

 .cp_qa03 .cp_actab .cp_actab-content::before {
     position: absolute;
     content: 'A';
     font-family: serif;
     font-size: 1.5em;
     margin: 0.4em 0 0 -1em;
     padding: 0;
 }

 .cp_qa03 .cp_actab .cp_actab-content p {
     margin: 2em 1em 2em 0;
     font-size: 1.3rem;
     text-align: left;
 }

 /* 質問を開いた時の仕様 */
 /* --答えの高さ */
 .cp_qa03 .cp_actab input:checked~.cp_actab-content {
     max-height: 40em;
     border: 10px solid rgba(27, 37, 56, 0.1);
 }

 /* 質問をクリックした時のアイコンの動き */
 .cp_qa03 .cp_actab input:checked~label {
     color: #ff0000;
     border-radius: 0.5em 0.5em 0 0;
 }

 /* 質問をクリックした時の+の動き */
 .cp_qa03 .cp_actab input[type=checkbox]:checked+label::after {
     transform: rotateZ(45deg);
     transform-origin: 50% 50%;
 }

 .p_contact {
     margin: 13% 3% 5% 3%;
 }

 .p_contact p {
     font-weight: bold;
 }


 /* レスポンシブ */

 @media screen and (min-width: 769px) {
     #contact_form {
         margin: 0 3%;
     }
 }

 @media screen and (max-width: 768px) {
     table.CF7_table {
         width: 100%;
     }

     .CF7_table tr,
     .CF7_table td,
     .CF7_table th {
         display: block;
         width: 100% !important;
         line-height: 1.5em;
     }

     .CF7_table th {
         background-color: #F6F8F8;
     }
 }

 @media screen and (max-width: 600px) {

     .p_contact p {
         font-size: .8rem;
     }
 }

 @media screen and (max-width: 500px) {

     table.CF7_table tr,
     table.CF7_table th,
     table.CF7_table td {
         padding: 0.5rem 0.5rem !important;
         background: none !important;
         border: none !important;
     }
 }


 /* ---------↓リクルートページ↓--------- */

 .recruit {
     background-image: linear-gradient(to bottom, #ff0000, #f4a460, #faf0e6);
     position: relative;
 }

 .recruit-img {
     object-position: top;
 }


 .page-id-27 .header {
     display: none;
 }

 .ticker-recruit {
     white-space: nowrap;
     width: 100%;
     height: 100vh;
     display: flex;
     align-items: center;
     overflow: hidden;
 }

 .ticker-recruit ul {
     display: flex;
     align-items: center;
     animation: ticker 50s linear infinite;
 }

 .ticker-recruit li {
     margin-right: 20px;
     font-family: Montserrat, sans-serif;
     font-weight: 800;
     opacity: 0.3;
     padding-bottom: 50px;
     color: #fff;
 }

 .txt-recruit {
     display: flex;
     overflow: hidden;
 }

 .txt-recruit p {
     font-size: 3rem;
     font-weight: bold;
     letter-spacing: .5rem;
     transform: translateY(10em);
     animation: textanimation 1s forwards;
     color: #fff;
     font-weight: 500;
     font-style: normal;
 }


 .txt-recruit p:nth-child(1) {
     animation-delay: 0.2s
 }

 .txt-recruit p:nth-child(2) {
     animation-delay: 0.4s
 }

 .txt-recruit p:nth-child(3) {
     animation-delay: 0.6s
 }

 .txt-recruit p:nth-child(4) {
     animation-delay: 0.8s
 }

 .txt-recruit p:nth-child(5) {
     animation-delay: 1s
 }

 .txt-recruit p:nth-child(6) {
     animation-delay: 1.2s
 }

 .txt-recruit p:nth-child(7) {
     animation-delay: 1.4s
 }

 .txt-recruit p:nth-child(8) {
     animation-delay: 1.6s
 }

 .txt-recruit p:nth-child(9) {
     animation-delay: 1.8s
 }

 .txt-recruit p:nth-child(10) {
     animation-delay: 2s
 }


 @keyframes textanimation {
     0% {
         transform: translatey(5em);
     }

     100% {
         transform: translatey(0);
     }
 }


 .scrollbar-text {
     display: inline-block;
     position: absolute;
     bottom: 0;
     padding: 10px 10px 110px;
     color: #ffffff;
     font-size: 14px;
     font-family: serif;
     line-height: 1;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     writing-mode: vertical-lr;
     left: 10%;
     transform: translateX(-50%);
     z-index: 1;
 }


 #Entry_form {
     max-width: 1200px;
     width: 100%;
     margin: 0 auto;
 }

 .cf7__list {
     display: flex;
     flex-wrap: wrap;
     margin-bottom: 60px;
 }

 .cf7__list dt:nth-of-type(n + 2),
 .cf7__list dd:nth-of-type(n + 2) {
     margin-top: 30px;
 }

 .cf7__list dt {
     width: 35%;
     padding-top: 15px;
 }

 .cf7__list dt p {
     text-align: start;
 }

 .cf7__list dd {
     width: 65%;
 }

 /* 必須・任意 */
 .cf7__required,
 .cf7__optional {
     margin-right: 15px;
     padding: 6px 14px;
     color: #fff;
     font-size: 12px;
     vertical-align: 1px;
 }

 .cf7__required {
     background: #ff0000;
 }

 .cf7__optional {
     background: #878D8E;
 }

 /* input・textarea */
 .cf7__list dd input[type="text"],
 .cf7__list dd input[type="tel"],
 .cf7__list dd input[type="email"],
 .cf7__list dd textarea {
     width: 100%;
     padding: 15px 20px;
     background: #d4d4d4;
 }

 /* ドロップダウンメニュー */
 .cf7__select {
     position: relative;
 }

 .cf7__select:before {
     position: absolute;
     top: 50%;
     right: 20px;
     z-index: 10;
     transform: translateY(-50%);
     width: 0;
     height: 0;
     border-top: 8px solid #000;
     border-right: 6px solid transparent;
     border-left: 6px solid transparent;
     pointer-events: none;
     content: '';
 }

 input {
     border-width: 1px;
     border-radius: 5px;
 }

 .cf7__select select {
     width: 100%;
     padding: 19px 20px;
     background: #d4d4d4;
     color: #000;
     -webkit-appearance: none;
     -moz-appearance: none;
     appearance: none;
     border-radius: 5px;
 }

 .form_span {
     font-size: 14px;
     color: #555;
 }

 /* チェックボックス・ラジオボタン */
 .cf7__list dd .wpcf7-checkbox,
 .cf7__list dd .wpcf7-radio {
     display: block;
     padding: 15px 0 10px;
 }

 /* 縦並び（チェックボックス・ラジオボタン） */
 .cf7__list dd .wpcf7-list-item {
     display: block;
     margin: 0;
 }

 .cf7__list dd .wpcf7-list-item:nth-child(n + 2) {
     margin-top: 18px;
 }

 /* マウスカーソル（チェックボックス・ラジオボタン） */
 .cf7__list dd .wpcf7-list-item label {
     cursor: pointer;
 }

 /* チェックボックス・ラジオボタン */
 input[type="checkbox"],
 input[type="radio"] {
     position: relative;
     width: 20px;
     height: 20px;
     margin-right: 8px;
     border: 1px solid #000000;
     background: #fff;
     vertical-align: -3px;
     cursor: pointer;
     -webkit-appearance: none;
     -moz-appearance: none;
     appearance: none;
     appearance: none;
 }

 /* チェックボックス */
 input[type="checkbox"]:checked {
     border: 1px solid #000;
     background: #000;
 }

 input[type="checkbox"]:checked:before {
     position: absolute;
     top: 2px;
     left: 5px;
     transform: rotate(50deg);
     width: 6px;
     height: 10px;
     border-right: 2px solid #fff;
     border-bottom: 2px solid #fff;
     content: '';
 }

 /* ラジオボタン */
 input[type="radio"] {
     border-radius: 50%;
 }

 input[type="radio"]:checked:before {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     width: 9px;
     height: 9px;
     border-radius: 50%;
     background: #000;
     content: '';
 }

 /* プレースホルダー */
 /* Google Chrome / Safari / Mozilla Firefox / Opera */
 .cf7__list dd input[type="text"]::placeholder,
 .cf7__list dd input[type="tel"]::placeholder,
 .cf7__list dd input[type="email"]::placeholder,
 .cf7__list dd textarea::placeholder {
     color: #a5a5a5;
 }

 /* Microsoft Edge */
 .cf7__list dd input[type="text"]::-ms-input-placeholder,
 .cf7__list dd input[type="tel"]::-ms-input-placeholder,
 .cf7__list dd input[type="email"]::-ms-input-placeholder,
 .cf7__list dd textarea::-ms-input-placeholder {
     color: #a5a5a5;
 }

 /* Internet Explorer */
 .cf7__list dd input[type="text"]:-ms-input-placeholder,
 .cf7__list dd input[type="tel"]:-ms-input-placeholder,
 .cf7__list dd input[type="email"]:-ms-input-placeholder,
 .cf7__list dd textarea:-ms-input-placeholder {
     color: #a5a5a5;
 }

 /* 送信ボタン */
 .cf7__button {
     text-align: center;
     margin-top: 30px;
 }

 .cf7__button p {
     text-align: center;
 }

 .btn_cf7 {
     margin: 25px auto 10%;
     text-align: center;
 }

 .btn_cf {
     margin: 25px auto 10%;
     text-align: center;
 }

 /* .wpcf7-form-control.wpcf7-submit.has-spinner {
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  position: relative;
  width: 250px;
  margin: auto;
  padding: 1rem 4rem;
  font-weight: bold;
  border-radius: 10px;
  color: #0e6eb8;
  border: 3px solid #0e6eb8;
  box-shadow: 5px 5px #0e6eb8;
  transition: 0.3s ease-in-out;
  font-family: serif;
  font-size: 18px;
  background: #fff;
} */

 /* .wpcf7-form-control.wpcf7-submit.has-spinner:hover {
  box-shadow: none;
  transform: translate(5px, 5px);
  color: #27acd9;
} */

 /* ajax-loader */
 .wpcf7-spinner {
     vertical-align: middle;
 }

 @media screen and (max-width: 767px) {

     .cf7__list dt {
         width: 100%;
         margin-bottom: 15px;
         padding-top: 0;
     }

     .cf7__list dd {
         width: 100%;
     }

     .cf7__list dd:nth-of-type(n + 2) {
         margin-top: 0;
     }

     .cf7__list dd .wpcf7-checkbox,
     .cf7__list dd .wpcf7-radio {
         padding: 15px 0 0;
     }

     /* 送信ボタン */
     input[type="submit"] {
         width: 180px;
         height: 56px;
     }
 }


 .send {
     --bg-gradient: linear-gradient(#ff2300 0 100%);
     margin: 0.5rem;
     padding: 2rem;
     background-image:
         var(--bg-gradient),
         var(--bg-gradient),
         var(--bg-gradient),
         var(--bg-gradient);
     background-repeat: no-repeat;
     background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%;
     background-position: left top 5px, right 5px top, left bottom 5px, left 5px top;
     margin: 2% auto;
     font-size: 16px;
 }

 .send p {
     line-height: 1.5;
     color: #222;
 }

 .other_top_txt {
     max-width: 1000px;
     margin: 0 auto;
 }

 .other-heading {
     position: relative;
     padding-top: 50px;
     padding-left: 30px;
     font-size: 26px;
     margin: 5% auto;
 }

 .other-heading span {
     position: relative;
     z-index: 0;
 }

 .recruit_table {
     background-color: #fff;
 }

 .other-heading::before {
     content: attr(data-en);
     position: absolute;
     transform: rotate(-5deg);
     top: 0;
     left: 0;
     color: #0e6eb896;
     font-size: 80px;
     font-weight: 400;
     font-family: 'Mrs Saint Delafield', cursive;
 }

 .trpo-title-e {
     position: relative;
     font-size: 3rem;
     margin-right: 4rem;
     font-weight: 500;
     color: #fff;
 }

 .co-heading3 {
     border-bottom: dashed 1.5px #fbff00;

 }

 /* .trpo-title-e::before {
     content: '';
     position: absolute;
     bottom: -20px;
     display: inline-block;
     height: 2px;
     -webkit-transform: translateX(-50%);
     transform: translateX(-50%);
     border-bottom: dashed 2px #fbff00;
     left: calc(100% - 30vw);
     width: calc(100% + 66vw);
 } */

 .trpo-title1EN-e {
     color: #fbff00;
     font-family: "Zen Kaku Gothic Antique", sans-serif;
     font-style: normal;
     font-weight: 400;
 }

 .R_index {
     max-width: 1000px;
     width: 95%;
     margin: 5% auto 10%;
 }

 .R_copy {
     position: relative;
     padding: 2rem 0rem;
     box-sizing: border-box;
     margin-bottom: 50px;
     color: #fff;
 }

 /* .R_copy::before {
     position: absolute;
     top: 0;
     bottom: 0;
     left: 50%;
     transform: translateX(-50%);
     width: 10px;
     border-top: 10px solid #fbff00;
     border-bottom: 10px solid #fbff00;
     content: '';
 } */

 .rec-heading {
     position: relative;
     padding-top: 50px;
 }

 .rec-heading::before {
     top: calc(0% - 4px);
     left: 50%;
 }

 .rec-heading::after {
     top: calc(-8% + 3px);
     left: 49.5%;
 }

 .rec-heading::before,
 .rec-heading::after {
     display: inline-block;
     position: absolute;
     transform: translateX(-50%);
     width: 16px;
     height: 16px;
     border: 3px solid #ffffff;
     content: '';
 }

 .R_copy p {
     line-height: 1.5;
     font-size: 1.4rem;
 }

 .marker {
     background: linear-gradient(transparent 80%, rgb(245 175 88) 80%);
     display: inline;

     /* 背景の繰り返しを停止 */
     background-repeat: no-repeat;

     /* マーカーの横方向を0にして縮める */
     background-size: 0% 100%;

     /* マーカーが引かれる速度を指定 */
     transition: background-size 1.5s;
 }

 .marker.on {
     /* 横方向を100%にして、マーカーを引く */
     background-size: 100% 100%;
 }

 /* 通常サイズのブラウザに適用する基本的なテーブルのスタイル */
 .table_design {
     border-collapse: collapse;
     /* セルの境界線を重ね合わせるため、ボーダーを重ねる */
     width: 100%;
     /* テーブルの幅を100%に設定 */
     font-size: 18px;
 }

 .table_design th,
 .table_design td {
     padding: 15px;
     /* セル内のコンテンツとセルの境界線の間に余白を設ける */
     border: solid 1px #ccc;
     /* セルの境界線のスタイルを設定 */
     text-align: center;
     /* セル内のテキストを中央揃えに設定 */
     box-sizing: border-box;
     /* ボックスのサイズをコンテンツボックスに設定 */
 }

 .table_design th {
     width: 30%;
     background: #f3e9e9;
     /* 背景色を設定 */
     /* テキスト色 */
 }

 .table_design td {
     text-align: left;
 }

 /* ブラウザサイズが600px以下になったときのスタイル */
 @media screen and (max-width: 600px) {
     .table_design {
         width: 100%;
         /* テーブルの幅を100%に設定 */
     }

     .table_design th,
     .table_design td {
         display: block;
         /* ブロック要素として表示 */
         width: 100%;
         /* 幅を100%に設定 */
         border-bottom: none;
         /* セルの下部の境界線を削除 */
     }

     .table_design tr:last-child {
         border-bottom: solid 1px #ccc;
         /* 最後の行の下部に境界線を追加 */
     }
 }

 .Entry-head h2 {
     position: absolute;
     padding-left: 50px;
     font-weight: bold;
     font-size: 56px;
     left: 41%;
 }

 .Entry-head h2::before {
     position: absolute;
     top: -20px;
     left: 0;
     border-right: 5px solid #84d821;
     color: black;
     font-size: 20px;
     writing-mode: vertical-rl;
     -ms-writing-mode: tb-rl;
     text-transform: uppercase;
     content: 'Entry flow';
     height: 170px;
 }

 .Entry-flow_design {
     max-width: 1000px;
     margin: 5% auto;
 }

 .E-flow {
     margin: 0;
     padding: 0;
 }

 .E-flow>li {
     list-style-type: none;
     position: relative;
     padding-bottom: 50px;
     display: flex;
     align-items: flex-start;
 }

 .E-flow>li:nth-of-type(even)::after {
     content: "";
     position: absolute;
     left: 50px;
     top: 0;
     width: 0;
     height: 100%;
     border-left: 4px dotted #fff;
 }

 .E-flow>li:nth-of-type(odd)::before {
     content: "";
     position: absolute;
     left: 50px;
     top: -40px;
     width: 20%;
     height: 40px;
 }

 .E-flow>li:nth-of-type(odd)::after {
     content: "";
     position: absolute;
     left: 50px;
     top: 50px;
     width: 20%;
     height: calc(100% - 50px);
     border-left: 4px dotted #fff;
 }

 .E-flow>li:first-of-type::before,
 .flow12>li:last-of-type::after {
     content: unset;
 }

 .E-flow>li dl {
     display: inline-block;
     vertical-align: top;
     width: calc(100% - 100px);
 }

 .E-flow>li .E-icon {
     display: inline-block;
     margin: 0;
     width: 100px;
     height: auto;
     margin-right: 20px;
     text-align: center;
     font-weight: bold;
     vertical-align: middle;
     font-size: 2rem;
     line-height: 100px;
     background: #a5a5a5;
     color: #fff;
     border-radius: 100vh;
     position: relative;
     z-index: 1;
 }

 .E-flow>li dt {
     display: inline-block;
     margin: 1rem 0 0.5rem;
     font-size: 2.5rem;
     font-weight: bold;
     line-height: 1.5;
     letter-spacing: .1em;
 }

 .E-flow>li dd {
     max-width: 550px;
     margin: 0;
     font-weight: normal;
     line-height: 2;
     letter-spacing: .1em;
     font-size: 18px;
 }

 @media screen and (min-width: 960px) {
     .E-flow>li:nth-of-type(even) {
         margin-left: 20%;
         padding-top: 20px;
     }

     .E-flow>li:nth-of-type(odd)::after {
         border-bottom: 4px dotted #fff;
     }

     .E-flow>li:nth-of-type(odd)::before {
         border-top: 4px dotted #fff;
         border-left: 4px dotted #fff;
     }

     .E-flow>li:nth-of-type(even)::after {
         height: calc(100% - 40px);
     }
 }

 .E-foam {
     width: 100%;
     background-color: #f9f9f9;
     padding: 0.1% 0% 0% 0%;
     margin-top: 5%;
     z-index: 99;
     position: relative;
 }

 .foam-head h2 {
     position: absolute;
     padding-left: 50px;
     font-weight: bold;
     font-size: 54px;
     left: 41%;
     margin-top: -35px;
 }

 .foam-head h2::before {
     position: absolute;
     top: -20px;
     left: 0;
     border-right: 5px solid #84d821;
     color: black;
     font-size: 20px;
     writing-mode: vertical-rl;
     -ms-writing-mode: tb-rl;
     text-transform: uppercase;
     content: 'Entry foam';
     height: 170px;
 }

 .Entry-flow_design {
     max-width: 1000px;
     margin: 10% auto;
 }

 .entry {
     margin-top: 100px;
 }




 /* リクルートレスポンシブ */

 @media screen and (max-width: 1480px) {
     .txt-recruit p {
         font-size: 2.5rem;
     }

     .caption {
         font-size: 7rem;
     }

     .R_copy p {
         line-height: 1.4;
         font-size: 1.3rem;
     }

     .trpo-title-e,
     .tr-title-r,
     .recruit-title1,
     .recruit-title2 {
         font-size: 2.5rem;
     }

     .E-flow>li dt {
         font-size: 2rem;
         line-height: 1.4;
     }

     .E-flow>li dd {
         line-height: 1.8;
         font-size: 17px;
     }

     .cp_qa03 .cp_actab label {
         padding: 1.7em 1.7em 1.7em 2.3em;
     }

     .cp_qa03 .cp_actab .cp_actab-content p {
         margin: 1.7em 1em 1.7em 0;
     }
 }

 @media screen and (max-width: 1280px) {
     .caption {
         font-size: 6.5rem;
     }
 }

 @media screen and (max-width: 980px) {
     .caption {
         font-size: 5.5rem;
     }

     .txt-recruit p {
         font-size: 2rem;
     }

     .trpo-title-e,
     .tr-title-r,
     .recruit-title1,
     .recruit-title2 {
         font-size: 2.2rem;
     }

     .R_copy p {
         font-size: 1.2rem;
     }

     .E-flow>li dt {
         font-size: 1.8rem;
     }

     .E-flow>li .E-icon {
         width: 85px;
         line-height: 85px;
         font-size: 1.8rem;
     }

     .cp_qa03 .cp_actab label {
         font-size: 1.1rem;
         line-height: 1.5em;
     }

     .cp_qa03 .cp_actab .cp_actab-content p {
         font-size: 1.1rem;
     }

     .table_design {
         font-size: 17px;
     }

     .trpo-title1EN-e,
     .tr-title2EN-r,
     .tr-title1EN,
     .tr-title2EN {
         font-size: 1.4rem;
     }

 }

 @media screen and (max-width: 780px) {
     .txt-recruit p {
         font-size: 1.7rem;
     }

     .caption {
         font-size: 5rem;
     }

     .trpo-title-e,
     .tr-title-r,
     .recruit-title1,
     .recruit-title2 {
         font-size: 2rem;
     }

     .R_copy p {
         font-size: 1.1rem;
     }

     .table_design {
         font-size: 16px;
     }

     .E-flow>li dd {
         line-height: 1.6;
         font-size: 16px;
     }

     .E-flow>li dt {
         font-size: 1.7rem;
     }

     .wpcf7 input.wpcf7-submit {
         font-size: 1em;
         width: 200px;
     }

     .trpo-title1EN-e,
     .tr-title2EN-r,
     .tr-title1EN,
     .tr-title2EN {
         font-size: 1.3rem;
     }

 }

 @media screen and (max-width: 600px) {

     .mainttl {
         margin-top: 75px;
     }

     .caption {
         font-size: 4.5rem;
     }

     .trpo-title-e,
     .tr-title-r,
     .recruit-title1,
     .recruit-title2 {
         font-size: 1.8rem;
     }

     .R_copy p {
         font-size: 1rem;
     }

     .table_design {
         font-size: 15px;
     }

     .E-flow>li dt {
         font-size: 1.5rem;
     }

     .E-flow>li dd {
         line-height: 1.4;
         font-size: 15px;
     }

     .E-flow>li .E-icon {
         width: 75px;
         line-height: 75px;
         font-size: 1.7rem;
     }

     .cp_qa03 .cp_actab label {
         font-size: 1rem;
         line-height: 1.4em;
     }

     .cp_qa03 .cp_actab label {
         padding: 1.5em 1.5em 1.5em 2.3em;
     }

     .cp_qa03 .cp_actab .cp_actab-content p {
         margin: 1.5em 1em 1.5em 0;
     }

     .cp_qa03 .cp_actab .cp_actab-content p {
         font-size: 1rem;
     }

     .cp_qa03 .cp_actab label::after {
         font-size: 1.5em;
         line-height: 1.8em;
     }

     .cf7__list dt p {
         font-size: .9rem;
     }

     .trpo-title1EN-e,
     .tr-title2EN-r,
     .tr-title1EN,
     .tr-title2EN {
         font-size: 1rem;
     }

 }

 @media screen and (max-width: 500px) {

     .trpo-title-e,
     .tr-title-r,
     .recruit-title1,
     .recruit-title2 {
         font-size: 1.6rem;
     }

     .trpo-title-e,
     .recruit-title1 {
         margin-right: 2rem;
     }

     .tr-title-r,
     .recruit-title2 {
         margin-left: 2rem;
     }

     .mainttl {
         margin-top: 65px;
     }

     .caption {
         font-size: 4rem;
     }

     .wpcf7 input.wpcf7-submit {
         border: 2px solid #ff0000;
         box-shadow: 3px 3px #ff0000;
         font-size: 1em;
         width: 180px;
     }

     .wpcf7-list-item {
         font-size: .8rem;
     }

     .R_copy p {
         font-size: .9rem;
     }

     .table_design {
         font-size: 14px;
     }

     .E-flow>li dt {
         font-size: 1.4rem;
     }

     .E-flow>li dd {
         line-height: 1.4;
         font-size: 14px;
     }

     .E-flow>li .E-icon {
         width: 70px;
         line-height: 70px;
         font-size: 1.6rem;
     }

     .wpcf7 input.wpcf7-submit {
         font-weight: normal;
        color: #000;
     }

     .cp_qa03 .cp_actab label {
         font-size: .9rem;
     }
 }

 /* .recruit-title1::before {
     content: '';
     position: absolute;
     bottom: -20px;
     display: inline-block;
     height: 2px;
     -webkit-transform: translateX(-50%);
     transform: translateX(-50%);
     border-bottom: dashed 2px #ff0000;
     left: calc(100% - 40vw);
     width: calc(100% + 91.5vw);
 }
 */

 /* .recruit-title2::before {
     content: '';
     position: absolute;
     bottom: -20px;
     display: inline-block;
     height: 2px;
     border-bottom: dashed 2px #ff0000;
     width: calc(100% + 32.5vw);
 } */

 /* -----------↓リサイクル↓----------- */


 .re-title1 {
     position: relative;
     font-size: 3rem;
     margin-right: 4rem;
     font-weight: 500;
 }

 .re-title2 {
     position: relative;
     font-size: 3rem;
     margin-left: 4rem;
     font-weight: 500;
 }


 /* .re-title1::before {
     content: '';
     position: absolute;
     bottom: -20px;
     display: inline-block;
     height: 2px;
     -webkit-transform: translateX(-50%);
     transform: translateX(-50%);
     border-bottom: dashed 2px #ff0000;
     left: calc(100% - 40vw);
     width: calc(100% + 89vw);
 } */

 /* .re-title2::before {
     content: '';
     position: absolute;
     bottom: -20px;
     display: inline-block;
     height: 2px;
     border-bottom: dashed 2px #ff0000;
     width: calc(100% + 26vw);
 } */

 .recycle-group {
     margin-top: 100px;
     max-width: 1400px;
 }

 .main-recycle {
     display: flex;
     justify-content: center;
     vertical-align: middle;
     align-items: center;
     margin-top: 5%;
 }

 .recycle-catch {
     width: 30%;
 }

 .recycle-catch p {
writing-mode:vertical-rl;     text-align: start;
     margin: 0 auto;
     font-size: 1.6rem;
     line-height: 2.2;
     font-weight: 600;
     color: #316ea9;
 }

 .recycle-img {
     width: 60%;
 }

 .block-flex {
     display: flex;
     flex-wrap: wrap;
     justify-content: flex-start;
     gap: 30px;
 }

 .block {
     position: relative;
     display: block;
     width: 300px;
     line-height: 0;
     margin-top: 50px;
 }

 .block img {
     width: 300px;
     height: 300px;
     object-fit: cover;
 }

 .block:after {
     content: "";
     position: absolute;
     right: 0;
     top: 0;
     z-index: 1;
     display: block;
     width: 100%;
     height: 100%;
     background: #f9f9f9;
     transition: width 1.5s cubic-bezier(0.25, 1, 0.25, 1);
 }

 .active.block:after {
     width: 0;
 }

 @media screen and (max-width:1480px) {

     .recycle-catch p {
         font-size: 1.3rem;
     }

     .re-title1,
     .re-title2 {
        font-size: 2.5rem;
     }

 }

 @media screen and (max-width:1280px) {

     .recycle-catch p {
         font-size: 1.2rem;
     }

     .recycle-catch {
    height: 350px;
}

.main-recycle {
    margin-top: 12%;
}

 }

 @media screen and (max-width:980px) {

     .recycle-catch p {
         font-size: 1.1rem;
     }

          .re-title1,
     .re-title2 {
        font-size: 2.2rem;
     }
.tr-title1EN,
.tr-title2EN {
    font-size: 1.4rem;
}

 }

  @media screen and (max-width:780px) {

      .re-title1,
     .re-title2 {
        font-size: 2rem;
     }

     .tr-title1EN,
.tr-title2EN {
    font-size: 1.3rem;
}
    .recycle-catch p {
        font-size: 1rem;
    }
    }


 @media screen and (max-width:640px) {
     .block {
         width: 100%;
     }
 }

   @media screen and (max-width:600px) {

      .re-title1,
     .re-title2 {
        font-size: 1.8rem;
     }

     .tr-title1EN,
.tr-title2EN {
    font-size: 1rem;
}
    .recycle-catch p {
        font-size: .95rem;
            line-height: 2.5rem;
    }
    .recycle-catch {
    width: 25%;
}

.main-recycle {
    display: block;
}

    .recycle-catch {
                width: 100%;
        height: 270px;
    }

    .recycle-img {
    width: 70%;
    margin: 0 auto;
}

.br-recycle {
    display: none;
}

    }

       @media screen and (max-width:500px) {

      .re-title1,
     .re-title2 {
        font-size: 1.6rem;
     }

           .re-title1 {
            margin-right: 2rem;
           }

     .re-title2 {
        margin-left: 2rem;
     }

         .recycle-img {
    width: 90%;
    margin: 0 auto;
}

    }




 /* ************************************
  ************************************ */


    .privacy {
        width: 80%;
        margin: 100px 50px;
    }
    
    .privacy h2 {
        font-size: 20px;
        padding: 0.25em 0.5em;
        color: #0c0c0c;
        background: #ffffff;
        border-left: solid 5px #ff0000;
        margin-bottom: 1em;
        margin-top: 12rem;
    }
    
    .privacypolicy {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .privacy p {
        font-size: 16px;
        margin-left: 2em;
    }
    
    .policy {
        font-size: 18px;
        margin: 15px 0 5px 0;
        padding-left: 15px;
    }


 /* header */

 #header {
     display: flex;
     width: 100%;
     position: fixed;
     height: 7rem;
     top: 0px;
     z-index: 999;
     transition: opacity 0.5s;
     font-size: 1.2rem;
 }

 .other {
     background-color: #f9f9f9;
 }

 .other #header {
     background-color: #f9f9f9;
 }


 .header_logo {
     display: flex;
     justify-items: center;
     align-items: center;
     margin-left: 2rem;
 }

 .header_logo img {
     width: 170px;
 }

 .u_l {
     position: relative;
 }

 .u_l::after {
     background-color: #ff0000;
     bottom: -5px;
     content: "";
     height: 2px;
     left: 0;
     position: absolute;
     transform: scale(0, 1);
     transform-origin: left top;
     transition: transform .3s;
     width: 100%;
 }

 .u_l:hover::after {
     transform: scale(1, 1);
 }

 .ph:hover {
     color: #ff0000;
     border-bottom: 1px #ff0000;
 }

 .headerwrap {
     margin: 0 auto;
     padding-left: 4rem;
     width: 100%;
     justify-content: flex-end;
     display: flex;
     align-items: center;
     height: inherit;
     position: relative;
 }

 .h-nav {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
     justify-content: flex-end;
     gap: 2rem;
 }

 .h-nav li {
     width: 6vw;
     text-align: center;
 }

 .ph {
     font-weight: 600;
 }

 .h-icon {
     background-color: #ff0000;
     display: flex;
     align-items: center;
     justify-content: center;
     font-weight: 500;
     position: relative;
     height: 7rem;
 }

 .h-icon img {
     width: 50px;
     margin-bottom: 5px;
 }

 .h-icon p {
     color: #fff;
     font-size: 1.1rem;
     font-weight: 600;
     white-space: nowrap;
 }

 .h-nav li {
     width: 8vw;
     text-align: center;
 }

 @media screen and (max-width: 1480px) {
     #header {
         font-size: 1.1rem;
     }
 }

 /* -----------------ハンバーガー---------------- */

 @media screen and (min-width: 1281px) {
     .nav_menu_sp {
         display: none;
     }
 }

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

     .nav_menu_sp {
         position: absolute;
         background-color: rgb(255 255 255 / 90%);
         top: -90vh;
         left: 0;
         align-items: center;
         width: 100vw;
         height: 100vh;
         z-index: -1;
         display: block;
         transition: .4s;
         opacity: 0;
     }

     .nav_menu_sp li {
         width: 100%;
         padding-bottom: 3%;
     }

     .nav_menu_sp li a {
         display: block;
         text-align: center;
         font-size: 1.1em;
         transition: .4s;
         color: #ef7d7d;
     }

     .nav_menu_sp li span {
         color: #333;
     }


     .sp_menu {
         display: flex;
         position: relative;
         justify-content: flex-end;
         width: 100%;
     }

     .sp_menu .menuButton {
         width: 40px;
         height: 40px;
         position: relative;
         cursor: pointer;
         margin: 3% 2% 0 0;
     }

     .sp_menu .menuButton span:first-child {
         animation: barRotateReverse .6s forwards;
     }

     .sp_menu .menuButton span:nth-child(2) {
         animation: barRotateReverse2 .6s forwards;
     }

     .sp_menu .menuButton span:last-child {
         top: 21px;
     }

     .sp_menu .menuButton span {
         display: block;
         background-color: #666;
         height: 2px;
         width: 100%;
         position: absolute;
         left: 0;
         transition: .4s;
     }
 }

 @media screen and (max-width: 980px) {

     .sp_menu .menuButton {
         margin: 5% 3% 0 0;
     }

     .header_logo {
         margin-left: 3%;
     }
 }

 @media screen and (max-width: 680px) {
     .sp_menu .menuButton {
         margin: 7% 3% 0 0;
     }
 }

 @media screen and (max-width: 520px) {

     .nav_menu_sp li a {
         font-size: .9em;
     }

     .nav_menu_sp li a {
         font-size: .9em
     }

     .sp_menu .menuButton {
         margin: 12% 3% 0 0;
     }
 }

 @media screen and (max-width: 430px) {

     .nav_menu_sp li a {
         font-size: .9em;
     }

     .header_logo img {
         width: 150px;
     }
 }

 @keyframes barRotate {
     0% {
         transform: rotate(0deg);
         top: 7px;
     }

     50% {
         top: 21px;
         transform: rotate(0deg);
         left: 0;
     }

     100% {
         transform: rotate(45deg);
         left: -6px;
     }
 }

 @keyframes barRotate2 {
     0% {
         top: 14px;
         transform: rotate(0deg);
     }

     50% {
         transform: rotate(0deg);
         top: 21px;
         left: 0;
     }

     100% {
         transform: rotate(-45deg);
         left: 6px;
     }
 }

 @keyframes barRotateReverse {
     0% {
         transform: rotate(45deg);
         top: 21px;
         left: -5px;
     }

     50% {
         top: 21px;
         left: 0px;
         transform: rotate(0deg);
     }

     100% {
         top: 7px;
         left: 0;
     }
 }

 @keyframes barRotateReverse2 {
     0% {
         top: 21px;
         transform: rotate(-45deg);
         left: 5px;
     }

     50% {
         top: 21px;
         transform: rotate(0deg);
         left: 0px;
     }

     100% {
         left: 0;
         transform: rotate(0deg);
         top: 14px;
     }
 }

 .sp_menu .menuButton.active span {
     background-color: #fc6060;
     transition: .4s;
 }

 .sp_menu .menuButton.active span:first-child {
     top: 21px;
     animation: barRotate .8s forwards;
     transform-origin: right bottom;
 }

 .sp_menu .menuButton.active span:nth-child(2) {
     top: 21px;
     animation: barRotate2 .8s forwards;
     transform-origin: left bottom;
 }

 .sp_menu .menuButton.active span:last-child {
     top: 21px;
     opacity: 0;
 }

 .nav_menu_sp.open {
     opacity: 1;
     top: 0;
     padding-top: 100px;
 }

 @media screen and (max-width: 780px) {

     .nav_menu_sp li a {
         font-size: 1em;
     }
 }

 @media screen and (max-width: 5200px) {

     .nav_menu_sp li a {
         font-size: .9em;
     }
 }

 /* ハンバーガーここまで */

 /* footer */


 .scroll-infinity {
     position: relative;
     z-index: 0;
 }

 .scroll-infinity::after {
     background: #1c304b;
     bottom: 0;
     content: "";
     display: block;
     left: 0;
     opacity: .6;
     position: absolute;
     right: 0;
     top: 0;
     z-index: 1;
 }

 .top-recruit {
     width: 100%;
 }

 .recruit_kv {
     position: relative;
 }

 .top-re {
     position: absolute;
     text-align: center;
     width: 100%;
     top: 20%;
 }

 .top-re-bg {
     display: flex;
     justify-content: space-around;
     align-items: center;
 }

 .top-re-bg img {
     z-index: 1;
 }

 .top-re-pl span {
     color: #fff;
     letter-spacing: .4rem;
 }

 .top-re-pl {
     width: 50%;
     position: relative;
     z-index: 2;
 }

 .top-re-pr {
     width: 50%;
     position: relative;
     z-index: 2;
 }

 .re-p {
     color: #fff;
     font-size: 3.5rem;
 }

 .re-cp {
     color: #fff;
     margin: 20px 0;
     font-family: "Zen Kaku Gothic Antique", sans-serif;
     font-weight: 700;
     font-style: normal;

 }

 @import "https://use.fontawesome.com/releases/v5.13.0/css/all.css";

 .btn,
 a.btn,
 button.btn {
     position: relative;
     display: inline-block;
     padding: 1rem 4rem;
     cursor: pointer;
     -webkit-user-select: none;
     -moz-user-select: none;
     -ms-user-select: none;
     user-select: none;
     -webkit-transition: all 0.3s;
     transition: all 0.3s;
     text-align: center;
     vertical-align: middle;
     text-decoration: none;
     letter-spacing: 0.1em;
     color: #212529;
     border-radius: 0.5rem;
 }

 a.btn-c {
     font-size: 1.6rem;
     position: relative;
     padding: 2rem 4rem 2rem 2rem;
     -webkit-transition: all 0.3s;
     transition: all 0.3s;
     color: #fff;
     border-radius: 100vh;
     background-image: -webkit- gradient(linear,
             left top,
             right top,
             from(#007adf),
             to(#00ecbc));
     background-image: -webkit-linear-gradient(left, #007adf 0%, #00ecbc 100%);
     background-image: linear-gradient(to right, #007adf 0%, #00ecbc 100%);
     -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
     box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
 }

 a.btn-c:before {
     font-family: "Font Awesome 5 Free";
     font-size: 1.6rem;
     line-height: 1;
     position: absolute;
     top: calc(50% - 0.8rem);
     right: 1rem;
     margin: 0;
     padding: 0;
     content: "\f30b";
 }

 a.btn-c:hover {
     -webkit-transform: scale(1.1);
     transform: scale(1.1);
     color: #fff;
 }

 .scroll-infinity__wrap {
     display: flex;
     overflow: hidden;
 }

 .scroll-infinity__list {
     display: flex;
     list-style: none;
     padding: 0;
     height: auto;
 }

 .scroll-infinity__list--left {
     animation: infinity-scroll-left 120s infinite linear 0.5s both;
 }

 .scroll-infinity__item {
     width: calc(100vw / 2);
     padding-right: 2rem;
 }

 .scroll-infinity__item>img {
     width: 100%;
     height: 500px;
     object-fit: cover;
 }


 .footer {
     color: #fff;
 }

 .footer p {
     /* font-family: "Ubuntu", sans-serif; */
     font-weight: 600;
 }

 /* font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-weight: 700;
    font-style: normal; */

 .f-tel {
     font-size: 1.2rem;
     display: flex;

     .f-tel p {
         text-align: start;
     }
 }



 .tel,
 .fax {
     color: #fff;
     text-align: start;
     pointer-events: none;
 }
 
 .tel a,
 .fax a{
     color: #fff;
 }

 .fax {
     padding-left: 10px;
 }

 .address {
     font-size: 1.2rem;
     text-align: start;
 }

 .info {
     /* width: 30%; */
     padding: 15px 0 15px 4%;
 }

 .f-info {
     display: flex;
     flex-wrap: wrap;
     justify-content: flex-start;
     align-items: center;
 }

 .f-address {
     padding-top: 10px;
 }

 /* .f-logo {
     width: 30%;
 } */

 .f-name {
     font-size: 1.5rem;
     /* width: 30%; */
     color: #333;
     padding-left: 2%;
 }

 .inner-block {
     min-height: 73vh;
     position: relative;
     padding-bottom: 120px;
     box-sizing: border-box;
 }

 .f-wrap {
     width: 96%;
     margin-left: auto;
 }

 .f-wrapfl {
     display: flex;
     position: relative;
 }

 .f-1 {
     width: 29.6%;
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-align: center;
     -ms-flex-align: center;
     align-items: center;
     padding-right: 2rem;
     border-bottom: 1px solid #8b8b8b;
 }

 .f-1::before {
     content: '';
     position: absolute;
     bottom: -0.5px;
     width: 4%;
     height: 3px;
     background: #ff0000;
 }

 .f2-f3 {
     width: 70.4%;
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
 }

 .f2-f3 {
     border-top-left-radius: 60px;
     background: linear-gradient(124deg, #f3c326, #e3e81d, #1de840, #1ddde8, #2b1de8);
     background-size: 800% 800%;
     -webkit-animation: rainbow 18s ease infinite;
     -z-animation: rainbow 18s ease infinite;
     -o-animation: rainbow 18s ease infinite;
     animation: rainbow 18s ease infinite;
 }

 .f-2 {
     border-right: 1px solid #fff;
 }

 .f-2,
 .f-3 {
     width: 50%;
     padding: 5.6rem 1rem;
     text-align: center;

 }


 /* .f-2,
 .f-3 {
     background: linear-gradient(124deg, #f3c326, #e3e81d, #1de840, #1ddde8, #2b1de8);
     width: 50%;
     background-size: 800% 800%;
     -webkit-animation: rainbow 18s ease infinite;
     -z-animation: rainbow 18s ease infinite;
     -o-animation: rainbow 18s ease infinite;
     animation: rainbow 18s ease infinite;
     padding: 5.6rem 1rem;
     text-align: center;
 } */

 @-webkit-keyframes rainbow {
     0% {
         background-position: 0% 82%
     }

     50% {
         background-position: 100% 19%
     }

     100% {
         background-position: 0% 82%
     }
 }

 @-moz-keyframes rainbow {
     0% {
         background-position: 0% 82%
     }

     50% {
         background-position: 100% 19%
     }

     100% {
         background-position: 0% 82%
     }
 }

 @-o-keyframes rainbow {
     0% {
         background-position: 0% 82%
     }

     50% {
         background-position: 100% 19%
     }

     100% {
         background-position: 0% 82%
     }
 }

 @keyframes rainbow {
     0% {
         background-position: 0% 82%
     }

     50% {
         background-position: 100% 19%
     }

     100% {
         background-position: 0% 82%
     }
 }


 .f-contacticon {
     width: 8rem;
     height: 8rem;
     margin: 0 auto;
     border-radius: 50%;
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-align: center;
     -ms-flex-align: center;
     align-items: center;
     -webkit-box-pack: center;
     -ms-flex-pack: center;
     justify-content: center;
     background-color: rgb(153 153 153 / 50%);
 }

 .f-mallimg img,
 .f-telimg img {
     width: 50px;
     height: auto;
 }

 .f-2 h3,
 .f-3 h3 {
     margin-top: 2.1rem;
     font-size: 1.5rem;
     line-height: 1;
     font-weight: 700;
 }

 .fp-form,
 .fp-tel {
     font-size: 1.1rem;
     margin-top: 1.6rem;
 }

 .fbt-form {
     margin-top: 1.6rem;
     align-items: center;
     justify-content: center;
     display: flex;
 }

 a.btn_07 {
     display: flex;
     justify-content: center;
     align-items: center;
     background: #fff;
     border: 1px solid #8b8b8b;
     box-sizing: border-box;
     width: 200px;
     height: 57px;
     padding: 0 25px;
     color: #8b8b8b;
     font-size: 16px;
     text-align: left;
     text-decoration: none;
     position: relative;
     transition-duration: 0.2s;
     border-radius: 15px;
 }

 a.btn_07:hover {
     background: #8b8b8b;
     border: 1px solid #8b8b8b;
     color: #fff;
 }

 a.btn_07:before {
     content: "";
     position: absolute;
     right: 0;
     bottom: 0;
     width: 0;
     height: 0;
     border-style: solid;
     border-width: 0 0 40px 50px;
     border-bottom-right-radius: 12px;
     border-color: transparent transparent #8b8b8b transparent;
 }

 a.btn_07 span {
     position: absolute;
     bottom: 12px;
     right: 20px;
     display: inline-block;
 }

 a.btn_07 span:before {
     content: '';
     width: 16px;
     height: 16px;
     background: #ffffff;
     border-radius: 50%;
     position: absolute;
     top: 50%;
     left: 0;
     margin-top: -8px;
 }

 a.btn_07 span:after {
     content: '';
     width: 6px;
     height: 6px;
     border: 0;
     border-top: 2px solid #8b8b8b;
     border-right: 2px solid #8b8b8b;
     transform: rotate(45deg);
     position: absolute;
     top: 50%;
     left: 4px;
     margin-top: -3px;
 }

 .f-dial {
     font-size: 3rem;
     font-weight: 700;
     color: #fff;
 }

 .f-dial a {
     color: #fff;
 }

 .f-contact p {
     color: #ff0000;
     font-size: 1.2rem;
     line-height: 1;
     text-align: start;
 }

 .f-contact h2 {
     color: #333;
     margin-top: 1rem;
     font-size: 2.5rem;
     line-height: 1.4;
 }

 .text-contact {
     color: #8b8b8b;
     margin-top: 3.2rem;
     font-size: 1.2rem;
     text-align: start;
 }


 .footer-color {
     bottom: 0;
     width: 100%;
     position: absolute;
     background-color: #afafaf;
     height: 12vh;
 }

 #footer .cont-wrap .map iframe {
     width: 100%;
     height: 100%;
     padding-left: 10px;
     border-radius: 40px;
 }


 .privacylink {
     display: flex;
     justify-content: center;
     align-items: center;
 }

 .privacylink a {
     color: #fff;
     opacity: 0.7;
 }


 .cont-wrap {
     /* height: 20vh; */
     background-color: #afafaf;
 }

 .cont {
     display: flex;
     flex-flow: wrap;
     text-align: start;
     padding-left: 4%;
     padding-top: 10px;
 }

 .nav {
     font-size: 1.3rem;
     display: flex;
     flex-flow: row;
 }

 .nav a:hover {
     color: #ff0000;
 }

 .nav li {
     padding: 20px 35px 20px 0;
 }

 .nav p {
     font-size: 1.1rem;
     letter-spacing: .3rem;
     text-align: center;
 }

 .nav a {
     color: #8b8b8b;
     font-family: "Ubuntu", sans-serif;
     font-weight: 900;
 }

 .info img {
     max-width: 180px;
 }

 .ro-wrapper0 {
     display: flex;
     justify-content: flex-end;
     align-items: flex-end;
     overflow: hidden;
     /* min-height: 100vh; */
 }

 .ro-car0 {
     position: relative;
     z-index: 10;
     width: 273px;
     height: 86px;
     margin-right: auto;
     animation: rodriving 13s linear infinite;
     translate: 300px 0;
 }

 .ro-body0 {
     animation: roshaking 1s linear infinite;
 }

 .ro-tire-front0 {
     position: absolute;
     left: 32px;
     bottom: 0;
     animation: rospin 1s linear infinite;
 }

 .ro-tire-rear0 {
     position: absolute;
     right: 83px;
     bottom: 0;
     animation: rospin 1s linear -0.5s infinite;
 }

 @keyframes rospin {
     0% {
         rotate: 0deg;
     }

     100% {
         rotate: -360deg;
     }
 }

 @keyframes roshaking {
     0% {
         translate: 0 0;
     }

     20% {
         translate: 0 1px;
     }

     40% {
         translate: 0 0;
     }

     60% {
         translate: 0 2px;
     }

     80% {
         translate: 0 0;
     }

     100% {
         translate: 0 0;
     }
 }

 @keyframes rodriving {
     0% {
         translate: -300px 0;
     }

     100% {
         translate: 100vw 0;
     }
 }


 /* フッターレスポンシブ */

 @media screen and (max-width: 1280px) {

     .re-p {
         font-size: 2.5rem;
     }

     a.btn-c {
         font-size: 1.2rem;
         padding: 1rem 4rem 1rem 2rem;
     }

     .f-dial {
         font-size: 1.8rem;
     }

     .f-2,
     .f-3 {
         padding: 3rem 1rem;
     }

     .f-contact h2 {
         font-size: 2rem;
         line-height: 1.3;
     }

     .f-2 h3,
     .f-3 h3 {
         margin-top: 1rem;
         font-size: 1.4rem;
     }

     .nav p {
         font-size: .9rem;
         letter-spacing: .2rem;
     }

     .f-tel,
     .address {
         font-size: 1rem;
     }

     .fp-form,
     .fp-tel {
         font-size: 1rem;
         margin-top: 1rem;
     }

     a.btn_07 {
         width: 170px;
         height: 50px;
     }

     .f-contacticon {
         width: 6rem;
         height: 6rem;
     }

     .text-contact {
         margin-top: 3rem;
         font-size: 1rem;
     }

     .f-mallimg img,
     .f-telimg img {
         width: 45px;
     }

     .f-name {
         font-size: 1.4rem;
     }

     .info img {
         max-width: 150px;
     }
 }


 @media screen and (max-width: 1080px) {
     .f-dial {
         font-size: 2rem;
     }

     a.btn_07 {
         width: 170px;
     }

     .nav p {
         font-size: 1rem;
     }

     .nav li {
         padding: 20px 25px 20px 0;
     }

     /* element.style {
    opacity: 1;
}
@media screen and (max-width: 1280px) {
    .mbn h1 {
        font-size: 2.5rem;
    }
}
@media screen and (max-width: 1680px) {
    .mbn h1 {
        font-size: 3.5rem;
    }
}
.mbn h1 {
    font-family: Montserrat, sans-serif;
    font-weight: 900;
    font-size: 4.5rem;
} */
 }

 @media screen and (max-width: 980px) {
     .inner-block {
         min-height: 64vh;
     }
 }

 @media screen and (max-width: 870px) {
     .f-dial {
         font-size: 1.5rem;
     }

     .f-contact h2 {
         font-size: 1.7rem;
     }

     a.btn_07 {
         width: 140px;
         font-size: 14px;
     }

     .fp-form,
     .fp-tel {
         font-size: .9rem;
     }
 }

 @media screen and (max-width: 780px) {

     .privacylink a {
         color: #fff;
         opacity: 0.7;
         font-size: .8rem;
     }

     .f-name {
         font-size: 1.2rem;
     }

     .f-2,
     .f-3 {
         padding: 2rem 1rem;
     }

     .nav p {
         font-size: .9rem;
     }

     .footer-color {
         height: 16vh;
     }

     .f-tel,
     .address {
         font-size: .9rem;
     }

     .scroll-infinity__item>img {
         height: 400px;
     }

     a.btn-c {
         font-size: 1rem;
         padding: .8rem 3rem .8rem 2rem;
     }

     .re-p {
         font-size: 2.3rem;
     }

     .re-cp {
         font-size: .9rem;
     }


     .ro-car0 {
         width: 200px;
         height: 80px;
     }

     .ro-tire-front0 {
         left: 29px;
     }

     .ro-tire-rear0 {
         right: 26px;
     }

     .f-1 {
         width: 100%;
         border-bottom: none;

     }

     .f2-f3 {
         width: 100%;
     }

     .f-wrapfl {
         flex-wrap: wrap;
     }

     .text-contact {
         display: none;
     }

     .f-contact h2 {
         margin-top: 0;
     }

     .f-contact p {
         font-size: 1rem;
         margin-top: 5%;
     }

     .f-contact h2 {
         font-size: 1.5rem;
         margin-bottom: 5%;
     }

     .nav li {
         padding: 20px 20px 20px 0;
     }
 }

 @media screen and (max-width: 680px) {

     .f-contacticon {
         width: 5rem;
         height: 5rem;
     }

     .f-mallimg img,
     .f-telimg img {
         width: 35px;
     }
 }

 @media screen and (max-width: 590px) {

     .f-2 h3,
     .f-3 h3 {
         font-size: 1.3rem;
     }

     a.btn-c {
         font-size: .9rem;
         padding: .8rem 3rem .8rem 1.5rem;
     }

     .re-cp {
         font-size: .8rem;
     }

     .re-p {
         font-size: 2rem;
     }

     .top-re-pl span {
         letter-spacing: .3rem;
         font-size: .8rem;
     }

     .scroll-infinity__item>img {
         height: 350px;
     }

     .cont {
         padding-top: 0;
     }

     .inner-block {
         min-height: 60vh;
     }

     .ro-car0 {
         width: 170px;
         height: 72px;
     }

     .ro-tire-rear0 {
         right: 21px;
     }

     .ro-tire-front0 {
         left: 23px;
     }
 }

 @media screen and (max-width: 520px) {

     .nav p {
         font-size: .8rem;
     }

     .f-2 h3,
     .f-3 h3 {
         font-size: 1.2rem;
     }

     .f-dial {
         font-size: 1.4rem;
     }

     .ttl-text {
         font-size: .8rem;
     }

     a.btn_07 {
         width: 120px;
         height: 45px;
         font-size: 12px;
     }

     .f-contacticon {
         width: 4rem;
         height: 4rem;
     }

     .f-mallimg img,
     .f-telimg img {
         width: 30px;
     }

     .inner-block {
         min-height: 0;
     }

     .fp-form,
     .fp-tel {
         font-size: .8rem;
     }

     .f-tel,
     .address {
         font-size: .8rem;
     }

     .f-name {
         font-size: 1.1rem;
     }

     .info img {
         max-width: 100px;
     }

     .nav p {
         font-size: .7rem;
     }

     .nav li {
         padding: 15px 15px 30px 0;
     }

     .f-2,
     .f-3 {
         padding: 1rem 1rem;
     }

     .re-cp {
         font-size: .7rem;
     }

     a.btn-c {
         font-size: .8rem;
         padding: .7rem 2.8rem .7rem 1.3rem;
     }

     a.btn_07:before {
         border-width: 0 0 30px 50px;
     }
 }

 @media screen and (max-width: 490px) {

     .re-cp {
         font-size: .6rem;
     }

     .fp-form,
     .fp-tel {
         font-size: .7rem;
     }

     .ttl-text {
         font-size: .7rem;
     }

     .f-2 h3,
     .f-3 h3 {
         font-size: 1.1rem;
     }

     .f-dial {
         font-size: 1.3rem;
     }

     .f-tel,
     .address {
         font-size: .7rem;
     }

     .privacylink a {
         font-size: .6rem;
     }

     .nav p {
         font-size: .6rem;
     }

     .nav li {
         padding: 15px 10px 30px 0;
     }

     .f-name {
         font-size: 1rem;
     }

     .info img {
         max-width: 80px;
     }

     a.btn-c {
         font-size: .7rem;
         padding: .7rem 2.6rem .7rem 1.2rem;
     }

     .scroll-infinity__item>img {
         height: 300px;
     }

     a.btn_07 {
         width: 100px;
         height: 40px;
         font-size: 11px;
     }
 }

 @media screen and (max-width: 430px) {

     .re-p {
         font-size: 1.7rem;
     }

     .pc-br4,
     .pc-br5 {
         display: none;
     }
 }

 @media screen and (max-width: 415px) {

     .f-dial {
         font-size: 1.2rem;
     }

     a.btn_07 {
         width: 94px;
         height: 30px;
         font-size: 10px;
     }

     a.btn_07:before {
         border-width: 0 0 20px 50px;
     }

     a.btn_07 span:before {
         width: 15px;
         height: 15px;
     }

     a.btn_07 span:after {
         width: 5px;
         height: 5px;
         left: 3px;
         margin-top: -3.5px;
     }

     .f-2 h3,
     .f-3 h3 {
         font-size: 1rem;
     }
 }

 @media screen and (max-width: 390px) {

     .f-dial {
         font-size: 1.1rem;
     }
 }


 .thk_msg {
text-align: center;

 }
 .thanks_message {
font-size: 2rem;
 }
 .thanks {
margin: 20% 5% 10%;
 }

     .topBtn {
        width: 250px;
        margin: 0 auto;
        background-color: #fa9696;
        border: 1px solid #ff6565;
        border-radius: 5px;
        transition: .4s;
        padding: 10px;
        color: #fff;
    }
    
    .topBtn a {
        font-size: 1.1rem;
    }
    
    .topBtn::after {
        content: "";
        position: absolute;
        background: #e0e0e0;
        transition: all .1s ease-out;
    }
