@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
*/

/*-----comon-----*/
p {
	text-align: justify;
}
.fwn {
	font-weight: normal;
}
.kaigyo {
	display: inline-block;
}
h1 {
	font-family:"Helvetica Neue","Helvetica","Arial","sans-serif"; 
}
.fs16 {
	font-size: 16px !important;
}
.tac {
	text-align: center;
}
.mt10 {
	margin-top: 10px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mr20 {
	margin-right: 20px !important; 
}
.mr1em {
	margin-right: 1em !important;
}
.p1-2 {
	padding: 1.2em !important;
}
.pl-06 {
	padding-left: 0.6em !important;
}
.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
	border-bottom: 1px solid #F79200;
}
.mw500c {
	max-width: 500px;
	margin: 0 auto;
}
.mw800c {
	max-width: 800px;
	margin: 0 auto;
}
.lst-none {
	list-style-type: none !important;
	padding-left: 0 !important;
}

/*テキスト入力欄の囲み罫線カスタマイズ*/
input:focus,
textarea:focus,
select:focus {
	outline: none; /* デフォルトのブラウザのアウトラインを消す */
	border-color: #63a84d; 
	box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.25); /* 縁取りの周りに薄い影を追加 */
	transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out; /* 滑らかな変化 */
}

/*--button--*/
.btn2{
  background:#f79200;
  color:#fff;
  border:none;
  position:relative;
  height:70px;
  font-size:1.03em;
  padding:0 3em;
  cursor:pointer;
  transition:800ms ease all;
  outline:none;
}
.btn2 a {
	color: #fff;
}
.btn2 a:hover {
	color: #f79200;
}
.btn2:hover{
	background:#fff;
	color:#f79200;
	font-weight: bold;
}
.btn2:before,.btn2:after{
  content:'';
  position:absolute;
  top:0;
  right:0;
  height:2px;
  width:0;
  background: #f79200;
  transition:100ms ease all;
}
.btn2:after{
  right:inherit;
  top:inherit;
  left:0;
  bottom:0;
}
.btn2:hover:before,.btn2:hover:after{
  width:100%;
  transition:600ms ease all;
}

/*--pagetop--*/
#pagetop {
	height: 60px;
	width: 60px;
	border: 2px solid #63a84d;
}
#pagetop .icon-chevron-up:before {
	content: "\e912";
    font-size: 1.8em;
}

/*--haisha--*/

.contact_fix_sp {
  display: none;
}
.contact_fix_pc {
  display: fixed;
}
.contact_fix_pc .haishabtn {
  position: fixed;
  text-align: center;
  right: 2.2em;
  bottom: 6em;
  width: 60px;
  background: #fff;
  color: #f39231;
  font-size: 18px;
  box-sizing: border-box;
  border: 2px solid #f39231;
  border-radius: 30px;
  padding: 20px 0;
  cursor: pointer;
  z-index: 3;
  line-height: 1.1;
  transition: all .25s; 
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none; /* 非表示時クリック不可に */ 
}
.contact_fix_pc .haishabtn.show {
  opacity: .75;
  transform: translateY(0);
  pointer-events: auto;
}
.contact_fix_pc .haishabtn:hover {
  background: #f39231;
  color: #fff;
  border: 2px solid #f39231;
  opacity: 1;
}
.contact_fix_pc .haishabtn img {
  height: 34px;
  margin-bottom:0.5em;
}

.contact_fix_pc .haishabtn img.hover,.contact_fix_pc .haishabtn:hover img.active{
  display: none;
}

.contact_fix_pc .haishabtn:hover img.hover, .contact_fix_pc .haishabtn img.active{
  display: inline;
}

.contact_fix_pc .haishabtn span {
   writing-mode: vertical-rl; 
}
.contact_fix_pc .haisha_modal.close {
  display: none;
}
.contact_fix_pc .haisha_modal {
  background: rgb(99 168 77 / 70%);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 992;
}
.contact_fix_pc .modal_innr {
  width: 80%;
  max-width: 1100px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.hl_modal{
    font-size:36px;
    margin-bottom:1em;
    font-weight:bold;
    color:#fff;
}
  .modal_app,.modal_tel{
    padding:40px 60px;
    border-radius:24px;
    margin-bottom:40px;
    width:48%;
    text-align: center;
  }
  .modal_app{
    background:#f79200;
    margin-right:4%;
  }
  .contact_fix_pc .app_logo{
    width:270px;
    margin-bottom:10px;
  }
.app_download{
    display:flex;
    align-items: center;
    justify-content: space-between;
    border:2px solid #fff;
    color:#fff;
    font-size:1.5em;
    padding-left:20px;
}
.app_download img{
    height:90px;
}
.modal_tel{
    background:#03325e;
}
.tel_logo{
    height:70px;
    margin-bottom:50px;
    margin-top: 50px;
}
.tel_taxi{
    width:230px;
    margin-bottom:20px;
}
.contact_fix_pc .tel_haisha{
    font-size:32px;
    color:#fff;
	margin: 10px
}
.contact_fix_pc .tel_haisha img{
    width:45px;
    margin-right:0.5em;
	vertical-align: text-bottom;
}
.contact_fix_pc .tel_haisha span{
    font-size: 85%;
    display: block;
}
.haisha_closebtn {
    font-size:20px;
    padding:20px 60px;
    border-radius:40px;
    background:#fff;
    border:2px solid #63a84d;
    cursor: pointer;
    color:#63a84d;
    transition: all .25s;
}
.haisha_closebtn:hover {
    background:#63a84d;
    color:#fff;
}
@media screen and (max-width:1440px) {
    
.hl_modal{
    font-size:1.5em;
}
.contact_fix_pc .app_logo{
    width:240px;
  }
.tel_logo {
    height: 50px;
    margin:40px 20px 50px;
}
.modal_app, .modal_tel{
    padding: 1.5em;
    margin-bottom:30px;
}
}
@media screen and (max-width:1240px) {
.app_download {
    font-size: 1.3em;
    padding-left: 15px;
}
.app_download img{
    height:70px;
}
.haisha_closebtn {
    font-size:16px;
    padding:15px 40px;
    border-radius:30px;
}
}
@media screen and (max-width:959px) {
    .contact_fix_pc {
        display: none;
    }
 .contact_fix_sp {
    display: flex;
  }
  .contact_fix_sp .haishabtn {
    position: fixed;
    display: flex;
    align-items: center;
    left: 0.75em;
    bottom: 1em;
    height: 60px;
    background: #fff;
    color: #f39231;
    font-size: 18px;
    box-sizing: border-box;
    border: 2px solid #f39231;
    border-radius: 30px;
    padding: 0 15px;
    z-index: 3;
    transition: all .25s; 
    opacity: 0;
  transform: translateY(-10px);
  pointer-events: none; /* 非表示時クリック不可に */ 
  }
  .contact_fix_sp .haishabtn.show {
  opacity: .75;
  transform: translateY(0);
  pointer-events: auto;
}
  .contact_fix_sp .haishabtn:hover {
  background: #f39231;
  color: #fff;
  border: 2px solid #f39231;
  opacity: 1;
}
  .contact_fix_sp .haishabtn img {
    height: 28px;
    margin-right:0.5em;
  }
  .contact_fix_sp .haisha_modal.close {
    display: none;
  }
  .contact_fix_sp .haishabtn img.hover,.contact_fix_sp .haishabtn:hover img.active{
    display: none;
  }
  .contact_fix_sp .haishabtn:hover img.hover,.contact_fix_sp .haishabtn img.active{
    display: inline;
  }
  .contact_fix_sp .haisha_modal {
    background: rgb(99 168 77 / 70%);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 992;
  }
  .contact_fix_sp .modal_innr {
    width: 92%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
    color:#fff;
  }
  .hl_modal{
    font-size:20px;
    margin-bottom:1.2em;
  }
  .modal_app,.modal_tel{
    padding:30px;
    border-radius:22px;
    margin-bottom:30px;
  }
  .modal_app{
    background:#f79200;
  }
  .app_logo{
    width:180px;
    margin-bottom:10px;
  }
  .app_wrap{
      display:flex;
      justify-content: center;
  }
  .app_wrap a{
        display:block;
        margin:0 0.5em;
    }
  .app_wrap a img{
        width:140px;
        
    }
  .tel_logo{
      height:38px;
      margin-bottom:16px;
      margin-top:10px;
  }
    
  .contact_fix_sp .tel_haisha {
    color: #fff;
    font-size: 28px;
    font-weight: bold;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .contact_fix_sp .tel_haisha img{
    height:40px;
    margin-left:0.5em;
  }
  .contact_fix_sp .modal_innr p {
    font-size: 15px;
  }
}
@media screen and (max-width:768px) {
  .modal_app,.modal_tel{
    width:100%;
  }
  .modal_app{
    margin-right:0;
  }
}
@media screen and (max-width:370px) {
  .modal_app,.modal_tel{
    padding:20px;
    border-radius:22px;
    width:100%;
    margin-bottom:20px;
  }
  .contact_fix_sp .tel_haisha{
    font-size:24px;
  }
}
/*-----header-----*/
/*--g-nav--*/
.c-gnav>.menu-item>a {
    padding: 0 8px;
}
.c-gnav>.menu-item>a .ttl {
    display: block;
    font-size: 16px;
    width: 110px;
}
.c-gnav > li:hover > a, .c-gnav > .-current > a {
    background: #f79200;
    color: #ffffff;
    font-weight: bold;
}
.c-gnav>.menu-item>.sub-menu {
    left: 5%;
}
.c-gnav .sub-menu a {
    background-color: #63a84d;
    color: #ffffff;
	padding: .9em .75em .9em 2em;
}
.c-gnav .sub-menu a:hover {
    background-color: rgb(102 182 64 / 80%);
	font-weight: bold;
}
.c-gnav .sub-menu a:before {
	content: "\e930";
}
.l-fixHeader__logo {
	padding: 12px 0;
}
p.wp-elements-7bddc22832d8b9cb66bbb9c25c186ffd {
    padding: 10px 20px 8px 14px;
}
/*--breadcrumb--*/
.p-breadcrumb.-bg-on {
    background: none;
}

/*--mobile--*/
.c-iconBtn__label {
	font-size: 12px;
}
.icon-menu-thin:before {
    content: "\e918";
}

/*-----mobile menu-----*/
/*--close button--*/
.icon-close-thin:before {
    color: #63a84d;
	font-size: 32px;
}
.c-widget__title.-spmenu {
	padding: 0em .55em;
	background: none;
	color: #333333;
	font-size: 2.2em;
	text-align: center;
}
.p-spMenu .c-widget__title {
    margin-bottom: 0.6em;
}
.c-spnav {
	font-size: 1.2em;
}
.p-spMenu a:hover {
    background-color: #c4f5b440;
}
.p-spMenu__inner {
	padding-top: 50px;
}
.p-spMenu__inner::before {
    background-image: url(/wp_sk/wp-content/uploads/2025/02/sp_menuback.png);
	background-position: center;
}



/*-----footer-----*/
/*--ウィジェットエリア--*/
.l-footer__widgetArea {
	padding-bottom: 2em;
    padding-top: 2em;
}
.widget-bana {
	max-width: 300px !important;
    min-width: 270px !important;
    width: 100%;
}
#media_image-10,#media_image-12 {
	text-align: center;
}
/*--copyright--*/
.l-footer__foot {
	padding-bottom: 6.5em;
}

/*--会社情報下アイコン--*/
ul.icon {
	display: flex;
	margin: 30px 10px;
}
/*--ページタイトル--*/
.c-pageTitle {
    font-size: 2.0em;
}


/*-----home-----*/
/*--メイン画像--*/
/*画像上テキストアニメーション*/
.p-mainVisual__textLayer {
    color: #ffffff;
    text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.2);
    text-align: left;
    font-weight: bold;
	animation: fadeIn 5s ease 1s 1 normal backwards;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.p-mainVisual__slideTitle {
	line-height: 0.9;
	font-size: calc(10.0vw + 1.3rem);
	font-family:"Helvetica Neue","Helvetica","Arial","sans-serif"; 
}
/*--pick upバナー--*/
.top #content {
    padding-top: 3em;
}
.p-pickupBanners {
	margin-bottom: 7em;
}
.c-bannerLink__label {
	font-size: 5.0vw;
}
span .pub_subtext {
	font-size: 0.8em;
	font-weight: lighter;
}
/*--YouTubeモーダル--*/
.modal-trigger {
  width: 800px;
  cursor: pointer;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.modal-trigger:hover {
  opacity: 0.8;
}
.modal-video {
  background-color: rgba(0, 0, 0, 0.8) !important;
}
.modal-video-body {
  max-width: 1280px !important;
}

/*-----投稿ページ-----*/
.wp-block-latest-posts__post-title {
	font-weight: bold;
}
.wp-block-latest-posts__post-excerpt {
	font-size: 0.85em;
}
/*--投稿タイトル--*/
.c-postTitle__ttl {
	padding: 0 .5em .5em;
	border-bottom: solid 1px #63a84d;
}
/*--前後投稿--*/
.p-pnLinks__item.-prev .p-pnLinks__thumb {
    margin-right: 12px;
}
.p-pnLinks__thumb {
	height: 60px;
	width: 90px;
}
/*--SNSシェアボタン--*/
.c-shareBtns__btn {
	padding: 8px 8px;
}
/*--フッターカテゴリ表示箇所--*/
.p-articleMetas.-bottom {
	display: none;
}
.p-articleFoot {
    border-top: 1px dashed var(--color_border);
    margin: 5.0em 0 0;
    padding-top: 0;
}

/*-----投稿アーカイブページ-----*/
.p-postList__title {
	color: #63a84d !important;
}
.c-pageTitle__subTitle {
	display: none;
}

/*-----最新投稿表示-----*/
.wp-block-latest-posts__post-title {
	color: #63a84d;	
}

/*-----overview-----*/
/*--応募の流れ・STEP表示--*/
.is-style-big>.swell-block-step__item>.swell-block-step__number .__label {
    font-size: 20px;
	font-weight: bold;
}
.is-style-big>.swell-block-step__item>.swell-block-step__number:after {
    font-size: 34px;
	font-weight: bold;
}

/*-----info-----*/
/*--あゆみ幅調整--*/
.history-w {
	max-width: 860px;
	margin: 0 auto;
}
/*--あゆみの年号部分--*/
.is-style-small .swell-block-step__number:after {
    font-size: 18px;
	font-weight: bold;
    opacity: 1.0;
	color: #63a84d;
}
/*--あゆみの画像部分--*/
.history-img {
	max-width: 180px;
	margin: 0 auto !important;
}

/*問い合わせフォーム*/
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea{
	display: block;
	width: 100%;
	height: 45px;
	margin-bottom: 0;
	padding: 0 12px;
	border: 0;
	border-radius: 3px;
	background-color: #f5f5f5;
	box-shadow: none;
	color: #333;
	font-size: 18px;
	vertical-align: middle;
	line-height: 45px;
}
textarea {
	max-width: 100%;
	min-height: 160px;
	line-height: 1.5em;
	padding: 0.8em;
	overflow: auto;
}
.wpcf7 input[type="email"]::placeholder {
	color: #aaa;
	font-size: 16px;
}
.wpcf7 input[type="tel"]::placeholder {
	color: #aaa;
	font-size: 16px;
}
.wpcf7 form .wpcf7-response-output {
    border-radius: 0 !important;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #f79200 !important;
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #43a84d !important;
}
@media(max-width:599px) {
	.inquiry td,
	.inquiry th {
		display: block !important;
		width: 100% !important;
		border-top: none !important;
		-webkit-box-sizing: border-box !important;
		-moz-box-sizing: border-box !important;
		box-sizing: border-box !important;
	}
	.inquiry tr:first-child th {
		border-top: 1px solid #ddd !important;
	}
}
.inquiry th {
	text-align: left;
	font-size: 16px;
	color: #63a84d;
	padding-left: 1.0em;
	width: 30%;
	background: #7CD2600D;
	border: solid 1px #ddd;
}
.inquiry td {
	font-size: 14px;
	border: solid 1px #ddd;
	padding: 0.8em;
}
.req { /* 必須 */
	font-size: 12px;
	padding: 5px;
	background: #ef9100;
	color: #fff;
	border-radius: 2px;
	margin-right: 10px;
	position: relative;
	bottom: 1px;
}
.any { /* 任意 */
	font-size: 12px;
	padding: 5px;
	background: #aaa;
	color: #fff;
	border-radius: 2px;
	margin-right: 10px;
	position: relative;
	bottom: 1px;
}
.verticallist .wpcf7-list-item {
	display: block;
}
.wpcf7-list-item {
	display: block;
	font-size: 16px;
}
.wpcf7-list-item-label {
	margin-left: 5px;
}
th {
	font-weight: normal !important;
	padding: 13px;
}
td {
	border-top: 1px solid #ededed;
	padding: 12px;
}
input,
select,
textarea {
	margin: 0;
	max-width: 100%;
	resize: none;
}
.wpcf7-submit {
	display: block;
	border: none;
	width: 350px;
	margin: 25px auto 0;
	padding: 15px;
	cursor: pointer;
	font-size: 18px;
	background-color: var(--color_main);
	border: 1px solid #63a84d;
	color: #fff;
	font-weight: 700;
	transition: .25s;
}
.wpcf7-submit:hover {
	background-color: #ffffff;
	border: 1px solid #63a84d;
	color: #63a84d;
}
/* チェックボックスとラジオボタンの選択時の色を共通で設定 */
input[type="checkbox"]:checked,
input[type="radio"]:checked {
	accent-color: #60a34b;
}
.wpcf7-form-control:focus {
	outline: none;
	border-color: #63a84d;
	box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.25);
	transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 1em;
	border-radius: 0.25rem;
	border: 2px solid #00a0d2; /* Blue */
}
.wpcf7 form.init .wpcf7-response-output {
	display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450; /* Green */
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
}
.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
}

/*-----media query-----*/
/*-----W960px以上-----*/
@media (min-width: 960px) {
    .-series-right .w-header {
        margin-left: 24px;
    }
}
/*-----w600px以上-----*/
@media (min-width: 600px) {
	/*--メイン動画重ねテキスト--*/
    .p-mainVisual__slideTitle {
        font-size: calc(9.0vw + 1.3rem);
    }
	/*--pick upバナー--*/
	.c-bannerLink__label {
		font-size: 1.2em;
	}
	/*--telリンク--*/
		a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
	}
	/*--PCview非表示--*/
	.pc-none {
		display: none;
	}
	/*--投稿タイトル--*/
	.c-postTitle__ttl {
        font-size: 28px;
	}
	/*--前後投稿--*/
	.p-pnLinks__thumb {
        height: 80px;
        width: 120px;
    }
	.p-pnLinks__item {
        font-size: 15px;
    }
	.-type-card .p-postList__excerpt {
        font-size: 15px;
    }
}

/*--w944px以下--*/
@media (max-width: 959px) {
    #custom_html-5.widget_text.c-widget.widget_custom_html {
        width: 300px;
		margin: 0 auto;
    }
}
/*-----w599px以下-----*/
@media (max-width: 599px)  {
	/*--SPviewのフォントサイズ--*/
	#lp-content .post_content, #main_content .post_content {
	font-size: 16px;
}
	/*--メディアとテキストスマホ表示順入替--*/
	.swell-col-reverse .swell-block-columns__inner{
		flex-direction: column-reverse; 
	}
	/*--TOPページOur effort画像--*/
	.effort-img {
		max-width: 300px;
		margin: 0 auto;
	}
	/*--タイトル下余白調整--*/
	.l-mainContent__inner > .post_content {
    margin: 2.4em 0px;
	}
	/*--前後投稿--*/
	.p-pnLinks__title {
		font-size: 14px;
	}
	/*--新着投稿リスト--*/
	.wp-block-latest-posts.is-grid li {
    margin: 0 0 1.25em 0;
	}
	.wp-block-latest-posts__post-excerpt {
	font-size: 15px;
	}
	/*--カテゴリーアーカイブ--*/
	.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
		line-height: 1.2;
		text-align: center;
	}
	.p-postList__title {
		font-size: 16px !important;
	}
	.c-pageTitle__subTitle {
	display: inline-block;
	margin-left: 0;
}
	.p-postList__excerpt {
		font-size: 15px !important;
	}
}