@charset "UTF-8";
/*
Theme Name:Angie theme
Author: Angie
Description: Angie theme.
Version: 1.0
*/

*{
 margin: 0;
 padding: 0;
}

body{
word-wrap: break-word;
background: #000;
}


html {
  scroll-behavior: smooth;
  font-size : 100%;
  line-height : 1.5;
  color: #383838;
}

h1,h2,h3,h4,h5,h6 {
 margin-bottom : 1em;
}

h1 {
font-size : 36px; 
line-height : 1.2;
} /* 48px */

h2 {
font-size : 24px;
line-height : 1.6;
font-weight: normal;
letter-spacing:0.1em;
} /* 48px */

h3 {
font-size : 24px;
line-height : 1.4;
font-weight: normal;
letter-spacing:0.1em;
} /* 24px */



ul, ol {
	  list-style : none;
	  }
img { 
         vertical-align : middle;
         max-width: 100%;
         height: auto;
         margin-bottom:0;
         padding-bottom: 0;
         }
figure{
         margin-bottom:0;
         padding-bottom: 0;
}
p{
    line-height: 1.8em;
    letter-spacing:0.1em;
}


body{
font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
font-family: "kozuka-mincho-pr6n", serif;
font-weight: 400;
font-style: normal;
font-style: normal;
}


a{
 text-decoration: none;
 color: #383838;
 transition: 0.4s ease-in-out;  
}

a:hover {  
    opacity: 0.5;  
    filter: alpha(opacity=60);  
} 

img{
width: 100%;
}

/* text */

.left{
 text-align: left;
}

.right{
 text-align: right;
}

.center{
 text-align: center;
}

.bold{
 font-weight: bold;
}


.small{
 font-weight: normal;
 font-size: 0.8em;
}

.pc{
display:none;
}

/*flex*/

.flex_container_sp{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
flex-wrap: wrap;
}

.flex_center{
 justify-content: center;
  align-items: center;
}

.flex_re{
flex-direction:row-reverse
}

.flex_bottom{
 align-items: flex-end;
}

.flex_half_sp{
width: 46%;
margin: 2%;
box-sizing: border-box;
}

.flex_3_sp{
width: 31%;
margin: 1%;
box-sizing: border-box;
}


.flex_left_sp{
width: 31%;
margin: 2%;
box-sizing: border-box;
}


.flex_right_sp{
width: 61%;
margin: 2%;
box-sizing: border-box;
}


/*nav*/



/*text*/
.font{
  font-family: "minion-pro-condensed-caption", serif;
font-weight: 400;
}

.font2{
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-weight: 900;
  font-style: normal;
}

/*header*/
p.btn{
font-size:1em;
font-weight:bold;
}

p.btn a{
border-radius:5px;
background:red;
padding:0.5em 1em;
display:inline-block;
color: #fff;
position:fixed;
z-index:1;
top:1em;
left:1em;
}



.bg1{
background-image:url(./images/bg1.jpg);
background-position: center center;
background-size:cover;
padding-top:3em;
padding-bottom:3em;
margin-bottom:4em;
}

header h1{
padding-top:3em;
max-width:250px;
margin-left: auto;
margin-right:auto;
}

.header_main p{
max-width:150px;
margin-left: auto;
margin-right:auto;
margin-bottom:5em;
}



/*main*/

.box0{
padding: 0em 1.5em 2em 1.5em;
margin-bottom: 3em;
color: #fff;
}

.box{
padding: 2em 1.5em 4em 1.5em;
color: #fff;
}



.box1 h2{
font-size:1.6em;
margin-bottom:0.1em;
}

.box p{
margin-bottom:1em;
line-height:2em;
}

.box1 p.small{
margin-bottom:4em;
}

.box1 h3{
font-size:1.3em;
}

.sp{
display:none;
}


.vertical {
  writing-mode: vertical-rl; /* 右から左に縦書き */
  text-orientation: upright; /* 文字の向きを立てる */
  font-size: 4em;
  letter-spacing:0.2em;
}

p.position{
font-size:1em;
margin-bottom:0.3em;
}

.box_prof h3{
font-size:1.6em;
}

.box img{
margin-bottom:1em;
}

.mg1{
margin-bottom:3em;
}



.line{
border-top:1px solid #696969;
border-bottom:1px solid #696969;
padding-top:5em;
padding-bottom:4em;
}


 
/*bread*/
.bread{
    font-size: 0.7em;
    text-align: left;
        padding-top: 1em;
        margin-bottom: 1em;
}

.bread li{
    display: inline;
    margin-right: 1em;
}


.bread li:after{
content: "　>";
}

.bread li:last-child::after{
content: none;
}


/*category*/

.category p.m_title:after {
  border-color: transparent #efede8 transparent transparent;
  }

.category{
  background:#efede8;
}

.category h1{
margin-top: 2em;
margin-top: 0;
}

 .cate_box{
     background: #fff;
     padding: 2em;
     
 }

.box .cate_box h2{
font-size:1.2em;
padding-bottom:0.2em;
margin-bottom: 0em;
border-bottom: 1px dotted #ccc;
}


.cate_box figure{
margin-bottom: 1em;
}

.cate_box{
margin-bottom: 2em;
}


/*single*/
.single{
padding-bottom:3em;
}

.single h1{
font-size:1.8em;
border-bottom:1px solid #ff4400;
padding-bottom:0.6em;
margin-bottom:1.5em;
}

.single img{
margin-bottom:1em;
}


.single .box_news h2{
border-bottom:1px dotted #696969;
}

/*page*/

.header_page h1.font{
position:absolute;
top:0.7em;
z-index:999;
}

.header_page p.pagetitle_en{
color: #fff;
opacity: 0.7;
font-size:3em;
font-weight:bold;
line-height:1.2em;
}

.header_page h1.pagetitle{
color: #fff;
font-size:1.2em;
}

.header_company{
background-image:url("images/bg_company_sp.jpg");
background-size:cover;
padding:10em 1em 22em 3em;
text-align:left;
}


.box0{
padding-top:2em;
}

.page_bg_1{
    content: "";
    background-image: url("images/bg_concrete.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding-top:4em;
    padding-bottom:4em;
    margin-bottom:4em;
}



.page_company table{
border-collapse:collapse;
margin-bottom:2em;
}

.page_company th{
border-right:1px solid #fff;
text-align:left;
vertical-align:top;
}
.page_company th,.page_company td{
padding: 0.3em;
}

.company_br_box{
background-image:url("images/bg_company_pc2.jpg");
background-repeat:no-repeat;
background-size:cover;
background-position:center center;
padding-top:4em;
padding-bottom:4em;
}


.company_br_box p{
border:1px solid #fff;
padding:1em;
}



/*news*/
.box_news_in{
margin-bottom:2em;
border:5px solid #1f1f1f;
padding:1em;
}

.box_news{
padding-top:4em;
padding-bottom:4em;
}

.box_news p.date{
font-size:0.8em;
margin-bottom:0.4em;
}

.box_news h2{
border-bottom:1px solid #ff4400;
margin-bottom:0.5em;
padding-bottom:0.3em;
}

.box_news h2 a{
color: #fff;
}

.box_news a{
color:#fff;
}




/*footer*/
footer .rabel{
max-width:400px;
margin-left: auto;
margin-right: auto;
}

footer h2{
font-size:1.5em;
}

footer table{
border:none;
text-align:left;
margin-bottom:3em;
font-size:0.9em;
}

footer th{
border:none;
border-right:1px solid #fff;
padding-right:0.5em;
padding-top:0.5em;
padding-bottom:0.5em;
vertical-align:top;
}

footer td{
border:none;
padding-left:0.5em;
padding-top:0.5em;
padding-bottom:0.5em;
vertical-align:top;
}

.googlemap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
  margin-bottom: 1em;
}
 
.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}





@media screen and (min-width: 1024px){
.sp{
display:none;
}
.pc{
display:inline;
}



/*flex*/

.flex_container_pc{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
flex-wrap: wrap;

}

.stretch{
align-items:stretch;
}


.flex_re_pc {
    flex-direction: row-reverse;
}

.flex_half_pc{
width: 46%;
margin: 2%;
box-sizing: border-box;
}


.flex_half0_pc{
width: 50%;
box-sizing: border-box;
}


.flex_3_pc{
width: 31%;
margin: 1%;
box-sizing: border-box;
}

.flex_4_pc{
width: 23%;
margin: 1%;
box-sizing: border-box;

}


.strech{
align-items:stretch;
}



/*header*/

p.btn{
font-size:1.1em;
}


.header_main{
padding-top:2em;
padding-bottom:4em;
}

header h1{
padding-top:0;
}

.box0{
text-align:center;
}


header h1{
max-width:300px;
}

.header_main p{
max-width:250px;
}



/*main*/
.box{
padding:6em 4em;
}

.box h2{
font-size:2.3em;
}

.box h3{
font-size:2em;
}

.box p{
font-size:1em;
}

.box0 {
padding-bottom:10em;
}

.box0 h2{
font-size:2.3em;
margin-bottom:0.5em;

}

.box0 h3{
font-size:2em;
}

.box0 p{
font-size:1.2em;
}

.box0 p.small{
font-size:1em;
}

.box_in_en{
padding-left:20%;
padding-bottom:5em;
}

h2.vertical{
font-size:6em;
margin-bottom:0em;
padding-top:1em;
}

.box_prof{
margin-bottom:6em;
}

.box_prof h3{
margin-bottom:0;
font-size:2.5em;
}

.flex_prof_right_pc{
width:65%;
margin-left: 5%;
}


.flex_prof_left_pc{
width:30%;
}

p.mg1{
margin-bottom:4em;
}

.box2 img{
margin-bottom:4em;
}
.box2 h2{
margin-bottom:0.5em;
}

.box_in{
background:#000;
max-width:600px;
margin-top:-5em;
margin-left: auto;
margin-right: 3em;
padding:2em;
position:relative;
z-index:1;
}

.box_inner3{
max-width:650px;
margin-left: 0;
margin-right: auto;
}


.box_inner4{
max-width:1000px;
margin-left: auto;
margin-right: auto;
}




/*news*/
.news-item-large{
width:48%;
margin:1%;
}

.news-item-small{
margin-bottom:1em;
}

.news-item-small-box{
width:48%;
margin:1%;
}

.imagesmall{
width:50%;

}

.text-content{
width:48%;
margin:1%;
}

.news-item-small .image{
padding:0;
margin:0;
}

.news-item-small{
padding:0em;
}

.news-item-large_text{
padding:1em;
margin-bottom:0em;
}

.news-item-small_text{
padding:1em;
margin-bottom:0em;
}




/*footer*/
footer .box h2{
font-size:1.8em;
}

.googlemap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 33%; /* 比率を4:3に固定 */
}

p.copy{
font-size: 0.8em;
text-align: center;
padding-top: 5em;
padding-bottom: 1em;
}


}



@media screen and (min-width: 1400px){
.box_inner{
max-width:1200px;
margin-left: auto;
margin-right: auto;
}

.box_inner2{
max-width:850px;
margin-left: auto;
margin-right: auto;
}



.mgimg{
margin-top:8em;
}


}



.page_contact label{
font-family: "kozuka-gothic-pr6n", sans-serif;
}


/*contact*/


.page_contact .bg_3{
padding-top:4em;
padding-bottom:4em;
}



/*form*/
.wpcf7
{
    margin-left:auto;
    margin-right: auto;
    padding: 3em 2em;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea{
margin-top: 1em;
    background-color: #fff;
    color: #000;
    width: 100%;
    padding: 1em;
        border:1px solid #ccc;
    box-sizing:border-box;
    margin-bottom:2em;
}

 input[type="tel"],
 .wpcf7 input[type="number"]{
     margin-top: 1em;
    background-color: #fff;
    color: #000;
    width: 100%;
    padding: 1em;
        border:1px solid #ccc;
    box-sizing:border-box;
     margin-bottom:2em;
 }
 
 

.wpcf7-form .wpcf7-select, select {      
  box-sizing: border-box;
 margin-bottom:2em;
}


.wpcf7 input[type="submit"]  {

width: 300px;
padding: 1em 2em;
font-size: 14px;
border: none;
background: #ea5205;
-webkit-appearance: none;
cursor: pointer;
border-radius: 3px;
color: #fff;
font-weight: bold;
text-align: center;
margin: 0 auto;
margin-right: auto;
margin-left: auto;
display: block;
margin-top:3em;
margin-bottom: 5em;
    -webkit-transition: 0.4s ease-in-out;
    -moz-transition: 0.4s ease-in-out;
    -o-transition: 0.4s ease-in-out;
    transition: 0.4s ease-in-out;
}

.wpcf7 input[type="submit"]:hover{
  opacity: 0.8;
    filter: alpha(opacity=60);
  }
  

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

.contactin_box{
max-width:800px;
margin-left: auto;
margin-right:auto;
}


  .wpcf7 input[type="text"].age {
      width: 50%;
 }
 

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

 .wpcf7 td.add{
  background: #f4f4f4;
  width:100%;
 }
 
 .wpcf7  input[type="text"].zip1 {
      width: 100%;
 }
 
 .wpcf7 input[type="text"].pref1 {
      width: 100%;
 }
 

}


.animation {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.8s ease-out;
  will-change: opacity, transform;
}

.animation.show {
  opacity: 1;
  transform: translateY(0);
}


.animation2 {
  opacity: 0;
  transform: translateY(-20px);
  transition: all 2s ease-out; /* ゆっくりフェード */
}

.animation2.show {
  opacity: 1;
  transform: translateY(0);
}





