@charset "UTF-8";

/* ----------
CONTENT
----------- */

/*
 * コンテンツタイトル 背景画像
 */
.layout_content-title {
  background: url(images/bg_content-title_purpose.png) no-repeat center center;
  background-size: cover;
  color: #fff;
  margin: 0;
}

.contents-title-inner {
  padding: 5rem 1rem;
}


/*
 * コンテンツナビゲーション
 */

.layout_content-navi {
  margin: 0 0 4rem;
  background-color: #e5e5e5;
  height: 56px;
}

.layout_content-navi .contents-navi-inner {
  padding: 18px 0 17px 0;
}

.layout_content-navi .contents-navi-inner .navi-list {
  display: flex;
  gap: 30px;
}

.layout_content-navi .contents-navi-inner .navi-list .list-item {
  font-size: 14px;
}

.layout_content-navi .contents-navi-inner .navi-list .list-item .text-link {
  color: #333;
  position: relative;
}

.layout_content-navi .contents-navi-inner .navi-list .list-item .text-link .fa {
  margin-left: 5px;
  font-size: 16px;
}

.layout_content-navi .contents-navi-inner .navi-list .list-item .text-link:hover {
  text-decoration: underline;
}

/*
 * コンテンツ
 */
.layout_section {
  margin-bottom: 6rem;
}

/*
 * 証明書の説明
 */
.layout_purpose-brand {
  margin: 0 1rem 1rem;
}

.purpose-brand-appeal {
  position: relative;
  margin: 2rem 1rem 1rem;
}

.purpose-brand_link {
  color: #2c2c2c;
  display: block;
}

.purpose-brand_link:hover {
  opacity: 0.7;
  text-decoration: none;
}

.layout_purpose-brand-inner {
  background-color: #f4f4f4;
  display: flex;
  flex-flow: column; /* 縦一列 */
  padding: 1rem;
}

/* おすすめマーク */

.recommendation-mark {
  margin-top: 4rem;
}

.recommendation-mark .layout_purpose-brand-inner::before {
  content: "おすすめ";
  display: block;
  background-color: #f5d000;
  border-radius: 50%;
  font-weight: bold;
  width: 5rem;
  line-height: 5;
  text-align: center;
  position: absolute;
  top: -2rem;
  left: -1rem;
}

/* リボンマーク */
.purpose-brand-appeal .ribbon-mark {
  position: absolute;
  top: -1rem;
  left: -1rem;
}

.purpose-brand_text {
  order: 2;
  display: flex;
  flex-flow: row wrap;
  flex-shrink: 0;
}

.purpose-brand_text .purpose-brand_service-name {
  order: 2;
  flex-basis: auto;
  align-self: center;
  font-size: 1.5rem;
  font-weight: bold;
}

.purpose-brand_text .purpose-brand_brand-name {
  order: 1;
  flex-basis: 100%;
}

.purpose-brand_text .purpose-brand_level {
  order: 3;
  flex-basis: auto;
  align-self: center;
  background-color: #fff;
  border: 1px solid #d4d4d4;
  border-radius: 0.5rem;
  line-height: 1;
  margin: 0 0 0 1rem;
  padding: 0.3rem 0.5rem 0.2rem;
}

.purpose-brand_text .purpose-brand_description {
  order: 4;
  flex-basis: 100%;
  margin: 0;
}

.purpose-brand_img {
  order: 1;
  background-color: #fff;
  margin: 0 0 1rem;
  text-align: center;
  flex-basis: 100%;
  padding: 1.5rem 0;
}

/*
 * サーバ設定代行オプション
 */
.layout_purpose-setup {
  background-color: #f4f4f4;
  padding: 3rem 0;
}

.purpose-setup-btn {
  margin: 2rem 0 0;
}

.purpose-setup-btn .btn_square {
  background-color: #fff;
  font-size: 1.2rem;
}

.purpose-setup-btn .btn_square:hover {
  background-color: #2c2c2c;
}

/*
 * ブランド一覧
 */
.brand-list-btn {
  margin: 3rem 1rem 0;
}

/*
 * コラム
 */
.purpose-ssl-column {
  background-color: #f4f4f4;
  padding: 4rem 0;
  margin-bottom: -6rem;
}

.purpose-ssl-column-inner {
  display: flex;
  flex-direction: column;
}

.ssl-column-head {
  order: 2;
}

.ssl-column-copy {
  order: 1;
  text-align: center;
  margin: 0 0 0.5rem;
}

.ssl-column-copy-inner {
  font-size: 1.14rem;
  font-weight: bold;
  text-align: center;
  border-bottom: 3px solid #2c2c2c;
  padding: 0 0 0.5rem;
}

.ssl-column-list {
  order: 3;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.ssl-column-box-link {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.ssl-column-box-link:hover {
  text-decoration: none;
}

.ssl-column-box-link .ssl-column-box_head {
  order: 2;
  color: #2c2c2c;
  font-size: 1.2rem;
}

.ssl-column-box-link .ssl-column-box_img {
  order: 1;
  margin-bottom: 1rem;
}

.ssl-column-box-link:hover .ssl-column-box_head, .ssl-column-box-link:hover .ssl-column-box_img {
  opacity: 0.7;
}

.ssl-column-box-link .ssl-column-box_read {
  order: 3;
  text-align: right;
  margin: auto 0 0;
}

.ssl-column-box-link:hover .ssl-column-box_read {
  text-decoration: underline;
}

.ssl-column-btn {
  order: 4;
  margin: 0 1rem;
}

.ssl-column-btn .btn_square {
  background-color: #fff;
}

.ssl-column-btn .btn_square:hover {
  background-color: #2c2c2c;
}

@media screen and (max-width: 960px) {
  .layout_section.inner {
    padding: 0 10px;
    width: auto;
  }

  .layout_purpose-setup {
    padding: 3rem 10px;
    width: auto;
  }

  .purpose-ssl-column {
    padding: 4rem 10px;
    width: auto;
  }

  .inner {
    width: auto;
  }

  .contents-title-inner {
    padding: 5rem 10px;
  }
}

/* スマホ 幅が 0px - 599px */
@media screen and (max-width: 599px) {
  /*
  * コンテンツタイトル 背景画像
  */
  .layout_content-title {
    margin: 0 0 4rem;
  }

  /*
   * コンテンツナビゲーション
   */
  .layout_content-navi {
    display: none;
  }
  /*
   *コラム
   */
  .ssl-column-box {
    padding: 1rem;
    flex-basis: 100%;
  }

  .ssl-column-box_img img {
    width: 100%;
    height: auto;
  }
}

/* PC 幅が 600px 以上 */
@media screen and (min-width: 600px) {
  /*
  * コンテンツタイトル 背景画像
  */
  .layout_content-title {
    height: 230px; /* 背景画像の高さに合わせる */
  }

  /*
   * コンテンツナビゲーション
   */
  .layout_content-navi {
    padding: 0 10px;
  }

  /*
   * おすすめの証明書
   */
  .layout_purpose-brand-inner {
    flex-flow: row nowrap; /* 横一列 */
    align-items: center;
  }

  .purpose-brand_text {
    flex-basis: 50rem;
  }

  .purpose-brand_img {
    flex-basis: 14rem;
    margin: 0 2rem 0 0;
  }

  .purpose-setup-btn {
    width: 26rem;
  }

  /*
   * ブランド一覧
   */
  .brand-list-btn {
    margin: 3rem auto 0;
    width: 30rem;
  }

  /*
   * コラム
   */
  .ssl-column-box {
    flex-basis: 300px;
  }

  .ssl-column-btn {
    width: 400px;
    margin: 0 auto;
  }
}