@charset "UTF-8";

:root {
    --black:       #000;
    --white:       #fff;
    --brown:       #93702e;
    --light-brown: #ab9375;
    --red  :       #ff3102;
}

/*********************************************************************
*  Base
*********************************************************************/
html {
    background: var(--white);
    color: var(--black);
    font-family: 'Noto Serif JP', serif;
    font-size: 62.5%;
    font-weight: 400;
    -webkit-text-size-adjust: 100%;
}

body {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
::-webkit-scrollbar { display: none }

* {
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
}

img {
    display: block;
    pointer-events: none;
}

ol, ul { list-style: none }

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption, th {
    text-align: left;
    font-weight: 400;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--brown);
    font-family: 'Noto Serif JP', serif;
    font-size: 100%;
    font-weight: 400;
}

a {
    color: inherit;
    text-decoration: none;
}

q:before, q:after { content: "" }

::before, ::after { box-sizing: border-box }

:focus { outline: none }

::placeholder { color: var(--white) }

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
    -moz-box-shadow: 0 0 0 1000px #fff inset;
    box-shadow: 0 0 0 1000px #fff inset;
}

input, select, textarea, button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: 0;
    padding: 0;
    margin: 0;
    background : none;
    border: none;
    border-radius: 0;
    color: var(--white);
    font-family: inherit;
    box-sizing: border-box;
}
input { -webkit-tap-highlight-color: rgba(0, 0, 0, 0) }
input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]), textarea, select {
    width: min(150px, 46%);
    height: 40px;
    padding-right: 10px;
    padding-left: 10px;
    background: var(--light-brown);
    font-size: 1.4rem;
}
@media screen and (orientation: portrait) {
    input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]), textarea, select {
        width: min(calc(464px / 3), 46.2%);
        height: 41px;
        min-height: 30px;
        padding-right: 11px;
        padding-left: 11px;
        color: var(--white);
        font-size: 1.4rem;
        letter-spacing: .02em;
    }
}
input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):only-child, textarea:only-child, select:only-child { width: min(325px, 100%) }
@media screen and (orientation: portrait) {
    input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):only-child, textarea:only-child, select:only-child { width: 100% }
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button,
input[type="date"]::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
}
input[type="submit"],
input[type="button"] {
    -webkit-box-sizing: border-box;
    -webkit-appearance: button;
    appearance: button;
    display: block;
    width: min(150px, 47%);
    height: min(40px, 2.1vw);
    min-height: 30px;
    padding-top: 1px;
    margin-right: auto;
    margin-left: auto;
    background-color: var(--red);
    font-size: 1.4rem;
    cursor: pointer;
}
@media screen and (orientation: portrait) {
    input[type="submit"],
    input[type="button"] {
        width: min(150px, 47%);
        height: 40px;
    }
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration { display: none }
input[type="submit"]:focus,
input[type="button"]:focus { outline-offset: -2px }

textarea {
    resize: none;
    display: block;
    height: min(200px, 10.5vw);
    min-height: 150px;
    padding-top: min(5px, 1.6%);
    padding-bottom: min(5px, 1.6%);
    line-height: 2;
}
@media screen and (orientation: portrait) {
    textarea {
        height: 180px;
        min-height: 0;
    }
}

button {
    display: block;
    cursor: pointer;
}