@charset "UTF-8";

/*
==================================================

   レンタルサーバー比較ツール

==================================================
*/



/*
==================================================
  基本設定
==================================================
*/

/* ----- 基本 ----- */
html {
font-size: 100%;
}

/* ----- 背景・テキスト ----- */
body {
background: #ffffff;
font-size: 1rem;
font-family: sans-serif;
color: #2a2a2a;
}

/* ----- リンクテキスト ----- */
a:link { color: #3366ff; }
a:visited { color: #336699; }
a:hover { color: #cc0000; }
a:active { color: #cc0000; }

/* ----- 全要素 ----- */
*,
*::before,
*::after {
margin: 0;
padding: 0;
box-sizing: border-box;
line-height: 1;
word-break: break-all;
}

/* ----- 文字スタイル ----- */
em,
dfn {
font-weight: bold;
font-style: normal;
}

/* ----- PRE ----- */
pre {
font-family: sans-serif;
white-space: pre-wrap;
}

/* ----- 折り返し禁止 ----- */
span.nowrap {
white-space: nowrap;
}

/* ----- 画像の伸縮 ----- */
img {
max-width: 100%;
height: auto;
}

/* ----- Webビーコン用 ----- */
img[width="1"] {
width: 0;
height: 0;
border: none;
}



/* ----- ★950 ----- */
@media screen and (max-width: 950px) {

}
/* ----- /950 ----- */



/* ----- ★600 ----- */
@media screen and (max-width: 600px) {

}
/* ----- /600 ----- */



/*
==================================================
  レイアウト
==================================================
*/

div.limit {
max-width: 1360px;
margin: 0 auto;
padding: 0 20px;
}



/* ----- ★950 ----- */
@media screen and (max-width: 950px) {

div.limit {
padding: 0 20px;
}

}
/* ----- /950 ----- */



/* ----- ★600 ----- */
@media screen and (max-width: 600px) {

div.limit {
padding: 0 10px;
}

}
/* ----- /600 ----- */



/*
==================================================
  ヘッダ
==================================================
*/

#header {
border-top: 5px #ffd67b solid;
margin: 0;
padding: 1px 0;
}

#header div.wrap {
display: flex;
justify-content: space-between;
align-items: center;
margin: 5px 0;
}

/* ----- サイトタイトル ----- */
#header div.logo {
width: 200px;
height: 43px;
}
#header div.logo a {
display: inline-block;
width: 140px;
margin: 7px 0 0;
}

/* ----- ヘッダお知らせ ----- */
#header div.info {
width: 18em;
text-align: right;
}
#header div.info p {
font-size: 0.9rem;
line-height: 1.4;
}



/* ----- ★950 ----- */
@media screen and (max-width: 950px) {

}
/* ----- /950 ----- */



/* ----- ★600 ----- */
@media screen and (max-width: 600px) {

#header div.wrap {
display: blick;
}

/* ----- サイトタイトル ----- */
#header div.logo {
width: 100%;
height: 43px;
margin: 0 0 10px;
text-align: center;
}

/* ----- ヘッダお知らせ ----- */
#header div.info {
display: none;
}

}
/* ----- /600 ----- */



/*
==================================================
  ボディ
==================================================
*/

#body {

}



/* ----- ★950 ----- */
@media screen and (max-width: 950px) {

}
/* ----- /950 ----- */



/* ----- ★600 ----- */
@media screen and (max-width: 600px) {

}
/* ----- /600 ----- */



/*
==================================================
  メインエリア
==================================================
*/

/* ----- メイン ----- */
#main {

}

/* ----- メインヘッダ ----- */
#main header {
margin: 0 0 5px;
text-align: center;
}

/* タイトル */
#main header hgroup p {
margin: 0 0 5px;
font-size: 1rem;
font-weight: bold;
line-height: 1.6;
}
#main header hgroup h1 {
margin: 0 0 15px;
font-size: 2.1rem;
line-height: 1.4;
}

#main header div.lead {
margin: 0 0 30px;
}
#main header div.lead p {
font-size: 0.96rem;
line-height: 1.6;
}

#main header div.wrap {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 0.9rem;
color: #6b6b6b;
}

/* ----- コンテンツ ----- */
#contents {
margin: 0 0 80px;
}

/* セクション共通 */
#contents > section {
scroll-margin-top: 10px;
}

#contents section h2 {
font-size: 1.6rem;
text-align: center;
line-height: 1.4;
}

/* ----- 用途の選択・条件設定 ----- */
#purpose,
#require {
margin: 0 0 30px;
padding: 20px 30px;
background: #efefef;
border-radius: 15px;
}
#purpose {
margin: 0 0 20px;
}
#require {
margin: 0 0 30px;
}

#purpose h2,
#require h2 {
margin: 0 0 10px;
}

/* フォーム部品 */
#contents section label,
#contents section input[type="radio"],
#contents section input[type="checkbox"] {
cursor: pointer;
}
#purpose input[type="radio"] {
accent-color: #ff3f00;
}
#require input[type="radio"] {
accent-color: #197fe5;
}
#require input[type="checkbox"] {
accent-color: #197fe5;
}

/* エラー表示 */
#error {
margin: 0 0 10px;
font-size: 0.96rem;
text-align: center;
color: #ff0000;
}

/* ----- 用途の選択 ----- */
#purpose ul {
margin: 0 0 10px;
text-align: center;
list-style-type: none;
}
#purpose ul li {
display: inline-block;
margin: 5px 1px;
}
#purpose ul li label {
display: block;
min-width: 10em;
padding: 13px 0 11px;
background: #ffffff;
border: 1px #c0c0c0 solid;
border-radius: 5px;
font-size: 0.96rem;
}
#purpose ul li label:hover {
background: #f9f9f9;
}
#purpose ul li label.current {
background: #ffd67b;
font-weight: bold;
}

#useDesc {
max-width: 1000px;
margin: 0 auto;
padding: 15px 25px 14px;
background: #fcfcfc;
border: 1px #c0c0c0 dashed;
border-radius: 5px;
}

#useDesc dl {
display: flex;
font-size: 0.96rem;
}
#useDesc dl dt {
width: 9em;
font-weight: bold;
line-height: 1.6;
}
#useDesc dl dd {
flex: 1;
min-height: 1em;
line-height: 1.6;
}

/* ----- 条件設定 ----- */
#require div.inner {
max-width: 1000px;
margin: 0 auto;
}

#require div.table-wrap {
margin: 0 0 5px;
}
#require table tbody th {
width: 200px;
text-align: left;
}

#main #require table ul {
margin: 2px 10px 0;
list-style-type: none;
}
#main #require table ul li {
display: inline-block;
margin: 5px 15px 5px 0;
}
#main #require table ul li:last-child {
margin: 5px 0;
}

#require dl {
margin: 5px 0 5px;
font-size: 0.96rem;
}
#require dl dt {
margin: 0 0 3px;
font-size: 1rem;
font-weight: bold;
line-height: 1.5;
}
#require dl dd {
padding: 10px 20px;
background: #ffffff;
border: 1px #c0c0c0 solid;
}
#require dl ul {
margin: 2px 10px 0;
list-style-type: none;
}
#require dl ul li {
display: inline-block;
width: 13em;
margin: 10px 15px 10px 0;
}

/* 項目の説明ボタン */
#require div.desc > p {
text-align: right;
}
#require div.desc input {
width: 9em;
padding: 5px 0;
background: #606060;
border: none;
border-radius: 12px;
font-size: 0.9rem;
color: #ffffff;
text-align: center;
cursor: pointer;
}
#require div.desc input:hover {
background: #898989;
}

#require div.desc > div {
height: auto;
margin: 10px 0 20px;
overflow-y: hidden;
opacity: 1;
transition: 0.2s ease-out;
}
#require div.desc > div.close {
height: 0;
margin: 0;
opacity: 0;
}

#require div.desc div p {
margin: 0 0 5px;
font-size: 0.96rem;
line-height: 1.6;
}
#require div.desc div table {
background: #f9f9f9;
}

/* 検索ボタン */
#require div.search {
margin: 5px 0 0;
text-align: center;
}
#require div.search input {
padding: 16px 50px 14px;
background: #197fe5;
border: none;
border-radius: 5px;
font-size: 1.1rem;
font-weight: bold;
color: #ffffff;
cursor: pointer;
}
#require div.search input:hover {
background: #46a3ff;
}

/* ----- 検索結果領域 ----- */
#rentalserver {
margin: 0 0 80px;
}

#rentalserver div.wrap {
margin: 0 0 10px;
padding: 10px 20px 20px;
border: 3px #c0c0c0 dashed;
}

#rentalserver div.info {
display: flex;
justify-content: space-between;
align-items: center;
}

/* クリアボタン */
#clear {
padding: 5px 10px;
background: #c6c6c6;
border: none;
border-radius: 5px;
font-size: 0.9rem;
text-align: center;
cursor: pointer;
}
#clear:hover {
background: #d6d6d6;
}

/* 全サーバーを表示ボタン */
#allBtn {
width: 12em;
padding: 5px 0;
background: #606060;
border: none;
border-radius: 12px;
font-size: 0.9rem;
color: #ffffff;
text-align: center;
cursor: pointer;
}
#allBtn:hover {
background: #898989;
}

/* ヒット件数表示 */
#hit {
margin: 20px 0 0;
font-size: 0.96rem;
text-align: center;
}

/* メッセージ */
#msg {
display: block;
margin: 100px 0 120px;
text-align: center;
line-height: 1.8;
}
#msg.hidden {
display: none;
}

/* 検索結果 */
#result {
height: auto;
margin: 10px 0 20px;
overflow-y: hidden;
opacity: 1;
transition: 0.2s ease-out;
}
#result.hidden {
height: 0;
margin: 0;
opacity: 0;
}

/* サーバーセクション */
#result section {
display: block;
max-width: 1000px;
margin: 0 auto 50px;
}
#result section.hidden {
display: none;
}

/* ★データ表示確認用★ */
/*
#msg {
display: none;
}
#result.hidden {
height: auto;
margin: 30px 0 20px;
opacity: 1;
}
#result section.hidden {
display: block;
}
*/

#result section h3 {
margin: 0 0 20px;
padding: 14px 20px 13px;
background: #1466b7;
font-size: 1.3rem;
color: #ffffff;
line-height: 1.4;
}

#result section div.inner {
margin: 0 10px;
}

#result section p.lead {
margin: 0 0 15px;
font-size: 1.3rem;
font-weight: bold;
line-height: 1.8;
}

/* 詳細を表示ボタン（スマホ用） */
#result section p.detail {
display: none;
}

#result table tbody th {
width: 200px;
background: #f4f4f4;
text-align: left;
}

/* 公式サイト用ボタン */
#result div.btn {
position: relative; /* Webビーコン用 */
width: 24rem;
max-width: 100%;
margin: 0 auto;
}
#result div.btn p {
margin: 0 0 5px;
font-weight: bold;
text-align: center;
line-height: 1.4;
}
#result div.btn img {
/* Webビーコン用（余計なスペースが入ることを防止） */
position: absolute;
right: 0;
top: 0;
}
#result div.btn a {
display: block;
position: relative;
max-width: 100%;
padding: 17px 0 16px;
background: #47a328; /* 緑色 */
border-radius: 7px;
font-size: 1rem;
font-weight: bold;
color: #ffffff;
text-align: center;
text-decoration: none;
transition-duration: 0.3s;
}
#result div.btn a:hover {
background: #3db714; /* 緑色 */
}
/* →矢印 */
#result div.btn a::before,
#result div.btn a::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
margin: auto;
transition-duration: 0.3s;
}
#result div.btn a::before {
right: 14px;
width: 13px;
height: 2px;
background: #d8ff65; /* 緑色 */
transform: translateX(0px);
}
#result div.btn a::after {
right: 13px;
width: 8px;
height: 8px;
border-top: 2px #d8ff65 solid; /* 緑色 */
border-right: 2px #d8ff65 solid; /* 緑色 */
transform: translateX(0px) rotate(45deg);
}
/* 移動 */
#result div.btn a:hover::before {
transform: translateX(3px);
}
#result div.btn a:hover::after {
transform: translateX(3px) rotate(45deg);
}

/* 情報確認日 */
#result section footer {
margin: 7px 0 0;
text-align: right;
}
#result section p {
font-size: 0.9rem;
}

/* サーバー名で探す */
#rentalserver div.name {
text-align: center;
}
#rentalserver div.name select {
padding: 8px 5px;
background: #606060;
font-size: 0.96rem;
color: #ffffff;
}
#rentalserver div.name select option:first-child {
text-align: center;
}

/* 登録件数表示 */
#total {
margin: 0 0 40px;
min-height: 1em;
font-size: 0.96rem;
text-align: right;
}

/* 補足事項 */
#rentalserver div.note {
max-width: 1000px;
margin: 0 auto;
padding: 30px 35px 25px;
background: #efefef;
border-radius: 15px;
font-size: 0.96rem;
}

#rentalserver div.note dl dt {
margin: 0 0 20px;
font-weight: bold;
}
#rentalserver div.note dl ul {
margin: 0 0 0 1.5em;
}
#rentalserver div.note ul li {
margin: 0 0 10px;
line-height: 1.6;
}
#rentalserver div.note ul li:last-child {
margin: 0;
}

/* ----- 解説セクション ----- */
#contents section.description h2 {
margin: 0 0 30px;
}

#contents section.description div.inner {
max-width: 900px;
margin: 0 auto;
}

#contents section.description table tbody th,
#contents section.description table tbody td {
padding: 15px 13px 13px;
}

/* ----- ツールの使い方 ----- */
#howtouse {
margin: 0 0 80px;
text-align: center;
}

#howtouse ol {
display: inline-block;
margin: 0 0 30px;
padding: 0 0 0 1.5em;
text-align: left;
}
#howtouse ol li {
margin: 0 0 15px;
font-size: 1rem;
line-height: 1.6;
}
#howtouse ol li:last-child {
margin: 0;
line-height: 1.6;
}

#howtouse p {
font-size: 0.96rem;
}

/* ----- 各サーバータイプの特徴 ----- */
#feature {
margin: 0 0 80px;
}

#feature figure {
max-width: 700px;
margin: 0 auto 30px;
}

#feature table tbody th {
width: 200px;
background: #f4f4f4;
text-align: left;
}

/* ----- 用途別推奨サーバーの目安 ----- */
#guide {
margin: 0 0 80px;
}

#guide figure {
margin: 0 auto 30px;
}

#guide table tbody th {
width: 200px;
background: #f4f4f4;
text-align: left;
}

/* ----- おすすめの記事 ----- */
#recommend {
text-align: center;
}

#recommend ul {
display: inline-block;
font-size: 0.96rem;
text-align: left;
list-style-type: none;
}
#recommend ul li {
margin: 0 0 10px;
line-height: 1.6;
}
#recommend ul li:last-child {
margin: 0;
}

/* ----- メイン共通 ----- */

/* ----- テーブル ----- */
/* 列の幅は個別に設定 */

/* テーブルのコンテナ */
#main div.table-wrap {
width: 100%;
padding: 0 0 3px;
overflow-x: auto;
scrollbar-color: #3299ff #efefef;
}

/* クラス名scrollはスクリプトで設定 */
#main div.table-wrap.scroll::before {
content: '横にスクロールできます →';
display: block;
margin: 0 0 2px;
font-size: 0.9rem;
color: #7f7f7f;
text-align: right;
}

/* はみ出た場合にスクロールバーを表示（Safari用） */
#main div.table-wrap::-webkit-scrollbar {
height: 5px;
}
#main div.table-wrap::-webkit-scrollbar-track {
background: #efefef;
}
#main div.table-wrap::-webkit-scrollbar-thumb {
background: #3299ff;
border-radius: 5px;
}

/* テーブル本体 */
#main table {
width: 100%;
background: #ffffff;
border-collapse: collapse;
border: 1px #c0c0c0 solid;
}

/* キャプション */
#main table caption {
margin: 0 0 3px;
font-size: 1rem;
font-weight: bold;
text-align: left;
line-height: 1.5;
}

/* セルの基本設定 */
#main table th,
#main table td {
padding: 13px 10px 11px;
border: 1px #c0c0c0 solid;
font-size: 0.96rem;
line-height: 1.6;
}

/* テーブルヘッダ */
#main table thead {
background: #1466b7;
color: #ffffff;
}
#main table thead th {
line-height: 1.4;
}
#main table thead th span {
font-weight: normal;
}

/* テーブル内リスト */
#main table ul {
margin: 7px 0 11px 1.5em;
}
#main table ul:last-child {
margin: 7px 0 3px 1.5em;
}
#main table ul li {
margin: 0 0 2px;
line-height: 1.6;
}
#main table ul li:last-child {
margin: 0;
}

/* テーブル内の段落 */
#main table p {
margin: 0 0 1em;
line-height: 1.6;
}
#main table p:last-child {
margin: 0;
}

/* ----- メインフッタ ----- */
#main footer {

}

/* コピーボタン */
#main footer div.url-copy {

}
#main footer div.url-copy button {
display: block;
width: 100%;
max-width: 23em;
margin: 0 auto;
padding: 11px 5px 10px;
background: #606060;
border: none;
font-size: 0.9rem;
color: #ffffff;
text-align: center;
line-height: 1.4;
cursor: pointer;
}
#main footer div.url-copy button:hover {
background: #898989;
}
#main footer div.url-copy button.copied {
font-weight: bold;
}

/* QRコード */
#main footer div.qr {
margin: 30px 0 0;
text-align: center;
font-size: 0.9rem;
}



/* ----- ★950 ----- */
@media screen and (max-width: 950px) {

/* ----- メインヘッダ ----- */

/* タイトル */
#main header hgroup p {
font-size: 0.96rem;
line-height: 1.7;
}
#main header hgroup h1 {
margin: 0 0 13px;
font-size: 1.8rem;
line-height: 1.5;
}

/* ----- コンテンツ ----- */
#contents {
margin: 0 0 60px;
}

/* セクション共通 */
#contents section h2 {
font-size: 1.4rem;
}

/* ----- 用途の選択・条件設定 ----- */
#purpose,
#require {
margin: 0 0 25px;
padding: 20px 15px 25px;
}

/* ----- 用途の選択 ----- */
#purpose ul li label:hover {
background: #ffffff;
}
#purpose ul li label.current {
background: #ffd67b;
}

#useDesc {
padding: 15px 15px 14px;
}

/* ----- 条件設定 ----- */
#require table tbody th {
width: 180px;
}

#main #require table ul {
margin: 2px 5px 0;
}

#require dl dt {
font-size: 0.96rem;
}
#require dl dd {
padding: 20px 15px;
}
#require dl ul {
margin: 2px 5px 0;
}

/* 項目の説明ボタン */
#require div.desc input:hover {
background: #606060;
}

/* 検索ボタン */
#require div.search {
margin: 20px 0 0;
}
#require div.search input {
padding: 16px 40px 14px;
}
#require div.search input:hover {
background: #197fe5;
}

/* ----- 検索結果領域 ----- */
#rentalserver {
margin: 0 0 60px;
}

#rentalserver div.wrap {
padding: 10px 10px 20px;
border: 2px #c0c0c0 dashed;
}

/* クリアボタン */
#clear:hover {
background: #c6c6c6;
}

/* 全サーバーを表示ボタン */
#allBtn:hover {
background: #606060;
}

/* メッセージ */
#msg {
font-size: 0.96rem;
}

/* サーバーセクション */
#result section h3 {
padding: 11px 15px 10px;
font-size: 1.1rem;
line-height: 1.5;
}

#result section div.inner {
margin: 0 5px;
}

#result section p.lead {
font-size: 1.1rem;
}

#result table tbody th {
width: 180px;
}

/* 公式サイト用ボタン */
#result div.btn {
width: 20rem;
}

/* 補足事項 */
#rentalserver div.note {
padding: 30px 20px 25px;
}

/* ----- ツールの使い方 ----- */
#howtouse {
margin: 0 0 60px;
text-align: center;
}

#howtouse ol li {
font-size: 0.96rem;
}

/* ----- 各サーバータイプの特徴 ----- */
#feature table tbody th {
width: 180px;
}

/* ----- 用途別推奨サーバーの目安 ----- */
#guide table tbody th {
width: 180px;
}

/* ----- メイン共通 ----- */

/* ----- テーブル ----- */

/* キャプション */
#main table caption {
font-size: 0.96rem;
}

/* ----- メインフッタ ----- */

/* コピーボタン */
#main footer div.url-copy button:hover {
background: #606060;
}

/* QRコード */
#main footer div.qr {
display: none;
}

}
/* ----- /950 ----- */



/* ----- ★600 ----- */
@media screen and (max-width: 600px) {

/* ----- メインヘッダ ----- */

/* タイトル */
#main header hgroup p {
font-size: 0.9rem;
}
#main header hgroup h1 {
font-size: 1.3rem;
}

#main header div.lead p {
font-size: 0.9rem;
}

#main header div.wrap {
display: block;
text-align: right;
}
#main header div.wrap div.date {
margin: 0 0 7px;
}

/* ----- コンテンツ ----- */
#contents {
margin: 0 0 50px;
}

/* セクション共通 */
#contents section h2 {
font-size: 1.2rem;
}

/* ----- 用途の選択・条件設定 ----- */
#purpose,
#require {
padding: 20px 10px 25px;
border-radius: 10px;
}

/* エラー表示 */
#error {
font-size: 0.9rem;
}

/* ----- 用途の選択 ----- */
#purpose ul li label {
font-size: 0.9rem;
}

#useDesc {
padding: 15px 10px 14px;
}

#useDesc dl {
display: block;
font-size: 0.9rem;
}
#useDesc dl dt {
width: auto;
margin: 0 0 10px;
}
#useDesc dl dd {
line-height: 1.8;
}

/* ----- 条件設定 ----- */
#require table tbody th {
width: 160px;
}

#main #require table ul li {
display: list-item;
margin: 12px 0;
}
#main #require table ul li:last-child {
margin: 12px 0;
}

#require dl {
margin: 20px 0 5px;
font-size: 0.9rem;
}
#require dl dt {
font-size: 0.9rem;
}
#require dl dd {
padding: 20px 10px;
}
#require dl ul li {
width: 14em;
margin: 12px 15px 12px 0;
}

/* 項目の説明ボタン */
#require div.desc input {
width: 8.5em;
}

/* 検索ボタン */
#require div.search {
margin: 30px 0 0;
}
#require div.search input {
padding: 16px 30px 14px;
font-size: 1rem;
}

/* ----- 検索結果領域 ----- */
#rentalserver {
margin: 0 0 50px;
}

/* 全サーバーを表示ボタン */
#allBtn {
width: 11.5em;
}

/* ヒット件数表示 */
#hit span.sp-none {
display: none;
}

/* メッセージ */
#msg {
margin: 50px 0 60px;
font-size: 0.9rem;
}

/* サーバーセクション */
#result section {
margin: 0 auto 40px;
}

#result section h3 {
margin: 0 0 15px;
padding: 10px 10px 9px;
font-size: 1rem;
line-height: 1.6;
}

#result section div.inner {
margin: 0;
}

#result section p.lead {
margin: 0 0 10px;
font-size: 1rem;
}

/* 詳細を表示ボタン（スマホ用） */
#result section p.detail {
display: block;
text-align: center;
}
#result section p.detail input {
width: 10em;
padding: 11px 0;
background: #dddddd;
border: none;
border-radius: 18px;
font-size: 0.9rem;
text-align: center;
}

#result div.sp {
height: auto;
margin: 20px 0;
overflow-y: hidden;
opacity: 1;
transition: 0.2s ease-out;
}
#result div.sp.hidden {
height: 0;
margin: 0;
opacity: 0;
}

#result table tbody th {
width: 120px;
}

/* 公式サイト用ボタン */
#result div.btn {
width: 18rem;
}
#result div.btn p {
margin: 0 0 5px;
font-size: 0.9rem;
font-weight: bold;
text-align: center;
line-height: 1.4;
}
#result div.btn a {
padding: 16px 0 15px;
font-size: 0.96rem;
}

/* 登録件数表示 */
#total {
font-size: 0.9rem;
}

/* サーバー名で探す */
#rentalserver div.name select {
padding: 7px 2px;
font-size: 0.9rem;
}

/* 補足事項 */
#rentalserver div.note {
padding: 25px 10px 20px;
border-radius: 10px;
font-size: 0.9rem;
}

#rentalserver div.note dl ul {
margin: 0 0 0 1.3em;
}

/* ----- 解説セクション ----- */
#contents section.description h2 {
margin: 0 0 20px;
}

#contents section.description table tbody th,
#contents section.description table tbody td {
padding: 13px 10px 11px;
}

/* ----- ツールの使い方 ----- */
#howtouse {
margin: 0 0 50px;
}

#howtouse ol li {
font-size: 0.9rem;
}

#howtouse p {
font-size: 0.9rem;
}

/* ----- 各サーバータイプの特徴 ----- */
#feature table tbody th {
width: 120px;
}

/* ----- 用途別推奨サーバーの目安 ----- */
#guide table tbody th {
width: 120px;
}

/* ----- おすすめの記事 ----- */
#recommend ul {
margin: 0 0 0 1.4em;
font-size: 0.9rem;
list-style-type: disc;
}
#recommend ul li {
margin: 0 0 15px;
}

/* ----- メイン共通 ----- */

/* ----- テーブル ----- */

/* キャプション */
#main table caption {
font-size: 0.9rem;
}

/* セルの基本設定 */
#main table th,
#main table td {
font-size: 0.9rem;
line-height: 1.7;
}

/* セルの最小幅 */
#main table tbody th {
min-width: 8em;
}
#main table tbody td {
min-width: 16em;
}

}
/* ----- /600 ----- */



/*
==================================================
  フッタ
==================================================
*/

#footer {
padding: 50px 0 50px;
font-size: 0.9rem;
text-align: center;
}

#footer a {
color: #2a2a2a;
text-decoration: none;
}
#footer a:hover {
text-decoration: underline;
}

#footer div.site {
margin: 0 0 20px;
}

#footer ul.link {
margin: 0 0 30px;
}
#footer ul.link li {
display: inline;
margin: 0 10px;
}

#footer div.copy small {
font-size: 100%;
}



/* ----- ★950 ----- */
@media screen and (max-width: 950px) {

#footer {
padding: 50px 0 40px;
}

#footer a:hover {
text-decoration: none;
}

#footer ul.link {
display: flex;
flex-wrap: wrap;
row-gap: 18px;
width: 90%;
max-width: 400px;
margin: 0 auto 40px;
}
#footer ul.link li {
display: block;
width: 50%;
margin: 0;
}

}
/* ----- /950 ----- */



/* ----- ★600 ----- */
@media screen and (max-width: 600px) {

#footer {
font-size: 14px;
}

#footer div.copy small {
font-size: 100%;
}

}
/* ----- /600 ----- */



/*
==================================================
  その他
==================================================
*/

/* ----- Back to Top ----- */
#backtop {
position: fixed;
bottom: 5px;
right: 10px;
z-index: 9;
transition: 0.3s;
}
#backtop.active {
bottom: 10px;
}
#backtop a {
display: block;
visibility: hidden;
position: relative;
width: 46px;
height: 50px;
background: #1466b7;
border-radius: 3px;
font-size: 0;
color: transparent;
text-decoration: none;
transition: 0.3s;
opacity: 0;
}
#backtop.active a {
visibility: visible;
opacity: 0.7;
}
#backtop.active a:hover {
opacity: 1;
}
#backtop a::before {
display: block;
content: '';
position: absolute;
top: 3px;
bottom: 0;
left: 0;
right: 0;
margin: auto;
width: 12px;
height: 12px;
border-top: 3px #ffffff solid;
border-left: 3px #ffffff solid;
transform: rotate(45deg);
}



/* ----- ★950 ----- */
@media screen and (max-width: 950px) {

/* ----- Back to Top ----- */
#backtop.active a:hover {
opacity: 0.7;
}

}
/* ----- /950 ----- */



/* ----- ★600 ----- */
@media screen and (max-width: 600px) {

/* ----- Back to Top ----- */
#backtop {
bottom: 0;
right: 5px;
}
#backtop.active {
bottom: 5px;
}

}
/* ----- /600 ----- */



