/* 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);
    --PAGEWIDTH: 100%;
    --SIDEBARWIDTH: 100%;
    --CONTENTSWIDTH: 100%;
}
*{
    display: grid;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body{
    font-size: 4vw;
    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;
}
h1{
    font-size: 5vw;
}
h2{
    font-size: 6vw;
    text-indent: 5vw;
    border-top: none;
    border-right: none;
    border-bottom: solid 2px var(--ACCENTCOLOR);
    border-left: double 10px var(--ACCENTCOLOR);
    margin: 4vw 1.6vw 4vw 4vw;
}
h3{
    font-size: 5vw;
    padding: 4vw 0 0 0;
    border-bottom: solid 3px var(--ACCENTCOLOR);
    margin: 6vw 6vw 0 6vw;
}
h4{
    font-size: 4vw;
}
h5{
    font-size: 6vw;
    text-indent: center;
    justify-self: center;
    margin: 6vw 0 6vw 0;
    border: 8px double var(--ACCENTCOLOR);
    padding: 4vw 4vw 4vw 4vw;
}
p{
    text-indent: 4vw;
    padding: 4vw 6vw 0 6vw;
    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: 4vw 5% 4vw 5%;
}
dt{
    border: solid 1.5px var(--ACCENTCOLOR); 
    padding: 4vw 4vw 4vw 4vw;
}
dd{
    border: solid 1.5px var(--ACCENTCOLOR);
    padding: 4vw 4vw 4vw 4vw;
}

/*
    WordPressが自動生成するコードに関するスタイル
*/
.aligncenter{
    justify-self: center !important;
    margin: 6vw 0 6vw 0 !important;
    width: 80% !important;
}
.wp-caption-text{
    padding: 0 0 0 0 !important;
    text-indent: 0 !important;
}
.size-medium{
    width: 100% !important;
    height: 100% !important;
}

/*
    ヘッダー
    しばらくはタイトルの一行のみにする
*/
div.header{
    background: linear-gradient(0deg, var(--BGCOLOR2), var(--ACCENTCOLOR));
    padding: 4vw 0 0 0;
    border-bottom: solid 2px var(--BGCOLOR1);
}
div.header h1{
    padding: 0 0 4vw 4vw;
    font-size: 5vw;
}
div.menubutton{
    grid-auto-flow: column;
    justify-content: center;
    align-items: center;
    padding-bottom: 4vw;
}
div.menubutton img{
    width: 60%;
    height: auto;
    transition: all 300ms 0s ease;
}
div.menubutton ul{

}
div.menubutton li{

}

/*
    真ん中
    左にサイドバー、右はコンテンツにする
    スマホ表示は、サイドバーはヘッダ直下に、タップで表示・非表示できるようにする
*/
div.midder{
    width: var(--PAGEWIDTH);
    grid-template-columns: var(--PAGEWIDTH);
    grid-auto-flow: row;
}
div.side{
    align-self: baseline;
    padding-bottom: 6vw;
    background-color: var(--BGCOLOR1);
    opacity: 0;
    z-index: -1;
    transition: all 300ms 0s ease;
    grid-area: 1 / 1;
}
div.side ul{
    padding: 4vw 4vw 4vw 4vw;
    gap: 4vw;
    font-size: 6vw;
    margin: 0 0 0 4vw;
}
div.side h4{
    padding: 6vw 4vw 0 4vw;
}
div.side span.date{
    font-size: 3vw;
    font-weight: bold;
    display: inline-block;
    color: var(--COLORGRAY);
}
div.contents{
    align-content: baseline;
    padding-bottom: 8vw;
    grid-area: 1 / 1;
}
div.contents span.date{
    font-size: 4vw;
    font-weight: normal;
    color: var(--COLORGRAY);
    display: inline-block;
    text-align: end;
}
/*
    フッター
    ウェブサイトのタイトル
    作成者
    お問い合わせはこちら
    製作年月
    権利について
*/
div.footer{
    background: linear-gradient(180deg, var(--BGCOLOR2), var(--ACCENTCOLOR));
    padding: 4vw 0 4vw 0;
    border-top: solid 2px var(--BGCOLOR1);
}
div.footer ul{
    grid-template-columns: var(--PAGEWIDTH);
    grid-auto-flow: row;
    gap: 0;
    justify-content: left;
    align-items: center;
}
div.footer li{
    padding: 0 4vw 0 4vw;
}
div.footer li.title{
    font-size: 5vw;
}
div.footer li.author{
    font-size: 4vw;
}
div.footer li.contact{
    font-size: 5vw;
}
div.footer li.since{
    font-size: 4vw;
}
div.footer li.copyright{
    font-size: 4vw;
    margin: 4vw 0 4vw 0;
    padding-top: 4vw;
    border-top: solid 2px var(--BGCOLOR1);
}

/*
    お問い合わせフォーム
    formタグをgridにして利用する
    inputタグ(テキスト)とtextareaは基本セルいっぱいに引き延ばす
    labelタグはまぁそこそこにする
    ボタンのみクラスを用意して幅いっぱいにならないようにする
*/
form.contactform{
    margin: 0 0 4vw 0rem;
    padding: 0 6vw 0 6vw;
}
form.contactform label{
    font-size: 4vw;
}
form.contactform input{
    font-size: 5vw;
}
form.contactform textarea{
    font-size: 5vw;
    height: 50vw;
}
form.contactform input.button{
    font-size: 5vw;
    width: 40vw;
    height: 10vw;
}
p.caution{
    font-size: 5vw;
    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 4vw 0;
    padding: 0;
    text-indent: 0;
}