/*------------------------------------*\
	COMMONS CLASSES
\*------------------------------------*/

body { color: #333333; }

h1, h2, h3, h4, h5, h6 {
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    margin-bottom: 1.1em;
}
br.no-pc { display: none; }
.features,
.blog,
.gallery,
.clients,
.prefooter .container-fluid {
    padding-top: 3.3em;
    padding-bottom: 4.2em;
}

span.typcn::before, i.typcn::before {
    font-size: 2em;
}

span.x2:before, i.x2:before {
    font-size: 3.4em;
}

span.x3:before, i.x3:before {
    font-size: 4.4em;
}

span.x4:before, i.x4:before {
    font-size: 6em;
}


/*------------------------------------*\
	HEADER
\*------------------------------------*/

header .container-fluid {
    background-image: url('images/hero_img.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 100vh;
    padding-top: 36px;
}

.hamburger {
    font-size: 2.8em;
    color: #CCC;
    line-height:1.3em;
}
.hamburger:hover {
  color: #FFF;
  cursor: pointer;
}

.logo {
    background: none;
    border: 0px;
}
.logo img {
    display: inline-block;
    max-width: 200px;
}
@media only screen and (max-width:768px){
  header .container-fluid {
      padding-top: 26px;
  }
  .logo img {
      max-width: 140px;
  }
  .hamburger {
    line-height:0.8em;
  }
}

.jumbotron
{
    background: none;
    text-align: center;
}

.jumbotron h1,
.jumbotron h2,
.jumbotron h3,
.jumbotron h4,
.jumbotron h5,
.jumbotron h6,
.jumbotron small
{
    color: #FFFFFF;
}

.jumbotron p
{
    color: #FFFFFF;
    margin-bottom: 5%;
}

header .container-contact
{
    background-color: #333;
    height: 140px;
    padding-top: 36px;
}
/*------------------------------------*\
	SECTIONS
\*------------------------------------*/

.number .container-fluid
{
    background-image: url('images/about_buttermochi.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.opaline
{
    padding-top: 3em;
    padding-bottom: 3em;
    background-color: rgba(128, 215, 247, 0.8);
}

.opaline h1,
.opaline h2,
.opaline h3,
.opaline h4,
.opaline h5,
.opaline h6,
.opaline p
{
    color: #FFFFFF;
}

.opaline .boxes
{
    margin-top: 30px;
    padding-top: 20px;
    padding-bottom: 5px;
    border: 1px solid #FFF;
}

.boxes .odometer.odometer-theme-default
{
  font-family: 'Roboto Slab', serif;
}

.story .container-fluid
{
    background-image: url('images/profile_img.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.gallery
{
    background-color: #dddddd;
}

.prefooter .container-fluid {
    background-image: url(images/contact_img.jpg);
    background-size: cover;
    background-position: center;
}

.prefooter h1,
.prefooter h2,
.prefooter h3,
.prefooter h4,
.prefooter h5,
.prefooter h6,
.prefooter p
{
    color: #FFFFFF;
}

/*------------------------------------*\
	FOOTER
\*------------------------------------*/

footer
{
    background-color: rgba(80,54,3,1);
    padding-top: 2em;
    padding-bottom: 1.2em;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,
footer p
{
    color: #FFFFFF;
}

.social
{
    padding-top: 50px;
}

section table { width: 100%; }
section th, section td  { padding: 10px; /* border: 1px solid #ddd; */ }
section th  { /* background: #f4f4f4; */ }

table.profile_tbl, table.form_tbl { margin: 40px 0 20px 0; }
.profile_tbl th, .form_tbl th  { width: 30%; text-align: left; }

.no-pc {
  display: none;
}
.profile_tbl {
  font-size: 16px;
  line-height: 1.5;
}
@media only screen and (max-width:480px){
/*     .profile_tbl { margin: 0 -10px; } */
    .profile_tbl th,
    .profile_tbl td, 
    .form_tbl th,
    .form_tbl td {
    width: 100%;
    display: block;
    border-top: none;
    }
/*   .profile_tbl tr:first-child th { border-top: 1px solid #ddd; } */

  .jumbotron {
    padding: 30px 5px;
  }
  .no-pc {
    display: inline;
  }
}

 table.form_tbl th, table.form_tbl td {
    color: #ffffff;
}


/* ==========================================================================
   スマホ・タブレット向け調整 (画面幅991px以下)
   ========================================================================== */
@media screen and (max-width: 991px) {
  header .container-fluid {
    background-image: url('images/hero_img_s.jpg');
  }
  .number .container-fluid {
    background-image: url('images/about_buttermochi_s.jpg');
  }
  .story .container-fluid {
    background-image: url('images/profile_img_s.jpg');
  }

/* 1. 背景画像の設定と、画像より下のエリアの背景色 */
    #about .container-fluid,
    #company .container-fluid {
        background-size: 100% auto !important;       /* 横幅100%、高さは自動 */
        background-position: top center !important;  /* 上部中央に配置 */
        background-repeat: no-repeat !important;     /* 画像の繰り返しを防ぐ */
        /* 【修正】画像が終わった下の領域を暗い色にして、白文字とのコントラストを保つ */
        background-color: rgba(80,54,3,1) !important;        
        
        /* 【修正】余白を小さくしました（まだ広すぎる場合は 40vw や 35vw に減らしてください） */
        padding-top: 45vw !important;                
        padding-bottom: 40px !important;
    }

    /* 2. 内側のコンテナの余白をリセット */
    #about .container,
    #company .container {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* 3. テキストが載っているエリア（.opaline）の調整 */
    #about .opaline,
    #company .opaline {
        margin-top: 0 !important;
        padding: 20px !important;
        /* 【修正】白文字がはっきり読めるように、黒の半透明背景に変更 */
        background-color: rgba(0, 0, 0, 0.6) !important; 
        border-radius: 8px; /* 角を少し丸くする */
    }
    section#company th {
      background-color:  rgba(80,54,3,0.4);
    }
    section#company th, #company section td {
      padding: 4px 10px;
    }
    br.no-pc { display: inline; }
    br.no-sp { display: none; }
}