@import url('https://fonts.googleapis.com/css2?family=Kaisei+Opti:wght@400;500;700&family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&family=Noto+Sans+JP:wght@100;200;300;400;500;600;700&display=swap');


html {
    overflow-x: hidden;
}

.margin0 {
    margin: 0;
}

.padding0 {
    padding: 0;
}

.flex {
    display: flex;
    justify-content: center;
    align-items: center;
}

.center {
    text-align: center;
}

.weight_100 {
    /* Thin(Hairline) */
    font-weight: 100;
}

.weight_200 {
    /* Extra Light(Ultra Light) */
    font-weight: 200;
}

.weight_300 {
    /* Light */
    font-weight: 300;
}

.weight_400 {
    /* Normal(Regular) */
    font-weight: 400;
}

.weight_500 {
    /* Midium */
    font-weight: 500;
}

.weight_600 {
    /* Semi Bold(Demi Bold) */
    font-weight: 600;
}

.weight_700 {
    /* Bold */
    font-weight: 700;
}

.weight_800 {
    /* Extra Bold(Ultra Bold) */
    font-weight: 800;
}

.weight_900 {
    /* Black(Heavy) */
    font-weight: 900;
}

.font_Kaisei-Opti {
    font-family: 'Kaisei Opti', serif;
}

.font_M-Plus-Rounded-1c {
    font-family: 'M PLUS Rounded 1c', sans-serif;
}

.font_Noto-Sans-JP {
    font-family: 'Noto Sans JP', sans-serif;
}

.font_Arial {
    font-family: 'Arial',sans-serif;
}



/* ページタイトルにアウトラインを付ける用 */

.svg_text {
    stroke: #275CA6;
    text-anchor: middle;
    letter-spacing: 0.25vw;
    font-size: 6.4vw;
    width: 100%;
}

.svg>svg>use:nth-of-type(1) {
    stroke-width: 7.5px;
    paint-order: stroke;
    stroke-linejoin: miter;
    width: 100%;
}

.svg>svg>use:nth-of-type(2) {
    stroke-width: 0;
    width: 100%;
}

/* モーダル内タイトルにアウトラインを付ける用 */
.svg_text2 {
    stroke: #FFFFFF;
    text-anchor: middle;
    letter-spacing: 0.25vw;
    font-size: 5.866vw;
    width: 100%;
}




figure {
    margin: 0;
}

.main_visual {
    width: 100vw;
    height: auto;

    opacity: 1;
}

h1 {
    margin: 0;
}

body {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    opacity: 1;
    overflow-x: hidden;
}

footer {
    background: black;
    position: relative;
    padding: 0;
    margin: 0;
}

.main {
    display: flex;
    overflow-y: scroll;

    /* background-image: url(../img/main_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position-y: 0;
    background-position-x: 0; */
}

.main_container {
    width: 100%;

    position: relative;
}

/* .main_container::after {
    content: "";
    background-image: url(../img/bottom.png);
    background-size: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 110%;
    transform: translate(0%, 0%);
    z-index: 0;
} */

.main_logo {
    width: 60vw;
    margin-top: 2.133vw;
    margin-bottom: 2.133vw;
    opacity: 1;
    position: relative;
    z-index: 3;
}


.main_img {
    width: 40vw;
}



.title {
    position: absolute;
    white-space: nowrap;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    padding: 6vw 0 2vw 0;
    background: #000000af;
    opacity: 1;
}

.subtext {
    opacity: 1;
    margin: 5.6vw 0 0.334vw 0;
}

.flex {
    display: flex;
    justify-content: center;
    align-items: center;
}

.center {
    text-align: center;
}

.topArea_container {
    padding: 0vw 0 0 0;
}



.reverun_button_list {
    display: flex;
    justify-content: center;
    list-style: none;
}

.ar_button {
    position: flex;
    margin: 0 auto;
    margin-block-start: 0;
    margin-block-end: 0;
    text-decoration: none;
    opacity: 1;
    text-align: center;
    display: block;
    justify-content: center;
    width: 66.666vw;
    z-index: 2;
}

.ar_button_img {
    width: 66.666vw;
    top: 0;
    z-index: 3;
}

.howto_button {
    position: flex;
    margin: 0 auto;
    margin-block-start: 0;
    margin-block-end: 0;
    text-decoration: none;
    opacity: 1;
    text-align: center;
    justify-content: center;
    display: block;
    width: 66.666vw;
    z-index: 4;
}

.howto_button_img {
    width: 66.666vw;
    top: 0;
    z-index: 5;
}

.footer_end {
    min-height: 40px;
}

.footer_container {
    width: 100%;

    position: relative;
}

.line-text-line {
    display: flex;
    margin: 0 auto;
    align-items: center;
    width: 66.75vw;
}

.line {
    flex-grow: 1;
    height: 2px;
    background-color: #CECECE;
}

.text {
    padding: 0 5vw;
    white-space: nowrap;
}

.footer_link_list {
    display: flex;
    list-style: none;
    margin: auto;
    justify-content: center;
    padding-left: 0;
}

.link_button {
    display: inline-block;
    width: 12vw;
    height: 12vw;
    margin-left: 2vw;
    margin-right: 2vw;
    opacity: 1;
}

.footer_link {
    display: flex;
    text-decoration: none;
}

.footer_textbox {
    border: solid 1px #414141;
    padding-top: 3vw;
    padding-left: 2vw;
    padding-right: 2vw;
    padding-bottom: 3vw;
    margin: 0;
    margin-left: 15vw;
    margin-right: 15vw;
}

.footer_text {
    display: block;
    color: #FFFFFF;
    text-align: center;
    padding: 0;
    margin: 0;
}

.footer_hashtag_text {
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
}

.footer_hashtag {
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
}

.copyright_text {
    padding-top: 2vw;
    padding-bottom: 2vw;
    color: white;
    white-space: nowrap;
    width: 100%;
}

.margin_auto {
    margin: auto;
}

.uncollectmodal {
    position: fixed;
    display: none;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background: #000000D9;
}

.uncollectmodal_attention {
    width: 12vw;
    height: auto;
}


#collect_button {
    display:none;
}

#uncollect_button {
    display: block;
}

/* #collect_button {
    display: block;
}

#uncollect_button {
    display: none;
} */


.modalArea {
    display: none;
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.modalBg {
    width: 100%;
    height: 100%;
    /* background-color: #DAF0C7e5; */
    background-color: #2B2B2BF2;
    background-size: cover;
}

.modalWrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;

    width: 100%;
    height: 100%;
    margin: 0 0 0 0;

    overflow: auto;
}

.linkcolor {
    color: yellow;
    text-decoration: none;
}

.modalWrapperBackground {
    display: inline-block;
    /* background-color: rgba(0, 0, 0, 0.75); */
    width: 100%;
    position: relative;
}

.modal_section_container {
    position: relative;
    background-color: #000000;
    padding-top: 4.4vw;
    padding-bottom: 3.4vw;
}

.modal_howto_title_container {
    position: relative;
    color: #34589B;
}

.modal_title {
    text-align: center;

    margin: 0;
    padding: 0;
}

.modal_title_hr {
    width: 100%;
    height: 2.5px;
    border: none;
    margin: 0;
    padding: 0;
}

.modal_title_subtext {
    text-align: center;

    margin: 0;
    padding: 0;
}

.modal_img_install {
    height: 9.466vw;
    width: auto;
}

ul {
    margin: 0 0 0 0;
    padding: 0 0 0 0;

}

.modal_text_bg {
    margin: 0 auto;
    background: #000000;
}

.modal_text {
    color: #FFFFFF;
}

.modal_img {
    width: 33.066vw;
    padding-top: 2.5vw;
    padding-bottom: 2.5vw
}

.modal_howto_container {
    position: relative;
}

ul.howto_list {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    padding-left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.howto_list_img {
    display: inline-block;
    text-align: center;
}

.howto_list_text {
    color: #FFFFFF;
    margin: 0 auto;
    width: 40.066vw;
}

ul.modal_notes_list {
    color: #FFFFFF;
    list-style-type: "※";
    margin-top: 8.533vw;
    padding-left: 11.333vw;
    font-size: 2.933vw;
    width: 80vw;
}

li.modal_notes_height {
    padding-bottom: 2.266vw;
}

.modal_notes_text {
    display: block;
    line-height: 5.066vw;
}

.modal_closebutton_up {
    padding-top: 7.5vw;
    padding-right: 7.5vw;
    height: auto;
    z-index: 100;
}

.modal_closebutton {
    color: white;
    position: relative;
    margin-top: 12vw;
    padding-bottom: 15vw;
    width: 20vw;
    height: auto;
}

.modal_hr::after {
    content: "";
    display: block;
    width: 85vw;
    border-bottom: 1px solid #ffffff;
    position: absolute;
    padding-top: 10vw;
    left: calc(50% - 42.5vw);
}

hr {
    height: 0.3vw;
    width: 51.466vw;
    background-color: #CECECE;
    border-radius: 25px;
    border: none;
}

model-viewer {
    display: none;
    width: 100%;
    height: 181.333;
}