@charset "UTF-8";

/*------------------------------------*\
    $CONTENTS
\*------------------------------------*/
/**
 * CONTENTS............目次
 * RESET...............リセット
 * FONT-FACE...........ブランドフォントの設定
 * 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;
}




/*------------------------------------*\
    $FONT-FACE
\*------------------------------------*/
@font-face {
    font-family: 'Fractul-Regular';
    src:
        url("../fonts/Fractul-Regular.woff2") format("woff2"),
        url("../fonts/Fractul-Regular.woff") format("woff"),
        url('../fonts/Fractul-Regular.otf') format('opentype');
}
@font-face {
    font-family: 'Fractul-Medium';
    src:
        url("../fonts/Fractul-Medium.woff2") format("woff2"),
        url("../fonts/Fractul-Medium.woff") format("woff"),
        url('../fonts/Fractul-Medium.otf') format('opentype');
}
@font-face {
    font-family: 'Fractul-SemiBold';
    src:
        url("../fonts/Fractul-SemiBold.woff2") format("woff2"),
        url("../fonts/Fractul-SemiBold.woff") format("woff"),
        url('../fonts/Fractul-SemiBold.otf') format('opentype');
}





/*------------------------------------*\
    $GLOBAL-VARIABLES
\*------------------------------------*/
:root {
    /**
     * Color set
     */
    /* --primaryColor      : #07e494; */
    --primaryColor      : #00ada7;
    /* --primaryColor      : #06e290; */
    --navBackColor      : rgba(0, 0, 0, 0.7);
    --fontGrayColor     : #9b9b9b;
    --fontGrayColor2    : #434343;
    --nonActiveFontColor: #c8c8c8;
    --bgGrayColor       : #f4f4f4;
    --bgYellowColor     : #d7ff4a;
    --bgPinkColor       : #fe92ce;
    --pinkColor         : #ffbae9;

    /**
     * Font set
     */
    --font   : 'Noto Sans JP', sans-serif;
    --fontEn : 'Fractul-Regular', 'Fractul-Medium', 'Fractul-SemiBold', 'Noto Sans JP', sans-serif;
    --fontEnR: 'Fractul-Regular', 'Noto Sans JP', sans-serif;
    --fontEnM: 'Fractul-Medium', 'Noto Sans JP', sans-serif;
    --fontEnB: 'Fractul-SemiBold', '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(--fontEnR);
    font-size: 62.5%;
    font-weight: 400;
    -webkit-text-size-adjust: 100%;
}

body{
    height: 100vh;
    height: -webkit-fill-available;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--fontEnB);
    font-weight: 600;
}

picture, figure, figcaption, img {
    display: block;
    max-width: 100%;
    pointer-events: none;
}





/*------------------------------------*\
    $VARIABLE-HIDE
\*------------------------------------*/
.portrait,
.landscape,
.less768,
.over768,
.less1024,
.over1024,
.less1280,
.over1280 { content-visibility: auto }

/* Aspect ratio */
@media screen and (orientation: landscape) {
    .portrait { display: none !important }
}
@media screen and (orientation: portrait) {
    .landscape { display: none !important }
}

/* iPad */
@media screen and (min-width: 768px) {
    .less768 { display: none !important }
}
@media screen and (max-width: 767px) {
    .over768 { display: none !important }
}

/* iPad Pro */
@media screen and (min-width: 1024px) {
    .less1024 { display: none !important }
}
@media screen and (max-width: 1023px) {
    .over1024 { display: none !important }
}

/* laptop */
@media screen and (min-width: 1280px) {
    .less1280 { display: none !important }
}
@media screen and (max-width: 1279px) {
    .over1280 { display: none !important }
}
