/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here... */

/* フォントの読み込み */
@font-face {
    font-family: 'LINESeedJP';
    font-weight: 400; /* 通常の場合は400 */
    font-style: normal;
    src: url('/fonts/LINESeedJP_TTF_Rg.eot'); /* IE用 */
    src: url('/fonts/LINESeedJP_TTF_Rg.eot?#iefix') format('embedded-opentype'),
         url('/fonts/LINESeedJP_OTF_Rg.woff2') format('woff2'),
         url('/fonts/LINESeedJP_OTF_Rg.woff') format('woff');
  }
@font-face {
    font-family: 'LINESeedJP';
    font-weight: bold; /* boldとして使用 */
    font-style: normal;
    src: url('/fonts/LINESeedJP_TTF_Bd.eot');
    src: url('/fonts/LINESeedJP_TTF_Bd.eot?#iefix') format('embedded-opentype'),
         url('/fonts/LINESeedJP_OTF_Bd.woff2') format('woff2'),
         url('/fonts/LINESeedJP_OTF_Bd.woff') format('woff');
  }
  
html {
    scroll-behavior: smooth;
}

body {
    font-family: 'LINESeedJP', sans-serif;
    font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'LINESeedJP', sans-serif;
    font-weight: bold;
}

a {
	-webkit-transition: 0.4s;
    -moz-transition: 0.4s;
    -ms-transition: 0.4s;
    -o-transition: 0.4s;
    transition: 0.4s;
}

@media print {
 a[href]:after {
 content: "" !important;
 }

 abbr[title]:after {
 content: "" !important;
 }
}

@media (max-width: 768px) {
	.fl-col-small,
	.fl-col-small:not(.fl-col-small-full-width) {
		max-width: 100%;
	}
}

.block_link {
	cursor: pointer;
}

.block_link:hover {
	opacity: 0.9;
}

/*グリッドのガターサイズ*/
.row-0{
    margin-left:0px;
    margin-right:0px;
}
.row-0 > div{
	padding-right:0px;
	padding-left:0px;
}
.row-10{
    margin-left:-5px;
    margin-right:-5px;
}
.row-10 > div{
	padding-right:5px;
	padding-left:5px;
}
.row-20{
    margin-left:-10px;
    margin-right:-10px;
}
.row-20 > div{
	padding-right:10px;
	padding-left:10px;
}
.row-30{
    margin-left:-15px;
    margin-right:-15px;
}
.row-30 > div{
	padding-right:15px;
	padding-left:15px;
}
.row-40{
    margin-left:-20px;
    margin-right:-20px;
}
.row-40 > div{
	padding-right:20px;
	padding-left:20px;
}





/*transition & delay*/
.transition10{transition:all 1s cubic-bezier(0.190, 1.000, 0.220, 1.000);}
.delay01{transition-delay: .1s;}
.delay02{transition-delay: .2s;}
.delay03{transition-delay: .3s;}
.delay04{transition-delay: .4s;}
.delay05{transition-delay: .5s;}
.delay06{transition-delay: .6s;}
.delay07{transition-delay: .7s;}
.delay08{transition-delay: .8s;}
.delay09{transition-delay: .9s;}
.delay10{transition-delay: 1s;}
.delay11{transition-delay: 1.1s;}



/*スライドバナー*/
.slideBanner .slick-slide:not(.slick-center) {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	filter: grayscale(100%);
	transition: 0.2s linear;
}


/*MW WP FORM Generatorのスタイルでg-standardを選択した時のデザインを調整*/
.mw_wp_form_g-standard table {
    border-collapse:separate;
    border-spacing: 0px 10px;
}

.mw_wp_form_g-standard table,
.mw_wp_form_g-standard table th,
.mw_wp_form_g-standard table td {
    border:none;
}

.mw_wp_form_g-standard table th {
    position: relative;
    padding: 1.1em;
		background-color: #efefef;
}

.mw_wp_form_g-standard table td {
		background-color: #f9f9f9;
}

.mw_wp_form_g-standard.mw_wp_form_confirm table th {
    padding: 1em;
}

.mw_wp_form_g-standard table th .require {
    position: absolute;
    top: 0px;
    right: 0px;
    font-size: 0px;
}

.mw_wp_form_g-standard table th .require::after {
    content: "必須";
    position: absolute;
    top: 20px;
    right: 15px;
    font-size: 12px;
    width: 50px;
    background-color: #E53838;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    line-height: 1;
    padding: 5px;
}

.mw_wp_form_g-standard.mw_wp_form_confirm table th .require::after {
    top: 18px;
    right: 15px;
}

@media (max-width: 767px) {
.mw_wp_form_g-standard table tr {
	margin-bottom: 10px;
}
.mw_wp_form_g-standard table th{
    border-bottom: none;
    padding: 0.5em;
}
.mw_wp_form_g-standard table th .require::after {
    top: 6px !important;
    right: 6px !important;

}
}

/*テキストエディタモジュールのclassにbgWhiteBoxを設定する*/
.bgWhiteBox {
    position: relative;
}

.bgWhiteBox p {
    position: relative;
    display: inline-block;
    background-color: #ffffff;
    padding: 15px;
    z-index: 10;
}

.table-scroll{
    overflow: auto;
    white-space: nowrap;
    }


    /* フォーム全体の枠 */
.cf7-form-wrapper {
    margin: 0 auto;
    font-family: "Helvetica Neue", Arial, sans-serif;
}

/* 各入力項目のブロック */
.form-item {
    margin-bottom: 24px;
}

/* ラベルと必須バッジを横並びにするコンテナ */
.form-head {
    display: flex;
    justify-content: space-between; /* 両端揃え（重要） */
    align-items: center;            /* 上下中央揃え */
    margin-bottom: 8px;             /* 入力欄との隙間 */
}

/* ラベルテキスト */
.label-text {
    font-weight: bold;
    color: #333;
    font-size: 16px;
}

/* 「必須」バッジ */
.required-badge {
    background-color: #ff5555; /* 画像に近い赤色 */
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding: 2px 8px;
    border-radius: 4px;
    line-height: 1.5;
    white-space: nowrap; /* 改行防止 */
}

/* 入力フィールド共通 */
.form-input,
.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap select,
.wpcf7-form-control-wrap textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: 16px;
    background-color: #fff;
    appearance: none;
    -webkit-appearance: none;
}

/* セレクトボックスの矢印 */
.wpcf7-form-control-wrap select {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px;
    padding-right: 30px;
}

/* テキストエリアの高さ */
.wpcf7-form-control-wrap textarea {
    height: 200px;
    resize: vertical;
}

/* 送信ボタン */
.btn-submit {
    display: block;
    width: 100%;
    background-color: #4169e1;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    padding: 15px !important;
    border: none !;
    border-radius: 10px;
    cursor: pointer;
    transition: opacity 0.3s;
    border: none;
}

.btn-submit:hover {
    opacity: 0.9 !important;
    color: #ffffff !important;
}




/* モーダルの背景（オーバーレイ） */
.form-modal-overlay {
    display: none; /* 初期状態は非表示 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* 半透明の黒 */
    z-index: 9999;
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
}

/* モーダルの白い箱 */
.form-modal-content {
    background: #fff;
    width: 100%;
    max-width: 600px;
    max-height: 90vh; /* 画面からはみ出さないように */
    overflow-y: auto; /* スクロール可 */
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    position: relative;
    text-align: left;
}

/* タイトルと説明文を中央寄せ */
.modal-title {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 15px;
    text-align: center; /* ★中央寄せ */
    color: #333;
}

.modal-desc {
    margin-bottom: 25px;
    font-size: 14px;
    color: #666;
    text-align: center; /* ★中央寄せ */
    line-height: 1.6;
}

/* モーダル内のリスト */
.modal-list dl {
    border-bottom: 1px solid #eee;
    padding: 10px 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}
.modal-list dt {
    font-weight: bold;
    width: 30%;
    color: #333;
    padding: 5px 0px;
}
.modal-list dd {
    width: 70%;
    margin: 0;
    word-break: break-all;
    padding: 5px 0px;
}
/* スマホ対応 */
@media (max-width: 768px) {
    .modal-list dt,
    .modal-list dd {
        width: 100%;
        display: block;
    }
    .modal-list dt {
        color: #4169e1;
        padding-bottom: 0px;
    }
    .modal-list dd {
        padding-top: 3px;
        margin-bottom: 10px;
    }
}

/* ボタンエリア */
.modal-btn-area {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
}
.btn-primary, .btn-secondary {
    width: 48%;
    padding: 15px;
    border: none;
    border-radius: 5px;
    font-weight: bold;
    cursor: pointer;
    font-size: 16px;
}
.btn-primary { background: #4169e1; color: #fff; } /* 送信色 */
.btn-secondary { background: #ccc; color: #333; } /* 修正色 */
.btn-primary:hover { opacity: 0.8; background: #4169e1; color: #fff; border: none; }
.btn-secondary:hover { opacity: 0.8; background: #ccc; color: #333; border: none; }

/* Contact Form 7のエラー表示を見やすくする */
/* 入力欄の下に出るエラーメッセージ */
.wpcf7-not-valid-tip {
    font-size: 14px;
    background: #ffecec;
    color: #ff0000;
    border: 1px solid #ff0000;
    padding: 5px 10px;
    margin-top: 5px;
    border-radius: 4px;
    display: inline-block;
}
/* 全体エラー（フォーム下部） */
.wpcf7-response-output {
    background-color: #ffdddd;
    border: 2px solid #ff0000 !important;
    color: #cc0000;
    font-weight: bold;
    padding: 15px !important;
    border-radius: 5px;
}