html{
 min-width: 352px;
 scroll-behavior: smooth; /* 既定はスムーズ */
}

/* ユーザーの設定を最優先 */
@media(prefers-reduced-motion: reduce){
 html { scroll-behavior: auto; }
}

body{
 font-family: "open sans","游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","YuGothic Medium","游ゴシック","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
 --bs-bg-opacity: 1;
 background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.wrapper{
 display: grid;
 grid-template-columns: 100%;
 grid-template-rows: auto 1fr auto;
 min-height: 100vh;
 padding-right: env(safe-area-inset-right, 1em); /* セーフエリア：右 */
 padding-left: env(safe-area-inset-left, 1em); /* セーフエリア：左 */
}

/* コンテンツ構成 */
/*.contents{
 display: grid;
 grid-template-columns: minmax(0, auto);
 grid-template-rows: auto 1fr auto;
 gap: 1.5rem;
 height: 100%;
 padding: 1.5rem 0;
}
.main{ grid-area: 2 / 1 / 3 / 2; background-color: #FFF; }
.sidebar-left{ grid-area: 1 / 1 / 2 / 2; }
.sidebar-right{ grid-area: 3 / 1 / 4 / 2; }
@media screen and (min-width: 768px){
.contents{
 grid-template-columns: repeat(2, auto);
 grid-template-rows: 1fr auto;
 padding: 0;
}
.main{ grid-area: 1 / 1 / 2 / 3; }
.sidebar-left{ grid-area: 2 / 2 / 3 / 3; }
.sidebar-right{ grid-area: 2 / 1 / 3 / 2; }
}@media screen and (min-width: 1200px){
.contents{
 grid-template-columns: auto 1fr auto;
 grid-template-rows: 1fr;
}
.main{ grid-area: 1 / 2 / 2 / 3; padding: 1.5rem 1rem; }
.sidebar{ padding: 1.5rem 0; }
.sidebar-left{ grid-area: 1 / 3 / 2 / 4; }
.sidebar-right{ grid-area: 1 / 1 / 2 / 2; }
}*/

/* グローバルメニュー */
.gnav{
 white-space: nowrap;
}
.gnav .nav-item{
 margin-bottom: .2rem;
}
.gnav .nav-item .nav-link{
 color: #FFF;
 fill: #FFF;
 cursor: pointer;
}
.gnav .nav-link{
 font-size: 1rem;
 vertical-align: middle;
 padding: .55rem .75rem;
 border-radius: .5rem;
}
.gnav .nav-link .sidebar-icon{
 margin-right: .5rem;
 color: #9ca3af;
 fill: #9ca3af;
}
.gnav .nav-link .link-arrow {
 font-size: .875rem;
}
.gnav .nav-link + .multi-level{
 margin-top: .2rem;
}
.gnav .nav-link .link-arrow{
 transform: rotate(0deg);
 transition: all .2s ease;
}
.gnav .nav-link[data-bs-toggle=collapse][aria-expanded=true] .link-arrow{
 transform: rotate(90deg);
}
.gnav .nav-item.active > .nav-link,
.gnav .nav-item .nav-link:hover{
 color: #f2f4f6;
 background-color: #374151;
}











.article h1{
 margin: 0;
 padding: .5rem;
 --bs-bg-opacity: 1;
 background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
}


.copyright{
 padding: 1rem 0;
 color: #FFF;
 text-align: center;
}














/* スクロールボタン */
.scroll-btns{
 opacity: 0;
 visibility: hidden;
 transition: all .15s;
}
.scroll-btns.is-active{
 opacity: 1;
 visibility: visible;
}



.ads{ margin: 0 auto; }
.ads-left{width: 320px;height: 100px;}
.ads-right{width: 320px;height: 250px;}
@media screen and (min-width: 768px){
.ads-left{width: 320px;height: 250px;}
.ads-right{width: 320px;height: 250px;}
}@media screen and (min-width: 1200px){
.ads-left{width: 160px;height: 600px;}
.ads-right{width: 160px;height: 600px;}
}
