@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 }

a,
a:visited,
a:active {
  color: #5b8e8d;
  text-decoration: none;
}


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     : #014760;
    --bgColor          : #E8E8E8;
    --headerColor      : #252525;
    --fontColor        : #333333;
    --fontLightColor   : #7D7D7D;
    --linkOverlayColor : rgba(0, 0, 0, 0.05);

    /**
     * Font set
     */
    --fontR : -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
    --fontB : -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, 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: var(--bgColor);
    color: var(--fontColor);
    font-family: var(--fontR);
    font-size: 62.5%;
    font-weight: 400;
    -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,
h2,
h3,
h4,
h5,
h6,
strong {
    color: var(--fontColor);
    font-family: var(--fontB);
    font-weight: 700;
}

p,
a,
small { color: var(--fontLightColor) }

input,
textarea,
select {
    padding-inline: .5em;
    border: 1px solid var(--primaryColor);
    font-size: 1.6rem;
    line-height: 1.875;
}

input:not([type=radio]):not([type=checkbox]) { width: 100% }
input[type=radio],
input[type=checkbox] {
    display: inline-block;
    width: 1em;
    height: 1em;
    padding-inline: 0;
    margin-right: .5em;
    border: 1px solid var(--fontColor);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
}
input[type=radio] { border-radius: 100% }
input[type=radio]:checked { background-image: url(../images/icon-radio.svg) }
input[type=checkbox]:checked { background-image: url(../images/icon-checkbox.svg) }


textarea {
    resize: vertical;
    width: 100%;
    min-height: 240px;
    padding-top: .5em;
}

select {
    padding-right: 2em;
    background-image: url(../images/select-arrow.svg);
    background-repeat: no-repeat;
    background-position: calc(100% - .5em) 50%;
    background-size: 1em;
}

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

button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(100%, 320px);
    margin-block: 0.5em;
    margin-inline: auto;
    background-color: var(--primaryColor);
    color: white;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 3;
    white-space: nowrap;
}





/*------------------------------------*\
    $VARIABLE-HIDE
\*------------------------------------*/
.portrait,
.landscape { content-visibility: auto }

/* Aspect ratio */
@media screen and (orientation: landscape) {
    .portrait { display: none !important }
}
@media screen and (orientation: portrait) {
    .landscape { display: none !important }
}

