/*
 Theme Name:   massive_tcd084 Child
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  massive_tcd084 Child Theme
 Author:       John Doe
 Author URI:   http://example.com
 Template:     massive_tcd084
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  massive_tcd084-child
*/



/* topページ pc
------------------------------- */
.interview_list .item { width:calc(20% - 30px); margin:0 30px 30px 0; height:450px; position:relative; }

.cb_box_content.num4 .box_content .headline {
  font-size: 48px;
  padding-bottom: 10px;
}


.top_message_outbox {
  display: flex;
  justify-content: space-around;
  line-height: 2.8;
}

.top_message_outbox .ceo_pic {
  width:20%;
}

.top_message_outbox .ceo_txt {
  width:75%;
}

.shadow {
  filter: drop-shadow(2px 2px 2px rgba(160, 160, 160, 0.8));
}


@media screen and (max-width:414px) {
  .top_message_outbox {
    widht:100%;
    display: flex;
    flex-direction: column;

    line-height: 2.8;
  }
  
  .top_message_outbox .ceo_pic {
    width:100%;
    margin:0 auto;
    text-align: center;
  }
  
  .top_message_outbox .ceo_txt {
    width:100%;
  }
}




@media screen and (max-width:1050px) {
  .interview_list .item { width:calc(100% / 3 - 20px)!important; margin:0 20px 20px 0; }
}

@media screen and (max-width:750px) {
  .interview_list .item { width:calc(50% - 20px)!important; margin:0 20px 20px 0; }
  .interview_list .job { min-width:120px; height:35px; line-height:35px; }
  .cb_interview_list .cb_link_button { margin-top:20px; }
  .cb_interview_list.no_desc_image .cb_contents_inner { margin-bottom:28px; }
}

@media screen and (max-width:550px) {
  .interview_list .item { height:334px!important; margin:0 20px 0 0; }
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}


/* 当社の強みページ pc
------------------------------- */
.advantage_outbox {
display: flex;
width:100%;
justify-content: space-between;
}

.advantage_outbox .advantage_inbox {
flex-direction: column;
width:28%;
padding:1em;
margin:0 .75em;
background: #000;
}

.advantage_outbox .advantage_inbox .advantage_ttl {
font-size:20px;
height:2.5em;
font-weight:bold;
flex-direction: column;
line-height:1.4em;
padding: 1em 0;
text-align: center;
color:#FFF;
}

.advantage_outbox .advantage_inbox .advantage_pic {
max-width:100%;
}

.advantage_outbox .advantage_inbox .advantage_txt {
font-size:16px;
line-height: 1.8em;
padding:1em 0;
color:#FFF;
}


/* 当社の強みページ tablet mobile
------------------------------- */
@media (max-width: 768px) {
.advantage_outbox {
display: flex;
width:100%;
flex-direction: column;
}
        
.advantage_outbox .advantage_inbox {
flex-direction: column;
width:90%;
padding:1em;
margin:0 .75em;
background: #000;
}

.advantage_outbox .advantage_inbox .advantage_ttl {
font-size:16px;
height:2.5em;
font-weight:bold;
flex-direction: column;
line-height:1.4em;
padding: 1em 0;
text-align: center;
color:#FFF;
}
}

@media (max-width: 414px) {
.advantage_outbox {
display: flex;
flex-direction: column;
width:100%;
}

.advantage_outbox .advantage_inbox {
flex-direction: column;
width:90%;
padding:1em;
margin:0 auto;
background: #000;
}

.advantage_outbox .advantage_inbox .advantage_txt {
font-size:16px;
line-height: 1.8em;
padding:1em 0;
color:#FFF;
}
}




/* 会社案内ページ
------------------------------- */


.lp_content .image_header .title_area {
background: #fff;
height: 70px;
line-height: 70px;
min-width: 270px;
padding: 0 40px;
text-align: center;
font-size: 22px;
font-weight: 500;
position: absolute;
left: 50px;
bottom: -20px;
z-index: 2;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}



/* リクルートページ
------------------------------- */

.recruit ul, ol {
list-style: none !important;
margin: 1em 0 0 !important;;
}

.recruit_lead h4 {
padding: 1rem 2rem;
border-left: 4px solid #000 !important;
}

.recruit_bn {
display: flex;
justify-content: space-around;
width:90%;
height:100px;
padding:1em 0;
margin:20px auto 120px;
/*background: #0A1128;*/
background-image: url(https://tamaauto-service.com/wp-content/uploads/2025/04/bg_recruit_contact2.jpg);
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: cover;
filter: drop-shadow(2px 2px 2px rgba(160, 160, 160, 0.8));
color: #FFF;
}

.recruit_bn .bn_ttl {
width:38%;
font-size:18px;
font-weight: 600;
margin:0 auto;
vertical-align: middle;
text-align: center;
line-height:1.5em;
padding:2.2em 1em;
}

.recruit_bn ul.btn_box {
width:62%;
display: flex;
justify-content: space-around;
list-style: none;
padding:1em 0;
margin:0;
}

.recruit_bn ul li.btn_box {
display: flex;
list-style: none;
padding:0 2em 0 0;
}

.recruit_bn .btn_box .recruit_btn {
width:220px;
height:30px;
font-size:16px;
font-weight: 600;
text-align:center;
letter-spacing: 0.05em;
padding:1em 0;
margin:0 auto;
background: #FFF;
border: 1px solid #555;
color: #FFF;
}

.phone {
  font-size: 1.2em;
  font-weight: 600;
  letter-spacing: 0.2em;
}

.recruit_btn a ,
.recruit_btn a:hover, .recruit_btn a:active, .recruit_btn a:visited {
color: #000;
}

.movie_box {
  display: flex;
  flex-direction: row;
  justify-content:space-between;
  width: 100%;
}

.movie_box .inbox {
  width: 49%;
  padding: 10px 0;
}

.movie_ttl {
  font-size: 1.2em;
  font-weight: 500;
}

.movie {
  padding: 0;
}

.sec_box_2 {
  display: flex;
  flex-direction: row;
  justify-content:space-between;
  width: 100%;
  margin-top:50px;
}

.sec_box_2 .inbox {
  width: 49%;
  padding: 10px 0;
}

.sec_box_2_ttl {
  font-size: 1.2em;
  font-weight: 500;
  text-align: center;
}

.box_img {
  border-radius: 20px;
}
  



@media screen and (max-width: 767px) {
    .recruit_bn {
        display: flex;
        flex-direction: column;
        width:100%;
        height:120px;
        padding:0 0 1.5em;
        margin:0 auto;
        background-image: url(https://tamaauto-service.com/wp-content/uploads/2025/04/bg_recruit_contact2.jpg);
        background-position: 50% 50%;
        background-repeat: no-repeat;
        background-size: cover;
        filter: drop-shadow(2px 2px 2px rgba(160, 160, 160, 0.8));
        color: #FFF;
        }

        .recruit_bn .bn_ttl {
            width: 80%;
            font-size: 16px;
            font-weight: 600;
            margin: 25px auto 0;
            vertical-align: middle;
            text-align: center;
            line-height: 1.5em;
            padding: 0 0.5em;
        }

        .recruit_bn ul.btn_box {
            width: 100%;
            display: flex;
            justify-content: space-between;
            list-style: none;
            padding: 0.75em 1em;
            margin: 0;
        }    
        .recruit_bn .btn_box .recruit_btn {
            width: 80%;
            height: 20px;
            font-size: 14px;
            font-weight: 500;
            letter-spacing: 0.05em;
            text-align: center;
            padding: 1em 0;
            margin: 0.5em;
            background: #FFF;
            border: 1px solid #555;
            color: #FFF;
        }   
        
        .phone {
          font-weight: 600;
          letter-spacing: 0.1em;
        }

.movie_box {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.movie_box .inbox {
  width: 100%;
  padding: 0;
}

        
    }




/* サービスページ pc
------------------------------- */
body .service2_outbox {
display: flex;
width:100%;
justify-content: space-between;
margin-bottom:2em;
}

body .service2_outbox .service2_inbox {
flex-direction: column;
width:45%;
padding:0;
margin:0;
}

body .service2_outbox .service2_inbox .service2_pic {
max-width:100%;
}

body .service2_outbox .service2_inbox .service2_txt {
font-size:16px;
line-height:1.4em;
padding: 1em;
text-align: center;
}

body .item_list {
  width: 75%;
  margin: 0 auto;
}

body .dc1_content .item .catch_service {
  line-height: 1.6;
  font-size: 32px;
  font-weight: 500;
}

body .service_ttl {
  font-size:24px;
  line-height: 1.6;
}

body .service_subttl {
  font-size:24px;
}
 body .desc {
   font-size: 16px;
   line-height: 2.8;
 }

 @media screen and (max-width: 780px) {
 body .cb_contents_inner {
    padding: 0 20px;
}
  body .dc1_content .item .catch_service {
    line-height: 1.6;
    font-size: 24px;
    font-weight: 600;
  }

  body .service_subttl {
    font-size:12px;
  }
  body .desc {
    font-size: 14px;
    line-height: 2.8;
  }
 }



/* 社員紹介ページ pc
------------------------------- */
.member_outbox {
display: flex;
width:100%;
flex-wrap: wrap;
align-content: space-between;
margin-bottom:2em;
}

.member_outbox .member_inbox {
flex-direction: column;
width:28%;
padding:0;
margin:0 1.5em 2em;
background: #FFF;
border: 1px solid #ccc;
}

.member_outbox .member_inbox .member_pic {
max-width:100%;
}

.member_outbox .member_inbox .member_name {
font-size:18px;
font-weight:bold;
line-height:1.4em;
padding: 1em;
}

.member_outbox .member_inbox .member_dept {
font-size:16px;
font-weight:bold;
line-height:1.4em;
padding: 0 1em 1.5em;
}

.member_outbox .member_inbox .member_message {
font-size:16px;
line-height: 1.8em;
padding:1em 1em 1.5em;
}



/* 社員紹介ページ tablet mobile
------------------------------- */
@media (max-width: 1024px) {
.member_outbox .member_inbox {
flex-direction: column;
width:28%;
padding:0;
margin:0 .5em 2em;
background: #FFF;
border: 1px solid #ccc;
}
}

@media (max-width: 768px) {
.member_outbox .member_inbox {
flex-direction: column;
width:30%;
padding:0;
margin:0 .5em 2em;
background: #FFF;
border: 1px solid #ccc;
}
}

@media (max-width: 414px) {
.member_outbox {
display: flex;
flex-direction: column;
width: 90%;
margin: 0 auto;
}

.member_outbox .member_inbox {
  flex-direction: column;
  width: 100% !important;
  padding:0;
  margin:0 auto 2em;
  background: #FFF;
  border: 1px solid #ccc;
  }
  
  .member_outbox .member_inbox .member_pic {
  max-width:100%;
  }
  
  .member_outbox .member_inbox .member_name {
  width:90%;
  font-size:18px;
  font-weight:bold;
  line-height:1.4em;
  padding: 1em;
  }
  
  .member_outbox .member_inbox .member_dept {
  width:90%;
  font-size:16px;
  font-weight:bold;
  line-height:1.4em;
  padding: 0 1em 1.5em;
  }
  
  .member_outbox .member_inbox .member_message {
  width:90%;
  font-size:16px;
  line-height: 1.8em;
  padding:1em 1em 1.5em;
  }
  
}


/* レースページ
------------------------------- */
.race .race_list{
  display:flex;
  justify-content: flex-start;
  border-bottom: 1px solid #ccc;
}
.race .race_list dt {
  width: 200px;
  padding: 17px 25px;
  text-align: center;
}
.race .race_list dd {
  align-items: center;
  padding: 17px 25px;
  width: calc(100% - 200px);
  border-left: 1px solid #ccc;
  text-align: left;
  margin-bottom:0 !important;
}
.race .race_list:nth-child(even){
  background: #f2f2f2;
}
.race .race_list:first-child{
  border-top: 1px solid #ccc;
}

.race_photo {
  display: flex;
  justify-content: space-between;
}

img.race_photo {
    max-width: 30%; /* 画像が3つ並ぶように設定 */
    height: auto;
}


.slide-container_end {
  overflow: hidden;
  width: 100%;
  height: 100%;
  margin: 20px auto 80px; 
}

.slide-container {
  overflow: hidden;
  width: 100%;
  height: 100%;
  margin: 50px auto; 
}
.slide-wrapper {
  display: flex;
/*  animation: slide-flow 40s infinite linear 1s both infinite; */
 animation: slide-flow 30s linear infinite; /* 無限ループの設定 */
}
.slide {
  flex-shrink: 0;
  width: 400px;
  margin-right: 20px;
  border-radius: 10px;
}
video {
  background: #f6f6f6;
  border-radius: 10px;
}

@keyframes slide-flow {
  0% {transform: translateX(0);
  }
  100% {transform: translateX(-4620px); /* 400px + 20px × 11枚分 */
  }
}

.movie_race_box {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: 50px;
}

.movie_race_box .race_inbox {
  width: 100%;
  padding: 0;
}


/* 画面サイズ767px以下に適用するスタイル */
.race .race_list {
  border-bottom: 1px dotted #ccc;
}

/* 画面サイズ768px以上に適用するスタイル */
@media (min-width: 768px) {
.race .race_list {
  display: flex;
  align-items: center; //　上下中央配置
}
.race .race_list dt {
    width: 200px;
    padding: 17px 25px;
}
.race .race_list dd {
    flex: 1;
    padding: 17px 25px;
}
}



/* プライバシーポリシーページ
------------------------------- */
#privacy_policy {
    line-height:1.8em;
}

h2 .policy {
    font-size:18px;
    font-weight:700;
}

p.policy_txt {
  line-height:1.8em !important;
}

#privacy_policy li {
    line-height:1.8em !important;
}

#privacy_policy ol {
    list-style: decimal !important;
    margin-left: 1.5em !important;
    line-height:1.8em !important;
    padding-bottom:1em;
}

#privacy_policy ol li.nest_indent {
    margin-left: 1.5em !important;
}

/* お問い合わせページ
------------------------------- */

.mwform .catch_lead {
    width: 90%;
    font-size: 16px;
    line-height: 1.8em;
    margin: 1em auto;
    text-align: center;
}

form {
    width:100%;
    background: ;
  }
  
  .mwform {
    display: block;
    width:800px;
    line-height:1.6em;
    width: 100%;
    margin: 0 auto 2.5em !important;
    padding: 2em 0;
    border: 1px solid #ddd;
    background: #fafafa;
    font-size:16px;
}
  
  .mwform ul li {
    font-size:12px !important;
  }
  
  .mwform .form_outbox {
    display: block;
    width:80%;
    margin:3em auto 1em;
  }
  
  .mwform .form_outbox p {
    font-size:16px;
  }

  .mwform .form_outbox label {
    font-size:18px;
    font-weight:700;
  }

  .mwform .form_outbox label .mwform-radio-field-text {
    font-size:16px;
    font-weight:normal;
  }
  
  .mwform .form_must {
    background: #cb0101;
    color:#FFF;
    padding:.5em;
    margin:.5em;
    font-size:13px;
  }
  
  
  .mwform #contact_form {
    line-height:1.6em;
    background: #FFF;
    padding:2em .5em;
    color:#565656;
    margin-bottom: 3em;
  }
  
  .mwform #contact_form .privacy_ttl {
    font-size:14px;
    font-weight:700;
    line-height:1.8em;
  }
  
  .mwform #contact_form  p.policy {
    font-size:12px !important;
    line-height:1.4em !important;
  }
  
  .mwform #contact_form ul {
    list-style-type: circle;
  }
  
  .form_item {
    padding:5px;
    border: 1px solid #CCC;
    font-size:14px;
    color: #333;
  }
  
  .form_btn {
    width:380px;
    border: 1px solid #CCC;
    padding:1em 0;
    margin: 1em auto;
    font-size:16px;
  }
  
  /* ======= mobile ======= */
  @media (max-width: 768px){
  .mwform {
    display: block;
    width: 90%;
    margin:0 auto;
    padding: 1em;
    line-height:1.6em;
  }
  
  .mwform .form_outbox {
    width:100%;
    margin:3em auto 1em;
  }
  
  .form_btn {
    width:180px;
    border: 1px solid #CCC;
    padding:1em 0;
    margin: 1em auto;
    font-size:16px;
  }
  }
  
  /* ======= mobile ======= */
  @media (max-width: 414px){
    .form_item {
      with:90% !important;
      marign:0 auto;
    }
  }
  