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


.header-trial{
	color:#ffdf06!important;
	background-color:#000;
	border-radius:40px;
	border:1px solid #fff;
	padding-right:20px!important;
	min-width:160px;
	display:block!important;
	text-align:center!important;
	line-height: 14px!important;
	transition:0.2s;
}
.header-trial:hover{
	color:#000!important;
	background-color:#ffdf06;
}
@media (min-width: 849px) {.header-trial{padding-right:0!important;}}

.sec01_orange{
	color: #ffa600;
	font-size: 150%;
}
.intro_genba,
.intro_kanri {
	text-align:left;
	list-style: none; 
	padding-left:0;
}
.intro_genba{
	border-bottom: 8px solid #3fcf8c;
}
.intro_kanri{
	border-bottom: 8px solid #047cd1;
}
.intro_genba li,
.intro_kanri li{
	position: relative;
	padding-left: 25px;
	list-style:none;
	line-height:1.5rem;
	font-size:3.5vw;
}
.intro_genba li::before {
	content: "■";
	position: absolute;
	left: 0;
	color: #3fcf8c;
	font-size: 20px;
}
.intro_kanri li::before {
	content: "■";
	position: absolute;
	left: 0;
	color: #047cd1;
	font-size: 20px;
}
.logo-heading {
	font-size: 4.5vw;
	display: flex;
	align-items: center;  /* 縦方向にセンター揃え */
	justify-content: center;  /* 横方向にセンター揃え */
	gap: 0.25em;  /* ロゴとテキストの間に少し余白を */
	text-align: center;  /* テキストを中央揃え */
	line-height:1rem;
}
.logo-image {
	width:130px;
	vertical-align: middle;  /* 画像とテキストの中心を合わせる */
}
.sec01-box{
color:#000;
}
.sec01-box h2{font-weight:bold;}

.sec01-box h3 span{color: #ffa600!important;}
.sec01-box h4{margin-bottom: 40px;}
.sec01-box p{
	text-align:left;
}

h2.sec02_dtl{font-size:5vw;
	line-height:2rem;
}
.sec02-detail ul {
  list-style: none;
  padding: 0;
	margin:20px 0 0 0;
}
.sec02-detail ul li {
  position: relative;
		font-size:3vw;
	text-align:left;
	font-weight:600;
	color:#000;
}
.sec02-detail ul li strong{
	font-size:105%;
	font-weight:700;
}
.sec02-detail ul li::before {
	content: "⚫︎";
	/*font-size: 2em;*/
	position:absolute;
	left:-16px;
	top:0.3em;
	line-height: 1;
}

.sec02-detail .kanri li::before{color:#047CD1;}
.sec02-detail .genba li::before{color:#3FCF8C;}
.sec02-detail .raku li::before{color:#FFA600;}

.sec02-panel{text-align:center;
	font-size:0.8em;
}
.sec02-panel a{font-weight:bold;}
.sec02-panel .accordion-title {
	background-color:#eee;
	border-radius:10px;
	border-top:none;
}
.accordion-title.active {
	background-color:#fff;
	color:#000;
	font-weight: 700;
}
.accordion-inner {
	padding:20px 0 0;
}
.pochi-icon{position:absolute;
	z-index:2;
top:-32px;
right:-8px;}

#col-1883450554{padding-bottom:0;}
.func_tit .text{padding-bottom:1px;}

.func_arrow{position:absolute;
z-index:2;
	top:240px;
	right:-36px;
	display:block;
}
.func_arrow img{width:42px;}
.func_plus{margin:0;}

@media screen and (max-width: 849px) { 
	.pcbr{ display: none; }
	.func_arrow{display:none;}
}

@media (min-width: 849px) {
	.logo-heading {
		font-size: 32px;
	}
	.logo-image {
		width:190px;
	}
	.sec02-detail ul li {
		font-size:1rem;
	}
	h2.sec02_dtl{font-size:1.6rem;}
}
.step-content {
	border:2px solid #000;
	padding:10px;
	background: #fff;
	border-radius: 10px;
	text-align:center;
	min-height:260px;
}
.step-content .step-tit-01{
margin:20px 0;
}

.step-content .step-tit-02 {
		line-height: 2rem;
		color: #000;
		font-size: 1.5rem;
		font-weight: bold;
	}
 .step-content p {
		font-weight: bold;
		margin-top: 15px;
		font-size:1rem;
	}
.arrow {
	position: absolute;
	width: 16px;
	height: auto;
	}

.arrow-right {
transform: translateY(-50%);
display: block;
top: 45%;
right: -20px;
}

.arrow-down {
	bottom: -12px;
	left: 50%;
	transform: translateX(-50%);
	display: block;
}
.step-box::last-child .arrow {
display: none;
}


@media (min-width: 849px) {
	.step-tit-01 span{font-size: 2.5rem;
        line-height: 2rem;
}
}


.sec05_tit {
	text-align: center;
	width: 100%;

	background-color: #000;
	color: #fff;
	padding-top: 4px;
  }
.sec05_tit span{
	font-size: 4vw;
	font-weight: 600;
}



.scroll-infinity {
	padding:30px 0 0;
}
.scroll-infinity__wrap {
  overflow: hidden;
  white-space: nowrap;
  margin-bottom: 1rem;
  border-radius: 10px;
}

.scroll-infinity__list {
  display: flex;
  gap: 3rem;
  will-change: transform;
}

.scroll-infinity__item {
  font-size: 2rem;
	font-weight:bold;
	background-color:#ffffff;
 padding:1rem 2rem;
border-radius:10px;
  
  white-space: nowrap;
  display: flex;
  align-items: center;
  box-shadow: 5px 5px 5px 0 rgba(0, 0, 0, 0.2);
	flex: none;
}

.scroll-icon {
  width: 36px;
  height: 36px;
  margin-left: 2rem;
}
.contact_wrap{width:100%;}
.contact_box{width:100%;
display:inline-block;
	vertical-align:top;
padding:10px;
}
.contact_box2{font-size:0.8rem;}
.contact_box2 span{font-size:1rem;}
.contact_box2 .wpcf7-submit{font-size:1.2rem;
min-width:200px;
margin-right:0;}
.contact_box2 a{color:#4EA1FF;}
.recaptcha{font-size:0.7rem;}

@media (min-width: 600px) {
.contact_box{width:48%;
}
.sec05_tit span{font-size: 2.1rem;
}
}

.faqbox{margin-bottom:20px;
border:1px solid #ccc;
	border-radius:10px;
}
.faqbox .accordion-inner{padding:10px;}

.accordion-title{border-top:none;}
.accordion-title.active{
	background-color: #FFE5B4;
	border-radius: 10px 10px 0 0;
}
.accordion-inner{padding:20px 0 0;}
.accordion-inner a{color:#4EA1FF;}
.accordion-inner p{margin-bottom:0;}
.accordion-inner img{padding:10px;}
.grecaptcha-badge { visibility: hidden; }


.works_dm ul,
.works_dg ul{padding:0;
}
.works_dg li{font-weight:600;}
.works_dm li,
.works_dg li {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: flex-start;
	position: relative;
}

.works_dm li::before,
.works_dg li::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	margin-right: 6px;
	flex-shrink: 0; 
	 margin-top: 0.6em;
}

.works_dm li:before { background-color: #1578cb;}
.works_dg li:before { background-color: #efa23a;}
.works_tit,
.works_text,
.imanara{padding:0;}
.works_text ul{
	padding:0;
margin:0;
}
.works_text ul li{padding:0;
margin:0;}
.wpcf7-spinner{display:none;}
.contact_req{font-size:80%;
color:red;
}

/*architecture.genba-r 202510*/
.video-button-wrapper .button.icon.circle {
	border-width: 4px;
	background: rgba(0,0,0,.5);
}
#content.content-area {
	background: #fff;
}
.m_rl_auto {
	margin-right: auto !important;
	margin-left: auto !important;
}
.mfp-content video {
	max-height: 86vh;
}

@media (max-width: 1300px) {
	.header-main .flex-left .html {
		display: none;
	}
}
.faq_list_wrap .accordion > .accordion-item {
	margin-bottom: 30px;
}
.faq_list_wrap .accordion > .accordion-item > .accordion-title {
	padding: 1em 1.5em;
	color: #656565;
	border: none;
	border-radius: 20px;
	background: #fff;
	filter: drop-shadow(0 0 5px rgba(0,0,0,.16));
}
.faq_list_wrap .accordion .toggle {
	color: var(--fs-color-primary);
	top: .8em;
	right: 10px;
	left: auto;
	opacity: 1;
}
.faq_list_wrap .accordion-inner .accordion-title {
	margin-bottom: 0;
	padding: .8em 0;
	color: #656565;
	text-align: left;
}
.faq_list_wrap .accordion-inner .accordion-title > span {
	position: relative;
}
.faq_list_wrap .accordion-inner .accordion-title span::before {
	content: "Q. ";
	color: var(--fs-color-primary) !important;
	position: absolute;
	left: -1.5em;
}
.faq_list_wrap .accordion > .accordion-item > .accordion-inner > .row {
	border-bottom: 1px solid #EFEFEF !important;
}
.faq_list_wrap .accordion-inner .accordion-inner {
	padding: 0 0 0 1.5em;
}
.fadeIn1s {
	animation: fadeIn1s 1s ease 1s forwards;
	transform: translateY(30px);
	opacity: 0;
}
@keyframes fadeIn1s {
	0% {
	}
	100% {
	transform: translateY(0);
	opacity: 1;
	}
}
.fadeIn1500ms {
	animation: fadeIn1500ms 1s ease 1500ms forwards;
	transform: translateY(30px);
	opacity: 0;
}
@keyframes fadeIn1500ms {
	0% {
	}
	100% {
	transform: translateY(0);
	opacity: 1;
	}
}
.fadeIn500ms {
	animation: fadeIn500ms 1s ease 500ms forwards;
	transform: translateY(30px);
	opacity: 0;
}
@keyframes fadeIn500ms {
	0% {
	}
	100% {
	transform: translateY(0);
	opacity: 1;
	}
}
.side_trial_bnr {
	position: fixed;
	right: 15px;/*
	z-index: -1;
	opacity: 0;*/
	top: 50vh;
	transition: 0.5s ease-in-out;
}
.side_trial_bnr.is_flow {
	opacity: 1;
	z-index: 9;
}
.bnr_close {
	z-index: 99999;
	cursor: pointer;
}
.btn_arrow_orange {
	color: var(--fs-color-primary) !important;
	background: url(https://architecture.genba-r.com/wp-content/uploads/2024/09/orange_yellow.svg) no-repeat 90% 50% / 13px;
}
.btn_line_orange {
	background: #fff !important;
	border-width: 3px !important;
}
.btn_line_orange:hover {
	color: #fff !important;
	background: var(--fs-color-primary) !important;
}
.kaiketsu_wrap {
	background: url(https://architecture.genba-r.com/wp-content/uploads/2024/09/bg_yellow.svg) no-repeat 0 0 / calc(50vw - 1.5625vw) auto, url(https://architecture.genba-r.com/wp-content/uploads/2024/09/bg_blue.svg) no-repeat right 0 top 540px / calc(50vw - 1.5625vw) auto;
}
.fukidashi_l .text-box-content::before {
	content: "";
	width: 3px;
	height: 10px;
	position: absolute;
	right: 0px;
	top: 34px;
	background: #fff;
	z-index: 1;
}
.fukidashi_l .text-box-content::after {
	content: "";
	width: 25px;
	height: 3px;
	position: absolute;
	right: -20px;
	top: 38px;
	background: #1578CB;
	border-radius: 3px;
	transform: rotate(36deg);
	z-index: 2;
}
.fukidashi_r .text-box-content::before {
	content: "";
	width: 3px;
	height: 10px;
	position: absolute;
	left: 0px;
	top: 26px;
	background: #fff;
	z-index: 1;
}
.fukidashi_r .text-box-content::after {
	content: "";
	width: 25px;
	height: 3px;
	position: absolute;
	left: -20px;
	top: 30px;
	background: #1578CB;
	border-radius: 3px;
	transform: rotate(-36deg);
	z-index: 2;
}
.inner_p0 .col-inner p {
	margin-bottom: 0
}
.text-box-circle .is-border {
	border-radius: 50vw !important;
}
.shadow_black40 {filter: drop-shadow(0 0 15px rgba(0,0,0,.2));}
.shadow_black12 {filter: drop-shadow(0 3px 12px rgba(0,0,0,.16));}
.shadow_black14 {filter: drop-shadow(0 0 14px rgba(0,0,0,.16));}
.shadow_black15 {filter: drop-shadow(0 3px 15px rgba(0,0,0,.16));}
.shadow_black50_red {filter: drop-shadow(6px 6px 50px rgba(239,162,58,.3));}

.ibmplex {
	font-family: "IBM Plex Sans JP", sans-serif !important;
}
.mplus {
	font-family: "M PLUS 1p", sans-serif !important;
}
body {
	line-height: 1.8;
}
body p {
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}
h1, h2, h3, h4, h5, h6, .heading-font, .off-canvas-center .nav-sidebar.nav-vertical > li > a {
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
	font-weight: 600;
}
.ls1 {letter-spacing: 1px;}
.ls2 {letter-spacing: 2px;}
.ls3 {letter-spacing: 3px;}
.ls4 {letter-spacing: 4px;}
.ls5 {letter-spacing: 5px;}
.ls6 {letter-spacing: 6px;}
.ls7 {letter-spacing: 7px;}
.ls8 {letter-spacing: 8px;}
.ls9 {letter-spacing: 9px;}
.ls10 {letter-spacing: 10px;}

.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;}
.lh26 {line-height: 2.6 !important;}

.fw3 {font-weight: 300 !important;}
.fw4 {font-weight: 400 !important;}
.fw5 {font-weight: 500 !important;}
.fw6 {font-weight: 600 !important;}
.fw7 {font-weight: 700 !important;}
.fw8 {font-weight: 800 !important;}
.fw9 {font-weight: 900 !important;}

.tate {
	writing-mode: vertical-rl;
}
.round_r > .img-inner,
.round_r.banner,
.round_r > div > .banner-bg,
.round_r > .col-inner {
	border-radius: 0 50vh 50vh 0 / 0 50vh 50vh 0;
}
.round_l > .img-inner,
.round_l.banner,
.round_l > div > .banner-bg,
.round_l > .col-inner {
	border-radius: 50vh 0 0 50vh / 50vh 0 0 50vh;
}
.round_rl > .img-inner,
.round_rl.banner,
.round_rl > div > .banner-bg,
.round_rl > .col-inner {
	border-radius: 50vh;
}
.round50 > .img-inner,
.round50.banner,
.round50 > div > .banner-bg,
.round50 > .col-inner {
	border-radius: 50px;
}
.round30 > .img-inner,
.round30.banner,
.round30 > div > .banner-bg,
.round30 > .col-inner {
	border-radius: 30px;
}
.round10 > .img-inner,
.round10.banner,
.round10 > div > .banner-bg,
.round10 > .col-inner {
	border-radius: 10px;
}
.orange,
.orange a {
	color: var(--fs-color-primary) !important;
}
li {
	margin-bottom: .3em;
}
.dark .ux-menu-link__link {
	color: #fff;
	font-size: 1.125rem;
	min-height: auto;
	padding: 0 0 .3em;
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}
.header-button .button {
	min-width: 11em;
	background: #fff;
	filter: drop-shadow(0 0 5px rgba(0,0,0,.2));
}
.tab_kaiketsu .nav .tab.active {
	animation: bound 3s linear .1s infinite;
}
@keyframes bound {
	0% {transform: translate(0, 0);}
	10% {transform: translate(0, 10%);}
	20% {transform: translate(0, 0);}
	100% {transform: translate(0, 0);}
}

@media (max-width: 849px) {
}
@media (max-width: 549px) {
	.header #logo img, 
	.header .stuck #logo img, 
	.header.transparent #logo img {
		max-height: 30px !important;
	}
	.header .stuck .header-main {
		height: 50px !important;
	}
	.scroll {
		overflow-x: auto;
	}
	.sp_fs18 {font-size: 1.2rem;}
	.sp_fs20 {font-size: 1.25rem;}
	
	.banner-bg,
	.banner-layers {
		overflow: visible;
	}
	.sp_round30 > .img-inner,
	.sp_round30.banner,
	.sp_round30 > div > .banner-bg,
	.sp_round30 > .col-inner, 
	.sp_round30 > .col-inner > .is-border {
		border-radius: 30px !important;
	}
	.sp_round50 > .img-inner,
	.sp_round50.banner,
	.sp_round50 > div > .banner-bg,
	.sp_round50 > .col-inner, 
	.sp_round50 > .col-inner > .is-border {
		border-radius: 50px !important;
	}
	.ux-menu-link__link {
		font-size: .9rem;
		padding: 3px 0;
		min-height: auto;
	}
	.btn_arrow_orange {
		background-position: 94% 50%;
		background-size: 9px;
	}
	.ttl_logo_smooth {
		max-width: 140px;
		margin-right: 5px !important;
	}
	.ttl_logo_kinou {
		max-width: 140px;
		margin-right: 5px !important;
	}
	.slide_nayami .flickity-page-dots {
		bottom: -30px;
	}
	.slide_nayami .flickity-page-dots .dot {
		border-color: #E6E6E6;
		background-color: #E6E6E6 !important;
	}
	.slide_nayami .flickity-page-dots .dot.is-selected {
		border-color: #EFA23A;
		background-color: #EFA23A !important;
	}
	.fukidashi_l .text-box-content::before {
		width: 3px;
		height: 10px;
		top: 24px;
	}
	.fukidashi_l .text-box-content::after {
		width: 14px;
		height: 3px;
		right: -10px;
		top: 25px;
	}
	.fukidashi_r .text-box-content::before {
		width: 3px;
		height: 7px;
		left: 0px;
		top: 19px;
	}
	.fukidashi_r .text-box-content::after {
		width: 14px;
		height: 3px;
		left: -10px;
		top: 21px;
	}
	.tab_kaiketsu .nav .tab {
		width: 50%;
		margin: 0;
	}
	.tab_kaiketsu .nav .tab a {
		width: 100%;
		color: #fff;
		font-weight: 600;
		text-align: center;
		display: block;
	}
	.tab_kaiketsu .nav #tab-genba_merit:not(.active) a {
		color: #EFA23A;
	}
	.tab_kaiketsu .nav #tab-kanri_merit:not(.active) a {
		color: #1C7FD2;
	}
	.tab_kaiketsu .nav #tab-genba_merit {
		background: #EFA23A;
	}
	.tab_kaiketsu .nav #tab-genba_merit:not(.active) {
		background: #FCECD8;
	}
	.tab_kaiketsu .nav #tab-kanri_merit {
		background: #1C7FD2;
	}
	.tab_kaiketsu .nav #tab-kanri_merit:not(.active) {
		background: #DBEAF8;
	}
	.tab_kaiketsu .nav li::after {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
		border-right: 8px solid transparent;
		border-left: 8px solid transparent;
	}
	.tab_kaiketsu .nav #tab-genba_merit::after {
		border-top: 8px solid #EFA23A;
	}
	.tab_kaiketsu .nav #tab-genba_merit:not(.active)::after {
		border-top: 8px solid #FCECD8;
	}
	.tab_kaiketsu .nav #tab-kanri_merit::after {
		border-top: 8px solid #1C7FD2;
	}
	.tab_kaiketsu .nav #tab-kanri_merit:not(.active)::after {
		border-top: 8px solid  #DBEAF8;
	}
	.tab_kaiketsu .tab-panels {
		padding-top: 0;
		padding-bottom: 50px;
		z-index: 1;
	}
	.tab_kaiketsu .nav {
		z-index: 2;
	}
	#tab_genba_merit {
		background: rgba(239, 162, 58, 0.1);
	}
	#tab_kanri_merit {
		background: rgba(28, 127, 210, 0.1);
	}
	.dark .ux-menu-link__link {
		font-size: 1rem;
	}
	.absolute-footer {
		padding-bottom: 60px;
	}
	.sp_fix_btn {
		position: fixed;
		bottom: 0;
		z-index: 21;
	}
	.accordion-title {
		font-size: 100%;
	}
	.faq_list_wrap .accordion > .accordion-item > .accordion-title {
		padding: .5em 1em;
		border-radius: 10px;
	}
	.faq_list_wrap .accordion > .accordion-item > .accordion-inner {
		padding: .5em 0 .5em 2em;
	}
	.faq_list_wrap .accordion-inner .accordion-inner {
		padding: 0;
	}
	.faq_list_wrap .accordion .toggle {
		top: .3em;
		right: 5px;
	}
	.side_trial_bnr {
		top: auto;
		bottom: 60px;
	}
	.sp_btm_line .is-border {
		border-width: 0 0 1px 0 !important;
	}
	.logo_sp {
		max-width: 180px;
	}
}

.event-list {
	text-align: left !important; /* リスト全体を左寄せ */
}

.event-list .event-item {
	text-align: left !important; /* 各リストアイテムを左寄せ */
}

.event-list .event-item a {
	display: block; /* リンクをブロック要素にして全体をクリック可能に */
	text-align: left !important; /* リンクテキストを左寄せ */
}

.wpcf7 .confirm_wrap br {
	display: inline-block;
}
.form_wrap .large-6:nth-of-type(2n + 1) .col-inner {
	padding-right: 5px;
}
.form_wrap .large-6:nth-of-type(2n) .col-inner {
	padding-left: 5px;
}
.wpcf7 .wpcf7-submit:disabled {
}
.button {
	font-weight: normal;
}
input[type=button],
input[type=submit] {
	width: 100%;
	min-height: 50px;
	font-size: 1rem;
	border-radius: 8px;
	filter: drop-shadow(0 0 10px rgba(0,0,0,.16));
}
input[type=button] {
	color: #fff;
	background-color: var(--fs-color-primary);
}
label, legend {
	font-size: 1em;/*
	font-weight: normal;*/
}
form p a {
	text-decoration: underline;
}
label {
	color: #252F2F;
}

input[type=email], input[type=number], input[type=search], input[type=tel], input[type=text], input[type=url], textarea {
	background: rgba(239,162,58,.05);
	border: 1px solid #DEDEDE;
	box-shadow: none;
}
select {
	font-weight: normal;
}
::placeholder {
	color: #959595;
	font-size: 0.875rem;
	font-weight: 400;
}
ul li.bullet-checkmark {
	padding-left: 40px;
	border-bottom: none;
}
ul li.bullet-checkmark:before {
	content: "" !important;
	background: url(http://genba-r.com/wp/wp-content/uploads/2024/10/ico_check.svg) no-repeat 0 0 / contain;
	width: 23px;
	height: 17px;
	top: 1.2em;
}
.shadow_black30_red {filter: drop-shadow(0px 0px 30px rgba(239,162,58,.3));}

body .text {
	line-height: 2;
}

@media (max-width: 549px) {
	.sp_fs14 {font-size: .875rem;}

	.ttl_logo_contact {
		max-width: 140px;
		margin-right: 5px !important;
	}
}