@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

:root {
    --text-color: #1a1a1a;
}
* {
    padding: 0;
    margin: 0;
    font-family: 'Noto Sans JP', sans-serif;
    box-sizing: border-box;
    font-size: 4vw;
    color: var(--text-color);
}
html {
    scroll-behavior: smooth;
}
header {
    padding-top: 40px;
    text-align: center;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
}
main {
    margin: 0 2vw;
    padding: 5vh 2vh 5vh;
}
main div {
    margin-bottom: 1.5em;
}
h1 {
    font-size: 5vw;
    justify-self: start;
}
h2 {
    font-size: 4.2vw;
    margin-bottom: 1em;
}
.terms h2 {
    text-align: center;
}
h3 {
    margin-bottom: 1em;
}
p {
    margin-bottom: 1em;
    line-height: 1.6;
    /* text-align: justify; */
    word-break: break-all;
}
b {
    font-weight: 500;
}
ol li {
    margin-left: 20px;
    line-height: 1.6;
}
ol>ol {
    list-style: none;
    counter-reset: number;
}
ol>ol li {
    position: relative;
    padding-left: 2.5rem;
}
ol>ol li::before {
    counter-increment: number;
    content: '（' counter(number) '）';
    position: absolute;
    left: 0;
}
ul li {
    list-style: none;
    margin-bottom: 5px;
    line-height: 1.6;
}
.cookie ul {
    margin-bottom: 1em;
}
.cookie ul li{
    list-style: inside;
    word-break: break-all;
}
button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
}
.return-btn {
    justify-self: start;
    padding-left: 1rem;
}

.license-item {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    padding: 1.5em;
    /* 内側の余白 */
}
.license-item a {
    color: #21307e;
    /* リンクの色 */
}
.license-item a:hover {
    text-decoration: underline;
    /* ホバー時に下線を表示 */
}
.promulgationday {
    text-align: right;
}

/* リンク */
.link-btn-outline,
.link-btn-privacy {
    /* border-bottom: 1px solid #333; */
}

.link-btn-cookie {
    border-bottom: 1px solid #333;
    cursor: pointer;
}

.btn {
    width: 100%;
    color: #fff;
    font-weight: 400;
    background: linear-gradient(0deg, #21307e 0%, #21307e 30%, #21307e 100%);
    border: 1px #21307e solid;
    border-radius: 25px;
    height: 10vw;
    text-align-last: center;
    margin-top: 5dvh;
}
footer {
    padding: 1.5em 0;
    text-align: center;
}

/* POP */
#popMaster {
    background-color: white;
    display: flex;
    text-align: center;
    position: fixed;
    z-index: 9999;
    inset: 0;
}
#popBox {
    border: solid 1px #bebebe;
    box-shadow: 3px 3px 5px #ccc;
    border-radius: 10px;
    width: 90%;
    height: 90%;
    margin: auto;
    padding: 10px;
}
#popMaster>hr {
    margin: 0 5vw;
    border-color: #c9c9c9;
    border-width: 1vw 0 0 0;
    border-style: solid;
}
#popBody {
    margin: 0vw 5vw 0 5vw;
    text-align: center;
    font-size: 4vw;
    height: 85%;
}
#popBody iframe {
    width: 100%;
    height: 100%;
    /* border: none; */
}
#popButton {
    border-radius: 10px;
    margin: 5vw;
    background-color: #1a1a1a;
    height: 13vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    font-size: 5vw;
}
#popButton button {
    color: white;
}

@media(min-width:768px) {
    * {
        font-size: 25px;
    }
    h1 {
        font-size: 28px;
    }
}
/* 非表示のクラス */
.dNone {
	display: none;
}