/*
Theme Name: Yamauchi industry.co,ltd
Author: YOSHIO NISHIZAWA
Description: 山内工業
Version: 1.0
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho&display=swap');

/*まずはお決まりのボックスサイズ算出をborer-boxに */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;/*rem算出をしやすくするために*/
}

.logo_area img{
  height: 70px;
  width: auto;
}
.f1{
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.f2{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
@charset "UTF-8";
*{
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
li{
  list-style: none;
}


.fadeIn {
  transition: 1s;
  opacity: 0;
}

.fadeIn.animated {
  opacity: 1;
}


.pc-break{
  display: block;
}
.sp-break{
  display: none;
}

.flex{
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.flex_item_100{
  width: 100%;
}

.flex_item_50{
  width: 50%;
}

.flex_item_60{
  width: 60%;
}

.flex_item_40{
  width: 40%;
}

.flex_item_60{
  width: 60%;
}

.flex_item_20{
  width: 20%;
}


.flex_item_80{
  width: 80%;
}

.flex_item_30{
  width: 30%;
}

.flex_item_10{
  width: 10%;
}

.flex_item_90{
  width: 90%;
}


.flex_item_70{
  width: 70%;
}

.flex_item_25{
  width: 25%;
}

a{
  text-decoration: none;
  color: #000;
}

img{
  width: 100%;
}








.footcopy{
  position: fixed;
  bottom: 20px;
  left: 3%;
  font-size: 0.8em;
  color: #fff;
  z-index: 10000;
}

.footcopy a {
  color: #fff;
}

.scroll{
  color: #fff;

}

@media screen and (max-width:769px){
  .footcopy{
    font-size: 0.6em;
  }
}


/* header */

header{
  background-color: inherit;
  z-index: 9999;
  position: fixed;
  width: 100%;
  top: 0;
}

.header_container{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  height: 70px;
  width: 100%;
}

.head_top{
  width: 100%;
  height: 100%;
}

.logo_area{
  position: relative;
  padding-left: 2%;
  z-index: 1100;
  width: auto;
  height: 70px;
}
.logo{
  position: absolute;
  height: auto;
  left: 15px;
  width: 500px;
}

.logo{

}

.logo a{
  text-decoration: none;
  color: #000;
  letter-spacing: 2px;
  font-size: 30px;
}

.logo_img{
  height: 30px;
  width: auto;
  padding-right: 10px;
  vertical-align: middle;
}

.head_menu{
  display: flex;
  position: fixed;
  top: 30px;
  right: 5%;
  width: 50%;
  justify-content:space-between;
}

.head_menu li{
  font-size: 20px;
}



#nav-toggle {
  position: fixed;
  top: 25px;
  right: 25px;
  height: 32px;
  cursor: pointer;
}
#nav-toggle > div {
  position: relative;
  width: 36px;
}
#nav-toggle span {
  width: 100%;
  height: 1px;
  left: 0;
  display: block;
  background: #194505;
  position: absolute;
  transition: transform 0.6s ease-in-out, top 0.5s ease;
}

#elsetop{
  background-color: #000 !important;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 14px;
}
#nav-toggle span:nth-child(3) {
  top: 28px;
}
#nav-toggle:hover span:nth-child(1) {
  top: 4px;
}
#nav-toggle:hover span:nth-child(3) {
  top: 23px;
}

.open .logo a{
  color: #fff;
}

.open #nav-toggle span {
  background: #fff;
}
.open #nav-toggle span:nth-child(1) {
  top: 15px;
  transform: rotate(45deg);
}
.open #nav-toggle span:nth-child(2) {
  top: 15px;
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 15px;
  transform: rotate(-45deg);
}

/* z-index */
#nav-toggle {
  z-index: 1000;
}



#container {
  z-index: 900;
}

#gloval-nav {
  background-color: #A92E2B;
  color: #000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 990;
  text-align: left;
  display: flex;
  visibility: hidden;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 1.5em;
  opacity: 0;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  width: 100%;
  height: 100%;
}

#gloval-nav nav {

  z-index: 992;
}

#gloval-nav a {
  display: inline-block;
  color:#fff;
  text-decoration: none;
  padding: 10px 5px;
  transition: color 0.6s ease;
  z-index: 992;
}

.underline {
  display: inline-block;
  padding-bottom: 10px;
  position: relative;
}

.underline::after {
  background-color: #000;
  bottom: 0px;
  content: '';
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  transition: .5s all;
  width: 0;
}

.underline:hover::after {
  width: 100%;
}

.gloval_nav_innner{
  width: 100%;
  height: 100%;
  position: relative;
}
.gloval_nav_menu{
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  margin: 0 auto;
}
.gloval_nav_menu_inner1{
  justify-content: center;
}

.gloval_nav_menu_inner2{
  justify-content: center;
  font-size: 14px;
}
.gloval_nav_menu_inner1{
  font-size: 40px;
}
.head_sub{
  font-size: 10px;
  padding-top: 10px;
}
.gloval_nav_menu_inner2{
  padding-top: 30px;
}

.gloval_nav_menu_inner1 span{
  display: block;
}
/*スクロール文字*/
.scroll-list {
  display: flex;
  list-style: none;
  padding-inline: 0;
  margin-inline: 0;
  gap: 0;
  overflow: hidden;
  position: absolute;
  bottom: 0;
}

/* liタグ */
.scroll-list li {
  color: #fff;
  font-size: 3em;
  font-weight: bold;
  white-space: nowrap;
  padding: 0 1em 0 0;
  margin: 0;
  animation: marquee-left 16s linear infinite;
}

/* PCの時のフォントサイズ */
@media (min-width: 600px) {
  .scroll-list li {
    font-size: 8vw;
  }
}

/* アニメーション */
@keyframes marquee-left {
  100% {
    transform: translateX(-100%);
  }
}

/* open */
.open {
  overflow: hidden;
}
.open #gloval-nav {
  visibility: visible;
  opacity: 1;
}
.open #gloval-nav li {
  text-align: center;
  opacity: 1;
  transform: translateX(0);
  transition: transform 1s ease, opacity 1.2s ease;
}

#nav_social_logo{
  display: inline-block;
}


#nav_social_logo img{
  width: 20px;
}
.gloval-nav p{
  position: absolute;
  bottom: 0;
  left: 0;
}


.header_border{
  position:absolute;
  top: 0;
  left: 33%;
  transform: translateX(-60%);

}
.header_border::before{
  content:"";
  display:inline-block;
  width:1px;
  height:85vh;
  background-color:#000;
  position:absolute;
  top:-2px;
  left:-5px;
}

/* footer */
footer{
  justify-content: space-between;
  padding: 50px 0;
  background-color: #000;
  color: #fff;
}

footer a{
  color: #fff;
}

.foot_a1{
  text-align: left;
  display: inline-block;
  padding-left: 30px;
}
.foot_a2{
  display: inline-block;
}
footer span{
  content: "|"
  color#fff;
  padding: 0 10px;
}
.foot_a3{
  text-align: right;
  display: block;
  padding-right: 30px;
}



/* top css*/

.main_img{
  position: relative;
}

.pc-top{
  display: block;
}
.sp-top{
  display: none;
}

.main_img img{
  width: 100%;
}
.mask{
  height: 100%;
  width: 30%;
  clip-path: polygon(67% 0, 100% 0, 100% 100%, 0% 100%);
  position: absolute;
  right: 0;
  top: 0;
  background-color: #612D2F;
  opacity: .8;
}

.top_copy{
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #fff;
  text-align: center;
  width: 80%;
}
.top_copy p{
  font-size: 20px;
  padding: 20px 0;
}


.top_copy h2{
  font-size: 50px;
}

.top-section2 {
  padding: 50px 0;
  position: relative;
}




.top-section2_1 h2{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin: 0 auto;
  font-size: 40px;
  letter-spacing: 3px;
  line-height: 60px;
  color: #B81C22;
  z-index: 100;
  position: relative;

}

.top-section2_2 p{
  width: 70%;
  color: #B81C22;
  margin: 0 auto;
  font-size: 20px;
  letter-spacing: 2px;
  line-height: 30px;
  z-index: 100;
  position: relative;

}
.top-section2 h3{
  font-size: 100px;
  letter-spacing: 4px;
  padding-left: 50px;
  padding-top: 50px;
  z-index: 100;
  position: relative;
}
.top-section2_3{
  padding: 20px;
  position: relative;
}
.top-section2_3:nth-child(1){
  padding-left: 0;
}

.top-section2_3:nth-child(2){
  padding-left: 0;
}

.top-section2_4{
  width: 70%;
  margin: 0 auto;
  position: relative;
  z-index: 99;
}

.top-section2_3 img{
  width: 100%;
}


.top-section2_mask1{
  height: 100%;
  width: 30%;
  clip-path: polygon(0 0, 100% 0, 55% 100%, 0% 100%);
  position: absolute;
  left: 0;
  top: 0;
  background-color: #F1F1F1;
  opacity: .8;
  z-index: 2;
}

.top-section2_mask2{
  height: 100%;
  width: 71%;
  clip-path: polygon(100% 0%, 100% 0, 100% 100%, 58% 100%);
  position: absolute;
  right: 0;
  top: 0;
  background-color: #B81C22;
  z-index: 2;
}

/*section3*/
.top-section3{
  position: relative;
  z-index: 1;
  margin-top: -3px;
}
.service_1{
  z-index: 3;
  position: relative;
  width: 100%;
  height: 100%;
}

.service_ab{
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.service_ab h2{
  font-size: 60px;
}
.service_ab span{
  font-size: 30px;
  padding-left: 20px;
}

.service_ab p{
  font-size: 18px;
  line-height: 30px;
  letter-spacing: 2px;
  padding: 20px 0;
}
.service_ab a{
  position: relative;
  display: flex;
  height: 65px;
  align-items: center;
  overflow: hidden;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: #B81C22;
  padding-left: 30px;
  padding-right: 30px;
  font-weight: bold;
  color: #fff;
  text-decoration-line: none;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(.4,0,.2,1);
  transition-duration: .15s;
  font-size: 18px;

}
.service_ab a:hover{
  color: #B81C22;
  background-color: #fff;
  border: 1px #B81C22 solid;
  text-decoration-line: none !important;
}

.service_2 ul{
  padding: 100px 20px;
  position: relative;
  z-index: 3;
}
.service_2 li{
  padding-top: 40px;
  padding-bottom: 20px;
  font-size: 30px;
  border-bottom: 1px solid #B81C22;
  width: 100%;
}

.service_2 span{
  color: #B81C22;
  padding-right: 30px;
}


.top-section3_mask1{
  height: 100%;
  width: 30%;
  clip-path: polygon(0 0, 55% 0, 100% 100%, 0% 100%);
  position: absolute;
  left: 0;
  top: 0;
  background-color: #F1F1F1;
  opacity: .8;
  z-index: 2;
}
.top-section3_mask2{
  height: 100%;
  width: 30%;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 66% 100%);
  position: absolute;
  right: 0;
  top: 0;
  background-color: #B81C22;
  z-index: 2;

}
.top-section4_1{
  padding: 20px;
  background-color: #fff;
  border-radius: 5px;
}
.top-section4_1 img{
  width: 100%;
}

.top-section4_2{
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}


.top-section4_2 p:nth-child(1){
  font-size: 40px;
  padding-bottom: 20px;
}
.top-section4_2 p:nth-child(2){
  font-size: 16px;
  line-height: 30px;
}

.top-section4_3{
  position: relative;
}
.top-section4_2 p:nth-child(1){
  font-size: 25px;
}
.top-section4_3 a{
  display: block;
  position: absolute;
  bottom: 0;
  right: 10%;
  color: #B81C22;
  border-bottom: 1px solid #B81C22;
  padding-bottom: 10px;
  font-size: 20px;
}


/* section5 */
.top-section5{
  width: 90%;
  margin: 0 auto;
  border-bottom: 1px solid #B81C22;
  border-left: 1px solid #B81C22;
  margin-top: 100px;

}

.news_item1{
  text-align: center;
}
.news_item1 p{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block;
  padding: 30px 0;
}


.news_item1 p:nth-child(1){
  font-size: 30px;
}
.news2{
  border-bottom: 1px solid #B81C22;
  padding-bottom: 30px;
  width: 90%;
  padding-top: 30px;
}
.news_item2 p{
  font-size: 18px;
}

.news2:last-child{
  border-bottom: none;
}

.news4{
  font-size: 14px;
  line-height: 20px;
  padding-top: 20px;
}


.top-section6{
  margin: 100px 0;
}


.section6_1{
  width: 90%;
  margin: 0 auto;
  text-align: center;
}

.section6_1 img{
  width: 100%;
}

.section6_1 h2{
  font-size: 30px;
  padding-top: 50px;
}

.section6_1 p:nth-child(3){
  padding-top: 20px;
  color: #B81C22;
  font-size: 14px;
}
.section6_1 p:nth-child(4){
  padding-top: 50px;
  font-size: 14px;
  width: 50%;
  margin: 0 auto;
  line-height: 30px;
}
.btn,
a.btn,
button.btn {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #B81C22;
  border-radius: 0.5rem;
}

.section6_1 a{
  margin: 0 auto;
  width: 20%;
  margin-top: 50px;
  display: block;
  padding: 15px 0;
}
a.btn-border {
  border-radius: 0;
}

a.btn-border:before,
a.btn-border:after {
  position: absolute;
  width: 100%;
  height: 2px;
  content: '';
  -webkit-transition: all .3s;
  transition: all .3s;
  background: #B81C22;
}

a.btn-border:before {
  top: 0;
  left: 0;
}

a.btn-border:after {
  right: 0;
  bottom: 0;
}

a.btn-border:hover:before,
a.btn-border:hover:after {
  width: 0;
}
.top-section7{
  width: 80%;
  margin: 0 auto;
  padding-top: 50px;
}

.section7_a{
  margin: 0 auto;
      width: 20%;
      margin-top: 50px;
      display: block;
      padding: 15px 0;
}



.top-section7 h2{
  font-size: 30px;
  text-align: center;
  border-bottom: 1px solid #B81C22;
  padding-bottom: 10px;
  display: inline-block;
}

@media screen and (max-width:1100px){
  .pc-break{
    display: none;
  }
  .sp-break{
    display: block;
  }

.pc-top{
  display: none;
}
.sp-top{
  display: block;
}
.top-section2 h3{
  font-size: 50px;
  padding-top: 20px;
}
.service_ab h2{
  font-size: 30px;
}
.service_ab span{
  font-size: 20px;
}
.service_2 li{
  font-size: 25px;
}
.top-section4_2 p:nth-child(2){
  font-size: 16px;
  line-height: 20px;
}
}

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

  .flex_item_20{
    width: 100%;
  }
  .flex_item_30{
    width: 50%;
  }

  .flex_item_50{
    width: 100%;
  }

  .flex_item_40{
    width: 100%;
  }

  .flex_item_60{
    width: 100%;
  }
  .flex_item_80{
    width: 100%;
  }

  .flex_item_30_sp100{
    width: 100%;
  }
  .flex_item_50sp{
    width: 50%;
  }
  .gloval_nav_menu_inner1{
    flex-direction:column;

  }

  .top-section4_2{
    position: relative;
    padding-bottom: 30px;
  }
  .top-section4_3{
    order: 1;
  }

  .top-section4_4{
    order: 2;
  }
  .mask{
    display: none;
  }
  .top-section2_mask1{
    display: none;
  }
  .top-section2_mask2{
    display: none;
  }
  .top-section3_mask1{
    display: none;
  }
  .top-section3_mask2{
    display: none;
  }
  .service_ab{
    position: relative;
  }
  .service_2 ul{
    padding: 20px 5%;
  }
  .top-section4_2{
    width: 95%;
  }
  .section7_a{
    width: 50%;
  }
  .top-section7_a{
    width: 100%;
  }
  .news_item1 p {
    writing-mode: horizontal-tb;
    display: block;
    padding-top: 5px;
    padding-bottom: 5px;
  }
  .top-section5{
    border-left: none;
  }
  .news2{
    width: 100%;
  }
  .section6_1 p:nth-child(4){
    padding-top: 10px;
  }
  .section6_1 a{
    margin-top: 20px;
  }

}

@media screen and (max-width:600px){
.logo a{
  font-size: 20px;
}
#nav-toggle span{
  width: 100%;
}
#nav-toggle{
  top: 17px;
}
.scroll-list li{
  font-size: 4rem;
}
footer{
  padding: 20px 10px;
}
.footer_flex{
  width: 90%;
}
.footer1 p{
  font-size: 16px;
  text-align: center;
  line-height: 30px;
  padding-bottom: 10px;
}
.footer_logo{
  text-align: center;
}

.footer_logo img{
  width: 40%;
}
.footer2 h1{
  font-size: 30px;
  text-align: center;
  padding-bottom: 10px;
  padding-top: 10px;
}
.footer2 p{
  line-height: 30px;
}
footer h2{
  padding-top: 10px;
}
.slash::before{
  display: none;
}
.footer1{
  padding: 0;
}


.top_copy h2{
  font-size: 30px;
}
.top-section2_1 h2{
  font-size: 30px;
}
.top-section2_2 p{
  width: 90%;

}
.top-section2 h3{
  font-size: 25px;
  padding-left:10px;
  padding-top: 10px;
}





.service_ab{
  position: relative;
  width: 95%;
}
.service_2 ul{
  padding: 0;
  width: 95%;
  margin: 0 auto;
}

.top-section4_1{
  padding-bottom: 0;
}

.top-section4_2{
  position: relative;
  top: inherit;
  left: inherit;
  transform: none;
  width: 95%;
}
.top-section4_3 a{
  display: inline-block;
  position: relative;
  right: inherit;
  bottom: inherit;
  text-align: right;
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 16px;
}
.top-section4_3{
  order: 2;
  padding-top: 20px;
}

.top-section4_4{
  order: 1;
}

.top-section5{
  border: none;
  margin-top: 20px;
}

.news2{
  padding: 15px 0;
}

.news3{
  padding-top: 10px;
}

.news_item1 p{
  writing-mode:inherit;
  display: block;
  padding: 5px 0;
}
.news2:last-child{
  border-bottom: 1px solid #B81C22;
}
.section6_1 p:nth-child(4){
  width: 95%;
}


.top-section2_mask1{
  display: none;
}
.top-section2_mask2{
  display: none;
}
.top-section3_mask1{
  display: none;
}
.top-section3_mask2{
  display: none;
}
}


/* news */

.news_container{
  padding: 100px 5%;
}

.news_container h2{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: center;
  font-size: 50px;
  padding-right: 20px;
}
[data-ruby] {
	position: relative;
}
[data-ruby]::before {
	content: attr(data-ruby);
	position: absolute;
	top: 10px;
	right: -20px;
	margin: auto;
	font-size: 18px;
  color: #B81C22;
}

.news_title{
  position: fixed;
  left: 5%;
  top: 20%;
}

.news_dt{
  width: 60%;
  margin: 0 auto;
}

.news_sec1{
  padding-bottom: 20px;
  border-bottom: 1px solid #B81C22;
  width: 100%;
  padding-top: 30px;
}

.news_sec1 p{
  font-size: 20px;
}

.news_sec2 {
  padding-top: 20px;
}

.news_sec2{
  font-size: 14px;
  line-height: 20px;
}


.news_title_s h3{
  font-size: 2em;
  padding-bottom: 10px;
}
.news_title p{
  font-size: 1em;
  padding-bottom: 10px;

}
.news_thum img{
  width: 100%;
}

.news_content{
  font-size: 1.2em;
  padding-top: 30px;
  line-height: 30px;
}

/* company */

.container{
  position: relative;
}


.about_head{
  position: relative;
}
.about_head img{
  width: 100%;
}

.about_head_cont{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  text-align: center;
  color: #fff;
}

.about_head_cont h2{
  font-size: 50px;
}

.about_head_cont h3{
  font-size: 20px;
  padding-top: 30px;
}

.about_greet{
  position: relative;
  text-align: center;
  margin: 0 auto;
  padding: 100px 0;
}
.about_greet p{
  margin: 0 auto;
  width: 60%;
}

.about_greet p:nth-child(1){
  font-size: 40px;
}
.about_greet p:nth-child(2){
  font-size: 20px;
  color: #B81C22;
  padding-top: 10px;
}

.about_greet p:nth-child(3){
  font-size: 16px;
  padding-top: 10px;
  line-height: 30px;
}


.about_greet p:nth-child(4){
  font-size: 16px;
  padding-top: 10px;
  line-height: 30px;
}

.about_mask1{
  height: 100%;
    width: 30%;
    clip-path: polygon(34% 0, 0 0, 0 59%);
    position: absolute;
    left: 0;
    top: 0;
    background-color: #A0141A;
    opacity: .8;
    z-index: 2;
}



.about_mask2{
  height: 100%;
    width: 30%;
    clip-path: polygon(100% 100%, 100% 34%, 59% 100%);
    position: absolute;
    right: 0;
    bottom: 0;
    background-color: #A0141A;
    opacity: .8;
    z-index: 2;
}

.about_mask3{
  height: 100%;
    width: 50%;
    clip-path: polygon(34% 0, 0 0, 0 100%);
    position: absolute;
    left: 0;
    top: 0;
    background-color: #f1f1f1;
    opacity: .8;
    z-index: 2;
}

.about_data{
  padding: 50px 0;
  position: relative;
}
.about_data1{
  width: 80%;
  margin: 0 auto;

}
.about_data1 h2{
    position: relative;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: center;
  font-size: 40px;
  padding-right: 20px;
  z-index: 99;

}

.about_data2 table{
  width: 100%;
}

.about_data2 td{
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  font-size: 16px;
}
.about_data2 td:nth-child(1){
  width: 15%;
  border-right: 1px solid #000;
  text-align: center;
  text-align-last:justify;
  margin: 20px 0;
  padding: 20px;
}

.about_data2 td:nth-child(2){
  text-align:left;
  padding: 20px;
  line-height: 30px;
}


.about_data3 table{
  width: 100%;
}

.about_data3 td{
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  font-size: 16px;
}
.about_data3 td:nth-child(1){
  width: 60%;
  border-right: 1px solid #000;
  text-align: center;
  text-align-last:justify;
  margin: 20px 0;
  padding: 20px;
}

.about_data3 td:nth-child(2){
  text-align:left;
  padding: 20px;
  line-height: 30px;
}


.about_data4 table{
  width: 100%;
}

.about_data4 td{
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  font-size: 16px;
}
.about_data4 td:nth-child(1){
  width: 60%;
  border-right: 1px solid #000;
  text-align: left;
  margin: 20px 0;
  padding: 20px;
}

.about_data4 td:nth-child(2){
  text-align:left;
  padding: 20px;
  line-height: 30px;
}
@media screen and (max-width:769px){
.about_data1{
  width: 90%;
}
.about_data2 table{
  margin-left: 30px;
  width: 90%;
}
.about_data4 table{
  margin-left: 30px;
  width: 90%;
}
.about_mask3{
  display: none;
}
.about_greet p{
  width: 80%;
}
}



/* service archive*/
.servicear_1{
  position: relative;
}
.servicear_1 img{
  width: 100%;
}

.servicear_p1{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #fff;
  text-align: center;
}

.servicear_p1 p:nth-child(1){
  font-size: 30px;
  letter-spacing: 2px;
}

.servicear_p1 p:nth-child(2){
  font-size: 16px;
  padding-top: 5px;
}

.servicear_2 p{
  padding: 50px 0;
  font-size: 16px;
  width: 60%;
  text-align: center;
  margin: 0 auto;
}

.servicear_2_img{
  width: 80%;
  margin: 0 auto;
}
.servicear_2_img img{
  width: 100%;
}
.servicear_container{
  padding-bottom: 50px;
}
.tabs {
  padding-bottom: 40px;
  background-color: #fff;
  width: 90%;
  margin: 0 auto;
  margin-top: 50px;
}

/*タブのスタイル*/

.tab_item1 {
  width: 15%;
  height: 50px;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  color: #B81C22;
  display: block;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  border: solid 1px #B81C22;
  cursor: pointer;
}
.tab_input{
  justify-content: space-between;
}


/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 40px  0;
  clear: both;
  overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#sisui:checked ~ #sisui_content,
#boshoku:checked ~ #boshoku_content,
#concrete:checked ~ #concrete_content,
#iron:checked ~ #iron_content,
#other:checked ~ #other_content{
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  color: #000;
}

.service_content{
  width: 80%;
  margin: 0 auto;
}

.service_content_inner{
  padding: 0 5%;
}

.service_content_inner p{
  font-size: 18px;
  line-height: 30px;
  letter-spacing: 1.2px;
}

.tab_content_service{
  position: relative;
  margin: 50px 0;
}
.tab_content_service_ab{
  position: absolute;
  left: 0;
  top: 10px;
  z-index: 4;
}

.tab_content_service_ab h2{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: center;
  font-size: 50px;
  padding-right: 20px;
}

.tab_content_service_inner p{
  text-align: center;
}

.tab_content_service_inner p:nth-child(1){
  font-size: 20px;
  padding-bottom: 20px;
  color: #B81C22;
}
.tab_content_service_inner a{
  color: #B81C22;
}

.tab_content_service_inner p:nth-child(2){
  font-size: 12px;
  padding-bottom: 20px;
}
.tab_content_service_inner_img{
  padding: 10px;
  z-index: 4;
  position: relative;
}

.tab_content_service_inner_img img{
  width: 100%;
}
.tab_content_service{
  position: relative;
}
.service_mask{
  height: 100%;
    width: 100%;
    clip-path: polygon(34% 0, 0 0, 0 100%);
    position: absolute;
    left: 0;
    top: 0;
    background-color: #f1f1f1;
    opacity: .8;
    z-index: 2;
}

.more_detail{
  width: 20%;
  margin: 0 auto;
}

.more_detail a{
  border: solid 1px #B81C22;
  width: 100%;
  color: #B81C22;
  padding: 10px 20px;
  display: block;
  text-align: center;
  margin-top: 20px;

}
.tax_1{
  padding-top: 100px;
}
#single_service_p{
  font-size: 20px;
}
@media screen and (max-width:1000px){
  .tab_item1{
    width: 40%;
    justify-content: center;
    margin: 20px 2%;
  }
  .tab_input{
    justify-content: center;
  }
  .service_content_inner p{
    width: 100%;
  }
  .service_content{
    width: 100%;
  }
  .tab_content_service_ab{
    position: relative;
    padding-left: 5%;
  }
  .tab_content_service_ab h2{
  }
  .tab_content_service_inner p:nth-child(2){
    font-size: 16px;
  }
  .servicear_2 p {
    width: 80%;
}
.more_detail{
  width: 80%;
}
.more_detail a{
  font-size: 20px;
}
}

.privacy {
  padding: 100px 0;
  width: 80%;
  margin: 0 auto;
  font-size: 16px;
  line-height: 30px;
}
.privacy h1{
  font-size: 30px;
  border-left: 5px solid #B81C22;
  margin: 10px 0;
  margin-bottom: 20px;
}

.privacy h2{
  font-size: 30px;
  border-left: 5px solid #B81C22;
  margin: 10px 0;
  margin-right: 10px;
  margin-bottom: 20px;
  padding-left: 10px;
}

.privacy ol{
  list-style-type: decimal;
  padding-left:40px
}
.privacy li{
  list-style-type: decimal;
    padding: 10px 0;
}

.privacy ol li::marker{
  color: #B81C22;
  font-size: 20px;

}

.contact{
  padding: 100px 0;
  width: 80%;
  margin: 0 auto;
  position: relative;
}


.contact dl{
  padding: 30px 0;
  border-radius: 30px;
  margin-top: 50px;
}
.contact form{
  width: 80%;
  margin: 0 auto;
}
.wpcf7{
  width: 100%;
}

.contact dt{
  font-size: 20px;
  letter-spacing: 2px;
}

.contact input{
  border-radius:10px;
  border: none;
  background-color: #ececec;
  font-size: 18px;
  padding: 20px 0;
  margin: 20px 0;
  width: 100%;
}


.contact textarea{
  border-radius:10px;
  border: none;
  background-color: #ececec;
  font-size: 18px;
  padding: 20px 0;
  margin-top: 20px;
  margin-bottom: 10px;

  width: 100%;
}

.wpcf7-not-valid-tip{
  padding-bottom: 10px;
}

.contact input[type="submit"]{
  background-color: #B81C22;
  color: #fff;
}
.contact_span{
  padding-left: 10px;
  font-size: 12px;
  color: #B81C22;
}


.contact h2{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: center;
  font-size: 50px;
  padding-right: 20px;
}
[data-ruby] {
	position: relative;
}
[data-ruby]::before {
	content: attr(data-ruby);
	position: absolute;
	top: 10px;
	right: -20px;
	margin: auto;
	font-size: 18px;
  color: #B81C22;
}
.contact p{
  text-align: center;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: 2px;
}

@media screen and (max-width:1000px){
  .news_title{
    top: 10%;
  }
  .contact h2{
    font-size: 40px;
  }
}



.recruit_head{
  position: relative;
}

.recruit_head img {
  width: 100%;
}
.recruit_head_title{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #fff;
  text-align: center;
}

.recruit_head_title h2{
  font-size: 30px;
  padding-bottom: 5px;
  margin: 0;
}

.recruit_head_title h3{
  font-size: 16px;
  padding-bottom: 5px;
  margin: 0;
}

.recruit_dt1_head h2{
  text-align: center;
  font-size: 30px;
  padding: 50px 0;
}
.recruit_dt1{
  width: 90%;
  margin: 0 auto;
  flex-wrap: nowrap;
}
.recruit_dt1 p{
  position: relative;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: center;
  font-size: 40px;
  padding-right: 20px;
  z-index: 99;
}

.recruit_dt1_table{
  padding-left: 20px;
}



.recruit_dt1_table table{
  width: 100%;
}

.recruit_dt1_table td{
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  font-size: 16px;
}
.recruit_dt1_table td:nth-child(1){
  width: 15%;
  border-right: 1px solid #000;
  text-align: center;
  text-align-last:justify;
  margin: 20px 0;
  padding: 20px;
}

.recruit_dt1_table td:nth-child(2){
  text-align:left;
  padding: 20px;
  line-height: 30px;
}

@media screen and (max-width:800px){
  .recruit_dt1{
    flex-wrap: wrap;
  }
  .flex_item_10{
    width: 100%;
  }
  .flex_item_90{
    width: 100%;
  }
  .recruit_dt1 p{
     writing-mode: horizontal-tb;
     text-align: left;
     padding-bottom: 20px;
  }
  .recruit_dt1_table td:nth-child(1){
    width: 30%;
  }
  .about_data1 h2{
    writing-mode: horizontal-tb;
    text-align: left;
    padding-bottom: 20px;
  }
  [data-ruby]::before{
    top: -20px;
    left: 0px;
  }
  .news_title [data-ruby]::before{
    top: 10px;
    right: -10px;
  }
  .tab_content_service_ab [data-ruby]::before{
    top: 10px;
    right: -10px;
  }
  .tab_item1{
    font-size: 10px;
  }
}
