
html{
    width: 100%;
	height: 100%;
	touch-action: manipulation;/*ダブルタップでの拡大無効*/
}

body {
    width: 100%;
    margin: 0;
    font-family: -apple-system;
    background: #f5f8fa;
    overflow-y: scroll;
}

/* 全体を包む要素 */
.page_all{}
/* デバッグ用 */
.page_all_debug{}
.page_all_debug * {
    outline:1px solid blue;
}

/*===================================================================================================
## 汎用要素
===================================================================================================*/

/* 汎用的な見出し */
.headline{
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
    position: relative;
    display: inline-block;
    margin-top: 6px;
    margin-bottom: 6px;
    left: 18px;
    font-size: 21px;
    font-weight: 430;
    letter-spacing: 0.05em;
    height: 30px;
    z-index: 0;
    --bg-color:rgb(217, 217, 128);/* 背景円のデフォルトカラー。html からも変更可能*/
}

/* 背景の円 */
.headline::before {
    content: "";
    position: absolute;
    width: 45px;
    height: 45px;
    border: 4px var(--bg-color) solid;
    box-sizing: border-box;
    border-radius: 50%;
    top: 50%;
    left: -9px;
    transform: translateY(-50%);/*縦の中央に*/
    z-index: -1;
}


/*===================================================================================================
## 上部要素
===================================================================================================*/

/* ヘッダー */
#header_dummy{
    position: relative;
    width:100%;
    height: 55px;
}

#header{
    position: fixed;
    width:100%;
    top: 0%;
    height: 55px;
    background-color: white;

    align-items: center;
    display: flex;
    gap: 4px;
    z-index: 100;
}

.header_logo {
    letter-spacing: 0.2em;
    text-align: center;
    flex:4;
    cursor: pointer;
    margin-left: 10px;
}

.header_item{
    text-align: center;
    flex:3;
    margin-top: 14px;
    padding-bottom: 10px;
    padding-top: 10px;
    border-bottom: 2px rgb(198, 203, 207) solid;
    box-sizing: border-box;
    cursor: pointer;
    
}

.header_item:hover {
    border-radius: 7px 7px 7px 7px;
    background-color: rgb(198, 203, 207);
}

/* デバッグボタン分の空白 */
.header_dummy_item{
    flex :0;
    margin-right: 120px;
}

.debug_mode_button{
    position: absolute;
    right:8px;
}


/*===================================================================================================
## コンテナ
===================================================================================================*/

/* 全体 */
#container {
    width: 100%;
    justify-content: center; /* 中央寄せ */
    position:relative;
    margin: auto;
    display: flex;
    min-width: 0;/* 中身のサイズに引っ張れないようにする */
}

/* 3 つのコンテナ */
#first_container {
    min-width: 0;/* 中身のサイズに引っ張れないようにする */
    flex: 3;
    max-width: 340px;
    box-sizing: border-box;  
}

#second_container {
    min-width: 0;/* 中身のサイズに引っ張れないようにする */
    flex: 6;
    max-width: 640px;
    box-sizing: border-box;
}

#third_container {
    min-width: 0;/* 中身のサイズに引っ張れないようにする */
    flex: 3;
    max-width: 240px;
    box-sizing: border-box;
}

#first_container, #second_container, #third_container{
    margin: 7px;
}

/* スマホ用 */
@media (max-width: 800px) {
    #container {
        display: block;
    }

    #first_container {
        order: 1;
        flex: none;
        margin: auto;
        margin-top: 20px;
        margin-bottom: 20px;
        max-width: 640px;
    }

    #second_container {
        order: 2;
        flex: none;
        margin: auto;
        margin-top: 20px;
        margin-bottom: 20px;
    }

    #third_container {
        order: 3;
        flex: none;
        margin: auto;
        max-width: 640px;
        margin-top: 20px;
        margin-bottom: 20px;
    }
}

/*===================================================================================================
## フッター
===================================================================================================*/
#footer{
    position: relative;
    
    bottom:0px;
    width:100%;
    height: 55px;
    background-color: rgb(223, 223, 223);
    align-items: center;
    padding-top: 20px;
    z-index: 100;
}
#footer #copyright{
    text-align: center;
    font-size: 15px;
}

#footer #contact{
    text-align: center;
    font-size: 15px;
}

