/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0.6
*/

.comingsoon {
	position: relative; 
}
.comingsoon::after {
	content: "Coming soon";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	color: #fff;
	font-size: 1.1rem;
	letter-spacing: 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 25;/*
	cursor: not-allowed;*/
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
.comingsoon:hover::after {
	opacity: 1;
	visibility: visible;
}

.comingsoon_link {
	position: relative; 
}
.comingsoon_link::after {
    content: "Coming soon";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    color: #fff;
    font-size: .9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 25;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    padding: 0 .6em;
}
.comingsoon_link:hover::after {
	opacity: 1;
	visibility: visible;
}

.slider_work {
    height: 490px;
}
.slider_work.flickity-viewport {
    max-height: 490px;
}
.slider_work .slider  {
  height: 100%;
}
.slider_work .img-inner {
    text-align: center;
    background: #F4f4f4;
}
.slider_work .flickity-slider > .img{
  padding: 0 2px;
}
.slider_work .img-inner img {
    width: auto;
    height: 100%;
    max-height: 490px;
    margin: 0 auto;
}
.slider_work .slider-nav-dots-dashes .flickity-page-dots .dot {
    width: 38px;
}


.terms_link_wrap {
  padding: 15px;
  margin-bottom: 60px;
  border-radius: 6px;
  background-color:#f7f0ef;
}
.terms_link_wrap ul  {
  list-style: none;
  display: flex;
  flex-flow: row wrap;
}
.terms_link_wrap ul li {
  margin-left: 1.3em;
}
.terms_link_wrap ul li a {
    color: var(--fs-color-base);
    text-decoration: none !important;
}
.terms_link_wrap ul li a:hover {
    color: var(--primary-color);
}
.btn_external {
    padding-right: 1.5em;
    background: url("https://www.prima-apartment.com/wp2026/wp-content/uploads/2026/06/ico_external_black.svg") no-repeat 98% 50% / 0.8em;
}
.other_examples_wrap .ttl_line_break {
  font-size: 1.2rem;
}
.arrow_btm:before {
	content: "";
	position: absolute;
	bottom: -3px;
	left: 15%;
	border: 10px solid transparent;
	border-top: 10px solid var(--fs-color-primary);
}
.arrow_top:before {
	content: "";
	position: absolute;
	top: -9px;
	left: 15%;
	border: 10px solid transparent;
	border-bottom: 10px solid var(--fs-color-primary);
}


.transparent img.header_logo  {
    content: url("https://www.prima-apartment.com/wp2026/wp-content/uploads/2026/06/logo_gift.png");
}
.transparent .header-nav {
  color: #fff;
}
.archive-page-header > .row {
  max-width: none;
}
.archive-page-header > .row .row {
	margin-left: auto;
	margin-right: auto;
}
.archive-page-header > .row > .col {
  padding-right: 0;
  padding-left: 0;
}
.postlist_col2_inner {
  padding: 30px 10px 20px 10px;
}
.postlist_col2_inner a {
    transition: all 0.3s ease;
}
.postlist_col2_inner a:hover {
  opacity: 0.8;
}
.termlist {
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}
.termlist li {
    margin: 0 .3em !important;
}
.termlist li a {
    font-size: .8rem;
    padding: 0 .8em;
    background: #f7f7f7;
    display: inline-block;
    text-decoration: none !important;
    color: var(--fs-color-base);
      border: 1px solid transparent;
    transition: all 0.3s ease;
}
.termlist li a:hover {
    color: var(--primary-color);
    background: var(--fs-color-secondary);
    border: 1px solid #ececec;
}
.category-work .entry-header-text,
.category-customer-voice .entry-header-text {
  text-align: center;
}
.category-work .entry-header .is-divider,
.category-customer-voice .entry-header .is-divider,
.category-work  .entry-header .entry-meta,
.category-customer-voice .entry-header .entry-meta,
.category-work  .entry-header .entry-category,
.category-customer-voice .entry-header .entry-category {
  display: none;
}
.flatsome_recent_posts .post_comments {
	display: none;
}
/*
.is-custom-single-fullwidth .large-10 {
    max-width: 100%;
    flex-basis: 100%;
    width: 100%;
}
.is-custom-single-fullwidth .blog-single > .row {
    max-width: 100%;
}
.is-custom-single-fullwidth .entry-header,
.is-custom-single-fullwidth .entry-meta,
.is-custom-single-fullwidth .entry-author,
.is-custom-single-fullwidth .navigation-post,
.is-custom-single-fullwidth .entry-content > .row,
.archive-page-header .taxonomy-description > .row {
	max-width: 1070px;
	margin-left: auto;
	margin-right: auto;
}
.is-custom-single-fullwidth .entry-header-text {
  text-align: center;
}
.is-custom-single-fullwidth .entry-header .is-divider,
.is-custom-single-fullwidth .entry-header .entry-meta {
  display: none;
}
.category-work post-content > .row {
  margin-left: auto !important;
  margin-right: auto !important;
}
*/




.header-inner {
	padding-top: 15px;
}
.off-canvas-center .mfp-content {
  max-width: 1400px;
}
.header-block-block-1 {
  width: 100%;
}
.mfp-close {
    right: 2em;
    top: 48px !important;
    opacity: 1;
}
.mfp-close svg {
  display: none;
}
.mfp-close::before {
  content: 'CLOSE';
    padding: 0 13px;
    font-family: "EB Garamond", sans-serif;
    font-size: 1.1rem;
    color: var(--fs-color-primary);
}
.header-button .icon-menu:before {
    content: "MENU";
    padding: 0 13px;
    font-family: "EB Garamond", sans-serif;
    font-size: 1.1rem;
    color: var(--fs-color-primary);
}
.header-button .button {
    background: #fff;
    border: 2px solid var(--primary-color) !important;
	border-radius: 4px;
}
.diag_line::before,
.diag_line::after {
  content: '';
  position: absolute;
  width: 55px;
  height: 55px;
}
.diag_line::before {
  top: 0;
  left: 0;
  border-top: 1px solid var(--fs-color-primary);
  border-left: 1px solid var(--fs-color-primary);
}
.diag_line::after {
  bottom: 0;
  right: 0;
  border-bottom: 1px solid var(--fs-color-primary);
  border-right: 1px solid var(--fs-color-primary);
}

.text-box-circle .is-border {
	border-radius: 100% !important;
}

.hover_bg_secondary .col-inner {
	transition: transform .3s,border .3s,background .3s,box-shadow .3s,opacity .3s,color .3s;
}
.hover_bg_secondary .col-inner:hover {
	border-radius: 4px;
	background: var(--fs-color-secondary);
}

.bnr_overlay .banner-bg::after {
	content: "";
    background-color: rgba(0, 0, 0, .2);
	position: absolute;
	width: 100%;
	height: 100%;
}

.contact_wrap > .col::after {
    content: "";
    position: absolute;
    right: 0;
    top: 6%;
    width: 1px;
    height: 80%;
    background: #E6E6E6;
}
.contact_wrap > .col:last-of-type::after {
	content: none;
}

.cross_line {
  position: relative;/*
  width: 50px;*/
  height: 1px;
  margin: 80px auto;
  background: var(--primary-color);
}
.cross_line::before,
.cross_line::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  background: var(--primary-color);
  transform: rotate(0deg);
  transform-origin: center;
  opacity: 0;
}
.cross_line.is-active {
  background: transparent;
}
.cross_line.is-active::before {
  animation: cross1 0.8s ease forwards;
}
.cross_line.is-active::after {
  animation: cross2 0.8s ease forwards;
}
@keyframes cross1 {
  0% { transform: rotate(0); opacity: 1; }
  100% { transform: rotate(36deg) ; opacity: 1; }
}
@keyframes cross2 {
  0% { transform: rotate(0); opacity: 1; }
  100% { transform: rotate(-36deg) ; opacity: 1; }
}
.cross_line.is-active::before {
  animation: cross1 0.8s ease 0.12s forwards;
}
.cross_line.is-active::after {
  animation: cross2 0.8s ease 0.22s forwards;
}

.full_link_col {
  position: relative;
}
.stretched_link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}
.full_link_col .col-inner {
  position: static;
}
.full_link_col > .col-inner {
  position: relative;
}
.full_link_col .col {
  position: static;
}
.full_link_col .stretched_link {
  position: static !important;
}
.full_link_col .front_link {
  position: relative !important;
  z-index: 2;
}


.blog_list .is-divider {
	display: none
}
.blog_list .post-item {
	padding-bottom: 0;
}
.blog_list .blog-post-inner {
	display: flex;
	flex-flow: row wrap;
}
.blog_list .post-meta {
	color: #A3A3A3;
	font-size: 1rem;
	font-family: "EB Garamond", sans-serif;
	order: 1;
}
.blog_list .post-title {
	font-size: 1rem;
	font-weight: 400;
	order: 2;
}
.blog_list .post-item {
	transition: transform .3s,border .3s,background .3s,box-shadow .3s,opacity .3s,color .3s;
}
.blog_list .post-item:hover {
	background: var(--fs-color-secondary);
}


.faq_cont .accordion_title {
  color: var(--primary-color);
}
.faq_cont .accordion-title {
	padding: 1.5em 0;
	background: none;
	font-size: 1rem;
	font-weight: 500;
	border-top: none;
	border-bottom: 1px solid #E6E6E6;
}
.faq_cont .accordion-item:last-of-type .accordion-title {
	border-bottom: none;
}
.faq_cont .accordion-title::before,
.faq_cont .accordion-title::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 12px;
  height: 2px;
  background: #C77A7A;
  transform-origin: center;
  transition: transform 0.35s cubic-bezier(.4, 0, .2, 1);
}
.faq_cont .accordion-title::before {
  transform: translateY(-50%) rotate(0deg);
}
.faq_cont .accordion-title::after {
  transform: translateY(-50%) rotate(90deg);
}
.faq_cont .accordion-title.active::after {
  transform: translateY(-50%) rotate(0deg);
}
.faq_cont .accordion-inner {
    padding: 0;
	margin-bottom: 1em
}
.faq_cont .toggle {
	display: none;
}

.faq_cont .accordion-title span::before {
    content: "Q";
    position: absolute;
    top: calc(50% - 19px);
	left: 20px;
    width: 38px;
    height: 38px;
    color: #fff;
    border-radius: 100%;
    font-size: 1.2rem;
    text-align: center;
    background: var(--primary-color);
    transform-origin: center;
    transition: transform 0.35s cubic-bezier(.4, 0, .2, 1);
}
.faq_cont .accordion-title span {
    padding: 0 30px 0 80px;
    display: inline-block;
}
.faq_cont .accordion-inner {
    padding: 1em 30px 1em 80px;
	background: var(--fs-color-secondary);
	position: relative;
}
.faq_cont .accordion-inner > p:first-of-type::before {
    content: "A";
    position: absolute;
    top: 1em;
	left: 20px;
    width: 38px;
    height: 38px;
    border-radius: 100%;
    font-size: 1.2rem;
    text-align: center;
    color: var(--primary-color);
	border: 1px solid ;
	background: #fff;
    transform-origin: center;
    transition: transform 0.35s cubic-bezier(.4, 0, .2, 1);
}

.text-shadow-1 {
    text-shadow: 0px 0px 10px rgba(0,0,0,.3);
}
.box-shadow-2 {
    box-shadow: 0px 0px 20px rgba(52, 52, 52, 0.1);
}
.shadow20 {
  box-shadow: 0px 0px 20px rgba(52, 52, 52, 0.1);
}
.inline_bgwhite {
    margin: 4px;
    padding: 0px 20px;
    display: inline-block;
    background: #fff;
    border: 1px solid #E6E6E6;
}
.link_line {
  color: #1a1a1a;
  text-decoration: underline;
}


.primary.is-outline {
    background: #fff;
	border: 1px solid;
}
.primary {
	transition: transform .3s,border .3s,background .3s,box-shadow .3s,opacity .3s,color .3s;
}
.primary:hover {
    color: var(--primary-color);
    background: #fff;
    box-shadow: none;
    border: 1px solid;
}
.header .container {
	max-width: 1440px;
}
.footer_nav_sub {
	margin: 0 0 1em 1em;
}
.footer_nav_sub .ux-menu-link__link {
	color: #A3A3A3;
	min-height: auto;
}
.footer_wrap .ux-menu-link__link {
    padding: 0;
}
#content a:not([class]) {
    text-decoration: underline;
}
h1, h2, h3, h4, h5, h6 {font-weight: 500 !important;}
body {
	line-height: 1.8;
}
body {
	font-family: "YakuHanJP", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif !important;
}
.lh1 {line-height: 1 !important;}
.lh12 {line-height: 1.2 !important;}
.lh13 {line-height: 1.3 !important;}
.lh14 {line-height: 1.4 !important;}
.lh15 {line-height: 1.5 !important;}
.lh16 {line-height: 1.6 !important;}
.lh17 {line-height: 1.7 !important;}
.lh18 {line-height: 1.8 !important;}
.lh2 {line-height: 2 !important;}

.ls0 {letter-spacing: 0 !important;}
.ls1 {letter-spacing: 1px !important;}
.ls2 {letter-spacing: 2px !important;}
.ls3 {letter-spacing: 3px !important;}
.ls4 {letter-spacing: 4px !important;}
.ls5 {letter-spacing: 5px !important;}
.ls6 {letter-spacing: 6px !important;}
.ls7 {letter-spacing: 7px !important;}
.ls8 {letter-spacing: 8px !important;}
.ls9 {letter-spacing: 9px !important;}
.ls10 {letter-spacing: 10px !important;}

.fw4 {font-weight: 400 !important;}
.fw5 {font-weight: 500 !important;}
.fw6 {font-weight: 600 !important;}

.round10,
.round10 > .img-inner,
.round10 > div > .banner-bg,
.round10 > div > .banner-bg img,
.round10 > div > .banner-bg .overlay,
.round10 > .col-inner,
.round10::before,
.round10 > a > .img-inner {
	border-radius: 10px;
	overflow: hidden;
}
.round6,
.round6 > .img-inner,
.round6 > div > .banner-bg,
.round6 > div > .banner-bg img,
.round6 > div > .banner-bg .overlay,
.round6 > .col-inner,
.round6::before,
.round6 > a > .img-inner {
	border-radius: 6px;
	overflow: hidden;
}
.round_b6,
.round_b6 > .img-inner,
.round_b6 > div > .banner-bg,
.round_b6 > div > .banner-bg img,
.round_b6 > div > .banner-bg .overlay,
.round_b6 > .col-inner,
.round_b6::before,
.round_b6 > a > .img-inner {
	border-radius: 0 0 6px 6px;
	overflow: hidden;
}
.tate {
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}
@media screen and (max-width: 849px) {
}
@media screen and (max-width: 549px) {
  .sp_ls0 {letter-spacing: 0 !important;}
	.sp_yoko {
		-webkit-writing-mode: horizontal-tb;
		writing-mode: horizontal-tb;
	}
  .sp_round0,
  .sp_round0 > .img-inner,
  .sp_round0 > div > .banner-bg,
  .sp_round0 > div > .banner-bg img,
  .sp_round0 > div > .banner-bg .overlay,
  .sp_round0 > .col-inner,
  .sp_round0::before,
  .round6 > a > .img-inner {
    border-radius: 0;
    overflow: hidden;
  }
	.contact_wrap > .col:first-of-type::before {
		content: "";
		position: absolute;
		background: #E6E6E6;
		right: 15px;
		width: calc(100% - 30px);
		height: 1px;
		top: -20px;
	}
	.contact_wrap > .col::after {
		right: 15px;
		top: auto;
		width: calc(100% - 30px);
		height: 1px;
		bottom: 20px;
	}
  .diag_line::before,
  .diag_line::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
  }
  .diag_line::before {
    top: 15px;
    left: 15px;
  }
  .diag_line::after {
    bottom: 15px;
    right: 15px;
    border-bottom: 1px solid var(--fs-color-primary);
  }
}








.pcbr {display:inline;}
.tbbr {display:none;}
.spbr {display:none;}
@media (max-width: 768px) {
	.pcbr {display:none;}
	.tbbr {display:inline;}
	.spbr {display:none;}
	}
@media (max-width: 549px) {
	.pcbr {display:none;}
	.tbbr {display:none;}
	.spbr {display:inline;}
}
.mg00{	margin: 0 !important;}
.mb00{	margin-bottom:0px;}

.banner a{
	z-index:12;
}
/*************** ADD CUSTOM CSS HERE.   ***************/


@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}