/* 2025.07.27 作成開始 */

/*
    div要素は全部gridに統一
    bodyでフォントサイズ16pxに初期化
    その他いろいろ
    変数の宣言
*/
:root{
    --BGCOLOR1: rgb(238, 226, 212);
    --BGCOLOR2: rgb(223, 201, 162);
    --ACCENTCOLOR: rgb(199 142 6);
    --COLORRED: rgb(200, 0, 0);
    --COLORGRAY: rgb(100,100,100);
    --PAGEWIDTH: 960px;
    --SIDEBARWIDTH: 200px;
    --CONTENTSWIDTH: 760px;
}
*{
    display: grid;
    margin: 0;
    padding: 0;
}
body{
    font-size: 16px;
    margin: 0;
    padding: 0;
    background: var(--BGCOLOR1);
    justify-content: center;
    align-items: center;
}
div{
    display: grid;
    gap: 0;
}
a{
    text-decoration: inherit;
    color: inherit;
    font-family: inherit;
}
ul{
    list-style-type: none;
}
h2{
    font-size: 2rem;
    text-indent: 1.5rem;
    border-top: none;
    border-right: none;
    border-bottom: solid 2px var(--ACCENTCOLOR);
    border-left: double 10px var(--ACCENTCOLOR);
    margin: 1rem 0.5rem 1rem 1rem;
}
h3{
    font-size: 1.5rem;
    padding: 1rem 0 0 0;
    border-bottom: solid 3px var(--ACCENTCOLOR);
    margin: 2rem 2rem 0 2rem;
}
h4{
    font-size: 1.2rem;
}
h5{
    font-size: 2rem;
    text-indent: center;
    justify-self: center;
    margin: 3rem 0 3rem 0;
    border: 8px double var(--ACCENTCOLOR);
    padding: 1rem 1rem 1rem 1rem;
}
p{
    text-indent: 1rem;
    padding: 1rem 2rem 0 2rem;
    text-align: justify;
}
div.waku{
    width: var(--PAGEWIDTH);
    background: var(--BGCOLOR2);
    justify-self: center;
}
dl{
    grid-template-columns: 25% 75%;
    border: solid 1.5px var(--ACCENTCOLOR);
    margin: 1rem 5% 1rem 5%;
}
dt{
    border: solid 1.5px var(--ACCENTCOLOR); 
    padding: 1rem 1rem 1rem 1rem;
}
dd{
    border: solid 1.5px var(--ACCENTCOLOR);
    padding: 1rem 1rem 1rem 1rem;
}

/*
    WordPressが自動生成するコードに関するスタイル
*/
.aligncenter{
    justify-self: center;
    margin: 3rem 0 3rem 0;
}
.wp-caption-text{
    padding: 0 1rem 1rem 1rem;
    text-indent: 0;
}

/*
    ヘッダー
    しばらくはタイトルの一行のみにする
*/
div.header{
    background: linear-gradient(0deg, var(--BGCOLOR2), var(--ACCENTCOLOR));
    padding: 1rem 0 1rem 0;
    border-bottom: solid 2px var(--BGCOLOR1);
}
div.header h1{
    padding: 0 0 0 1rem;
}
div.menubutton { 
    display: none;
}

/*
    真ん中
    左にサイドバー、右はコンテンツにする
*/
div.midder{
    width: var(--PAGEWIDTH);
    grid-template-columns: var(--SIDEBARWIDTH) var(--CONTENTSWIDTH);
    grid-auto-flow: column;
}
div.side{
    align-self: baseline;
    padding-bottom: 6rem;
    opacity: 1 !important;
    display: inherit !important;
    z-index: 9999 !important;
}
div.side ul{
    padding: 1rem 1rem 1rem 1rem;
    gap: 1rem;
    font-size: 1.2rem;
    margin: 0 0 0 1rem;
}
div.side h4{
    padding: 3rem 1rem 0 1rem;
}
div.side span.date{
    font-size: 0.8rem;
    font-weight: bold;
    display: inline-block;
    color: var(--COLORGRAY);
}
div.contents{
    align-content: baseline;
    border-left: solid 2px var(--BGCOLOR1);
    padding-bottom: 6rem;
}
div.contents span.date{
    font-size: 1rem;
    font-weight: normal;
    color: var(--COLORGRAY);
    display: inline-block;
    text-align: end;
}
/*
    フッター
    ウェブサイトのタイトル
    作成者
    お問い合わせはこちら
    製作年月
    権利について
*/
div.footer{
    background: linear-gradient(180deg, var(--BGCOLOR2), var(--ACCENTCOLOR));
    padding: 1rem 0 1rem 0;
    border-top: solid 2px var(--BGCOLOR1);
}
div.footer ul{
    grid-template-columns: 50% 50%;
    gap: 0;
    justify-content: left;
    align-items: center;
}
div.footer li{
    padding: 0 1rem 0 1rem;
}
div.footer li.title{
    font-size: 1rem;
    grid-area: 1 / 1 / 2 / 2;
}
div.footer li.author{
    font-size: 1rem;
    grid-area 2 / 1 / 3 / 2;
}
div.footer li.contact{
    font-size: 1rem;
    grid-area: 3 / 1 / 4 / 2
}
div.footer li.since{
    font-size: 1rem;
    grid-area: 4 / 1 / 5 / 2;
}
div.footer li.copyright{
    font-size: 1rem;
    grid-area: 1 / 2 / 5 / 3;
}

/*
    お問い合わせフォーム
    formタグをgridにして利用する
    inputタグ(テキスト)とtextareaは基本セルいっぱいに引き延ばす
    labelタグはまぁそこそこにする
    ボタンのみクラスを用意して幅いっぱいにならないようにする
*/
form.contactform{
    margin: 0 0 1rem 0rem;
    padding: 0 3rem 0 3rem;
}
form.contactform label{
    font-size: 1rem;
}
form.contactform input{
    font-size: 1rem;
}
form.contactform textarea{
    font-size: 1rem;
    height: 20rem;
}
form.contactform input.button{
    font-size: 1rem;
    width: 12rem;
    height: 2rem;
}
p.caution{
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    color: var(--COLORRED);
}
p.caution_form{
    font-size: 0.9rem;
    font-weight: normal;
    color: var(--COLORRED);
    margin: 0 0 1rem 0;
    padding: 0;
    text-indent: 0;
}