@charset "UTF-8";

/* ======================================================

   common-Setting

========================================================= */
html {}
*,
*:before,
*:after {
  box-sizing: border-box;
}
body {
  color: #232323;
  -webkit-text-size-adjust: 100%;
  font-family:"游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
}
h1,h2,h3,h4,h5,h6,
input,button,textarea,select,
p,blockquote,
table,th,td,pre,address,
ul,ol,li,dl,dt,dd {
  font-size: 15px;
  font-weight: normal;
  text-align: left;
  line-height: 1.6;
}
li { list-style: none; }
th,td { vertical-align: middle; }
select { visibility: visible !important; }

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: #9a8c17;
  text-decoration: none;
}
a:hover {
  color: #c4b008;
  text-decoration: underline;
}

.mb_10 { margin-bottom: 10px !important; }
.mb_15 { margin-bottom: 15px !important; }
.mb_20 { margin-bottom: 20px !important; }
.mb_30 { margin-bottom: 30px !important; }
.mb_40 { margin-bottom: 40px !important; }
.mb_50 { margin-bottom: 50px !important; }
.mb_60 { margin-bottom: 60px !important; }
.mb_70 { margin-bottom: 70px !important; }
.mb_80 { margin-bottom: 80px !important; }
.mb_90 { margin-bottom: 90px !important; }
.mb_100 { margin-bottom: 100px !important; }

.mb_t { margin-bottom: 20px !important; }
.mb_s { margin-bottom: 30px !important; }
.mb_m { margin-bottom: 50px !important; }
.mb_l { margin-bottom: 70px !important; }

.f_b { font-weight: bold; }
.f_10 { font-size: 10px !important; }
.f_12 { font-size: 12px !important; }
.f_14 { font-size: 14px !important; }
.f_16 { font-size: 16px !important; }
.f_18 { font-size: 18px !important; }
.f_20 { font-size: 20px !important; }
.f_22 { font-size: 22px !important; }
.text { margin-bottom: 1em; }
.txt-l { text-align: left !important; }
.txt-c { text-align: center !important; }
.txt-r { text-align: right !important; }

.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1500ms;
}
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

.pc_area,.tab_area { display: none; }

.wrapper {
  /*padding-top: 60px;*/
  /*overflow-x: hidden;*/
  position: relative;
}
.index_main {}
.sub_page_main { margin: 0 auto 60px; }


@media screen and (min-width: 600px) {
  .sp_area { display: none; }
  .tab_area { display: block; }
}

@media screen and (min-width: 1025px) {
h1,h2,h3,h4,h5,h6,
input,button,textarea,select,
p,blockquote,
table,th,td,pre,address,
ul,ol,li,dl,dt,dd {
  font-size: 16px;
  line-height: 2;
}
    
    
    
  .mb_t { margin-bottom: 30px !important; }
  .mb_s { margin-bottom: 60px !important; }
  .mb_m { margin-bottom: 90px !important; }
  .mb_l { margin-bottom: 130px !important; }
  
  .pc_area { display: block; }
  
  .hover_opacity { transition: 0.3s; }
  .hover_opacity:hover {
    transition: 0.3s;
    opacity: 0.8;
  }

  .wrapper{ padding-top: 0; }
  .sub_page_main { margin: 0 auto 120px; }
  .topicpath { margin-bottom: 50px; }
  .topicpath ul { max-width: 1200px; }
}

/* ======================================================

   header

========================================================= */
.outer_header {
    width: 90%;
    height: 60px;
    position: fixed;
    top: 10px;
    left: 0;
    right: 0;
    margin: auto;
    border-radius: 10px;
    z-index: 10001;
    background: rgba(255,255,255,0.8);
    box-sizing: border-box;
    padding: 10px;
}
.header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.header .logo {
    width: 140px;
    height: 40px;
}


.global_navi {
  display: none;
}


.sp_header_menu {
    width: 105px;
    display: flex;
    justify-content: space-between;
}
.sp_header_menu li {
    width: 50px;
    font-size: 10px;
    text-align: center;
    letter-spacing: 0;
    font-weight: bold;
    position: relative;
}
.sp_header_menu li a {
    display: block;
    width: 100%;
    border-radius: 5px;
    height: 40px;
    text-decoration: none;
    padding-top: 20px;
    box-sizing: border-box;
    
}
.sp_header_menu li:first-child a {
    background: #232323;
    color: #fff;
}
.sp_header_menu li:nth-child(2) a {
    background: #c6b589;
    color: #232323;
}

.sp_header_menu li:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
}
.sp_header_menu li:first-child:before {
    width: 12px;
    height: 12px;
    background: url("../images/common/seminar_icon.png") no-repeat;
    background-size: contain;
    top: 5px;
}
.sp_header_menu li:nth-child(2):before {
    width: 12px;
    height: 12px;
    background: url("../images/common/property_icon.png") no-repeat;
    background-size: contain;
    top: 6px;
}

/* hamburger menu */
.hamburger_menu_cover {
    border-radius: 50%;
    z-index: 999;
    border: 1px solid #232323;
}
.hamburger_menu {
  display: flex;
  align-items: center;
  width: 40px;
  height: 40px;
  padding: 10px;
  cursor: pointer;
}
.hamburger_menu__line {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #232323;
  position: relative;
  transition: all 0.5s;
}
.hamburger_menu__line::before,
.hamburger_menu__line::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #232323;
  position: absolute;
  transition: all 0.5s;
}

.hamburger_menu__line::before { transform: translateY(-6px); }
.hamburger_menu__line::after { transform: translateY(6px); }
.hamburger_menu.open .hamburger_menu__line { background-color: transparent; }
.hamburger_menu.open .hamburger_menu__line::before { transform: rotate(45deg); }
.hamburger_menu.open .hamburger_menu__line::after { transform: rotate(-45deg); }

.nav_sp {
    box-sizing: border-box;
    position: fixed;
    inset: 0;
    padding: 80px 20px 20px;
    background: rgba(35,35,35,0.45);
    text-align: left;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    z-index: 9998;
}

.nav_sp.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.nav_sp_inner {
    width: 100%;
    background: rgba(255,255,255,0.96);
    border-radius: 12px;
    padding: 24px 20px 28px;
    box-sizing: border-box;
    box-shadow: 0 20px 40px rgba(0,0,0,0.12);
    opacity: 0;
    transform: translateY(-30px);
    transition: opacity 0.45s ease, transform 0.45s ease;
}

.nav_sp.open .nav_sp_inner {
    opacity: 1;
    transform: translateY(0);
}

.nav_sp_contact {
    background: #eaeaea;
    box-sizing: border-box;
    padding: 15px;
    border-radius: 10px;
    
}
.nav_sp_contact p.title_text {
    font-weight: bold;
    font-size: 15px;
    text-align: center;
    line-height: 1.4;
    margin-bottom: 5px;
}
.nav_sp_contact p.title_text span {
    display: block;
    font-size: 10px;
    color: #b7b7b7;
    font-family: "Barlow", sans-serif;
}
.nav_sp_contact p.title_text02 {
    font-weight: bold;
    font-size: 14px;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 0px;
}


.nav_sp_contact ul.sp_btn_list {
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin-bottom: 15px;
}
.nav_sp_contact ul.sp_btn_list li {
    width: 49%;
    font-size: 13px;
    font-weight: bold;
}
.nav_sp_contact ul.sp_btn_list li a {
    display: block;
    width: 100%;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 10px;
}
.nav_sp_contact ul.sp_btn_list li:first-child a {
    color: #fff;
    background: #232323;
}
.nav_sp_contact ul.sp_btn_list li:nth-child(2) a {
    color: #232323;
    background: #c6b589;
}
.nav_sp_contact ul.sp_btn_list li span {
    padding-left: 20px;
    position: relative;
}
.nav_sp_contact ul.sp_btn_list li span:before {
    content: "";
    display: block;
    width: 13px;
    height: 13px;
    position: absolute;
    left: 0;
}
.nav_sp_contact ul.sp_btn_list li:first-child span:before {
    background: url("../images/common/seminar_icon.png") no-repeat;
    background-size: contain;
    top: 2px;
}
.nav_sp_contact ul.sp_btn_list li:nth-child(2) span:before {
    background: url("../images/common/property_icon.png") no-repeat;
    background-size: contain;
    top: 2px;
}

.nav_sp_contact .tel_btn { width: 100%; text-align: center; line-height: 1.2;}
.nav_sp_contact .tel_btn a {
    color: #232323;
    text-decoration: none;
    font-family: "Barlow", sans-serif;
    font-weight: 600;
    font-size: 22px;
}
.nav_sp_contact .tel_btn span { padding-left: 16px; position: relative;}
.nav_sp_contact .tel_btn span:before {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    background: url("../images/common/tel_icon_b.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 7px;
    left: 0;
}
.nav_sp_contact .contact_btn { width: 80%; margin: 5px auto 0;}
.nav_sp_contact .contact_btn a {
    display: block;
    width: 100%;
    line-height: 40px;
    border-radius: 5px;
    border: 1px solid #d7d7d7;
    color: #232323;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    background: #fff;
}
.nav_sp_contact .contact_btn span { padding-left: 20px; position: relative;}
.nav_sp_contact .contact_btn span:before {
    content: "";
    display: block;
    width: 13px;
    height: 13px;
    background: url("../images/common/mail_icon.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 4px;
    left: 0;
}
.nav_sp_inner .recruit_btn {
    width: 100%;
    margin: 10px auto;
    background: url("../images/top/recruit_bg02.jpg") no-repeat center top;
    background-size: cover;
    padding: 20px 15px;
    box-sizing: border-box;
    border-radius: 5px;
    position: relative;
}
.nav_sp_inner .recruit_btn p {
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.075em;
}

.nav_sp_inner .recruit_btn a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}


.nav_sp_inner .nav_in_logo {
    width: 210px;
    margin: 0 auto 5px;
}




.nav_sp li,
.nav_sp p.sp_menu_btn {
    font-size: 15px;
    line-height: 1.4;
    position: relative;
    font-weight: bold;
}

.nav_sp li a,
.nav_sp p.sp_menu_btn a {
    display: block;
    color: #333;
    text-decoration: none;
}

.nav_sp p.sp_menu_btn a {
    padding: 14px 0;
    border-bottom: 1px solid #e5e5e5;
}

.nav_sp p.sp_menu_btn a::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 8px;
    height: 8px;
    margin: -4px 2px 0 0;
    border-top: solid 1px #232323;
    border-right: solid 1px #232323;
    transform: rotate(45deg);
}

/* サブメニューのトグル */
.submenu_toggle {
    display: block;
    position: relative;
    cursor: pointer;
    color: #333;
    font-size: 15px;
    padding: 14px 0;
    border-bottom: 1px solid #e5e5e5;
    font-weight: bold;
}

/* プラスマーク */
.submenu_toggle::after,
.submenu_toggle::before {
    content: "";
    display: block;
    background-color: #232323;
    position: absolute;
    top: 50%;
    right: 0;
    transition: all 0.3s ease;
}

.submenu_toggle::after {
    width: 12px;
    height: 1px;
    margin-top: -1px;
}

.submenu_toggle::before {
    width: 1px;
    height: 12px;
    margin-top: -6.5px;
    right: 6.5px;
}

.submenu_toggle.open::before {
    opacity: 0;
}

/* サブメニュー
   display:none だとアニメーションしないので max-height で制御 */
.submenu {
    display: block;
    max-height: 0;
    overflow: hidden;
    padding: 0 0 0 1em;
    transition: max-height 0.35s ease, padding-top 0.35s ease;
}

.submenu.open {
    max-height: 300px;
    padding-top: 10px;
}

.submenu li {
    margin-bottom: 0;
}

.submenu li a {
    padding: 8px 0;
    font-size: 14px;
}


/* =========================
   PC mega menu overlay
========================= */
.mega_menu_overlay {
    position: fixed;
    inset: 0;
    background: rgba(35,35,35,0.7);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    z-index: 9997;
}

.mega_menu_overlay.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
@media screen and (min-width: 1025px) {
    
    .outer_header {
        width: 95%;
        height: 80px;
        top: 28px;
        padding: 0;
        box-shadow: 0 10px 30px rgba(0,0,0,0.08); 
    }

    .outer_header.mega_open {
        box-shadow: 0 22px 50px rgba(0,0,0,0.14);
        border-radius: 10px 10px 0 0;
    }
    
    .header {
        height: 100%;
        box-sizing: border-box;
        padding: 0 0 0 25px;
        position: relative;
    }

    .header .logo {
        width: 210px;
        height: auto;
    }

    .global_navi {
        display: flex;
        justify-content: space-between;
        width: calc(100% - 270px);
    }

    .global_navi_list {
        display: flex;
        align-items: center;
        gap: 28px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .global_navi_list > li {
        position: static;
        margin: 0;
    }

    .global_navi_list > li > a {
        display: block;
        position: relative;
        padding: 12px 0;
        color: #232323;
        text-decoration: none;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.4;
        white-space: nowrap;
        transition: opacity 0.3s ease;
        transition:0.3s;
    }

    .global_navi_list > li > a:hover {
        opacity: 0.7;
    }

    .global_navi_list > li.has_mega > a {
    padding-right: 22px;
    cursor: pointer;
    }

.global_navi_list > li.has_mega > a::before,
.global_navi_list > li.has_mega > a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    background: #232323;
    transition: all 0.35s ease;
}

/* 横線 */
.global_navi_list > li.has_mega > a::after {
    width: 9px;
    height: 1px;
}

/* 縦線 */
.global_navi_list > li.has_mega > a::before {
    width: 1px;
    height: 9px;
    right: 4px;
    margin-top: -4px;
}

/* 開いたときは − にする */
.global_navi_list > li.has_mega.open > a::before {
    opacity: 0;
}

    /* width = header width */
    .mega_menu {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        transform: translateY(-14px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition:
            opacity 0.4s ease,
            visibility 0.4s ease,
            transform 0.4s ease;
        z-index: 10000;
    }

    .has_mega.open .mega_menu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .mega_menu_inner {
        width: 100%;
        background: rgba(255,255,255,0.8);
        border-radius: 0 0 10px 10px;
        padding: 50px 7%;
        box-shadow: 0 30px 60px rgba(0,0,0,0.12);
        position: relative;
        overflow: hidden;
        box-sizing: border-box;
        
        display: flex;
        justify-content: space-between;
    }


    .mega_menu_side {
        padding-right: 10px;
    }

    .mega_menu_en {
        font-family: "Barlow", sans-serif;
        font-weight: 600;
        font-size: 46px;
        line-height: 1.0;
        letter-spacing: 0.025em;
        margin-bottom: 20px;
    }

    .mega_menu_title {
        font-weight: bold;
        font-size: 24px;
        line-height: 1.2;
    }

    .mega_menu_desc {
        margin: 0;
        color: #666;
        font-size: 14px;
        line-height: 2;
        letter-spacing: 0.04em;
    }

    .mega_menu_main {
        width: 70%;
    }

    .mega_menu_links {
        display: flex;
        flex-wrap: wrap;
    }
    .mega_menu_links > li {
        width: 30%;
        margin-right: 5%;
    }
    .mega_menu_links > li:nth-child(3n) { margin-right: 0;}

    .mega_menu_links > li > a {
        display: block;
        width: 100%;
        font-size: 16px;
        color: #232323;
        text-decoration: none;
        border-bottom: 1px solid #b1b1b1;
        border-top: 1px solid #b1b1b1;
        padding: 18px 0;
        box-sizing: border-box;
        position: relative;
        transition:0.3s;
    }

    .mega_menu_links > li:nth-child(4) > a,
    .mega_menu_links > li:nth-child(5) > a,
    .mega_menu_links > li:nth-child(6) > a { border-top: none;}
    
    .mega_menu_links > li > a::after {
        content: "";
        display: block;
        width: 15px;
        height: 9px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
        background:url("../images/common/arrow_b.png") no-repeat;
        background-size: contain;
        
    }

    .mega_menu_links > li > a:hover {
        color: #7E7E7E;
    }
    
    .mega_menu_links.other_links > li > a {
        border-top: none;
    }
    .mega_menu_links.other_links > li > a:after {
        content: "";
        display: block;
        width: 15px;
        height: 15px;
        background: url("../images/common/out_icon02.png") no-repeat;
        background-size: contain;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
    }
    

    /* hide SP parts on PC */
    .sp_header_menu,
    .hamburger_menu_cover,
    .nav_sp {
        display: none;
    }
    
.pc_header_menu {
    width: 530px;
    display: flex;
    justify-content: space-between;
    margin-right: 10px;
}

/* ヘッダー直下の3つのli.btnだけ */
.pc_header_menu > li.header_btn {
    width: 170px;
}

/* その直下のaだけ */
.pc_header_menu > li.header_btn > a {
    display: block;
    width: 100%;
    height: 45px;
    line-height: 45px;
    text-align: center;
    border-radius: 30px;
    font-weight: bold;
    font-size: 15px;
    text-decoration: none;
    color: #232323;
}

.pc_header_menu > li.header_btn:first-child > a {
    background: #232323;
    color: #fff;
    transition:0.3s;
}

.pc_header_menu > li.header_btn:nth-child(2) > a {
    background: #c6b589;
    position: relative;
}

.pc_header_menu > li.header_btn:nth-child(3) > a {
    background: #fff;
    border: #d2d2d2 solid 1px;
}
    .pc_header_menu > li.header_btn > a:hover { opacity: 0.8;}
.pc_header_menu > li.header_btn > a > span {
    padding-left: 20px;
    position: relative;
}


    .pc_header_menu > li.header_btn:nth-child(3) > a:hover { background: #c6b589;}
    
.pc_header_menu > li.header_btn > a > span:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 15px;
    height: 15px;
    top: 50%;
    transform: translateY(-50%);
}

.pc_header_menu > li.header_btn:first-child > a > span:before {
    background: url("../images/common/seminar_icon.png") no-repeat;
    background-size: contain;
}

.pc_header_menu > li.header_btn:nth-child(2) > a > span:before {
    background: url("../images/common/property_icon.png") no-repeat;
    background-size: contain;
}

.pc_header_menu > li.header_btn:nth-child(3) > a > span:before {
    background: url("../images/common/mail_icon.png") no-repeat;
    background-size: contain;
}

.pc_header_menu > li.header_btn:nth-child(2) > a > span {
    padding-right: 15px;
}

.pc_header_menu > li.header_btn:nth-child(2) > a:before,
.pc_header_menu > li.header_btn:nth-child(2) > a:after {
    content: "";
    position: absolute;
    top: 50%;
    background: #232323;
    transition: all 0.35s ease;
}

.pc_header_menu > li.header_btn:nth-child(2) > a:after {
    width: 9px;
    height: 1px;
    right: 12px;
}

.pc_header_menu > li.header_btn:nth-child(2) > a:before {
    width: 1px;
    height: 9px;
    right: 16px;
    margin-top: -4px;
}


    
}

/* ======================================================

   foot recruit

========================================================= */
#foot_recruit {
    overflow: hidden;
    position: relative;
    background:url("../images/top/recruit_bg02_sp.jpg") no-repeat center top;
    background-size: cover;
    height: 100vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.index_common_ttl01 {
    font-weight: 700;
    font-size: 26px;
    line-height: 1.4;
    padding-bottom: 5px;
    margin-bottom: 30px;
    position: relative;
}

.index_common_ttl01 span {
    display: block;
    color: #b7b7b7;
    font-family: "Barlow", sans-serif;
    font-weight: 700;
    font-size: 14px;
}

.index_common_ttl01:after {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: #232323;
    position: absolute;
    bottom: 0;
    left: 0;
}


/* ── head ── */
.t-recruit__head {
    position: relative;
    z-index: 99;
    text-align: center;
    padding-top: 20px;
}
.t-recruit__head h3 {
    color: #fff;
    text-align: center;
    opacity: calc(1 - var(--in-val));
}
.t-recruit__head .index_common_ttl01 { margin-bottom: 20px;}
.t-recruit__head .index_common_ttl01:after {
    margin: auto;
    left: 0;
    right: 0;
    background: #fff;
}
.t-recruit__head p.lead {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
    opacity: calc(1 - var(--in-val));
    color: #fff;
    text-align: center;
}
.t-recruit__head p.lead span { font-size: 36px;}


/* ── body ── */
.t-recruit__body {
    position: relative;
    z-index: 2;
    text-align: center;
}
.t-recruit__body .btn-wrap {
    width: 290px;
    margin: 20px auto 0;
}
.t-recruit__body .btn-wrap a {
    display: block;
    width: 100%;
    background: #9b0808;
    color: #fff;
    text-decoration: none;
    height: 60px;
    line-height: 60px;
    border-radius: 30px;
    position: relative;
    transition: background 0.3s, color 0.3s;
    font-family: "Barlow", sans-serif;
    font-weight: 600;
    padding: 0 30px;
    font-size: 20px;
    box-sizing: border-box;
}
.t-recruit__body .btn-wrap a:hover {
    background: #232323;
}
.t-recruit__body .btn-wrap a:before,
.t-recruit__body .btn-wrap a:after {
    content: "";
    display: block;
    position: absolute;
}
.t-recruit__body .btn-wrap a:before {
    width: 35px;
    height: 35px;
    background: #fff;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    right: 30px;
}
.t-recruit__body .btn-wrap a:after {
    width: 12px;
    height: 8px;
    background: url("../images/common/arrow_b.png") no-repeat;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%);
    right: 40px;
}


/* ── images コンテナ ── */
.t-recruit__images {
    position: absolute;
    inset: 0;
    margin: auto;
    z-index: 2;
    pointer-events: none;
}

/* ── image-item ── */
.t-recruit__images-item {
    position: absolute;
    pointer-events: all;
}

.t-recruit__images-item .img {
    overflow: hidden;
    border-radius: 5px;
}
.t-recruit__images-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 各アイテムの位置・サイズ */
.t-recruit__images-item:nth-child(1) {
    width:19.2708%;
    top: 10%;
    right:12%;
}
.t-recruit__images-item:nth-child(2) {
    width: 28.1250%;
    top:  5%;
    left: 5%;
}
.t-recruit__images-item:nth-child(3) {
    width: 26.5625%;
    top:  19%;
    right:-2%;
}
.t-recruit__images-item:nth-child(4) {
    width: 19.7917%;
    top:  25%;
    left: -1%;
}
.t-recruit__images-item:nth-child(5) {
    width: 16.6667%;
    top: 82%;
    right:7%;
}
.t-recruit__images-item:nth-child(6) {
    width: 25.5208%;
    top: 83%;
    left:6%;
}

@media screen and (min-width: 1025px) {
    #foot_recruit {
        background:url("../images/top/recruit_bg02.jpg") no-repeat center top;
        background-size: cover;
        height: 100vh;
    }
    
    .index_common_ttl01 {
        font-size: 32px;
        padding-bottom: 10px;
        margin-bottom: 30px;
    }
    .t-recruit__images-item .img {
        border-radius: 10px;
    }
    .t-recruit__images-item:nth-child(1) {
        max-width: 370px;
        top: 10%;
        right:14.375%;
    }
    .t-recruit__images-item:nth-child(2) {
        max-width: 540px;
        top:  6%;
        left: 6%;
    }
    .t-recruit__images-item:nth-child(3) {
        width: 31.25%;
        max-width: 600px;
        top:  32%;
        right: -6%;
    }
    .t-recruit__images-item:nth-child(4) {
        top:  35%;
        left: -1%;
    }
    .t-recruit__images-item:nth-child(5) {
        top: auto;
        bottom: 4%;
        right:19.2188%;
    }
    .t-recruit__images-item:nth-child(6) {
        top: auto;
        left:5%;
        bottom: 3%;
}
    
    .t-recruit__head .index_common_ttl01 { margin-bottom: 50px;}
    .t-recruit__head p.lead {
        letter-spacing: 0.075em;
        font-size: 64px;
        line-height: 1.2;}
    .t-recruit__head p.lead span { font-size: 80px;}
    .t-recruit__body .btn-wrap { margin-top: 50px;}
    .t-recruit__body .btn-wrap a { font-size: 24px;}
    
}

/* ======================================================

   foot contact

========================================================= */
#foot_contact {
    width: 100%;
    background: #eaeaea;
    padding: 50px 0;
}
#foot_contact .content_block {
    width: 90%;
    margin: 0 auto;
    max-width: 1300px;
}

#foot_contact .content_block .contact_btn_block {
    width: 100%;
}
#foot_contact .content_block .contact_btn_block .block {
    width: 100%;
    background: #fff;
    border-radius: 10px;
    box-sizing: border-box;
    padding: 20px 40px 18px 20px;
    box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    position: relative;
}
#foot_contact .content_block .contact_btn_block .block a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}


#foot_contact .content_block .contact_btn_block .block:before,
#foot_contact .content_block .contact_btn_block .block:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
#foot_contact .content_block .contact_btn_block .block:before {
    width: 12px;
    height: 8px;
    background: url("../images/common/arrow_w.png") no-repeat;
    background-size: contain;
    right: 28px;
    z-index: 2;
}
#foot_contact .content_block .contact_btn_block .block:after {
    width: 32px;
    height: 32px;
    background: #232323;
    border-radius: 50%;
    right: 20px;
}



#foot_contact .content_block .contact_btn_block .block .title {
    font-weight: bold;
    font-size: 19px;
    line-height: 1.2;
    letter-spacing: 0.025em;
}
#foot_contact .content_block .contact_btn_block .block span.eng,
#foot_contact .content_block .contact_btn_block .block.contact .eng,
#foot_contact .content_block .contact_btn_block .block.phone .eng {
    display: block;
    color: #b7b7b7;
    font-size: 12px;
    font-family: "Barlow", sans-serif;
    font-weight: 600;
    margin-bottom: 5px;
}
#foot_contact .content_block .contact_btn_block .block span.icon,
#foot_contact .content_block .contact_btn_block .block.phone .tel_num span {
    padding-left: 20px;
    position: relative;
}
#foot_contact .content_block .contact_btn_block .block span.icon:before,
#foot_contact .content_block .contact_btn_block .block.phone .tel_num span:before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    position: absolute;
    left: 0;
    transition:0.3s;
}

#foot_contact .content_block .contact_btn_block .block.property span.eng { color: rgba(0,0,0,0.4);}
#foot_contact .content_block .contact_btn_block .block.property { background: #c6b589;}
#foot_contact .content_block .contact_btn_block .block.property span.icon:before {
    background: url("../images/common/property_icon.png") no-repeat;
    background-size: cover;
    top: 3px;
}

#foot_contact .content_block .contact_btn_block .block.seminar { background: #232323; color: #fff;}
#foot_contact .content_block .contact_btn_block .block.seminar p { color: #fff;}
#foot_contact .content_block .contact_btn_block .block.seminar span.icon:before {
    background: url("../images/common/seminar_icon.png") no-repeat;
    background-size: cover;
    top: 3px;
}
#foot_contact .content_block .contact_btn_block .block.seminar:after { background: #fff;}
#foot_contact .content_block .contact_btn_block .block.seminar:before {
    background: url("../images/common/arrow_b.png") no-repeat;
    background-size: contain;
}

#foot_contact .content_block .contact_btn_block .block.property .title,
#foot_contact .content_block .contact_btn_block .block.seminar .title { display: inline-block; width: 50%; margin-right: 10px;}

#foot_contact .content_block .contact_btn_block .block p.text {
    margin: 0;
    font-weight: bold;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: 0.075em;
}
#foot_contact .content_block .contact_btn_block .block.contact {
    flex-direction: column;
    align-items: flex-start;
}
#foot_contact .content_block .contact_btn_block .block.contact span.icon:before {
    background: url("../images/common/mail_icon.png") no-repeat;
    background-size: cover;
    top: 3px;
}
#foot_contact .content_block .contact_btn_block .block.contact .eng { line-height: 1.2;}
#foot_contact .content_block .contact_btn_block .block.contact .title { margin-bottom: 5px; }

#foot_contact .content_block .contact_btn_block .block.phone {
    background: #a3a3a3;
    flex-direction: column;
}
#foot_contact .content_block .contact_btn_block .block.phone p { color: #fff;}
#foot_contact .content_block .contact_btn_block .block.phone:before,
#foot_contact .content_block .contact_btn_block .block.phone:after { content: none;}
#foot_contact .content_block .contact_btn_block .block.phone .eng { color: rgba(255,255,255,0.4);}
#foot_contact .content_block .contact_btn_block .block.phone .tel_num {
    font-size: 26px;
    font-family: "Barlow", sans-serif;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.2;
    margin-bottom: 5px;
}
#foot_contact .content_block .contact_btn_block .block.phone .tel_num span:before {
    background: url("../images/common/tel_icon.png") no-repeat;
    background-size: cover;
    top: 8px;
}
#foot_contact .content_block .contact_btn_block .block.phone .text { font-size: 13px; font-weight: normal;}


#foot_contact .index_common_ttl01 {
    font-weight: 700;
    font-size: 26px;
    line-height: 1.4;
    padding-bottom: 5px;
    margin-bottom: 30px;
    position: relative;
}
#foot_contact .index_common_ttl01 span {
    display: block;
    color: #b7b7b7;
    font-family: "Barlow", sans-serif;
    font-weight: 700;
    font-size: 14px;
}

#foot_contact .index_common_ttl01:after {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: #232323;
    position: absolute;
    bottom: 0;
    left: 0;
}

@media screen and (min-width: 1025px) {
    #foot_contact { padding: 110px 0 100px;}
    #foot_contact .content_block {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }
    #foot_contact .content_block .contact_btn_block { width: 75%; display: flex; flex-wrap: wrap;}
    #foot_contact .content_block .contact_btn_block .block {
        width: calc(49% - 5px);
        padding: 20px 40px 20px;
        margin-bottom: 10px;
        transition:0.3s;
    }

    #foot_contact .content_block .contact_btn_block .block.property:hover,
    #foot_contact .content_block .contact_btn_block .block.seminar:hover{ opacity: 0.8;}

    
    #foot_contact .content_block .contact_btn_block .block:first-child,
    #foot_contact .content_block .contact_btn_block .block:nth-child(3) { margin-right: 10px;}
    
    #foot_contact .content_block .contact_btn_block .block.property,
    #foot_contact .content_block .contact_btn_block .block.seminar { height: 150px; }
    #foot_contact .content_block .contact_btn_block .block .title {
        font-size: 24px;
        letter-spacing: 0.05em;
    }
    #foot_contact .content_block .contact_btn_block .block span.eng,
    #foot_contact .content_block .contact_btn_block .block.contact .eng,
    #foot_contact .content_block .contact_btn_block .block.phone .eng {
        font-size: 16px;
        margin-bottom: 5px;
    }
    #foot_contact .content_block .contact_btn_block .block span.icon,
    #foot_contact .content_block .contact_btn_block .block.phone .tel_num span {
        padding-left: 25px;
    }
    #foot_contact .content_block .contact_btn_block .block span.icon:before,
    #foot_contact .content_block .contact_btn_block .block.phone .tel_num span:before {
        width: 20px;
        height: 20px;
    }
    #foot_contact .content_block .contact_btn_block .block.property span.icon:before { top: 5px;}
    #foot_contact .content_block .contact_btn_block .block.seminar span.icon:before { top: 5px;}

    #foot_contact .content_block .contact_btn_block .block p.text { font-size: 15px; margin-top: 1em;}
    
    #foot_contact .content_block .contact_btn_block .block.contact,
    #foot_contact .content_block .contact_btn_block .block.phone { height: 170px; justify-content: center;}

    #foot_contact .content_block .contact_btn_block .block.contact span.icon:before { top: 6px;}
    #foot_contact .content_block .contact_btn_block .block.phone .eng { line-height: 1.0;}
    #foot_contact .content_block .contact_btn_block .block.phone .tel_num {
        font-size: 36px;
        margin-bottom: 5px;
    }
    #foot_contact .content_block .contact_btn_block .block.phone .tel_num span:before { width: 25px; height: 25px; top: 11px;}
    #foot_contact .content_block .contact_btn_block .block.phone .text { font-size: 15px; margin: 0;}

    #foot_contact .index_common_ttl01 {
        font-size: 32px;
        line-height: 1.4;
        padding-bottom: 20px;
    }
    #foot_contact .index_common_ttl01 span { font-size: 16px;}
    #foot_contact .content_block .contact_btn_block .block.contact:hover .title,
    #foot_contact .content_block .contact_btn_block .block.contact:hover .text { color: #fff !important;}
    #foot_contact .content_block .contact_btn_block .block.contact:hover {
        background: rgba(35,35,35,1);
    }
    #foot_contact .content_block .contact_btn_block .block.contact:hover span.icon:before {
        background: url("../images/common/mail_icon_w.png") no-repeat;
        background-size: contain;
    }
}



/* ======================================================

   footer

========================================================= */
.outer_footer {
    background: url("../images/common/footer_bg02.jpg") no-repeat center top;
    background-size: cover;
    padding: 30px 0px 90px !important;
}
.outer_footer p { color: #fff; font-size: 14px;}
.footer {
    width: 90%;
    max-width: 1300px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}
.footer .f_block {
    width: 100%;
    margin: 0 auto;
}
.footer .f_block:first-child {
    order: 1;
    margin-bottom: 20px;
}
.footer .f_block:first-child p { text-align: center;}
.footer .f_block:nth-child(2) {
    order: 3;
}
.footer .f_block:last-child {
    order: 2;
    margin-bottom: 10px;
}
.footer .f_block:last-child ul li { font-size: 14px; text-align: center;}
.footer .f_block:last-child ul li a {
    color: #fff;
    text-decoration: none;
}


.footer .foot_logo {
    width: 280px;
    margin: 0 auto 10px;
}


.copy {
    font-size: 11px;
    font-family: "Barlow", sans-serif;
    line-height: 1;
    text-align: center;
}

.footer_follow {
  display: none;
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
    z-index: 99;
}
.footer_follow .sp_btm_contact {
    width: 100%;
    display: flex;
}
.footer_follow .sp_btm_contact li {
    width: calc(100% / 3);
    text-align: center;
    font-family: "Barlow", sans-serif;
    font-weight: 700;
    font-size: 16px;
}
.footer_follow .sp_btm_contact li.tel { background: #232323;}
.footer_follow .sp_btm_contact li.map { background: #c6b589;}
.footer_follow .sp_btm_contact li.mail { background: #fff;}
.footer_follow .sp_btm_contact li a {
  display: block;
  width: 100%;
  color: #FFF;
  padding: 15px 5px;
  box-sizing: border-box;
    line-height: 1.0;
}

.footer_follow .sp_btm_contact li.map a,
.footer_follow .sp_btm_contact li.mail a { color: #232323;}

.footer_follow .sp_btm_contact li span {
    padding-left: 20px;
    position: relative;
}
.footer_follow .sp_btm_contact li span:before {
    content:"";
    display: block;
    position: absolute;
    left: 0;
}

.footer_follow .sp_btm_contact li.tel span:before {
    width: 14px;
    height: 14px;
    background: url("../images/common/tel_icon.png") no-repeat;
    background-size: contain;
    top: 3px;
}

.footer_follow .sp_btm_contact li.map span:before {
    width: 15px;
    height: 15px;
    background: url("../images/common/map_icon.png") no-repeat;
    background-size: contain;
    top: 2px;
}

.footer_follow .sp_btm_contact li.mail span:before {
    width: 15px;
    height: 15px;
    background: url("../images/common/mail_icon.png") no-repeat;
    background-size: contain;
    top: 2px;
}



#sitemap { display: none;}

@media screen and (min-width: 1025px) {
    
    .outer_footer {
        padding: 80px 0 75px !important;
    }
    
    .footer {
        flex-direction:row;
        justify-content: space-between;
        align-items: flex-end;
    }
    .footer .f_block { margin: 0;}
    .footer .f_block:first-child {
        width: 30%;
        order: 1;
        margin-bottom: 40px;
    }
    .footer .f_block:first-child p { text-align: left;}
    .footer .f_block:nth-child(2) {
        order: 2;
        width: 20%;
    }
    .footer .f_block:last-child {
        order: 3;
        margin-bottom: 0;
        width: 28%;
    }
    .footer .f_block:last-child ul {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }
    .footer .f_block:last-child ul li { font-size: 14px;}
    .footer .f_block:last-child ul li.privacy { position: relative; padding-top: 100px;}
    .footer .f_block:last-child ul li.privacy:before {
        content: "";
        display: block;
        background: url("../images/common/footer_privacy.png") no-repeat;
        width: 85px;
        height: 90px;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        margin: auto;
    }


    .footer .foot_logo {
        margin: 0 0 10px;
    }


    .copy { font-size: 12px;}
    
    

    #sitemap {
        display: block;
        position: relative;
        padding: 90px 0 130px;
        background:url("../images/common/footer_bg01.png") no-repeat right bottom;
    }
    #sitemap .inner_block {
        width: 90%;
        max-width: 1300px;
        margin: 0 auto;
    }
    #sitemap .inner_block dl {
        display: flex;
        justify-content: space-between;
        align-items: center;
        
    }
    
    
    
    #sitemap .inner_block dl dt {
        width: 19%;
        font-weight: bold;
        font-size: 18px;
        line-height: 1.6;
    }
    #sitemap .inner_block dl dt span {
        display: block;
        color: #b7b7b7;
        font-size: 12px;
        font-family: "Barlow", sans-serif;
        letter-spacing: 0.05em;
    }
    #sitemap .inner_block dl:first-child dd {
        border-top: none;
    }
    
    #sitemap .inner_block dl dd {
        width: 81%;
        position: relative;
        border-top: 1px solid #d7d7d7;
        padding: 35px 0;
    }
    
    #sitemap .inner_block dl dd ul {
        display: flex;
        align-items: center;
    }
    #sitemap .inner_block dl dd ul li {
        font-size: 15px;
    }
    #sitemap .inner_block dl:nth-child(2) dd ul li:first-child { margin-right: 88px;}
    #sitemap .inner_block dl:nth-child(2) dd ul li:nth-child(2) { margin-right: 90px;}
    #sitemap .inner_block dl:nth-child(2) dd ul li:nth-child(3) { margin-right: 20px;}
    
    #sitemap .inner_block dl:nth-child(3) dd ul li:first-child { margin-right: 40px;}
    #sitemap .inner_block dl:nth-child(4) dd ul { justify-content: space-between;}
    
    
    #sitemap .inner_block dl dd ul li a {
        text-decoration: none;
        color: #111111;
        transition:0.3s;
    }
    #sitemap .inner_block dl dd ul li a:hover {
        color: #c6b589;
    }
    
    #sitemap .inner_block dl dd ul li.btn {
        width: 160px;
    }
    #sitemap .inner_block dl dd ul li.btn.btn02 {
        width: 200px;
    }
    #sitemap .inner_block dl dd ul li.btn a {
        display: block;
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #d7d7d7;
        border-radius: 5px;
        text-align: center;
        height: 40px;
        line-height: 40px;
        transition:0.3s;
    }
    #sitemap .inner_block dl dd ul li.btn a:hover { color: #232323; opacity: 0.7;}
    
    #sitemap .inner_block dl dd ul li.btn span {
        padding-right: 20px;
        position: relative;
    }
    #sitemap .inner_block dl dd ul li.btn span:after {
        content: "";
        display: block;
        width: 12px;
        height: 12px;
        position: absolute;
        top: 3px;
        right: 0;
        background: url("../images/common/out_icon02.png") no-repeat;
        background-size: contain;
    }
    
  .footer_follow .sp_btm_contact {
    display: none;
  }
}

/* ======================================================

   block

========================================================= */
.main_sec {
  width: 90%;
  margin: 0 auto;
}

.sub_main_sec {
    width: 90%;
    margin: 0 auto;
}
.sub_main_sec_bg {
    background: #f6f5f3;
    padding: 50px 0;
}


@media screen and (min-width: 1025px) {
  .main_sec {
    max-width: 1200px;
  }
    .sub_main_sec {
        max-width: 1100px;
    }
    
    .sub_main_sec_bg { padding: 130px 0;}
    
}

.row-content .block { margin-bottom: 30px; }
.row-content .block:last-child { margin-bottom: 0; }

@media screen and (min-width: 600px) {
  /* 現在は何もないので削除するか、必要なスタイルを追加 */
}

@media screen and (min-width: 1025px) {
  .row-content {
    display: flex;
    flex-wrap: wrap;
  }
  .row-content .block {
    margin-top: 50px;
	margin-bottom: 0;
  }
  .row-content.row-2 .block:nth-child(-n+2) { margin-top: 0; }
  .row-content.row-3 .block:nth-child(-n+3) { margin-top: 0; }
  .row-content.row-4 .block:nth-child(-n+4) { margin-top: 0; }
  
  .row-content.row-2 .block { width: 48%; }
  .row-content.row-2 .block:nth-child(2n) { margin-left: auto; }
  
  .row-content.row-3 .block {
    width: 30%;
    margin-right: 5%;
  }
  .row-content.row-4 .block {
    width: 23.5%;
    margin-right: 2%;
  }
  .row-content.row-3 .block:nth-child(3n),
  .row-content.row-4 .block:nth-child(4n) {
    margin-right: 0;
  }
}

.anc_blc {
  margin-top: -70px;
  padding-top: 70px;
}

@media screen and (min-width: 600px) {
  /* 現在は何もないので削除するか、必要なスタイルを追加 */
}

@media screen and (min-width: 1025px) {  
  .anc_blc {
    margin-top: -90px;
    padding-top: 90px;
  }
}

.image_l .img,
.image_r .img {
    width: 70%;
    margin: 0 auto 20px;
    box-shadow: 0px 0px 15px 3px rgba(0,0,0,0.15);
    border-radius: 10px;
    height: 200px;
}

.image_l .img img,
.image_r .img img {
    border-radius: 10px;
    height: 200px;
    object-fit: cover;
}


.main_sec_bg_inner .image_l .txt,
.main_sec_bg_inner .image_r .txt {
  width: 100%;
}


@media screen and (min-width: 1025px) {  
  .image_l,.image_r {
    display: flex;
  }
  .image_r {
    justify-content: flex-end;
    flex-direction: row-reverse;
  }
  .image_l .img,
  .image_r .img {
      width: 26%;
      height: 290px;
      margin: 0;
  }

    .image_l .img img,
    .image_r .img img {
        width: 100%;
        height: 290px;
    }

    
    
  .image_l .txt,
  .image_r .txt,
  .main_sec_bg_inner .image_l .txt,
  .main_sec_bg_inner .image_r .txt {
    width: 60%;
  }
  .image_l .txt {
    margin-left: auto;
  }
  .image_r .txt {
    margin-right: auto;
  }
}

.gmap {
  height: 250px;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

@media screen and (min-width: 600px) {
  /* 現在は何もないので削除するか、必要なスタイルを追加 */
}

@media screen and (min-width: 1025px) {  
  .gmap {
    height: 350px;
  }
}

/* ======================================================

   title

========================================================= */

.topicpath { margin-bottom: 20px; }
.topicpath ul {
  width: 90%;
  margin: 0 auto;
}
.topicpath li {
  display: inline;
  line-height: 1.4;
  font-size: 11px;
}
.topicpath li::before { content: ' > '; color: #909090;}
.topicpath li:first-child::before { content: ''; }

.contents_outer {
    width: 100%;
    position: relative;
    margin-bottom: 80px;
    padding-top: 12.5rem;
}
.contents_outer:before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #696969;
    position: absolute;
    top: 15rem;
    left: 0;
}


.contents_outer .contents_inner {
    width: 90%;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 4.5rem 2rem 2rem;
    background: #f6f5f3;
    border-radius: 5px;
    position: relative;
    z-index: 2;
}

.contents_outer .contents_inner ul li {
    font-size: 14px;
    padding-left: 1.6em;
    position: relative;
    line-height: 1.4;
    margin-bottom: 10px;
    font-weight: bold;
}
.contents_outer .contents_inner ul li:last-child { margin-bottom: 0;}

.contents_outer .contents_inner ul li a {
    color: #232323;
    text-decoration: none;
}

.contents_outer .contents_inner ul li:before,
.contents_outer .contents_inner ul li:after {
    content: "";
    display: block;
    position: absolute;
}

.contents_outer .contents_inner ul li:before {
    width: 16px;
    height: 16px;
    background: #232323;
    border-radius: 50%;
    top:1px;
    left: 0;
}
.contents_outer .contents_inner ul li:after {
    width: 5px;
    height: 5px;
    top: 5px;
	left: 5px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(135deg);
    z-index: 2;
}






.page_title {
    width: 90%;
    max-width: 1300px;
    margin: 0 auto 50px;
    padding-top: 100px;
    /*padding-top: calc(var(--header-height) + 100px) !important;*/
}
.page_title h2 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 30px;
}
.page_title h2 span {
    display: block;
    font-size: 14px;
    margin-top: 5px;
    font-family: "Barlow", sans-serif;
    letter-spacing: 0.075em;
}


/*subA page title*/
.page_title_image {
    width: 230px;
    height: 230px;
    position: absolute;
    right: 20px;
    top: -12.5rem;
    
}
.page_title_image img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    border-radius: 10px;
}


#subA_wrapper .page_title {
    margin-bottom: 0;
    /*padding-top: 50px;*/
}

#subA_wrapper,
#subC_wrapper{ margin-bottom: 80px;}
#property_wrapper { padding-bottom: 80px;}


.ttl_pt01 {
  font-size: 26px;
  text-align: center;
  line-height:1.4;
    margin-bottom: 30px;
    font-weight: bold;
}
.palt {
	font-feature-settings: "palt";
}

.ttl_pt02 {
    font-size: 23px;
    line-height:1.4;
    margin-bottom: 30px;
    font-weight: bold;
    position: relative;
}
.ttl_pt02:before {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: #232323;
    position: absolute;
    bottom: -10px;
    left: 0;
}
.ttl_pt02 span {
    display: block;
    font-family: "Barlow", sans-serif;
    color: #b7b7b7;
    font-size: 10px;
    font-weight: 600;
    margin-bottom: 5px;
}

.ttl_pt03 {
    font-size: 19px;
    line-height:1.4;
    margin-bottom: 30px;
    font-weight: bold;
    position: relative;
}

.ttl_pt04 {
    font-size: 18px;
    text-align: center;
    margin-bottom: 30px;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.ttl_pt04 span {
    display: block;
    font-family: "Barlow", sans-serif;
    font-size: 52px;
    margin-bottom: 5px;
    line-height: 1;
}

#company_wrapper {
    background: #cfcfcf;
    padding-bottom: 90px;
    margin-bottom: 90px;
}

@media screen and (min-width: 1025px) {
    .contents_outer {
        margin-bottom: 140px;
        padding-top: 0rem;
    }
    
    .contents_outer:before {
        top: 2.2rem;
    }

    
    
    .contents_outer .contents_inner {
        max-width: 1300px;
        padding: 0;
        background: none;
    }

    .contents_outer .contents_inner ul {
        display:inline-block;
        background: #f6f5f3;
        padding: 1.6rem 2rem 1.6rem;
        border-radius: 5px;
    }
    .contents_outer .contents_inner ul li {
        margin-bottom: 0px;
        float: left;
        margin-right: 25px;
    }
    .contents_outer .contents_inner ul li:last-child { margin-right: 0;}
/*    .page_title {
        padding-top: 0;
    }*/

/*subA page title*/
    .page_title_image {
        width: 22%;
        height: 290px;
        right: 0px;
        top: auto;
        bottom: 0;
    }
    .page_title_image img {
        height: 290px;
    }
    
    #subA_wrapper .page_title {
        margin-bottom: 0;
        padding-top: 160px;
        /*padding-top: calc(var(--header-height) + 150px) !important;*/
    }
    #subA_wrapper .page_title h2 {
        margin-bottom: 80px;
    }
    
    #subA_wrapper .topicpath { margin-bottom: 15px; }
    
    #company_wrapper {
        padding-bottom: 130px;
        margin-bottom: 130px;
    }
    
#subA_wrapper,
#subC_wrapper { margin-bottom: 160px;}
#property_wrapper { padding-bottom: 160px;}
    
    .page_title {
        margin: 0 auto 50px;
        padding-top: 90px;
    }
    .page_title h2 {
        font-size: 42px;
        margin-bottom: 30px;
    }
    .page_title h2 span {
        font-size: 20px;
    }
    #property_wrapper .page_title,
    #subC_wrapper .page_title {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-bottom: 140px;
        padding-top: 10rem;
    }
    #property_wrapper .page_title h3 { margin-bottom: 0px;}
    
    .ttl_pt01 {
        font-size: 38px;
        line-height:1.4;
        margin-bottom: 60px;
    }
    
    .ttl_pt02 {
        font-size: 32px;
        line-height:1.4;
        margin-bottom: 55px;
    }
    .ttl_pt02:before {
        bottom: -15px;
    }
    .ttl_pt02 span {
        font-size: 16px;
        margin-bottom: 5px;
    }
    
    
    .ttl_pt03 {
        font-size: 28px;
        line-height:1.6;
        margin-bottom: 40px;
    }
    

    .ttl_pt04 {
        font-size: 18px;
        text-align: left;
    margin-bottom: 60px;
    letter-spacing: 0.05em;
}
    .ttl_pt04 span {
        font-size: 105px;
        margin-bottom: 5px;
    line-height: 1;
}
    
    
}


/* ======================================================

   list

========================================================= */
.list_pt01 li {
  position: relative;
  font-size: 15px;
  margin-bottom: 5px;
  padding-left: 1em;
}
.list_pt01 li::after,
.list_pt01 li::before {
  display: block;
  content: '';
  position: absolute;
}
.list_pt01 li::after {
  top: 9px;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: #c6b589;
  border-radius: 100%;
}
.list_pt01 li:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 1025px) {
    .list_pt01 li {
        font-size: 16px;
        margin-bottom: 8px;
    }
    .list_pt01 li::after {
        top: 12px;
    }
}

/* ======================================================

   table

========================================================= */
.tbl_pt01 {
    width: 100%;
}
.tbl_pt02 {
  width: 100%;
  border-right: #a3a3a3 solid 1px;
  border-top: #a3a3a3 solid 1px;
  table-layout: fixed;
}
.tbl_pt01 th {
    padding: 15px 0 0;
}
.tbl_pt01 td {
    border-bottom: #d2d2d2 solid 1px;
    padding: 0 0 15px;
}

.tbl_pt02 th,.tbl_pt02 td {
  padding: 10px 15px;
  border-left: #a3a3a3 solid 1px;
  border-bottom: #a3a3a3 solid 1px;
}
.tbl_pt01 tr,.tbl_pt01 th,.tbl_pt01 td {
  display: block;
  box-sizing: border-box;
}
.tbl_pt01 th { font-weight: bold;}
.tbl_pt02 th {
    background: #eaeaea;
    font-weight: bold;
}
.tbl_pt02 thead th {
  background: #a3a3a3;
  color: #FFF;
  text-align: center;
    border-right: #fff solid 1px;
}

.scroll {
  overflow-x: auto;
}
.scroll::-webkit-scrollbar {
  height: 5px;
}
.scroll::-webkit-scrollbar-track {
  background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {
  background: #BCBCBC;
}
.scroll table {
  min-width: 600px;
}

@media screen and (min-width: 600px) {
  .scroll table {
    min-width: unset;
  }
  .tbl_pt02 th,.tbl_pt02 td {
    padding: 15px 20px;
  }
    .tbl_pt01 th,
    .tbl_pt01 td{
        padding: 25px;
        border-bottom: #d2d2d2 solid 1px;
    }
    
    
  .tbl_pt01 tr {
    display: table-row;
  }
  .tbl_pt01 th {
    width: 30%;
      box-sizing: border-box;
  }
  .tbl_pt01 th,.tbl_pt01 td {
    display: table-cell;
  }
  .wp15 {
    width:15% !important;
  }
  .wp20 {
    width:20% !important;
  }
  .wp25 {
    width:25% !important;
  }
  .wp30 {
    width:30% !important;
  }
  .wp40 {
    width:40% !important;
  }
  .wp50 {
    width:50% !important;
  }
  .scroll {
    overflow: hidden;
  }
}

@media screen and (min-width: 1025px) {
  /* 現在は何もないので削除するか、必要なスタイルを追加 */
}


/* ======================================================

   button

========================================================= */
.txt_btn {}
.txt_btn a {
    display: block;
    text-decoration: none;
    border: 1px solid #d7d7d7;
    line-height:1.3;
    position: relative;
    border-radius: 50px;
    padding: 17px 45px 15px 25px;
    color: #232323;
    box-shadow: 0px 0px 10px 1px rgba(0,0,0,0.1);
    background: #fff;
}

.txt_btn.eng a { font-family: "Barlow", sans-serif; font-weight: 600;}

.txt_btn a:before,
.txt_btn a:after {
    content: "";
    display: block;
    position: absolute;
}

.txt_btn a:after {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background: #232323;
}
.txt_btn a:before {
    width: 12px;
    height: 9px;
    background: url("../images/common/arrow_w.png") no-repeat;
    background-size: contain;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.eng_txt_btn a {
    font-weight: 600;
    font-family: "Barlow", sans-serif;
    text-decoration: none;
    color: #232323;
    padding: 0 35px 0 0;
    position: relative;
    background: #fff;
}
.eng_txt_btn a:before,
.eng_txt_btn a:after {
    content: "";
    position: absolute;
    display: block;
}

.eng_txt_btn a:before {
    width: 24px;
    height: 24px;
    background: #c6b589;
    border-radius: 50%;
    top: -4px;
    right: 0;
}

.eng_txt_btn a:after {
    width: 13px;
    height: 8px;
    background: url("../images/common/arrow_w.png") no-repeat;
    background-size: contain;
    top: 4px;
    right: 3px;
    z-index: 2;
}

.txt_btn.external_btn a:after {
    content: none;
}
.txt_btn.external_btn a:before {
    width: 12px;
    height: 12px;
    background: url("../images/common/out_icon02.png") no-repeat;
    background-size: contain;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.sub_btn_list .txt_btn {
    margin-bottom: 10px;
}
.sub_btn_list .txt_btn:last-child { margin-bottom: 0;}

@media screen and (min-width: 600px) {
  /* 現在は何もないので削除するか、必要なスタイルを追加 */
}

@media screen and (min-width: 1025px) {


    .txt_btn a {
        border-radius: 50px;
        padding: 20px 45px 20px 30px;
        transition:0.3s;
    }
    
    .txt_btn a:hover {
        transition:0.3s;
        background: #232323;
        color: #fff;
    }
    
    .sub_btn_list.col3 {
        display: flex;
        justify-content: space-between;
    }
    .sub_btn_list.col3 .txt_btn {
        width: 32%;
    }
    
    
.txt_btn.external_btn a:hover:before {
    background: url("../images/common/out_icon.png") no-repeat;
    background-size: contain;
}
    

  .w200 {
    max-width: 200px;
  }
  .w250 {
    max-width: 250px;
  }
  .w300 {
    max-width: 300px;
  }
  .w350 {
    max-width: 350px;
  }
  .w400 {
    max-width: 400px;
  }
  .w450 {
    max-width: 450px;
  }
  .w500 {
    max-width: 500px;
  }
 .btn_center {
    margin: 0 auto;
  }
}

/* ======================================================

   sub common

========================================================= */
#subA_wrapper {}
.flow_content {}
.flow_content .block {
    width: 100%;
    padding-bottom: 40px;
    position: relative;
}
.flow_content .block:last-child {
    padding-bottom: 0;
}

.flow_content .block:before,
.flow_content .block:after {
    content: "";
    display: block;
    position: absolute;
}
.flow_content .block:before {
    width: 1px;
    height: calc(100% - 60px);
    background: #232323;
    bottom: 0;
    left: 20px;
}
.flow_content .block:after {
    width: 10px;
    height: 10px;
    background: #232323;
    border-radius: 50%;
    top: 40px;
    left: 16px;
}



.flow_content .block .f_title {
    font-weight: bold;
    font-size: 18px;
    line-height: 1.4;
    display: flex;
}

.flow_content .block .f_title span{
    display: block;
}

.flow_content .block .f_title span.eng {
    font-family: "Barlow", sans-serif;
    margin-right: 18px;
    font-size: 20px;
}
.flow_content .block .flow_text {
    padding: 20px 0 40px 50px;
    position: relative;
}
.flow_content .block .flow_text:before {
    content: "";
    display: block;
    width: calc(100% - 50px);
    height: 1px;
    background: #232323;
    position: absolute;
    bottom: 0;
    right: 0;
}
.flow_content .block .flow_text:after {

}

.flow_content .block .flow_text.image_content .image_block {
    width: 70%;
    height: 180px;
    margin: 0 auto 20px;
    box-shadow: 0px 0px 15px 3px rgba(0,0,0,0.15);
}
.flow_content .block .flow_text.image_content .image_block img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 5px;
}

@media screen and (min-width: 1025px) {
    .flow_content .block {
        padding-bottom: 90px;
    }

    .flow_content .block:before {
        height: calc(100% - 60px);
        left: 40px;
        bottom: 10px;
    }
    .flow_content .block:after {
        left: 36px;
        top: 50px;
    }



    .flow_content .block .f_title {
        font-size: 24px;
        line-height: 1.4;
        margin-bottom: 20px;
    }

    .flow_content .block .f_title span.eng {
        margin-right: 40px;
        font-size: 26px;
        line-height: 1.2;
    }
    
    .flow_content .block .flow_text {
        padding: 30px 0 90px 100px;
    }
    
    .flow_content .block .flow_text:before {
        width: calc(100% - 100px);
    }

    .flow_content .block .flow_text.image_content {
        display: flex;
        justify-content: space-between;
        
    }
    
    .flow_content .block .flow_text.image_content .image_block {
        width: 170px;
        height: 170px;
        margin: 0;
    }
    .flow_content .block .flow_text.image_content .image_block img {
        height: 170px;
    }
    .flow_content .block .flow_text.image_content .text_block {
        width: 75%;
        
    }
    
}


/* ======================================================

   group

========================================================= */
.group_title {
    text-align: center;
    font-size: 30px;
}
.group_title:before {
    content: none;
}
.group_contents {
    width: 90%;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
}
.group_contents .block {
    width: 100%;
    margin: 0 auto 80px;
}

.group_contents .block:last-child { margin-bottom: 0;}

.group_contents .block .image_block {
    width: 70%;
    margin: 0 auto 30px;
    box-shadow: 0px 0px 15px 3px rgba(0,0,0,0.15);
    border-radius: 10px;
    height: 200px;
}
.group_contents .block .image_block img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 10px;
}

.group_contents .block .reason_ttl {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 12px;
}
.group_contents .block .reason_ttl:before {
    content: "";
    display: block;
    width: 35px;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: #232323;
}


.group_contents .block .reason_ttl span {
    display: block;
    font-size: 18px;
}

.group_contents .block .txt_btn {
    max-width: 230px;
    margin: 20px auto 0;
}
.group_contents .block .txt_btn a {
    font-family: "Barlow", sans-serif;
    font-weight: 600;
}

@media screen and (min-width: 1025px) {
    .group_title {
        font-size: 48px;
        margin-bottom: 70px;
    }

    .group_contents {
        flex-direction:row;
        justify-content: space-between;
    }
    .group_contents .block {
        width: 22%;
        margin: 0;
    }
    .group_contents .block .image_block {
        width: 100%;
        height: 350px;
    }
    .group_contents .block .image_block img { height: 350px;}

    .group_contents .block .reason_ttl {
    font-size: 28px;
    margin-bottom: 25px;
    padding-bottom: 15px;
}

    .group_contents .block .reason_ttl span { font-size: 24px;}
    .group_contents .block .txt_btn { margin: 30px auto 0;}
    
}


/* ======================================================

   seminar

========================================================= */
.seminar_a_list {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}
.contents_outer.seminar { margin-bottom: 100px;}
.contents_outer.seminar .contents_inner { background: none; padding: 0;}
.contents_outer.seminar:before {
    top:12rem;
}


.seminar_a_list .seminar_a_block {
    width: 100%;
    margin: 0 auto 50px;
    position: relative;
    padding-bottom: 50px;
    border-bottom: 1px solid #d7d7d7;
    transition:0.3s;
}
.seminar_a_list .seminar_a_block a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.seminar_a_list .seminar_a_block .seminar_title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
    line-height: 1.4;
}
.seminar_detail .pick,
.seminar_a_list .seminar_a_block .pick {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15px;
}
.seminar_detail .pick li,
.seminar_a_list .seminar_a_block .pick li {
    background: #f6f5f3;
    font-size: 12px;
    margin: 0 5px 5px 0;
    line-height: 1.2;
    border-radius: 30px;
    padding: 5px 15px;
}
.seminar_detail .pick li { display: inline-block;}
.seminar_a_list .seminar_a_block .pick li:last-child { margin-right: 0;}

.seminar_a_list .seminar_a_block .seminar_inner_b {
    
}

.seminar_a_list .seminar_a_block .seminar_inner_b .image_block {
    margin: 0 auto 20px;
}
.seminar_a_list .seminar_a_block .seminar_inner_b .image_block .main_thum {
    width: 100%;
    margin: 0 auto 10px;
    position: relative;
    background: #f6f5f3;
    height: 250px;
}
.seminar_a_list .seminar_a_block .seminar_inner_b .image_block .main_thum img,
.seminar_a_list .seminar_a_block .seminar_inner_b .image_block .sub_thum li img {
width:auto;
height:auto;
    max-width: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: auto;
}
.seminar_a_list .seminar_a_block .seminar_inner_b .image_block .main_thum img { max-height: 250px;}

.seminar_a_list .seminar_a_block .seminar_inner_b .image_block .sub_thum {
    width: 100%;
    display: flex;
    justify-content: space-between;
    
}
.seminar_a_list .seminar_a_block .seminar_inner_b .image_block .sub_thum li {
    width: 49%;
    height: 120px;
    position: relative;
    background: #f6f5f3;
}
.seminar_a_list .seminar_a_block .seminar_inner_b .image_block .sub_thum li img { max-height: 120px;}

.seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .seminar_schedule {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}
.seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .seminar_schedule dl {
    width: 30%;
}
.seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .seminar_schedule dl dt { margin-bottom: 5px;}
.seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .seminar_schedule dl dt span {
    background: #232323;
    border-radius: 30px;
    color: #fff;
    line-height: 1.2;
    padding: 3px 15px;
}
.seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .seminar_schedule dl dd {
    font-weight: bold;
    letter-spacing: 0.025em;
    font-size: 16px;
}
.seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .other_info { margin-bottom: 20px;}
.seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .other_info li span {
    display: inline-block;
    width: 20%;
    font-weight: bold;
    border-right: 1px solid #ccc;
    padding: 3px 0;
    margin-right: 15px;
}

.seminar_a_list .seminar_a_block .seminar_inner_b .overview_text {
    width: 100%;
    margin: 0 auto;
}

/*詳細*/

.seminar_detail .ttl_pt01 {
    text-align: left;
}
.seminar_detail .overview_text {
    margin: 0 auto 30px;
}
.seminar_detail .row-content .block:first-child { margin-bottom: 0;}
.seminar_detail .row-content .block ul.date {
    display: flex;
    align-items: flex-end;
}
.seminar_detail .row-content .block ul.date li { line-height: 1;}
.seminar_detail .row-content .block ul.date li:first-child { margin-top: 5px; margin-right: 10px;}
.seminar_detail .row-content .block ul.date li span { font-size: 22px;}

.seminar_d_contents { overflow: hidden;}
.seminar_d_contents img {
    width: 100%;
    margin: 0 auto 20px;
    border-radius: 10px;
}


.seminar_detail .seminar_d_contents p + p {
    margin-top: 1.2em;
}

.thumList {
    width:100%;
}
#show {
    width:100%;
    height: 230px;
    position: relative;
    margin-bottom: 10px;
    background: #f6f5f3;
}
#show img,
.thumList .thum_img  ul li img {
 max-width: 100%;
 max-height: 100%;
 width: auto;
 height: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
.thumList .thum_img  ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
justify-content: start;  
}
.thumList .thum_img  ul li {
    width: 23%;
    margin: 0 1% 5px;
    height: 60px;
    position: relative;
    background: #f6f5f3;
}
/*.thumList .thum_img li:hover { opacity:0.8; cursor:pointer; }*/

.seminar_detail .seminar_btnlist {
    box-sizing: border-box;
    padding: 15px 10px;
    display: flex;
    justify-content: space-between;
    background: #f6f5f3;
    margin-top: 15px;
}
.seminar_detail .seminar_btnlist .txt_btn {
    width: 49%;
}
.other_seminar_slide {
    width: 94%;
    margin: 0 auto;
}
.other_seminar_slide .seminar_a_block {
    width: 100%;
    border-radius: 20px;
    box-sizing: border-box;
    padding: 30px 25px 25px;
    margin-bottom: 10px;
    background: #f6f5f3;
    position: relative;
}
.other_seminar_slide .seminar_a_block a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.other_seminar_slide .seminar_a_block .s_title {
    font-weight: bold;
    font-size: 15px;
    margin-bottom: 15px;
    line-height: 1.4;
}
.other_seminar_slide .seminar_a_block .inner_block {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}
.other_seminar_slide .seminar_a_block .inner_block .s_thum_img {
    width: 50%;
    height: 110px;
    background: url("../images/noimage.jpg") no-repeat center;
    background-size: cover;
}
.other_seminar_slide .seminar_a_block .inner_block .s_thum_img img {
    width: 100%;
    height: 110px;
    object-fit: cover;
}
.other_seminar_slide .seminar_a_block .inner_block .s_info {
    width: 43%;
}
.other_seminar_slide .seminar_a_block .inner_block .s_info dl:first-child { margin-bottom: 5px;}
.other_seminar_slide .seminar_a_block .inner_block .s_info dl dt { line-height: 1.0; margin-bottom: 5px; font-weight: bold;}
.other_seminar_slide .seminar_a_block .inner_block .s_info dl dt span {
    display: inline-block;
    background: #232323;
    color: #fff;
    font-size: 11px;
    padding: 3px 10px;
    border-radius: 30px;
}

.other_seminar_slide .seminar_a_block .inner_block .s_info dl dd { line-height: 1.2; font-weight: bold;}
.other_seminar_slide .seminar_a_block .inner_block .s_info dl dd p { line-height: 1.2; font-weight: bold;}
.other_seminar_slide .seminar_a_block .inner_block .s_info dl dd p.date { font-size: 17px;}
.other_seminar_slide .seminar_a_block .inner_block .s_info dl:last-child dd { font-size: 17px;}

.other_seminar_slide .seminar_a_block table th {
    width: 20%;
    font-weight: bold;
    line-height: 1.2;
    font-size: 12px;
    border-right: 1px solid rgba(255,255,255,0.5);
}
.other_seminar_slide .seminar_a_block table td {
    width: 80%;
    box-sizing: border-box;
    padding-left: 10px;
    font-size: 12px;
    letter-spacing: 0.025em;
}


.other_seminar_slide .slick-prev { left: -15px;}
.other_seminar_slide .slick-next { right: -15px;}
.other_seminar_slide .slick-prev,
.other_seminar_slide .slick-next {
    background: #232323;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    z-index: 3;
}
.other_seminar_slide .slick-prev:before,
.other_seminar_slide .slick-next:before {
    font-size: 18px;
    position: absolute;
    top: 5px;
    opacity: 1;
}
.other_seminar_slide .slick-prev:before { left: 5px;}
.other_seminar_slide .slick-next:before { right: 5px;}

.other_seminar_slide .slick-prev:hover,
.other_seminar_slide .slick-prev:focus,
.other_seminar_slide .slick-next:hover,
.other_seminar_slide .slick-next:focus
{
    color:#fff;
    outline: none;
    background: #232323;
    opacity: 0.8;
}



@media screen and (min-width: 1025px) {
    .contents_outer.seminar { margin-bottom: 140px; padding-top: 0rem;}
    .contents_outer.seminar .contents_inner { padding: 0;}
    .contents_outer.seminar:before {
        top: 2.2rem;
    }
    .seminar_a_list .seminar_a_block {
        margin-bottom: 80px;
        padding-bottom: 80px;
        transition:0.3s;
    }
    .seminar_a_list .seminar_a_block:hover { opacity: 0.7;}
    .seminar_a_list .seminar_a_block p,
    .seminar_a_list .seminar_a_block dl dd,
    .seminar_a_list .seminar_a_block ul li { transition:0.3s;}
    
    .seminar_a_list .seminar_a_block:hover p,
    .seminar_a_list .seminar_a_block:hover dl dd,
    .seminar_a_list .seminar_a_block:hover ul li { color: #c6b589;}
    
    .seminar_a_list .seminar_a_block .seminar_title {
        font-size: 28px;
        margin-bottom: 30px;
        line-height: 1.6;
    }

    .seminar_a_list .seminar_a_block .pick { margin-bottom: 30px;}
    .seminar_a_list .seminar_a_block .pick li {
        font-size: 16px;
        margin: 0 5px 5px 0;
        border-radius: 30px;
        padding: 5px 15px;
    }
    .seminar_a_list .seminar_a_block .seminar_inner_b {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        margin-bottom: 40px;
    }
    .seminar_a_list .seminar_a_block .seminar_inner_b .image_block {
        width: 56%;
        margin: 0;
        display: flex;
        justify-content: flex-end;
    }
    
    .seminar_a_list .seminar_a_block .seminar_inner_b .image_block .main_thum {
        width: 62%;
        height: 270px;
        margin: 0;
    }
    .seminar_a_list .seminar_a_block .seminar_inner_b .image_block .main_thum img {
        max-height: 270px;
    }
    .seminar_a_list .seminar_a_block .seminar_inner_b .image_block .sub_thum {
        width: 37%;
        height: 270px;
        flex-direction: column;
        margin-left: 1%;
}
    .seminar_a_list .seminar_a_block .seminar_inner_b .image_block .sub_thum li {
        width: 100%;
        height: 130px;
    }
    .seminar_a_list .seminar_a_block .seminar_inner_b .image_block .sub_thum li img { max-height: 130px;}
    .seminar_a_list .seminar_a_block .seminar_inner_b .image_block .sub_thum li:first-child { margin-bottom: 10px;}

    .seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text { width: 41%;}
    .seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .seminar_schedule {
        margin-bottom: 30px;
    }
    .seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .seminar_schedule dl:nth-child(2) {
        width: 34%
    }
    .seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .seminar_schedule dl:nth-child(3) {
        width: 28%;
    }
.seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .seminar_schedule dl dt { margin-bottom: 5px; text-align: center;}
.seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .seminar_schedule dl dt span {
    background: #232323;
    border-radius: 30px;
    color: #fff;
    line-height: 1.2;
    padding: 3px 15px;
}
    .seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .seminar_schedule dl dd { font-size: 20px; text-align: center;}
    .seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .other_info { margin-bottom: 0px;}
.seminar_a_list .seminar_a_block .seminar_inner_b .seminar_d_text .other_info li span {
    display: inline-block;
    width: 20%;
    font-weight: bold;
    border-right: 1px solid #ccc;
    padding: 3px 0;
    margin-right: 15px;
}
    
/*詳細*/
    .seminar_detail .pick { margin-bottom: 25px;}
    .seminar_detail .pick li {
        font-size: 16px;
        margin: 0 10px 0 0;
        border-radius: 30px;
        padding: 8px 20px;
    }
    .seminar_detail .ttl_pt01 {
        margin-bottom: 40px;
    }
    .seminar_detail .overview_text {
        margin: 0 auto 40px;
    }
    .seminar_detail .row-content .block .tbl_pt01 th { width: 20%; padding-left: 0;}
    .seminar_detail .row-content .block ul.date li:first-child { margin-top: 0; margin-right: 10px;}
    .seminar_detail .row-content .block ul.date li span { font-size: 26px;}
    
    .seminar_d_contents img {
        width: auto;
        float: right;
        margin: 0 0 20px 20px;
    }

    
    .thumList {
        display: flex;
        justify-content: space-between;
    }
    #show {
        width:54%;
        height: 460px;
    }
    .thumList .thum_img { width: 44%;}
    .thumList .thum_img  ul li {
        width: 31%;
        margin: 0 1% 5px;
        height: 110px;
        cursor: pointer;
    }
    
    .seminar_detail .seminar_btnlist {
        width: 100%;
        padding: 30px 10px;
        justify-content: center;
    }
    .seminar_detail .seminar_btnlist .txt_btn { width: 300px; margin: 0 10px;}
    
    
    
    .other_seminar_slide { width: 100%;}
    .other_seminar_slide .seminar_a_block {
        padding: 30px 20px 30px;
        margin: 0 10px 0;
    }
    .other_seminar_slide .seminar_a_block .s_title {
        font-size: 16px;
        line-height: 1.5;
    }
    .other_seminar_slide .seminar_a_block .inner_block { margin-bottom: 20px; align-items: center;}
    .other_seminar_slide .seminar_a_block .inner_block .s_thum_img { width: 50%; height: 145px;}
    .other_seminar_slide .seminar_a_block .inner_block .s_thum_img img { height: 145px;}
    .other_seminar_slide .seminar_a_block .inner_block .s_info { width: 43%;}
    .other_seminar_slide .seminar_a_block .inner_block .s_info dl:first-child { margin-bottom: 15px;}
    .other_seminar_slide .seminar_a_block .inner_block .s_info dl dt { line-height: 1.0; margin-bottom: 5px;}
    .other_seminar_slide .seminar_a_block .inner_block .s_info dl dt span {
        font-size: 13px;
        padding: 3px 12px;
    }
    .other_seminar_slide .seminar_a_block .inner_block .s_info dl dd p.date,
    .other_seminar_slide .seminar_a_block .inner_block .s_info dl:last-child dd { font-size: 20px;}
    
    .other_seminar_slide .seminar_a_block table th {
        width: 20%;
        font-size: 14px;
    }
    .other_seminar_slide .seminar_a_block table td {
        font-size: 14px;
    }

    
    
}


/* ======================================================

   company

========================================================= */
.company_image_blcok {
    width: 100%;
    position: relative;
    margin-bottom: 80px;
}
.company_image_blcok ul {
    width: 88%;
    display: flex;
    justify-content: space-between;
    margin: 0 auto 50px;
}
.company_image_blcok ul li {
    width: 46%;
    height: 220px;
    border-radius: 10px;
}
.company_image_blcok ul li:last-child {
    margin-top: 60px;
}
.company_image_blcok ul li img {
    border-radius: 10px;
    height: 220px;
    object-fit: cover;
}

.company_image_blcok ul li img,
.company_image_blcok .b_image img {
    width: 100%;
    box-shadow: 0px 0px 20px 3px rgba(0,0,0,0.25);
}

.company_image_blcok .b_image {
    width: 94%;
    height: 320px;
    margin-left: 6%;
}
.company_image_blcok .b_image img {
    
    height: 320px;
    object-fit: cover;
    border-radius: 10px 0 0 10px;
    box-shadow: 0px 0px 20px 3px rgba(0,0,0,0.25);
}

.company_content {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}
@media screen and (min-width: 1025px) {
    
    .company_image_blcok {
        width: 90%;
        margin: 0 auto 130px;
        display: flex;
        justify-content: space-between;
    }
    .company_image_blcok ul {
        width: 40%;
        margin: 60px 0 0;
    }
    .company_image_blcok ul li {
        width: 46%;
        height: 440px;
    }
    .company_image_blcok ul li:last-child { margin-top: 180px;}
    .company_image_blcok ul li img { height: 440px;}

    .company_image_blcok .b_image {
        width: 52%;
        height: 630px;
        margin-left: 0;
    }
    .company_image_blcok .b_image img {
        height: 630px;
        border-radius: 10px;
    }
    
}

/* ======================================================

   staff

========================================================= */
.message_block {
    width: 100%;
}




.staff_block .image_l,
.staff_block .image_r {
    border-bottom: 1px solid #d2d2d2;
    padding-bottom: 50px;
    margin-bottom: 50px;
}

@media screen and (min-width: 1025px) {
    .message_block {
        display: flex;
        justify-content: space-between;
    }
    
    .message_block .image_block {
        width: 20%;
        margin: 0;
        height: 330px;
    }
    .message_block .image_block img {
        height: 330px;
    }
    .message_block .text_block {
        width: 71%;
    }
    
    .staff_block .image_l,
    .staff_block .image_r {
        padding-bottom: 90px;
    margin-bottom: 90px;
}
    
}

/* ======================================================

   contact

========================================================= */

.tab_button_cover {
    margin-bottom: 30px;
}

.tab_button_cover button {
    width: 100%;
    color: #232323;
    font-weight: bold;
    letter-spacing: 0.2em;
    text-align: center;
    border: none;
    margin-bottom: 5px;
    padding: 20px 10px;
    box-sizing: border-box;
    transition: all 0.3s;
    border-radius: 5px;
    background: #f6f5f3;
}

.tab_button_cover button.active {
    color: #ffffff;
    background: #232323;
    transition: all 0.3s;
}

.tab_contents_cover .tab-content {
    display: none;
}

.tab_contents_cover .tab-content.active {
    display: block;
}

.tab_contents_cover .tab-content td span {
    font-size: 15px;
}

.tab_contents_cover .tab-content td span.wpcf7-not-valid-tip {
    display: block;
    color: #dc3232;
    padding-top: 5px;
}

.tab_contents_cover .tab-content .subpage_link_contents {
    width: 100%;
}

.contact_form_btn {
    max-width: 100%;
    width: 250px;
    margin: 0 auto;
    transition: all 0.3s;
}

.contact_form_btn input.wpcf7-form-control {
    border: none;
    background: #000000;
    text-align: center;
    box-sizing: border-box;
    width: 100%;
    color: #ffffff;
    letter-spacing: 0.2em;
    padding: 15px 10px;
    line-height: 1.5;
}

    .tbl_pt01 th.required {
        padding-right: 70px;
        position: relative;
    }
.tbl_pt01 th.required::after {
    content: "必須";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    font-size: 12px;
    font-weight: bold;
    background: #c6b589;
    padding: 2px 10px;
    box-sizing: border-box;
    top: 50%;
    transform: translateY(-50%);
    right: 30px;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="text"],
.wpcf7 select {
    width: 100%;
    box-sizing: border-box;
  height: 38px;
  padding: 7px 10px;
  background-color: #fff;
  border: 1px solid #ccc;
}
.wpcf7-textarea {
  background-color: #fff;
  border: 1px solid #ccc;
}


.form_t th p { font-weight: bold;}

@media screen and (min-width: 1025px) {
    .tab_button_cover {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        margin: 0 auto 50px;
    }

    .tab_button_cover button {
        width: 33%;
        cursor: pointer;
    }

    .tab_contents_cover {
    }

    .contact_form_btn:hover input.wpcf7-form-control {
        transition: all 0.3s;
        cursor: pointer;
    }

    .contact_form_btn:hover input.wpcf7-form-control:hover {
        transition: all 0.3s;
        background: #232323;
    }
    
    
    .tab_contents_cover .tab-content td span { font-size: 16px;}
    

}


.pagination,
.comments-pagination {
	font-weight: 600;
	padding: 2em 0 3em;
	text-align: center;
    line-height: 1;
}

.pagination .icon,
.comments-pagination .icon {
	width: 0.666666666em;
	height: 0.666666666em;
}

.comments-pagination {
	border: 0;
}

.page-numbers {
	display: inline-block;
    border-radius: 50%;
    background: #e7e8eb;
    width: 30px;
    height: 30px;
    line-height: 30px;
    color: #fff;
    text-decoration: none;
    font-family: "Barlow", sans-serif;
    transition:0.3s;
    font-size: 16px;
}
.page-numbers:hover { background: #232323; text-decoration: none; color: #fff;}


.page-numbers.current {
	color: #fff;
    background: #232323;
	display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 16px;
}

.page-numbers.current .screen-reader-text {
	clip: auto;
	height: auto;
	overflow: auto;
	position: relative !important;
	width: auto;
}

.prev.page-numbers,
.next.page-numbers {
	background-color: #ccc;
    border-radius: 50%;
	display: inline-block;
	font-size: 17px;
    width: 30px;
    height: 30px;
    line-height: 30px;
}

.prev.page-numbers,
.next.page-numbers {
	-webkit-transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out;
	transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out;
}

.prev.page-numbers:focus,
.prev.page-numbers:hover,
.next.page-numbers:focus,
.next.page-numbers:hover {
	background: #232323;
	color: #fff;
    text-decoration: none;
}

.prev.page-numbers {
	float: left;
}

.next.page-numbers {
	float: right;
}



/* ======================================================

   policy

========================================================= */
.policy_block {
    box-sizing: border-box;
    padding: 30px 20px;
    border: 1px solid #d2d2d2;
}
.policy_block ul li {
    position: relative;
    line-height: 1.5;
    margin-bottom: 20px;
    padding-left: 1.2em;
}
.policy_block ul li:last-child { margin-bottom: 0;}
.policy_block ul li span {
    font-weight: bold;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.policy_block ul li > ul { margin-top: 5px;}
.policy_block ul li > ul li {margin-bottom: 5px;}
.policy_block ul li > ul li > ul { margin-top: 5px;}
.policy_block ul li > ul li > ul li {
    padding-left: 1em;
    position: relative;
    margin-bottom: 5px;
}

.policy_block ul li > ul li > ul li:before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}


@media screen and (min-width: 1025px) {
    .policy_block {
        padding: 60px 60px;
    }
    .policy_block ul li {
        line-height: 2;
        margin-bottom: 20px;
    }
    .policy_block ul li > ul li {margin-bottom: 10px;}

    
    .policy_block ul li > ul li > ul {
        padding-left: 2em;
    }
}

/* popup */
.checkbox-wrapper{ margin-bottom: 30px;}
.checkbox-wrapper > p{ text-align: center;}
.checkbox-wrapper > p .open-popup{
    cursor: pointer;
    color: #0693e3;
    text-decoration: underline;
}
/*--popup--*/
.popup {
  position: fixed;
  z-index: 9999999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 20px;
  display: none;
}
.popup-inner {
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  margin: auto;
  display: flex;
}
.popup-box {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 0;
  padding: 40px 25px 40px 40px;
  background-color: #ffffff;
  margin: auto;
  text-align: left;
  max-height: 90vh;
  animation: showout 1s forwards;
}
.popup-box .close{
    max-width: 250px;
    margin: 0 auto;
    transition: all 0.3s;

    border: none;
    background: #000000;
    text-align: center;
    box-sizing: border-box;
    width: 100%;
    color: #ffffff;
    letter-spacing: 0.2em;
    padding: 15px 10px;
    line-height: 1.5;
    cursor: pointer;
}

@keyframes showout {
  from {
      max-width: 0;
    }
  to {
      max-width: 900px;
    }
}
.popup_box-in {
    opacity: 0;
    animation: showct 1s forwards;
    animation-delay: .75s;
}
@keyframes showct {
  from {
      opacity: 0;
    }
  to {
      opacity: 1;
    }
}

.popup_box-in {
  overflow-y: auto;
  overflow-x: hidden;
    max-height: calc(90vh - 80px);
    padding-right: 15px;
}
.popup .border_blc_list{
    padding: 35px;
}

@keyframes showout {
  from {
      max-width: 0;
    }
  to {
      max-width: 800px;
    }
}
.popup_box-in {
    opacity: 0;
    animation: showct 1s forwards;
    animation-delay: .75s;
}

@media screen and (max-width: 1024px) {
    .popup-box {
        padding: 20px 20px;
    }
    .popup_box-in {
        padding-right: 0
    }
    .popup-box  .border_blc_list{
        padding: 20px;
    }
    .checkbox-wrapper input{
        top: 7px !important ;
    }
    
    .border_blc_list.policy > ul>li,
    .border_blc_list.policy ul>li>ul>li {
        margin-left: 0;
        padding-left: 0;
    } 
    .border_blc_list.policy >ul>li span{
        position: relative;
        display: inline-block;
    }
}
/* popup */

/* ふきだし内 */
/*#map_canvas .gm-style-iw {
    width: 350px;
}

.gmapballoon {
    width: 100%;
	color: #232323;
	border-style: none;
}
.gmapballoon td {
    font-size: 12px;
    line-height: 1.2;
}

.gmapballoon a img {
	padding: 2px;
	border: 1px solid #ccc;
    width: 85px;
    height: 85px;
    object-fit: cover;
}

.gmaptitle {
	font-weight: 700;
    padding: 5px 0;
}

.gmapkakaku {
	font-size: 16px;
	font-weight: 700;
	border-bottom: 1px dotted #ccc;
}

.gmapmadori {
	font-size: 16px;
	font-weight: 700;
	color: #333;
	border-bottom: 1px dotted #ccc;
}

.maptenpo {
	font-size: 12px;
	overflow: hidden;
	line-height: 1.4;
	margin: 8px;
	width: 250px;
}
.gm-style .gm-style-iw {
    font-size: 13px;
}
*/

.form_t .wpcf7-textarea {
    width: 100%;
}

input[readonly] {
    border: none !important;
    background: transparent;
    outline: none;
}


.property_slide .slick-prev,
.property_slide .slick-next {
    width: 30px;
    height: 30px;
    background: #232323;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    
}
.property_slide .slick-prev:hover,
.property_slide .slick-prev:focus,
.property_slide .slick-next:hover,
.property_slide .slick-next:focus
{
    background: #232323;
    opacity: 0.8;
}
.property_slide .slick-next:before,
.property_slide .slick-prev:before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.property_slide .slick-next:before { right: 4px;}
.property_slide .slick-prev:before { left: 4px;}

#autozip,
#nendebcopy {
    display: none !important;
}


.contact_btn_list {
    width: 100%;
    display: flex;
    flex-direction:row;
    justify-content: center;
}

.contact_form_btn.contact_fbtn_back input.wpcf7-form-control {
    background: #c6b589;
}

@media screen and (min-width: 1025px) {
    .contact_btn_list .contact_form_btn { margin: 0;}
    .contact_btn_list .contact_form_btn.contact_fbtn_back{ margin-right: 10px;}
}

.tbl_pt03 {
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 10px;
}

.tbl_pt03 thead th {
    background: #a3a3a3;
    border: 3px solid #fff;
    color: #fff;
}
.tbl_pt03 thead th:nth-child(3) { background: #232323;}

.tbl_pt03 th,
.tbl_pt03 td { 
    padding: 15px;
    background: #eaeaea;
     text-align: center;
}
.tbl_pt03 th { font-weight: bold;}

.tbl_pt03 .col01 { border-bottom: 3px solid #fff; padding-top: 0;}
.tbl_pt03 .col02 { border-right: 3px solid #fff;}
.tbl_pt03 .col03 { padding-top: 0;}
.tbl_pt03 .col04 { border-bottom: 3px solid #fff;}


.scroll table.tbl_pt03 { min-width: 700px;}


@media screen and (min-width: 1025px) {
.tbl_pt03 th,
.tbl_pt03 td { 
    padding: 20px;
}
    
.contents_outer .contents_inner.original ul {
    padding: 1.6rem 10rem 1.6rem 2rem;
}    
    .contents_outer .contents_inner.original ul li:last-child { margin-top: 10px;} 

}