@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Mincho&display=swap');

body {   
    font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro W3","ＭＳ Ｐゴシック",Arial,verdana,sans-serif;
    position: relative;
    font-size: 16px;
}

/*=======  Common=========*/


.my-flex {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    margin-top: 20px;
    align-items: center;
}

.info-date {
    text-align: center;
    background: #E1E7EF;
    color: #000;
    padding: 10px;
}

.info-desc {
    color: #000;
}

.info-desc a{
    color: #000;
    text-decoration: none;
}

.flex-20 {
    flex: 100%;
    max-width: calc(20% - 30px);
    margin: 0 30px 0 0;
}

.flex-80 {
    flex: 100%;
    max-width: calc(80% - 30px);
    margin: 10px 30px 10px 0;
}

.container {
    max-width: 1460px;
}

.sp-show {
    display: none;
}

.broker-btn-align {
	text-align: center;
}

.pc-none {
    display: none !important;
}

.sp-none {
    display: inline-block;
}

.txt-content .sp-none {
    display: block;
}

.mgt-10 {
    margin-top: 10px;
}

.mgt-20 {
    margin-top: 20px;
}

.mgt-30 {
    margin-top: 30px;
}

.mgt-40 {
    margin-top: 40px;
}

.mgt-60 {
    margin-top: 60px;
}

.mgt-80 {
    margin-top: 80px;
}

.mgt-100 {
    margin-top: 100px;
}


.mgb-10 {
    margin-bottom: 10px;
}

.mgb-20 {
    margin-bottom: 20px;
}

.mgb-30 {
    margin-bottom: 30px;
}

.mgb-40 {
    margin-bottom: 40px;
}

.mgb-60 {
    margin-bottom: 60px;
}

.mgb-80 {
    margin-bottom: 80px;
}

/*=======  Nav bar & menu =========*/
.menu-pc h1 {
    text-align: center;
    margin-bottom: 0;
}

.logo-header {}

.nav-flex {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding: 20px 5% 0 20px;
    margin-bottom: 0;
}

.nav-item {
    list-style: none;
    padding: 0 12px 20px 12px;
    font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro W3","ＭＳ Ｐゴシック",Arial,verdana,sans-serif;
    position: relative;
    display: inline-block;
}

.nav-item::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 3px;
    background-color: #000;
    transition: width 0.3s ease, left 0.3s ease;
}

.nav-item:hover::before,
.nav-item.active::before {
    width: 100%;
    left: 0;
}

footer .nav-item:hover::before,
footer .nav-item.active::before {
    width: unset;
    left: unset;
}

footer .nav-item::before {
    content: unset;
    position: unset;
    bottom: unset;
    left: unset%;
    width: unset;
    height: unset;
    background-color: unset;
    transition: unset;
}


.nav-item:hover {
    color: #007bff;
}

/*
.nav-item:hover {
    border-bottom: 5px solid #000;
    transition: 0.3s;
}
*/

.nav-item.active a {
    color: #000;
}

.active a {
    color: #007bff;
}

.nav-item:last-child {
    border-right: none;
}

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

.nav-item a:hover {
    text-decoration: none;
    color: #007bff;
}

.menu-sp {
    display: none;
}

.menu-pc {
    padding-left: 10px;
}

/*======= Main FV =========*/

#top-bar {
    background: rgba(255, 255, 255, 0.8);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 20;
    height: 64px;
}

#main {
    position: relative;
    min-height: 750px;
    height: 100%;
    width: 100%;
    top: -64px;
    z-index: 2;
    overflow: hidden;
    /* Ensure the video doesn't overflow */
}

.owl-carousel .owl-item img {
    display: block;
    width: 100%;
    height: 750px;
    object-fit: contain;
}

#main .container-fluid {
    padding-left: 0;
    padding-right: 0;
}

#main::before {
    /*
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.3); 
*/
}

.main-fv {
    position: relative;
    min-height: 600px;
    height: 100%;
    width: 100%;
    z-index: 2;
}

#main-lower {
    position: relative;
    min-height: 350px;
    height: 100%;
    width: 100%;
    z-index: 2;
}

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

.nav-btn {
    cursor: pointer;
}

.nav-pause {
    margin: 0 10px;
}

.main-fv-lower {
    position: relative;
    min-height: 350px;
    height: 100%;
    width: 100%;
}

.fv-wrap {
    position: absolute;
    width: 100%;
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.fv-wrap-lower {
    position: absolute;
    top: 85%;
    left: 5%;
    transform: translateY(-50%);
}

#main-lower .fv-wrap-lower {
    top: 50%;
}

.main-fv-lower .btn-details {
    position: absolute;
    top: 120%;
    transform: translateY(-50%);
    left: 5%;
}

.banner-title-jp {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    text-shadow: 2px 2px 7px #000;
}

.banner-title-jp2 {
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    text-shadow: 2px 2px 7px #000;
}

.banner-title-en {
    font-size: 34px;
    font-weight: 700;
    color: #fff;
    text-shadow: 2px 2px 7px #000;
}


.main-fv-txt {
    font-size: 45px;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 0 20px #000, 0 0 20px #000;
}

.main-fv-logo {
    width: 80%;
    margin: 0 auto;
}

.main-fv-logo img {
    width: 100%;
}

/*=======  FV Sidebar =========*/

.fv-sideber a {
    color: #fff;
}

.sidebar-contact:hover {
    text-decoration: none;
    color: #fff;
}

.sidebar-download:hover {
    text-decoration: none;
    color: #fff;
}

.sidebar-download2:hover {
    text-decoration: none;
    color: #fff;
}

.fv-sidebar {
    position: fixed;
    top: 64px;
    bottom: 10px;
    right: 0;
    z-index: 21;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: calc(100vh - 20px);
    /* Adjust based on the top and bottom properties */
    width: 45px;
}

.sidebar-contact,
.sidebar-download,
.sidebar-download2 {
    color: #fff;
    background: rgba(0, 0, 0, 0.7);
    font-size: 11px;
    font-weight: 700;
    writing-mode: vertical-rl;
    padding: 20px 10px;
    /* Adjust as needed */
    text-align: center;
    margin-bottom: 10px;
}

/* Remove the margin-bottom from the last item */
.sidebar-download2 {
    margin-bottom: 0;
}

.sidebar-download2 br{
	display: none;
}


.sidebar-contact img {
    margin: 0 auto 10px;
    position: relative;
    left: -2px;
}

.sidebar-download img {
    margin: 0 auto 10px;
    position: relative;
    left: 0;
}

.sidebar-download2 img {
    margin: 0 auto 10px;
    position: relative;
    left: -2px;
}


.icon-satei {
    width: 25px;
    height: auto;
    margin: 0 auto 10px;
    position: relative;
    left: -5px;
}

.bottom-bar {
    display: none;
}



/*======= Footer Nav =========*/
footer {
    border-top: 1px solid rgba(77, 77, 78, 1);
}

.ft-info {
    padding: 20px 10px;
}

.ft-nav {
    display: flex;
    /*     justify-content: flex-end; */
    padding-right: 2%;
    margin-bottom: 20px;
    justify-content: space-between;
}

.ft-nav .nav-item {
    display: inline-block;
    padding: 10px 20px;
    /*     width: 270px;     */
    width: auto;
}

.ft-nav .nav-item p {
    margin-bottom: 0;
}

.ft-nav .nav-item a {
    display: block;
    width: fit-content;
}

.ft-head {
    font-size: 24px;
    margin-bottom: 20px;
    font-weight: 700;
    white-space: nowrap;
    position: relative;
}

.ft-head::before {
    content: "";
    width: 0%;
    height: 3px;
    background: #000;
    display: block;
    position: absolute;
    bottom: 0;
    transition: width 0.3s ease, left 0.3s ease;
}

.ft-head:hover::before {
    width: 100%;
}

.ft-head2 {
    font-size: 24px;
    margin-top: 40px;
    margin-bottom: 20px;
    font-weight: 700;
}

.ft-sub,
.ft-sub2 {
    font-weight: 400;
    position: relative;

}

.ft-sub:before,
.ft-sub2:before {
    content: "";
    background: #000;
    height: 100%;
    display: block;
    position: absolute;
    z-index: -1;
    transition: width 0.2s ease;
    width: 0;
}

.ft-sub:hover,
.ft-sub2:hover {
    color: #fff;
    width: fit-content;
}

.ft-sub:hover:before,
.ft-sub2:hover:before {
    width: 100%;
    color: #fff;
}

.ft-nav .nav-item a.ft-sub:hover,
.ft-nav .nav-item a.ft-sub2:hover {
    color: #fff;
}

.copyright {
    background: #000;
    color: #fff;
    text-align: center;
    padding: 5px;
}

/*======= News =========*/

#information {
    position: relative;
    top: -75px;
    padding: 40px 0 20px;
    background-image: url('../images/bg-company_philosophy01.png');
     background-size: contain;
    background-repeat: repeat;
    min-height: 400px;
    height: 100%;
    width: 100%;    
}


#news {
    position: relative;
    padding: 40px 0 40px;
    background-image: url('../images/bg3.png');
     background-size: contain;
    background-repeat: repeat;
    min-height: 400px;
    height: 100%;
    width: 100%;    
}


.title-en {
    font-weight: 700;
    font-size: 34px;
    color: #000;
    text-transform: uppercase;
    /*     letter-spacing: .2em; */
}

.title-jp {
    font-size: 15px;
    font-weight: 700;
    color: #000;
}

.news-title {
    text-align: center;
    background: rgba(77, 77, 78, 1);
    color: #fff;
    padding: 5px;
}

/*======= Whats' New =========*/
#whats-new {
    padding: 20px 0 20px;
}

#whats-new .img-new {
    width: 100%;
}

.img-new img {
    width: 100%;
    height: auto;
}

#whats-new a {
    color: #000;
    text-decoration: none;
}

#whats-new .btn-details {
    text-decoration: none;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    text-align: center;
    width: fit-content;
    padding: 15px 60px;
    transition: 0.5s;
    position: relative;
}

.btn-details {
    text-decoration: none;
    background: #000;
    color: #fff;
    border: 1px solid #000;
    text-align: center;
    width: fit-content;
    padding: 15px 60px;
    transition: 0.5s;
    position: relative;
}

.btn-details:hover {
    text-decoration: none;
    background: #fff;
    color: #000;
}

.btn-details .arrow-right {
    position: absolute;
    right: 20px;
}

.btn-details:hover .arrow-right {
   filter: invert(100%);
}

.btn-details2 {
    text-decoration: none;
    background: #404040;
    color: #fff;
    border: 1px solid #000;
    text-align: center;
    width: fit-content;
    padding: 10px 60px;
    transition: 0.5s;
    position: relative;
    border-radius: 10px;
}

.btn-details2:hover {
    text-decoration: none;
    background: #fff;
    color: #000;
}

/*======= Property Listing =========*/
#property-listing {
    position: relative;
    padding: 60px 0 40px;
    background-image: url('../images/bg-property.png');
    background-position: center;
    min-height: 400px;
    height: 100%;
    width: 100%;
}

#property-listing a:hover {
    text-decoration: none;
}

/*=======  Features =========*/
#features {
    padding: 40px 0 20px;
    overflow: hidden;
}

#features .container {
    /*
    padding-left: 0;
    padding-right: 0;
*/
}

.img-feature {
    width: 100%;
}

.feature-wrap {
    /*
    padding-right: 80px!important;
    padding-left: 30px!important;
*/
    margin-top: 20px;
}

.feature-wrap.order2-sp {
    padding-left: 80px !important;
    padding-right: 30px !important;
}

.feature-title {
    font-weight: 500;
    font-size: 20px;
}

.feature-title-en {
    font-weight: 700;
    font-size: 16px;
    background: rgba(243, 243, 245, 1);
    padding: 5px;
}

.feature-desc {
    margin-top: 20px;
}

/*=======  Company Philosophy =========*/
#message {
    padding: 80px 0 40px;
    background-image: url('../images/bg-company_philosophy.png');
    background-position: center;
    background-repeat: repeat;
    background-size: contain;
    min-height: 400px;
    height: 100%;
    width: 100%;
}

.img-philosophy {
    width: 100%;
    margin: 0 auto;
    display: block;
}

/*======= Voice =========*/
#voice {
    padding: 80px 0 40px;
    display: none;
}

.img-voice {
    width: 100%;
}

.txt-voice {
    word-wrap: break-word;
}

/*======= Instagram =========*/
#instagram {
    padding: 40px 0;
    background-image: url('../images/bg-instagram.png');
    background-size: contain;
    background-repeat: repeat;
    background-position: center;
    min-height: 400px;
    height: 100%;
    width: 100%;
}

.ig-wrap {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
}

.ig-item {
    flex: 100%;
    max-width: calc(100% / 5 - 20px);
    margin: 0 20px 0 0;
}

.ig-item img {
    width: 100%;
}

.ig-item:last-child {
    max-width: calc(100% / 5 - 20px);
    margin: 0 0 0 0;
}

/*======= Contact Form =========*/
#contact {
    padding: 40px 0 20px;
}

table.tbl-contact {
    width: 100%;
    border-collapse: collapse;
}

table.tbl-contact tr td {
    border: 1px solid rgba(146, 146, 149, 1);
    padding: 10px;
}

.required {
    background: #000;
    color: #fff;
    padding: 2px 25px;
    border-radius: 25px;
    margin-right: 15px;
    border: 1px solid #000;
}

.norequired {
    background: #fff;
    color: #000;
    border: 1px solid #000;
    padding: 2px 25px;
    border-radius: 25px;
    margin-right: 15px;
}

table.tbl-contact tr td:first-child {
    background: #f4f4f4;
    width: 35%;
}

table.tbl-contact tr td:last-child {
    background: #fff;
    width: auto;
}

.form-control {
    height: 37px;
    width: 80%;
    border: 1px solid rgba(217, 217, 217, 1);    
}

.form-control-md {
    height: 37px;
    width: 10%;
    border: 1px solid rgba(217, 217, 217, 1);
}

.form-control-md2a {
    height: 37px;
    width: 25%;
    border: 1px solid rgba(217, 217, 217, 1);
    float: left;
}

.form-control-md2 {
    height: 37px;
    width: 25%;
    border: 1px solid rgba(217, 217, 217, 1);
    float: left;
}

.form-control02 {
    height: 135px;
    width: 80%;
    border: 1px solid rgba(217, 217, 217, 1);
}

.form-control03 {
    display: block;
}

.form__txt02 {
    display: inline-block;
}

.form__txt02 p {
    display: block;
    position: relative;
    left: 10px;
    top: -10px;
    margin: 0;
}

.space-wrap .form__txt02 p {
    display: block;   
    left: 10px;
    top: 6px;
    margin-bottom: 10px;
}

.space-wrap {
    position: relative;
}

.space-wrap .wpcf7-not-valid-tip {
    position: absolute;
    top: 8px;
    left: 0;
    width: 300px;
    white-space: normal; 
    word-break: break-word; 
    display: block;
    padding-top: 30px;
}

.form-control-md2.wpcf7-not-valid {
    margin: 0 0 30px;
}



span.dash {
    padding: 0 10px;
}

span.mail-txt {
    margin: 10px 0;
    display: block;
}

.wpcf7-list-item {
    display: block !important;
}

::placeholder {
    color: #d9d9d9;
    opacity: 1;
    /* Firefox */
}

input::placeholder {
    color: #d9d9d9;
    /* Red color */
    opacity: 1;
    /* Fully opaque */
}

input::-ms-input-placeholder {
    /* Edge 12 -18 */
    color: #d9d9d9;
}

/* Change placeholder color for Firefox */
input::-moz-placeholder {
    color: #d9d9d9;
    opacity: 1;
    /* Fully opaque */
}

/* Change placeholder color for Chrome, Safari, and Opera */
input::-webkit-input-placeholder {
    color: #d9d9d9;
}

.btn-submit {
    background: #000;
    color: #fff;
    padding: 10px 65px;
    width: fit-content;
    margin: 40px auto 0;
    cursor: pointer;
    display: block;
    position: relative;
    border: 1px solid #000;
}

.btn-submit .img-arrow {
    position: absolute;
    right: 20px;
    height: 18px;
    top: 50%;
    transform: translateY(-50%);
}

.btn-submit:hover {
    background: #fff;
    color: #000;
    border: 1px solid #000;
}

.btn-submit:hover .img-arrow {
    filter: invert(100%);
}

.interview-desc {
    word-wrap: break-word;
    word-break: break-all;
}

.icon-broker {
    height: 100px!important;
    width: 80px!important;
    object-fit: contain;
}

/*=======  Recruitment Page  =========*/
#company {
    padding: 40px 0 40px;
    background-image: url('../images/bg-company.png');
    background-size: contain;
    background-repeat: repeat-y;
    background-position: center;
    min-height: 400px;
    height: 100%;
    width: 100%;
}

.img-company {
    width: 100%;
}

#job-opening {
    padding: 40px 0 40px;
    background: rgba(217, 217, 217, 0.3);
    min-height: 300px;
}

.job-item-wrap {
    display: flex;
    width: 116%;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
    align-items: center;
    position: relative;
    left: 39%;
}

.job-item {
    flex: 100%;
    max-width: calc(100% / 2 - 10px);
    margin: 0 10px 30px 0;
    background: #fff;
}

.job-content-flex {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    margin: 0 auto;
    align-items: center;
}

.img-job {
    flex: 100%;
    max-width: calc(40% - 40px);
    margin: 20px;
}

.job-title2 {
    flex: 100%;
    max-width: 60%;
    margin: 0 0 20px 0;
    font-size: 15px;
}

.icon-people {
    height: 100px;
    width: 100%;
    object-fit: contain;
}

#about-us {
    padding: 40px 0 20px;
    background-image: url('../images/bg-about-us.png');
    background-size: contain;
    background-repeat: repeat;
    background-position: center;
    min-height: 400px;
    height: 100%;
    width: 100%;
}

.about-wrap {
    display: flex;
    width: 60%;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
}

.about-item {
    flex: 100%;
    max-width: calc(100% / 2 - 10px);
    margin: 0 10px 30px 0;
}

#message {
    padding: 20px 0 20px;
}

#message .philosopy-txt {
    margin-top: 0;
    text-align: center;
}

#interview {
    padding: 40px 0 20px;
    background-image: url('../images/bg3.png');
    background-size: contain;
    background-repeat: repeat-x;
    background-position: center;
    min-height: 400px;
    height: 100%;
    width: 100%;
}

.interview-wrap {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    margin: 40px auto 0;
}

.interview-item {
    flex: 100%;
    max-width: calc(100% / 2 - 10px);
    margin: 0 10px 10px 0;
    border: 1px solid rgba(146, 146, 149, 1)
}

.interview-item:nth-child(even) {
    margin: 0 0 10px 0;
}

.interview-item-wrap {
    display: flex;
    width: 100%;
    padding: 20px;
    position: relative;
    color: #000;
}

.interview-item-wrap:hover {
    color: #000;
    text-decoration: none;
}

.img-interview {
    max-width: 40%;
}

.img-interview img {
    width: 100%;
    height: 180px;
    object-fit: contain;
}

.interview-title {
    max-width: 100%;
    padding-left: 30px;
}

.interview-title .btn-details {
    position: absolute;
    bottom: 20px;
    left: 45%;
}

#strengths {
    padding: 60px 0 20px;
    min-height: 400px;
}

#job-type {
    padding: 40px 0 40px;
    background: rgba(217, 217, 217, 0.3);
}

.job-title {
    text-align: center;
    border: 1px solid rgba(146, 146, 149, 1);
    padding: 10px;
    margin-bottom: 20px;
}

table.tbl-job {
    width: 100%;
    border-collapse: collapse;
}

table.tbl-job tr td {
    border: 1px solid rgba(146, 146, 149, 1);
    background: #fff;
    padding: 20px 30px;
    vertical-align: middle;
}

table.tbl-job tr td:first-child {
    background: rgba(217, 217, 217, 0.3);
    width: 25%;
    text-align: center;
}

table.tbl-job tr td:last-child {
    width: auto;
}

ul.my-ul {
    margin-left: -20px;
}

#application-form {
    padding: 60px 0 20px;
}

.form-control04 .wpcf7-list-item {
    display: inline-block !important;
}

.txt-indent {
    text-indent: 20px;
}

.ceo-wrap {
    margin-top: 40px;
    margin-bottom: 20px;
}

.txt-right {
    text-align: right;
}

.txt-ceo {
    font-size: 30px;
    margin-left: 10px;
}

.philosopy-txt {
    margin-top: -20px;
    text-align: justify;
}

.philosopy-txt p {
    margin-bottom: 0;
    line-height: 1.75em;
}

/*=======  Company Profile Page  =========*/
#business-intro {
    padding: 20px 0 40px;
}

#message {
    padding: 40px 0 20px;
    background-image: url('../images/bg-company_philosophy01.png');
    background-size: contain;
    background-repeat: repeat;
    background-position: center;
    min-height: 400px;
    height: 100%;
    width: 100%;
}


#message2 {
    padding: 80px 0 20px;
    background-image: url('../images/bg2.png');
    background-size: contain;
    background-repeat: repeat;
    background-position: center;
    min-height: 400px;
    height: 100%;
    width: 100%;
}

.message-wrap {
    width: 80%;
    margin: 0 auto;
}

.wrap80 {
    width: 80%;
    margin: 40px auto 0;
}

.wrap100 {
    width: 100%;
    margin: 40px auto 0;
}

.business-wrap {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
}

.business-item {
    flex: 100%;
    max-width: calc(100% / 2 - 30px);
    margin: 0 30px 30px 0;
    border: 1px solid #000;
    min-height: 325px;
}

.business-item:nth-child(even) {
    max-width: calc(100% / 2 - 30px);
    margin: 0 0 30px 0;
}

.item-wrap {
    display: flex;
    width: 100%;
    height: 325px;
    flex-wrap: wrap;
    align-items: center;
}

.item-img {
    flex: 100%;
    max-width: 30%;
}

.item-txt {
    flex: 100%;
    max-width: 70%;
    padding: 20px;
}

.icon-business {
    padding-left: 20px;
}

.item-title {
    font-weight: 700;
    margin-bottom: 10px;
}

#company-profile {
    padding: 40px 15px;
    background: rgba(217, 217, 217, 0.3);
}

table.tbl-company_profile {
    width: 100%;
    border-collapse: collapse;
}

table.tbl-company_profile tr td {
    padding: 15px;
    border: 1px solid rgba(146, 146, 149, 1);
}

table.tbl-company_profile tr td:first-child {
    width: 25%;
    text-align: center;
    background: rgba(217, 217, 217, 0.3);
}

table.tbl-company_profile tr td:last-child {
    width: 75%;
    background: #fff;
}

#company-philosophy2 {
    padding: 40px 15px 20px;
}

.phil-box {
    border: 1px solid rgba(146, 146, 149, 1);
    padding: 20px 30px;
    margin-bottom: 20px;
}

.phil-title {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 10px;
}

#history {
    padding: 40px 15px;
    background-image: url('../images/bg-history.png');
    background-size: contain;
    background-repeat: repeat;
    background-position: center;
    min-height: 600px;
    height: 100%;
    width: 100%;
}

#track-record {
    padding: 80px 15px;
}

/*=======  Purchase Page  =========*/
#purchase {
    padding: 0 15px;
}

.purchase-head {
    font-weight: 700;
    font-size: 27px;
    line-height: 1.4em;
    margin-bottom: 20px;
}

.image-purchase {
    width: 100%;   
}

.img-btn {
    width: 100%;
    border: 1px solid #000;
    transition: 0.5s;
    background: #000;
}

.img-btn:hover {
    border: 1px solid #fff;
    filter: invert(1);    
}

.purchase-txt b {
    font-size: 24px;
}

#our-strengths {
    padding: 40px 15px;
}

.img-purchase_message {
    width: 100%;
    height: 330px;
    object-fit: cover;
}

#strengths {
    padding: 80px 15px;
    background-image: url('../images/bg-strengths.png');
    background-size: contain;
    background-repeat: repeat;
    background-position: center;
    min-height: 600px;
    height: 100%;
    width: 100%;
}

.circle-wrap {
    position: relative;
}

.strength-circle {
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(217, 217, 217, 1);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

#purchase-flow {
    padding: 40px 15px;
}

.flow-wrap {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    margin-bottom: 60px;
    justify-content: center;
}

.flow-num {
    flex: 100%;
    max-width: calc(10% - 20px);
    margin: 0 20px 10px 0;
    position: relative;
}

.flow-num::after {
    content: url("../images/arrow-down.png");
    position: absolute;
    bottom: -63px;
    left: 38%;
}

.flow-num.last::after {
    display: none;
}

.flow-txt {
    flex: 100%;
    max-width: calc(90% - 20px);
    margin: 0 0 10px 0;
}

.num-circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: rgba(77, 77, 78, 1);
    color: #fff;
    text-align: center;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.num-circle span {
    display: block;
    text-align: center;
}

span.step {
    padding-top: 20px;
    font-weight: 700;
}

span.number {
    font-weight: 700;
}

.flow-title {
    font-weight: 700;
    margin-bottom: 10px;
}

#purchase-voice {
    padding: 80px 15px;
    background: rgba(217, 217, 217, 0.3);
    display: none;
}

#purchase-faq {
    padding: 40px 15px;
    background-image: url('../images/bg-purchase_faq.png');
    background-size: contain;
    background-repeat: repeat;
    background-position: center;
    min-height: 530px;
    height: 100%;
    width: 100%;
}

span.question-b {
    padding-left: 45px;
}

#purchase-form {
    padding: 40px 15px;
}

/*=======  Flow Page  =========*/
#renovated-property {
    padding: 40px 15px 20px;
    background-image: url('../images/bg2.png');
    background-size: contain;
    background-repeat: repeat;
    background-position: center;
    min-height: 300px;
    height: 100%;
    width: 100%;
}

#renovated-property .news-title {
    margin-bottom: 20px;
    font-size: 15px;
}

#renovated-property .img-news {
    
}

#flow-renovation {
    padding: 40px 15px 40px;
}

.flow-wrap2 {
    display: flex;
    width: 80%;
    flex-wrap: wrap;
    background: rgba(217, 217, 217, 0.3);
    position: relative;
    margin: 0 auto 40px;
    align-items: center;
}

.flow-wrap2::after {
    content: url(../images/arrow-down2.png);
    position: absolute;
    bottom: -38px;
    left: 50%;
    transform: translateX(-50%);
}

.flow-wrap2:last-child::after {
    display: none;
}

.flow-img {
    flex: 100%;
    max-width: 20%;
    margin: 0;
    padding: 20px 0;
    text-align: center;
}

.flow-img2 {
    flex: 100%;
    max-width: 20%;
    margin: 0;
    padding: 20px 0;
    text-align: center;
}

.flow-txt2 {
    flex: 100%;
    max-width: 80%;
    margin: 0;
    padding: 20px 20px 20px 0;
}

.flow-num2 {
    font-size: 40px;
    margin-right: 10px;
}

.flow-title2 {
    font-size: 20px;
    font-weight: 500;
}

/*=======  Seller Page  =========*/
#broker-message {
    padding: 80px 15px;
    background-image: url('../images/bg-company_philosophy03.png');
    background-size: contain;
    background-repeat: repeat;
    background-position: center;
    min-height: 400px;
    height: 100%;
    width: 100%;
}

.jc-center {
    justify-content: center;
}

.broker-message-title {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 20px;
    display: block;
/*
    text-align: left;
    display: inline-block;
*/
/*
    margin: 0 auto 20px;
    width: 61%;
*/
}

.broker-subtitle {
    font-size: 20px;
}

.broker-desc {
    text-align: center;
}

.broker-wrap {
    border: 1px solid rgba(146, 146, 149, 1);
    padding: 20px 20px;
    margin: 0 auto 20px;
    display: flex;
    width: 80.5%;
    flex-wrap: wrap;
}

.broker-icon {
    flex: 100%;
    max-width: calc(10% - 30px);
    margin: 0 30px 0 0;
    text-align: center;
}

.bg-darkgrey {
    background: #404040;
    border-radius: 10px;
}

.broker-content {
    flex: 100%;
    max-width: 90%;
}

.icon-broker {
    width: 77px;
    height: auto;
    object-fit: contain;
}

.broker-title {
    font-weight: 700;
}

.email-link {
    color: #000;
}

.email-link:hover {
    color: #000;
    text-decoration: none;
}

#seller-flow {
    padding: 40px 15px;
}

#property-introduction {
    padding: 80px 15px 40px;
}

#property-introduction .news-title {
    margin-bottom: 20px;
    font-size: 15px;
}

#property-renovation {
    padding: 80px 15px 40px;
    background-image: url('../images/bg-renovation.png');
    background-size: contain;
    background-repeat: repeat;
    background-position: center;
    min-height: 400px;
    height: 100%;
    width: 100%;
}

#property-renovation .news-title {
    margin-bottom: 20px;
}

.entry-content-wrap {
    position: relative;
}

.entry-content-wrap ul {
    list-style: disc inside;
    margin-left: 5em;
    text-indent: -1.5em;
    line-height: 2.4em;
}

#list li + li,
.entry-content-wrap ul li + li,
.entry-content-wrap ol li + li {
    /*    margin-top: 8px;*/
}

#list-col3 li:nth-child(-n+3),
.entry-content-wrap .list-col3 li:nth-child(-n+3),
.entry-content-wrap .property-option li:nth-child(-n+3) {
    /*    margin-top: 0;*/
}

#list-col3 li,
.entry-content-wrap .list-col3 li,
.entry-content-wrap .property-option li {
    float: left;
    padding-right: 0;
    width: calc(100% / 3);
    /*    width: calc((1229px - (16px * 2) - 6em) / 3);*/
}

#list-col3::after,
.entry-content-wrap .list-col3::after,
.entry-content-wrap .property-option::after {
    display: block;
    clear: both;
    content: '';
}

#h2,
.entry-content-wrap h2,
.home-introduction-headline,
.home-property-headline,
.home-news-headline,
.entry-contact-headline {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    padding: 24px 0 16px;
    position: relative;
}

#h2::before,
.entry-content-wrap h2::before,
.home-introduction-headline::before,
.home-property-headline::before,
.home-news-headline::before,
.entry-contact-headline::before {
    border-top: 1px solid #c33;
    content: '';
    display: block;
    height: 0px;
    padding-bottom: 8px;
    width: 96px;
}

#h3,
.entry-content-wrap h3 {
    border-bottom: 1px solid #dedede;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 16px;
    padding: 16px 0 8px;
}

.flow-img img {
    height: 100px;
}

.logo-ceo img {
    height: 60px;
    width: auto;
    margin-bottom: 25px;
}

.txt-ceo img {
    height: 42px;
    width: auto;
    margin-bottom: 18px;
}

/*=======  Section Blog =========*/
#blog {
    background: #edf3fb;
    padding: 80px 0;
}

#blog.blog2 {
    background: #fff;
}

.blog-wrap {
    padding: 10px;
}

.img-blog {
    margin-bottom: 10px;
}

.img-blog img {
    width: 100%;
    height: 260px;
    object-fit: cover;
}

table.blog-date-title {
    width: 100%;
    border-collapse: collapse;
    background: #e1e7ef;
    margin-bottom: 20px;
    font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro W3","ＭＳ Ｐゴシック",Arial,verdana,sans-serif;
}

table.blog-date-title tr td {
    padding: 10px;
}

table.blog-date-title tr td:first-child {
    width: 10%;
}

table.blog-date-title tr td:last-child {
    text-align: right;
}

.blog-date-title a {
    color: #000;
    font-weight: 700;
}

.blog-date-title a:hover {
    text-decoration: none;
}

.blog-excerpt a {
    color: #000;
    font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro W3","ＭＳ Ｐゴシック",Arial,verdana,sans-serif;
}

.blog-excerpt a:hover {
    text-decoration: none;
}

.accordion {
    display: none;
    width: 100%;
}

.accordion-item {
    border-bottom: 1px solid #ccc;
}

.accordion-button {
    width: 100%;
    background-color: #f7f7f7;
    padding: 15px;
    text-align: left;
    font-size: 16px;
    border: none;
    cursor: pointer;
    outline: none;
    font-weight: 700;
}

.accordion-button:hover {
    background-color: #e7e7e7;
}

.accordion-content {
    display: none;
    background-color: #f9f9f9;
    padding-left: 15px;
}

.accordion-content a {
    display: block;
    padding: 10px 0;
    text-decoration: none;
    color: #333;
}

.accordion-content a:hover {
    background-color: #ddd;
}

.news-slider .blog-wrap {
    padding: 0 15px;
}

.slick-arrow {
    z-index: 1;
    top: 45%;
    width: auto;
    height: auto;
}

.slick-arrow:before {
    color: #FFF;
    font-size: 40px;
}

.slick-prev:before,
.slick-next:before {
    opacity: .95;   
}

#whats-new .slick-prev:before,
#whats-new .slick-next:before {
    display: none;
}

.slick-prev {
    left: 1.5%;
}

.slick-next {
    right: 1.5%;
}

.img-news img {
    height: 16vw;
    width: 100%;
    object-fit: cover;
}

.job-list-cont {
    max-width: 858px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}


.job-list-wrap {
    display: flex;
    flex-wrap: wrap;
}

.job-list {
    flex: 100%;
    max-width: calc(100% / 2 - 20px);
/*    width: calc(100% / 2 - 20px);*/
    background-color: #fff;
    margin: 0 10px 10px 0;
}

.job-list:nth-child(2n) {
    margin: 0 auto 10px;
}

a h4 {
    font-size: 16px;
    margin-top: 10px;
    font-weight: 400;
    color: #000;
}

a:hover h4 {
    text-decoration: none;
    color: #000;
}

.img-logoft {
    display: inline-block;   
    margin-right: 60px;
}

a.sns-link {
    display: inline-block;
    margin-right: 10px;
}

.img-sns {
    height: 48px;
    width: auto;
}

#property-search {
    padding-top: 80px;
}

#seller-flow {
    padding-top: 80px;    
}

#news {
    padding-top: 80px;
}

#purchase-message {
    padding-top: 80px;
}

#our-strengths {
    padding-top: 80px;
}

#purchase-flow {
    padding-top: 80px;
}

#purchase-faq {
    padding-top: 80px;
}

#purchase-form {
    padding-top: 80px;
}

#renovated-property {
    padding-top: 60px; 
}

#contact {
    padding-top: 80px;
}

#message {
    padding-top: 80px;
}

#about-us {
    padding-top: 80px;
}

#job-list {
    padding-top: 80px;
}

#interview {
    padding-top: 80px;
}

#job-type {
    padding-top: 80px;
}

#business-intro {
    padding-top: 80px;
}

#company-profile {
    padding-top: 80px;
}

@media screen and (max-width:768px) {
	.col-md-3 {
        flex: 0 0 25% !important;
        max-width: 25%;
	}
}

@media screen and (max-width:767px) {
	.col-sm-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100% !important;
		max-width: 100% !important;
	}
    .flex-20 {
        max-width: 100%;
        margin: 0 0 10px 0;
    }

    .flex-80 {
        max-width: 100%;
        margin: 0 0 10px 0;
    }

    .img-news img {
        height: auto;
        width: 100%;
        object-fit: cover;
    }

    .job-list-cont {
        display: block;
    }

    .job-list {
        width: 100%;
        margin: 10px 0;
    }
    
    .form-control-md2 {
        width: 50%;
        clear: both;
    }
    
    .form-control-md2a {
        width: 50%;
    }
    
    .space-wrap .wpcf7-not-valid-tip {
        top: 8px;
        left: 0;
        width: 200px;
        font-size: 14px;
    }
    
    .form-control-md2.wpcf7-not-valid {
        margin: 0 0 60px;
    }
    
    .form__txt02 p {
        margin-bottom: 0;
    }
    
    .space-wrap .form__txt02 p {
        margin-bottom: 30px;
    }
    
    .space-wrap .form-control-md2{
        margin-bottom: 20px;
    }
    
    .wpcf7-not-valid-tip {
        font-size: 14px;
    }
}

/*=======  Broker Page  =========*/
#broker {
    padding: 80px 15px;
}

.inter-title {
    font-weight: 500;
    font-size: 32px;
    position: relative;
}

/*
.inter-title::before {
    position: absolute;
    content: "";
    height: 1px;
    width: 150px;
    background: #cc3333;
    top: -10px;
    left: 0;
}
*/

.inter-desc {
    margin-top: 40px;
}

.inter-subtitle {
    font-weight: 700;
    margin-top: 20px;
}

.inter-desc2 {
    margin-top: 20px;
}

.inter-desc3 {
    margin-top: 20px;
}

.txt-bold {
    font-weight: 700;
}

.my-link {
    text-decoration: underline;
}

.btn-contact {
    background: #267399;
    color: #fff;
    padding: 10px;
    margin-top: 20px;
}

.btn-contact:hover {
    color: #fff;
    text-decoration: none;
}

#broker p {
    margin-top: 30px;
}

.f-22 {
    font-size: 22px;
}

.about-desc {
    margin: 20px 0;
}

.img-about {
    width: 100%;
    max-width: 650px;
    margin: 0 auto;
    display: block;
}

#renovation-message {
    padding: 40px 0 0;
}

#job-list {
    padding: 40px 0;
}


.job-list {
    width: 100%;
    margin: 0 auto;
    padding-left: 0;
}

.job-list li {
    list-style: none;
}

.job-list > li {
/*    margin-bottom: 4rem;*/
    padding: 2.5rem 3.5rem;
    border: 1px solid rgba(146, 146, 149, 1);
}

.job-list__title {
    margin-top: 0;
    padding-bottom: 1.3rem;
    position: relative;
}

.job-list__title::before {
    width: 100%;
    background-color: #e5e5e5;
}

.job-list__title::after {
    position: absolute;
    top: 20px;
    left: 0;
    width: 6rem;
    background-color: #000;
}

.job-list__btn {
    width: 240px;
    margin: 1rem auto 1.5rem;
    background-color: #000;
    color: #fff;
    padding: 10px;
    border: 1px solid #000;
    transition: 0.5s;
}

.job-list__btn {
    color: #fff;
    width: 200px;
    margin: 0 auto;
    display: block;
    text-align: center;
}

.job-list__btn:hover {
    text-decoration: none;
    background: #fff;
    color: #000;
}

.txt-center {
    text-align: center;
}


.txt-left {
    display: inline-block;
    text-align: left;
}

#wp-fullbody {
    width: 100%;
    margin: 0 auto;
}

.company-txt {
    font-family: "Sawarabi Mincho", serif;
    font-weight: 400;
    font-size: 20px;
    position: relative;
}

.img-logomark {
    position: absolute;
    top: 43%;
    left: 50%;
    transform: translate(-50%,-50%);
}

ol.mgt-40 li {
    margin-top: 20px;
}

/* Tabs */
.tabs {
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
  background: #e5e5e5;
  box-shadow: 0 48px 80px -32px rgba(0,0,0,0.3);  
}

.purchase-tabs {
    background: #f3f3f5;
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
}

.tabs-item {
    flex: 100%;
    max-width: calc(100% / 3);  
    padding: 10px;
    text-align: center;
}

.tabs-item:nth-child(2) {
    border-left: 4px solid #fff;
    border-right: 4px solid #fff;
}

.purchase-desc {
    margin-top: 40px;
}

.input {
  position: absolute;
  opacity: 0;
}
.label {
  width: 100%;
  padding: 10px 30px;
  background: #fff;
  cursor: pointer;
  font-weight: 400;
  font-size: 18px;
  color: #7f7f7f;
  transition: background 0.1s, color 0.1s;
  border: 1px solid #e5e5e5;
}
.label:hover {
/*  background: #d8d8d8;*/
    background: #000;
    color: #fff;
}
.label:active {
  background: #000;
}
.input:focus + .label {
  z-index: 1;
}
.input:checked + .label {
  background: #000;
  color: #fff;
}

#tab-1, #tab-2, #tab-3, #tab-4 {
    margin-top: -40px;
    padding-top: 40px;
}

@media (min-width: 600px) {
    .label {
        width: 100%;
        max-width: calc(100% / 4);
        border: 1px solid #e5e5e5;
        text-align: center;
    }

    .purchase-wrap .label {
        width: 100%;
        max-width: calc(100% / 3);
        border: 1px solid #e5e5e5;
        text-align: center;
        font-size: 16px;
        padding: 10px;
        margin-bottom: 0;
    }
}
.panel {
  display: none;
  padding: 20px 30px 30px;
  background: #fff;
}
@media (min-width: 600px) {
  .panel {
    order: 99;
  }
}
.input:checked + .label + .panel {
  display: block;
}


/* The Modal (background) */
.modal {
  display: none;
  position: fixed;
  z-index: 999;
  padding-top: 60px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.8);
}

/* Modal Content (the image) */
.modal-content {
  margin: auto;
  display: block;
  max-width: 80%;
  max-height: 80%;
}

/* Caption of modal image (image title) */
#caption {
  margin: auto;
  display: block;
  width: 80%;
  text-align: center;
  color: #ccc;
  padding: 10px 0;
}

/* Close button */
.close {
  position: absolute;
  top: 15px;
  right: 35px;
  color: #fff;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
}


.renovate-tab {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    margin-top: 40px;
}

.tab-list {
    flex: 100%;
    max-width: calc(100% / 6 - 5px);
    margin: 0 5px 30px 0;
    background: #fff;
    color: #000;
    padding: 15px;
    text-align: center;    
    cursor: pointer;
    border: 2px solid rgba(217, 217, 217, 1);
}

.tab-list.active {
    background: #000;
    color: #fff;
}

.tab-list:hover {
    background: #000;
    color: #fff;
}

#mypanel1,
#mypanel2,
#mypanel3,
#mypanel4,
#mypanel5,
#mypanel6
{
    display: none;
}

#mypanel1.active,
#mypanel2.active,
#mypanel3.active,
#mypanel4.active,
#mypanel5.active,
#mypanel6.active
{
    display: flex;
}

.wpcf7 form.sent .wpcf7-response-output {
    text-align: center;
    width: 70%;
    margin: 2em auto 1em;
}

::-webkit-input-placeholder { /* WebKit browsers */
color: #a9a9a9 !important;
opacity: 1;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
color: #a9a9a9 !important;
opacity: 1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
color: #a9a9a9 !important;
opacity: 1;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
color: #a9a9a9 !important;
opacity: 1;
}
