@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* -------------パンくず------------- */
#breadcrumb.p-breadcrumb.-bg-on {
	background-color:#333 !important;
	color:#fff !important;
}

#breadcrumb .__home.icon-home::before{
	display:none!important;
	
}

.p-breadcrumb__list{
	font-size:13px;
}

.l-topTitleArea+.p-breadcrumb {
	padding-top:8px;
}

/* -------------ヘッダー------------- */
.l-header__inner,
.l-fixHeader__inner{
   padding-right:0;
	margin-right:0;
	max-width:none;
}


.header-nav span.ttl{
	font-weight: bold;
	 font-size: clamp(0.875rem, 0.688rem + 0.31vw, 1rem) !important;
}

.btn-consult{
	margin-left:clamp(1.25rem, -1.094rem + 3.91vw, 2.813rem);
	background: #4d4d4d;

}

.btn-contact {
  background: #a67c52;
}

.btn-consult span.ttl,
.btn-contact span.ttl {
  color: #fff !important;
  font-weight: bold;
  width:clamp(6.25rem, -0.763rem + 11.7vw, 10.938rem);
  font-size:clamp(1rem, 0.439rem + 0.94vw, 1.375rem) !important;
}

.btn-consult:hover span.ttl,
.btn-contact:hover span.ttl{
	color:#333!important;
}

.c-widget__title.-spmenu{
	background: linear-gradient(-45deg, #009245 0%,  #29abe2 100%);
}


/* -------------MV------------- */
.p-mainVisual__slideTitle{
	font-size: clamp(1.25rem, 0.485rem + 3.27vw, 3.75rem)!important;
}

.p-mainVisual .c-filterLayer::before {
	display:none;
}

/* スクロールボタン */
.p-mainVisual__scroll{
	background-image: url(/wp-content/uploads/2025/08/scroll.png)!important;
	height:150px!important;
	opacity:1;
}


.p-mainVisual__scroll{
	left:20%;
	bottom:5%;
}

/* -------------ボタン------------- */
.swell-block-button {
	margin:0 auto !important;
}


/* -------------topページmessage------------- */
.wp-block-group.top-message {
	position:relative;
}

.wp-block-group.top-message::after {
	position:absolute;
	content:"";
	top:0;
	right:clamp(1.75rem, -19.063rem + 34.69vw, 15.625rem);
	width: 455px;
    height: 230px;
	background-image: url(/wp-content/uploads/2025/07/message-bg.png);
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: left center;
    z-index: -1;
}

.wp-block-group.top-message::before {
	position:absolute;
	content:"";
	background-color:#d1d199;
	width:100vw;
	height:230px;
	right: calc(50% + 316px);
	z-index: -1;
}

.section-label {
	color:#fff;
	background-color:#4d4d4d;
	padding:3px 40px;
	width:fit-content;
	display:inline-block
}

.post_content .has-text-align-left.is-style-section_ttl{
	width:100%;
}

.post_content .is-style-section_ttl.section-title {
	position:relative;

}

.post_content .is-style-section_ttl.section-head{
	font-size:60px;
}

.section-head-sub {
	font-size:33px;
}

.wp-block-heading.has-text-align-left.is-style-section_ttl.section-title{
	font-size:38px!important;
}

.post_content .is-style-section_ttl.section-title::after {
	position:absolute;
	content:"";
	bottom:-12px;
	left:0;
	width:100vw;
	height:1px;
	background-color:#a4a800;
}

.post_content .is-style-section_ttl.section-title.section-title--left::after{
	left:auto;
	right:0;
}

.post_content .is-style-section_ttl.section-title.section-title--white::after{
	background-color:#fff;
}

/* -------------topページmain-service------------- */
.top-main-service{
	position:relative;
	padding:0!important;
/* 	margin-left:-200px; */

}

.top-main-service::before{
	content:"";
	position:absolute;
	background:linear-gradient(-45deg, #009245 0%,  #29abe2 100%);
	height:100%;
	z-index:-1;
/* 	top:130px; */
/* 	left: -100vw;
	right:-100vw; */
	top:130px;
	bottom:0;
	left: calc(50% - 50vw);
  	right: calc(50% - 50vw);
	background-repeat: no-repeat;
  	background-position: top center;
	
}

.top-main-service .wp-block-group__inner-container{
	transform: translateX(-200px); 
}

.top-main-service .swell-block-columns__inner{
	background-color:#fff;
	padding:65px 10px 65px 200px;
	
}


.top-main-service__img {
	margin-top:35px;
	
}


/*------------- topページcompany-info------------- */
.top-company-info {
	position:relative;
	margin-top:60px!important;
}


.top-company-info::before{
	position:absolute;
	content:"";
	background:linear-gradient(-45deg, #009245 0%,  #29abe2 100%);
	height:75%;
/* 	left: -100vw;
	right:-100vw; */
	z-index:-1;
	top:0;
	bottom:0;
	left: calc(50% - 50vw);
  	right: calc(50% - 50vw);
	background-repeat: no-repeat;
  	background-position: top center;
}

.top-company-info .wp-block-group__inner-container {
	padding-top:60px;

}

.top-company-info__text {
	margin-top:20px;
	margin-bottom:30px;
}

.top-company-info__colum {
	border-radius:10px;
	background-color:#333;
	padding:10px!important;
}

.top-conmpany-info__grid {
	align-items:center;
}

.top-company-info__grid > *:nth-child(2) {
	text-align:left;
	margin-left:30px;
}

.top-company-info__grid > *:nth-child(3) {
	margin-left:auto;
}

/*------------- topページnews------------- */

.is-style-section_ttl.top-news {
	margin-bottom:45px;
}

.top-news__lists .p-postList__body{
	display:flex;
	align-items: center;
}

.top-news__lists .p-postList__meta {
	column-gap:30px;
	 flex-wrap: nowrap;
	 width: 400px;
    align-items: center;
}

.top-news__lists .c-postTimes__posted.icon-posted {
	font-size:1rem;
	font-weight:bold;
}

.top-news__lists .c-postTimes__posted.icon-posted::before,
.top-news__lists .p-postList__cat.u-thin.icon-folder::before{
	display:none;
}

.top-news__lists .p-postList__cat.u-thin.icon-folder {
	background-color:#333;
	color:#fff;
	padding:3px 20px;
	width:fit-content;
	display:inline-block;
	border-radius:4px
	
}

.section-margin{
	margin-top:190px!important;
}

.top-news__lists .p-postList__title {
	margin-left:30px;
}

/* -------------footer------------- */
.footer-bg {
	position:relative;
	
}

.post_content>:last-child {
	margin-top:65px!important;
}

.footer-bg::before{
	position:absolute;
	content:"";
	background:linear-gradient(-45deg, #009245 0%,  #29abe2 100%);
	height:100%;
	left: -100vw;
	right:-100vw;
	z-index:-1;
}

.footer-bg .wp-block-group__inner-container {
	padding-top:70px;
	padding-bottom:70px;
}

.footer__list {
	padding-left:20px;
	position:relative;
}

.footer__list::before {
	 position: absolute;
    content: "";
    width: 1px;
    height: 100%;
    background-color: #fff;
    left: 0;
}

.footer__list li{
	margin-left:20px;
}


.map-wrap {
	margin-top:50px;
}

.l-content{
	margin-bottom:0;
}

.l-footer__foot{
	padding-top:40px;
	padding-bottom:40px;
}

/* -------------下層ページmain-service------------- */
.sub-main-service__banner {
	position:sticky;
	top:100px;
}


#top_title_area {
	height:285px!important;
}

.l-topTitleArea__body{
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
}


.c-pageTitle {
	font-size:60px !important;
	font-weight:bold !important;
	text-align: left!important;
	line-height:1;
}

.c-pageTitle__subTitle {
	top: -100px!important;
    display: block;
    font-size: 25px!important;
	font-style:normal!important;
	text-transform: uppercase;

}

.sub-main-service__section-title{
	margin-top:70px!important;
}

.post_content h2{
	border-left:none!important;
	width:100%;
}

.post_content h4::before {
	display:none!important;
}

h3.wp-block-heading.is-style-default{
	width:100%;
}

/* -------------お問い合わせフォーム------------- */

.sub-contact {
	margin-top:50px!important;
}

.contact-form__grid {
  position:relative;
  width: 100%;
  margin: 0 auto;
  background-color:#f7f7f7;
  padding: 40px 40px 40px 20px ;
  border-radius: 12px;
}

.contact-form__grid::before{
	position:absolute;
	content:"";
	width:25%;
	height:100%;
	background:linear-gradient(-45deg, #00a99d 0%,  #22b573 100%);
	top:0;
	left:0;
 	border-radius: 12px 0 0 12px;
}

.contact-form__row {
  display: flex;
	align-items:center;
  margin-bottom: 20px;
}

.contact-form__row--textarea {
  align-items: flex-start;
}

.contact-form__label-block {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  max-width: 25%;
 width:100%;
  min-height: 40px;
  padding: 10px;
  border-radius: 8px;
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.6;
position:relative;
 z-index:1;
}

.contact-form__label-block:not(:has(.contact-form__required))::before {
  content: '';
  display: inline-block;
  min-width: 70px;
  height: 1px;
}

.contact-form__label-block p{
	display:flex;
}

.contact-form__required {
  display: inline-block;
  font-size: 12px;
  font-weight: bold;
  color: #171b70;
  background-color: #fff;
  padding: 2px 6px;
  border-radius: 10px;
  white-space: nowrap;
  min-width: 70px; 
	text-align:center;
}

.contact-form__label {
  white-space: nowrap;
	margin-left:20px;
}

.contact-form__input-wrap {
  flex: 1;
  margin-left: 50px;
}

.contact-form__input,
.contact-form__textarea {
  width: 100%;
  background-color: #fff;
  padding: 12px;
  font-size: 16px;
  border-radius: 6px;
  border: none;
  font-weight: 400;
  color: #333;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

.contact-form__submit-wrap {
  text-align: center;
  margin-top: 40px;
}

.contact-form__submit {
  background-color: #a8754a;
  color: #ffffff;
  font-size: 16px;
  font-weight: bold;
  padding: 15px 0;
  border-radius: 6px;
  border: none;
  letter-spacing: 0.1em;
  line-height: 1.6;
	max-width:315px;
	width:100%;
	transition: all .3s;
}

.contact-form__submit:hover{
	opacity:0.8;
}



/* ===========レスポンシブ =================*/

@media screen and (min-width: 1920px) {
.p-mainVisual__scroll{
	left:30%;
}
}

@media screen and (max-width: 1200px) {
.p-mainVisual__scroll{
	height:120px!important;
}
	
.contact-form__grid::before {
		width:30%;
}
	
.contact-form__input-wrap {
  	margin-left: 75px;
}

}



@media screen and (max-width: 959px) {

.p-mainVisual__inner {
	min-height:600px;
}
	
.p-mainVisual__slideTitle{
	line-height:1.7!important;		
}
	
.p-mainVisual__scroll{
	background-image: url(/wp-content/uploads/2025/08/scroll-sp.png)!important;
	left:25%;
	bottom:10%;
	height: 250px !important;
}
	
.p-mainVisual__scroll::after{
	position:absolute;
	content:"read more";
	text-transform:uppercase;
	bottom:-30px;
	left:50%;
	transform:translatex(-50%);
	font-size:16px;
	min-width:130px;
}
	
.wp-block-group.top-message::after{
	right:53%;
}
	
.btn-consult,
.btn-contact {
    background: #fff;
}

.btn-consult{
  margin-left:0;
}
	
.p-mainVisual__textLayer {
   justify-content: flex-start;
 padding-top: clamp(1.25rem, -1.563rem + 4.69vw, 3.125rem);
}
	
.top-main-service {
	margin:0;
}
	
.top-main-service::before{
	height:95%;
}
	
.top-main-service .wp-block-group__inner-container {
	width:100vw!important;
	margin-left:calc(50% - 50vw);
	max-width:none!important;
}
	
.top-main-service .wp-block-image img{
	width:100%;
}
	
.top-main-service .swell-block-columns__inner{
	border-radius:20px;
	padding:25px 200px 35px 10px;
	margin-right:-200px;
	margin-left:0;
}
	
.top-main-service__content{
 	padding:30px 20px;
	position:relative;
	top:-113px;
	
} 
	
.top-main-service__main-img {
	width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
	
.top-main-service__img {
	display:none;
}
	
.top-news__lists .p-postList__body{
	flex-direction:column;
	align-items: flex-start;
}

.top-news__lists .p-postList__title {
	margin-left:0;
}
	
.footer-bg {
		color:#333!important;
}
	
.footer-bg::before{
background:#fff;
}
	
.footer__map {
	display:none;
}
	
.footer__list {
	padding-left:0!important;
	margin-top: 20px!important;
}

.footer__list::before {
    width: 100%;
    height: 1px;
    background-color: #d0d0d0;
    top:-10px;
	left:0;
}

.l-footer {
	background:linear-gradient(-45deg, #00a99d 0%,  #22b573 100%);
	color:#fff;
}
	
/* お問い合わせフォーム */
	
.sub-contact {
	margin-top:40px!important;
}	
	
.contact-form__grid {
  padding: 20px 10px ;
}
	
.contact-form__grid::before{
	display:none;

}
	
.contact-form__label-block {
	color:#333;
}
	
 .contact-form__row {
    flex-direction: column;
	 align-items:flex-start;
 }
	

 .contact-form__label-wrap {
    width: 100%;
    border-radius: 8px 8px 0 0;
  }
	
.contact-form__label-block:not(:has(.contact-form__required))::before {
display:none;
}

.contact-form__label {
	margin-left:0;
}
	
.contact-form__label-block{
	padding:0;
}
	
.contact-form__label-block:has(.contact-form__required) .contact-form__label {
	margin-left:15px;
}
	
 .contact-form__input-wrap {
    padding-left: 0;
	 margin-left:0;
	width:100%;
 }
	
.contact-form__required {
	background:linear-gradient(to right, #29abe2 0%,  #009245 100%);
	color:#fff;
}

  .contact-form__submit {
    width: 100%;
	  max-width:250px;
  }
}



@media screen and (max-width: 599px) { 
.p-mainVisual__slideTitle{
	font-size:29px!important;
}
	
/* スクロールボタン */
.p-mainVisual__scroll{
	height: 315px !important;
}
	
	
.post_content .is-style-section_ttl.section-head{
	font-size:26px;
}
	
.top-news.section-head{
	font-size:26px!important;
	}
	
.section-margin{
	margin-top:20px!important;
}

.top-company-info .section-head{
	font-size:26px!important;
	}
	
.section-head-sub{
		font-size:15px;
}
	
.wp-block-heading.has-text-align-left.is-style-section_ttl.section-title{
	font-size:23px!important;
}
	
.post_content .is-style-section_ttl.section-title.section-title--white{
		font-size:15px!important;
	}

	
.wp-block-group.top-message::after {
	top:0;
	right:0;
	left:-50px;
	width: 195px;
    height: 100px;
}
	
	
.top-main-service::before{
	height:90%;
}
	
	
.top-main-service__content {
	padding-top:30px;
}

	
.top-news__lists {
	margin-top:15px!important;
}
	
.top-company-info__text{
	font-size:14px!important;
}	
	
.top-company-info__arrow{
	width:25px;
	margin-left:auto!important;
}
	
.top-company-info::before{
	height:85%;
}
	
.top-company-info{
  margin-top:30px!important;
}
	
.top-company-info .wp-block-group__inner-container{
	padding-top:30px;
}
	
.map-wrap {
	margin-top:30px;
}
	
.map-wrap iframe{
	height:250px;
}
	
.footer-bg .wp-block-group__inner-container {
	padding-top:0;
	padding-bottom:0;
}
	
.l-footer__foot{
	padding-top:30px;
	padding-bottom:30px;
}
	
.l-content{
	margin-bottom:20px;
}
	
/* 下層ページMV */
#top_title_area {
	height:125px!important;
}
	
.c-pageTitle {
	font-size:30px !important;
	
}
	
.c-pageTitle__subTitle {
	top: -55px!important;
    font-size: 10px!important;
}
	
.sub-main-service__section-title{
	margin-top:40px!important;
}

@media screen and (max-width: 781px) {
.wp-block-group.top-message::after{
	right:30%;
}
	
.wp-block-group.top-message::before {
	right: calc(50% + 290px);
}
		
}
	
@media screen and (max-width: 375px) {
.top-main-service::before{
	height:85%;
}
}
	
