@charset "UTF-8";

/*------------------------------------*\
    $CONTENTS
\*------------------------------------*/
/**
 * CONTENTS............目次
 * RESET...............リセット
 * GLOBAL-VARIABLES....グローバル変数
 * ELEMENTS............要素
 * VARIABLE-HIDE.......可変幅による表示非表示
 */





/*------------------------------------*\
    $RESET
\*------------------------------------*/
*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
    all: unset;
    display: revert;
}

*,
*::before,
*::after { box-sizing: border-box }

ol, ul { list-style: none }

table { border-collapse: collapse }

textarea { white-space: revert }

:focus { outline: none }

a, button, select { cursor: pointer }

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-tap-highlight-color: rgba(0, 0, 0, 0) }

input:where(:not([type=datetime]):not([type=date]):not([type=month]):not([type=week]):not([type=time]):not([type=datetime-local]))::-webkit-calendar-picker-indicator {
    display: none !important;
}




/*------------------------------------*\
    $GLOBAL-VARIABLES
\*------------------------------------*/
:root {
    /**
     * Color set
     */
    --primaryColor: #ab81f1;

    /**
     * Font set
     */
    --font : 'Josefin Sans', 'Noto Sans JP', sans-serif;

    /**
     * Types of 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 );

}





/*------------------------------------*\
    $ELEMENTS
\*------------------------------------*/
html {
    height: -webkit-fill-available;
    background-color: white;
    color: black;
    font-family: var(--font);
    font-size: 62.5%;
    font-weight: 500;
    -webkit-text-size-adjust: 100%;
}

body {
    min-height: 100vh;
    min-height: -webkit-fill-available;
}

picture, img {
    display: block;
    max-width: 100%;
    pointer-events: none;
}

h1, h3, h4, h5, h6 { font-weight: 700 }

h2 {
    font-weight: 600;
    line-height: 1.875;
}
@media screen and (min-width: 768px) {
    h2 {
        font-size: 1.6rem;
        letter-spacing: .1em;
    }
}
@media screen and (max-width: 767px) {
    h2 { font-size: 2.0rem }
}

@media screen and (min-width: 768px) {
    p {
        font-size: 1.4rem;
        line-height: calc(30 / 14);
    }
}
@media screen and (max-width: 767px) {
    p {
        font-size: 1.2rem;
        line-height: 1.75;
    }
}

strong { font-weight: 700 }

a { transition: color .3s var(--easeOutQuart) }
a:hover { color: var(--primaryColor) }





/*------------------------------------*\
    $VARIABLE-HIDE
\*------------------------------------*/
.less768,
.over768,
.less1024,
.less1024,
.less1280,
.over1280,
.less1440,
.over1440 { content-visibility: auto }

/* iPad */
@media screen and (min-width: 768px) {
    .less768 { display: none }
}
@media screen and (max-width: 767px) {
    .over768 { display: none }
}

/* iPad Pro */
@media screen and (min-width: 1024px) {
    .less1024 { display: none }
}
@media screen and (max-width: 1023px) {
    .over1024 { display: none }
}

/* laptop */
@media screen and (min-width: 1280px) {
    .less1280 { display: none }
}
@media screen and (max-width: 1279px) {
    .over1280 { display: none }
}

/* laptop - large */
@media screen and (min-width: 1440px) {
    .less1440 { display: none }
}
@media screen and (max-width: 1439px) {
    .over1440 { display: none }
}
