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

body, #wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    background-color: #F6FEFB;
}

main {
    /*z-index: -20;*/
}

h1, h2, p,label {
    margin-bottom: 0!important;
}

h1 a {
    font-family: 'Sawarabi Mincho', sans-serif;
    font-size: 25px;
    color: #014B34;
    font-weight: bold;
}

h1 a:hover {
    color: #014B34;
    text-decoration: none;
}

h2 {
    color: #D3E4DD;
    font-size: 20px;
    line-height: 38px;
}

.h3--title {
    color: #3D3D3D;
    font-size: 35px;
    padding-left: 25px;
}

h4 {
    font-size: 20px;
    padding-top: 15px;
}

h5 {
    color: #55595C;
    font-size: 18px;
    padding-bottom: 10px;
    border-bottom: 3px solid #E3E3E3;
}

@media screen and (max-width:576px) {
    h1 a {
        font-size: 20px;
    }

    h2 {
        font-size: 18px;
    }
    
    h4 {
        font-size: 17px;
    }
    
    h5 {
        font-size: 16px;
    }
}

/********* header **********/
header {
    background-color: #ffffff;
}

.header__top {
    padding: 20px 0;
    background-color: #ffffff;
}

.header__top--green {
    padding: 24px 0;
    background-color: #034831!important;
}

.header__top--white a, .header__top--white a:hover {
    color: #ffffff;
}

.header__bottom {
    background-color: #034831!important;
    position: relative;
    padding: 15px 15px 10px 15px;
    z-index: 50;
}

.header__bottom::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 5px;
    background: linear-gradient(0deg, rgba(2,0,36,1) 0%, rgba(196,214,1,1) 60%);
    top: 0;
    left: 0;
}

.header__border::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 5px;
    background: linear-gradient(0deg,rgba(196,214,1,1) 60%, rgba(3,51,36,1) 20%);
    left: 0;
}

.header__bottom .nav-item {
    font-size: 18px;
}

.header__nav {
    padding: 0 30px;
}

.navbar {
    padding: 0!important;
}

.navbar .navbar-toggler {
    border:none;
}

.navbar .navbar-toggler:focus {
    outline: none;
}

.navbar-toggler .navbar-toggler-icon.green {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(3, 72, 49,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
.navbar-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(211, 228, 221,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

.nav-item {
    color: #D3E4DD;
    line-height: 38px;
}

.nav-item a {
    color: #D3E4DD;
}

.nav-item a:hover {
    text-decoration: none;
}

header .nav-item {
    font-weight: bolder;
}

.red {
    color: #d60103!important;
    
}

.green {
    color: #034831!important;
}

@media screen and (max-width:992px) {
    .header__top--green {
        padding: 20px 0;
    }

}


/********* buttn *********/

.header__btn {
    color: #22433B;
    width: 110px;
    background: rgb(255,255,255);
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(214,214,214,1) 100%);
}

.btn--red {
    color: #ffffff;
    background: rgb(214,1,3);
    background: linear-gradient(180deg, rgba(214,1,3,1) 0%, rgba(107,1,2,1) 100%);
}

.header__btn:hover {
    color: #22433B;
}
.btn--red:hover {
    color: #ffffff;
}

.login__btn {
    width: 200px;
    height: 45px;
}

.btn--list {
    padding: 0 50px 0 60px;
    margin: 20px 0 0 0;
}

.btn--question {
    position: relative;
    color: #ffffff;
    background-color: #B49150;
    padding: 15px 25px 15px 20px;
    margin-bottom: 15px;
    font-size: 18px;
    list-style: none;
}

.btn--question::after {
    content: '\03e';
    position: absolute;
    font-size: x-large;
    right: 10%;
    line-height: 30px;
}

.btn--question:hover {
    color: #ffffff;
    background-color: #755e37;
}

@media screen and (max-width:768px) {
    .btn--list {
        padding: 0;
    }

}

@media screen and (max-width:576px) {
    .btn--question {
        font-size: 17px;
    }
    
    .btn--question::after {
        right: 5%;
        font-size: medium;
        line-height: 22px;
    }
    
    .btn--red--mb {
        width: 50px!important;
        text-align: center;
    }
}

/********* breadcrumbs/map **********/
.breadcrumbs {
    width: 980px;
    margin: 30px 15px;
    color: #034831;
}
.breadcrumbs--list {
    padding: 0!important;
    margin-left: 15px;
    margin-bottom: 0!important;
    display: table;
    font-size: 13px;
    list-style: none;
}

.breadcrumbs--item {
    margin-right: 10px;
    font-size: 13px;
    float: left;
}

.breadcrumbs--item:last-child::before {
    padding: 0 10px 0 0;
    content: '\03e';
    font-size: 13px;
}

.breadcrumbs--item a {
    color: #034831;
}
.breadcrumbs--item a:hover {
    text-decoration: none;
    color: #034831;
}

.map {
    width: 100%;
    height: 250px;
    margin-bottom: 70px;
}

/********* background **********/
.main--bg {
    background: url("../../assets/img/top-bg.jpg") no-repeat center center;
    background-size: cover;
    position: relative;
    z-index: 0;
}
.login--bg {
    background: url("../../assets/img/login-bg.jpg") no-repeat center center;
    background-size: cover;
    position: relative;
    z-index: 0;
}

.bg--filter:before{
    content: '';
    background: inherit;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    z-index: -1;
}

@media screen and (max-width:576px) {
    .main--bg, .login--bg {
        margin-top: 0!important;
    }
}

@media screen and (max-width:767px) {
    .main--bg {
        display: inline-block;
        height: 450px;
        background-position: bottom;
        margin-top: 50px;
        margin-bottom: 500px;
        
    }

    .login--bg {
        display: inline-block;
        height: 400px;
        background-position: bottom;
        margin-top: 50px;
        margin-bottom: 600px;
    }

    .bg--filter:before{
        top: 0;
        margin-top: -10px;
        margin-bottom: -25px;
    }

}

@media screen and (max-width:992px) {
    .q-and-a--bg {
        display: inline-block;
        background: url("../images/top-bg.jpg") no-repeat center center;
        background-position: center;
        margin-bottom: 50px;
        position: relative;
        overflow: hidden;
    }

    .q-and-a-bg--filter::after{
        content: '';
        background: inherit;
        -webkit-filter: blur(5px);
        -moz-filter: blur(5px);
        -o-filter: blur(5px);
        -ms-filter: blur(5px);
        filter: blur(5px);
        position: absolute;
        top: -5px;
        left: -5px;
        right: -5px;
        bottom: -5px;
        z-index: 1;
    }
}

/********* woman **********/
.top--pose {
    height: auto;
}

.q-and-a--pose {
    position: -webkit-sticky;
    position: sticky;
    top: 40%;
    padding-bottom: 15px;
    width: 100%;
    height: auto;
}

@media screen and (max-width:767px) {
    .top--pose {
        width: auto;
        height: 400px;
        margin: 0 auto;
    }

}

@media screen and (max-width:992px) {
    .login--pose {
        width: auto;
        height: 250px;
    }

    .q-and-a--pose {
        height: 400px;
        width: auto;
        z-index: 50;
        margin: 0 auto;
        padding-top: 70px;
        padding-bottom: 0;
    }
}

/********* balloon **********/

.balloon {
    font-size: 18px;
    position: relative;
    display:inline-block;
    padding: 20px 50px 20px 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align:center;
    color: #22433B;
    background-color:#ffffff;
    margin: 5px 5px 5px 15px;
    border-radius: 50px;
    box-shadow: 2px 3px 3px rgba(0,0,0,0.3);
}

.baloon__tip--top::before {
    content: "";
    position: absolute;
    top: 75%;
    left: -40px;
    border: 10px solid transparent;
    border-right: 40px solid #ffffff;
    -webkit-transform: rotate(-30deg);
	   -moz-transform: rotate(-30deg);
	    -ms-transform: rotate(-30deg);
	     -o-transform: rotate(-30deg);
	        transform: rotate(-30deg);
}

.baloon__tip--login::before {
    content: "";
    position: absolute;
    bottom: -15%;
    right: 27%;
    border: 10px solid transparent;
    border-right: 50px solid #ffffff;
    -webkit-transform: rotate(-40deg);
	   -moz-transform: rotate(-40deg);
	    -ms-transform: rotate(-40deg);
	     -o-transform: rotate(-40deg);
	        transform: rotate(-40deg);
}

@media screen and (max-width:767px) {
    .balloon {
        margin: 0;
        padding: 25px 30px 25px 30px;

    }

    .baloon__tip--top::before {
        top: -25%;
        left: 12%;
        border: 10px solid transparent;
        border-right: 60px solid #ffffff;
        -webkit-transform: rotate(135deg);
           -moz-transform: rotate(135deg);
            -ms-transform: rotate(135deg);
             -o-transform: rotate(135deg);
                transform: rotate(135deg);
    }

    
    .baloon__tip--login::before {
        bottom: -30%;
        right: 25%;
        border: 15px solid transparent;
        border-right: 50px solid #ffffff;
        -webkit-transform: rotate(-55deg);
        -moz-transform: rotate(-55deg);
            -ms-transform: rotate(-55deg);
            -o-transform: rotate(-55deg);
                transform: rotate(-55deg);
    }
    
}

@media screen and (max-width:992px) {
    .q-and-a--balloon {
        font-size: 18px;
        position: relative;
        display:inline-block;
        top: 10%;
        padding: 20px 35px 20px 35px;
        text-align:center;
        color: #22433B;
        background-color:#ffffff;
        margin: 5px 5px 5px 15px;
        border-radius: 50px;
        box-shadow: 2px 3px 3px rgba(0,0,0,0.3);
        z-index: 50;
    }
}

/********* login form **********/

.login--form {
    background-color: #ffffff;
    padding: 20px 50px;
    font-size: 13px;
}

.form--wrap {
    padding: 5px 0 20px 0;
    color: #55595C;
}
.form--wrap__border {
    border-bottom: 1px solid #ffffff;
}

.form-group {
    height: 100px;
}

.form__label {
    padding-bottom: 15px;
    background-color: #E3E3E3;
}

.form__input {
    padding: 25px 35px 15px 35px!important;
    background-color: #EEEEEE;
}

.form-check-input {
    margin-top: 7px;
}

@media screen and (max-width:767px) {
    .form--wrap {
        margin-top: 50px!important;
    }

    .login--form {
        margin-top: 25px;
    }
}

@media screen and (max-width:992px) {
    .login--form {
        padding: 20px 30px;
    }
    
    
    small, .small {
        font-size: x-small;
        margin-top: 5px;
    }
    

}

/********* company info **********/
.table td {
    border-top: none!important;
    border-bottom: 1px solid #D3E4DD;
    color: #034831;
}

.table--name {
    padding-left: 50px!important;
}

@media screen and (max-width:420px) {
    .table td {
        font-size: 12px;
    }

    .table--name {
        padding-left: 15px!important;
    }
}

/********* terms/privercy/question **********/
.text--wrap {
    background-color: #ffffff;
    color: #3D3D3D;
    border-radius: 20px;
    box-shadow:0px 0px 5px -2px #3d3d3d;
    margin-left: 15px!important;
    padding: 50px 100px 80px 100px;
}

.title--wrap {
    position: relative;
}

.h3--title::before {
    content: '';
    position: absolute;
    width: 10px;
    height: 37px;
    background-color: #034831;
    bottom: 0;
    left: 0;
}

.text--wrap ul {
    list-style: none;
}

.text--wrap ul li {
    padding-bottom: 5px;
}

.text {
    padding-top: 30px;
    letter-spacing: .5px;
}

.text--p {
    padding-bottom: 25px;
}

.text--privercy__contact {
    list-style: none;
}

span {
    padding-left: 15px;
}

@media screen and (max-width: 420px) {
    .h3--title {
        font-size: 20px;
    }

    .h3--title::before {
        content: '';
        position: absolute;
        width: 8px;
        height: 27px;
        background-color: #034831;
        bottom: 0;
        left: 0;
    }
}



@media screen and (max-width:767px) {
    .text--wrap {
        padding: 30px 20px 50px 20px;
    }
}

@media screen and (max-width:992px) {
    .text--wrap {
        padding: 30px 50px 50px 50px;
    }
}

@media screen and (max-width: 576px) {
    .text--wrap {
        padding: 20px 20px 50px 20px;
        margin: 0 -15px!important;
        border-radius: 0;
    }

    .h3--title {
        font-size: 20px;
    }

    .h3--title::before {
        content: '';
        position: absolute;
        width: 8px;
        height: 23px;
        background-color: #034831;
        bottom: 0;
        left: 0;
    }
}

/********* Q & A **********/

.q-and-a--title::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 5px;
    background-color: #034831;
    bottom: -15px;
    left: 0;
}

.q-and-a {
    padding: 30px 0 20px 0;
}

.q-and-a--content {
    position: relative;
}

.question {
    font-size: 17px;
    font-weight: bold;
    color: #034831;
    padding: 15px 40px 25px 60px;
    position: relative;
}

.question::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 25px;
    width: 25px;
    height: 25px;
    background-color: #C4D601;
}
.question::after {
    content: 'Q';
    position: absolute;
    top: 13px;
    left: 25px;
    width: 25px;
    height: 25px;
    font-size: 17px;
    text-align: center;
    color: #ffffff;
}

.answer {
    font-size: 15px;
    color: #22433B;
    padding: 0 40px 20px 60px;
    position: relative;
}

.answer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 25px;
    width: 25px;
    height: 25px;
    border: 1px solid #C4D601;
}
.answer::after {
    content: 'A';
    position: absolute;
    top: -1px;
    left: 26px;
    width: 25px;
    height: 25px;
    font-size: 17px;
    text-align: center;
    color: #C4D601;
}

.q-and-a--content::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: #BEBCBC;
    bottom: 0;
    left: 0;
}

.q-and-a__wrap {
    display: flex;
}

/********* footer **********/
footer {
    position: relative;
    background: rgb(2,33,23);
    background: linear-gradient(0deg, rgba(2,33,23,1) 20%, rgba(12,141,97,1) 100%);
    color: #D3E4DD;
    margin-top: auto;
}

.footer__nav--wrap {
    padding: 10px 0 50px 0;
}

.footer__nav--link {
    color: #D3E4DD!important;
    font-size: 13px;
    margin-left: 2px;
}

.footer__nav--slash::before {
    position: absolute;
    content: '/';
    font-size: 12px;
    color: #D3E4DD;
    top: 18px;
}

.copy--right::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 3px;
    background: linear-gradient(0deg, rgba(2,0,36,1) 0%, rgba(196,214,1,1) 60%);
    bottom: 35px;
    left: 0;
}

.copy--right {
    font-size: 11px;
    padding: 10px;
}

@media screen and (max-width:460px) {
    .footer__nav--slash::before {
        display: none;
    }

    .footer__nav--wrap {
        display: flex;
        flex-direction: column;
    }
}