@charset "UTF-8";

:root {
    /* Colors */
    --black: #313131;
    --white: #fff;
    --headerColor: #2bbcb5;
    --footerColor: #00abbd;
    /* Fonts */
    --fontMain : 'Noto Sans JP', sans-serif; /* 300, 400, 500, 700, 900 */
    --fontSubJP: 'M PLUS 1p', sans-serif; /* 100, 400 */
    --fontSubEN: 'Barlow Condensed', sans-serif; /* 200, 400, 700 */
    /* Easing */
    --linear        : cubic-bezier(0.250, 0.250, 0.750, 0.750);
    --easeInSine    : cubic-bezier(0.47,  0,     0.745, 0.715);
    --easeOutSine   : cubic-bezier(0.39,  0.575, 0.565, 1    );
    --easeInOutSine : cubic-bezier(0.445, 0.05,  0.55,  0.95 );
    --easeInQuad    : cubic-bezier(0.55,  0.085, 0.68,  0.53 );
    --easeOutQuad   : cubic-bezier(0.25,  0.46,  0.45,  0.94 );
    --easeInOutQuad : cubic-bezier(0.455, 0.03,  0.515, 0.955);
    --easeInCubic   : cubic-bezier(0.55,  0.055, 0.675, 0.19 );
    --easeOutCubic  : cubic-bezier(0.215, 0.61,  0.355, 1    );
    --easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1    );
    --easeInQuart   : cubic-bezier(0.895, 0.03,  0.685, 0.22 );
    --easeOutQuart  : cubic-bezier(0.165, 0.84,  0.44,  1    );
    --easeInOutQuart: cubic-bezier(0.77,  0,     0.175, 1    );
    --easeInQuint   : cubic-bezier(0.755, 0.05,  0.855, 0.06 );
    --easeOutQuint  : cubic-bezier(0.23,  1,     0.32,  1    );
    --easeInOutQuint: cubic-bezier(0.86,  0,     0.07,  1    );
    --easeInExpo    : cubic-bezier(0.95,  0.05,  0.795, 0.035);
    --easeOutExpo   : cubic-bezier(0.19,  1,     0.22,  1    );
    --easeInOutExpo : cubic-bezier(1,     0,     0,     1    );
    --easeInCirc    : cubic-bezier(0.6,   0.04,  0.98,  0.335);
    --easeOutCirc   : cubic-bezier(0.075, 0.82,  0.165, 1    );
    --easeInOutCirc : cubic-bezier(0.785, 0.135, 0.15,  0.86 );
    --easeInBack    : cubic-bezier(0.6,  -0.28,  0.735, 0.045);
    --easeOutBack   : cubic-bezier(0.175, 0.885, 0.32,  1.275);
    --easeInOutBack : cubic-bezier(0.68, -0.55,  0.265, 1.55 );
}

/*********************************************************************
*  Base
*********************************************************************/
html {
    background: var(--white);
    color: var(--black);
    font-family: var(--fontMain);
    font-size: 62.5%;
    font-weight: 400;
    -webkit-text-size-adjust: 100%;
}
html:focus-within { scroll-behavior: smooth }
@media screen and (max-width: 767px) {
    html { font-size: min(calc(100vw * (10 / 750))) }
}


/*********************************************************************
*  Reset
*********************************************************************/
* {
    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 {
    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(--gray) }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px var(--white) inset !important;
    -webkit-text-fill-color: inherit !important;
}
input::-webkit-calendar-picker-indicator { display: none }

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: inherit;
    font-family: inherit;
    box-sizing: border-box;
}
input { -webkit-tap-highlight-color: rgba(0, 0, 0, 0) }
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],
input[type=image],
button {
    appearance: button;
    display: block;
    cursor: pointer;
}
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 }
