/* =========================================================
   変数（テーマカラー・共通値）
========================================================= */
:root{
  --bg-main:#fbe7f6;
  --bg-card:#fcfcfc;
  --shadow:1px 2px 3px #ddd;

  --text-main:#333;
  --text-soft:#999;
  --text-muted:#555;

  --accent:#df00a3;
  --accent-hover:#00b6ff;
  --link:#6a2dbd;
  --link-visited:#8a79b8;
  --link-hover:#ff2ea6;

  --radius:1rem;
}

/* =========================================================
   リセット
========================================================= */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
  background:var(--bg-main);
  color:var(--text-main);
  line-height:1.7;
}

a{
  text-decoration:none;
}

/* =========================================================
   レイアウト
========================================================= */
header,
footer,
main,
.outer{
  display:flex;
  justify-content:center;
}

.container{
  width:100%;
  max-width:1200px;
  display:flex;
  gap:1rem;
  flex-wrap: wrap;
}

.content-area {
  flex: 0 0 calc((100% - 1rem) / 2);
}


@media(max-width:768px){
  .container{flex-direction:column;}
  .content-area {
    flex: 1 1 auto;
  }
}

@media(max-width:1260px){
  body{margin:0 20px;}
}

/* =========================================================
   ヘッダー・フッター
========================================================= */
header{margin:2rem 0 1.25rem;}

header h1 { width: 100%;}
header h1 a{color:var(--accent);}
header h1 a:hover,
header h1 a:focus-visible{color:var(--accent-hover);}

footer .site_contact {
  text-align: center;
}

.copyright{
  margin-top:10px;
  text-align:center;
}

header .container {
  justify-content: center;
}

/* =========================================================
   カード共通（記事・ウィジェット）
========================================================= */
.content-area{
  background:var(--bg-card);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
  margin-bottom:1rem;
  padding:1.15rem;
}

/* =========================================================
   リンクカラー
========================================================= */
.content-area.boku45dg a {
    color: #df00a3;
}

.content-area.boku45dg a:visited,
.content-area.boku45dg a:hover {
    color: #00b6ff;
}

.content-area.nofilter45dg a {
    color: #2f6feb;
}

.content-area.nofilter45dg a:visited,
.content-area.nofilter45dg a:hover {
    color: #1d4ed8;
}

.content-area.aniero45dg a {
    color: #d97706;
}

.content-area.aniero45dg a:visited,
.content-area.aniero45dg a:hover {
    color: #b45309;
}

.content-area.franime45dg a {
    color: #2f855a;
}

.content-area.franime45dg a:visited,
.content-area.franime45dg a:hover {
    color: #276749;
}


/* =========================================================
   広告領域
========================================================= */
.infeed-ad {
  margin: 1rem 0;
  padding: 1.5rem;
  text-align: center;
}

.addarea {
  text-align: center;
}

.addarea img,
.infeed-ad img,
.infeed-ad iframe {
  max-width: 100%;
}

.addarea .adarea_up,
.addarea .adarea_down {
  margin-top: 10px;
}