/*============================================

LP専用　共有パーツ

============================================*/

/*共有パーツ--------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
}
html { /*overflow-y: scroll;*/
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}
main article, aside, canvas, footer, header, hgroup, nav, section, figure, figcaption {
	display: block;
	margin: 0;
	padding: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
	font-style: normal;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th {
	text-align: left;
}
q:before, q:after {
	content: '';
}
object, embed {
	vertical-align: top;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}
img, abbr, acronym, fieldset {
	border: 0;
	vertical-align: bottom;
}
li {
	list-style-type: none;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
img {
	border: 0;
	vertical-align: bottom;
}
.lp .inner {
	width: 1210px;
	margin: 0 auto;
}
.lp .inner p {
	padding: 20px;
}
.sp-display {
	display: none;
}
.clear {
	clear: both;
}
.cnter {
	text-align: center;
}
.lptxt-30 {
	font-size: 30px;
	text-align: left;
}
.left {
	text-align: left;
}
.cp_hr {
	border-top: 1px dashed #8c8b8b;
	border-bottom: 1px dashed #ffffff;
	margin: 80px 0  50px 0;
    display: block;
}
p {
	font-size: 20px;
	line-height: 2.0;
	line-break: strict;
	overflow-wrap: break-word;
	word-wrap: break-word;
	letter-spacing: 0.1em;
	padding: 10px;
}


.lp a {
    color: #02aeeb !important;

}
.lp a:hover, a:focus {
    color: blue;
    text-decoration: underline !important;
}

#page-top a {
    height: 45px !important;
}



/*横並び---------------*/
.f-left {
	float: left;
}
.f-right {
	float: right;
}
.inline-block {
	width: 48%;
	height: auto;
	margin: 0 0 20px 1%;
	display: inline-block;
	vertical-align: top;
}

@media screen and (max-width: 1400px) {
.lp .inner {
	width: 100%;
}
}

@media screen and (max-width: 768px) {
.lptxt-30 {
	font-size: 20px;
}
.flex {
	display: block;
}
.inline-block {
	width: 96%;
	margin: 5% 2%;
	display: block;
}
}
/*******************************
/*　footer
*******************************/
footer {
	background: #0c5da9;
	color: #fff;
	padding: 30px;
	text-align: center;
}

.f-menu{
    text-align: left;
}


.footer-btn {
    display: none;
}

@media only screen and (max-width: 758px) {
    .footer-lp{
        padding: 30px 0 80px 0;
        text-align: center;
    }


    .footer-btn{
        width: 100%;
        display: block;
        color: #fff;
        text-align: center;
        position: fixed;
        z-index:100;
        bottom: 0;
    }

    .footer-btn li{
        width: 100%;
        float: left;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        border-left: 1px solid #fff;
        box-sizing: border-box;
    }

    .footer-btn a {
        display: block;
        padding: 5px 0;
    }
    .footer-btn a,.footer-btn a:hover {
        text-decoration: none;
    }


    .footer-btn .ico {
        margin:5px;
    }
    .footer-btn .ico img{
        width: 8%;
        height: auto;
        vertical-align: middle;
    }

    .footer-btn .txt {
        font-size: 22px;
        font-weight: bold;
        color: #fff;
        font-family: sans-serif;
    }


    .footer-btn .list01 {
        background: #ff3019; 
        background: -moz-linear-gradient(top,  #ff3019 0%, #cf0404 100%); 
        background: -webkit-linear-gradient(top,  #ff3019 0%,#cf0404 100%); 
        background: linear-gradient(to bottom,  #ff3019 0%,#cf0404 100%); 
    }


}
























/*******************************
/*　テーブル関係共通
*******************************/

.respond_table02 {
	width: 900px;
	margin: 50px auto;
	font-size: 14px;
}
.respond_table02 th, .respond_table02 tr, .respond_table02 td {
	padding: 10px;
	border: 1px solid #ccc;
}
.respond_table02 th {
	color: #222544;
	vertical-align: middle;
}

@media screen and (max-width: 767px) {
.respond_table02 {
	width: 90%;
	padding: 0 5%;
}
.respond_table02 th, .respond_table02 tr, .respond_table02 td, .respond_table02 tbody {
	display: block;
}
.respond_table02 tr {
	border: none;
	margin: 0px;
	padding: 0px;
}
.respond_table02 th {
	border-bottom: none;
	border-top: none;
}
}
/*******************************
/*　font装飾関係共通
*******************************/

.super {
	vertical-align: super;
	font-size: 12px;
}
.marker_yellow {
	background: linear-gradient(transparent 60%, #ffff66 60%);
}
.hp-red {
	color: #ff0000 !important;
}
.hp-blue {
	color: #044a8c;
}
.hp-bold {
	font-weight: bold;
}
.hp-border-red {
	border: 4px solid red;
	padding: 15px;
}
.hp-font14 {
	font-size: 14px !important;
}
.hp-font24 {
	font-size: 24px !important;
	line-height: 1.8;
}
.hp-font30 {
	font-size: 30px !important;
}
.hp-font36 {
	font-size: 36px !important;
}
.hp-font40 {
	font-size: 40px !important;
}
.hp-font48 {
	font-size: 48px !important;
}
.hp-font58 {
	font-size: 58px !important;
	line-height: 1.4;
}
.hp-font78 {
	font-size: 78px !important;
	line-height: 1.4;
}
.mt80 {
	margin-top: 80px!important;
}
.mt50 {
	margin-top: 50px!important;
}
.mt20 {
	margin-top: 20px!important;
}
.pt80 {
	padding-top: 80px!important;
}
.pt50 {
	padding-top: 50px!important;
}
.pt20 {
	padding-top: 20px!important;
}
.plr20 {
	padding: 0 20px !important;
	box-sizing: border-box;
}

@media screen and (max-width: 1200px) {
.hp-font24 {
	font-size: 20px !important;
}
.hp-font30 {
	font-size: 24px !important;
}
.hp-font36 {
	font-size: 26px !important;
}
.hp-font40 {
	font-size: 30px !important;
}
.hp-font48 {
	font-size: 40px !important;
}
.hp-font58 {
	font-size: 48px !important;
}
.hp-font78 {
	font-size: 58px !important;
}
#lp-epc h2 {
	font-size: 40px !important;
}
#lp-epc h3 {
	font-size: 30px !important;
}
}

@media screen and (max-width: 640px) {
.hp-font24 {
	font-size: 18px !important;
}
.hp-font30 {
	font-size: 20px !important;
}
.hp-font36 {
	font-size: 24px !important;
}
.hp-font40 {
	font-size: 26px !important;
}
.hp-font48 {
	font-size: 28px !important;
}
.hp-font58 {
	font-size: 32px !important;
}
.hp-font78 {
	font-size: 32px !important;
}
}




/*******************************
/*　メールフォーム
*******************************/

.wpcf7 table{
    border: none;
    font-size: 16px;
    width: 900px;
    margin: 20px auto;


}

.wpcf7 table p{
    padding: 0!important;
}

.wpcf7 table th,.wpcf7 table tr,.wpcf7 table td{
    border: none;
    padding: 5px 10px;
    border: solid 1px #CCC;
    width: 12%;
}

/* --- お問い合わせフォームのカスタマイズ --- */
/* 入力部分 */
input[type="email"], input[type="text"], input[type="tel"], textarea,select {
    font-size: 16px; /* フォントの大きさ */
    padding: 0.2em; /* 文字と入力枠の間の余白（0.5文字を指定）*/
    border: 1px solid #ccc; /* 枠の指定 */
    border-radius: 4px; /* コーナーを微妙に丸く */
    margin: 10px;
}

textarea{
    width: 90%;

}




/* 送信ボタン */
.wpcf7 input[type="submit"] {
    -moz-box-shadow:inset 0px 1px 0px 0px #a4e271;
    -webkit-box-shadow:inset 0px 1px 0px 0px #a4e271;
    box-shadow:inset 0px 1px 0px 0px #a4e271;
    background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #89c403), color-stop(1, #77a809));
    background:-moz-linear-gradient(top, #89c403 5%, #77a809 100%);
    background:-webkit-linear-gradient(top, #89c403 5%, #77a809 100%);
    background:-o-linear-gradient(top, #89c403 5%, #77a809 100%);
    background:-ms-linear-gradient(top, #89c403 5%, #77a809 100%);
    background:linear-gradient(to bottom, #89c403 5%, #77a809 100%);
    background-color:#89c403;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    border-radius:5px;
    border:2px solid #74b807;
    display:inline-block;
    cursor:pointer;
    color:#ffffff;
    font-size:26px;
    font-weight:bold;
    padding:10px;
    text-decoration:none;
    text-shadow:0px 1px 0px #528009;
    width: 300px !important;
    margin-bottom: 100px;
    text-align: center;

}
.wpcf7 input[type="submit"]:hover {
    background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #77a809), color-stop(1, #89c403));
    background:-moz-linear-gradient(top, #77a809 5%, #89c403 100%);
    background:-webkit-linear-gradient(top, #77a809 5%, #89c403 100%);
    background:-o-linear-gradient(top, #77a809 5%, #89c403 100%);
    background:-ms-linear-gradient(top, #77a809 5%, #89c403 100%);
    background:linear-gradient(to bottom, #77a809 5%, #89c403 100%);

    background-color:#77a809;
}


@media screen and (max-width: 1190px) {

    .wpcf7 table{
        width: 100%;

    }


}

/* フォームスマホ設定 */
@media screen and (max-width: 767px) {
    .wpcf7 table{
        margin:0 !important;
        padding: 0 !important;
        width:100%;
        table-layout: fixed;
    }


    .wpcf7 table tbody,.wpcf7 table th,.wpcf7 table tr,.wpcf7 table td{
        display: block;
        margin: 0 !important;
        padding: 5px;
        width: auto !important;
        border: none;
    }
    .wpcf7 table th{
        background-color: antiquewhite;
        width: inherit !important;
    }



    input[type="email"], input[type="text"], input[type="tel"], textarea{
        width: 94%;
        padding: 6px 2px;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .wpcf7 input[type="submit"] {
        width:auto;
    }

    input[type=checkbox] {
        width: 25px;
        height: 25px;
        vertical-align: middle;
    }
    input[type=radio] {
        width: 25px;
        height:25px;
        vertical-align: middle;
    }
    input[type=file] {
        width: auto;
        height:auto;

    }

    .wpcf7-list-item{
        padding:5px;
        display: inline-block;
    }

    .wpcf7-list-item-label{
        padding: 0px;
    }

    textarea wpcf7-textarea{
        width: auto !important;
    }
}
/* スマホ設定ここまで */


select.hp-select{
    width: 94% !important;
}


/* 他 */
.wpcf7-mail-sent-ok {
    display: none !important;
}


.no-goods {
    display: none !important;
}



span.required{
    background: #ff0000;
    color: #fff;
    font-size: 13px;
    padding: 2px 5px;
    border-radius: 2px;
    margin-left: 5px;
}

span.optional{
    background: #ccc;
    color: #333;
    font-size: 13px;
    padding: 2px 5px;
    border-radius: 2px;
    margin-left: 5px;
}



.post-txt{
    font-size: 14px!important;
    line-height: 14px!important;
    margin: 0!important;
    padding: 0!important;
    color: #ff0000!important;
}

.form-table-area01{
    background-color: #eee;
    padding: 20px;
    margin-bottom: 20px;
}

.form-table-area02{
    background-color: #f6f0eb;
    padding: 20px;
    margin-bottom: 20px;
}
.form-table-area03{
    background-color: #ffecec;
    padding: 20px;
    margin: 20px 0;
}


.form-table-area01-01{
    background-color: #eee;
    padding: 20px;
    font-weight: bold;
    border-bottom:dotted 1px #666;
    color: #ff0000;
    font-size: 16px;
    line-height: 1.0;
}

.form-table-area02-01{
    background-color: #f6f0eb;
    padding: 20px;
    font-weight: bold;
    border-bottom:dotted 1px #666;
    color: #ff0000;
    font-size: 16px;
    line-height: 1.0;
}

.form-table-area01-01 input[type=checkbox] {
    width: 22px;
    height: 22px;
    vertical-align: middle;

}


.form-table-area02-01 input[type=checkbox] {
    width: 22px;
    height: 22px;
    vertical-align: middle;
}



.form-table-area01 table th,.form-table-area02 table th{
    border-bottom:dashed 1px #999!important;
}




/* ▼ 入力エラーダイアログを出さない & 入力エラーフォームのスタイルを変更▼ */

.wpcf7 .wpcf7-not-valid {
    background: pink;
}

/* ▼ 入力エラーメッセージのスタイルを変更▼ */
.wpcf7 .wpcf7-response-output {
    margin: 10px 0 0;
    padding: 8px 35px 8px 14px;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
.wpcf7 .wpcf7-validation-errors {
    color: #ff0000;
    background-color: #F2DEDE;
    border: 1px solid #EED3D7;
    font-weight: bold;
    position: relative;
    font-size: 20px;
    margin-top: -20px;


}


/*会社概要--------------------------------------------------------------*/
.company h2{
    padding: 10px;
    background-color: #666;
    color: #fff;
    margin-top: 50px;
    text-align: center;
    font-size: 24px;
}


/* reCAPTCHA v3　表示位置 */
.grecaptcha-badge{
    margin-bottom: 60px;
}
