/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jun 26 2025 | 03:16:26 */
html {
	font-size: 16px;
	scroll-behavior: smooth;
}

@media (max-width: 428px) {
	body.home .container {
		overflow: hidden;
	}
}

h1, h2, #section-contact h3, h4, h5, h6 {
	font-family: "Noto Sans JP" !important;
	color: inherit;
}

/* variable */
:root {
    --base-color1: #ffc64a;
    --base-color2: #ff2c1f;
    --sub-color: #fe002f;
    --border-color: #1a1a1a;
}

.l-contents--w1140 {
	width: 100%;
	max-width: 1140px;
	margin-inline: auto !important;
	margin:0 auto;
}

/* utility */
.u-pc-on {
	display: block;
}

.u-tb-on {
	display: none;
}

@media (max-width: 1024px) {
	.u-pc-on {
		display: none;
	}
	
	.u-tb-on {
		display: block;
	}
}

.u-p24 {
	padding: 24px !important;
}

.u-p32 {
	padding: 32px !important;
}

.u-p32_56 {
	padding: 56px !important;
}

.u-p32_64 {
	padding: 64px !important;
}

.u-p32_64 > .vc_column-inner {
	padding: 0 !important;
}

@media (max-width: 767px) {
	.u-p32_56 {
		padding: 32px !important;
	}

	.u-p32_64 {
		padding: 32px !important;
	}
}

.u-margin-b--32_60 {
    margin-bottom: 60px !important;
}

.u-margin-t--48_70 {
	margin-top: 70px;
}

@media (max-width: 767px) {
	.u-margin-t--48_70 {
		margin-top: 48px;
	}	
}

[class*="u-font-size"] {
	line-height: 1.3;
}

.u-fs--14 {
    font-size: clamp(0.875rem, 0.875rem + 0vw, 0.875rem);
}

.u-fs-14_16 {
    font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}

.u-fs-15_16 {
    font-size: clamp( 15px, calc( 14.59016393442623px + 0.1092896174863388vw ), 16px );
}

.u-font-size-14_16 {
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}

.u-font-size-16 {
    font-size: 16px !important;
}

.u-font-size-16_18 {
    font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem) !important;
}

.u-font-size-18_20 {
    font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem) !important;
}

.u-font-size-18_24 {
    font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem) !important;
}

.u-font-size-20_24 {
	font-size: clamp( 20px, calc( 18.360655737704917px + 0.4371584699453552vw ), 24px ) !important;
}

.u-font-size-20_30 {
	font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem) !important;
}

.u-font-size-22_28 {
				font-size: clamp( 22px, calc( 19.540983606557376px + 0.6557377049180327vw ), 28px ) !important;
}

.u-font-size-22_26 {
    font-size: clamp( 22px, calc( 20.360655737704917px + 0.4371584699453552vw ), 26px ) !important;
}

.u-font-size-22_32 {
    font-size: clamp(1.375rem, 1.148rem + 1.14vw, 2rem) !important;
}


.u-font-size-24_40 {
    font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem) !important;
}

.u-font-size-27_48 {
    font-size: clamp(1.688rem, 1.21rem + 2.39vw, 3rem) !important;
}

.u-font-size-32_56 {
    font-size: clamp(1.563rem, 0.858rem + 3.52vw, 3.5rem) !important;
}

.u-flex-jfc > div > div {
	display: flex;
	justify-content: space-between;
	width: 1140px;
	margin: 0 auto 80px auto;
}

.u-flex-jfc > div > div .wpb_content_element {
	flex: 1;
	margin-right: 32px;
}

.u-flex-jfc > div > div .wpb_content_element:last-child {
	margin-right: 0;
}

.u-flex-jfc > div > div .wpb_content_element * {
	width: 100%;
}

.u-underline--y {
	background: linear-gradient(transparent 95%, #ffc64a 0%);
}

@media (max-width: 1140px) {
	.u-flex-jfc > div > div {
		width: 100%;
		padding: 0 32px;
	}
}

@media (max-width: 912px) {
	.u-flex-dccr {
		flex-direction: column-reverse;
	}
}

@media (max-width: 768px) {
	.u-flex-jfc > div > div {
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		padding: 0 112px;
		margin-bottom: 0;
	}
	
	.u-flex-jfc > div > div .wpb_content_element {
		flex: initial;
		margin: 0 0 8px 0;
	}
	
	.u-flex-jfc .wpb_content_element {
		width: 50%;
	}
	
	.u-flex-jfc .wpb_content_element:nth-of-type(2) {
		margin-top: 24px;
	}
	
	.u-flex-jfc .wpb_content_element:last-child {
		margin-bottom: 0;	
	}
}

@media (max-width: 600px) {
	.u-flex-jfc > div > div {
		padding: 0 16px;
	}
}

.u-drop-shadow {
	filter: drop-shadow(4px 4px 6px rgba(0, 0, 0, 0.7));
}

.u-ta--l_r {
	text-align: right !important;
}

@media (max-width: 768px) {
	.u-ta--l_r {
		text-align: left !important;
	}	
}

.u-ta--c_l {
	text-align: left !important;
}

@media (max-width: 768px) {
	.u-ta--c_l {
		text-align: center !important;
	}	
}

.u-ta--c_r {
	text-align: right !important;
}

@media (max-width: 768px) {
	.u-ta--c_r {
		text-align: center !important;
	}	
}

/* header */
.wraper_header {
	padding-top: 40px;
}

.header-copy {
    position: absolute;
    top: 0;
    left: 0;
	display: flex;
	align-items: center;
    width: 100%;
    height:40px;
    background-color: #000;
}

.header-copy h1 {
    width: 100%;
    max-width: 1170px;
	padding: 0 25px;
    margin: 0 auto;
    font-size: 11px;
    text-align: left;
	color: #fff;
}

.wraper_header_main,
.header_main .brand-logo img {
	transition: all 300ms ease;
}

.header_main .brand-logo img {
	max-width: initial;
}

.wraper_header_main.is-sticky {
	position: fixed;
	top: 0;
	width: 100%;
	background-color: rgb(59 39 16 / 25%) !important;
}

.wraper_header_main.is-sticky > .container {
	padding-top: 16px;
	padding-bottom: 16px;
}

.wraper_header_main.is-sticky .header_main .brand-logo img {
	max-width: initial;
}

.header_main {
	display: flex;
	justify-content: flex-end;
}

.header_main .o-button--inquiry {
	position: static;
	display: inline-flex;
	/*width: initial;*/
	/*padding: 8px 56px;*/
	width:250px;
	padding:8px 0;
	margin: 0;
	transform: none;
}

.header_main .brand-logo {
	margin: 0;
	font-size: initial;
}

@media (max-width: 1140px) {
	.header_main .brand-logo img,
	.wraper_header_main.is-sticky .header_main .brand-logo img {
		max-width: 320px;
	}
}

@media (max-width: 767px) {
	.wraper_header_main.is-sticky > .container {
		padding-top: 8px;
		padding-bottom: 8px;
	}

}

@media (max-width: 600px) {
	.header_main .o-button--inquiry {
		display: none;
	}
	
	.header_main .brand-logo img,
	.wraper_header_main.is-sticky .header_main .brand-logo img {
		width: 100%;
		max-width: initial;
		margin-top: -24px;
	}

}

/* common */
.o-section {
    padding-top: 112px !important;
    padding-bottom: 112px !important;
}

#section02.o-section,
#section03.o-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.o-section__heading {
	margin-bottom: 40px;
	font-family: "Noto Sans JP";
	font-size: clamp(1.4rem, 1.182rem + 1.09vw, 2rem);
	font-weight: 700;
	line-height: 1.3;
}

.o-section__heading--sub {
	margin-bottom: 8px;
	font-family: Poppins;
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
	font-weight: normal;
	color: var(--sub-color);
	line-height: 1.3;
}

.o-section__heading--sub.is-yellow {
	font-weight: 600;
	color: var(--base-color1);
}

.o-section__description {
	font-family: "Noto Sans JP";
	font-size: 16px;
	line-height: 1.5;
}

@media (max-width: 768px) {
    .o-section {
        padding-top: 48px !important;
		padding-right: 16px !important;
        padding-bottom: 48px !important;
		padding-left: 16px !important;
    }
    
	#section02.o-section {
		padding-top: 0 !important;	
	}

	#section03.o-section {
		padding-top: 0 !important;	
		padding-bottom: 0 !important;
	}

    .o-section__heading {
        margin-bottom: 24px;
    }

    .o-section__heading--sub {
        margin-bottom: 4px;
    }
	
	#section09 .o-section__heading {
		padding-right: 16px;
		padding-left: 16px;
	}
	
	#section09 .o-section__heading--sub {
		padding-left: 16px;
	}
}

.o-button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 338px;
	padding: 19px 24px;
	margin: 0 auto;
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
	font-weight: 500;
	overflow: hidden;
	color: #1a1a1a;
	background-color: #fff;
	border: 2px solid var(--border-color);
	border-radius: 100px;
	transition: all 250ms ease-out;
}

.o-button .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--base-color2);
	border-radius: 100px;
	transform: translateX(-100%);
	transition: all 250ms ease-out;
}

.o-button p {
	position: relative;
	margin: 0;
	color: #1a1a1a;
	transition: all 250ms ease-out;
}

.o-button svg {
	position: absolute;
	top: 50%;
	right: 16px;
	width: 24px;
	transform: translateY(-50%);
}

.o-button:hover {
	border-color: var(--base-color2);
}

.o-button:hover .overlay {
	transform: translate(0);
}

.o-button:hover p {
	color: #fff;
}

.o-button:hover svg path {
	stroke: #fff !important;
	transition: all 250ms ease-out;
}

.o-recruit.is-footer .o-button {
	margin-left: 0;
}

@media (max-width: 768px) {
	.o-button {
		max-width: 235px;
		padding: 8px 24px;
	}
	
	.o-button:hover {
		border-color: var(--border-color);
	}
}

.o-button--confirmation {
	width: 100%;
    max-width: 456px;
	min-height: 72px;
    padding: 0 24px;
	margin-top: 48px;
    font-size: clamp(1.375rem, 1.33rem + 0.23vw, 1.5rem);
    font-weight: 700;
    color: #fff;
    background-color: #ff2c1f;
	border: none;
}

.o-button--back {
	width: 100%;
    max-width: 456px;
	min-height: 72px;
    padding: 0 24px;
	margin-top: 48px;
    font-size: clamp(1.375rem, 1.33rem + 0.23vw, 1.5rem);
    font-weight: 700;
    color: #fff;
    background-color: #b8b8b8;;
	border: none;
}


/* お客様の声（集まるまで非表示） */
#section07 {
	display: none;
}

@media (max-width: 767px) {
	#section08.o-section {
		padding-top: 88px;
	}
}

#section09 {
	padding-top: 112px;
	margin-top: 48px;
}

@media (max-width: 767px) {
	#section09 {
		padding-top: 60px;
		margin-top: 32px;
	}
}

.entry-content ul li {
	padding-left: 0 !important;
	margin-left: 0 !important;
}

.entry-content ul li.o-flow__item,
.entry-content ul li.o-step__item {
	padding-left: 16px !important;
}

.entry-content ul.js-slider li.o-flow__item {
	margin: 0 16px !important;
	aspect-ratio: 1/1;
}

.entry-content ul li.o-step__item:first-child {
	padding-left: 0 !important;
}

.radiantthemes-website-layout:has(.is-conf)  .o-button--inquiry,
.radiantthemes-website-layout:has(.is-conf)  .header-copy {
	display: none;
}

.radiantthemes-website-layout:has(.is-conf)  .wraper_header {
	padding-top: 0;
}

.radiantthemes-website-layout {
	overflow: hidden;
}

/*下層　デフォルトヘッダー*/
.wraper_inner_banner{
	display:none;
}