@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap');
/*--------------------------------------------------------------*/
/* general */
* {
    font-weight: 400;
    outline: none !important;
    border-radius: 0 !important;
	line-height: 1.6;
    font-size: 16px;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
}
.sp {
    display: none;
}
a {
    text-decoration: none !important;
    transition-duration: 0.3s;
    outline: none !important;
    color: #000;
}  
/*--------------------------------------------------------------*/
/* common */
table.base {
    width: 100%;
    max-width: 100%;
}
table.base>tbody>tr>th {
    width: 30%;
    max-width: 250px;
    background-color: #f7f4ee;
    border: 1px solid #FFF;
    font-size: 13px;
    font-weight: bold;
    white-space: nowrap;
    padding: 20px 70px 20px 25px;
}
table.base>tbody>tr>th>.label {
    transform: translateX(120%);
}
table.base>tbody>tr>td {
    background-color: #F6F6F6;
    border: 1px solid #FFF;
    font-size: 13px;
    padding: 20px 25px 20px 25px;
}
table.base>tbody>tr>td[colspan] {
    text-align: center;
}
.input-group-addon,
.form-control {
    box-shadow: none;
    border-color: #E6E6E6;
    height: 28px;
    padding-top: 3px;
    padding-bottom: 3px;
}
form {
    max-width: 100%;
}
form .label-black {
    float: right;
    display: inline-block;
    width: 44px;
    height: 20px;
    line-height: 17px;
    background-color: #362e2b;
    color: #FFF;
    font-size: 10px;
    font-weight: normal;
    text-align: center;
    margin: 0 0 0 10px;
}
form textarea.form-control {
    width: 100% !important;
}
form table td label>input[type=radio] {
    margin-top: 1.5px;
}
/*--------------------------------------------------------------*/
/* header */
/*--------------------------------------------------------------*/
/* .contents */
body:not(#top) header+.contents {
    margin-top: 65px;
}
#message .content_wrap>.container>div>h4 {
    margin: 0 0 1.5em 0;
}
#message .content_wrap>.container>div>div>p+p {
    margin: 1.5em 0 0 0;
}
#message .content_wrap>.container>div>img {
    width: 100%;
}
#privacy_policy .content_wrap>.container>div>h4 {
    border-bottom: 1px solid #DDD;
    margin: 42px 0 18px 0;
    padding: 0 0 19px 0;
}
#privacy_policy .content_wrap>.container>div>p {
    line-height: 24px;
    margin: 0 !important;
}
#asset_management .content_wrap>.container>div {
    text-align: center;
}
#asset_management .content_wrap>.container>div>p,
#asset_management .content_wrap>.container>div>div>p {
    line-height: 25px;
    text-align: left;
    margin: 0 !important;
}
#asset_management .content_wrap>.container>div>img {
    max-width: 100%;
    margin: 30px 0;
}
#works p.btn-block {
    background-color: #a6937c;
    color: #FFF;
    border-radius: 6px !important;
    margin: 0;
    padding: 10px;
}
#works>.contents>.content_wrap>.container>div>p {
    line-height: 24px;
    margin: 0 !important;
}
#works .link-box>[class^=col-] {
    position: relative;
    margin-top: 38px;
    margin-bottom: 0;
}
#works .link-box>[class^=col-]>p {
    position: absolute;
    bottom: 0;
    left: 15px;
    width: calc(100% - 30px);
    background-color: rgba(0, 0, 0, 0.4);
}
#works .link-box>[class^=col-]>p>a {
    display: block;
    color: #FFF;
    text-align: center;
    padding: 10px 0;
}
#company_profile #organization_unit img {
    width: 100%;
    max-width: 600px;
}
#flow>.contents>.content_wrap>.container>div>.text-center>img {
    width: 100%;
    max-width: 500px;
    margin: 52px 0 30px 0;
}
#flow .content_wrap>.container>div>p,
#flow .content_wrap>.container>div>div>p {
    line-height: 25px;
    text-align: left;
    margin: 0 !important;
}
#flow #condition_table {
    margin: 0;
}
#flow #condition_table>thead>tr>th {
    width: 33%;
    background-color: #e2ecfa;
    border-right: 1px solid #FFF;
    font-weight: bold;
    text-align: center;
    padding: 23px 0 21px 0;
}
#flow #condition_table>thead>tr>th:nth-child(3) {
    background-color: #ffecee;
}
#flow #condition_table>tbody>tr>td {
    text-align: center;
}
#message .content_wrap>.container>div>div>p {
    line-height: 25px;
}
#recruit>.contents>.content_wrap>.container>div>.row>[class^=col-]>p {
    line-height: 24px;
}
/*--------------------------------------------------------------*/


/* Style function and raku-------------- */
#hs_create_file_html {
    position: fixed;
    left: 0;
    top: 200px;
    z-index: 9999999;
    font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
    width: 220px;
    text-align: left;
    border: 1px #ccc solid;
    background: #fff;
    padding: 10px;
}
.title-func-st1 {
    text-align: center;
    font-size: 20px;
    line-height: normal;
    margin-bottom: 20px;
}
.btn-func-st1 {
    width: 100%;
    float: left;
    margin-bottom: 10px;
    text-align: left;
}
#formAdmin {
    display: none;
}

._edEdit .data-wrap{
    height:auto !important;
    width:inherit !important;
    left:0;
}
._edEdit .data-wrap img{
    max-width: 100% !important;
    position:relative;
    left:0 !important;
    width:100% !important;
    height:auto !important;
    max-height: 100% !important;
}
/* End style function and raku-------------- */

/* Banner */
.banner_ct {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    text-align: center;
    margin-top: 74px;
}
.overlay_banner {
    background: rgba(0, 0, 0, 0.6);
    padding: 56px 0 52px 0;
}
.banner_ct h2 {
    color: #FFF;
    font-size: 22px;
    margin: 0;
}
.banner_ct_en {
    display: inline-block;
    min-width: 200px;
    border-top: 1px solid #fff;
    color: #FFF;
    font-size: 10px;
    font-weight: normal;
    margin: 10px 0 0 0;
    padding: 12px 0 0 0;
    text-transform: uppercase;
}
/* End banner */

/* footer */
/* XS : W < 768px */
@media screen and (max-width: 767px) {
    table.base_block>tbody>tr>th {
        display: block;
        width: 100%;
        max-width: none;
        min-width: none !important;
        border-bottom: none;
        padding: 10px 25px;
    }
    table.base_block>tbody>tr>th>.label {
        float: left;
        transform: none;
        margin: 0 10px 0 0;
    }
    table.base_block>tbody>tr>td {
        display: block;
        width: 100%;
        border-top: none;
        border-bottom: 10px solid #FFF;
        padding: 10px 25px 10px 25px;
    }
    table.base_block>tbody>tr>td>.form-control {
        width: 100% !important;
    }
    .table-responsive {
        position: relative;
    }
    .table-responsive>.left,
    .table-responsive>.right {
        content: "";
        position: fixed;
        bottom: 0;
        left: 0;
        display: block;
        width: 30px;
        height: 810px;
        font-size: 16px;
        text-align: center;
        cursor: pointer;
        margin-left: -15px;
        margin-bottom: 203px;
    }
    .table-responsive>.right {
        left: auto;
        right: 0;
        margin-left: 0;
        margin-right: -15px;
    }
    .table-responsive>.left::after,
    .table-responsive>.right::after {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-image: url(../img/pankuzu_arrow.png);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 50%;
    }
    .table-responsive>.left::after {
        transform: scaleX(-1);
    }
    .table-responsive>table.base>tbody>tr>th {
        white-space: nowrap;
        padding: 10px;
    }
    .table-responsive>table.base>tbody>tr>td {
        white-space: nowrap;
        padding: 10px;
    }
}
/*--------------------------------------------------------------*/

.head__inner{
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 30px);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    position: relative;
    height: 90px;
}
.row-hd{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.menu{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 49%;
    transform: translateX(-50%);
    width: 544px;
}
.menu ul li a{
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.1px;
    line-height: 1.2;
    padding: 0 21px;
}
.menu ul li{
    height: 100%;
}
.menu ul{
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.menu ul li a.active , .menu ul li a:hover 
{ 
    background: #fff;
    color: #1D3384;
}
.tel-our{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    display: block;
    margin: 0;
}
.tel-num { 
    font-size: 22px;
    color: #fff;
    line-height: 1.2;
    font-weight: 700;
    display: block;
    margin-top: 3px;
}
.tel{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 30px;
}
.menu-sp{
    background-color: #fff;
    display: none; 
    padding: 15px 10px; 
    font-size: 14px;
}
.menu-sp a.menu-click i { font-size: 24px; color: #1D3384; display: block;}
.slide { 
    position: relative;
    margin-top: 90px;
}
.owl-carousel-1 .item img{
    height: calc(100vh - 150px);
    object-fit: cover;
    object-position: center center;
}
.slide-scroll {
    background: red; 
    text-align: center;
}
.title-h2-top{
    font-size: 16px;
}
.title-h2-top-top{
    font-size: 3.5em;
}
.title-h2-top-mid{
    font-size: 3em;
    padding-top: 16px;
    padding-bottom: 10px;
}
.title-h2-top-bottom{
    font-size: 2.25em;
}
.title-h2-top-top,.title-h2-top-mid,.title-h2-top-bottom{
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #122052;
    line-height: 1;
    display: block;
    text-shadow: rgb(255, 255, 255) 4px 0px 0px, rgb(255, 255, 255) 3.87565px 0.989616px 0px, rgb(255, 255, 255) 3.51033px 1.9177px 0px, rgb(255, 255, 255) 2.92676px 2.72656px 0px, rgb(255, 255, 255) 2.16121px 3.36588px 0px, rgb(255, 255, 255) 1.26129px 3.79594px 0px, rgb(255, 255, 255) 0.282949px 3.98998px 0px, rgb(255, 255, 255) -0.712984px 3.93594px 0px, rgb(255, 255, 255) -1.66459px 3.63719px 0px, rgb(255, 255, 255) -2.51269px 3.11229px 0px, rgb(255, 255, 255) -3.20457px 2.39389px 0px, rgb(255, 255, 255) -3.69721px 1.52664px 0px, rgb(255, 255, 255) -3.95997px 0.56448px 0px, rgb(255, 255, 255) -3.97652px -0.432781px 0px, rgb(255, 255, 255) -3.74583px -1.40313px 0px, rgb(255, 255, 255) -3.28224px -2.28625px 0px, rgb(255, 255, 255) -2.61457px -3.02721px 0px, rgb(255, 255, 255) -1.78435px -3.57996px 0px, rgb(255, 255, 255) -0.843183px -3.91012px 0px, rgb(255, 255, 255) 0.150409px -3.99717px 0px, rgb(255, 255, 255) 1.13465px -3.8357px 0px, rgb(255, 255, 255) 2.04834px -3.43574px 0px, rgb(255, 255, 255) 2.83468px -2.82216px 0px, rgb(255, 255, 255) 3.44477px -2.03312px 0px, rgb(255, 255, 255) 3.84068px -1.11766px 0px, rgb(255, 255, 255) 3.9978px -0.132717px 0px;
}
.title-h2-top-main{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
    text-align: center;
}
.slide-scroll {
    background-color: #1D3384;
}
.slide-scroll a { 
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.5px;
    line-height: 1;
    height: 60px;
    justify-content: center;
    align-items: center;
    display: flex; 
}
.smooth-icon{
    color: #fff; 
    position: relative;
}
.smooth-icon:before{
    content: url(../images/fv4.png);
    position: absolute;
    right: -39px;
    bottom: 0;
}
.top-sec1-text{
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.5px;
    line-height: 1;
    padding-top: 25px;
    text-align: center;
}
.top-sec1-item{
    position: relative;
}
.top-sec1-link{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.top-sec1{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: 20px;
    row-gap: 25px;
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 30px);
    padding-top: 150px;
    padding-bottom: 124px;
}
.cont-1140{
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 30px);
}
.title-normal{
    font-size: 28px;
    font-weight: 600;
    color: #131360;
    line-height: 1.6;
    letter-spacing: 1.4px;
}
.top-sec2-content .title-normal{
    padding-bottom: 32px;
}
.text-block{
    letter-spacing: 0.96px;
    text-align: justify;
}
.top-sec2{
    display: grid;
    grid-template-columns: 42.1% 55.6%;
    justify-content: space-between;
    padding-top: 98px;
    padding-bottom: 100px;
}
.color-bg{
    background-color: #F8F7F8;
}
.top-sec2-img{
    padding-top: 3px;
}
.title-box-right{
    font-size: 28px;
    font-weight: 700;
    color: #131360;
    background-color: #F0EEEE;
    letter-spacing: 1.4px;
    position: relative;
    padding-left: 100px;
    padding-right: 10px;
    display: flex;
    align-items: center;
    min-height: 50px;
    line-height: 1.6;
}
.title-box-right:before{
    content: '';
    width: 78px;
    background-color: #1D3384;
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
}
.title-normal-22{
    font-size: 22px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 1.1px;
}
.top-sec3-img-content{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.top-sec3-img{
    width: 48.6%;
}
.top-sec3-content{
    width: 48.6%;
    padding-top: 21px;
}
.top-sec3-content .title-normal-22{
    padding-bottom: 22px;
}
.top-sec3-gr{
    padding-top: 60px;
}
.top-sec3{
    padding-top: 140px;
    padding-bottom: 140px;
}
.top-sec3-img-content-mid{
    flex-direction: row-reverse;
}
.top-sec3-gr .top-sec3-img-content+.top-sec3-img-content{
    padding-top: 80px;
}
.title-footer{
    font-size: 28px;
    font-weight: 700;
    line-height: 1.6;
    color: #1D3384;
    letter-spacing: 0.5px;
    text-align: center;
    position: relative;
    padding-bottom: 47px;
    letter-spacing: 1.4px;
}
.title-footer:before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 1px;
    background-color: #1D3384;
}
.ft-link-page{
    font-size: 16px;
    font-weight: 500;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.3;
    height: 79px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid;
    border-radius: 10px !important;
    gap: 18px;
}
.gr-footer-link .ft-link-page:nth-child(1){
    color: #1D3384;
    border-color: #1D3384;
    background-color: #F4F3F6;
}
.gr-footer-link .ft-link-page:nth-child(2){
    color: #298F2A;
    border-color: #3CC83E;
    background-color: #F4F6F4;
}
.gr-footer-link .ft-link-page:nth-child(3){
    color: #EE6105;
    border-color: #FF6601;
    background-color: #F8F4F3;
}
.ft-link-page:after{
    display: inline-block;
    position: relative;
    transform: translateY(2px);
}
.gr-footer-link .ft-link-page:nth-child(1):after{
    content: url(../images/fv13.png);
}
.gr-footer-link .ft-link-page:nth-child(2):after{
    content: url(../images/fv14.png);
}
.gr-footer-link .ft-link-page:nth-child(3):after{
    content: url(../images/fv15.png);
}
.gr-footer-link{
    max-width: 959px;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 29px;
    row-gap: 10px;
    padding-top: 70px;
    padding-bottom: 140px;
    width: calc(100% - 30px);
}
footer{
    padding-top: 93px;
}
.head{
    background:#1D3384;
    color:#fff;
}
.coppy-c{
    font-size: 16px;
    text-align: center;
    line-height: 1;
    color: #fff;
    background-color: #1D3384;
    padding: 22px 0;
    font-family: 'Noto Sans JP', sans-serif;
}
.banner{
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    height: 361px;
    margin-top: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.title-banner{
    font-size: 38px;
    font-weight: 600;
    letter-spacing: 0.5px;
    line-height: 1;
    color: #fff;
    text-shadow: 0px 4px 7px #000000;
    text-align: center;
}
.title-banner-jp{
    display: block;
    font-size: 28px;
    line-height: 1;
    letter-spacing: 0.5px;
    color: #fff;
    margin-top: 18px;
}
.page-top-page{
    padding-top: 100px;
}
.title-h4-normal{
    font-size: 28px;
    letter-spacing: 1.4px;
    color: #131360;
    font-weight: 700;
    text-align: center;
}
.title-product{
    text-align: center;
    font-size: 22px;
    font-weight: 700;
}
.product-content-item .text-block{
    letter-spacing: 1.6px;
    line-height: 1.8;
    padding-top: 10px;
    padding-bottom: 50px;
}
.product-content-item-last .text-block{
    padding-bottom: 27px;
}
.tb-product{
    width: 100%;
    margin-top: auto;
}
.tb-product td{
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 1.6px;
    border-bottom: 2px solid #131360;
    padding: 15px 0;
    padding-right: 15px;
}
.tb-product td .tb-product-text-dec{
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 1.6px;
    display: grid;
    grid-template-columns: 18px 1fr;
}
.tb-product tr:first-child td{
    border-top: 2px solid #131360;
}
.tb-product td:first-child{
    width: 224px;
    padding-left: 28px;
}
.gr-img-content-product{
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
    row-gap: 60px;
    padding-top: 75px;
}
.product-content-item .title-product{
    padding-top: 18px;
}
.title-h4-normal-sec1-product{
    padding-top: 38px;
}
.tb-product-text-dec{
    position: relative;
    margin-left: -5px;
}
.title-h4-normal-sec2-product{
    padding-top: 107px;
}
.product-content-item{
    display: grid;
    grid-template-columns: 1fr;
    align-items: flex-start;
}
.title-box-right-sec-3-product{
    margin-top: 140px;
    margin-bottom: 40px;
}
.gr-img-content-product-sec-3{
    padding-top: 0 !important;
    row-gap: 36px;
}
.gr-img-content-product-sec-3 .product-content-item{
    display: block !important;
}
.gr-img-content-product-sec-3 .text-block{
    padding-bottom: 0 !important;
    letter-spacing: 0.8px;
}
.page-top-page-product{
    padding-bottom: 135px;
}
.gr-res{
    padding-top: 30px;
}
.gr-res .text-block{
    letter-spacing: 1.6px;
    line-height: 1.8;
}
.res-item-title{
    font-size: 22px;
    letter-spacing: 2.2px;
    line-height: 1.3;
    text-align: center;
    font-weight: 500;
    padding-top: 10px;
}
.list-res{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 30px;
    row-gap: 30px;
    padding-top: 28px;
}
.title-box-right-down{
    margin-top: 138px;
}
.res-item .text-block{
    text-align: center;
    padding-top: 10px;
}
.banner--contact{
    background-position: right center;
}
.gr-text-dots-f .text-block{
    letter-spacing: 1.6px;
    line-height: 1.8;
    font-weight: 500;
    display: grid;
    grid-template-columns: 18px 1fr;
}
.gr-text-dots-f{
    padding-top: 31px;
    padding-bottom: 136px;
}
.table-form{
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 30px;
    padding-bottom: 200px;
}
.table-form table{
    width: 100%;
}
.table-form table tr td{
    font-size: 16px;
    line-height: 1.8;
    color: #2E2E2E;
    letter-spacing: 1.6px;
    padding: 10px 20px;
    vertical-align: middle;
    border-bottom: 1px solid #D9D9D9;
}
.form-control-i{
    width: 100%;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #D9D9D9;
}
.table-form table tr td:first-child{
    width: 300px;
    background-color: #F0EEEE;
    border-bottom: 1px solid #FFF;
}
.table-form table tr td:last-child{
    border-left: 1px solid #D9D9D9;
    border-right: 1px solid #D9D9D9;
}
.table-form table tr:last-child td:first-child{
    border-bottom: 1px solid #F0EEEE;
}
.table-form table tr:first-child td:first-child{
    border-top: 1px solid #F0EEEE;
}
.table-form table tr:first-child td:last-child{
    border-top: 1px solid #D9D9D9;
}


.gr-check-box label{
    display: flex;
    align-items: center;
    font-weight: 500;
    line-height: 1;
    gap: 13px;
    flex-direction: row-reverse;
}
.gr-check-box .wpcf7-list-item-label{
    font-size: 16px;
    font-weight: 500;
    color: #000;
    letter-spacing: 1.6px;
    line-height: 1.8;
}
.gr-check-box .wpcf7-list-item.first{
    margin-left: 0 !important;
    margin-right: 50px;
}
.gr-check-box{
    display: flex;
    flex-wrap: wrap;
    column-gap: 52px;
    row-gap: 30px;
}
.gr-check-box input{
    width: 20px;
    height: 20px;
    margin-top: 0 !important;
}
.form-area{
    width: 100%;
    height: 160px;
    border: 1px solid #D9D9D9;
    background: #FFF;
    resize: none;
    padding: 10px;
    display: block;
}
.table-form .text-block{
    line-height: 1.8;
    letter-spacing: 1.6px;
    padding-top: 10px;
}
.form-submit{
    color: #fff;
    font-size: 16px;
    line-height: 1;
    border-radius: 10px !important;
    background: rgb(29,51,132);
    background: linear-gradient(134deg, rgba(29,51,132,1) 0%, rgba(53,81,182,1) 100%);
    border: 0;
    width: 180px;
    height: 50px;
}
.form-submit__inner{
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 20px;
    position: relative;
}
.footer-contact{
    padding-top: 0;
}
.gr-text-dots-f-access .text-block{
    display: inline-block !important;
    font-weight: 400 !important;
}
.google-map{
    padding-top: 28px;
}
.google-map iframe{
    width: 100%;
    height: 560px;
}
.table-form-assess table tr td{
    padding: 25px 24px;
}
.table-form-assess{
    padding-top: 80px;
    padding-bottom: 140px;
}
#pagetop{
    border: 0;
    width: 50px;
    height: 50px;
    border-radius: 6px;
    cursor: pointer;
    position: fixed;
    z-index: 100;
    bottom: 45px;
    right: 15px;
    background-color: #1D3384;
}
#pagetop img {
    width: 15px;
    height: auto;
}
.wpcf7-spinner{
    position: absolute !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: 50%;
    transform: translateX(-50%);
    bottom: -30px;
}
.checkmark{
    display: inline-block;
    height: 20px;
    width: 20px;
    border: 1px solid #D9D9D9;
    position: relative;
}
.wpcf7-list-item label input{
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.wpcf7-list-item label input:checked ~ .checkmark {
    background-color: #2196F3;
    border: 0;
}
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
.wpcf7-list-item label .checkmark:after {
    left: 7px;
    top: 1px;
    width: 7px;
    height: 14px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.wpcf7-list-item label input:checked ~ .checkmark:after{
    display: block;
}
.gr-check-box .wpcf7-list-item.last{
    margin-left: 0;
}
@media screen and (max-width:1200px){
    .menu{
        left: 45%;
    }
    .title-h2-top{
        font-size: 1.333vw;
    }
}
@media screen and (max-width:999px) {
	.tel { width: 100%; text-align: right;}
	.menu ul li { width: 100%;}
	.menu ul li a { 
        padding: 10px 0; 
        width: 100%; 
        text-align: center;
        border-bottom: 1px solid #fff;
    }
	.logo { padding-left: 15px;}
	.tel a { margin:  0 5px;}
    .tel-sp{
        display: none;
    }
    .tel{
        column-gap: 15px;
    }
    .menu{
        left: 0;
        top: 60px;
        width: auto;
        right: 0;
        transform: none;
        
    }
    .menu ul li{
        background-color: #1D3384;
        height: 60px;
    }
    .menu ul{
        gap: 0;
        height: auto;
        display: none;
        border-top: 1px solid #fff;
    }
    .head__inner{
        width: 100%;
        margin-right: 0;
        height: 60px;
    }
    .tel a{
        margin: 0;
    }
    .menu-sp{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 60px;
        height: 60px;
    }
    .icon-line img{
        height: 45px;
        width: auto;
    }
    .slide{
        margin-top: 60px;
    }
    .owl-carousel-1 .item img{
        height: auto;
        object-fit: cover;
        object-position: center center;
    }
    .banner{
        margin-top: 60px;
    }
}
@media screen and (max-width:992px){
    .top-sec1{
        padding-top: 80px;
        padding-bottom: 80px;
        grid-template-columns: 1fr 1fr;
    }
    .top-sec2{
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .title-normal{
        font-size: 24px;
    }
    .title-box-right{
        font-size: 24px;
    }
    .top-sec2-content .title-normal{
        padding-bottom: 15px;
    }
    .top-sec3 {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .top-sec3-content{
        padding-top: 0;
    }
    .title-normal-22{
        font-size: 20px;
    }
    .top-sec3-gr .top-sec3-img-content+.top-sec3-img-content{
        padding-top: 50px;
    }
    footer{
        padding-top: 80px;
    }
    .title-footer {
        font-size: 22px;
        padding-bottom: 30px;
    }
    .gr-footer-link {
        padding-top: 50px;
        padding-bottom: 80px;
        column-gap: 10px;
    }
    .ft-link-page{
        font-size: 15px;
        column-gap: 5px;
    }
    .banner{
        height: max(36.290vw,250px);
    }
    .page-top-page{
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .title-banner{
        font-size: 28px;
    }
    .title-banner-jp{
        font-size: 24px;
        margin-top: 12px;
    }
    .title-h4-normal{
        font-size: 24px;
    }
    .tb-product td:first-child{
        width: 130px;
        padding-left: 15px;
    }
    .title-product{
        font-size: 20px;
    }
    .gr-img-content-product{
        column-gap: 20px;
    }
    .product-content-item .text-block{
        padding-bottom: 30px;
    }
    .title-h4-normal-sec2-product{
        padding-top: 80px;
    }
    .title-box-right-sec-3-product {
        margin-top: 80px;
    }
    .list-res{
        column-gap: 15px;
    }
    .res-item-title{
        font-size: 20px;
    }
    .title-box-right-down{
        margin-top: 80px;
    }
    .gr-text-dots-f {
        padding-top: 30px;
        padding-bottom: 80px;
    }
    .table-form {
        padding-bottom: 0px;
    }
    .google-map iframe{
        height: max(56.452vw,300px);
        
    }
}
@media screen and (max-width:767px){
    .title-h2-top-bottom {
        font-size: 2.8em;
    }
    .title-h2-top-mid {
        font-size: 3.2em;
        padding-top: 8px;
    }
    .title-h2-top-top {
        font-size: 3.6em;
    }
    .title-h2-top-top, .title-h2-top-mid, .title-h2-top-bottom{
        text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
    }
    .slide-scroll a{
        font-size: 18px;
    }
    .smooth-icon:before {
        content: url(../images/fv4.png);
        right: -30px;
        bottom: 0;
        transform: scale(0.8);
    }
    .top-sec1{
        padding-top: 60px;
        padding-bottom: 50px;
    }
    .top-sec1-text{
        font-size: 18px;
        padding-top: 12px;
    }
    .top-sec2{
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .top-sec2{
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        flex-direction: column-reverse;
    }
    .top-sec2-img{
        padding-top: 0;
    }
    .top-sec2-img img{
        width: 100%;
    }
    .text-block{
        font-size: 15px;
    }
    .title-normal{
        font-size: 22px;
    }
    .title-box-right{
        font-size: 22px;
        padding-left: 60px;
    }
    .top-sec3 {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .top-sec3-img{
        width: 100%;
    }
    .top-sec3-img img{
        width: 100%;
    }
    .top-sec3-content{
        width: 100%;
    }
    .title-normal-22{
        font-size: 18px;
    }
    .top-sec3-img-content{
        gap: 20px;
    }
    .top-sec3-content .title-normal-22{
        padding-bottom: 10px;
    }
    .top-sec3-gr .top-sec3-img-content+.top-sec3-img-content{
        padding-top: 40px;
    }
    .title-box-right:before{
        width: 50px;
    }
    .top-sec3-gr{
        padding-top: 30px;
    }
    .gr-footer-link{
        grid-template-columns: 1fr;
        max-width: 400px;
        gap: 15px;
        padding-bottom: 50px;
        padding-top: 30px;
    }
    .ft-link-page{
        height: 70px;
    }
    footer{
        padding-top: 50px;
    }
    .title-footer{
        font-size: 20px;
        padding-bottom: 15px;
    }
    .coppy-c{
        font-size: 15px;
        padding: 17px 0;
    }
    .page-top-page{
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .title-h4-normal-sec1-product{
        padding-top: 30px;
    }
    .gr-img-content-product{
        display: grid;
        grid-template-columns: 1fr;
        row-gap: 50px;
        padding-top: 50px;
    }
    .tb-product td{
        font-size: 15px;
    }
    .tb-product td .tb-product-text-dec{
        font-size: 15px;
    }
    .title-h4-normal-sec2-product{
        padding-top: 50px;
    }
    .tb-product td:first-child{
        width: 110px;
    }
    .title-product{
        font-size: 18px;
    }
    .title-box-right-sec-3-product{
        margin-top: 50px;
        margin-bottom: 30px;
    }
    .res-item-title{
        font-size: 18px;
    }
    .list-res{
        grid-template-columns: 1fr;
    }
    .res-item img{
        width: 100%;
    }
    .gr-text-dots-f {
        padding-bottom: 50px;
    }
    .table-form {
        padding-top: 30px;
    }
    .table-form table tr td{
        width: 100% !important;
        float: left;
        border: 0 !important;
        font-size: 15px;
        padding: 15px 10px !important;
    }
    .table-form table tr td:last-child{
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .table-form-assess table tr td:last-child{
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .table-form .text-block{
        padding-top: 0;
    }
    .title-banner{
        font-size: 24px;
    }
    .title-banner-jp{
        font-size: 18px;
    }
    .title-box-right-down{
        margin-top: 50px;
    }
}
@media screen and (max-width:500px){
    .top-sec1{
        gap: 20px;
    }
    .top-sec1-text {
        font-size: 15px;
        padding-top: 8px;
    }
}
@media screen and (max-width:999px){
    .banner--page-2-sp{
        background-image: url(../images/fv41.jpg) !important;
    }
}