* {
    margin: 0;
    padding: 0;
    text-decoration: none;
}

html{
    overflow-y: scroll;
}

@font-face {
    font-family: 'notosansjp-regular';
    src: url('../font/NotoSansJP-Regular.ttf') format('truetype');
}

body {
    font-family: notosansjp-regular, sans-serif;
    font-size: 1rem;
    display: grid;
    grid-template-columns: 1fr 17.5rem 62.5rem 1fr;
    grid-template-rows: auto 1fr auto;
    grid-template-areas: "header header header header" ". nav main ." "footer footer footer footer";
    min-height: 100vh;
    max-width: 100%;
    overflow-x: hidden;
}

/*ヘッダー設定*/
#headerContent {
    grid-area: header;
    background-color: #4a6aa4;
    color: #ffffff;
    text-align: center;
}

#headerContent h1{
    font-size: 2rem;
    color: #f0f0f0;
}

#headerContent h1>a {
    color: #f0f0f0;
}

#headerContent p{
    color: #f0f0f0;
}

/*サイドメニュー設定*/
#sideMenu {
    grid-area: nav;
    box-sizing: border-box;
    width: 17.5rem;
    background-color: #e9e9e9;
    padding: 0.5em 1rem;
}

#sideMenu ul.sidemenu, #sideMenu ul li ul {
    list-style: none;
}

#sideMenu li {
    font-weight: bold;
    margin-bottom: 0.5rem;
}

.sidemenu a {
    display: block;
    color: #000000;
}

.sidemenu a:hover {
    color: #ffffff;
    background-color: #2d4a78;
}

#works{
    display:block;
    background-color: transparent;
    transition: background 0.2s ease;
}

#works:hover {
    background-color: #2d4a78;
    color: #ffffff;
}

#works > ul {
    padding-top: 0.5rem;
    background-color: #e9e9e9;
}

.works a{
    padding-left: 1rem;
    font-weight: normal;
    margin-bottom: 0.5rem;
}

.works a:hover {
    background-color: #4a6aa4;
    font-weight: bold;
}

/*閲覧時のサイドメニュー設定*/
#htmlcss #works, #unity #works {
    background-color: #2d4a78;
    color: #ffffff;
}

.sidemenu .works.current a {
    pointer-events: none;
    background-color: #4a6aa4;
    cursor: default;
    font-weight: bold;
    color: #ffffff;
}

/*メインコンテンツ設定*/
#mainContent {
    grid-area: main;
    box-sizing: border-box;
    width: 100%;         /* ← 画面幅に追従 */
    max-width: 62.5rem;  /* ← PC幅上限（ちょうど今のレイアウト基準） */
    margin: 0 auto;      /* ← 中央寄せ */
}

#mainContent > h2 {
    display: block;
    font-size: 1.8rem;
    margin-bottom: 1rem;
    margin-left: 1rem;
    border-bottom: 3px solid rgba(45, 74, 120,0.8);
}

#news a{
    color: #000000;
}

#news a:hover{
    opacity: 0.7;
}

#news article {
    padding: 0 1rem;
    margin-bottom: 0.5rem;
}

#htmlcss #Index article{
    margin-bottom: 1rem;
}

#news .news{
    padding-bottom: 0.25rem;
}

#news .news time{
    font-size: 0.75rem;
}

.news h3 {
    font-size: 1rem;
    padding: 0;
}

.news p, #htmlcssIndex p {
    width: 100%;
    padding: 0;
    word-break: break-all;
    border-bottom: 1px solid #ccc;
}

#news time::before {
    margin-right: 0.4rem;
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: 0.05rem;
    padding: 0 0.25rem;
}

.news[data-category="html"] time::before {
    content: "HTML ";
    background-color: #ff0000;
    color: #ffffff;
    display: inline-block;
    text-align: center;
}

.news[data-category="css"] time::before {
    content: "CSS ";
    background-color: #0063ff;
    color: #ffffff;
    display: inline-block;
    text-align: center;
}


.news[data-category="js"] time::before {
    content: "JavaScript ";
    background-color: #008500;
    color: #ffffff;
    display: inline-block;
    text-align: center;
}

#Index ul, #Index p {
    list-style: none;
    padding-left: 1rem;
}

#Index ul li, #Index p {
    margin-bottom: 0.5rem;
}

#Index ul > li > a {
    display: block;
    color: #000000;
    border-bottom: 1px solid #ccc;
}

#Index ul > li > a:hover {
    opacity: 0.6;
}

.subTop {
    grid-template-rows: repeat(2 1fr);
    margin-bottom: 2rem;
    padding:0 1rem;
}

.subTop h3{
    font-size: 1.5rem;
}

/*メインページ各設定*/
#content {
    padding-left: 1rem;
}

.heading {
    font-size: 1.2rem;
    padding: 0 0 0.25rem 0.25rem;
    border-left: 0.5rem solid #2d4a78;
    border-bottom: 3px solid #2d4a78;
    margin-bottom: 0.5rem;
}

.heading:before{
    content: "■";
}

#about .heading:before{
    content: none;
}

#Index > h3.heading{
    margin-left: 1rem !important;
}

#content p {
    margin-bottom: 0.5rem;
}

.btext {
    font-weight: bold;
    color: #ff0000;
}

pre{
    margin-bottom: 0.5rem;
}

.definition{
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.tools>dt{
    font-weight: bold;
}

.tools>dd{
    margin-bottom: 1rem;
}

.tools>dd:last-child{
    margin-bottom: 0.5rem;
}

/*構文・コード例・出力例設定*/
.bold {
    font-weight: bold;
    margin-bottom: 0 !important;
}

.bold:before{
    content: "•";
}

/*メインページの画像設定*/
.imageSize {
    width: auto;
    height: auto;
}

/*記事用article設定*/
.articleContent {
    margin-bottom: 1.5rem;
}

/*一覧表*/
.listing {
    border: 1px solid #000000;
    border-collapse: collapse;
    margin-bottom: 0.5rem;
    width: 100%;
}

.listing th, .listing td {
    border: 1px solid #000000;
    padding: 0.25rem;
}

.listing caption{
    text-align: left;
    font-weight: bold;
}

pre.prettyprint{
    padding-top:0;
}

/*コード表示出力用*/
.output {
    width: 100%;
    padding: 1rem;
    font-size: revert;
    border: 1px solid #888888;
    margin-bottom: 0.5rem;
    box-sizing: border-box;
}

dl.output dd{
    margin-left: 2.5rem;
}

.listOutput {
    padding-left: 2rem;
}

.output th, .output td{
    width: 5rem;
}

.tableDefinition{
    margin-bottom: 1rem;
}

/*iframe用サイズ変更*/
.embedding {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.demo{
    border: 1px solid #ccc;
    display: block;
    height: 150px;
    box-sizing: border-box;
}

.posDemo {
    border: 1px solid #ccc;
    display: block;
    height: 250px;
    box-sizing: border-box;
}

.zDemo {
    border: 1px solid #ccc;
    display: block;
    height: 360px;
    box-sizing: border-box;
}
/*cssページ用*/
.output > p.viewBlue {
    color: blue;
    font-size: 18px;
}

.output>p.viewGreen {
    color: green;
}

.output>p{
    margin: revert;
    padding: revert;
}

.output>.lead{
    font-weight: bold;
    font-size: 18px;
}

.output>#main{
    margin-left: 20px;
}

.output >.box {
    width: 150px;
    padding: 20px;
    border: 2px solid #333;
    margin: 20px !important;
}

.output > .box2 {
    width: 200px;
    padding: 20px;
    border: 3px solid black;
}

.output > .inner {
    background: #eef;
    padding: 20px;
}

.output > .outer {
    background: #cfc;
    margin: 20px;
}

.output > p.text-red {
    color: #e60033;
    margin-bottom: 0 !important;
}

.output > div.bg-light {
    background-color: #f0f8ff;
}

.output > div.bg-light > p{
    margin-bottom: 0 !important;
}

.output > .text-large {
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 0 !important;
}

.output > .font-sample {
    font-family: sans-serif;
    font-weight: bold;
    margin-bottom: 0 !important;
}

.output > .text-center {
    text-align: center;
    margin-bottom: 0 !important;
}

.output > .box-border{
    border: 2px solid #333;
}

.output > p u, .output > p s{
    text-decoration: revert;
}

.output > video.mediaImg{
    max-width: 100%;
}

.output > meter, .output > progress{
    display: block;
}

.output > .red{
    color: red;
}

.output > .divBox {
    width: 200px;
    padding: 20px;
    background-color: lightgray;
}

.output > #mainBox {
    font-size: 18px;
}

.priority p{
    color: black;
}

.priority p {
    color: blue;
}

.priority p.special{
    color: green;
}

.output .noBold{
    color: red;
    /*font-weight: bold*/
}

.output>textarea{
    display: block;
    margin-top: 1rem;
}

.caution{
    font-size: 0.8rem;
    color: #333333;
    padding-left: 1rem;
    text-indent: -0.8rem;
}

.fs02-02{
    font-size: 20px;
}

.fs02-02>.font-sizing{
    font-size: 1.5rem;
}

.fc02-02>.keyword{
    color: green;
}

.fc02-02 > .sixteen {
    color: #00ff99;
}

.fc02-02 > .rgb {
    color: rgb(100,50,15);
}

.fc02-02 > .rgba {
    color: rgba(200,0,50,0.8);
}

.ff02-02 .mincho{
    font-family: 'MS Mincho', 'MS 明朝', serif; 
}

.ff02-02 .gothic{
    font-family: 'MS Gothic', 'MS ゴシック', sans-serif;
}

.fw02-02 .bold{
    font-weight: bold;
}

.fw02-02 .bold:before {
    content: none;
}

.fw02-02 .normal{
    font-weight: normal;
}

.bc02-04 p{
    background-color: grey;
}

.bc02-04 .red-a{
    background-color: rgba(255,0,0,0.5);
}

.bi02-04 .image01 {
    background-image: url(../img/flower.png);
}

.bi02-04 .image02 {
    background-image: url(../img/flower.png);
    width: 32px;
    height: 29px;
    font-weight: bold;
    color: #ff0000;
    text-align: center;
    line-height: 29px;
}

.br02-04 .norepeat {
    background-image: url(../img/flower.png);
    background-repeat: no-repeat;
}

.br02-04 .repeatx {
    background-image: url(../img/flower.png);
    background-repeat: repeat-x;
    width: 100%;
}

.br02-04 .repeaty {
    background-image: url(../img/flower.png);
    background-repeat: repeat-y;
    height: 4rem;
}

.bs02-04 .contain{
    background-image: url(../img/flower.png);
    background-size: contain;
}

.bs02-04 .cover {
    background-image: url(../img/flower.png);
    background-repeat: no-repeat;
    width: 5rem;
    background-size: cover;
}

.b02-04 > p {
    border: 1px solid #ff0000;
}

.b02-04 .dashed {
    border: 2px dashed #00ff00;
}

.b02-04 .dotted {
    border: 3px dotted #000000;
}

.b02-04 .none {
    border: none;
}

.w02-03 .width01 {
    background-color: #cccccc;
    width: 500px;
}

.w02-03 .width02 {
    background-color: #ff000088;
    width: 300px;
}

.w02-03 .width03 {
    background-color: #ff000088;
    width: 650px;
}

.w02-03 .width04 {
    width: 100%;
}

.w02-03 .width05 {
    background-color: #ff000088;
    width: 80%;
}

.w02-03 .width06 {
    background-color: #ff000088;
    width: 120%;
}

.h02-03 .height01 {
    background-color: #cccccc;
    height: 250px;
    margin-bottom: 1rem;
}

.h02-03 .height02 {
    background-color: #ff000088;
    height: 100px;
}

.h02-03 .height03 {
    background-color: #ff000088;
    height: 50%;
}

.h02-03 .height04 {
    background-color: #aaaaaa;
    height: 100%;
}

.h02-03 .height05 {
    height: 30%;
}

.ap02-04 > p {
    background-color: #fefdc4;
    width: 250px;
    padding: 20px;
}

.m02-04 p {
    background-color: #fefdc4;
    border: 1px solid #000000;
    margin: 20px;
}

.m02-04 .div-box {
    background-color: #dcf8c0;
    border: 1px dotted #000000;
}

.m02-04 .content-box {
    background-color: #fefdc4;
    border: 1px solid #000000;
    margin: 20px;
}

.bpm02-04 > div {
    background-color: #dcf8c0;
    border: 1px dotted #000000;
}

.bpm02-04 > div > p {
    background-color: #fefdc4;
    border-bottom: 1px solid #000000;
    border-left: 4px solid #000000;
    padding-top: 15px;
    margin-top: 20px;
    margin-right: 20px;
    margin-left: 20px;
}

.sh02-04 > div {
    background-color: #dcf8c0;
    border: 1px dotted #000000;
    margin: 8px;
}

.sh02-04 .shorthand2 {
    background-color: #fefdc4;
    padding: 0 30px;
}

.sh02-04 .shorthand3 {
    background-color: #fefdc4;
    margin: 10px 20px 30px;
}

.sh02-04 .shorthand4 {
    background-color: #fefdc4;
    padding: 20px 5px 10px 0;
    margin: 5px 0 10px 15px;
}

.bm02-05 .sample-box, .output > .sample-box:nth-child(2) {
    width: 200px;
    background-color: #dcf8c0;
}

.bmp02-05 .sample-box, .output > .sample-box:nth-child(4) {
    width: 200px;
    padding: 20px;
    background-color: #dcf8c0;
}

.bmpb02-05 .sample-box, .output > .sample-box:nth-child(6) {
    width: 200px;
    padding: 20px;
    border: 5px solid #000000;
    background-color: #dcf8c0;
}

.output > .sample-box:nth-child(2), .output > .sample-box:nth-child(4){
    margin-bottom: 0.5rem;
}

.bs02-05 .sample-sizing {
    width: 200px;
    padding: 20px;
    border: 5px solid #000000;
    background-color: #dcf8c0;
}

.bs02-05 .sample-box-sizing {
    width: 200px;
    padding: 20px;
    border: 5px solid #000000;
    background-color: #dcf8c0;
    box-sizing: border-box;
}

.sample-css {
    width: 200px;
    height: 60px;
    background-color: #cfe8ff;
}

.change-block {
    display: block;
    width: 200px;
    height: 60px;
    padding: 20px;
    background-color: #cfe8ff;
}

.change-inline {
    display: inline;
    width: 200px;
    height: 60px;
    padding: 20px;
    background-color: #cfe8ff;
}

.change-inline-block {
    display: inline-block;
    width: 200px;
    height: 60px;
    padding: 20px;
    background-color: #cfe8ff;
}

.change-none {
    display: none;
    width: 200px;
    height: 60px;
    padding: 20px;
    background-color: #cfe8ff;
}

.lh02-02 > p {
    background-color: #d1fc91;
}

.lh02-02 .lineheight {
    background-color: #d1fc91;
    line-height: 3;
}

.ta02-02 .left {
    width: 250px;
    background-color: #d1fc91;
    text-align: left;
}

.ta02-02 .center {
    width: 250px;
    background-color: #d1fc91;
    text-align: center;
}

.ta02-02 .right {
    width: 250px;
    background-color: #d1fc91;
    text-align: right;
}

.ta02-02 .justify {
    width: 250px;
    background-color: #d1fc91;
    text-align: justify;
}

.td02-02 .underline {
    text-decoration: underline;
}

.td02-02 .overline {
    text-decoration: overline;
}

.td02-02 .linethrough {
    text-decoration: line-through;
}

.va02-07 div {
    margin-bottom: 0.5rem;
    border: 1px solid #aaaaaa;
}

.va02-07 .vertical-align-top {
    vertical-align: top;
}

.va02-07 .vertical-align-middle {
    vertical-align: middle;
}

.va02-07 .vertical-align-bottom {
    vertical-align: bottom;
}

.ts02-07 .text-shadow-rb {
    text-shadow: 5px 5px 10px #000000;
}

.ts02-07 .text-shadow-lt {
    text-shadow: -5px -5px 10px #000000;
}

.ti02-07 .text-indent1 {
    text-indent: 1rem;
}

.ti02-07 .text-indent2 {
    text-indent: 2rem;
}

.ti02-07 .text-indent3 {
    text-indent: 25px;
}

.lst02-07 > ul {
    margin-left: 1rem;
}

.lst02-07 .type-disc {
    list-style-type: disc;
}

.lst02-07 .type-circle {
    list-style-type: circle;
}

.lst02-07 .type-square {
    list-style-type: square;
}

.lst02-07 .type-decimal {
    list-style-type: decimal;
}

.lst02-07 .type-lower-alpha {
    list-style-type: lower-alpha;
}

.lst02-07 .type-none {
    list-style-type: none;
    margin-left: 0;
}

.lst02-07 .position-outside {
    list-style-position: outside;
}

.lst02-07 .position-inside {
    list-style-position: inside;
}

.lst02-07 .list-style {
    list-style: square inside;
}

.br02-09 .border-radius1 {
    background-color: #faaafb;
    width: 200px;
    padding: 5px;
    box-sizing: border-box;
    border-radius: 10px;
}

.br02-09 .border-radius2 {
    background-color: #faaafb;
    width: 200px;
    padding: 5px;
    box-sizing: border-box;
    border: 3px solid #ff0000;
    border-radius: 10px;
}

.bs02-09 .box-shadow1 {
    background-color: #faaafb;
    width: 200px;
    padding: 5px;
    box-sizing: border-box;
    box-shadow: 5px 5px 5px #0000ff;
}

.bs02-09 .box-shadow2 {
    width: 200px;
    padding: 5px;
    box-sizing: border-box;
    border: 3px solid #ff0000;
    border-radius: 10px;
    box-shadow: -5px -5px 5px #0000ff;
}

.b02-09 .background1 {
    background: #faaafb url(../img/flower.png) center no-repeat;
    width: 200px;
    padding: 10px;
}

.b02-09 .background2 {
    background-color: #faaafb;
    width: 200px;
    padding: 10px;
}

.b02-09 .background2 {
    background: url(../img/flower.png) center no-repeat;
}

.cp02-09 .circle {
    background-color: #faaafb;
    width: 100px;
    height: 100px;
    clip-path: circle(50%);
}

.cp02-09 .inset {
    background-color: #faaafb;
    width: 100px;
    height: 100px;
    clip-path: inset(10px 20px);
}

.li02-10, .li_rewrite02-10 {
    padding-top: 0;
}

.li02-10 li, .li_rewrite02-10 li {
    margin: 0.5rem;
    padding: revert;
    margin-left: 1.5rem;
}

.li02-10 .list, .li_rewrite02-10 .list {
    border: 1px solid #000000;
    width: 280px;
}

.li02-10 .bg-green {
    width: 250px;
    margin-bottom: 8px;
    background: #ceffbe;
    text-decoration: underline;
}

.li02-10 .bg-blue {
    width: 250px;
    margin-bottom: 8px;
    background: #89eaff;
    text-decoration: underline;
}

.li02-10 .bg-red {
    width: 250px;
    margin-bottom: 8px;
    background: #ffd2ed;
    text-decoration: underline;
}

.li_rewrite02-10 li {
    width: 250px;
    margin-bottom: 8px;
    background: #ceffbe;
    text-decoration: underline;
}

.li_rewrite02-10 .bg-blue {
    background: #89eaff;
}

.li_rewrite02-10 .bg-red {
    background: #ffd2ed;
}

.pc02-11 .parent > p {
    background-color: #ceffbe;
}

.pg02-11 .parent p {
    background-color: #ceffbe;
}

.pb02-11 .brother1 + p {
    background-color: #ceffbe;
}

.pb02-11 .brother2 ~ p {
    background-color: #ceffbe;
}

.pcb02-12 > p::before {
    content: "■";
    color: red;
}

.pca02-12 > p::after {
    content: "12/24";
    color: blue;
}

.ph02-12 div{
    width: 300px;
    border: 1px solid #000000;
    margin-bottom: 1rem;
}

.ph02-12 label{
    display:block;
    margin-bottom: 0.5rem;
}

.ph02-12 .ps-yes input::placeholder, .ph02-12 .ps-yes textarea::placeholder {
    color: #ff0000;
}

.ph02-12 textarea{
    vertical-align: top;
}

.fsb02-12 input{
    display: block;
    margin-bottom: 0.5rem;
}

.fsb02-12 .fsb-yes::file-selector-button{
    color: blue;
    font-weight: bold;
}

.attr02-12 a{
    display: block;
    width: 100px;
    margin-bottom: 0.5rem;
}

.attr02-12 a[target] {
    color: red;
    font-weight: bold;
    border: 1px solid #ff0000;
}

.attr02-12 label{
    display: block;
}

.attr02-12 input{
    margin-bottom: 0.5rem;
}

.attr02-12 input[type="text"] {
    width: 150px;
    color: blue;
}

.attr02-12 textarea {
    vertical-align: top;
}

.attr02-12 img[alt*="新"] {
    border: 5px solid #ff0000;
}

.attr02-12 img[alt*="古"] {
    box-shadow: 2px 2px 5px #0000ff99;
}

.l02-13 a:link {
    color: red;
}

.v02-13 a:visited {
    color: green;
}

.h02-13 h4:hover {
    font-weight: normal;
    color: red;
}

.h02-13 a:hover {
    color: red;
}

.a02-13 button {
    display: block;
}

.a02-13 button:active {
    font-weight: bold;
}

.f02-13 button {
    display: block;
}

.f02-13 button:focus {
    font-weight: bold;
}

.fc02-13 div, .fc02-13 ul, .lc02-13 div, .lc02-13 ul {
    border: 1px solid #000000;
    margin-bottom: 0.5rem;
}

.fc02-13 li, .lc02-13 li {
    margin-left: 1.5rem;
}

.fc02-13 li:first-child {
    color: red;
}


.fc02-13 p:first-child {
    color: blue;
}

.lc02-13 li:last-child {
    color: red;
}

.lc02-13 p:last-child {
    color: blue;
}

.nth02-13 ul {
    border: 1px solid #000000;
    margin-bottom: 0.5rem;
}

.nth02-13 li{
    margin-left: 1.5rem;
}

.nth02-13 .n-number li:nth-child(4) {
    color: red;
}

.nth02-13 .n-3number li:nth-child(3n) {
    color: blue;
}

.nth02-13 .n-odd li:nth-child(odd) {
    color: green;
}

.not02-13 p:nth-of-type(4) {
    color: red;
}

.n02-13 .not, .n02-13 .wrong-not {
    border: 1px solid #000000;
    margin-bottom: 0.5rem;
}

.n02-13 .not > :not(p) {
    color: red;
}

.n02-13 .wrong-not:not(p) {
    color: green;
}

.f02-15 div{
    display: flex;
}

.fd02-15 .column {
    display: flex;
    flex-direction: column;
}

.fd02-15 .row-reverse {
    display: flex;
    flex-direction: row-reverse;
}

.fd02-15 .row-width {
    display: flex;
}

.fd02-15 .row-width p {
    width: 25%;
    border: 1px solid #000000;
}

.fw02-15 .wrap {
    display: flex;
    flex-wrap: wrap;
}

.fw02-15 .wrap p {
    width: 25%;
    border: 1px solid #000000;
    box-sizing: border-box;
}

.g02-15 > div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    background-color: #eeeeee;
}

.g02-15 p {
    width: 25%;
    border: 1px solid #000000;
    box-sizing: border-box;
}

.fg02-15 div {
    display: flex;
    flex-wrap: wrap;
    background-color: #eeeeee;
}

.fg02-15 p {
    border: 1px solid #000000;
    box-sizing: border-box;
}

.fg02-15 p:first-child {
    flex-grow: 1;
}

.fg02-15 p:nth-child(2) {
    flex-grow: 2;
}

.fg02-15 p:last-child {
    flex-grow: 1;
}

.fs02-15 div {
    display: flex;
    flex-wrap: wrap;
    background-color: #eeeeee;
}

.fs02-15 p {
    flex: 1;
    border: 1px solid #000000;
    box-sizing: border-box;
}

.ff02-15 div {
    display: flex;
    flex-flow: row wrap;
    background-color: #eeeeee;
}

.ff02-15 p {
    width: 25%;
    border: 1px solid #000000;
    box-sizing: border-box;
}

.g02-16 div{
    display: grid;
}

.gtc02-16 div {
    display: grid;
    background: #eeeeee;
    margin-bottom: 0.5rem;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.gtc02-16 .fr {
    display: grid;
    grid-template-columns: 1fr 2fr;
}

.gtc02-16 p, .gtr02-16 p, .g02-16 p, .gcr02-16 p, .r02-16 p, .gc02-16 p, .gr02-16 p {
    border: 1px solid #000000;
    box-sizing: border-box;
}

.gcr02-16 p, .gc02-16 p, .gc02-16 p {
    height: 50px;
}

.gtr02-16 div {
    display: grid;
    grid-template-rows: 50px 1fr 50px;
}

.g02-16 div {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
}

.gcr02-16 div {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 50px 50px;
    gap: 10px;
}

.r02-16 div {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 50px);
    gap: 10px;
}

.r02-16 p {
    height: 50px;
}

.gc02-16 div, .gr02-16 div {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 50px);
    gap: 10px;
}

.gc02-16 p:first-child {
    grid-column: 1 / 3;
}

.gr02-16 p:first-child {
    grid-row: 1 / 3;
}

.fjc02-17 div, .fai02-17 div{
    background-color: #eeeeee;
    display: flex;
    margin-bottom: 8px;
}

.fjc02-17 p, .fai02-17 p{
    border: 1px solid #000000;
    box-sizing: border-box;
}

.fai02-17 .flex-row{
    height: 60px;
}

.fjc02-17 .flex-column, .fai02-17 .flex-column {
    flex-direction: column;
    height: 160px;
}

.fai02-17 .flex-column{
    width: 200px;
}

.fjc02-17 #flex-start ~ .flex-row, .fjc02-17 #flex-start ~ .flex-column {
    justify-content: start;
}

.fjc02-17 #flex-center ~ .flex-row, .fjc02-17 #flex-center ~ .flex-column {
    justify-content: center;
}

.fjc02-17 #flex-space-between ~ .flex-row, .fjc02-17 #flex-space-between ~ .flex-column {
    justify-content: space-between;
}

.fai02-17 #center ~ .flex-row, .fai02-17 #center ~ .flex-column{
    align-items: center;
}

.fai02-17 #flex-stretch ~ .flex-row, .fai02-17 #flex-stretch ~ .flex-column {
    align-items: stretch;
}

.gji02-17 div, .gai02-17 div {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    background-color: #eeeeee;
    height: 80px;
}

.gai02-17 div{
    height: 150px;
}

.gji02-17 p, .gai02-17 p{
    border: 1px solid #000000;
    box-sizing: border-box;
}

.gji02-17 #grid-start ~ div{
    justify-items: start;
}

.gji02-17 #grid-justify-center ~ div {
    justify-items: center;
}

.gai02-17 #grid-align-center ~ div{
    align-items: center;
}

.gai02-17 #grid-stretch ~ div {
    align-items: stretch;
}

.mm02-17 div{
    display: grid;
    grid-template-columns: repeat(2, minmax(100px, 1fr));
    grid-template-rows: repeat(2, minmax(60px, 1fr));
    background-color: #eeeeee;
    gap: 10px;
}

.mm02-17 p{
    border: 1px solid #000000;
    box-sizing: border-box;
}

.f02-18 div {
    background-color: #eeeeee;
    width: 300px;
    height: 350px;
}

.f02-18 img {
    float: left;
    margin-right: 16px;
    border: 1px solid #000000;
    box-sizing: border-box;
}

.c02-18 div {
    background-color: #eeeeee;
    width: 300px;
    height: 380px;
}

.c02-18 img {
    float: left;
    margin-right: 16px;
    border: 1px solid #000000;
    box-sizing: border-box;
}

.c02-18 #clear {
    clear: both;
}

.cf02-18 div {
    background-color: #eeeeee;
    width: 300px;
}

.cf02-18 img {
    float: left;
    margin-right: 16px;
    border: 1px solid #000000;
    box-sizing: border-box;
}

.cf02-18 p::after {
    content: "";
    display: block;
    clear: both;
}

.so02-18 div {
    width: 300px;
    border: 1px solid #000000;
    box-sizing: border-box;
}

.so02-18 #shape-circle + div p:last-child::after, .so02-18 #shape-inset + div p:last-child::after {
    content: "";
    display: block;
    clear: both;
}

.so02-18 #shape-circle + div p:first-child {
    float: left;
    width: 100px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    shape-outside: circle(50%);
    clip-path: circle(50%);
    background-color: #fefdc4;
}

.so02-18 #shape-inset + div p:first-child {
    float: left;
    width: 100px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    background-color: #fefdc4;
    clip-path: inset(25px 10px 20px 0);
    shape-outside: inset(25px 10px 20px 0);
}

.min02-19 div{
    width: min(20%, 50px);
    background-color: #ffb3b399;
}

.max02-19 div {
    width: max(20%, 50px);
    background-color: #ffb3b399;
}

.clamp02-19 div{
    font-size: clamp(16px, 1.2vw, 20px);
}

.mw02-19 div {
    background-color: #ffb3b399;
    width: 50%;
    min-width: 150px;
    max-width: 300px;
}

.mh02-19 div {
    background-color: #ffb3b399;
    height: 10vh;
    min-height: 60px;
    max-height: 200px;
}

.o02-19 div{
    display: flex;
    gap: 15px;
}

.o02-19 p{
    background-color: #ff000099;
}

.o02-19 .item1{
    order: 2;
}

.o02-19 .item2 {
    order: -1;
}

.o02-19 .item3 {
    order: -1;
}

.o02-19 .item4 {
    order: 1;
}

.ga02-19 div{
    display: grid;
    gap: 10px;
}

.ga02-19 p{
    border: 1px solid #000000;
    box-sizing: border-box;
}

.ga02-19 .item1 {
    grid-area: 1 / 1 / 2 / 3;
}

.o02-19 .item2 {
    grid-area: 2 / 1 / 3 / 2;
}

.o02-19 .item3 {
    grid-area: 2 / 2 / 3 / 3;
}

.gas02-19 div {
    display: grid;
    grid-template-rows: repeat(2, 1fr);
    grid-template-columns: 30% 70%;
    grid-template-areas:
        "header header"
        "nav main"
        "footer footer";
    gap: 8px;
}

.gas02-19 p.header {
    grid-area: header;
    background-color: #ff000099;
}

.gas02-19 p.nav {
    grid-area: nav;
    background-color: #ffff0099;
}

.gas02-19 p.main {
    grid-area: main;
    background-color: #00ff0099;
}

.gas02-19 p.footer {
    grid-area: footer;
    background-color: #0000ff99;
}

.imgReduction{
    border: 1px solid #999999;
    width: 100%;
    max-width: 1920px;
}

.wireframe{
    border: none;
}

.wireframeList {
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}

.escape{
    font-family: Arial;
}

/*準備中ページ*/
#preparation {
    font-size: 4rem;
}

/*フォーム用*/
#contact #mailForm{
    display: grid;
    grid-template-columns: 8rem 1fr;
    grid-column-gap: 0.5rem;
    grid-row-gap: 0.5rem;
    max-width: 40rem;
}

#mailForm .block {
    grid-column: 1;
}

#mailForm .block > input, #mailForm .block > textarea {
    grid-column: 2;
    display: inline-block;
    box-sizing: border-box;
}

#mailForm .block:nth-child(3) {
    vertical-align: top;
}

#mailForm button {
    grid-column: 2;
    width: 7rem;
    justify-self: start;
}

/*補足レイアウト*/
.asideContent {
    width: 90%;
    border-left: 3px solid #5a77ff;
    font-size: 0.9rem;
    opacity: 0.9;
    margin-bottom: 2rem;
    margin-left: 1.5rem;
    padding-left: 0.5rem;
}

/*メインページの記事ガイド*/
main > #linkGuide {
    background: #ffffff;
    box-sizing: border-box;
    width: 100%;
    padding-left: 1rem;
}

#nextPrev {
    list-style: none;
    margin-bottom: 2rem;
    text-align: center;
}

#nextPrev a{
    text-decoration: underline;
}

#nextPrev li.prev a:before{
    content: "<< ";
}

#nextPrev li.next a:after {
    content: " >>";
}

/*フッター設定*/
#footerContent {
    grid-area: footer;
    background-color: #4a6aa4;
    color: #ffffff;
    text-align: center;
}

#footerContent p {
    color: #f0f0f0;
}

/*トップへ戻るボタン*/
#toTop {
    position: fixed;
    bottom: 0;
    right: 20px;
    width: 4rem;
    height: 1.4rem;
    line-height: 1.4rem;
    border-radius: 0.25rem 0.25rem 0 0;
    background-color: #cccccc;
    color: #000000;
    justify-content: center;
    font-size: 0.8rem;
    border: none;
    cursor: pointer;
    display: none; /* スクロールしたら表示 */
    box-shadow: 0 4px 8px rgba(0,0,0,0.25);
    transition: opacity 0.3s;
}

#toTop:hover {
    opacity: 0.8;
}

#updateDay{
    display: none;
}

/*付録ページ*/
.Hexadecimal {
    text-align: center;
    width: auto;
}