@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type="number"]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}
:root{
    --main-color: #239253;
    --lightgreen-color: #6FC317;
    --text-color: #333333;
    --start1-color: #7AC810;
    --end1-color: #009452;
    --bg1-gradient: linear-gradient(90deg, rgba(122, 200, 16, 1), rgba(0, 148, 82, 1)80%);
    --start2-color: #ACDC80;
    --end2-color: #73C49F;
    --bg2-gradient: linear-gradient(var(--start2-color), var(--end2-color));
    --base-color: #D3ECCB;
    --gray-color: #4D4D4D;
    --lightgray-pink: #707070;
    --news-bg: #969696;
    --white-color: #FFFFFF;
    --wideWrap-size: 10.416vw;
    --wideWrap-sizeMinus: -10.416vw;
}
@media (min-width: 1920px) {
    :root{
        --wideWrap-size: calc((100vw - 1500px) / 2);
        --wideWrap-sizeMinus:  calc((100vw - 1500px) / 2 * -1);
    }
}

.pc{
    display: block;
}
.tab{
    display: none;
}
@media (max-width: 1080px) {
    .pc{
        display: none;
    }
    .tab{
        display: block;
    }
}
html{
    font-size: 62.5%;
}
body{
    font-family: "Zen Kaku Gothic New", sans-serif;
    line-height: 1;
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--text-color);
}
img {
    max-width: 100%;
    width: 100%;
    vertical-align: bottom;
}
.fc-main{
    color: var(--main-color);
}
.fc-sub{
    color: var(--start1-color);
}
.t-left{
    text-align: left !important;
}
.t-center{
    text-align: center !important;
}

.wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* =============================================
Header
============================================= */
header{
    width: 100%;
    height: 90px;
    padding: 0 25px 0;
    background-color: var(--white-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.06);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
}
header h1{
    width: min(25.78125vw,330px);
    flex-shrink: 0;
}
header a{
    display: block;
    font-size: min(1.25vw,1.8rem);
    line-height: 1.4;
}
header h1 img.sp-logo{
    display: none;
}
header h1 img.pc-logo{
    display: block;
}
header a:hover{
    opacity: .85;
    transition: .3s;
}
header nav {
    width: 100%;
}
header nav ul{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: min(3.125vw,40px);
    white-space: nowrap;
}
header nav ul li a::after{
    color: var(--main-color);
    font-size: min(0.9375vw,1.2rem);
    line-height: 1.4;
    display: block;
    text-align: center;
    font-weight: bold;
}
header .home a::after{
    content: 'HOME';
}
header .about a::after{
    content: 'ABOUT';
}
header .service a::after{
    content: 'SERVICE';
}
header .partner a::after{
    content: 'PARTNER';
}
header .company a::after{
    content: 'COMPANY';
}
header .contact a::after{
    content: 'CONTACT';
    color: var(--white-color);
}
header .contact a{
    width: min(20vw,260px);
    height: 70px;
    border-radius: 100px;
    display: flex;
    text-align: center;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-color: var(--main-color);
    color: var(--white-color);
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}

.menu-btn{
    display: none;
}


@media (min-width: 1920px) {
    header {
        height: 100px;
    }
    header .contact a{
        height: 80px;
    }
    header nav ul{
        gap: 50px;
    }
    header a{
        font-size: 1.8rem;
        line-height: 2.6rem;
    }
    header .contact{
        width: 270px;
    }
}
@media (max-width: 1080px) {
    header h1 img.sp-logo{
        display: block;
    }
    header h1 img.pc-logo{
        display: none;
    }
    header {
        height: 80px;
        padding: 0 10px 0;
    }
    header nav{
        display: none;
    }
    header h1{
        max-width: 265px;
        width: 100%;
    }

    .menu-btn {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 60px;
        height: 60px;
        padding: 5px;
        cursor: pointer;
        background-color: var(--white-color);
        border: 1px solid var(--main-color);
        border-radius: 5px;

    }
    .menu-btn span.line {
        display: block;
        width: 30px;
        height: 2px;
        margin-bottom: 6px;
        background-color: var(--main-color);
    }
    .menu-btn span.line:nth-child(1) {
        transition: all .2s ease;
    }
    header.open .menu-btn span.line:nth-child(1) {
        transform: translate(0, 10px) rotate(45deg);
    }
    .menu-btn span.line:nth-child(2) {
        transition: opacity .2s ease;
    }
    header.open .menu-btn span.line:nth-child(2) {
        opacity: 0;
    }
    .menu-btn span.line:nth-child(3) {
        margin-bottom: 7px;
        transition: all .2s ease;
    }
    header.open .menu-btn span.line:nth-child(3) {
        transform: translate(0px, -6px) rotate(-45deg);
    }
    .menu-btn span:nth-child(4) {
        font-size: 12px;
        font-weight: bold;
        color: var(--main-color);
    }
    header .close,
    header.open .menu{
        display: none !important;
    }
    header .menu,
    header.open .close{
        display: block !important;
    }
    header nav {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    header nav ul{
        display: block;
        text-align: center;
    }
    header nav ul li+li{
        margin-top: 35px;
    }
    header nav{
        position: fixed;
        z-index: 5;
        top: 80px;
        left: 0;
        width: 100%;
        height: calc(100vh - 50px);
        background: var(--bg2-gradient);
        opacity: 0;
        visibility: hidden;
        transition: opacity .2s ease;
        display: block;
        padding: 50px 65px;

    }
    header.open nav{
        opacity: 1;
        visibility: visible;
    }
    header nav ul li a::after{
        content: none !important;
    }

    header .contact a {
        width: auto;
        height: auto;
        border-radius: 0px;
        display: block;
        text-align: center;
        background-color: transparent;
        color: var(--text-color);
        box-shadow: none;
        text-align: left;
    }
    header nav li a{
        text-align: left;
        font-size: 1.8rem;
        line-height: 1.5;
    }
}

/* =============================================
Top MV
============================================= */
.head-logo{
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 20;
    max-width: min(25.78125vw,330px);
    width: 100%;
}
#top-mv{
    position: relative;
    margin-top: 90px;
}
#top-mv ul{
    margin: 0 var(--wideWrap-size);
    padding: 24px 0 50px;
}
#top-mv .mv-text{
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    background-color: #FFFFFFB3;
    width: 100%;
    padding: 5.72916vw 0;
    font-size: 5.208vw;
    text-align: center;
    line-height: 1.4;
    font-weight: bold;
}
@media (min-width: 1920px) {
    #top-mv{
        margin-top: 100px;
    }
    #top-mv ul{
        margin: 0 auto;
        padding: 32px 0 80px;
        max-width: 1500px;
        width: 100%;
    }
    #top-mv .mv-text{
        padding: 100px 0;
    }
}
@media (max-width: 1080px) {
    .head-logo{
        display: none;
    }
    #top-mv{
        margin-top: 80px;
    }
    #top-mv ul{
        margin: 0;
        padding: 0;
    }
    #top-mv .mv-text{
        position: absolute;
        bottom: 0;
        top: auto;
        left: 50%;
        width: calc(100% - 30px);
        height: 16vw;
        line-height: 16vw;
        -webkit-transform: translate(-50%,50%);
        transform: translate(-50%,50%);
        background-color: #FFFFFFB3;
        padding: 5.72916vw 0;
        font-size: 7.46vw;
        padding: 0 4.8vw;
    }

}
/* =============================================
NEWS
============================================= */
#news{
    background-color: var(--news-bg);
    margin-right: var(--wideWrap-size);
    color: var(--white-color);
    margin-bottom: 80px;
}
#news .news-wrap{
    margin-left: var(--wideWrap-size);
    padding: 13px 0;
    display: flex;
    align-items: center;
    gap: 125px;
}
#news h3{
    font-size: 2.8rem;
    line-height: 1.4;
    font-weight: 500;
}
#news .news-list li{
    display: flex;
    align-items: center;
    gap: 30px;
}
@media (min-width: 1920px) { 
    #news{
        margin-right: calc( (100vw - 1500px) / 2 );
        margin-bottom: 120px;
    }
    #news .news-wrap{
        margin-left: calc( (100vw - 1500px) / 2 );
    }
}
@media (max-width: 1080px) {
    #news{
        margin: 0;
        margin-right: 15px;
        margin-top: 16vw;
        margin-bottom: 40px;
    }
    #news .news-wrap{
        margin: 0;
        padding: 15px;
    }
    #news .news-wrap,
    #news .news-list li{
        flex-direction: column;
        gap: 5px;
        align-items: flex-start;
        line-height: 1.45;
    }
    #news h3{
        font-size: 2.4rem;
        margin-bottom: 5px;
    }
    #news .news-list li{
        font-size: 1.4rem;
    }
}
/* =============================================
共通
============================================= */
#fix{
    position: fixed;
    z-index: 50;
    right: 0;
    top: 40%;
}
#fix #contact-link a{
    width: 74px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 25px;
    font-weight: 300;
    letter-spacing: 6px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    background-color: var(--main-color);
    color: var(--white-color);
}
#fix #page-top{
    width: 74px;
    height: 74px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--white-color);
    border: 2px solid var(--main-color);
    margin-top: 2px;
    color: var(--main-color);
    position: relative;
    padding-top: 30px;
    cursor: pointer;
}
#fix #contact-link a:hover,
#fix #page-top:hover{
    opacity: .8;
    transition: .3s;
}
#fix #page-top::after{
    content: '';
    width: 15px;
    height: 15px;
    border-top: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
    transform: rotate(315deg);
    position: absolute;
    top: 20px;

}
section:not(#about){
    padding-left: 15px;
    padding-right: 15px;
}
section h2 .en{
    display: inline-block;
    font-size: 8rem;
    font-weight: bold;
    background: var(--bg1-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
section h2 {
    text-align: center;
}
section:not(#about):not(#company):not(#contact) h2{
    position: absolute;
    top: -50px;
    right: 50%;
    transform: translateX(50%);
}
section h2 .ja{
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 2;
    display: block;
    padding-top: 10px;

}
section h3{
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 2;
}

.dl-item{
    padding-top: 24px;
    padding-bottom: 24px;
    display: flex;
    align-items: center;
    line-height: 1.5;
    border-bottom: 3px solid #cccccc;
}
.dl-item dt{
    color: var(--main-color);
    width: 35%;
}
.dl-item dd{
    width: 65%;
}

.dl-item dd p+p{
    margin-top: 24px;
}
@media (min-width: 1920px) {
    section h2 .en{
        font-size: 12rem;
    }
    section h2 .ja{
        font-size: 3.2rem;
    }
    section h3{
        font-size: 3.2rem;
    }
    section:not(#about):not(#company):not(#contact) h2{
        top: -75px;
    }
}
@media (max-width: 1080px) {
    section:not(#about):not(#company):not(#contact) h2{
        text-align: left;
        left: 15px;
        top: -32px;
        width: calc(100% - 20px);
        transform: translateX(0);
    }
    section h2 .en{
        font-size: 5rem;

    }
    section h2 .ja{
        font-size: 2.4rem;
    
    }
    section h3{
        font-size: 2rem;
    }
    #fix{
        bottom: 0;
        left: 0;
        top: auto;
        display: flex;
        align-items: flex-end;
        width: 100%;
    }
    #fix #page-top{
        width: 50px;
        height: 50px;
        padding-top: 20px;
        position: relative;
        color: var(--text-color);
        font-weight: bold;
        border: none;
    }
    #fix #page-top::after{
        content: '';
        background-image: url(../img/img-fixed-triangle.png);
        background-repeat: no-repeat;
        background-size: 15px;
        display: inline-block;
        border: none;
        width: 15px;
        height: 17px;
        transform: rotate(0);
        top: 9px;
    }
    #fix #contact-link {
        width: calc(100% - 50px);
    }
    #fix #contact-link a{
        width: 100%;
        /* width: calc(100% - 50px); */
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        padding: 10px;
        height: 50px;
    }
    #fix #page-top:hover,
    #fix #contact-link a:hover{
        opacity: 1;
    }
}
@media (max-width: 1080px) {
    .dl-item{
        padding-top: 20px;
        padding-bottom: 20px;
        flex-wrap: wrap;
        font-size: 1.4rem;
    }
    .dl-item dt{
        width: 100%;
        margin-bottom: 10px;
    }
    .dl-item dd{
        width: 100%;
    }
}
/* =============================================
ABOUT
============================================= */
#about{
    background:var(--gray-color);
}
#about h2{
    text-align: left;
}
#about .about-block{
    display: flex;
    line-height: 1.5;
}
#about .about-textWrap{
    width: 48%;
    padding-left: var(--wideWrap-size);
    position: relative;
    padding-top: 60px;
    padding-bottom: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#about .about-textWrap::before{
    content: '';
    clip-path: polygon(100% 0, 0 0, 0 99%);
    width: var(--wideWrap-size);
    position: absolute;
    left: 0;
    top: -1px;
    display: inline-block;
    height: 100%;
    background-color: var(--white-color);
}
#about .about-text{
    color: var(--white-color);
    line-height: 1.5;
    font-size: 1.5rem;
    width: 90%;
}
#about .about-text h3{
    font-size: 2.4rem;
    font-weight: bold;
    margin-top: 20px;
    margin-bottom: 15px;
}
#about .about-text p+p{
    margin-top: 10px;
}
#about .about-head{
    background: url(../img/bg-aboutHead.png);
    background-position-x: left;
    background-repeat: no-repeat;
    background-size: cover;
    padding-left: var(--wideWrap-size);
    margin-left: var(--wideWrap-sizeMinus);
    line-height: 1;
}
#about .about-head h2 .en{
    vertical-align: 12px;
}
#about .about-img{
    width: 52%;
    background: url(../img/bg-about.png) no-repeat;
    background-size: cover;
    position: relative;
    padding: 15px 0;
}
#about .about-img::after{
    content: '';
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    width: var(--wideWrap-size);
    position: absolute;
    right: 0;
    display: inline-block;
    height: 100%;
    background-color: var(--white-color);
    top: 1px;
}
#about .about-img figure{
    max-width: 50%;
}
#about .about-img {
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 1080px) {
    #about{
        background: none;
    }

    #about .about-img{
        background: none;
        width: 100%;
    }
    #about .about-textWrap{
        padding-bottom: 20px;
        width: 100%;
    }
    #about .about-textWrap::before,
    #about .about-img::after{
        content: none;
    }
    #about .about-head h2{
        /* vertical-align: 8px; */
        padding-left: 15px;
    }
    #about .about-block{
        display: block;
    }

    #about .about-img img{
        max-width: 600px;
        width: 100%;
        margin: 0 auto;
    }
    #about .about-img{
        background: linear-gradient(180deg, var(--gray-color) 0%, var(--gray-color) 0% 50%, var(--white-color) 50%, var(--white-color) 100%);
    }
    #about .about-textWrap{
        padding-left: 0;
        background: var(--gray-color);
    }
    #about .about-head{
        width: 70%;
        background-repeat: no-repeat;
        background-position-x: right;
    }

    #about .about-text{
        padding-left: 30px;
        width: 85%;
    }
    #about .about-img{
        display: block;
    }
    #about .about-img figure{
        max-width: 100%;
    }
}

.scroll-text {
    width : 100%;      /* 枠の大きさ */
    overflow : hidden; /* 枠からはみ出た部分を非表示 */
  }
  .scroll-text p{
    font-size: 8rem;
    padding: 50px 0 100px;
    color: #E4E4E4;
    font-weight: bold;
    display : inline-block;  /* 必須 */
    padding-left: 100%;    /* 右端から文字をスタートさせるため */
    white-space : nowrap; /* 改行が起こらないように対策 */
    line-height : 1.4;         /* 行間（高さ）を1文字分にする */
    animation : scroll 18s linear infinite; /* 下のアニメーションを10秒かけて行い、それをくりかえす */
  }
  
  /* アニメーション（右から左に移動） */
  @keyframes scroll{
    0% { 
      transform: translateX(0)
    }
    100% {
      transform: translateX(-100%)
    }
  }

  @media (max-width: 1080px) {
    .scroll-text p{
        font-size: 6rem;
        padding-top: 20px;
        padding-bottom: 60px;
        line-height: 1.3;
    }
  }
/* =============================================
SERVICE
============================================= */
#service{
    background-image: url(../img/bg-silver.jpg);
    background-size: cover;
    position: relative;
    padding-top: 180px;
    padding-bottom: 120px;
}
#service h2{

}

#service .service-block{
    background-color: var(--white-color);
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;  
    padding: 50px;
    position: relative;
    border-radius: 10px;
    box-shadow: 0px 3px 6px #00000029;
}
#service .service-block+.service-block{
    margin-top: 80px;
}
#service h3{
    position: absolute;
    top: -24px;
    left: 50px;
}
#service .service-flex{
    display: flex;
    justify-content: space-between;
    gap: 40px;
}
#service .service-flex figure{
    max-width: 440px;
    width: 100%;
}
#service .text{
    line-height: 1.5;
}
#service .service-flex .text p+p{
    margin-top: 24px;
}
#service .service-imgList{
    display: flex;
    gap: 40px;
    justify-content: space-between;
    margin-bottom: 20px;
}
#service .service-partner {
    background: var(--bg2-gradient);
    padding: 40px;
    margin-top: 70px;
    border-radius: 5px;
    position: relative;
    padding-bottom: 25px;

}
#service .service-partner h4{
    font-size: 2.4rem;
    width: 100%;
    line-height: 2;
    text-align: center;
    font-weight: bold;
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
}
#service .service-partner p{
    color: var(--white-color);
    font-size: 1.8rem;
    line-height: 1.5;
}


@media (min-width: 1920px) {
    #service{
        padding-top: 220px;
        padding-bottom: 180px;
    }
    #service h3{
        top: -32px;
    }
    #service .service-partner h4{
        font-size: 3.2rem;
        top: -32px;
    } 
    
}
@media (max-width: 1080px) {
    #service h2 .ja,
    #service .service-partner h4{
        font-size: 2.4rem;
    } 
    #service h3{
        top: -15px;
        left: 15px;
        line-height: 1.45;
    }
    #service .service-block{
        padding: 60px 15px 20px;
    }
    #service .service-block.car h3 {
        top: -15px;
    }

    #service .service-partner h4{
        font-size: 1.8rem;
        line-height: 1.5;
        text-align: left;
        max-width: calc(100% - 30px);
        margin: 0 auto;
        top: -14px;
    }
    #service .service-partner {
        padding-top: 70px;
        padding: 50px 10px 20px;
        margin-top: 40px;
    }
    #service .service-partner p{
        font-size: 1.4rem;
        line-height: 1.5;
    }
    #service{
        padding-bottom: 90px;
    }

}
@media (max-width: 768px) {
    #service .service-flex figure {
        max-width: 100%;
    }
    #service .service-flex{
        flex-direction: column;
    }
    #service .service-imgList{
        flex-direction: column;
        gap: 20px;
    }
    #service{
        padding-top: 120px;
    }
}
/* =============================================
PERTNER
============================================= */
#partner{
    position: relative;
    padding-top: 120px;
    padding-bottom: 120px;
}
#partner h3{
    text-align: center;
    position: relative;
}
#partner h3::before{
    content: '';
    width: 100%;
    height: 1px;
    background-color: var(--main-color);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%);
    transform: translateX(-50%);
    z-index: -1;
}
#partner h3 span{
    display: inline-block;
    background-color: var(--white-color);
}
#partner h3 span.fc-main{
    padding: 0 20px;
}
#partner .partner-lead{
    font-size: 2.3rem;
    line-height: 1.45;
    margin-top: 60px;
}
#partner .partner-supportList{
    display: flex;
    flex-wrap: wrap;
    gap: 30px 20px;
    margin-top: 65px;
}
#partner .partner-supportList li{
    width: calc( ( 100% - 60px ) / 4 );
    border-radius: 10px;
    border: 2px solid var(--main-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 40px;
    padding: 30px 12px;
}
#partner .partner-supportList li h4{
    font-size: 1.7rem;
    font-weight: bold;
    line-height: 1.4;
}
#partner .partner-supportList li p{
    font-size: 1.6rem;
    line-height: 1.5;
}
#partner .partner-supportList li figure{
    max-width: 128px;
}
#partner .partner-bubble{
    background-color: var(--main-color);
    border-radius: 10px;
    color: var(--white-color);
    font-weight: bold;
    font-size: 3rem;
    line-height: 1.4;
    padding: 35px 20px;
    text-align: center;
    margin-top: 80px;
    position: relative;
}

#partner .partner-bubble:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 25px solid transparent;
    border-top: 20px solid var(--main-color);
}

#partner .partner-trouble-list{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 100px;
    margin-top: 120px;
}
#partner .partner-trouble-list li{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background-color: #D0E4DA;
    position: relative;
}
#partner .partner-trouble-list li figure{
    max-width: 115px;
    width: 100%;
    position: absolute;
    left: 50%;
    top: -40px;
    transform: translateX(-50%);
}
#partner .partner-trouble-list li p{
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 90px;
}

#partner .partner-support-head{
    color: var(--white-color);
    font-size: 4.8rem;
    line-height: 1.25;
    background: var(--bg2-gradient);
    padding: 20px 90px;
    border-radius: 5px;
    display: flex;
    position: relative;
    margin-top: 90px;
    text-align: center;
}

#partner .partner-block{
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
}
#partner .partner-support-head p{
    text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

#partner .partner-support-head figure{
    max-width: 240px;
    width: 100%;
    position: absolute;
    bottom: -2px;
    right: 50px;
}

#partner .partner-worklife{
    border: 2px solid var(--main-color);
    border-radius: 5px;
    padding: 50px 20px 30px;
    font-size: 2.2rem;
    position: relative;
    margin-top: 80px;
    margin-bottom: 100px;
}
#partner .partner-worklife h4{
    font-size: 2.4rem;
    position: absolute;
    left: 30px;
    top: -15px;
    line-height: 1.5;
}
#partner .partner-worklife h4 span{
    display: inline-block;
    background-color: var(--white-color);
    padding: 0 10px;
    line-height: 1;
}
#partner .partner-worklife p {
    text-align: center;
    font-weight: bold;
}
#partner .partner-worklife p .marker{
    background: linear-gradient(transparent 50%, #FEF15B 50%);
}
#partner .partner-worklife ul{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 35px;
    margin-bottom: 35px;
}
#partner .partner-worklife ul li:first-child{
    max-width: 340px;
    width: 100%;
    margin-right: 30px;
}
#partner .partner-worklife ul li:nth-child(2){
    max-width: 182px;
    width: 100%;
    margin-right: 70px;
}
#partner .partner-worklife ul li:nth-child(3){
    max-width: 275px;
    width: 100%;
}
@media (min-width: 1920px) {
    #partner{
        padding-top: 160px;
    }
    #partner .partner-worklife{
        font-size: 3rem;
    }
    #partner .partner-lead{
        font-size: 3rem;
    }
    #partner .partner-worklife h4{
        font-size: 3.2rem;
    }
}
@media (max-width: 1080px) {
    #partner .partner-supportList li{
        width: calc( ( 100% - 40px ) / 3 );
    }
    #partner .partner-trouble-list{
        gap: 40px;
    }
    #partner .partner-trouble-list li{
        width: 220px;
        height: 220px;
    }
    #partner .partner-trouble-list li figure{
        max-width: 95px;
    }
    #partner .partner-trouble-list li p{
        font-size: 1.8rem;
    }
    #partner .partner-support-head{
        font-size: 3rem;
        justify-content: center;
    }
    #partner .partner-support-head figure{ 
        max-width: 17vw;
    }
}
@media (max-width: 768px) {
    #partner{
        padding-bottom: 60px;
    }
    #partner h3 {
        font-size: 1.8rem;
    }
    #partner .partner-supportList{
        margin-top: 20px;
    }
    #partner .partner-supportList li{
        width: calc( ( 100% - 20px ) / 2 );
    }
    #partner .partner-supportList p{
        font-size: 1.4rem;
    }
    /* #partner h3::before {
        content: none;
    } */
    #partner .partner-trouble-list{
        flex-direction: column;
        gap: 75px;
    }
    #partner .partner-trouble-list li{
        width: 250px;
        height: 250px;
    }
    #partner .partner-trouble-list li figure{
        max-width: 115px;
    }
    #partner .partner-trouble-list li p{
        font-size: 2rem;
    }


    #partner .partner-lead{
        margin-top: 20px;
        font-size: 1.4rem;
    }
    #partner .partner-bubble{
        font-size: 2rem;
        margin-top: 30px;
        margin-bottom: 40px;
        padding: 20px;
    }
    #partner .partner-support-head{
        font-size: 2rem;
        padding: 100px 20px 20px;
    }
    #partner .partner-support-head figure{ 
        max-width: 130px;
        position: absolute;
        bottom: auto;
        right: 50%;
        top: -75px;
        transform: translateX(50%);
    }
    #partner .partner-worklife{
        margin-bottom: 30px;
    }
    #partner .partner-worklife h4{
        font-size: 2rem;
        left: 15px;
    }
    #partner .partner-worklife ul{
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 30px;
    }
    #partner .partner-worklife ul li:first-child{
        max-width: 315px;
        margin-right: 0px;
    }
    #partner .partner-worklife ul li:nth-child(2){
        max-width: 182px;
        width: 100%;
        margin-right: 0px;
    }
    #partner .partner-worklife ul li:nth-child(3){
        max-width: 275px;
        width: 100%;
    }
    #partner .partner-worklife p {
        font-size: 2rem;
        line-height: 1.5;
    }
}
@media (max-width: 540px) {
    #partner .partner-supportList {
        gap: 20px;
    }
    #partner .partner-supportList li{
        width: 100%;
        max-width: 285px;
        margin: 0 auto;
    }
    #partner .partner-worklife p {
        text-align: center;
    }
}

#partner .partner-modal-btn{
    display: flex;
    gap: 45px;
    justify-content: space-between;
    margin-top: 80px;
    margin-bottom: 85px;
}
#partner .partner-modal-btn li{
    width: calc( ( 100% - 90px ) / 3 );
    text-align: center;
    background-color: var(--main-color);
    color: var(--white-color);
    line-height: 1.5;
    border-radius: 50px;
    border-bottom: 5px solid var(--end2-color);
    transition: all .3s;
}
#partner .partner-modal-btn li a{
    display: block;
    padding: 18px;
    width: 100%;
    height: 100%;
}
#partner .partner-modal-btn li:hover{
    border-bottom: 2px solid var(--end2-color);
    transition: all .3s;
    margin-top: 3px;
}

#partner .big-text{
    font-size: 4.8rem;
    text-align: center;
    line-height: 1.4;
    color: var(--main-color);
    font-weight: bold;
    margin-bottom: 100px;
}

#partner .entry-block{
    margin-top: 80px;
    padding: 50px;
    border: 2px solid var(--lightgreen-color);
    border-radius: 10px;
}
#partner .entry-block .lead{
    line-height: 1.5;
}
#partner .entry-block h4{
    position: relative;
    margin: 40px 0;
}
#partner .entry-block h4 span{
    display: inline-block;
    padding: 24px 30px;
    background: linear-gradient(180deg, rgba(122, 200, 16, 1), rgba(0, 148, 82, 1)80%);
    color: var(--white-color);
    font-weight: bold;
    font-size: 1.8rem;
}
#partner .entry-block h4::after{
    content: '';
    width: 100%;
    height: 8px;
    background-color: var(--main-color);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: -1;
}
#partner .entry-btn{
    background: var(--bg1-gradient);
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 46px 0;
    height: 170px;
    margin-top: 60px;
}

#partner .dl-item:last-child{
    border: none;
}
#partner .entry-btn a{
    background-color: var(--white-color);
    width: calc( 100% -  6px );
    height: 164px;
    color: var(--main-color);
    font-size: 5.7rem;
    line-height: 1.45;
    text-align: center;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;

}

@media (min-width: 1920px) {
    /* .remodal h4{
        font-size: 4rem;
    } */
}
@media (max-width: 1080px) {
    #partner .entry-block{
        padding: 25px 15px;
        margin-top: 40px;
    }
    #partner .entry-block h4::after{
        content: none;
    }
    #partner .entry-block h4{
        text-align: center;
        margin: 20px 0 0;
    }
    #partner .entry-block h4 span{
        width: 100%;
        padding: 15px 5px;
        font-size: 1.4rem;
    }

}

@media (max-width: 768px) {
    #partner .entry-btn {
        padding: 5px 0;
        height: 55px;
        margin-top: 30px;
    }
    #partner .entry-btn a{
        font-size: 3rem;
        height: 51px;
    }
    #partner .big-text{
        font-size: 2rem;
        margin-bottom: 40px;
    }
    #partner .partner-modal-btn{
        flex-wrap: wrap;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        margin: 30px 0;
        justify-content: center;
    }
    #partner .partner-modal-btn li{
        width: 100%;
        max-width: 345px;
        font-size: 1.4rem;
    }
    #partner h3.entry-head{
        font-size: 2rem;
    }
}
/* モーダル */
.w-12{
    width: 12% !important;
}
.w-16{
    width: 16% !important;
}
.w-22{
    width: 22% !important;
}
/* .remodal .table th:not(.w-13),
.remodal .table {
    width: 29%;
} */
.remodal h4{
    font-weight: bold;
    font-size: 4rem;
    text-align: center;
    color: var(--main-color);
    line-height: 1.45;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--main-color);
}
.remodal {
    max-width: 1100px;
    width: 100%;
}
.remodal .lead{
    font-weight: bold;
    padding: 24px 0;
    font-size: 1.8rem;
    line-height: 1.45;
    text-align: left;
}
.remodal .table table{
    width: 100%;
    font-size: 1.8rem;
    line-height: 1.45;
    border-collapse: collapse;
}
.remodal .table tr{

}
.remodal .table th,
.remodal .table td{
    text-align: center;
    border: 1px solid var(--white-color);
    padding: 24px 10px;
    vertical-align: middle;
    position: relative;
    font-weight: bold;
}
.remodal .table th{
    background-color: var(--main-color);
    color: var(--white-color);
}
.remodal .table td{
    background-color: #E3EFE9;
    height: 210px;
}
.remodal .remodal-cancel{
    max-width: 370px;
    width: 100%;
    background-color: var(--main-color);
    color: var(--white-color);
    border-radius: 50px;
    line-height: 1.5;
    padding: 18px;
    margin-top: 60px;
    position: relative;
}
.remodal .remodal-cancel::after{
    content: '×';
    position: absolute;
    top: 50%;
    right: 50px;
    transform: translateY(-50%);
}

.remodal .table td span{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.remodal .cost-list {
    font-weight: bold;
}
.remodal .cost-list dl{
    display: flex;
    gap: 30px;
    font-weight: bold;
    font-size: 2.8rem;
    text-align: left;
    line-height: 1.45;
}
.remodal .cost-list dl dt{
    color: var(--main-color);
    width: 38%;

}
.remodal .cost-list dl span{
    font-size: .78em;
}
.remodal .cost-list dl+dl{
    margin-top: 20px;
}
.remodal .cost-list p{
    font-size: 1.8rem;
    margin-top: 65px;
    margin-bottom: 10px;
    text-align: left;
}

.remodal .cost-text{
    font-size: 2.8rem;
    text-align: left;
    color: var(--white-color);
    background: var(--bg2-gradient);
    padding: 50px;
    line-height: 1.45;
    margin-top: 80px;
    border-radius: 10px;
    text-shadow: 0px 3px 6px #00000029;
}
.remodal .sp{
    display: none;
  }

.remodal .scroll-text {
    display: none;
}
@media (min-width: 1920px) {
    /* .remodal h4{
        font-size: 4rem;
    } */
}
@media (max-width: 1080px) {
    .remodal .scroll-text {
        font-size: 1.4rem;
        line-height: 1.4;
        margin-top: 15px;
        text-align: left;
        font-weight: bold;
        display: block;
    }
    .remodal .lead{
        font-size: 1.4rem;
        padding: 10px 0;
    }
    .remodal .cost-text {
        margin-top: 30px;
    }
    .remodal .cost-list p{
        font-size: 1.4rem;
        line-height: 1.45;
        margin-top: 10px;
    }
    .remodal .table {
        overflow: auto;

    }
    .remodal .table table{
        font-size: 1.6rem;
        width: 700px;
    }
    .remodal .sticky {
        position: sticky !important;
        top: 0;
        left: 0;
        background: none !important;
        border-left: none !important;
        border-right: none !important;
        z-index: 2;
      }
      .remodal .sticky::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-left: 1px solid var(--white-color);
        border-right: 1px solid var(--white-color);
        background: var(--main-color);
        z-index: -1;
      }
      .remodal  .sp{
        display: block;
      }
      .remodal .remodal-cancel{
        margin-top: 20px;
      }
}
@media (max-width: 768px) {

    .remodal h4{
        font-size: 2rem;
        text-align: left;
    }
    .remodal .table table{
        font-size: 1.4rem;
    }
    .remodal {
        padding: 35px 15px;
    }
    .remodal .cost-list dl {
        display: block;
    }
    .remodal .cost-list dl dt{
        font-size: 2rem;
        width: 100%;
    }
    .remodal .cost-list dl dd{
        font-size: 1.8rem;
        text-align: right;
        width: 100%;
    }
    .remodal .cost-text {
        font-size: 1.8rem;
        padding: 20px;
    }
}
/* =============================================
COMPANY
============================================= */
section#company{
    padding-top: 120px;
    padding-bottom: 120px;
    background-color: #f6f6f6;
    /* position: relative;
    transform: translate(0,0); */
}
#company .company-block{
    margin-top: 80px;
}
@media (min-width: 1920px) {
    /* .remodal h4{
        font-size: 4rem;
    } */
}
@media (max-width: 1080px) {

}
@media (max-width: 768px) {
    section#company{
        padding-top: 60px;
        padding-bottom: 60px;
        background-color: #f6f6f6;
        /* position: relative;
        transform: translate(0,0); */
    }
    #company h2{
        text-align: left;
    }
    #company .company-block {
        margin-top: 10px;
    }
}
/* =============================================
CONTACT
============================================= */
#contact{
    background-image: url(../img/bg-silver.jpg);
    background-size: cover;
    position: relative;
    padding-top: 100px;
    padding-bottom: 120px;
}
#contact .contact-select {
    display: flex;
    margin-bottom: 70px;
    gap: 25px;
}
#contact .contact-select li{
    width: calc( ( 100% - 25px ) / 2 );
    padding: 20px;
    font-size: 1.8rem;
    line-height: 1.4;
    border: 1px solid var(--start1-color);
    text-align: center;
    cursor: pointer;
}

.tab-contents {
    display: none;
  }
   
  .tab-contents.show {
    display: block;
    /* padding: 20px; */
  }
/* #contact #form-ippan{
    display: none;
} */
#contact .contact-select li.show{
    background-color: var(--main-color);
    border-color: var(--main-color);
    color: var(--white-color);
}
@media (max-width: 768px) {
    #contact{
        padding-top: 60px;
        padding-bottom: 60px;
    }
    #contact .contact-select{
        gap: 15px;
        flex-wrap: wrap;
    }
    #contact .contact-select li{
        font-size: 1.4rem;
        padding: 20px 15px;
        width: 100%;
    }
    #contact h2{
        text-align: left;
    }
}
/* #contact #form-ippan{
    display: none;
} */

/* お問い合わせ モーダル
* --------------------------------------- */
.confirm-text{
    font-size: 2.4rem;
    padding-bottom: 15px;
    text-align: left;
}

.contact-remodal.remodal{
    max-width: 600px;
    padding-bottom: 0;
}
.contact-remodal.remodal button{
    margin-top: 0;
    border:1px solid var(--news-bg);
    background-color: var(--white-color);
    color: var(--news-bg);
    font-size: 1.6rem;
    padding: 10px 20px;
    border-radius: 100px;
    line-height: 1.5;
}
.contact-remodal.remodal .remodal-cancel {
    /* margin-top: 0;
    border:1px solid var(--news-bg);
    background-color: var(--white-color);
    color: var(--news-bg);
    font-size: 1.4rem;
    padding: 10px 20px; */
}
.remodal-cancel.contact-back::after {
    content: none;
}

.contact-remodal.remodal button.modal-submit-btn{
    background-color: var(--main-color);
    color: var(--white-color);
    border-color: var(--main-color);
  }
.modal-footer {
    padding: 15px 0;
    text-align: right;
    border-top: 1px solid #e5e5e5;
    display: flex;
    gap: 15px;
    justify-content: flex-end;
  }
  .btn-default {
    width: 80px;
    margin: 0;
  }
  .modal-footer .btn + .btn {
    margin-left: 5px;
    margin-bottom: 0;
    margin: 0 auto;
  }




@media (max-width: 768px) {
    .modal-footer {
        padding: 15px 15px;
    }
    .confirm-text{
        font-size: 1.6rem;
    }
    .contact-remodal.remodal button {
        font-size: 1.5rem;
    }
    section:not(#about):not(#company):not(#contact) h2 {
        
    }
}
/* お問い合わせ
* --------------------------------------- */
  .contact-area__wrap {
    background-color: #fff;
    padding: 60px 15px 80px;
    margin-top: 80px;
    border-radius: 20px;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);

  }
  .contact-block{
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
  }
  .telephone-area__wrap {
    background-color: #fff;
    padding: 50px 0;
    border-radius: 10px;
    /* margin-bottom: 100px; */
  }
  .contact-title__wrap p {
    font-weight: 400;
  }
  .contact-title__wrap {
    margin-bottom: 30px;
    text-align: center;
  }
  .contact-items__title {
    margin-bottom: 10px;
  }
  .contact-items__title ._note {
    width: 100%;
    display: block;
    font-size: 14px;
    font-weight: 400;
    margin-top: 5px;
  }
  .contact-items__wrap {
    margin-top: 17px;
    padding-bottom: 15px;
    border-bottom: 3px dotted #AEAEB0;
  }
  .contact-items__wrap:nth-child(1) {
    margin-top: 0;
  }
  .contact-lists {
    background-color: #fff;
  }
  .telephone-btn__wrap a {
    display: flex;
    width: 290px;
    padding: 8px 12px 8px 8px;
    align-items: center;
    border: solid 2px #5BC0B8;
    border-radius: 100px;
    justify-content: center;
    margin: 0 auto;
    color: #5BC0B8;
    font-size: 27px;
    font-weight: 700;
    gap: 0 10px;
    background-color: #EAFAF6;
  }
  .telephone-content__wrap span {
    font-weight: 700;
    margin-top: 24px;
    text-align: center;
    display: block;
  }
  .telephone-content__wrap p {
    margin-top: 24px;
    text-align: center;
    font-weight: 400;
    font-size: 14px;
  }
  .telephone-content__time {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
  }
  .telephone-content__text {
    display: flex;
    align-items: center;
  }
  .telephone-content__text p {
    font-size: 16px;
    font-weight: 700;
    color: #222;
  }
  .telephone-content__text--blue {
    font-size: 16px;
    font-weight: 700;
    color: #5BC0B8;
  }
  /* フォーム部分 */
  .pry-radio {
    margin-top: 30px;
  }
  .pry-radio label {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  .pry-radio label a {
    line-height: 1.2;
    display: inline-block;
    font-weight: 300;
    text-decoration: underline;
    font-weight: 500;
  }
  .checkbox span {
    position: relative;
    display: block;
    display: flex;
    align-items: center;
  }
  .checkbox input[type=checkbox] {
    opacity: 0;
    height: 0;
    width: 0;
    margin: 0 14px 0 0;
    padding: 0;
    min-height: 1px;
    border: 0;
    border-radius: 0;
    font-size: 0;
  }
  .checkbox span::before {
    -webkit-transition: border-color 0.1s linear;
    transition: border-color 0.1s linear;
    position: absolute;
    top: 2px;
    left: -24px;
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 1px solid #707070;
    content: "";
    color: #F2F2F2;
    font-size: 13px;
    background-color: #fff;
    line-height: 1;
    border-radius: 3px;
  }
  .checkbox input[type=checkbox]:checked ~ span::before {
    content: "";
    color: #fff;
    font-size: 14px;
    background: var(--main-color);
    background-size: 10px;
  }
  #ippan_terms-error,
  #partner_terms-error{
    width: 100%;
    text-align: center;
    display: block;
  }
  #privacy-error, #terms-error {
    position: absolute;
    top: 20px;
    color: #D30001;
    font-weight: normal;
    font-size: 16px;
  }
  #privacy-error, #terms-error {
    position: absolute;
    top: 20px;
    color: #D30001;
    font-weight: normal;
    font-size: 16px;
  }
  .has-error .checkbox span::before {
    border: solid 1px #D30001;
  }
  .contact-text__wrap span {
    color: #D30000;
  }
  .form-tbl * {
    font-size: 18px;
    vertical-align: top;
    font-weight: normal;
  }
  .form-tbl p {
    font-size: 15px;
    margin-top: 15px;
    border-top: solid 1px #503F29;
    padding-top: 15px;
    margin-bottom: 15px;
  }
  .title-select {
    width: 400px;
  }
  .form-file {
    width: 100%;
  }
  .required {
    font-size: 16px;
    color: var(--white-color);
    background-color: #FF0000;
    padding: 0 10px;
    line-height: 1.2;
    border-radius: 20px;
    display: inline-block;
    margin-left: 8px;
    font-weight: normal;
    vertical-align: -1px;
  }
  #agree-error {
    position: absolute;
    top: 20px;
  }
  .has-error .validation-block {
    color: #D30001;
    font-weight: normal;
    font-size: 16px;
    padding-top: 5px;
  }
  .btn {
    font-size: 15px;
    font-weight: 400;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    padding: 8px 20px;
  }
  .btn01 .btn {
    background-color: #5BC0B8;
    width: 120px;
    margin-left: 20px;
    margin-left: 15px;
    color: #fff;
  }
  .modal-dialog {
    margin: 10% auto 0;
    max-width: 600px;
    width: calc(100% - 40px);
  }
  .btn.btn-md {
    padding: 8px 20px !important;
  }
  .btn.btn-lg {
    padding: 18px 36px !important;
  }
  .btn:hover, .btn:active, .btn:focus {
    box-shadow: none !important;
    outline: none !important;
  }
  .btn-primary {
    background: #3958A7;
    color: #fff;
    border: 2px solid #3958A7;
  }
  .btn-success {
    background: var(--main-color);
    color: #fff;
    max-width: 300px;
    font-size: 18px;
    text-align: center;
    position: relative;
    padding: 20px 0;
    border-radius: 5px;
    font-weight: normal;
    border: solid 2px;
    width: 100%;
    margin: 30px auto 0;
    display: block;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .btn-success:hover, .btn-success:focus, .btn-success:active {
    background: #ffffff;
    color: var(--main-color);
    border: solid 2px var(--main-color);
    opacity: .7;
  }
  .form-select {
    max-width: 400px;
  }
  .form-control {
    box-shadow: none;
    border: 1px solid #CECECE;
    height: 44px;
    font-size: 16px;
    font-weight: 300;
    border-radius: 10px;
    width: 100%;
    padding: 0 15px;
  }
  textarea.form-control {
    height: 95px;
  }
  .form-control:active, .form-control:focus {
    outline: none;
    box-shadow: none;
    border-color: var(--main-color);
  }
  .form-control.textarea {
    padding: 15px;
  }
  .active:after, dt.active:after {
    margin-top: 3px;
  }
  .btn-o:active:hover, .btn-o:active:focus, .btn-o:active.focus, .btn-o.active:hover, .btn-o.active:focus, .btn-o.active.focus, .open > .btn-o.dropdown-toggle:hover, .open > .btn-o.dropdown-toggle:focus, .open > .btn-o.dropdown-toggle.focus {
    color: #fff;
    background-color: #204d74;
    border-color: #122b40;
  }
  .btn-green:active:hover, .btn-green:active:focus, .btn-green:active.focus, .btn-green.active:hover, .btn-green.active:focus, .btn-green.active.focus, .open > .btn-green.dropdown-toggle:hover, .open > .btn-green.dropdown-toggle:focus, .open > .btn-green.dropdown-toggle.focus {
    background-color: #3de578;
  }
  .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus, .open > .btn-success.dropdown-toggle:hover, .open > .btn-success.dropdown-toggle:focus, .open > .btn-success.dropdown-toggle.focus {
    color: #000;
    background-color: #F2F2F2;
    border-color: #F2F2F2;
  }
  .contact-container textarea {
    height: 180px;
  }
  .modal-body {
    position: relative;
    padding: 15px;
  }

  @media screen and (max-width: 768px) {
    .contact-area__wrap {
        margin-top: 40px;
        margin-bottom: 0;
    }
    .contact-area__wrap .common-600-width {
      max-width: 280px;
    }
    .contact-area__wrap {
      padding: 30px 15px 50px;
    }
    .btn-default {
      width: 60px;
      padding: 6px 0;
    }
    .btn01 .btn {
      margin-left: 8px;
      width: 100px;
      padding: 6px 0;
    }

    .btn-success {
      max-width: 250px;
      padding: 15px 0;
    }
    .contact-items__wrap {
      margin-top: 20px;
    }
    .contact-title__wrap h3 {
      font-size: 24px;
    }
    .telephone-btn__wrap a {
      width: 100%;
      ;
      font-size: 24px;
    }
    .telephone-area__wrap {
      margin-bottom: 40px;
    }
    .telephone-content__time {
      flex-direction: column;
      gap: 0;
    }
    .telephone-content__wrap span {
      margin-top: 16px;
    }
    .telephone-content__wrap p {
      margin-top: 16px;
    }
  }
/* =============================================
Footer
============================================= */
footer{
    height: 40px;
    background-color: var(--main-color);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 15px;

}
footer small{
    display: block;
    font-size: 1.4rem;
    color: var(--white-color);
    font-weight: 300;
}
@media (max-width: 1080px) {

}
@media (max-width: 500px) {
}

/* 1216 */
.service_partner_cta_wrapper {
    display: flex;
    justify-content: center;
    margin: 40px 0 0 0;
}
.service_partner_cta {
    display: inline-block;
    width: 400px;
    margin: 0 auto;
}