@charset "UTF-8";


/*---------------------------- PC向けのスタイル ----------------------------*/
@media screen and (min-width: 680px) {


/*---------- ページ全体の指定 ----------*/

body {
  width: 100%;
  font-family: "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, Osaka, "MS P ゴシック", "MS P Gothic", sans-Serif;
  margin: 0;
  padding: 0;
  font-size: 22px;
  color: #333333;
  background-color: #ffffff;
  -webkit-text-size-adjust: none;
}

.img_a {
  display: block;
}

.img_b {
  display: none;
}


.toi{
  max-width:300px;
  width:100%;
  margin: 0 auto;
  font-size:19px;
}

.dl{
  display: inline-block;
  font-size: 43px;

}


/*---------- メイン ----------*/

#main {
  width: 100%;
  overflow: hidden;
  margin: 0 auto 0 auto;
  padding: 0;
  text-align: center;
  background-color: #ffffff;
}


/*---------- ヘッダー ----------*/

#header {
  width: 100%;
  margin: 0 auto 0 auto;
}


/*---------- ヘッダー内 ----------*/

#header #header_inner {
  max-width: 1440px;
  width:100%;
  height: 140px;  /*-- 高さ --*/
  padding: 4px;  /*-- 余白 --*/
  margin: 0 auto 0 auto;
}


/*----- 左 logo -----*/

#h_logo {
  padding: 0;
  text-align: left;
  font-size: 14px;
  color: #444444;
  line-height: 1.5;
  text-decoration: none;
  float: left;
}

#h_logo h2 {
  margin: 0;
  padding: 30px 0 0 30px;  /*-- logo 位置 --*/
  text-align: left;
  font-size: 22px;
  color: #444444;
  letter-spacing: 0.05em;
}

#h_logo a {
  font-size: 22px;
  color: #666666;
  text-decoration: none;
}

#h_logo a:hover {
  font-size: 22px;
  color: #888888;
  text-decoration: none;
}


/*----- 右 info -----*/

#h_info{
  margin: 0;
  padding: 32px 14px 0 10px;  /*-- info 位置 --*/
  text-align: right;
  font-size: 16px;
  color: #555555;
  line-height: 1.6;
  text-decoration: none;
  float: right;
}

#h_info p{
  margin: 0;
  padding: 3px;
  text-align: left;
  font-size: 14px;
  color: #444444;
  letter-spacing: 0.05em;
}

#h_info a{
  font-size: 13px;
  color: #333333;
  text-decoration: none;
}

#h_info a:hover{
  font-size: 13px;
  color: #666666;
  text-decoration: none;
}


/*---------- ヘッダーメニュー ----------*/

#header-menu {
  display: flex;          /* flexコンテナにする */
  align-items: center;    /* 子要素を上下中央に配置 */
  height: 85px;           /* 高さを決めておく */
  background-color: #1d2087;
  color: #fff;
}

#header-menu ul {
  display: flex;          /* 横並びにする */
  flex-direction: row;    /* 横方向に並べる（デフォルトだが明示すると安心） */
  margin: 0 auto;
  padding: 0;
}

#header-menu li {
  list-style-type: none;
  color: #ffffff;
}

#header-menu li a {
  font-size: 22px;
  color: #fff;
  font-weight: 700;
  text-align: center;
  display: block;
  line-height: 1.3;
  letter-spacing: 0.05em;
  text-decoration: none;
  padding: 6px 38px 2px 38px;

}

#header-menu li a:hover {
  color: #765c47;
  background-image: url(../images/head_menu_back_hover.gif);
  background-repeat: repeat-x;
}

#header-menu li.home a {
  padding: 6px 38px 2px 38px;
  border-left: none;
}

#header-menu span.sub {
  color: #777777;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0; 
  visibility: hidden;
}


/*---------- SP電話ボタン ----------*/

.phone {
  display: none;
}


/*---------- メイン画像 ----------*/

#header-img {
  width: 100%;
  margin: 12px 0 0px 0;
  text-align: center;
}

.main_photo {
  display: block;
  margin: 0 0 0 auto;
}


/*---------- コンテンツ ----------*/

#container {
  max-width: 1200px;
  width:100%;
  margin: 0 auto 0 auto;
  overflow: hidden;
  padding: 6px 0 0 0;
  background-color: #ffffff;
}


/*---------- メインコンテンツ ----------*/

#contents {
/*  float: right;*/
  margin: 0 auto;
  padding: 0;
  font-size: 20px;
  max-width: 900px;
  width:100%;
  letter-spacing: 0.05em;
  text-align: left;
  line-height: 1.7;
}

#contents h2 {
  margin: 0 0 10px 0;
  font-size: 43px;
  color: #1d2087;
  position: relative;
  padding: 0.5em 0;
}

#contents h2.page_title {
  margin: 74px 0 18px 0;
  padding: 18px 0 4px 23px;
  color: #1d2087;
  border-top: double 10px #1d2087;   /* 上に二重線 */
  border-bottom: double 10px #1d2087;/* 下に二重線 */
  padding: 10px 0;              /* 文字と線の間に余白 */
  text-align: center;
 }

 /* 上の線 */
h2.page_title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  border-top: 1px solid #1d2087;   /* 外側を太く */
  border-bottom: 3px solid #1d2087;
  height: 0;
}

/* 下の線 */
h2.page_title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-top: 3px solid #1d2087;   /* 内側を細く */
  border-bottom: 1px solid #1d2087;
  height: 0;
}


#contents h2.txt {
  height: auto;
  margin: 0 0 7px 0;
  padding: 0;
  border: none;
  font-size: 16px;
  color: #54351f;
  background: none;
}

#contents h3 {
  margin: 12px 3px 10px 3px;
  padding: 15px 10px 10px 18px;
  line-height: 1.4;
  font-size: 28px;
  color: #54351f;
}

#contents p {
  margin: 15px 0 15px 0;
  padding: 0 2px 0 2px;
  line-height: 1.7;
  font-size: 16px;
}

/** 取扱商品一覧 **/

.materials{margin: 0 auto;max-width:900px;width:100%;padding:10px;border-bottom: 2px solid #1d2087;}

.materials dl {
  margin: 20px 0;
}

.materials dt {
  padding: 5px;
  font-weight: bold;
  border-top:2px solid #1d2087;
}

.materials dd {
  padding: 0px 0px 30px 200px;
/*  background: #fff; */
  margin: 0;             /* デフォルトの余白を消す */
}



/*---------- 画像の回り込み ----------*/

img.picture {
  margin: 0 10px 10px 0;
  float: left;
}

img.picture_r {
  margin: 0 5px 10px 10px;
  float: right;
}


/*---------- 表（テーブル） ----------*/
/** DL、DT、DDで表づくり **/
    dl.class {
/*      background-color: #f8f8f8;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      border-left: 1px solid #ccc;*/
      margin: 40px 0 20px;
    }
    .class dt {
      padding: 20px 15px 0 15px;
      width: 27%;
      float: left;
      text-align: right;
      color:#1d2087;
      font-weight: 700;
  letter-spacing: 0.5em;   /* 文字間隔を広げる */
    }

    .class dd {
      padding: 20px 0px 15px 15px;
/*      border-top: 1px solid #ccc;*/
      background: #fff;
      margin-left: 30%;
/*      border-left: 1px solid #ccc;*/
      text-align: left;
    }
    .class dd::after {
      content: '';
      display: block;
      clear: both;
    }
    .class dt span {
      font-size: 14px;
    }

/** table **/
table {
  margin: 20px auto;
}
.tbl-r02 th {
  background: #e9727e;
  border: solid 1px #ccc;
  color: #fff;
  padding: 10px;
}
.tbl-r02 td {
　border: solid 1px #ccc;
  padding: 10px;
}
 


/*---------- フッター ----------*/

#footer {
  clear: both;
  width: 100%;
  margin: 0;
  padding: 30px 0 30px 0;
  text-align: center;
  font-size: 18px;
  color: #fff;
  line-height: 1.8;
  border-top: solid 2px;
/*  border-top-color: #c2ad96;*/
  background-color: #1d2087;
}

#footer a {
  color: #0a0a0a;
  text-decoration: none;
}

#footer a:hover {
  color: #555555;
  text-decoration: none;
}

#footer a.tel {
  color: #ffffff;
  text-decoration: none;
}

#footer a.tel:hover {
  color: #555555;
  text-decoration: none;
}

.footer p{
  line-height: 100%;
  font-size:18px;
}

.cement-list {
  display: flex;
  flex-wrap: wrap; /* ← これで折り返し可能にする */
  gap: 16px;       /* 任意：間隔調整 */
}

.cement-list > div {
  width: calc(50% - 8px); /* 上2つを左右に並べる */
}

.cement-list > div.full {
  width: 100%; /* 3つ目だけ1行にする */
}

}

/*---------------------------- タブレット向けのスタイル ----------------------------*/
@media screen and (min-width:680px) and (max-width:920px) {
/*---------- タブレット向け ----------*/
#main {   /*  min-width: 900px;*/   }
}


/*---------------------------- 共通部分（コンテンツ） ----------------------------*/
/*---------- コンテンツ枠装飾 ----------*/
.spbr{display:none;}

/*---------- トップに戻る ----------*/


.scroll {
  width: 180px;
  height: 28px;
}

.copy{
  font-size:13px;
  text-align: center;
}

/*******トップのバナー*********/

.banner-wrapper {
  display: flex;
  gap: 20px; /* バナー間の余白 */
}

.banner {
  flex: 1; /* 2つを均等に並べる */
}

.banner img {
  width: 100%;
  height: auto;
  display: block;
}

/* スマホ（768px以下）では縦並び */
@media (max-width: 768px) {
  .banner-wrapper {
    flex-direction: column;
  }
}

/** 共通ボタン **/

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  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: #212529;
  border-radius: 0.5rem;
}

.btn--orange,
a.btn--orange {
  color: #fff;
  background-color: #eb6100;
}
.btn--orange:hover,
a.btn--orange:hover {
  color: #fff;
  background: #f56500;
}

a.btn--radius {
   border-radius: 100vh;
}

/* お問い合わせの電話 */
.tel-waku{
  max-width:413px;/*width:100%;*/background-color: #FFF;padding:10px;margin:0 auto 30px;
}

.tel-naka{
  background-color: #1d2087; border-radius: 10px;font-weight: 400;
}

.fontCenter{text-align: center;}



.access-wrapper {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  flex-wrap: wrap;
}

/* 左右のカラム */
.access-info,
.access-map {
  flex: 1;
  min-width: 300px; /* スマホで崩れないように */
  text-align:center;
  font-size:16px;
}

/* スマホ（768px以下）で縦並び */
@media (max-width: 768px) {
  .access-wrapper {
    flex-direction: column;
  }
  .access-info,
  .access-map{width:100%;}
}


/***印刷用プレビュー********************************/

@media print {
body {
  width: 100%;
  font-family: "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, Osaka, "MS P ゴシック", "MS P Gothic", sans-Serif;
  margin: 0;
  padding: 0;
  font-size: 22px;
  color: #333333;
  background-color: #ffffff;
  -webkit-text-size-adjust: none;
}

.toi{
  max-width:300px;
  width:100%;
  margin: 0 auto;
  font-size:19px;
}

.dl{
  width:60%;
  margin: 0 auto;
  font-size:43px;
}


/*---------- メイン ----------*/

#main {
  width: 100%;
  overflow: hidden;
  margin: 0 auto 0 auto;
  padding: 0;
  text-align: center;
  background-color: #ffffff;
}


/*---------- ヘッダー ----------*/

#header {
  width: 100%;
  margin: 0 auto 0 auto;
}

/*---------- ヘッダー内 ----------*/

#header #header_inner {
  max-width: 1440px;
  width:100%;
  height: 140px;  /*-- 高さ --*/
  padding: 4px;  /*-- 余白 --*/
  margin: 0 auto 0 auto;
}


/*----- 左 logo -----*/

#h_logo {
  padding: 0;
  text-align: left;
  font-size: 14px;
  color: #444444;
  line-height: 1.5;
  text-decoration: none;
  float: left;
}

#h_logo h2 {
  margin: 0;
  padding: 30px 0 0 30px;  /*-- logo 位置 --*/
  text-align: left;
  font-size: 22px;
  color: #444444;
  letter-spacing: 0.05em;
}

#h_logo a {
  font-size: 22px;
  color: #666666;
  text-decoration: none;
}

#h_logo a:hover {
  font-size: 22px;
  color: #888888;
  text-decoration: none;
}


/*----- 右 info -----*/

#h_info{
  margin: 0;
  padding: 32px 14px 0 10px;  /*-- info 位置 --*/
  text-align: right;
  font-size: 16px;
  color: #555555;
  line-height: 1.6;
  text-decoration: none;
  float: right;
}

#h_info p{
  margin: 0;
  padding: 3px;
  text-align: left;
  font-size: 14px;
  color: #444444;
  letter-spacing: 0.05em;
}

#h_info a{
  font-size: 13px;
  color: #333333;
  text-decoration: none;
}

#h_info a:hover{
  font-size: 13px;
  color: #666666;
  text-decoration: none;
}


/*---------- ヘッダーメニュー ----------*/

#header-menu {
  display: flex;          /* flexコンテナにする */
  align-items: center;    /* 子要素を上下中央に配置 */
  height: 85px;           /* 高さを決めておく */
  background-color: #1d2087;
  color: #fff;
}

#header-menu ul {
  display: flex;          /* 横並びにする */
  flex-direction: row;    /* 横方向に並べる（デフォルトだが明示すると安心） */
  margin: 0 auto;
  padding: 0;
}

#header-menu li {
  list-style-type: none;
  color: #ffffff;
}

#header-menu li a {
  font-size: 22px;
  color: #fff;
  font-weight: 700;
  text-align: center;
  display: block;
  line-height: 1.3;
  letter-spacing: 0.05em;
  text-decoration: none;
  padding: 6px 38px 2px 38px;

}

#header-menu li a:hover {
  color: #765c47;
  background-image: url(../images/head_menu_back_hover.gif);
  background-repeat: repeat-x;
}

#header-menu li.home a {
  padding: 6px 38px 2px 38px;
  border-left: none;
}

#header-menu span.sub {
  color: #777777;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0; 
  visibility: hidden;
}

/*---------- メイン画像 ----------*/

#header-img {
  width: 100%;
  margin: 12px 0 0px 0;
  text-align: center;
}

.main_photo {
  display: block;
  margin: 0 0 0 auto;
}


/*---------- コンテンツ ----------*/

#container {
  max-width: 1200px;
  width:100%;
  margin: 0 auto 0 auto;
  overflow: hidden;
  padding: 6px 0 0 0;
  background-color: #ffffff;
}


/*---------- メインコンテンツ ----------*/

#contents {
/*  float: right;*/
  margin: 0 auto;
  padding: 0;
  font-size: 20px;
  max-width: 900px;
  width:100%;
  letter-spacing: 0.05em;
  text-align: left;
  line-height: 1.7;
}

#contents h2 {
  margin: 0 0 10px 0;
  font-size: 43px;
  color: #1d2087;
  position: relative;
  padding: 0.5em 0;
}

#contents h2.page_title {
  margin: 74px 0 18px 0;
  padding: 18px 0 4px 23px;
  color: #1d2087;
  border-top: double 10px #1d2087;   /* 上に二重線 */
  border-bottom: double 10px #1d2087;/* 下に二重線 */
  padding: 10px 0;              /* 文字と線の間に余白 */
  text-align: center;
 }

 /* 上の線 */
h2.page_title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  border-top: 1px solid #1d2087;   /* 外側を太く */
  border-bottom: 3px solid #1d2087;
  height: 0;
}

/* 下の線 */
h2.page_title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-top: 3px solid #1d2087;   /* 内側を細く */
  border-bottom: 1px solid #1d2087;
  height: 0;
}


#contents h2.txt {
  height: auto;
  margin: 0 0 7px 0;
  padding: 0;
  border: none;
  font-size: 16px;
  color: #54351f;
  background: none;
}

#contents h3 {
  margin: 12px 3px 10px 3px;
  padding: 15px 10px 10px 18px;
  line-height: 1.4;
  font-size: 28px;
  color: #54351f;
}

#contents p {
  margin: 15px 0 15px 0;
  padding: 0 2px 0 2px;
  line-height: 1.7;
  font-size: 16px;
}

/** 取扱商品一覧 **/

.materials{margin: 0 auto;max-width:900px;width:100%;padding:10px;border-bottom: 2px solid #1d2087;}

.materials dl {
  margin: 20px 0;
}

.materials dt {
  padding: 5px;
  font-weight: bold;
  border-top:2px solid #1d2087;
}

.materials dd {
  padding: 0px 0px 30px 200px;
  background: #fff;
  margin: 0;             /* デフォルトの余白を消す */
}




/*---------- 表（テーブル） ----------*/
/** DL、DT、DDで表づくり **/
    dl.class {
/*      background-color: #f8f8f8;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      border-left: 1px solid #ccc;*/
      margin: 40px 0 20px;
    }
    .class dt {
      padding: 20px 15px 0 15px;
      width: 27%;
      float: left;
      text-align: right;
      color:#1d2087;
      font-weight: 700;
  letter-spacing: 0.5em;   /* 文字間隔を広げる */
    }

    .class dd {
      padding: 20px 0px 15px 15px;
/*      border-top: 1px solid #ccc;*/
      background: #fff;
      margin-left: 30%;
/*      border-left: 1px solid #ccc;*/
      text-align: left;
    }
    .class dd::after {
      content: '';
      display: block;
      clear: both;
    }
    .class dt span {
      font-size: 14px;
    }

/*---------- フッター ----------*/

#footer {
  clear: both;
  width: 100%;
  margin: 0;
  padding: 30px 0 30px 0;
  text-align: center;
  font-size: 18px;
  color: #fff;
  line-height: 1.8;
  border-top: solid 2px;
/*  border-top-color: #c2ad96;*/
  background-color: #1d2087;
}

#footer a {
  color: #0a0a0a;
  text-decoration: none;
}

#footer a:hover {
  color: #555555;
  text-decoration: none;
}

#footer a.tel {
  color: #ffffff;
  text-decoration: none;
}

#footer a.tel:hover {
  color: #555555;
  text-decoration: none;
}

.cement-list {
  display: flex;
  flex-wrap: wrap; /* ← これで折り返し可能にする */
  gap: 16px;       /* 任意：間隔調整 */
}

.cement-list > div {
  width: calc(50% - 8px); /* 上2つを左右に並べる */
}

.cement-list > div.full {
  width: 100%; /* 3つ目だけ1行にする */
}







/*---------------------------- タブレット向けのスタイル ----------------------------*/
@media screen and (min-width:680px) and (max-width:920px) {


/*---------- メイン ----------*/

#main {
/*  min-width: 900px;*/
}

}




/*---------------------------- 共通部分（コンテンツ） ----------------------------*/


/*---------- メインコンテンツ ----------*/

hr.line {
  margin: 0 0 10px 0;
  padding: 2px 0 6px 0;
  border: 0;
  border-bottom: dotted 1px #666666;
}

.spbr{display:noen;}


/*---------- サイドエリア ----------*/

#menu hr.line {
  margin: 0;
  padding: 2px 0 6px 0;
  border: 0;
  border-bottom: dotted 1px #666666;
}


/*---------- トップに戻る ----------*/

.scroll {
  width: 180px;
  height: 28px;
}

.copy{
  font-size:13px;
  text-align: center;
}

/*******トップのバナー*********/

.banner-wrapper {
  display: flex;
  gap: 20px; /* バナー間の余白 */
}

.banner {
  flex: 1; /* 2つを均等に並べる */
}

.banner img {
  width: 100%;
  height: auto;
  display: block;
}

/* スマホ（768px以下）では縦並び */
@media (max-width: 768px) {
  .banner-wrapper {
    flex-direction: column;
  }
}

/** 共通ボタン **/

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  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: #212529;
  border-radius: 0.5rem;
}

.btn--orange,
a.btn--orange {
  color: #fff;
  background-color: #eb6100;
}
.btn--orange:hover,
a.btn--orange:hover {
  color: #fff;
  background: #f56500;
}

a.btn--radius {
   border-radius: 100vh;
}

/* お問い合わせの電話 */
.tel-waku{
  max-width:413px;/*width:100%;*/background-color: #FFF;padding:10px;margin:0 auto 30px;
}

.tel-naka{
  background-color: #1d2087; border-radius: 10px;font-weight: 400;
}

a.mtb0{margin: 0 auto;}
.mtb0{margin: 0 auto;}
.fontCenter{text-align: center;}



.access-wrapper {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  flex-wrap: wrap;
}

/* 左右のカラム */
.access-info,
.access-map {
  flex: 1;
  min-width: 300px; /* スマホで崩れないように */
  text-align:center;
  font-size:16px;
}

/* スマホ（768px以下）で縦並び */
@media (max-width: 768px) {
  .access-wrapper {
    flex-direction: column;
  }
  .access-info,
  .access-map{width:100%;}
}
  /* 必要な要素だけ表示 */
  .header, .footer { display: block; }
}


p.back{text-align:right;}