/* body */
body {
	color:#1a1a1a;
	margin:0px;
	padding:0px;
	background:#ffffff url(https://toretama.jp/kouza/img/bg.gif) repeat-y;
	background-position:center;
	font-family:'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
}


/* テーブル・段落 */
td { font-size:14px; line-height:170%; }
p  { margin:3px 5px; }


/* リンク */
a       { color:#0000ff; text-decoration:underline; }
a:hover { color:#aa0000; text-decoration:none; background-color:#ffcc99; }
a:active{ color:#aa0000; text-decoration:none; background-color:#ffcc99; position:relative; top:1px; left:1px; }


/* コンテンツ */
h1 { color:white; font-size:10px; margin:0px 0px;}
h2 { color:red; font-size:19px; margin: 0px 0px 20px 0px; border-bottom:1px solid #aa0000; line-height:180%;}
h3 { color:#1a1a1a; font-size:18px; margin:0px 0px; line-height:180%;}
h4 { color:white; font-size:18px; margin:10px 0px; padding-left:8px; padding-right:8px; padding-bottom:10px; padding-top:10px; margin-bottom:20px; line-height:170%; background-color:#039BE5; border-top:#039BE5 1px solid; border-bottom:#039BE5 1px solid; }
h5 { color:#8c0c0b; font-size:18px; border-bottom:1px solid #8c0c0b; line-height:170%; margin:15px 0px;}



/* ホームページの横幅 */
table {
    max-width: 980px;
    margin: 0 auto;
}

/* サイドバーの横幅（メインコンテンツの横幅も自動的に決まる） */
.sidebar {
    width: 300px;
}


/* mobile-onlyの箇所はパソコンでは非表示にする */
.mobile-only {
    display: none;
}


/* フッター情報 */
footer {
  background-color: #2f87e0;
  color: white;
  padding: 20px;
}

footer a {
  color: white;
  text-decoration: none;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap:10px;
}

.footer-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.copyright {
  text-align: center;
  font-size: 14px;
}


/* 長いURLは画面幅に合わせて自動的に折り返す */
p, td {
    word-break: break-all;
    overflow-wrap: break-word;
}

/* 画像の下の余白をなくす */
img {
    vertical-align:top;
}

/* 箇条書き */
ul {
    margin-left:  2em;
    padding-left: 0;
}


/* 文字の背景に色を付けたくない場合 */
.plain-bold {
    background-color: transparent; /* 背景色を透明に設定 */
    border: none; /* 境界線をなくす */
    color: #8c0c0b;
    font-size:18px;
    font-weight: bold;
    border-bottom:1px solid #8c0c0b;
    margin:15px 0px;
    line-height: 100%; /* 行間を調整 */
    padding-top: 0px; /* 上の余白を調整 */
    padding-bottom: 7px; /* 下の余白を調整 */
}


/* 手紙 */
.letter-container {
  width: 93%; /* 横幅を画面いっぱいに広げる */
  max-width: 93%; /* 横幅を最大にする */
  margin: 0 auto; /* 手紙全体を中央に揃える */
  padding: 20px;
  background-color: #faf0e6; /* ベージュ色で紙の質感 */
  border: 2px solid #d3b58b; /* 薄茶色の枠線 */
  border-radius: 10px; /* 角を丸める */
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2); /* 影をつける */
  font-family: "Times New Roman", serif; /* 手紙らしいフォント */
  line-height: 1.8; /* 行間を広げる */
  box-sizing: border-box; /* パディングとボーダーを含むように */
}

.letter-container p {
  margin: 0;
}

.letter-title {
  font-size: 24px;
  font-weight: bold;
  text-align: center; /* タイトルを常に中央揃え */
  margin-bottom: 10px; /* 名前との間に少し余白を作る */
  color: #8b4513; /* タイトルを手紙らしい茶色に */
}

.letter-author {
  display: block;
  text-align: right; /* 名前を右揃え */
  font-size: 16px;
  font-weight: bold;
  color: black; /* 名前の色 */
  margin-bottom: 20px; /* 本文との間に余白を追加 */
}

.letter-photo {
  width: 200px; /* 写真の幅 */
  height: 200px; /* 写真の高さ */
  float: right; /* 写真を右寄せにする */
  margin-left: 20px; /* 文章との間にスペースを作る */
  border-radius: 50%; /* 丸い写真にする場合 */
}


/* サイドバー */
	.wrap2div ul{margin:0; padding:0}
	.wrap2div ul li{
	font-size:13px;
	line-height:160%;
	margin:0;
	padding-left:13px;
	list-style-type:none;
	background-image:url(img/af_d.gif);
	background-repeat:no-repeat;
}


/* ランキングのナンバー */
.image-wrapper {
    position: relative;
    display: inline-block;
}

.rank-number {
    position: absolute;
    top: 0px;
    left: 0px;
    background-color: rgba(0, 0, 0, 0.3); /* 半透明の背景 */
    color: #fff;
    padding: 3px 10px;
    border-radius: 5px;
    font-size: 1.2em;
}


/* ハンバーガーメニュー */
.nav-icon {
    display: none;  /* パソコンではハンバーガーメニューは非表示 */
    width: 40px;  /* ハンバーガーメニューの大きさ */
    padding: 8px 8px;
    background: #fd688f;  /* ハンバーガーメニューの色 */
    transition: .5s ease-in-out;
    border-radius: 3px;
    cursor: pointer;
}

.nav-icon span {
    height: 3px;
    width: 70%;
    background: #ffffff;  /* ハンバーガーメニューの3本線の色 */
    border-radius: 9px;
    opacity: 1;
    left: 15%;
    transition: .25s ease-in-out;
    display: block;
    position: absolute;
}

.nav-icon span:nth-child(1) {
    top: 7px;
}

.nav-icon span:nth-child(2) {
    top: 15px;
}

.nav-icon span:nth-child(3) {
    top: 23px;
}

.nav-icon.open span:nth-child(1) {
    top: 15px;
    transform: rotate(45deg);
}

.nav-icon.open span:nth-child(2) {
    opacity: 0;
}

.nav-icon.open span:nth-child(3) {
    top: 15px;
    transform: rotate(-45deg);
}

p.nav-text {
    color: #ffffff;
    font-size: 14px;
    margin: 20px 0 0 0;
    text-align: center;
}

.nav-menu .gnavi {
    display: none; /* パソコンとスマホ両方で初期状態はメニューは非表示 */
}

.clearfix:after {
    font-size: 0;
    line-height: 0;
    width: 0;
    height: 0;
    clear: both;
    content: ' ';
    display: block;
    visibility: hidden;
}


/* 上に戻るボタン */
.pagetop {
	color: #fff;
	background-color: rgba(0,0,0,0.3);
	text-decoration: none;
	display: none;
	position: fixed;
	bottom: 1rem;
	right: 1rem;
	font-size: 1.5rem;
	width: 3.3rem;
	height: 3.3rem;
	line-height: 3.3rem;
	border-radius: 3.3rem;
	text-align: center;
	cursor: pointer;
}
.pagetop:hover {
	color: #fff !important;
	background-color: #ed702b;
	text-decoration: none;
}


/* 画像のズームアップ */
.img-wide {
 	width: 500px;
 	overflow: hidden;
}
.img-wide img {
	transition: 0.3s;
}
.img-wide img:hover {
	transform: scale(1.1);
}


/* 占いボタン */
#fortuneButton {
    padding: 10px 15px;
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
}
#fortuneButton:hover {
    background-color: #45a049;
}
#fortuneResult {
    margin-top: 20px;
    font-size: 16px;
    color: #333;
}


/* アコーディオンパネル */
.faq-section {
	border: 1px solid #ababab;
	background: #ffffff;
}
.question {
	position: relative;
	padding: 12px;
	cursor: pointer;
	font-size: 18px;
	text-align: left;
	line-height: 1.4;
}
.open-btn {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	background: #1466b9;
	display: block;
	width: 25px;
	height: 25px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	border-radius: 50%;
}
.open-btn:before, .open-btn:after {
	display: block;
	content: '';
	background-color: #ffffff;
	position: absolute;
	width: 10px;
	height: 2px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.open-btn:before {
	width: 2px;
	height: 10px;
}
.question.selected .open-btn:before {
	content: normal;
}
.answer {
	display: none;
	background: #f3f3f3;
	margin:0 3% 3% 3%;
	padding: 3%;
	font-size: 16px;
	line-height: 1.6;
}


/* モーダルウインドウ */
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4);
}
.modal-content {
  background-color: #fefefe;  /* モーダルウインドウの背景色 */
  margin: 15% auto;
  padding: 20px;
  border: 1px solid #888888;
  width: 40%;  /* モーダルウインドウの横幅 */
}
.modal-title {
  color: #800000; /* モーダルウインドウの文字の色 */
  font-size: 18px; /* モーダルウインドウの文字の大きさ */
  font-weight: bold;
  line-height: 200%;
  text-align: center;
}
.close-button {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}
.close-button:hover,
.close-button:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}


/* 背景に動画 */
#bg-video {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 100vh;
  transform: translate(-50%, -50%);
  z-index: -1;
  object-fit: cover;
  opacity: 0.4; /* 動画の透明度を調整 */
}






/*===============================================================
 スマホ向けのスタイルシート
===============================================================*/

@media screen and (max-width: 767px) {

    /* スマホではテーブルを拡大する */
    table {
        width: 100%;
        max-width: none;
    }

    /* スマホで見るときの文字サイズと文字の間隔 */
    td {
        font-size: 15px;
        line-height: 170%;
    }

    /* スマホでは画像を拡大する */
    img {
        max-width: 100%;
        height: auto;
    }


    /* スマホではコンテンツバーを折り返して表示する */
    .nav-row {
        display: flex;
        flex-wrap: wrap;
    }

    /* スマホではコンテンツバーを横に2つずつ表示する */
    .nav-item {
        width: 50%;
        box-sizing: border-box;
        background-size: cover;
        padding-top: 5px;
        padding-bottom: 5px;
    }


    /* スマホではサイドバーを非表示にする */
    .sidebar {
        display: none;
    }

    /* スマホではサイドバーの情報をフッターに表示する */
    .mobile-sidebar {
        display: block;
        margin-top: 20px;
    }


    /* スマホではメールフォームのボタンを大きくする */
    input[type="submit"] {
      padding: 15px 20px;
      font-size: 16px;
      width: 100%;
      box-sizing: border-box;
    }

    /* スマホではメールフォームの横幅を広げる */
    input[type="text"], textarea {
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }


    /* pc-onlyの箇所はスマホでは非表示にする */
    .pc-only {
        display: none;
    }

    /* mobile-onlyの箇所はスマホでは表示する */
    .mobile-only {
        display: block;
    }


    /* スマホではテーブルを縦に並べる */
    .responsive-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }


    /* フッター情報 */
    .footer-links {
        display: block;
    }

    .footer-section {
        margin-bottom: 20px;
        border-bottom: 1px dotted white;
        padding-bottom: 10px;
    }

    .footer-section:last-child {
        border-bottom: none;
        margin-bottom: 0;
    }

    .footer-section a {
        font-weight: bold;
        display: block;
        margin-bottom: 10px;
    }

    .footer-section a:last-child {
        margin-bottom: 0;
    }


    /* ハンバーガーメニュー */
    .nav-icon {
        display: block; /* スマホ画面で表示 */
        position: absolute;
        top: 35px;
        right: 5px;
        z-index: 2000;
    }

    .nav-menu {
        background-color: #0A69DB;  /* ナビゲーションメニューの背景色 */
        position: fixed;
        top: 0;
        left: 20px;
        width: 100%;
        max-height: 100vh;
        overflow-y: auto;
        z-index: 1000;
    }

    .nav-menu .gnavi {
        display: none; /* ハンバーガーメニューがクリックされる前はメニューを非表示 */
    }

    .nav-menu .gnavi li {
        float: left;
        text-align: center;
        border-bottom: 1px solid #eeeeee;
        padding: 0;
        width: 100%;
        display: block;
    }

    .nav-menu .gnavi li a {
        color: #ffffff; /* メニューの文字の色 */
        font-size: 15px;
        font-weight: bold;
        padding: 20px 20px;
        display: block;
    }

.nav-menu .gnavi ul {
        margin: 0;
        padding: 0;
    }






}

/*===============================================================
 タブレット端末のみのスタイルシート
===============================================================*/

@media screen and (min-width: 768px) and (max-width: 900px) {

    /* タブレット端末ではサイドバーを非表示にする */
    .sidebar {
        display: none;
    }

}

