/* ============================================================
   about.html 専用スタイル
   about.mhtml 内 id="custOmorder" のレイアウト・デザインを
   実サイト(tres.co.jp/about/)の common.css / page_parts.css から
   そのまま再現したもの。共通の #siteHeader / .site-footer は
   css/style.css を使用するため、ここでは #custOmorder 配下のみ定義する。
   (元CSSは rem 指定だが、このサイトの html は 62.5% リセットを
   使わないため、同じ見た目になるよう px に換算済み)
============================================================ */

#custOmorder {
  color: #444;
  font-size: 14px;
  line-height: 1.8;
}
#custOmorder h1,
#custOmorder h2 {
  line-height: 1.4;
}

/* ---- HERO (mainvisual) ---- */
#custOmorder #mainvisual_bg {
  display: table;
  height: 100vh;
  width: 100%;
  position: relative;
  background: none; /* style.css の背景色が z-index:-1 の画像を覆うため */
}
#custOmorder #mainvisual_bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-image: url(/assets/images/about-mv-pc.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  filter: grayscale(100%);
  animation: aboutGrayscale .5s ease-in-out 2s forwards;
}
@media (max-width: 767px) {
  #custOmorder #mainvisual_bg::after {
    background-image: url(/assets/images/about-mv-sp.jpg);
  }
}
@keyframes aboutGrayscale {
  from { filter: grayscale(100%); }
  to   { filter: grayscale(0); }
}
#custOmorder .mainvisual_box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ---- content sections ---- */
#custOmorder #contentWrap {
  background: #fff;
  position: relative;
}
#custOmorder .content_base,
#custOmorder .content_black,
#custOmorder .content_grey,
#custOmorder .content_blank {
  padding: 10vw 0;
  position: relative;
}
#custOmorder .content_black { background-color: #000; color: #fff; }
#custOmorder .content_grey { background-color: #f5f5f5; }
#custOmorder .content_base { background: #fff; color: #444; }

#custOmorder .bg_square {
  background-size: 18px 18px;
  background-repeat: repeat;
  background-image:
    linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
    linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-color: #fff;
  border-top: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
}

@media (max-width: 767px) {
  #custOmorder .content_base,
  #custOmorder .content_black,
  #custOmorder .content_grey,
  #custOmorder .content_blank {
    padding: 20vw 0;
  }
}

/* ---- inner widths ---- */
#custOmorder .inner640,
#custOmorder .inner960,
#custOmorder .inner1080,
#custOmorder .inner1280 {
  margin: 0 auto;
  padding: 0 5%;
  width: 100%;
}
#custOmorder .inner640  { max-width: 640px; }
#custOmorder .inner960  { max-width: 960px; }
#custOmorder .inner1080 { max-width: 1080px; }
#custOmorder .inner1280 { max-width: 1280px; }

/* ---- flex utilities ---- */
#custOmorder .flex {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
}
#custOmorder .flex_lg6-xs12 {
  width: 48%;
  flex-basis: 48%;
  margin-bottom: 5vw;
}
#custOmorder .flex_lg2_5.empty {
  width: 18%;
  flex-basis: 18%;
  height: 0;
  margin: 0;
  padding: 0;
  border-width: 0;
}
@media (max-width: 767px) {
  #custOmorder .flex_lg6-xs12 {
    width: 100%;
    flex-basis: 100%;
    margin-bottom: 10vw;
  }
}

/* ---- headings / text ---- */
#custOmorder .title_top,
#custOmorder .title_copy_left_normal {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
}
#custOmorder .title_copy_left_normal {
  border-bottom: none;
  padding-bottom: 0;
  text-align: left;
}
#custOmorder .title_subcopy {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 15px;
}
#custOmorder .text_center,
#custOmorder .text_center-xsleft { text-align: center; }
#custOmorder .text_left { text-align: left !important; }
#custOmorder .text_bold { font-weight: 700; }
#custOmorder .text_16px { font-size: 16px !important; }
#custOmorder .margin_b2 { margin-bottom: 2vw !important; }
#custOmorder .margin_b5 { margin-bottom: 5vw !important; }
#custOmorder .hidden_xs { display: inherit !important; }
#custOmorder .hidden_lg { display: none !important; }
#custOmorder .gotham { font-family: 'Gotham', sans-serif; font-weight: 700; }

@media (max-width: 767px) {
  #custOmorder .title_copy_left_normal { font-size: 20px; }
  #custOmorder .text_center-xsleft { text-align: left; }
  #custOmorder .hidden_xs { display: none !important; }
  #custOmorder .hidden_lg { display: inherit !important; }
}

/* ---- about ページ固有（tres.co.jp/about/ の <style>、rem は 62.5% 基準で px 換算） ---- */
#custOmorder .flex_about {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: space-around;
  align-items: flex-start;
}
#custOmorder .flex_about_label { flex-basis: 15%; }
#custOmorder .flex_about_text {
  flex-basis: 80%;
  padding-top: 30px;
}
#custOmorder .flex_concept {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}
#custOmorder .flex_concept_logo { flex-basis: 30%; }
#custOmorder .flex_concept_text { flex-basis: 60%; }
#custOmorder .box_grey {
  background: #efefef;
  padding: 50px;
}

@media (max-width: 767px) {
  #custOmorder .flex_about { justify-content: flex-start; }
  #custOmorder .flex_about_label { flex-basis: 25%; }
  #custOmorder .flex_about_text {
    flex-basis: 100%;
    padding-top: 10px;
  }
  #custOmorder .flex_concept_logo,
  #custOmorder .flex_concept_text { flex-basis: 100%; }
}
