*,
*::before,
*::after {
	box-sizing: border-box;
}

* {
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}

* :focus { 
    outline: none; 
}

hr {
    display: block;
    height: 1px;
    background-color: #000;
    border: 0;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo,  "Helvetica Neue", YuGothic, Arial, sans-serif;
    color:#000;
    line-break: strict;
    -webkit-font-smoothing: subpixel-antialiased;

    min-height: 100dvh;
    margin:0px;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;

    width:89.33vw;
    margin:5vw auto;

    display: flex;
    justify-content: center; /* 横方向中央 */
    align-items: center;     /* 縦方向中央 */
}

main h1 {
    font-size: 6.4vw;
    margin:0px auto;

    line-break: strict;
    word-break: normal;
    overflow-wrap: break-word;
    text-wrap: pretty;

    letter-spacing: 0.05em;
}

main h1 span {
    white-space: nowrap;
}

footer {
    background-color:#FFF;
    color:#000;
    padding-bottom:5.33vw;
    display:inline-block;
    width:100%;
}

footer hr {
    margin:0px auto 9vw;
    width:89.33vw;
}

.footer_logo {
    position: relative;
    width:49.6vw;
    margin-left:5.33vw;
}

.copyright {
    font-size:2.4vw;
    margin:6.13vw auto;
    width:89.33vw;
}

/* === PC === */
@media screen and (min-width: 769px) {    


    main h1 {
        font-size:40px;
    }

    main {
        width:90.84vw;
        margin:37px auto;
    }


    footer {
        padding-bottom:50px;
    }
    
    
    footer hr {
        margin:0px auto 37px;
        width:90.84vw;
    }
    
    .footer_logo {
        width:186px;
        margin-left:4.58vw;
    }
    
    .copyright {
        font-size:9px;
        margin:0px auto;
        width:90.84vw;
        text-align:right;
        position: relative;
        top: -1em;
    }
}
