@charset "UTF-8";

/* reset----------------------------------- */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-weight:400; vertical-align:baseline; background:transparent; list-style: none; }
body { line-height:1; }
article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section { display:block; }
ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
a { margin:0; color: inherit; padding:0; vertical-align:baseline; background:transparent; text-decoration: none; }
table { border-collapse:collapse; border-spacing:0; }
hr { display:block; height:1px; border:0; border-top:1px solid #ddd; margin:1em 0; padding:0; }
input, select { vertical-align:middle; }
*, *::before, *::after { box-sizing: border-box; }

/****** basic ******/
html, body {
	font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	position: relative;
	font-size: 15px;
	letter-spacing: 0.05rem;
	line-height: 1.75rem;
}
p {
	margin-bottom: 0.5rem;
}
.lv1 {
	font-size: 1.875rem;
	font-weight: 700;
	margin-bottom: 1em;
	letter-spacing: 0.1rem;
}
.lv1nm {
	font-size: 1.875rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
}
.lv2 {
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 1em;
	letter-spacing: 0.1rem;
}
.lv3 {
	font-size: 1.125rem;
	font-weight: 700;
	margin-bottom: 1em;
	letter-spacing: 0.1rem;
}
.lv3s {
	font-size: 1.125rem;
	margin-bottom: 0.5em;
	letter-spacing: 0.1rem;
}
.lv3ul {
	font-size: 1.125rem;
	font-weight: 700;
	padding-bottom: 0.5rem;
	border-bottom: 1px #143966 solid;
	margin-bottom: 1em;
	letter-spacing: 0.1rem;
}
.lv4 {
	font-size: 1.0rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	margin-bottom: 0.3rem;
}
.lv4gy {
	font-size: 1.0rem;
	background-color: #eee;
	color: #143966;
	padding: 10px 15px;
	margin-bottom: 2rem;
	font-weight: 700;
}
.lv4ul {
	font-size: 1.0rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px #143966 solid;
	margin-bottom: 1em;
}
a:hover img, li a:hover, a:hover {
	opacity: 0.8;
}
.serif_line, .serif {
	font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.5em;
}
@media screen and (max-width:767px){
	.lv1, .lv1nm { font-size: 1.5rem; }
	.lv2 { font-size: 1.25rem; }
}
/****** header ******/
header {
	width: 100%;
	background-color: #143966;
	color: #fff;
}
header a {
	color: #fff;
}
.head_up {
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
	padding: 15px 25px 0 25px;
}
.group_logo {
	height: 2rem;
}
.logo {
	font-size: 1.25rem;
	font-weight: 700;
}
.head_down {
	width: 100%;
	padding: 15px 0;
	display: flex;
	justify-content: end;
}
.navi {
	display: flex;
	justify-content: end;
}
.navi li {
	margin-right: 1.5rem;
}
.utility {
	padding-left: 1.5rem;
	background: url(../images/search_bg.svg) left center / auto 30px no-repeat;
	height: 30px;
	width: 200px;
}
.s_form {
	display: inline-block;
	width: 170px;
}
.s_form form {
	background-color: #fff;
	padding: 0;
	margin-right: 1rem;
	height: 22px;
	/*border: 1px #999 solid;*/
	border: 0;
}
.s_form input#search {
	margin-top: 1px;
	padding: 1px 2px;
	width: 120px;
	border: 0;
	outline: 0;
}
.lang {
	font-size: 0.875rem;
	display: inline-block;
	color: #143966;
	padding-right: 25px;
}
.lang a {
	color: #143966;
}
@media screen and (max-width:900px) { 
	header { width: 100%; position: fixed; top: 0; left: 0; z-index: 101; }
	.head_up { flex-direction: column; padding: 10px 15px 20px 15px;}
	.logo { font-size: 1.0rem; }
	.group_logo { margin-top: 10px; width: 130px; }
	.head_down { width: 30vw; padding: 0 }
	.navi a { color: #143966; }
	.navi li { margin-right: 0; padding: 10px 15px; border-bottom: 1px #ddd solid; }
	.utility { height: auto; padding: 10px 15px; text-align: center; background-color: #f0f0f0; background-image: none; width: 100%; }
	.s_form { margin: 0; width: 80%; }
	.lang { padding: 10px 0 0 0 }
}
@media screen and (max-width:767px) { 
	.head_down { width: 70vw; padding: 0 }
}
/****** top_MV ******/

#top_mv {
	width: 100%;
	height: 550px;
	background: url(../images/adw_top.jpg) center center / cover no-repeat;
	position: relative;
}
#top_mv .copy {
	position: absolute;
	top: 47%;
	left: 48%;
	font-size: 2.5rem;
	font-weight: 700;
	color: #fff;
	filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, .6));
}
@media screen and (max-width:767px) {
	#top_mv { height: 350px; margin-top: 90px; }
	#top_mv .copy { font-size: 1rem; }
}
/****** contents ******/
.contents {
	width: 100%;
	padding: 80px 0;
}
.cont_in {
	max-width: 1090px;
	padding: 0 20px;
	margin: 0 auto;
}
.contents .cont_in {
	margin-bottom: 80px;
}
.contents a {
    color: #258;
}
#home .contents a {
    color: #fff;
}
.cont_body {
    width: 90%;
    margin: 0 auto 50px auto;
}
.ttl_blu {
    font-size: 1.125rem;
    color: #fff;
    line-height: 1.5em;
    padding: 10px 20px;
    background-color: #143966;
    margin-bottom: 2rem;
    border-bottom: #eee 3px solid;
}
.ttl_blu_nomb {
    font-size: 1.125rem;
    color: #fff;
    text-align: center;
    line-height: 1.5em;
    padding: 10px 20px;
    background-color: #143966;
    border-bottom: #eee 3px solid;
}
@media screen and (max-width:767px) {
	.ttl_blu { margin-bottom: 1rem; }
	.contents { padding: 40px 0; }
	#solicitation .contents, #complaint .contents { margin-top: 90px; }
	.cont_body { width: 95%; }
}

/****** top_contents ******/
.bis01, .bis02, .bis03 {
	width: 100%;
	padding: 3.5rem 0;
	margin: 3rem 0;
	background-size: 65%;
	background-repeat: no-repeat;
}
.bis01 { background-image: url(../images/bis01.jpg); }
.bis02 { background-image: url(../images/bis02.jpg); }
.bis03 { background-image: url(../images/bis03.jpg); }
.bis01, .bis03 { background-position: center left; }
.bis02 { background-position: center right; }

.blue_r {
    width: 55%;
    display: block;
    margin: 0 0 0 auto;
    padding: 4rem 2rem;
    background-color: #143966;
    color: #fff;
}
.blue_l {
    width: 55%;
    display: block;
    margin: 0 auto 0 0;
    padding: 4rem 2rem;
    background-color: #143966;
    color: #fff;
}
#group .box2 {
	margin-bottom: 2rem;
}
.group_in {
    max-width: 1240px;
    padding: 0 20px;
    margin: 0 auto 80px auto;
}
#group .ttl {
	font-weight: 700;
	filter: drop-shadow(0 0 2px rgba(0, 0, 0, .7));
}

@media screen and (max-width:767px) {
	.bis01, .bis02, .bis03 { background-size: 100%; background-position: center top; margin: 2rem 0 0 0; padding: 1rem 0 0 0; }
	.blue_r, .blue_l { width: 100%; margin-top: 130px; padding: 1rem; }
	#group .box2 { margin-bottom: 1rem; }
}
/****** breadcrumb *****/
.breadcrumbs {
	margin: 0 auto;
	padding: 5px 25px;
	font-size: 0.75rem;
}
.bread_item::after {
	content: "　""≫""　";
}
.bread_item:last-child::after {
	content: "";
}
@media screen and (max-width:1024px){
}
@media screen and (max-width:767px){
	.breadcrumbs { display: none; }
}
/* ##################### contents ##################### */

.contents figure {
	text-align: center;
	margin: 2rem 0;
}
.ttl_box {
	height: 200px;
	padding: 0 calc((100vw - 1240px) / 2);
	display: flex;
	align-items: center;
	color: #fff;
}
#business .ttl_box, #labreezing .ttl_box { background: url(/images/business_top.jpg) center center / cover no-repeat; }
#forsale .ttl_box { background: url(/images/sales_top.jpg) center center / cover no-repeat; }
#company .ttl_box { background: url(/images/company_top.jpg) center center / cover no-repeat; }
#contact .ttl_box { background: url(/images/contact_top.jpg) center center / cover no-repeat; }
#search .ttl_box { background: url(/images/search_top.jpg) center center / cover no-repeat; }

main#column2 {
	width: 70%;
	margin-bottom: 80px;
}
aside {
	width: 27%;
}
.side_nav {
	position: sticky;
	top: 0px;
}
.side_nav h4 {
	padding: 10px 0;
	border-top: 1px #143966 solid;
	border-bottom: 1px #143966 solid;
	font-weight: 700;
	color: #143966;
	margin-bottom: 1rem; 
}

.snav_r {
	display: block;
	width: 100%;
	margin-bottom: 1rem; 
	font-size: 0.875rem;
	font-weight: 700;
	padding: 10px 25px 10px 15px;
	background-color: #eee;
	color: #143966;
	position: relative;
}
.snav_r.current {
	border-left: 7px #143966 solid;
	padding: 10px 25px 10px 8px;
}
.snav_r::after {
	content: "";
	position: absolute;
	top: calc(50% - 4px);
	right: 15px;
	display: inline-block;
	border-top: solid 1px #143966;
	border-right: solid 1px #143966;
	width: 12px;
	height: 12px;
	transform: rotate(45deg);
	transition: .2s;
}
a.snav_r:hover::after {
	right: 10px;
}
a.snav_r:hover {
	border-left: 7px #143966 solid;
	padding: 10px 25px 10px 8px;
	opacity: 0.8;
}

figure.bis_top {
	display: block;
	width: 100%;
	height: 350px;
	margin: 0 0 3rem 0;
}

@media screen and (max-width:1300px) and (min-width:768px) {
	.ttl_box { padding: 0 15px; height: 150px; }
}
@media screen and (max-width:767px){
	.ttl_box { padding: 0 15px; height: 100px; margin-top: 90px; }
	main#column2 { width: 100%; margin-bottom: 40px; }
	aside { width: 100%; }
	figure.bis_top { height: 200px; }
}

/****** for sale *****/
.proparty {
	display: flex;
	justify-content: space-between;
	padding-top: 1rem;
}
.prop_pic {
	width: 30%;
	height: 220px;
	background-color: #ddd;
	position: relative;
}
.sold_filter {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 20;
}
.prop_spec {
	width: 67%;
}
.tbl_prop {
	width: 100%;
	border: 0;
}
.tbl_prop tr {
	border-bottom: 15px #fff solid;
}
.tbl_prop th {
	background-color: #eee;
	padding: 10px 15px;
	text-align: center;
	font-weight: 700;
	white-space: nowrap;
}
.tbl_prop th.name {
	background-color: #143966;
	color: #fff;
}
.tbl_prop td {
	padding: 10px 15px;
}
.price {
	font-size: 1.125rem;
	font-weight: 700;
	color: #143966;
}
.sold {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: rgba(255,255,255,0.8);
	border-radius: 10px;
	padding: 10px 15px;
	font-weight: 700;
	color: #999;
}
.prev { float: left; }
.next { float: right; }
.pagination {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.pagination .current_page, .pagination .link_page, .pagination .link_first, .pagination .link_last {
	display: block;
	border-radius: 5px;
	margin: 0 0.5rem 1rem 0;
	width: 34px;
}
.pagination .current_page, .pagination .link_page:hover, .pagination .link_first:hover, .pagination .link_last:hover {
	background-color:#6cb2cd;
	color: #fff!important;
}
.pagination .link_page, .pagination .link_first, .pagination .link_last {
	background-color:#fff;
	border: 1px #6cb2cd solid;
	padding-bottom: 1px;
	color: #6cb2cd!important;
}
@media screen and (max-width:767px){
	.proparty { flex-direction: column; }
	.prop_pic { width: 100%; margin-bottom: 1rem; }
	.prop_spec { width: 100%; }
	.tbl_prop { line-height: 1.5em; }
	.tbl_prop tr { border-bottom: 8px #fff solid; }
	.tbl_prop td { padding: 7px 10px; }
	.tbl_prop th { padding: 7px 10px; font-size:0.875rem; }
}

/****** for sale detail *****/
.slider2 {
	background-color: #ddd;
	width:735px;
	height: 735px;
	margin: 0 auto;
	padding: 20px;
}
.slider2 img {
	width: 695px;
	height: 695px;
	object-fit: contain;
	background: #ddd;
}
.thumbnail {
	width: 100%;
	margin: 0 auto 2rem 0;
	padding: 15px 0;
	border: 2px #ddd solid;
}
.thumbnail .slick-track {
	transform: unset !important;
}
.thumbnail img {
	width: 50px;
	height: 50px;
	display: block;
	margin: 0 auto;
	object-fit: contain;
	border: 1px solid #ccc;
	background: #eee;
	}
.thumbnail-img {
}
.thumbnail .slick-current img {
	border: 1px #d00 solid;
}
.slick-prev {
	left: 15px !important;
	z-index: 1001;
}
.slick-next {
	right: 25px !important;
	z-index: 1001;
}
.slick-prev:before, .slick-next:before {
	font-size: 30px !important;
}
.dir1 {
	padding-right: 15px;
	background: url(../images/dir1.svg) right center / 10px 10px no-repeat;
} 
.dir1r {
	padding-left: 15px;
	background: url(../images/dir1r.svg) left center / 10px 10px no-repeat;
} 
.index {
	padding-left: 20px;
	background: url(../images/index.svg) left center / 14px 14px no-repeat;
}
@media screen and (max-width:767px){
	.slider2 { width:90vw; height: 90vw; padding: 2vw }
	.slider2 img { width: 86vw; height: 86vw; }
	.thumbnail img { width: 30px; height: 30px; }
}
/* -----------------------------------normal table------------------------------------ */
table.normal {
	width: 100%;
	border-collapse: collapse;
}
.normal th, .normal td {
	border: 0.5px #ccc solid;
	padding: 10px 15px;
}
.normal th {
	font-weight: 700;
	background-color: #f0f0f0;
	white-space: nowrap;
}
@media screen and (max-width:767px){
	.normal th, .normal td { display: block; border-bottom:0; }
	.normal tr:last-child td { border-bottom: 0.5px #ccc solid; }
}


#complaint #column2 ul {
    margin-bottom: 2rem;
}
#complaint #column2 ul li {
    margin: 0 0 0.5rem 1rem;
}
#solicitation #column2 ul li { margin: 0 0 0.5rem 2rem; list-style-type: disc; }

/* 2022.7.8 */
#privacy #column2 ul {
    margin-bottom: 2rem;
}
#privacy #column2 ul li {
    margin: 0 0 0.5rem 1rem;
}
#privacy #column2 h5 {
    font-size: 1.0rem;
    margin: 1rem 0;
    font-weight: 700;
}
a[href$=".pdf"] {
    display: inline-block;
    background: url(/images/pdf2.svg) left 0 top 3px / 20px 20px no-repeat;
    padding-left: 28px;
    line-height: 1.5rem;
}
/* ---------------- search ----------------- */
#search article {
	padding-bottom: 2rem;
}
#search .hidden {
	display: none;
}
#search .entry-title {
	font-size: 1.125rem;
	font-weight: 700;
}



























.footer_up {
	background-color: #143966;
}
.footer_down {
	background-color: #fff;
}
.footer_in {
	max-width: 1240px;
	padding: 30px 20px;
	margin: 0 auto;
	color: #fff;
}
.footer_down_in {
	max-width: 1240px;
	padding: 10px 20px;
	margin: 0 auto;
	color: #143966;
	font-size: 0.75rem;
	text-align: right;
}
.footer_nav {
	display: flex;
	justify-content: center;
	margin-bottom: 3rem;
}
.footer_link {
	display: flex;
	justify-content: center;
}
.footer_nav li {
	margin: 0 1.5rem;
}
.footer_link li {
	font-size: 0.75rem;
	line-height: 1.2em;
	padding: 0 1rem;
	border-right: 1px #fff solid;
}
.footer_link li:last-child {
	border-right: 0;
}
.pagetop {
	position: fixed;
	height: 60px;
	width: 60px;
	bottom: 20px;
	right: 20px;
	z-index: 5;
}
@media screen and (max-width:767px) {
	.footer_in { padding: 15px; }
	.footer_nav { flex-direction: column; margin-bottom: 2rem; }
	.footer_nav li { margin: 0.5rem 0; }
	.footer_link { flex-wrap: wrap; justify-content: start; }
	.footer_link li { font-size: 0.875rem; line-height: 1.5em; padding: 0 1.0rem 1rem 0; border-right: 0; }
}





/****** parts ******/
.flex, .flex_nb {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.box2 {
	width: 48.5%;
}
.box4 {
	width: 23%;
	display: block;
}
.serif_line, .serif {
	font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.5em;
}
.serif_line::before, .serif_line::after {
	border-top: 1px solid;
	content: "";
	width: 10rem;
}
.serif_line::before { margin-right: 2em; }
.serif_line::after { margin-left: 2em; }

@media screen and (max-width:767px){
	.flex { flex-direction: column; }
	.box2, .box3, .box4 { width: 100%; margin-bottom: 1.5rem; }
	.serif_line::before, .serif_line::after { width: 5rem; }
	.serif_line::before { margin-right: 1em; }
	.serif_line::after { margin-left: 1em; }

}
.ttl_s, .ttl, .ttlb, .ttl_l {
	color: #fff;
	position: absolute;
	top: 50%;
	left: 5%;
	transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
}
.ttl_s {
	font-size: 1.0rem;
	color: #fff;
}
.ttl {
	font-size: 1.25rem;
	color: #fff;
}
.ttl_l {
	font-size: 1.5rem;
	color: #fff;
}
.ttlb {
	font-size: 1rem;
	color: #444;
}
.after_arw::after, .after_arwb::after {
	content: "";
	margin-left: 10px;
	display: inline-block;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	width: 12px;
	height: 12px;
	transform: rotate(45deg);
	transition: .3s;
}
.after_arw::after {
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
}
.after_arwb::after {
	border-top: solid 2px #444;
	border-right: solid 2px #444;
}
a:hover .after_arw::after, a:hover .after_arwb::after {
	margin-left: 15px;
}
.btn_blue {
	display:inline-block;
	background:#143966;
	width: 170px;
	font-size: 0.875rem;
	padding:10px 35px 10px 20px;
	text-align:left;
	color:#FFF;
	border:1px solid;
	cursor:pointer;
	position: relative;
	text-decoration: none;
}
.btn_blue::after{
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 5px);
	right: 25px;
	width: 20px;
	height: 5px;
	border: none;
	border-right: 2px solid #FFF;
	border-bottom: 1px solid #FFF;
	transform: skew(45deg);
	transition: .3s;
}
.btn_blue:hover {
	opacity: 0.8;
}
.btn_blue:hover::after {
	right: 15px;
	width: 30px;
}
a .arrow_white::after{
	content: "";
	display: block;
	width: 30px;
	margin: 18px 0 12px 0;
	height: 5px;
	border: none;
	border-right: 2px solid #FFF;
	border-bottom: 1px solid #FFF;
	transform: skew(45deg);
	transition: .3s;
}
a:hover .arrow_white::after{
	width: 45px;
}
.sbtn_r {
	display: block;
	width: 120px;
	margin: 1rem 0 0 auto; 
	text-align: center;
	font-size: 0.6875rem;
	padding: 0 25px 0 10px;
	background-color: #f0f0f0;
	color: #444;
	position: relative;
}
.sbtn_r::after {
	content: "";
	position: absolute;
	top: calc(50% - 5px);
	right: 13px;
	display: inline-block;
	border-top: solid 2px #444;
	border-right: solid 2px #444;
	width: 10px;
	height: 10px;
	transform: rotate(45deg);
	transition: .2s;
}
a:hover .sbtn_r::after {
	right: 10px;
}
a:hover .sbtn_r {
	background-color: #ccc;
}
.btn_nv_r {
	display: block;
	width: 250px;
	margin: 0 auto 2rem auto; 
	text-align: center;
	font-size: 1.0rem;
	padding: 10px 25px 10px 10px;
	background-color: #143966;
	color: #fff;
	position: relative;
}
.contents a.btn_nv_r {
	color: #fff;
}
.btn_nv_r::after {
	content: "";
	position: absolute;
	top: calc(50% - 4px);
	right: 18px;
	display: inline-block;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	width: 12px;
	height: 12px;
	transform: rotate(45deg);
	transition: .2s;
}
a.btn_nv_r:hover::after {
	right: 14px;
}
a.btn_nv_r:hover {
	opacity: 0.8;
}
.btn_sky_r {
	display: block;
	width: 250px;
	margin: 0 auto; 
	text-align: center;
	font-size: 1.0rem;
	padding: 10px 25px 10px 10px;
	background-color: #6cb2cd;
	color: #fff!important;
	position: relative;
	border-radius: 10px;
}
.btn_sky_r::after {
	content: "";
	position: absolute;
	top: calc(50% - 4px);
	right: 18px;
	display: inline-block;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	width: 12px;
	height: 12px;
	transform: rotate(45deg);
	transition: .2s;
}
a.btn_sky_r:hover::after {
	right: 14px;
}
a.btn_sky_r:hover {
	opacity: 0.8;
}
.wht_btn {
	background-color: #fff;
	position: relative;
	height: 4rem;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.1);
}
.wht_btn:hover {
	background-color: #f6f6f6;
}
@media screen and (max-width:767px) { 
	.ttl { font-size: 1.125rem; }
	.ttl_l { font-size: 1.25rem; }
}

.large_sq {
    border-radius: 10px;
    border: 2px #143966 solid;
    padding: 15px 20px;
}

/****** drawer_menu ******/

.toggle_btn {
	display: none;
}
@media screen and (max-width:900px) { 
	.toggle_btn { display: block; position: absolute; top: 20px; right: 15px; width: 44px; height: 44px; background-color: #ccc; padding: 16px 7px; }
	.lang_select { padding: 5px 0; }
	.navbar_toggle{ z-index:9999; }
	.navbar_toggle_icon { position: relative; display: block; height: 2px; width: 30px; background: #143966; -webkit-transition: ease .5s; transition: ease .5s; }
	.navbar_toggle_icon:nth-child(1) { top: 0; }
	.navbar_toggle_icon:nth-child(2) { margin-top: 8px;}
	.navbar_toggle.open .navbar_toggle_icon:nth-child(1) { top: 6px; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
	.navbar_toggle.open .navbar_toggle_icon:nth-child(2) { top: -4px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
	nav {
		width: 30vw;
	}
	nav {
		position: fixed;
		top: 96px;
		left: 0;
		margin: 0;
		background: #fff;
		flex-direction: column;
		-webkit-transform: translateX(100vw);
		transform: translateX(100vw);
		-webkit-transition: ease .5s;
		transition: ease .5s;
		padding: 0;
	}
	#overlay {
		width: 100%;
		height: 100vh;
		position: fixed;
		left: 0;
		top: 96px;
		background: rgba(0,0,0,.3);
		z-index: 100;
		display: none;
	}
	#overlay.open {
		display: block;
	}
	nav ul {
		flex-direction: column;
	}
	nav.open {
		-webkit-transform:translateX( 70vw );
		transform:translateX( 70vw );
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		z-index: 999;
	}
}
@media screen and (max-width:767px) { 
	nav {
		position: fixed;
		top: 96px;
		left: 0;
		margin: 0;
		background: #fff;
		flex-direction: column;
		-webkit-transform: translateX(100vw);
		transform: translateX(100vw);
		-webkit-transition: ease .5s;
		transition: ease .5s;
		padding: 0;
	}
	nav {
		width: 70vw;
	}
	nav.open {
		-webkit-transform:translateX( 30vw );
		transform:translateX( 30vw );
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		z-index: 999;
	}
}

/****** module ******/
.for_pc { display:block!important; }
.for_pc_in { display:inline!important; }
.for_sp { display:none!important; }
@media screen and (max-width:767px) { 
	.for_sp { display:block!important; }
	.for_pc, .for_pc_in { display:none!important; }
}
strong { font-weight: 700; }
small { font-size: 0.75rem; line-height: 1.25rem; display: block; }
.font_ms { font-size: 0.875rem; }
.center { text-align: center; }
.img_full { width: 100%; }
.img_max { max-width: 100%; }
.img_fit { width: 100%; height: 100%; object-fit: cover; }
.img_cont { width: 100%; height: 100%; object-fit: contain; }
.vab { vertical-align: bottom; }
.rel { position: relative; } 
.border { border: 1px #ddd solid }
.mb1r { margin-bottom: 1rem; }
.mb2r { margin-bottom: 2rem; }
.mb3r { margin-bottom: 3rem; }
.mb6r { margin-bottom: 6rem; }
.mv6r { margin-bottom: 6rem; margin-top: 6rem; }
.ind15 { padding-left: 1.5rem; } 
.gray_bg { background-color: #f0f0f0; padding: 1rem; }
.w80_100 { width: 80%; }@media screen and (max-width:767px) { .w80_100 { width: 100%; }}
.w50_100 { width: 50%!important; }@media screen and (max-width:767px) { .w50_100 { width: 100%!important; }}

/* 2022.7.14 LS */
.lv2p5 {
	font-size: 1.3rem;
	font-weight: 700;
	margin-bottom: 1em;
	letter-spacing: 0.1rem;
}
.w45_100 { width: 45%!important; }@media screen and (max-width:767px) { .w45_100 { width: 100%!important; margin-bottom:1em}}
.mv3r { margin-bottom: 3rem; margin-top: 3rem; }


/****** modal ******/

.labreez {
	display: block;
	width: 200px;
	border: 1px #ccc solid;
	margin: 0 0 1rem auto;
}
.lab_pic {
	display: inline-block;
	width: 100%;
	max-width: 650px;
	margin-bottom: 2rem;
}
.modal-open{
	cursor: pointer;
}
.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	box-sizing: border-box;
	z-index: 101;
}
.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 720px;
	width: 95%;
}
.modal-close{
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: -40px;
	right: -8px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
.modal-content{
	background: #fff;
	text-align: left;
	padding: 30px;
	text-align: center;
}
@media screen and (max-width:767px) {
	.modal-content{ padding: 15px; }
}
/* -----------------------------------access------------------------------------ */
dt { margin-bottom: 1rem; font-size: 1.125rem; font-weight: 700; }
dl dd { position: relative; margin: 0 0 1rem 2rem; }
dd[id^="subway"] { margin-left:2rem; padding-left: 1.3rem; }
dd[id^="subway"]::after {
	content: "";
	display: block;
	position: absolute;
	top: 6px;
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
}
#subway_mita::after { border: 4px #006ab8 solid; }
#subway_hibiya::after { border: 4px #949491 solid; }
#subway_maru::after { border: 4px #f62e36 solid; }
#subway_chioyoda::after { border: 4px #00bb85 solid; }
#subway_ginza::after { border: 4px #ff9500 solid; }

#subway_tanimachi::after { border: 4px #7e2667 solid; }
#subway_midosuji::after { border: 4px #970017 solid; }
#subway_yotsuhashi::after { border: 4px #005078 solid; }
/* -----------------------------------recruit------------------------------------ */




/********SEARCHBOX*******/
.gsc-control-cse { padding: 0!important; height: 30px!important; }
.gsc-control-wrapper-cse { margin-top: 2px!important; }
.gsib_a { padding: 0!important; }
table.gsc-search-box { margin: 0!important; }
table.gsc-search-box td.gsc-input { padding-right: 0!important; padding-left: 3px; }
form.gsc-search-box { margin: 0!important; }
.gsc-search-button-v2 { padding: 5px 5px!important; }
table.gsc-search-box td { line-height: 1!important; }
.gsc-input { font-size: 14px!important; }
input.gsc-input, .gsc-input-box, .gsc-input-box-hover, .gsc-input-box-focus { border: 0!important; }
.gs-title, .gs-title b { line-height:1rem;height:26px!important; text-align: left!important; font-weight: 700!important; }


/* 2025.12.19 */

#dl .blue_box, #office .blue_box {
	display: block;
	padding: 2rem 1.5rem;
	background-color: #143966;
}
#dl a.blue_box, #office a.blue_box {
	color: #fff;
}

#dl .ttl_box { background: linear-gradient(90deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.0)),url(/images/head_dl.jpg) center center / cover no-repeat; }
#dl .ttl_box .lv1nm span{display:block;font-size: 90%; padding-top: 0.25em}

#dl .box_residence {
	background-image: linear-gradient(to right, rgba(128, 128, 128, 0.75) 33%, rgba(128, 128, 128, 0.0) 66%), url(/images/head_residence.jpg);
}
#dl .box_office {
	background-image: linear-gradient(to right, rgba(128, 128, 128, 0.75) 33%, rgba(128, 128, 128, 0.0) 66%), url(/images/head_office.jpg);
}

#dl .ttl_box2{
	background-size: auto, cover;
	background-position: center, center 60%;
	line-height: 80%;
	padding: 1rem 5% 0;
	height: 8rem;
	margin-bottom: 2rem;
}
#dl .ttl_box2 p{
	font-size: 1.875rem;
	font-weight: 700;
	letter-spacing: unset;
	filter: drop-shadow(0 0 2px rgba(0, 0, 0, .6));
	clear: left;
}
#dl .ttl_box2 p span{
	font-size: 1.0rem;
}
#dl .cont_body ul.kome li{
	text-indent: -1em;
	margin-left: 1em;
}
#dl .cont_body .telbox{
	font-size: 1.875rem
}
#dl .cont_body .telbox img{
	vertical-align: -25%;
	margin-right: 0.33em;
}
#dl .cont_body .contactlink{
	padding: 1rem;
	margin: 0 auto;
	width: 20em;
	max-width: 100%;
	font-size: 1.5rem;
	text-align: center;
}
#dl .cont_body .contactlink img{
	vertical-align: -35%;
	margin-right: 0.33em;
}

/* 2025.6.11 */
#dl .cont_body .flex a[href$=".pdf"] {
    display: block;
	background: none;
    padding: 2rem 1.5rem;
    background-color: #143966;
}

@media screen and (max-width:767px) {
	#dl .ttl_box2{
		height: 6rem;
		margin-bottom: 1rem;
	}
	#dl .ttl_box2 p{
		font-size: 1.25rem;
	}
	#dl .ttl_box2 p span{
		font-size: 0.9rem;
	}
	#dl .cont_body .contactlink{
		font-size: 1.0rem;
	}
	/* 2025.6.11 */
	#dl .cont_body .flex a[href$=".pdf"] {
	    padding: 1rem;
	}
}







/* 2025.6.6 666 */
#office .ttl_box, #dl .ttl_box { background: linear-gradient(90deg,rgba(0, 0, 0, 0.5),rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.0)),url(/images/head_office.jpg) center 60% / cover no-repeat; }
#office .ttl_box .lv1nm span, #dl .ttl_box .lv1nm span{display:block;font-size: 90%; padding-top: 0.25em}
#office .box_residence,
#dl .box_residence {
	background-image: linear-gradient(to right, rgba(128, 128, 128, 0.75) 33%, rgba(128, 128, 128, 0.0) 66%), url(/images/head_residence.jpg);
}
#office .box_office,
#dl .box_office {
	background-image: linear-gradient(to right, rgba(128, 128, 128, 0.75) 33%, rgba(128, 128, 128, 0.0) 66%), url(/images/head_office.jpg);
}

#office .ttl_box2,
#dl .ttl_box2{
	background-size: auto, cover;
	background-position: center, center 60%;
	line-height: 80%;
	padding: 1rem 5% 0;
	height: 8rem;
	margin-bottom: 2rem;
}
#office .ttl_box2 p,
#dl .ttl_box2 p{
	font-size: 1.875rem;
	font-weight: 700;
	letter-spacing: unset;
	filter: drop-shadow(0 0 2px rgba(0, 0, 0, .6));
	clear: left;
}
#office .ttl_box2 p span,
#dl .ttl_box2 p span{
	font-size: 1.0rem;
}
#office .cont_body ul.kome li,
#dl .cont_body ul.kome li{
	text-indent: -1em;
	margin-left: 1em;
}
#office .cont_body .telbox,
#dl .cont_body .telbox{
	font-size: 1.875rem
}
#office .cont_body .telbox img,
#dl .cont_body .telbox img{
	vertical-align: -25%;
	margin-right: 0.33em;
}
#office .cont_body .contactlink,
#dl .cont_body .contactlink{
	padding: 1rem;
	margin: 0 auto;
	width: 20em;
	max-width: 100%;
	font-size: 1.5rem;
	text-align: center;
}
#office .cont_body .contactlink img,
#dl .cont_body .contactlink img{
	vertical-align: -35%;
	margin-right: 0.33em;
}
@media screen and (max-width:767px) {
	#office .ttl_box2,
	#dl .ttl_box2{
		height: 6rem;
		margin-bottom: 1rem;
	}
	#office .ttl_box2 p,
	#dl .ttl_box2 p{
		font-size: 1.25rem;
	}
	#office .ttl_box2 p span.
	#dl .ttl_box2 p span{
		font-size: 0.9rem;
	}
	#office .cont_body .contactlink,
	#dl .cont_body .contactlink{
		font-size: 1.0rem;
	}
}

/* 2025.6.6 666 open/close */
    #office dl.opcs,
    #dl dl.opcs {
      width: 100%;
      margin: 20px auto;
      border: 1px solid #ccc;
      border-bottom: none;
      overflow: hidden;
    }

    #office dl.opcs dt,
    #dl dl.opcs dt {
      padding: 12px 48px 12px 12px;
      background: #ddd;
      cursor: pointer;
      font-weight: bold;
      position: relative;
      margin-bottom: 0;
    }

    #office dl.opcs dt::before,
    #dl dl.opcs dt::before {
      content: "＋";
      position: absolute;
      right: 16px;
      font-size: 1.2em;
      transition: transform 0.3s;
    }

    #office dl.opcs dt.open::before,
    #dl dl.opcs dt.open::before {
      content: "ー";
    }

    #office dl.opcs dd,
    #dl dl.opcs dd {
      margin: 0;
      padding: 0 12px;
      overflow: hidden;
      max-height: 0;
      transition: max-height 0.4s ease, padding 0.4s ease;
      background: #fcfcfc;
      border-bottom: 1px solid #ccc;
    }

    #office dl.opcs dd.open,
    #dl dl.opcs dd.open {
      padding: 12px;
      max-height: 300px;
    }

/* 2025.12.22 */
.ttl_box { background: url(/images/adp_bis.jpg) center center / cover no-repeat; }
.blue_r {
    width: 60%;
    display: block;
    margin: 0 0 0 auto;
    padding: 3rem 2rem;
    background-color: #143966;
}
/*
a.blue_r {color: #fff;}
*/
.list {margin-bottom: 2rem;}
.list li {
	display: flex;
	padding: 15px 0;
	border-bottom: 1px #ddd solid; 
}
.list li:first-child {border-top: 1px #ddd solid; }
.list li a {flex: 1; color: #258 !important;}
.date {width: 7rem;}
a.sbtn_b_r {
	display: block;
	width: 160px;
	margin: 1rem 0 0 auto; 
	text-align: center;
	font-size: 0.75rem;
	padding: 1px 25px 1px 10px;
	background-color: #fff;
	color: #143966 !important;
	border: 1px #143966 solid;
	position: relative;
}
a.sbtn_b_r::after {
	content: "";
	position: absolute;
	top: calc(50% - 4px);
	right: 13px;
	display: inline-block;
	border-top: solid 1px #143966;
	border-right: solid 1px #143966;
	width: 8px;
	height: 8px;
	transform: rotate(45deg);
	transition: .2s;
}
a.sbtn_b_r:hover::after {
	right: 10px;
}
a.sbtn_b_r:hover {
	background-color: #eee;
}

/* 2022.6.2 */
.head_up .navi {
	display: flex;
	justify-content: end;
	font-size: 0.75rem;
	width: calc(100% - 32rem);
}
.head_up .navi li {
	margin-right: 0;
	margin-left: 1rem;
}
.head_up .navi li::before{
	content: "≫";
}
@media screen and (min-width:901px) {
	.spnavi{
		display: none;
	}
}
@media screen and (max-width:900px) {
	.head_up .navi{
		display: none;
	}
}
/* 2022.6.2 */

/* 2026.1.6 */
.adp_dl {
	background: url(../images/head_dl.jpg) center left / 40% no-repeat;
	margin-bottom: 3rem;
}
.adp_office {
	background: url(../images/head_office.jpg) left 90% / 40% no-repeat;
	margin-bottom: 3rem;
}
@media screen and (max-width:767px) {
	.adp_dl { background: url(../images/head_dl.jpg) center -20% / 100% no-repeat; padding-top: 100px; margin-bottom: 1.5rem; }
	.adp_office { background: url(../images/head_office.jpg) center -65% / 100% no-repeat; padding-top: 100px; margin-bottom: 1.5rem; }
}

