/***
    The new CSS reset - version 1.9 (last updated 19.6.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/

/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
    all: unset;
    display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Reapply the pointer cursor for anchor tags */
a,
button {
    cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol,
ul,
menu {
    list-style: none;
}

/* For images to not be able to exceed their container */
img {
    max-inline-size: 100%;
    max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
    border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input,
textarea {
    -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
    white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
    -webkit-appearance: revert;
    appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
    all: revert;
}

/* reset default text opacity of input placeholder */
::placeholder {
    color: unset;
}

/* remove default dot (•) sign */
::marker {
    content: initial;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
    display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable="false"])) {
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    overflow-wrap: break-word;
    -webkit-line-break: after-white-space;
    -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable="true"]) {
    -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
    all: revert;
}
/* サイトのリセットスタイル　ここまで */

/* サイトのベーススタイル */
:root{
    --main-color:#333;
    --main-complementary-color: #fff;
}

html{
    font-size: 62.5%;
}
body{
    background-color: #fff;
    color: var(--main-color);
    font-family: "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        "BIZ UDPGothic",
        Meiryo,
        sans-serif;
    font-size: 1.6rem;
    line-height: 1.4;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
a {
    color: #333;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    @media screen and (max-width: 768px) {
        width: 100%;
    }
}
iframe[src*="youtube.com"]{
    display: block;
    margin-inline: auto;
    @media screen and (max-width: 768px) {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }
}
/* サイトのベーススタイル　ここまで */


/* サイトのスタイル */
.l-main{
    max-width: 1100px;
    width: 100%;
    margin-inline: auto;
}
.l-header{
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    width: 100%;
    background: #fff;
}
.l-header__logo{
    width: 200px;
    height: 100px;
}
.l-header-menu__outer{
    padding: 30px;
    flex: 1;
    @media screen and (max-width: 768px) {
        position: fixed;
        top: 0;
        right: 0;
        height: 100vh;
        transform: translateX(90%);
        background: #fff;
    }
}
.l-header-nav__list{
    display: flex;
    gap: 30px;
}
.js-hamburger-mask{
    display: none;
}
.js-hamburger-btn{
    position: fixed;
    top: 0;
    right: 0;
}
@media screen and (max-width: 768px) {
    .l-header-menu__outer{
        position: fixed;
        top: 0;
        right: 0;
        width: 80%;
        height: 100vh;
        transform: translateX(100%);
        background: #fff;
    }
    .l-header-nav__list{
        flex-direction: column;
    }
    .js-hamburger{
        transition:  .2s;
    }
    .js-hamburger.is-open{
        transform: translateX(0);
    }
}

/* サイトのスタイル　ここまで */
