/*
Theme Name: dp-clarity-business-child
Version: 2.3.9.4
Template: dp-clarity-business
*/

.entry img, .dp_text_widget img, .textwidget img {
    margin: 0 !important;
}
.yoc {
    text-align:center !important;
}
.yol {
    text-align:left !important;
}
/*　ContactForm7のテーブル化レスポンシブ調整　*/

/*テーブルを親要素の幅いっぱいに伸ばす*/
.table-res-form {
    width: 100%;
}

/*「必須」部分のスタイリング*/
.table-res-form .requied {
    font-size: 0.8em;
    color: #FFF;
    display: inline-block;
    padding: 0.3em 0.3em 0.2em;
    background: red;
    border-radius: 2px;
}

/*ここから入力欄のスタイル指定*/

/*各入力フォームスタイリング*/
.table-res-form input[type="text"], input[type="tel"], input[type="email"], textarea {
    border: 1px #89BDDE solid !important;
    padding: 0.5em !important;
    border-radius: 5px !important;
    margin-bottom: 0.5em !important;
    width: 100% !important;
}
.table-res-form select {
    border: 1px #89BDDE solid !important;
    padding: 0.5em !important;
    border-radius: 5px !important;
    margin-bottom: 0.5em !important;
}
/*入力欄にフォーカスしたら変化*/
.table-res-form input[type="text"]:focus, textarea:focus {
    background: #EEFFFF;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
}
/*送信ボタンスタイリング*/
.table-res-form input[type="submit"] {
    border: 1px #89BDDE solid;
    margin-top: 1em;
    padding: 0.5em 4em;
    border-radius: 5px;
    background: #4C9ED9;
    color: #fff;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
    font-weight: bold;
}
/*送信ボタン・マウスオーバー時スタイリング*/
.table-res-form input[type="submit"]:hover {
    background: #006599;
    box-shadow: none;
}

/*----------------------------------------------------
  table装飾
----------------------------------------------------*/
.tab01 {
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
    border: 1px solid #e8d3c7;
    line-height: 1.5;
}
.tab01 th {
    width: 25%;
    text-align: left;
    font-weight: normal;
    padding: 1em;
    border-collapse: collapse;
    border: 1px solid #e8d3c7;
    line-height: 1.5;
    background: #f8f4e6;
}
.tab01 td {
    width: 75%;
    padding: 1em;
    border-collapse: collapse;
    border: 1px solid #e8d3c7;
    line-height: 1.5;
}
@media only screen and (max-width:480px){
    .tab01 th,
    .tab01 td{
    width: 100%;
    display: block;
    border-top: none;
    }
.tab01 {
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
    border: 1px solid #e8d3c7;
    line-height: 1.5;
}
.table-res-form input[type="text"] {
    border: 1px #89BDDE solid;
    padding: 0.5em;
    border-radius: 5px;
    margin-bottom: 0.5em;
    width: 100%;
}
.table-res-form input[type="tel"] {    
    border: 1px #89BDDE solid;
    padding: 0.5em;
    border-radius: 5px;
    margin-bottom: 0.5em;
    width: 100%;
}
.table-res-form input[type="email"] {    
    border: 1px #89BDDE solid;
    padding: 0.5em;
    border-radius: 5px;
    margin-bottom: 0.5em;
    width: 100%;
}
.table-res-form textarea {    
    border: 1px #89BDDE solid;
    padding: 0.5em;
    border-radius: 5px;
    margin-bottom: 0.5em;
    width: 100%;
}
.table-res-form select {    
    border: 1px #89BDDE solid;
    padding: 0.5em;
    border-radius: 5px;
    margin-bottom: 0.5em;
    width: 100%;
}
}

.box_b {
    width: 70%;
    position: relative;
    margin: 1.5em auto;
    padding: 0.5em 1em;
    border: solid 1px #999999;
    border-radius: 8px;
}
.top_flex_set {
   margin:0px !important;
   padding:0px !important;
}
@media only screen and (min-width:0) and (max-width:620px) {
.top_flex_set {
   margin:0px !important;
   padding:0px !important;
}
}
.top_flex img {
   transition: 1.0s;
}
.top_flex img:hover {
   opacity: 0.5;
}
.table_box th {
   margin:0pxt;
   padding:15px;
   text-align:left !important;
}
.table_box td {
   margin:0pxt;
   padding:15px;
   text-align:left !important;
}

/*===============================
	reCAPTCHA
=================================*/

.grecaptcha-badge {
	bottom: 85px !important;
}


.entry ul:not(.recent_entries), .entry ol, .dp_text_widget ul:not(.recent_entries), .dp_text_widget ol, .textwidget ul:not(.recent_entries), .textwidget ol {
    padding: 0 0 0;
}

.imcon_box {
    display: flex;
    gap: 60px;
    width: 100%;
}
.imcon_box div {
    flex: 1;
}
@media screen and (max-width: 767px) {
.imcon_box {
    display: block;
}
}

@media screen and (max-width: 768px) {
.yoc.pc {
    display: none;
}
}
@media screen and (min-width: 769px) {
.yoc.sp {
    display: none;
}
}

.imcon_box {
    display: flex;
    gap: 50px;
    width: 100%;
    margin-bottom: 50px;
}
.imcon_box div.imcon_inline {
    flex: 1;
    border: 1px solid #888888;
    border-radius: 10px;
    padding: 50px;
}
.kt {
    font-weight: 700;
    font-size: 1.1em;
}
.imcon_box h3 {
    margin-top: 0 !important;
}
@media only screen and (max-width:640px){
.imcon_box {
    display: block;
}
.imcon_box div.imcon_inline {
    margin-bottom: 25px; 
}
    }

/*===============================
	HOME（業務紹介）
=================================*/

.work_box {
    display: flex;
    flex-wrap: wrap;
    gap: 1%;
    margin: 60px 0;
    align-items: center;
}
.work_box div {
    width: 24.25%;
    margin-bottom: 15px;
}
a.work_box_inner {
    display: block;
    background: linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.3),rgba(0,0,0,0));
    width: 100%;
    height: 30vh;
    padding: 30px 20px;
    color: #ffffff !important;
}
a.work_box_inner:hover {
    background: linear-gradient(rgba(0,175,204,0.3),rgba(0,175,204,0.1),rgba(0,175,204,0));
}
a.work_box_inner::before {
    position: absolute;
    content: "";
    width: 50px;
    height: 50px;
    bottom: 26px;
    right: 26px;
    background-color: #ffffff;
    border-radius: 100px;
    z-index: 1;
    text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}
a.work_box_inner::after {
    position: absolute;
    content: ">";
    width: 20px;
    height: 20px;
    bottom: 67px;
    right: 39px;
    color: #191919;
    font-size: 2.0em;
    z-index: 2;
}
.mid_circle {
    font-size: 0.8em;
    border-radius: 100px;
    border: 1px solid #ffffff;
    padding: 2px 10px;
    margin-right: 6px;
    text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}
.mid_work {
    margin: 50px 0 !important;
    font-size: 1.4em;
    font-weight: 700;
    line-height: 1.6;
}
.work_box_1 {
    position: relative;
    background-image: url(https://www.tsushin.co.jp/wp-content/uploads/2026/06/work_1.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 0;
    overflow: hidden;
    border-radius: 10px;
}
.work_box_2 {
    position: relative;
    background-image: url(https://www.tsushin.co.jp/wp-content/uploads/2026/06/work_2.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 0;
    overflow: hidden;
    border-radius: 10px;
}
.work_box_3 {
    position: relative;
    background-image: url(https://www.tsushin.co.jp/wp-content/uploads/2026/06/work_3.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 0;
    overflow: hidden;
    border-radius: 10px;
}
.work_box_4 {
    position: relative;
    background-image: url(https://www.tsushin.co.jp/wp-content/uploads/2026/06/work_4.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 0;
    overflow: hidden;
    border-radius: 10px;
}
.work_box_5 {
    position: relative;
    background-image: url(https://www.tsushin.co.jp/wp-content/uploads/2026/06/work_5.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 0;
    overflow: hidden;
    border-radius: 10px;
}
.work_box_6 {
    position: relative;
    background-image: url(https://www.tsushin.co.jp/wp-content/uploads/2026/06/work_6.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 0;
    overflow: hidden;
    border-radius: 10px;
}
.work_box_7 {
    position: relative;
    background-image: url(https://www.tsushin.co.jp/wp-content/uploads/2026/06/work_7.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 0;
    overflow: hidden;
    border-radius: 10px;
}
.pan_box {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
    width: 900px;
    margin: 100px auto;
}
.pan_box div {
    width: 23.5%;
}
@media only screen and (max-width:640px){
.work_box div {
    width: 49.5%;
    margin-bottom: 5px;
}
a.work_box_inner {
    height: 20vh;
    padding: 15px 10px;
}
a.work_box_inner::before {
    width: 40px;
    height: 40px;
    bottom: 7px;
    right: 7px;
}
a.work_box_inner::after {
    bottom: 28px;
    right: 11px;
    font-size: 1.3em;
}
.mid_work {
    font-size: 1.2em;
}
.pan_box {
    width: 100%;
    margin: 0 auto 30px;
}
}
