/* 用途: リセット（destyle.css） - 全下層ページで共通 */
/*! destyle.css v1.0.13 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model
   ========================================================================== */
* {
            box-sizing: border-box;

    -webkit-box-sizing: border-box;
}

body {
    background: white;
}

::before, ::after {
            box-sizing: inherit;

    -webkit-box-sizing: inherit;
}

/* Document
     ========================================================================== */
/**
   * 1. Correct the line height in all browsers.
   * 2. Prevent adjustments of font size after orientation changes in iOS.
   * 3. Remove gray overlay on links for iOS.
   */
html {
    line-height: 1.15;
    /* 1 */

    -webkit-text-size-adjust: 100%;
    /* 2 */
    -webkit-tap-highlight-color: transparent;

    /* 3*/
}

/* Sections
     ========================================================================== */
/**
   * Remove the margin in all browsers.
   */
body {
    margin: 0;
}

/**
   * Render the `main` element consistently in IE.
   */
main {
    display: block;
}

/* Vertical rhythm
     ========================================================================== */
p, table, blockquote, address, pre, iframe, form, figure, dl {
    margin: 0;
}

/* Headings
     ========================================================================== */
h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
}

/* Lists (enumeration)
     ========================================================================== */
ul, ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Lists (definition)
     ========================================================================== */
dt {
    font-weight: bold;
}

dd {
    margin-left: 0;
}

/* Grouping content
     ========================================================================== */
/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
hr {
    clear: both;
    /* 1 */
    height: 0;
    margin: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
    border: 0;
    border-top: 1px solid;
            box-sizing: content-box;
    color: inherit;

    -webkit-box-sizing: content-box;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
pre {
    /* 1 */
    font-size: inherit;
    font-family: monospace, monospace;
    /* 2 */
}

address {
    font-style: inherit;
}

/* Text-level semantics
     ========================================================================== */
/**
   * Remove the gray background on active links in IE 10.
   */
a {
    background-color: transparent;
    color: inherit;
    text-decoration: none;
}

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
abbr[title] {
    border-bottom: none;
    /* 1 */
            text-decoration: underline;
            text-decoration: underline dotted;
    /* 2 */

    -webkit-text-decoration: underline dotted;

    /* 2 */
}

/**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
b, strong {
    font-weight: bolder;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
code, kbd, samp {
    /* 1 */
    font-size: inherit;
    font-family: monospace, monospace;
    /* 2 */
}

/**
   * Add the correct font size in all browsers.
   */
small {
    font-size: 80%;
}

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
sub, sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

sub {
    bottom: -.25em;
}

sup {
    top: -.5em;
}

/* Embedded content
     ========================================================================== */
/**
   * Remove the border on images inside links in IE 10.
   */
img {
    border-style: none;
    vertical-align: bottom;
}

embed, object, iframe {
    border: 0;
    vertical-align: bottom;
}

/* Forms
     ========================================================================== */
/**
   * Reset form fields to make them styleable
   * 1. Reset radio and checkbox to preserve their look in iOS.
   */
button, input, optgroup, select, textarea {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: inherit;
    vertical-align: middle;
    outline: 0;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

[type="checkbox"] {
    /* 1 */
    -webkit-appearance: checkbox;
       -moz-appearance: checkbox;
            appearance: checkbox;
}

[type="radio"] {
    /* 1 */
    -webkit-appearance: radio;
       -moz-appearance: radio;
            appearance: radio;
}

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
button, input {
    /* 1 */
    overflow: visible;
}

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
button, select {
    /* 1 */
    text-transform: none;
}

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */
button, [type="button"], [type="reset"], [type="submit"] {
    cursor: pointer;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

button[disabled], [type="button"][disabled], [type="reset"][disabled], [type="submit"][disabled] {
    cursor: default;
}

/**
   * Remove the inner border and padding in Firefox.
   */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

/**
   * Restore the focus styles unset by the previous rule.
   */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
   * Remove padding
   */
option {
    padding: 0;
}

/**
   * Reset to invisible
   */
fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

/**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
legend {
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    color: inherit;
    /* 3 */
    white-space: normal;

    /* 1 */
}

/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
progress {
    vertical-align: baseline;
}

/**
   * Remove the default vertical scrollbar in IE 10+.
   */
textarea {
    overflow: auto;
}

/**
   * 1. Remove the padding in IE 10.
   */
[type="checkbox"], [type="radio"] {
    padding: 0;
    /* 1 */
}

/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
   * 1. Correct the outline style in Safari.
   */
[type="search"] {
    outline-offset: -2px;
    /* 1 */
}

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
    /* 1 */
    font: inherit;

    -webkit-appearance: button;
    /* 2 */
}

/**
   * Clickable labels
   */
label[for] {
    cursor: pointer;
}

/* Interactive
     ========================================================================== */
/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
details {
    display: block;
}

/*
   * Add the correct display in all browsers.
   */
summary {
    display: list-item;
}

/* Table
     ========================================================================== */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption {
    text-align: left;
}

td, th {
    padding: 0;
    vertical-align: top;
}

th {
    font-weight: bold;
    text-align: left;
}

/* Misc
     ========================================================================== */
/**
   * Add the correct display in IE 10+.
   */
template {
    display: none;
}

/**
   * Add the correct display in IE 10.
   */
[hidden] {
    display: none;
}

@media (min-width: 768px) {
    ._sp {
        display: none;
    }
}

._pc {
    display: none;
}

@media (min-width: 768px) {
    ._pc {
        display: block;
    }
}

@media (min-width: 1230px) {
    ._xls {
        display: none;
    }
}

._xll {
    display: none;
}

@media (min-width: 1230px) {
    ._xll {
        display: block;
    }
}

._semiBold {
    font-weight: 600;
}

html {
    color: #222222;
    font-weight: 500;
    font-size: 62.5%;
    /* font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; */
    font-family: "Source Han Serif JP", "Noto Serif CJK JP", "游明朝体", "Yu Mincho", YuMincho, serif;
    font-family: "source-han-serif-japanese", "游明朝体", serif;
    line-height: 1.6;
    scroll-behavior: smooth;
}

html.isOpen {
    overflow: hidden;
}

body {
    position: relative;
    line-height: 1.7;
}

p, a, li, span, th, td, dt, dd, pre, figcaption, input[type="text"], input[type="button"], textarea {
    font-size: 1.6rem;
    letter-spacing: .08em;
    line-height: 1.75;
}

pre {
    font-family: inherit;
    white-space: pre-wrap;
    line-height: 1.6;
}

img {
    width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-size: 2.4rem;
    line-height: 1.4;
    letter-spacing: .05em;
}

a {
    display: inline-block;
    width: 100%;
    height: 100%;
}

.error {
    display: block;
    color: #bf0000;
}

.wrapper {
    position: relative;
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
}

.youtube {
    width: 100%;

    aspect-ratio: 16 / 9;
}

.youtube iframe {
    width: 100%;
    height: 100%;
}

@media (min-width: 768px) {
    p, a, li, span, th, td, dt, dd, pre, figcaption, input[type="text"], input[type="button"], textarea {
        font-size: 1.7rem;
        line-height: 1.8;
    }
}
