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

.slider1 {
  display: flex;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height:200px;
  overflow: hidden;
}
.slider1 ul{
	display:flex;
	padding: 0;
	margin:0;
}
.slider1 li{
	width:300px;
	list-style: none;
}
.slider1 ul:first-child {
  animation: slide1 150s -75s linear infinite;
}

.slider1 ul:last-child {
  animation: slide2 150s linear infinite;
}
@keyframes slide1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes slide2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}


.l-mainContent__inner {
   margin-top: -15px;
}


/************************************
** お問い合わせフォームの入力
************************************/
#cf-tbl{
width: 800px;
}

#cf-tbl table{
width: 100%;
border-collapse: collapse;
border: solid #CCC;
border-width: 1px;
color: #444;
}
#cf-tbl table tr th,
#cf-tbl table tr td{
padding: 0.5em;
text-align: left;
vertical-align: top;
border: solid #CCC;
border-width: 1px;
vertical-align: middle;
}
#cf-tbl table tr th{
width: 35%;
background: #eee;
}
@media screen and (max-width:768px){
#cf-tbl{
width: 100%;
}

#cf-tbl table,
#cf-tbl table tbody,
#cf-tbl table tr,
#cf-tbl table tr th,
#cf-tbl table tr td{
display: block;
}

#cf-tbl table{
width: 100%;
border-width: 0 0 1px 0;
}

#cf-tbl table tr th,
#cf-tbl table tr td{
width: 100%;
padding: 3% 5%;
}

#cf-tbl table tr td{
border-width: 0px 1px 0px 1px;
}
}
/*「必須」文字デザイン*/
.required{
font-size:.8em;
padding: 5px;
background: #00af23;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/*「任意」文字デザイン*/
.optional{
font-size:.8em;
padding: 5px;
background: #000080;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	background-color: #eff1f5;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 「送信する」ボタン */
input.wpcf7-submit {
    display: block;
    padding: 15px;
    width: 400px;
    background: #00af23;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    border-radius: 2px;
    margin: 35px auto 0;
}
@media screen and (max-width:768px){
input.wpcf7-submit {
width: 250px;
}
}

input.wpcf7-submit:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	opacity:0.7;
}
/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}


#cf-tbl {
	 margin: auto;
}


/* コンタクトフォーム */
.contact-item {
  margin-bottom: 30px !important;
  color: #333;
}

.contact-item-title {
  padding-left: 0 !important;
  border: none !important;
  font-size: 16px !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 0 15px !important;
}

.contact-item-title::before {
    display: none !important;
}

.contact-item-title span {
  display: inline-block;
  color: #ffffff;
  font-size: 12px !important;
  padding: 1px 8px;
  border-radius: 50px;
  font-weight: normal;
  margin-left: 10px;
}

.contact-item-required {
  background: #262626;
}

.contact-item-custom {
  background: #000080;
}

.contact-item input {
  margin: 0 !important;
  border: 1px solid #d0d5d8 !important;
  border-radius: 50px !important;
  background: #eff1f5 !important;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 100%;
  padding: 10px 20px;
  font-size: 16px;
}

.contact-item textarea {
  margin: 0 !important;
  border: 1px solid #d0d5d8 !important;
  border-radius: 20px !important;
  background: #eff1f5 !important;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  height: 150px !important;
  width: 100%;
  font-size: 16px;
  padding: 10px;
}

.contact-item-checkbox .contact-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 30px !important;
}

.contact-item-checkbox label {
  cursor: pointer;
  padding: 10px;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
  display: inline-block;
  padding-left: 45px !important;
}

.contact-item-checkbox label:hover {
    background-color: #f4f9ce;
}

.contact-item-checkbox span {
  margin: 0 !important;
  color: #333333 !important;
  font-size: 14px;
}

.contact-item-checkbox input {
  display: none;
}

.contact-item-checkbox input + span {
  position: relative;
  padding: 0 !important;
}

.contact-item-checkbox input + span::before {
  position: absolute;
  display: block;
  width: 28px;
  height: 28px;
  border: 1px solid #666666;
  left: -35px;
  top: -8px;
  content: "";
  border-radius: 3px;
}

.contact-item-checkbox input + span::after {
  content: "";
  position: absolute;
  top: -3px;
  left: -32px;
  display: block;
  width: 20px;
  height: 10px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.contact-item-checkbox input:checked + span::before {
  background: #0175fc;
  border: 1px solid #0175fc;
}

.contact-item-checkbox input:checked + span::after {
  border-left: 4px solid #ffffff;
  border-bottom: 4px solid #ffffff;
}

@media screen and (max-width: 480px) {
  .wpcf7-list-item {
    flex: 0 1 100%; /* スマホでは1列表示 */
  }
}

.wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.wpcf7-list-item {
  display: flex;
  align-items: center;
  min-width: 150px; /* コンテンツに応じて調整 */
  flex: 0 1 calc(50% - 10px); /* 2列表示の場合 */
}

.wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 5px;
}

.contact-submit-wrapper {
    text-align: center;
}

.contact-submit {
    display: block;
    padding: 15px;
    width: 400px;
    background: #fffff;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    border-radius: 2px;
    margin: 35px auto 0;
    cursor: pointer;
    border: none;
}

.contact-submit:hover {
    box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
    transform: translateY(-4px);
    opacity: 0.7;
}

@media screen and (max-width: 600px) {
  .contact-item-title {
    font-size: 14px !important;
  }
  .contact-item-title span {
    font-size: 12px !important;
  }
  .contact-submit {
    width: 250px;
  }
}


/************************************
** お問い合わせフォームの入力
************************************/
#cf-tbl{
width: 800px;
}

#cf-tbl table{
width: 100%;
border-collapse: collapse;
border: solid #CCC;
border-width: 1px;
color: #444;
}
#cf-tbl table tr th,
#cf-tbl table tr td{
padding: 0.5em;
text-align: left;
vertical-align: top;
border: solid #CCC;
border-width: 1px;
vertical-align: middle;
}
#cf-tbl table tr th{
width: 35%;
background: #eee;
}
@media screen and (max-width:768px){
#cf-tbl{
width: 100%;
}

#cf-tbl table,
#cf-tbl table tbody,
#cf-tbl table tr,
#cf-tbl table tr th,
#cf-tbl table tr td{
display: block;
}

#cf-tbl table{
width: 100%;
border-width: 0 0 1px 0;
}

#cf-tbl table tr th,
#cf-tbl table tr td{
width: 100%;
padding: 3% 5%;
}

#cf-tbl table tr td{
border-width: 0px 1px 0px 1px;
}
}
/*「必須」文字デザイン*/
.required{
font-size:.8em;
padding: 5px;
background: #e5cb20;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/*「任意」文字デザイン*/
.optional{
font-size:.8em;
padding: 5px;
background: #000080;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	background-color: #eff1f5;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 「送信する」ボタン */
input.wpcf7-submit {
    display: block;
    padding: 15px;
    width: 400px;
    background: #e5cb20;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    border-radius: 2px;
    margin: 15px auto 0
}
@media screen and (max-width:768px){
input.wpcf7-submit {
width: 250px;
}
}

input.wpcf7-submit:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	opacity:0.7;
}
/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}


#cf-tbl {
	 margin: auto;
}





/* コンタクトフォーム */
.contact-item {
  margin-bottom: 30px !important;
}

.contact-item-title {
  padding-left: 0 !important;
  border: none !important;
  font-size: 16px !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 15px !important;
  color: #666666;
}

.contact-item-title span {
  display: inline-block;
  color: #ffffff;
  font-size: 12px !important;
  padding: 1px 8px;
  border-radius: 50px;
  font-weight: normal;
  margin-left: 10px;
}

.contact-item-required {
  background: #262626;
}

.contact-item-custom {
  background: #262626;
}

.contact-item input {
  margin: 0 !important;
  border: 1px solid #87796f !important;
  border-radius: 50px !important;
  background: #ffffff !important;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.contact-item textarea {
  margin: 0 !important;
  border: 1px solid #87796f !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  height: 150px !important;
}

.contact-item input:hover,
.contact-item textarea:hover {
  background: #f4f3ee !important;
}

.contact-item-checkbox .wpcf7-form-control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 30px !important;
}

.contact-item-checkbox label {
  cursor: pointer;
  padding: 10px;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
  display: inline-block;
  padding-left: 45px !important;
}

.contact-item-checkbox label:hover {
  background: #f4f9ce;
}

.contact-item-checkbox span {
  margin: 0 !important;
  color: #666666 !important;
  font-size: 14px;
}

.contact-item-checkbox input {
  display: none;
}

.contact-item-checkbox input + span {
  position: relative;
  padding: 0 !important;
}

.contact-item-checkbox input + span::before {
  position: absolute;
  display: block;
  width: 28px;
  height: 28px;
  border: 1px solid #666666;
  left: -35px;
  top: -6px;
  content: "";
  border-radius: 3px;
}

.contact-item-checkbox input + span::after {
  content: "";
  position: absolute;
  top: 0px;
  left: -31px;
  display: block;
  width: 20px;
  height: 10px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.contact-item-checkbox input:checked + span::before {
  background: #0175fc;
  border: 1px solid #0175fc;
}

.contact-item-checkbox input:checked + span::after {
  border-left: 4px solid #ffffff;
  border-bottom: 4px solid #ffffff;
}

span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
  color: red !important;
  margin: 10px 0 20px !important;
}

.contact-submit-wrapper {
  margin-bottom: 20px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.contact-submit {
  border: 3px solid #262626;
  border-radius: 10px;
  padding: 4px 24px !important;
  margin: 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 300px !important;
  -webkit-transition: all 0.3s !important;
  transition: all 0.3s !important;
}

.contact-submit br {
  display: none !important;
}

.contact-submit i {
  color: #262626;
  margin-right: 10px;
  font-size: 22px;
  -webkit-transition: all 0.3s !important;
  transition: all 0.3s !important;
}

.contact-submit .wpcf7-spinner {
  position: absolute;
}

.contact-submit .wpcf7-submit {
  background: none !important;
  color: #262626 !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  font-size: 16px !important;
  -webkit-transition: all 0.3s !important;
  transition: all 0.3s !important;
}

.contact-submit .wpcf7-submit:hover {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  opacity: 1 !important;
  -webkit-transform: none !important;
          transform: none !important;
}

.contact-submit:hover .wpcf7-submit {
  color: #ffffff !important;
}

.contact-submit:hover i {
  color: #ffffff !important;
}

.contact-submit:hover {
  background: #262626 !important;
}

@media screen and (max-width: 600px) {
  .contact-item-title {
    font-size: 14px !important;
  }
  .contact-item-title span {
    font-size: 12px !important;
  }
  .contact-submit {
    max-width: 100% !important;
    width: 100% !important;
  }
}

.copyright {
	padding-bottom: 100px;
}

.bfb_discText{
    text-align: center !important;
}
	
.inner_bfb .bfb_closed{
  display:none;
}


/*
.p-spMenu__bottom {
    margin-top: 0;
}*/

#breadcrumb {
	background-color:white;
 color:#979791; /*パンくずリスト色グレー*/
}

/*
iframe{
  filter: grayscale(1);
}
*/