/*
Theme Name: IMDEX Inc
Author: IMDEX Inc
Author URI: https://imdex.jp/
Template: hello-elementor
Version: 1.0.1
*/

/*
    Add your custom styles here
*/
/***************
 * 
 * form
 * 
 ***************/

.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 0.9m;
    font-weight: 500;

    /* 視認性UP */
    padding: 4px 8px;
    border-radius: 4px;

    /* アニメーション（1回だけ） */
    animation: errorFade 0.8s ease-out 1;
}

@keyframes errorFade {
    0% {
        opacity: 0;
        transform: translateY(-4px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.form-submit {
    text-align: center;
}

select.wpcf7-form-control.wpcf7-select {
	margin-left: 10px;
    background: #fff;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #fff;
    padding: 8px 40px 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-image: linear-gradient(45deg, transparent 50%, #333 50%), linear-gradient(135deg, #333 50%, transparent 50%);
    background-position: right 15px center, /* ←矢印位置 */ right 10px center;
    background-size: 5px 5px;
    background-repeat: no-repeat;
	margin-top: 8px;
    margin-bottom: 8px;
}

input:read-write:not([type=search]), select, textarea {
    border-color: #ccc !important
}
table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th{
    background-color: transparent;
}

.form_box_001 p {
	float: left;
}

td.td_1 p {
    margin: 0px;
	padding-left:20px;
	font-weight: 500;
}
td.td_2 p {
    margin: 0px;
}
.wpcf7-not-valid-tip {
	padding-top: 10px;
}

.form_box_001 {
    display: block;
    text-align: center;
    padding: 20px 20px 30px 20px;
    /*background-color: #fff;*/
    border-radius: 10px;
    margin-bottom: 30px;
    /*border: 2px solid #fff;*/
}
.form-selection-input {
	/*box-shadow: 0px 0px 20px 0px rgb(0 0 0 / 10%);*/
    padding: 25px 0px 20px 0px;
    margin: 0px 0px 20px 0px;
    border-radius: 20px;
	color: #222;
	background: transparent;
}
.form-selection-input table {
    margin: 0px 0px 0px 20px;
    width: calc(100% - 40px);
    box-sizing: border-box;
}
.contact-table001 {
    border: none;
}
.form-selection-input table.contact-table001 tr, .form-selection-input table.contact-table001 td {
    border: none;
    border-bottom: 1px dashed #acacac;
	min-width: 200px;
}
table.contact-table001 tr {
    padding: 20px;
}
.required_check {
    background-color: #ff5a5a;
    padding: 4px 8px 6px 7px;
    display: inline-block;
    border-radius: 5px;
    font-weight: 500;
    color: #FFF;
    margin-left: 20px;
    line-height: 1.2em;
    font-size: 0.6em;
}
.arbitrary_check {
    background-color: #4aa4d5;
    padding: 4px 8px 6px 7px;
    display: inline-block;
    border-radius: 5px;
    font-weight: 500;
    color: #FFF;
    margin-left: 20px;
    line-height: 1.2em;
    font-size: 0.6em;
}

.contact-table001 input[type=text], .contact-table001 input[type=search], .contact-table001 input[type=email], .contact-table001 input[type=url], .contact-table001 input[type=tel], .contact-table001 textarea {
    background-color: #f7f7f7;
    border: 0;
    -webkit-appearance: none;
    border-radius: 6px;
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    margin: 10px;
	width: calc(100% - 20px) !important;
	margin-left: 10px !important;
}
table.contact-table001 tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th {
    /* background-color: #f9f9f9; */
    /* background-color: #fff; */
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    text-align: center;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
    background: #ff8e01;
}
input.wpcf7-form-control.wpcf7-submit {
    background: #ff8e01;
    padding: 10px 20px 10px 20px;
    width: 100%;
    font-weight: 600;
    font-size: 1.2em;
    border-radius: 10px;
    box-shadow: 0 4px 0 0 #d37501;
    border: none;
    color: #ffffff;
    /* border: 2px solid #ffa22e; */
    width: 130px;
    letter-spacing: 0.2em;
}
input.wpcf7-form-control.wpcf7-submit:hover {
    box-shadow: none;
    color: #fff;
    background: #ff8e01;
}
input.wpcf7-form-control.wpcf7-submit:disabled {
    box-shadow: none;
    cursor: not-allowed;
    background: #babfc5;
    border: 2px solid #babfc5;
}
.contact-table001 input:focus, .contact-table001 textarea:focus {
    background: #fff;
}
input[type="text"]:focus, input[type="submit"]:focus, input[type="email"]:focus, input[type="tel"]:focus, textarea {
    outline: 0;
}
@media screen and (min-width: 0px) and (max-width: 600px) {
.contact-table001 td {
    width: auto;
    display: block;
    /* float: left; */
    padding: 20px 0px 20px 0px;
	border: none !important;
}
	table.contact-table001 td.td_1 {
    padding-bottom: 0px !important;
}
	.contact-table001 input[type=text], .contact-table001 input[type=search], .contact-table001 input[type=email], .contact-table001 input[type=url], .contact-table001 input[type=tel], .contact-table001 textarea {
    margin: 0px;
}
}
table.contact-table001 tbody tr:hover>td, table tbody tr:hover>th {
    background-color: #fff !important;
}

/****/

@media (max-width: 767px) {
    .header-custom_r_1 .wp-block-kadence-column > .kt-inside-inner-col {
        flex-direction: column !important;
		align-items: center !important;
    }
}

@media (max-width: 767px) {
    .header-custom_r_2 > .kt-row-column-wrap {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;

    }
}
inside-header {
	height: 100vh !important; /* またはヘッダーの親要素と同じ高さ */
}
.inside-header * {
  /* margin: 0 !important; */
}

#mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-block-3 img {
    padding-top: 5px;
}

.modal_shikaku button{
	position: relative;
    overflow: hidden;
    z-index: 0;
    width: 100%;
}

/* 輝きエフェクト（ヘッダーの公式認定業者） */
.modal_shikaku button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
        120deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.4) 50%,
        rgba(255, 255, 255, 0) 100%
    );
    transform: skewX(-25deg);
    z-index: 1;
    animation: shine 3s ease-in-out infinite;
}
@keyframes shine {
    0% {
        left: -75%;
    }
    100% {
        left: 125%;
    }
}
.header-aligned-center:not([class*=nav-float-]) .inside-header {
    flex-direction: row;
}

/* 輝きエフェクト（ヘッダーの公式認定業者） */
.character-fixed-br img{
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100px;
	height: auto;
	z-index: 2;
}