/* 
Theme Name: origin
 */
 @charset "UTF-8";
 @import url(css/reset.css);
 header, main, article, nav, section, footer {
     display: block;
 }
 
 body {
  font-family: 'Noto Sans Japanese', sans-serif;
  font-size: 14px;
 }
 a {
     text-decoration: none;
     color:#333;
 }
 li {
     list-style: none;
 }
 p {
     font-size:16px;
     font-weight:100;
 }
 .alert {
     position: fixed;
     top: -100px;
     right: 0;
     left: 0;
     z-index: 5000;
     text-align: center;
     transition: 1s;
 }
 .alert span {
     position: relative;
     display: inline-block;
     background: #0084ff;
     border-radius: 0 0 4px 4px;
     min-width: 200px;
     line-height: 40px;
     height: 40px;
     font-size: 14px;
     color: #fff;
 }
 .alert.alert-danger span {
     background: #c62958;
 }
 /* header */
 .header-h {
     position: fixed;
     z-index: 2000;
     top: 0;
     width: 100%;
     background: #111 !important;
     color: #fff;
     font-size: 14px;
     line-height: 30px;
     box-sizing: border-box;
     height: 30px;
     text-align: center;
 }
 .pc_header {
     box-sizing: border-box;
     z-index: 1000;
     width: 240px;
     min-width: 240px;
     background: #fff;
     box-shadow: 0 0 10px 0 rgba(0,0,0,0.5);
     height:100vh;
     position:fixed;
 }
 header ul li a{
     font-size:16px;
     display: block;
     border-top: 1px solid #ddd;
     border-left: 1px solid #fff;
     padding: 15px 10px 15px 15px;
     background: #fff;
     font-weight: 400;
     line-height: 1.75rem;
     letter-spacing: .009375em!important;
     font-family: "Noto Sans JP",sans-serif!important;
 }
 .pc_header img {
     width: 90%;
     height: auto;
 }
 .sp_header {
    display:none;
 }
 @media screen and (max-width:900px){
 #hamburger {
    position: relative;
    display: block;
    width: 45px;
    height: 45px;
    margin: 60px 0 0 auto;
 }
 #hamburger span {
    position: absolute;
    width: 30px;
    height: 4px;
    background: #666;
    border-radius: 10px;
    -webkit-transition: all .2s;
    transition: all .2s;
 }
 #hamburger span:nth-child(1) {
    top:0;
}
#hamburger span:nth-child(2) {
    top:10px;
}
#hamburger span:nth-child(3) {
    top:20px;
}
.sp_header {
    z-index: 999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    display: block;
    background: rgba(255, 255, 255, 0.8);
    transition: all .2s ease-in-out;
    /* opacity: 0; */
   transform: translateY(-100%);
}
.sp_header .close {
    position: relative;
    padding-left: 30px;
    padding-top:10px;
    font-size:16px;
    background:#666;
    cursor:pointer;
    line-height: 48px;
    color:#fff;
 }

 .toggle {
    transform: translateY( 0 );
    opacity: 1;
 }
 .sp_header img {
    width:300px;
    margin:0 auto;
    display:block;
 }
 .sp_header h1 {
    background:#fff;
 }
}
 /* footer */
 footer {
     background-color:#333;
     color:#888;
     text-align: center;
     line-height: 2em;
     letter-spacing: 2px;
     padding: 20px 0;
     font-size: 12px;
     width: calc(100% - 240px);
     margin-left: auto;
 }
 
 main {
     position: relative;
     z-index: 500;
     flex-grow: 2;
     min-height: 100vh;
     width: calc(100% - 240px);
     margin-left:auto;
     margin-top:30px;
 }
 /* トップページ */
 #mainvisual {
     position: relative;
 }
 .image-wrapper {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     height: 350px;
     overflow: hidden;
     }
 .image-wrapper img {
     min-width: 800px;
     width: 100%;
     height: auto;
     min-height: 350px;
 }
 .mainvisual-text {
     position: absolute;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     width: 100%;
     top: 0;
     bottom: 0;
 }
 .mainvisual-text h2 {
     position: relative;
 top: -15px;
 font-size: 36px;
 color: #fff;
 text-shadow: 2px 2px 8px rgba(0,0,0,0.5);
 letter-spacing: 4px;
 text-align: center;
 }
 
 .top-secTitle {
     padding-top: 30px;
     margin-bottom: 20px;
     width: 100%;
     text-align: center;
     font-size: 24px;
     letter-spacing: 2px;
     font-weight:normal;
     color: #333;
 }
 .top-secTitle-en {
     display: block;
     margin-top: 5px;
     font-size: 12px;
     letter-spacing: 4px;
     color: #666;
 }
 .button {
     display: block;
     margin-top: 30px;
     font-size: 14px;
     letter-spacing: 2px;
     border: 2px solid #fff;
     padding: 10px 20px;
     line-height: 1.0em;
     color:#fff;
 }
 #business ul {
     display: flex;
     justify-content: space-around;
     justify-content: center;
 }
 #business ul li {
     position: relative;
     width: 30%;
     max-width: 400px;
     border-radius: 2px;
     overflow: hidden;
     margin-left: 10px;
     margin-right: 10px;
 }
 #business ul li img {
     width: 100%;
     height: auto;
     filter: blur(4px);
 }
 #business ul li p {
     position:absolute;
     top:25%;
     left:25%;
     color:#fff;
 }
 #business ul li a {
     position: absolute;
     top: 0;
     right: 0;
     bottom: 0;
     left: 0;
     display: flex;
     align-items: center;
     flex-direction: column;
     justify-content: center;
     background: rgba(0,0,0,0.5);
     transition: .3s;
     color: #fff;
     text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
 }
 #business ul li a:hover {
     background: rgba(0,0,0,0.4);    
 }
 
 
 /* 下層ページ */
 section {
     padding-bottom: 50px;
     background: #fff;
 }
 .subpage_title {
     padding-top: 30px;
     margin-bottom: 10px;
     width: 100%;
     text-align: center;
     font-size: 28px;
     letter-spacing: 2px;
     font-weight:normal;
     color: #fff;
 }
 .subpage_title_en {
     margin-top: 5px;
     font-size: 12px;
     letter-spacing: 4px;
     color: #fff;
     text-align:center;
 }
 .heading {
     height:100px;
     background-image:url(/wp-content/uploads/img/default_company.png);
     overflow: hidden; 
     position:relative;
     background-position: center;
 }
 .heading::before {
     content:"";
     background:inherit;
     filter: blur(60px);
     position: absolute;
     top: -3px;
     left: -3px;
    background-color: rgba(0,0,0,0.5);
 }
 hr {
     border: none;
     height: 4px;
     width: 50px;
     margin: 0 auto;
     background: #111;
     margin-bottom: 30px;
 }
 
 section h2 {
     padding-top: 30px;
     margin-bottom: 20px;
     width: 100%;
     text-align: center;
     font-size: 24px;
     letter-spacing: 2px;
     font-weight: normal;
 }
 .content_box {
     display:flex;
     width: 90%;
     margin: 0 auto;
     padding: 0 20px;
     /* word-break: break-all; */
 }
 .content_box img {
     display: inline-block;
     width: 280px;
     height: 158px;
     margin: 0 15px 15px 0;
 }
 .content_text p {
     line-height: 1.41;
     font-size:16px;
     font-weight:100;
     letter-spacing: 0;
 }
 .postlist h3 {
     margin-top: 5px;
     font-size: 18px;
     text-align: left;
     font-weight: normal;
 }
 .more-info {
     border: 2px solid #666;
 display: block;
 width: 140px;
 margin: 20px auto 0;
 padding: 10px 0px;
 text-align: center;
 background: #fff;
 transition: .3s;
 line-height: 1.0em;
 }
 /* business */
 #business_2 {
     background-color:#f5f5f5;
 }
 /* about */
 #about_1 {
     background-color: #f5f5f5;
 }
 #about_1 p {
     line-height: 2em;
 letter-spacing: 1px;
 text-align: center;
 }
 #about_1 h3 {
    padding-top:40px;
     margin-bottom: 20px;
 width: 100%;
 text-align: center;
 font-size: 24px;
 letter-spacing: 2px;
 font-weight:normal;
 }
 #about_2 table {
     width: 70%;
 margin: 30px auto 0;
 }
 #about_2 table th {
     width: 150px;
 padding-left: 0;
 font-weight: normal;
 }
 #about_2 table th,#about_2 table td {
     padding: 15px;
 border-bottom: 1px solid #ddd;
 font-size:16px;
 letter-spacing: 0;
 }
 /* post */
 .listcontent h2{
     margin-top: 16px;
     margin-bottom:16px;
     font-size: 18px;
 }
 .post_wrapper {
     background-color:#f5f5f5;
 }
 .postpage_title{
     display: inline-block;
     text-align: left;
     margin:28px;
     font-size:24px;
 }
 .postlist li {
     width: 90%;
 margin: 0 auto;
 padding: 15px 0;
 border-bottom: 1px solid #ddd;
 }
 p.date_time {
     font-size:12px;
     margin-top:8px;
 }
 .post_content {
     margin-left:28px;
     line-height: 1.75em;
 }
 .info_link {
     margin:28px;
 }
 
 /* contact */
 
 .red {
     color:red;
 }
 .contact-wrapper {
     width: 800px;
     margin: 0 auto;
     padding-top: 40px;
 }
 .cf7 p{
     font-weight: 300;
 }
 .cf7__list {
     display: flex;
     flex-wrap: wrap;
     margin-bottom: 60px;
     margin-top:60px;
   }
 
   .cf7__list dt:nth-of-type(n + 2),
   .cf7__list dd:nth-of-type(n + 2) {
     margin-top: 30px;
   }
   .cf7__list dt {
     width: 35%;
     padding-top: 15px;
   }
   
   .cf7__list dd {
     width: 65%;
   }
   .cf7__list dd input[type="text"],
 .cf7__list dd input[type="tel"],
 .cf7__list dd input[type="email"],
 .cf7__list dd textarea {
   width: 100%;
   padding: 15px 20px;
   background: #F4F4F4;
 }
 
 .cf7__button {
     padding-left: 72px;
     margin-bottom:60px;
     text-align: center;
     font-size:16px;
   }
   input[type="submit"] {
     width: 260px;
     height: 60px;
     position: relative;
     z-index: 2;
     background-color: #fff;
     border: 2px solid #333;
     color: #333;
     line-height: 48px;
     font-size: 18px;
     transition: .3s;
   }
   input[type="submit"]:hover {
     cursor: pointer;
     background:#333;
     color:#fff;
   }

   @media screen and (max-width:900px)  {
    .pc_header {
        display:none;
    }
    main {
        width:100%;
    }
    .mainvisual-text h2 {
        font-size:24px;
    }
    #business ul {
        flex-direction: column;

    }
    #business ul li {
        width:80%;
        margin: 10px auto;

    }
    .content_box {
        flex-direction: column;
    }
    footer {
        width:100%;
    }
   }