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

/* カーニング調整 */
:root {
  line-height: 1.7em;
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
}

/* レイアウト 全体パディング*/
.lp-content__postContent {
  padding: 0px;
}

.lp-content,
#footer {
  padding: 0px;
}

/* コンテナの下部余白をなくす */
.post_content>* {
  margin-bottom: 0em;
}


/*横限定 パディング&マージン設定*/
.p-10 {
  padding: 0 10px;
}

.p-20 {
  padding: 0 20px;
}

.p-30 {
  padding: 0 30px;
}

.p-40 {
  padding: 0 40px;
}

.p-50 {
  padding: 0 50px;
}

.m-10 {
  margin: 0 10px;
}

.m-20 {
  margin: 0 20px;
}

.m-30 {
  margin: 0 30px;
}

.m-40 {
  margin: 0 40px;
}

.m-50 {
  margin: 0 50px;
}

/* ヘッダータイトル */
.post_content h2 {
  padding: 0.5em 0.5em;
}

.post_content>h2 {
  margin-right: 0vw;
  margin-left: 0vw;
}

.post_content h2::before {
  border-top: none;
  border-bottom: none;
}

.lp-content .post_content>h2 {
  margin-left: 0px;
  margin-right: 0px;
}

/* テーブルのTHサイズ指定  2024/09/03 */
.wp-block-table>table tr>:first-child:not(.-no1) {
  width: 25%;
}

/* 戻るボタン */
#page_top {
  width: 50px;
  height: 50px;
  position: fixed;
  right: -50px;
  bottom: 50px;
  background: #777777;
  opacity: 0.6;
  border-radius: 50%;
  z-index: 800;
}

#page_top a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}

#page_top a::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #000000;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -20px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/* お問い合わせフォームの空白削除 */
form br {
  display: none;
}

form {
  margin-top: 0px;
}

/* タグクラウドのデザイン */
div.tagcrowd {
  margin-bottom: 0em;
  margin: 0 3%;
}

div.my-tag {
  background-color: rgb(118, 118, 118);
  border-radius: 0px 2px 2px 0px;
  color: rgb(255, 255, 255);
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  margin: 2px 5px 2px 6px;
  padding: 4px 7px;
  position: relative;
  text-transform: uppercase;
}

div.my-tag:before {
  border-top: 10px solid transparent;
  border-right: 8px solid rgb(118, 118, 118);
  border-bottom: 10px solid transparent;
  content: "";
  height: 0px;
  position: absolute;
  top: 0px;
  left: -8px;
  width: 0px;
}


/*　ContactForm7のテーブル化レスポンシブ調整　*/
.post_content table.inquiry {
  border-top: none !important;
  border-right: none !important;
  margin-bottom: 0px;
}

.inquiry th,
.inquiry td {
  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 th,
.inquiry td {
  border: none !important;
}

.inquiry tr:first-child th {
  border-top: none !important;
}

.inquiry th {
  display: none !important;
}

.inquiry td {
  display: block !important;
  font-size: medium;
  border: solid 1px #d7d7d7;
}

/* 枠内のフォント　サイズ調整 */
input,
textarea,
select,
checkbox {
  font-size: 1rem !important;
}

/* 必須・任意のサイズ調整 */
.inquiry .requied,
.inquiry .option {
  font-size: 10px;
}

/* 送信ボタン非活性時のグレー表示 */
.formbtn:disabled {
  background: #cccccc;
  cursor: not-allowed;
  /* 禁止カーソル */
  border-bottom: solid 6px #666666;
}

/*送信ボタンのデザイン変更*/
.formbtn {
  display: inline-block;
  padding: 1em 0;
  margin-top: 0px;
  width: 100%;
  background: #4cba39;
  color: #fff;
  font-size: x-large;
  font-weight: bold;
  border-bottom: solid 6px #328224;
  border-radius: 5px;
}

/*送信ボタンマウスホバー時*/
.formbtn:hover {
  opacity: 0.7;
}

.formbtn:active {
  /*ボタンを押したとき*/
  -webkit-transform: translateY(6px);
  transform: translateY(6px);
  /*下に動く*/
  border-bottom: none;
  /*線を消す*/
}

/* テキスト欄調整 */
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea,
.field {
  display: block;
  width: 100%;
  height: 45px;
  margin-bottom: 0px;
  padding: 0 12px;
  border: 0;
  border-radius: 3px;
  background-color: #eff1f5;
  box-shadow: none;
  color: #444;
  font-size: 1em;
  vertical-align: middle;
  line-height: 45px;
  transition: background-color 0.24s ease-in-out;
  border: 1px solid #aaa;
}

/* フォームをズームさせないためにフォントサイズを調整 */
input,
textarea {
  font-size: medium !important;
}

/* フォーム選択肢とプレースホルダー テキストの色を変更する */
input::placeholder,
textarea::placeholder {
  color: #777 !important;
}

textarea {
  max-width: 100%;
  min-height: 120px;
  line-height: 1.5em;
  padding: 0.5em;
  overflow: auto;
}

/* チェックボックスのサイズ変更 */
input[type=checkbox],
input[type=radio] {
  transform: scale(1.6);
  margin-right: 10px
}

span.wpcf7-list-item {
  margin: 5px auto;
}

/* 規約に同意をセンタリング */
span.wpcf7-form-control-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: -5px;
}

/* 入力欄にプレースホルダーが表示している場合 背景を標準グレーに */
.wpcf7 input:placeholder-shown,
.wpcf7 textarea:placeholder-shown,
.wpcf7 select:placeholder-shown {
  background-color: #EFF1F5;
}

/* 入力後に緑色
.wpcf7 input:not(:placeholder-shown), .wpcf7 textarea:not(:placeholder-shown){
	background-color : #EFFEEF;
} */

/* 入力欄必須の場合 ボーダーを緑色 */
.wpcf7 input.wpcf7-validates-as-required,
select.wpcf7-validates-as-required {
  border: #49B700 2px solid
}



/******** フォーム注意事項　********/

/* エラー項目を赤く表示する */
.wpcf7 .wpcf7-not-valid {
  background: #FFE8EB !important;
  border: #EE4056 2px solid !important;
  display: block !important;
}

.wpcf7 .wpcf7-validation-errors {
  color: #FF0A0A;
  background-color: rgb(255, 220, 220, 0.7);
  border: 1px solid #EED3D7 !important;
  display: none !important;
}

.wpcf7 .wpcf7-mail-sent-ok {
  color: #3A87AD;
  background-color: rgb(255, 220, 220, 0.7);
  border: 1px solid #BCE8F1 !important;
}

/* 通常のエラー表示を非表示 */
.wpcf7-not-valid-tip {
  display: none !important;
}

.wpcf7-not-valid-tip {
  display: none;
}

.flow-box {
  margin: 10px auto;
}

span.wpcf7-list-item {
  display: inline-block !important;
  margin-right: 30px;
}

.wpcf7 .wpcf7-not-valid {
  background: #FFE8EB !important;
}

.wpcf7 input.wpcf7-validates-as-required,
select.wpcf7-validates-as-required,
textarea.wpcf7-validates-as-required {
  border: #5BC9EE 2px solid;
}


/* 問い合わせフォームの参照元リファラー欄を非表示 */
input.wpcf7-form-control.wpcf7-text.referer-page {
  display: none !important;
}

/* ボーダーとシャドーを消しました*/
.formError .formErrorContent {
  border: none !important;
  box-shadow: none !important;
  -webkit-border: none !important;
  -webkit-box-shadow: none !important;

}

.formError .formErrorArrow div {
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
  -webkit-border-left: none !important;
  -webkit-border-right: none !important;
  -webkit-box-shadow: none !important;
}

#footer {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* フッターリンクの色 */
#footer a {
  color: #ffffff;
}

/* 固定フッターの設定 */
.footer_fixed {
  position: fixed;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
}

.footer_fixed a {
  display: block;
  text-align: center;
  background-color: #fea026;
  padding: 8px 10px;
  color: #f2f2f2;
  margin: 10px auto;
  border-bottom: solid 2px #eb6100;
  border-radius: 5px;
  font-size: 18px;
  font-weight: bold;
}

.footer_fixed a:hover {
  opacity: 0.9;
}