@charset "UTF-8";

/* --------
HEAD
--------- */

.section-title {
  text-align: center;
}

.section-title + .lead {
  margin-bottom: 2rem;
  text-align: center;
}

.head_border-left {
  border-left: 5px solid #5bc2dc;
  line-height: 1.4;
  padding: 0 0 0 0.5rem;
}

.head-attention {
  font-size: 1.5rem;
  margin: 0 0 1rem;
}

.head-attention::before {
  /* 注意マーク */
  content: "\f071";
  font-family: FontAwesome;
  margin: 0 1rem 0 0;
}

/* --------
BOX
--------- */

.inner-box {
  padding: 1rem 1.5rem;
}

ul + .inner-box,
p + .inner-box {
  margin-top: 1rem;
}

div + .inner-box,
table + .inner-box {
  margin-top: 2rem;
}

/* --------
TABLE
--------- */

.layout_table {
  width: 100%;
}

.layout_table thead th {
  font-weight: normal;
}

/* 各ドメインページの価格表 */

.table-price-caption {
  padding: 0.5rem;
  text-align: center;
  font-size: 1.5rem;
  color: #fff;
}

.table-price-caption.jp-domain {
  background-color: #5bc2dc;
}

.table-price-caption.gtld-domain {
  background-color: #19cdcd;
}

.table-price thead th {
  background-color: #f7f7f7;
  border: none;
  padding: 0.4rem 1rem;
}

.table-price tbody th {
  font-weight: normal;
  text-align: left;
}

/* PC 幅が 600px 以上 */
@media screen and (min-width: 600px) {
  .table-price tbody th {
    width: 15rem;
  }
}

.table-price tbody td {
  border-left: none;
  border-right: none;
  text-align: center;
}

/* 各ドメインページの仕様表 */

.table-specification th {
  font-weight: normal;
  text-align: left;
}

/* スマホ 幅が 0px - 599px */
@media screen and (max-width: 599px) {
  .table-specification th {
    width: 5rem;
  }
}

/* PC 幅が 600px 以上 */
@media screen and (min-width: 600px) {
  .table-specification th {
    width: 15rem;
  }
}

/* スマホ 幅が 0px - 599px */
@media screen and (max-width: 599px) {
  /* スクロールバー表示させます */
  .table-scroll {
    display: block;
    overflow-x: auto;
  }

  .table-scroll::-webkit-scrollbar {
    height: 0.2rem;
  }

  .table-scroll::-webkit-scrollbar-thumb {
    background: #aaa; /* gray */
    border-radius: 7px;
  }
}

/* --------
LIST
--------- */

.list-item:not(:last-child) {
  margin: 0 0 0.3rem;
}

/* 米印付きリスト */
.list-notes {
  color: #8a8a91;
  font-size: 0.9rem;
}

.list-notes > .list-item {
  padding: 0 0 0 1.1rem;
  position: relative;
}

.list-notes > .list-item::before {
  content: "※";
  display: block;
  left: 0;
  position: absolute;
  top: 0;
}

.table-scroll + .list-notes,
.layout_table + .list-notes {
  margin-top: 0.5rem;
}

/* ●付きリスト */
.list-disc > .list-item {
  list-style-type: disc;
  margin-left: 1rem;
}

/* --------
BUTTON
--------- */

.button_default-border {
  border: 1px solid #ccc;
  color: #333;
  display: block;
  font-size: 1.1rem;
  padding: 1rem;
  text-align: center;
}

.button_default-border:hover {
  background-color: #ccc;
}

/* 手続きボタン */
.button-formality {
  background-color: #fc6f65;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-size: 1.2rem;
  margin: 0 auto 1rem;
  padding: 0.5rem 2rem;
}

.button-formality:hover {
  background-color: #ff5145;
}

/* ----------------
LINK BUTTON TO RELATED PAGE
PC: > 付きリンク
SP: 青枠のボタン
---------------- */

.related-page {
  padding: 1rem 1.5rem;
  background-color: #f2f7f7;
}

ul + .related-page,
p + .related-page {
  margin-top: 1rem;
}

div + .related-page,
table + .related-page,
section + .related-page {
  margin-top: 2rem;
}

.related-page_link {
  color: #00a1c9;
}

/* スマホ 幅が 0px - 599px */
@media screen and (max-width: 599px) {
  .related-page_link {
    background-color: #fff;
    border: 1px solid #00a1c9;
    display: block;
    width: 100%;
    padding: 0.5rem 0;
    text-align: center;
    content: "";
  }

  .related-page_link:hover {
    background-color: #00a1c9;
    color: #fff;
  }

  .list-item:not(:last-child) .related-page_link {
    margin: 0 0 1rem;
  }
}

/* PC 幅が 600px 以上 */
@media screen and (min-width: 600px) {
  .related-page_link:hover {
    text-decoration: underline;
  }

  .related-page_link::before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right: 0.4rem;
  }
}

/* --------
FONT
--------- */

/* サイズ */

.font-smaller {
  font-size: 90%;
}

.font-larger {
  font-size: 110%;
}

.font-yen {
  font-size: 80%;
}

/* text-align */
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

/* color */
.font-em {
  color: #fc6f65;
  font-weight: bold;
}

/* others */

/* スマホ 幅が 0px - 599px */
@media screen and (max-width: 599px) {
  .word-keep {
    /*
    SP表示
    文章がキリの良いところで
    改行するためのCSS
    */
    display: block;
  }
}

/* --------------
テキストリンク
----------------- */

.text-link {
  color: #00a1c9;
}

.text-link:hover {
  text-decoration: underline;
}

/* テキストリンクマーク */

.text-link.angle-right::before {
  /* >マーク付き */
  content: "\f105";
  font-family: FontAwesome;
  margin-right: 0.4rem;
}

.text-link.angle-down::after {
  /* >下マーク付き */
  content: "\f107";
  font-family: FontAwesome;
  margin-left: 0.2rem;
  font-size: 1.2rem;
}

/* --------
背景色
--------- */

.back-color_blue {
  background-color: #cdedf4;
}

.back-color_bluegray {
  background-color: #f2f7f7;
}

.back-color_darkgray {
  background-color: #f0f0f0;
}

.back-color_gray {
  background-color: #f6f6f7;
}

.back-color_lightgray {
  background-color: #f7f7f7;
}

.back-color_yellow {
  background-color: #fbf7b5;
}

.back-color_white {
  background-color: #fff;
}

/* ----------------
ICON
---------------- */

.icon-tel::before {
  /* TELマーク */
  content: "\f095";
  font-family: FontAwesome;
  margin: 0 0.3rem 0 0;
}

.icon-mail::before {
  /* MAILマーク */
  content: "\f0e0";
  font-family: FontAwesome;
  margin: 0 0.3rem 0 0;
}

.icon-information::before {
  /* iマーク */
  content: "\f05a";
  font-family: FontAwesome;
  font-size: 1.3rem;
  color: #5bc2dc;
  margin: 0 0.3rem 0 0;
}

.outlink::after {
  /* 外部リンク アイコン */
  content: "\f08e";
  font-family: FontAwesome;
  margin: 0 0.2rem;
}

/* ----------------
 margin
---------------- */
.mg1rem { margin: 1rem; }

.mg2rem { margin: 2rem; }

.mg3rem { margin: 3rem; }

.mgb1rem { margin-bottom: 1rem; }

.mgb2rem { margin-bottom: 2rem; }

.mgb3rem { margin-bottom: 3rem; }

.mgr1rem { margin-right: 1rem; }

.mgr2rem { margin-right: 2rem; }

.mgr3rem { margin-right: 3rem; }

.mgl1rem { margin-left: 1rem; }

.mgl2rem { margin-left: 2rem; }

.mgl3rem { margin-left: 3rem; }

.mgt1rem { margin-top: 1rem; }

.mgt2rem { margin-top: 2rem; }

.mgt3rem { margin-top: 3rem; }

/* ----------------
 padding
---------------- */
.pd1rem { padding: 1rem; }

.pd2rem { padding: 2rem; }

.pd3rem { padding: 3rem; }

.pdt1rem { padding-top: 1rem; }

.pdt2rem { padding-top: 2rem; }

.pdt3rem { padding-top: 3rem; }

.pdt4rem { padding-top: 4rem; }

.pdl1rem { padding-left: 1rem; }

.pdl2rem { padding-left: 2rem; }

.pdl3rem { padding-left: 3rem; }

.pdb1rem { padding-bottom: 1rem; }

.pdb2rem { padding-bottom: 2rem; }

.pdb3rem { padding-bottom: 3rem; }

.pdr1rem { padding-right: 1rem; }

.pdr2rem { padding-right: 2rem; }

.pdr3rem { padding-right: 3rem; }

/* ----------------
 KillElement
---------------- */

.killbd { border: none; }

.killbdt { border-top: none; }

.killbdr { border-right: none; }

.killbdb { border-bottom: none; }

.killbdl { border-left: none; }

.killmg { margin: 0; }

.killmgt { margin-top: 0; }

.killmgr { margin-right: 0; }

.killmgb { margin-bottom: 0; }

.killmgl { margin-left: 0; }

.killpd { padding: 0; }

.killpdt { padding-top: 0; }

.killpdr { padding-right: 0; }

.killpdb { padding-bottom: 0; }

.killpdl { padding-left: 0; }

.killbg { background: none; }

/* ----------------
OTHERS
------------------ */

.white-space_nowrap {
  white-space: nowrap;
}

.note {
  color: #8a8a91;
  font-size: 0.9rem;
}