/* 基本 */
html,body,div,span, p, 
dl,dt,dd,ul,ol,li,hr,
h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,option,select,
blockquote,tbody,table,th,tr,td{
  margin: 0;
  padding: 0;
}
/* 以下は念のため：要素間の隙間をなくす設定 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body{
  background-color : #FFF;
  color : #666;
  font-size : 16px;
  line-height: 1.4;
  font-family: メイリオ, arial, sans-serif;
}
/* カラーコード */
:root {
    --accent: #b8860b;      /* ゴールド */
    --text-main: #1a1a1a;   /* 墨色 */
    --bg-light: #ffffff;    /* 白 */
    --bg-alt: #f0f2f5;      /* 薄いグレー */
}
h1 {
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: 0.3em;
}
p {
	line-height: 2;
	font-size: 1rem;
}
ul {
	padding-left: 20px; /* 縦余白 横余白 */
}
li {
	padding: 7px 10px; /* 縦余白 横余白 */
}

/* リンクの文字色制御 */
.orange-link {
  color: orange;
  text-decoration: none;   /* デフォルトの下線を消す */
}
.orange-link:hover {
  text-decoration: underline; /* 下線を表示する */
}

.self-padding {
    padding: 3px 30px; /* 縦余白 横余白 */
}
.self-padding-left {
	/* テキスト左寄せ用 */
	text-align: left;
	padding: 30px 180px; /* 縦余白 横余白 */
}
.font-weight-1000 {
	font-weight: 1000;
}
.text-color-orange {
	color: orange;
	text-shadow: 
        3px  3px 0 #FFF,
       -3px -3px 0 #FFF,
       -3px  3px 0 #FFF,
        3px -3px 0 #FFF;
}
/* ボックス左上 のラベル */
.box-label {
    font-size: 0.7rem;
    color: var(--accent);
    letter-spacing: 0.2em;
    text-decoration: underline;
    text-decoration-color: var(--accent);
}
/* ソーシャルリンク用のボタン */
.sns-container {
    display: flex;
    flex-wrap: wrap;    /* これが「回り込み」の肝です */
    gap: 20px;          /* ボタン同士の間隔 */
    justify-content: center; /* 中央寄せ（左寄せなら flex-start） */
    margin-top: 30px;
}
/* 共通のボタンデザイン */
.sns-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 25px;
    border: 1px solid var(--text-main);
    color: var(--text-main);
    text-decoration: none;
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    transition: all 0.3s ease;
    min-width: 150px;   /* ボタンの最低幅を揃えると綺麗に見えます */
    justify-content: center;
}

/* ホバー時の共通挙動 */
.sns-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

/* 個別カラー：X */
.x-style:hover {
    background-color: #000;
    color: #fff;
    border-color: #000;
}

/* フッターの中央揃え用の箱 */
.futter-container {
	background: rgba(0, 0, 0, 0.5);
	max-width: 1300px;
	width: 100%;
	min-height: auto;
	text-align: center;
	margin: 0 auto; /* これが中央揃えの肝です */
	box-shadow: 0 15px 35px rgba(0,0,0,0.05);
	border: 1px solid rgba(0,0,0,0.05);
	box-sizing: border-box;
}
.futter-container a {
	color: orange;
	text-decoration: none;   /* デフォルトの下線を消す */
}
.futter-container a:hover {
	text-decoration: underline; /* 下線を表示する */
}
.futter-container h2 {
	color:#fff;
}
/* アプリ情報 */
.app-card {
  max-width: 800px;
  margin: 20px auto;
  padding: 20px;
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); /* 柔らかい影 */
  display: flex;
  align-items: center;
  gap: 40px; /* アイコンとテキストの間隔 */
  font-family: 'Helvetica Neue', Arial, sans-serif;
  transition: transform 0.3s ease;
}

.app-card:hover {
  transform: translateY(-5px); /* ホバー時の浮遊感 */
}

/* アイコン部分 */
.icon-container {
  flex-shrink: 0;
}
.app-icon {
  width: 120px;
  height: 120px;
  border-radius: 32px; /* iOS風の角丸 */
  object-fit: cover;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* テキスト部分 */
.content-container {
  flex-grow: 1;
}
.app-name {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 700;
  color: #1d1d1f;
}
.app-description {
  margin: 0 0 20px 0;
  font-size: 16px;
  line-height: 1.6;
  color: #86868b;
}

/* ボタン */
.btn {
  display: inline-block;
  padding: 10px 24px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
}
.primary {
  background: #0071e3;
  color: white;
}
.primary:hover {
  background: #0077ed;
}
.secondary {
  margin-left: 10px;
  color: #0071e3;
}

/* レスポンシブ対応（スマホで見るときは縦並びに） */
@media (max-width: 600px) {
  .app-card {
    flex-direction: column;
    text-align: center;
    padding: 30px;
  }
  .secondary {
    margin-left: 0;
    margin-top: 10px;
    display: block;
  }
}