@charset "utf-8";

/*@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&display=swap');*/
/*@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');*/

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Arimo:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');
/*@import url('https://use.fontawesome.com/releases/v6.2.1/css/all.css');*/
@import url('https://use.fontawesome.com/releases/v5.15.4/css/all.css');

html {
    /*scroll-behavior: smooth;*/
    /*font-size: 1rem;*/
    /*font-size: 0.95rem;*/
}



/*body*/

body {
    /*font-feature-settings: "palt";*/
    padding-top: 57px;
    padding-top: 65px;
    padding-top: 56px;
    padding-top: 84px;
    /*font-family: 'Roboto', sans-serif;*/
    font-family: 'Arimo', sans-serif;
}

body:lang(en) {
    /*font-family: 'Roboto', sans-serif;*/
    font-family: 'Arimo', sans-serif;

}

.dropdown-menu {
    margin: 0;
    box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.2);
    /* box-shadow: 0 2px 16px 0 rgba(0,0,0,0.2); */
    /* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); */
    /* border: 1px solid #e3e6f0; */
    border: 0px solid transparent;
}



/* base */

b,
strong {
    font-weight: 500;
    font-weight: 600;
}



/* link */

:target::before {
    /*content: "";
    display: block;
    height: 90px;
    margin-top: -90px;*/
}

:target:before {
  /*content: "";
  display: block;
  height: 108px; 
  margin: -108px 0 0;
  visibility: hidden;*/
}

.anchor {
    /*margin-top: -80px;
    padding-top: 80px;*/
    /*margin-top: -108px;
    padding-top: 108px;*/
}

a {
    text-decoration: none;
    background-color: transparent;
    color: #007bff;
}

a:hover {
    color: transparent;
    background-color: transparent;
}

main h2 + hr {
    margin-top: 0.5rem;
}

img {
    transition: all 0.3s ease;
}



/* nav */

.bg-white {
    min-height: 84px;
    border-bottom: 1px solid #E5E9EF;
}

.navbar-nav .nav-link {
    font-weight: 500;
    /*font-weight: 400;*/
    color: rgba(52, 58, 64, 1) !important;
    transition: all 0.4s ease;
    font-family: 'Roboto', sans-serif;
}

.navbar-nav .nav-link:hover {
    color: rgba(52, 58, 64, 0.5) !important;
}

.nav-link {
    /*padding-top: 0.2rem;
    padding-bottom: 0;*/
}

body a.navbar-brand img {
    margin-right: 1rem;
    height: 46px;
    transition: all 0.4s ease;
}

body a.navbar-brand {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    color: #333;
    color: rgba(52, 58, 64, 1);
    font-size: 1rem;
    transition: all 0.4s ease;
}

body a.navbar-brand:hover {
    opacity: 0.6;
    /*color: rgba(52, 58, 64, 0.5);*/
}

body a.navbar-brand span {
    padding-top: 0.2rem;
}

body:lang(en) a.navbar-brand span {
    padding-top: 0.3rem;
}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 0.75rem;
        padding-left: 0.75rem
    }

    .navbar-expand-lg .navbar-nav .nav-item:last-child .nav-link {
        padding-right: 0;
    }
}

@media (min-width: 1200px) {
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 1.5rem;
        padding-left: 1.5rem
    }

    .navbar-expand-lg .navbar-nav .nav-item:last-child .nav-link {
        padding-right: 0;
    }
}


@media (max-width: 991.98px) {

    .nav-link {
        display: block;
        padding: 0.75rem 1rem;
    }

    .navbar-light .navbar-toggler {
        border: none;
        padding: 0.25rem 0rem;
    }

    .navbar-nav .nav-item {
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        padding: 0px 30px;
        position: relative;
        /*border-right: 1px solid #dee2e6 !important;*/
    }

    .navbar-collapse {
        /*overflow-y: scroll;*/
        /* max-height: 350px; */
        box-shadow: 0px 10px 30px rgb(83 88 93 / 20%);
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        background: #ffffff;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        transition: all 0.2s ease;
    }
}



/* main*/

main {
    padding: 30px;
    padding: 40px 30px;
    padding: 50px 30px;
}

main a {
    /*color: #306fbb;*/
    /*font-weight: 500;*/
    font-weight: 600;
}

main a:hover {
    color: #CC0033;
    text-decoration: underline;
    transition: all 0.4s ease;
}

.container a,
.btn {
    transition: background-color 0.4s ease;
}

.container a {
    transition: none;
}



/*  btn */

.btn-primary {
    color: #fff;
    background-color: #3c73d2;
    border-color: #4582EC;
}

.btn-primary:hover {
    color: #fff;
    background-color: #1954b9;
    border-color: #0062cc;
}

main h1,
main .h1 {
    font-style: normal;
    font-size: 2rem;
    font-size: 1.9rem;
    /* font-weight: 600; */
    margin-bottom: 1.5rem;
    margin-bottom: 1.0rem;

    font-style: normal;
    font-weight: 500 !important;
}

main h1 i,
main .h1 i {
    /*color: #1b1464 !important;*/
}


main .h2,
main h2 {
    font-size: 1.25rem;
    font-size: 1.25rem;
    font-size: 1.5rem;
    /* border-bottom: 2px solid rgba(0, 0, 0, .1); */
    /* margin-bottom: .75rem; */
    padding: 0;
    /*font-family: "Noto Sans JP", sans-serif;*/
    font-style: normal;
    /* font-weight: 400 !important;*/
}



/* table */

table {
    margin-bottom: 0.5rem;
}

table,
td,
th {
    border-collapse: collapse;
    /*border: 1px #dee2e6 solid;*/
    border: none;
    vertical-align: top;
}

.table td,
.table th {
    /*font-size: 0.9rem;*/
    font-weight: 500;
    /*font-size: 0.8rem;*/
    /*padding: .5rem;*/
}

.table th {
    /*border-bottom: 2px solid #0277b4;
    border-top: none;*/
    background-color: #e7f7f9;
    background-color: #E7F6F2;
}

.table td {
    /*border-bottom: 2px solid #dee2e6;
    border-top: none;*/
    background-color: #fff;
}

table tr:last-child > th {
    border-bottom: 1px solid #dee2e6;
}

.table tr:last-child > td {
    border-bottom: 1px solid #dee2e6;
}

/*.table tr:nth-child(1) > th {
    border-top: 2px solid #0277b4;
}

.table tr:nth-child(1) > td {
    border-top: 2px solid #dee2e6;
}*/

.table td {
    font-weight: 400;
}

.table thead th {
    vertical-align: top;
}

.table-bordered th,
.table-bordered td {
    /*border: 1px solid #ced4da;*/
}


/* flag */

.flag div img {
    width: 64px;
}

.flag div {
    margin: 0.5rem;
    margin-bottom: 1rem;
}



/* width */

.w-5 {
    width: 5%;
}

.w-10 {
    width: 10%;
}

.w-15 {
    width: 15%;
}

.w-20 {
    width: 20%;
}

.w-25 {
    width: 25%;
}

.w-30 {
    width: 30%;
}

.w-35 {
    width: 35%;
}

.w-40 {
    width: 40%;
}

.w-45 {
    width: 45%;
}



/* footer */

footer {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    /*background-color: #f3f4f6;*/
    /*background-color: #1b1464;*/
    background-color: #343A40;
    color: #fff;
}

footer div.container {
    width: 100%;
    max-width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

footer a {
    font-weight: 500;
    color: #fff;
}

footer a:hover {
    /*color: #CC0033;*/
    /*color: #fff;*/
    text-decoration: underline;
    transition: all 0.4s ease;
}

footer span {
    display: block;
}

footer div.footer-logo,
footer div.footer-logo img {
    width: 150px;
}

footer div.copyright-text {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 500;
}

footer div.footer-logo a[target^="_blank"]:after {
    content: none;
    margin: 0
}



/* amin */

@keyframes show {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


.full,
.part {
    animation: show 0.3s linear 0s;
}

/*.fadeIn_up {
    opacity: 0;
    transform: translate(0, 25%);
    transition: 1s;
}

.fadeIn_up.is-show {
    transform: translate(0, 0);
    opacity: 1;
}
*/



/* fade up*/
.fadeIn_up {
    opacity: 0;
    transform: translateY(100px);
    transition: 1s;
}

.fadeIn_up.is-show {
    transform: translateY(0);
    opacity: 1;
}

.fade_up {
    transition: opacity linear 0.25s, transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.25s;
    transform: translate(0, 100px);
    opacity: 0;
}

.fade_up.is-show {
    transform: translate(0, 0);
    opacity: 1;
}



/* image focus */

.img_focus {
    transform: scale(1.16);
    transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: 1.0s cubic-bezier(0.215, 0.61, 0.355, 1);
    /*transition: 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);*/
    opacity: 0;
}


.img_focus.is-show {
    transform: scale(1);
    opacity: 1;
}



/* image slide */
.services-image img .img_slide:after,
.services-image span:after {
    content: '';
    display: block;
    width: 102%;
    height: 102%;
    background: #eee;
    background: #f3dca2;
    position: absolute;
    /*left: 0;*/
    right: 0;
    top: 0;
    transition: 0.8s ease-in-out;
}

.services-image.is-show img .img_slide:after,
.services-image.is-show span:after {
    transition-delay: 0.25s;
    width: 0;
}



/* text slide */

.section-title h2 span {
    display: inline-block;
}

.section-title h2 span:after,
.section-title h2 span span:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    right: 0;
    top: 0;
    /*transition: 0.8s ease-in-out;*/
    transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    z-index: 10;
}

.section-title h2.t-delay span:after,
.section-title h2.t-delay span span:after {
    transition-delay: 1.5s;
}

.section-title h2.is-show span:after,
.section-title h2.is-show span span:after {
    width: 0;
}

section#services .section-title h2 span:after,
section#services .section-title h2 span span:after {
    background-color: #fff8e7;
}

section#contact .section-title h2 span:after,
section#contact .section-title h2 span span:after {
    background-color: #f3f4f6;
}



/* delay */
.t-delay025 {
    transition-delay: 0.25s;
}

.t-delay05 {
    transition-delay: 0.5s;
}

.t-delay1 {
    transition-delay: 1.0s;
}

.t-delay15 {
    transition-delay: 1.5s;
}

.t-delay175 {
    transition-delay: 1.75s;
}

.t-delay2 {
    transition-delay: 2.0s;
}

.t-delay225 {
    transition-delay: 2.25s;
}

.t-delay25 {
    transition-delay: 2.5s;
}

/*.fadeIn_up {
    animation-name: fadeUpAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}*/


/* back-top button */

.back-top i {
    font-size: 12px;
    color: #ffffff;
    margin: 0 !important;
    display: block;
}

.back-top {
    width: 40px;
    height: 40px;
    line-height: 40px;
    padding: 13px 14px !important;
    position: fixed !important;
    bottom: 25px;
    right: 25px;
    border-radius: 3px;
    display: block;
    text-align: center;
    z-index: 9999;
    /*visibility: hidden;*/
    opacity: 0;
    /*transform: translateY(50%);*/
    transition: all 0.3s ease-in-out;
    background-color: #333;
    background-color: #343A40;
    transition: all 0.4s ease-in-out 0s;

}

a.back-top:hover {
    text-decoration: none;
    background: #666;
}



/* icon */

main a[href$=".pdf"]:after,
main a[href*=".pdf#"]:after {
    font-size: 1.15rem;
}

main a[target^="_blank"]:after,
nav a.dropdown-item[target^="_blank"]:after,
footer a[target^="_blank"]:after {
    content: url(images/blank_icon.png);
    margin: 0 .3em;
}

main a[href$=".pdf"]:after,
main a[href$=".pdf"]:after {
    content: "\f1c1";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    margin: 0 .3em;
}

main a[href$=".xls"]:after,
main a[href$=".xlsx"]:after {
    content: "\f1c3";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    margin: 0 .3em;
    font-size: 1.15rem;
}

main a[href$=".doc"]:after,
main a[href$=".docx"]:after {
    content: "\f1c2";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    margin: 0 .3em;
    font-size: 1.15rem;
}

main a.noicon:before,
main a.noicon:after {
    content: none;
}
