@charset "UTF-8";
@import"https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700&family=Shippori+Mincho:wght@500;700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap";
@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,700,1,0";

*,
:before,
:after {
    box-sizing: border-box;
    background-repeat: no-repeat
}

:before,
:after {
    text-decoration: inherit;
    vertical-align: inherit
}

:where(:root) {
    -moz-tab-size: 4;
    -o-tab-size: 4;
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: 100%;
    line-height: 1.5;
    overflow-wrap: break-word;
    cursor: default;
    tab-size: 4
}

:where(body) {
    margin: 0
}

:where(h1) {
    margin: .67em 0;
    font-size: 2em
}

:where(dl, ol, ul) :where(dl, ol, ul) {
    margin: 0
}

:where(hr) {
    height: 0;
    color: inherit
}

:where(nav) :where(ol, ul) {
    padding: 0;
    list-style-type: none
}

:where(nav li):before {
    float: left;
    content: "​"
}

:where(pre) {
    overflow: auto;
    font-size: 1em;
    font-family: monospace, monospace
}

:where(abbr[title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline;
    text-decoration: underline dotted
}

:where(b, strong) {
    font-weight: bolder
}

:where(code, kbd, samp) {
    font-size: 1em;
    font-family: monospace, monospace
}

:where(small) {
    font-size: 80%
}

:where(audio, canvas, iframe, img, svg, video) {
    vertical-align: middle
}

:where(iframe) {
    border-style: none
}

:where(svg:not([fill])) {
    fill: currentColor
}

:where(table) {
    border-color: inherit;
    border-collapse: collapse;
    text-indent: 0
}

:where(button, input, select) {
    margin: 0
}

:where(button, [type="button" i], [type="reset" i], [type="submit" i]) {
    -webkit-appearance: button
}

:where(fieldset) {
    border: 1px solid #a0a0a0
}

:where(progress) {
    vertical-align: baseline
}

:where(textarea) {
    margin: 0;
    resize: vertical
}

:where([type="search" i]) {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: .54
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

:where(dialog) {
    position: absolute;
    right: 0;
    left: 0;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content;
    margin: auto;
    padding: 1em;
    border: solid;
    background-color: #fff;
    color: #000
}

:where(dialog:not([open])) {
    display: none
}

:where(details > summary:first-of-type) {
    display: list-item
}

:where([aria-busy="true" i]) {
    cursor: progress
}

:where([aria-controls]) {
    cursor: pointer
}

:where([aria-disabled="true" i], [disabled]) {
    cursor: not-allowed
}

:where([aria-hidden="false" i][hidden]) {
    display: initial
}

:where([aria-hidden="false" i][hidden]:not(:focus)) {
    clip: rect(0, 0, 0, 0);
    position: absolute
}

:where(button, input, select, textarea) {
    padding: .25em .375em;
    border: 1px solid WindowFrame;
    background-color: transparent;
    color: inherit;
    font: inherit;
    letter-spacing: inherit
}

:where(select) {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 1em;
    border-radius: 0;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E") no-repeat right center / 1em
}

:where(select[multiple]) {
    background-image: none
}

:where([type="color" i], [type="range" i]) {
    padding: 0;
    border-width: 0
}

.material-symbols-outlined {
    font-variation-settings: "FILL" 1, "wght" 700, "GRAD" 0, "opsz" 48
}

.stamprally .mdlcrs-tit,
.learnbox .fesfacilities ul li p,
.searchbox #sea-box-hom input,
.sansserif,
.searchbox .lists__tag li a {
    font-family: Helvetica Neue, Helvetica, Arial, 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, Meiryo UI, メイリオ, Meiryo, ＭＳ Ｐゴシック, MS PGothic, sans-serif
}

.stamprally h3 span,
.serif,
html {
    font-weight: 500;
    font-family: EB Garamond, Shippori Mincho, 游明朝, Yu Mincho, 游明朝体, YuMincho, Hiragino Mincho ProN, HiraMinProN-W3, serif
}

html {
    font-size: 62.5%
}

body {
    font-size: 1.6rem
}

html {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    color: #000;
    text-align: justify
}

body {
    min-width: 320px
}

address {
    font-style: normal
}

a {
    text-decoration: none;
    transition: all .2s ease
}

a:hover {
    opacity: .7
}

img {
    width: 100%;
    height: auto;
    vertical-align: bottom
}

ul {
    padding: 0;
    list-style: none
}

strong {
    font-weight: 600
}

.page__n {
    margin-top: 50px
}

.page__n p {
    line-height: 1.8em
}

.searchbox {
    max-width: 768px;
    margin-top: 2em;
    margin-right: auto;
    margin-left: auto;
    padding: 1.5em
}

.searchbox .tit__3--n {
    margin-bottom: 1em;
    text-align: center
}

.searchbox .tit__4--n {
    margin-top: 2em;
    margin-bottom: 1em
}

.searchbox .lists__tag {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1em 1em
}

.searchbox .lists__tag li a {
    padding: .5em 1em;
    border: 1px solid rgba(0, 0, 0, .05);
    border-radius: 100vh;
    background-color: #fff;
    background-color: #f07800;
    color: #000;
    color: #fff
}

.searchbox #sea-box-hom {
    box-sizing: border-box;
    display: flex;
    position: relative;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 576px;
    height: 3em;
    margin-right: auto;
    margin-left: auto;
    padding: 0 1em;
    overflow: hidden;
    border-radius: 20px;
    background-color: #fff;
    box-shadow: 0 0 1.5em #0000001a;
    font-size: 1.3rem
}

.searchbox #sea-box-hom input {
    width: calc(100% - 1.3em);
    height: 2em;
    border: none;
    font-weight: 400;
    font-size: 2rem
}

.searchbox #sea-box-hom input:focus {
    outline: 0
}

.searchbox #sea-box-hom button {
    position: absolute;
    top: calc(50% - 1.2em);
    right: .5em;
    width: 3em;
    height: 3em;
    border: none;
    outline: none;
    background: none;
    color: #3879d9;
    font-family: FontAwesome;
    cursor: pointer
}

.searchbox #sea-box-hom button span {
    font-size: 1.8em
}

.header {
    display: flex;
    z-index: 10;
    position: relative;
    position: fixed;
    top: 0;
    left: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    background-color: #fff;
    box-shadow: 0 0 20px #0000001a
}

.header h1 {
    width: 120px;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.6rem
}

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

.header .burger {
    z-index: 10;
    position: absolute;
    right: 1.5em;
    width: 22px;
    height: 20px;
    cursor: pointer
}

.header .burger span {
    display: block;
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #000;
    text-align: center;
    transition: .1s ease-in-out
}

.header .burger span:nth-child(1) {
    top: 0;
    left: 0
}

.header .burger span:nth-child(2) {
    top: calc(50% - 1px);
    left: 0
}

.header .burger span:nth-child(3) {
    bottom: 0;
    left: 0
}

.header .burger.active span:nth-child(1) {
    -webkit-transform: rotate(45deg);
    top: calc(50% - 1.5px);
    transform: rotate(45deg)
}

.header .burger.active span:nth-child(2) {
    left: 50%;
    width: 0
}

.header .burger.active span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    top: calc(50% - 1.5px);
    transform: rotate(-45deg)
}

.header .menu {
    display: none;
    z-index: 1;
    position: fixed;
    top: 0;
    left: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: calc(100vh - 50px);
    margin-top: 50px;
    margin-bottom: 0;
    background-color: #000000b3
}

.header .menu.active {
    display: flex
}

.header .menu ul {
    display: flex;
    flex-flow: column;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 260px;
    height: 320px;
    padding: 2em;
    border-radius: 1em;
    background-color: #fff
}

.header .menu ul li a {
    display: block;
    padding-top: 1em;
    padding-bottom: 1em;
    color: #000;
    font-size: 2rem;
    line-height: 1em;
    text-align: center
}

footer {
    padding: 1.5em;
    background-color: #f8fbf8
}

footer .copyright {
    margin-top: 3em;
    margin-bottom: 0;
    font-size: 1.1rem;
    line-height: 1em;
    text-align: center
}

.footermenu {
    width: 100%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    text-align: right
}

.footermenu p {
    width: 150px;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: auto;
    text-align: right
}

.footermenu p img {
    width: 100%;
    height: auto
}

.footermenu ul {
    margin-top: 1em;
    margin-bottom: 0
}

.footermenu ul li {
    margin-top: .5em
}

.footermenu ul li a {
    color: #000;
    font-size: 1.3rem
}

.bnrlist {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin-top: 2em;
    margin-right: auto;
    margin-left: auto
}

.bnrlist li {
    width: calc(50% - .75em);
    margin-top: 1em
}

.bnrlist li a img {
    width: 100%;
    height: auto
}

.bnrlist__main {
    justify-content: center
}

.bnrlist__kyosan {
    justify-content: space-between
}

.bnrlist__shinsai {
    justify-content: space-between;
    max-width: 790px
}

.bnrlist__afca {
    justify-content: center
}

.bunkacho {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    justify-content: space-between;
    height: 100%
}

.bunkacho a {
    display: block;
    z-index: 2;
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%
}

.bunkacho a:hover {
    background-color: #fff3
}

.bunkacho a:nth-child(1) {
    left: 0
}

.bunkacho a:nth-child(2) {
    right: 0
}

.bunkacho img {
    display: block;
    z-index: 0;
    position: relative;
    top: 0;
    left: 0;
    height: auto
}

.bunkacho img:after {
    display: block;
    content: ""
}

.column {
    max-width: 1200px
}

.hero {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    margin-top: 50px
}

#player {
    z-index: -1;
    position: absolute;
    width: 100vw;
    min-width: 1920px;
    height: 56.25vw;
    min-height: 100%;
    max-height: 600px
}

main {
    position: relative;
    padding: 1.5em;
    background-color: #fff
}

.specialbnr {
    display: flex;
    top: 0;
    right: 0;
    left: 0;
    flex-flow: column;
    flex-wrap: wrap;
    justify-content: flex-end;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 0 1.5em;
    text-align: center
}

.specialbnr a {
    display: block;
    width: 100%;
    max-width: 800px;
    margin-right: auto;
    margin-bottom: 1.5em;
    margin-left: auto;
    text-align: center
}

.specialbnr a img {
    width: 100%
}

.specialbnr .end {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    background-color: #000
}

.specialbnr .end span {
    display: flex;
    z-index: 2;
    position: absolute;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    color: #fff;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1em
}

.specialbnr .end img {
    opacity: .25
}

.lead {
    max-width: 800px;
    margin-right: auto;
    margin-left: auto
}

.lead p {
    line-height: 2em;
    text-align: justify
}

.lead .bnr__kizuna {
    margin-top: 5rem
}

.lead .bnr__kizuna a {
    display: block;
    border: .5rem solid #e45920
}

.reportlist,
.reportlist__pages {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1400px;
    margin-right: -1.5em;
    margin-left: -1.5em
}

.reportlist>li,
.reportlist__pages>li {
    display: block;
    position: relative;
    width: 100%;
    height: 66.6666666667%;
    margin-top: 1.5em
}

.reportlist>li a,
.reportlist__pages>li a {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center
}

.reportlist>li a p,
.reportlist__pages>li a p {
    margin: 0;
    padding: 0
}

.reportlist>li a .image,
.reportlist__pages>li a .image {
    z-index: 0;
    position: relative;
    top: 0;
    left: 0;
    overflow: hidden
}

.reportlist>li a .image:after,
.reportlist__pages>li a .image:after {
    display: block;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #0003;
    content: ""
}

.reportlist>li a .image p,
.reportlist__pages>li a .image p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 100%
}

.reportlist>li a .image p img,
.reportlist__pages>li a .image p img {
    width: 100%;
    height: auto
}

.reportlist>li a .date,
.reportlist__pages>li a .date {
    position: absolute;
    bottom: 5.5em;
    width: 100%;
    padding: 0 1em
}

.reportlist>li a .date p,
.reportlist__pages>li a .date p {
    color: #fff
}

.reportlist>li a .category,
.reportlist__pages>li a .category {
    position: absolute;
    top: 0;
    right: 0
}

.reportlist>li a .category p,
.reportlist__pages>li a .category p {
    padding: .5em 2em;
    background-color: #f07800;
    color: #fff;
    font-size: 1.3rem;
    line-height: 1em
}

.reportlist>li a .title,
.reportlist__pages>li a .title {
    display: flex;
    position: absolute;
    bottom: 2.5em;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    padding: 0 1em;
    line-height: 1em
}

.reportlist>li a .title p,
.reportlist__pages>li a .title p {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    overflow: hidden;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.2em
}

.reportlist>li .tags,
.reportlist__pages>li .tags {
    display: flex;
    z-index: 1;
    position: absolute;
    bottom: 1em;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    margin: 0;
    padding: 0 1em
}

.reportlist>li .tags:before,
.reportlist__pages>li .tags:before {
    content: "";
    color: #fff;
    line-height: 1em;
    font-family: Material Symbols Outlined
}

.reportlist>li .tags li,
.reportlist__pages>li .tags li {
    height: 1em;
    margin-left: .5em
}

.reportlist>li .tags li a,
.reportlist__pages>li .tags li a {
    color: #fff;
    font-size: 1.3rem;
    line-height: 1em
}

.reportlist__pages {
    margin-right: 0;
    margin-left: 0
}

.reportlist--hero>li {
    display: block;
    position: relative;
    width: 100%;
    height: 66.6666666667%;
    margin-top: 1.5em;
    overflow: hidden;
    border-radius: 1rem
}

.reportlist--hero>li a {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center
}

.reportlist--hero>li a p {
    margin: 0;
    padding: 0
}

.reportlist--hero>li a .image {
    aspect-ratio: 3/2;
    width: 100%
}

.reportlist--hero>li a .image p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background-color: #000
}

.reportlist--hero>li a .image p img {
    width: 100%;
    height: 100%
}

.reportlist--hero>li a .category {
    position: absolute;
    top: 0;
    right: 0
}

.reportlist--hero>li a .category p {
    padding: .5em 2em;
    background-color: #f07800;
    color: #fff;
    font-size: clamp(1.3rem, 2vw, 1.8rem);
    line-height: 1em
}

.reportlist--hero>li a .spec {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 1em 1em 1.5em;
    background-color: #0000001a;
    font-size: clamp(1.6rem, 3vw, 2.5rem)
}

.reportlist--hero>li a .spec .date {
    bottom: 5.5em;
    width: 100%;
    font-size: clamp(1.6rem, 1.5vw, 1.8rem)
}

.reportlist--hero>li a .spec .date p {
    color: #fff
}

.reportlist--hero>li a .spec .title {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    line-height: 1em
}

.reportlist--hero>li a .spec .title p {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    overflow: hidden;
    color: #fff;
    font-size: clamp(1.6rem, 3vw, 2.5rem);
    line-height: 1.2em
}

.reportlist--hero>li .tags {
    display: flex;
    z-index: 1;
    position: absolute;
    bottom: 1em;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    margin: 0;
    padding: 0 1em
}

.reportlist--hero>li .tags:before {
    content: "";
    color: #fff;
    line-height: 1em;
    font-family: Material Symbols Outlined
}

.reportlist--hero>li .tags li {
    height: 1em;
    margin-left: .5em
}

.reportlist--hero>li .tags li a {
    color: #fff;
    font-size: 1.3rem;
    line-height: 1em
}

.platinumaps {
    width: calc(100% + 3em);
    max-width: 1400px;
    margin-right: -1.5em;
    margin-left: -1.5em;
    overflow: hidden
}

.page__n .platinumaps {
    display: inherit
}

.platinumaps iframe {
    width: 100%;
    height: 500px
}

.prefbox {
    position: relative;
    max-width: 1000px;
    height: 300px;
    margin-top: 4em;
    margin-right: -1.5em;
    margin-left: -1.5em
}

.prefbox h2 {
    /* -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl; */
    z-index: 2;
    position: absolute;
    top: 1em;
    left: 0;
    margin: 0;
    padding: .4em .4em .4em .2em;
    background-color: #fff;
    font-weight: 400;
    font-size: 1.8em;
    line-height: 1em;
    /* writing-mode: vertical-rl */
}

.prefbox figure {
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0
}

.prefbox figure:after {
    display: block;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #0006;
    content: ""
}

.prefbox figure img {
    -o-object-fit: cover;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.prefbox .links {
    position: absolute;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 2em
}

.prefbox .snslist {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    max-width: 400px;
    margin: 1em auto 0
}

.prefbox .snslist li {
    width: calc(20% - 1em);
    max-width: 40px;
    margin-right: 1.15em
}

.prefbox .snslist li:last-child {
    margin-right: 0
}

.prefbox .snslist li a img {
    width: 100%;
    height: auto
}

.newslists {
    margin-bottom: 6rem;
    padding-top: 6rem
}

.newslists.mara {
    padding-top: 0
}

.newslists.mara ul {
    margin-top: 0
}

.newslists ul {
    width: 100%;
    max-width: 992px;
    margin-top: 4rem;
    margin-right: auto;
    margin-bottom: 4rem;
    margin-left: auto
}

.newslists ul li {
    border-bottom: 1px solid rgba(0, 0, 0, .1)
}

.newslists ul li:last-child {
    border-bottom: none
}

.newslists ul li a {
    display: block;
    padding-top: 2rem;
    padding-bottom: 2rem;
    color: #000;
    font-size: 1.6rem
}

.newslists ul li a span {
    display: block
}

.newslists ul li a .image p {
    background-color: #000
}

.newslists ul li a .date {
    margin-bottom: 1rem
}

.newslists ul li a .text {
    color: #f07800
}

.bg__gray {
    background-color: #f8fbf8
}

.categorylist {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 0
}

.categorylist li {
    margin-top: 1.5em;
    margin-right: 1em
}

.categorylist li a {
    display: block;
    padding: .7em 1.5em;
    border: 1px solid #000;
    color: #000;
    line-height: 1em
}

.categorylist li a:hover {
    background-color: #000;
    color: #fff;
    opacity: 1
}

.pagenation {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1200px;
    margin: 3em auto
}

.pagenation li {
    margin-left: .5em
}

.pagenation li a,
.pagenation li span {
    display: flex;
    display: block;
    position: relative;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 3em;
    padding: 1em 1.5em;
    border: 1px solid #000;
    color: #000;
    line-height: 1em
}

.pagenation li a.current,
.pagenation li span.current,
.pagenation li a:hover,
.pagenation li span:hover {
    background-color: #000;
    color: #fff
}

.pagenation li a.prev,
.pagenation li a.next,
.pagenation li span.prev,
.pagenation li span.next {
    padding: 1em;
    border: none
}

.pagenation li a.prev:after,
.pagenation li a.next:after,
.pagenation li span.prev:after,
.pagenation li span.next:after {
    -webkit-transform: skew(-45deg);
    display: block;
    width: 20px;
    height: 5px;
    margin-top: 2px;
    transform: skew(-45deg);
    border-bottom: solid 1px;
    border-left: solid 1px;
    content: ""
}

.pagenation li a.next:after,
.pagenation li span.next:after {
    -webkit-transform: skew(45deg);
    transform: skew(45deg);
    border-right: solid 1px;
    border-bottom: solid 1px;
    border-left: none
}

.letterhead {
    margin-bottom: 3em
}

.letterhead .title {
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1.6em
}

.letterbody p {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    line-height: 2.4em;
    text-indent: 1em
}

.letterbody p.leadcopy {
    position: relative;
    margin-top: 2em;
    margin-bottom: 2em;
    font-size: 1.8rem;
    line-height: 1.8em;
    text-indent: 0
}

.letterbody p.leadcopy:after {
    display: block;
    width: 2em;
    margin-top: 1em;
    margin-right: auto;
    margin-left: auto;
    border-bottom: 1px solid #000;
    content: ""
}

.letterbody figure {
    margin-right: -1.5em;
    margin-bottom: 0;
    margin-left: -1.5em
}

.letterbody figure figcaption {
    margin: .5em 1.5em;
    font-size: 1.3rem;
    text-align: right
}

.letterbody figure.photo2 {
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0
}

.letterbody .column2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.letterbody .column2>div {
    width: 100%
}

.letterbody .column2>div:nth-child(2) {
    margin-top: 1.5em
}

.letterbody .column2>div img {
    width: 100%;
    height: auto
}

.letterspot {
    width: 100%;
    max-width: 992px;
    margin-right: auto;
    margin-left: auto;
    padding: 1.5em 2em;
    background-image: linear-gradient(0deg, transparent .7em, #000 .7em, #000 calc(100% - .7em), transparent calc(100% - .7em)), linear-gradient(90deg, transparent .7em, #000 .7em, #000 calc(100% - .7em), transparent calc(100% - .7em)), linear-gradient(180deg, transparent .7em, #000 .7em, #000 calc(100% - .7em), transparent calc(100% - .7em)), linear-gradient(270deg, transparent .7em, #000 .7em, #000 calc(100% - .7em), transparent calc(100% - .7em));
    background-position: 0 0, 0 0, 100% 0, 0 100%;
    background-size: 1px 100%, 100% 1px, 1px 100%, 100% 1px;
    background-repeat: no-repeat
}

.letterspot h4:before {
    content: "";
    line-height: 1em;
    font-family: Material Symbols Outlined
}

.letterspot figure {
    max-width: min(310px, 50%);
    margin: 0 auto
}

.letterspot figure img {
    width: 100%;
    height: auto
}

.letterspot .spotinfo {
    position: relative;
    margin-top: 1.5em
}

.letterspot .spotinfo p {
    line-height: 1em
}

.letterspot .spotinfo .name {
    margin-top: 0;
    font-size: 1.8rem;
    line-height: 1.4em
}

.letterspot .spotinfo .address:before {
    margin-right: .5em;
    content: "";
    content: "";
    font-family: Material Symbols Outlined
}

.letterspot .spotinfo .tel:before {
    margin-right: .5em;
    content: "";
    content: "";
    font-family: Material Symbols Outlined
}

.letterspot .spotinfo .btn__n--white a {
    margin-right: inherit;
    margin-left: inherit
}

.letterwriter {
    position: relative;
    width: 100%;
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
    padding: 2.5em 2em;
    background-color: #f2f2f2
}

.letterwriter .tit__4--lettermeta {
    position: absolute;
    top: -.5em;
    width: 10em
}

.letterwriter .profile .degree {
    margin-bottom: 0;
    font-size: 1.3rem;
    line-height: 1em
}

.letterwriter .profile .name {
    margin-top: .5em;
    margin-bottom: 0;
    font-size: 2.4rem;
    line-height: 1em
}

.letterwriter .text {
    margin-top: 1em
}

.letterwriter .text p {
    margin-bottom: 0
}

.letterwriter .text p:first-child,
.recommendspot {
    margin-top: 0
}

.recommendspot li a {
    color: #000
}

.recommendspot li a figure {
    margin: 0
}

.recommendspot li a .name {
    margin-top: .5em;
    margin-bottom: 0;
    font-size: 1.8rem;
    line-height: 1.4em
}

.recommendspot li a .address {
    margin-top: 0
}

.recommendspot li a .address:before {
    margin-right: .5em;
    content: "";
    content: "";
    font-family: Material Symbols Outlined
}

.preflist {
    margin-top: 0
}

.preflist li {
    margin-top: 3em
}

.preflist li a {
    color: #000
}

.preflist li a figure {
    position: relative;
    margin: 0
}

.preflist li a figure img {
    z-index: 0;
    position: relative;
    width: 100%;
    height: auto
}

.preflist li a figure figcaption {
    z-index: 1;
    position: absolute;
    bottom: -1em;
    left: 0;
    padding: .5em 1em;
    background-color: #fff;
    font-size: 2.2rem;
    line-height: 1em
}

.timeline {
    list-style: none
}

.timeline .lists {
    margin-left: 3em;
    border-left: 1px solid #000;
    font-size: 1.6rem
}

.timeline .lists li {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0 0 3em 1em
}

.timeline .lists li:last-child {
    padding: 0 0 0 1em
}

.timeline .lists li:after {
    display: block;
    position: absolute;
    top: .3em;
    left: -.45em;
    width: .8em;
    height: .8em;
    border: 1px solid #000;
    border-radius: .5em;
    background-color: #fff;
    content: ""
}

.timeline .lists li:before {
    display: block;
    position: absolute;
    top: .65em;
    left: 0;
    width: .8em;
    height: 0;
    border-bottom: 1px solid #000;
    background: #000;
    content: ""
}

.timeline .lists li .date {
    position: absolute;
    top: .2em;
    left: -4em;
    width: 3em;
    margin: 0;
    color: #000;
    line-height: 1em;
    text-align: right
}

.timeline .lists li .name {
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.6em
}

.timeline .lists li .text {
    font-size: 1.6rem
}

.timeline .lists li .yt {
    position: relative;
    width: 100%;
    padding-top: 56.25%
}

.timeline .lists li .yt iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important
}

.timeline .lists li .yt video {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    border: none;
    outline: none
}

.timeline .lists li table {
    width: 100%;
    margin-top: 1.5em
}

.timeline .lists li table tr th,
.timeline .lists li table tr td {
    display: block;
    padding-top: .5em;
    padding-bottom: .5em;
    border-bottom: 1px solid #333;
    font-size: 1.6rem;
    vertical-align: top
}

.timeline .lists li table tr th {
    border-bottom: none
}

.timeline .lists li table tr:last-child th,
.timeline .lists li table tr:last-child td {
    border-bottom: none
}

.ucs {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50vh;
    font-size: 5rem;
    text-align: center
}

.learnbox {
    margin-right: auto;
    margin-left: auto
}

.learnbox h3 {
    margin-top: 2em;
    font-size: 2.5rem
}

.learnbox h4 {
    margin-top: 2em;
    padding: .8em 0;
    border: solid #000;
    border-width: 1px 0;
    font-size: 2rem;
    line-height: 1em
}

.learnbox h4:before {
    display: block;
    height: 1em;
    margin-right: .8em;
    float: left;
    border-left: solid 5px #e45920;
    content: ""
}

.learnbox p {
    line-height: 1.8em;
    text-align: justify
}

.learnbox figure {
    width: 100%;
    max-width: 800px;
    margin-top: 5em;
    margin-right: auto;
    margin-left: auto;
    padding: 0
}

.learnbox figure img {
    width: 100%;
    height: auto
}

.learnbox figure figcaption {
    margin-top: 1em
}

.learnbox .col2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start
}

.learnbox .col2 .yt iframe {
    width: 100%
}

.learnbox .col2 .yt video {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    border: none;
    outline: none
}

.learnbox .col2 .links li {
    margin-bottom: 1em
}

.learnbox .col2 p,
.learnbox .col2 div {
    width: 100%
}

.learnbox .col2 div figure {
    width: 100%;
    margin-top: 0
}

.learnbox .col2.rev {
    flex-direction: row-reverse
}

.learnbox .nazotitle {
    margin: 2em 0 1em;
    color: #e45920;
    font-weight: 700;
    font-size: 3rem;
    line-height: 3.6rem;
    text-align: center
}

.learnbox .learnbt {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 1.5em 0 0;
    padding: 0 2px
}

.learnbox .learnbt li {
    position: relative;
    width: calc(50% - 1px);
    margin: 0 0 2px;
    padding: 0
}

.learnbox .learnbt li a {
    display: block;
    position: relative;
    overflow: hidden
}

.learnbox .learnbt li a .name {
    display: flex;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #fff;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.5em;
    text-align: center
}

.learnbox .learnbt li a .img {
    z-index: 0;
    position: relative;
    width: 100%
}

.learnbox .learnbt li a .img img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
    opacity: .5;
    transition-duration: .7s
}

.learnbox .learnbt li a:hover .img img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    transition-duration: .7s
}

.learnbox .lbt {
    margin-top: 3em
}

.learnbox .lbt a {
    display: block;
    max-width: 600px;
    margin-right: auto;
    margin-left: auto;
    padding: 1em;
    border-radius: .5em;
    background: #e45920;
    color: #fff;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.2em;
    text-align: center
}

.learnbox .lbt a:hover {
    opacity: .8
}

.learnbox .fesspec {
    font-size: 1.2em
}

.learnbox .fesspec dt {
    margin-bottom: .5em;
    color: #e45920
}

.learnbox .fesspec dt span {
    margin-right: .5em;
    color: #e45920;
    line-height: 1em;
    vertical-align: top
}

.learnbox .fesspec dd {
    margin: 0 0 2em
}

.learnbox .fesfacilities {
    max-width: 800px
}

.learnbox .fesfacilities h4 {
    margin-top: 0;
    padding: .5em;
    border: none;
    border-radius: 100vh;
    background-color: #e45920;
    color: #fff;
    font-size: 1.6rem;
    line-height: 1em;
    text-align: center
}

.learnbox .fesfacilities h4:before {
    display: none
}

.learnbox .fesfacilities ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1em
}

.learnbox .fesfacilities ul li {
    width: 30%
}

.learnbox .fesfacilities ul li p {
    color: #e45920;
    text-align: center
}

.texts ul {
    padding: 0
}

.texts ul li {
    margin-bottom: 40px
}

.texts ul li img {
    width: calc(100% + 3em);
    height: auto;
    margin-right: -1.5em;
    margin-left: -1.5em
}

.texts ul li h3 {
    font-size: 2.4rem
}

.texts ul li p {
    line-height: 1.8em
}

.texts ul li table {
    width: 100%;
    margin-top: 2em;
    border-top: 1px #000 solid
}

.texts ul li table tr {
    border-bottom: 1px #000 solid
}

.texts ul li table th,
.texts ul li table td {
    font-size: 1.4rem;
    vertical-align: top
}

.texts ul li table th {
    width: 20%;
    padding: .5em 0 0;
    font-weight: 700;
    text-align: left
}

.texts ul li table td {
    padding: .5em 0
}

.linkblc>div h3 {
    width: 100%;
    margin-top: 3em;
    margin-bottom: 0
}

.linkblc>div p {
    margin-top: 1.5em;
    margin-bottom: 0
}

.quiz {
    margin-top: 2em;
    margin-bottom: 6em
}

.quiz ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: -1.5em auto 0
}

.quiz ul li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: calc(100% - 1em);
    margin-top: .5em;
    padding: 1em;
    border: 2px solid #e45920;
    background: #ffffff
}

.quiz ul li .inner {
    width: 100%
}

.quiz ul li .q {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin-top: 0;
    margin-bottom: 0;
    color: #000;
    font-weight: 700;
    font-size: clamp(1.8rem, 1.5vw, 2rem);
    line-height: 1.4em;
    font-family: serif
}

.quiz ul li .btnA {
    margin-top: .5em;
    margin-bottom: 0
}

.quiz ul li .btnA a {
    display: block;
    width: 50%;
    margin-right: auto;
    margin-left: auto;
    padding: .5em 1em;
    border-radius: 100vh;
    background: #000;
    color: #fff;
    font-size: 1.3rem;
    line-height: 1em;
    text-align: center;
    cursor: pointer;
    transition: all .2s ease
}

.quiz ul li .btnA a:hover {
    opacity: .8
}

.quiz ul li .btnB {
    margin-bottom: 0
}

.quiz ul li .btnB a {
    display: block;
    width: calc(100% - 2em);
    margin-right: auto;
    margin-left: auto;
    padding: .5em 1em;
    border-radius: 100vh;
    background: #e45920;
    color: #fff;
    line-height: 1em;
    text-align: center;
    cursor: pointer;
    transition: all .2s ease
}

.quiz ul li .btnB a:hover {
    opacity: .8
}

.quiz ul li .answer {
    display: none;
    color: #000
}

.quiz ul li .answer .a {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    margin: 0;
    border-bottom: 2px solid #e45920;
    color: #e45920;
    font-weight: 700;
    font-size: 4rem;
    font-family: serif;
    text-align: center
}

.quiz ul li .answer .a span {
    margin-right: 1em;
    font-size: 50%
}

.quiz ul li .answer .a.mini {
    padding: .5em 0;
    font-size: 2rem;
    line-height: 1em
}

.stamprally {
    max-width: 1200px;
    margin-right: -1.5em;
    margin-left: -1.5em;
    padding-bottom: 1.5em;
    background-color: #f3d647
}

.stamprally .big {
    padding: 1.6rem;
    font-weight: 700;
    font-size: 2rem;
    text-align: left
}

.stamprally .btn__n--white--blank {
    padding-right: 1.5em;
    padding-left: 1.5em
}

.stamprally .btn__n--white--blank a {
    max-width: 600px;
    padding: 1em;
    border: 4px solid #000;
    background: #ffffff;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1em
}

.stamprally .platinumaps {
    display: block;
    width: calc(100% - 3em);
    margin-right: 1.5em;
    margin-left: 1.5em;
    border-radius: 1em;
    box-shadow: 0 0 2em #0003
}

.stamprally h3 {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    text-align: center
}

.stamprally h3.end {
    background-color: #000
}

.stamprally h3.end img {
    opacity: .25
}

.stamprally h3 span {
    z-index: 2;
    position: absolute;
    padding: 2em;
    color: #fff;
    font-size: clamp(1.5rem, 4.7vw, 4.5rem)
}

.stamprally h3 img {
    width: 100%;
    height: auto
}

.stamprally .yokoku {
    margin: 0 0 1em;
    padding: 0 1.5rem;
    color: #1f2a66;
    font-weight: 700;
    font-size: 3rem;
    line-height: 1.3em;
    text-align: center
}

.stamprally .yokoku span {
    font-size: 60%
}

.stamprally .present {
    padding: 1.5em
}

.stamprally .steps {
    margin-right: 1.5em;
    margin-left: 1.5em;
    padding: 1.5em;
    background-image: linear-gradient(0deg, transparent .7em, #000 .7em, #000 calc(100% - .7em), transparent calc(100% - .7em)), linear-gradient(90deg, transparent .7em, #000 .7em, #000 calc(100% - .7em), transparent calc(100% - .7em)), linear-gradient(180deg, transparent .7em, #000 .7em, #000 calc(100% - .7em), transparent calc(100% - .7em)), linear-gradient(270deg, transparent .7em, #000 .7em, #000 calc(100% - .7em), transparent calc(100% - .7em));
    background-position: 0 0, 0 0, 100% 0, 0 100%;
    background-size: 2px 100%, 100% 2px, 2px 100%, 100% 2px;
    background-repeat: no-repeat;
    background-color: #fff
}

.stamprally .steps h4 {
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: .5em;
    border-bottom: 2px solid #000;
    font-size: 2rem;
    line-height: 1em
}

.stamprally .steps ul {
    margin-bottom: 0
}

.stamprally .steps ul li {
    position: relative;
    padding-top: 2em;
    padding-bottom: 2em;
    border-top: 2px solid #000
}

.stamprally .steps ul li:after {
    display: block;
    position: absolute;
    top: 0;
    left: calc(50% - 1em);
    width: 1em;
    height: 1em;
    border-width: 1.5em 1em 0 1em;
    border-style: solid;
    border-color: #000 transparent transparent transparent;
    content: ""
}

.stamprally .steps ul li:first-child {
    padding-top: 0;
    border-top: none
}

.stamprally .steps ul li:first-child:after {
    display: none
}

.stamprally .steps ul li:last-child {
    padding-bottom: 0
}

.stamprally .steps ul li p:first-child {
    margin-top: 0;
    font-size: 1.6rem;
    line-height: 1.6em
}

.stamprally .steps ul li .img {
    width: 100%;
    text-align: center
}

.stamprally .steps ul li .img img {
    width: auto;
    max-height: 165px
}

.stamprally .presentlist {
    margin-right: 1.5em;
    margin-left: 1.5em
}

.stamprally .presentlist li {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 2em
}

.stamprally .presentlist li .stamp {
    width: 7em;
    margin: 0
}

.stamprally .presentlist li .stamp img {
    width: 100%;
    height: auto
}

.stamprally .presentlist li .text {
    width: calc(100% - 8.5em)
}

.stamprally .presentlist li .text p {
    width: 100%;
    margin-top: 1em;
    margin-bottom: 0;
    line-height: 1.6em
}

.stamprally .presentlist li .text p.tag {
    margin-top: 0;
    padding-bottom: .5em;
    border-bottom: 1px solid #000;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1em
}

.stamprally .presentlist li .text .itemlist {
    margin-top: 1em;
    margin-bottom: 1em
}

.stamprally .presentlist li .text .itemlist li {
    display: block;
    margin-top: .5em;
    margin-bottom: 0;
    padding-bottom: .5em;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    font-weight: 700;
    font-size: 1.6rem
}

.stamprally .presentlist li .text .itemlist li ruby {
    display: inline;
    text-align: left
}

.stamprally .presentlist li .text .itemlist li ruby rt {
    text-align: left
}

.stamprally .presentlist li .text .images {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin-top: 1em
}

.stamprally .presentlist li .text .images figure {
    width: calc(50% - .75em);
    margin: 0
}

.stamprally .presentlist li .text .images figure img {
    width: 100%;
    height: auto;
    overflow: hidden;
    border-radius: 100vh
}

.stamprally .presentlist li .text .images figure figcaption {
    margin-top: .5em;
    font-size: 1.3rem;
    text-align: center
}

.stamprally .completelist {
    margin-right: 1.5em;
    margin-left: 1.5em
}

.stamprally .completelist li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between
}

.stamprally .completelist li .stamp {
    width: 4em
}

.stamprally .completelist li .stamp img {
    width: 100%;
    height: auto
}

.stamprally .completelist li .text {
    width: calc(100% - 5.5em)
}

.stamprally .completelist li .text p {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.6em
}

.stamprally .kitai {
    margin-right: 1.5rem;
    margin-bottom: 0;
    margin-left: 1.5rem;
    font-weight: 700;
    font-size: 3rem
}

.stamprally .notice {
    margin-right: 1.5em;
    margin-left: 1.5em
}

.stamprally .caution {
    margin-top: 2em;
    margin-right: 1.5em;
    margin-left: 1.5em;
    padding: 1em;
    border: 1px solid #000;
    background-color: #ffffffe6
}

.stamprally .caution p {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 1em;
    text-indent: -1em
}

.maxw {
    max-width: 1200px
}

.maxwl {
    max-width: 992px
}

.mara {
    margin-right: auto;
    margin-left: auto
}

.btn__n--whitetransparent--blank a,
.btn__n--whitetransparent a,
.btn__n--white--arrowup a,
.btn__n--white--arrowdown a,
.btn__n--white--blank a,
.btn__n--white a,
.btn__n--black--blank a,
.btn__n--black a {
    display: block;
    display: flex;
    position: relative;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    max-width: 400px;
    margin-right: auto;
    margin-left: auto;
    padding: 1.5em;
    font-size: 1.3rem;
    line-height: 1em;
    text-align: center
}

.btn__n--whitetransparent--blank a:after,
.btn__n--whitetransparent a:after,
.btn__n--white--arrowup a:after,
.btn__n--white--arrowdown a:after,
.btn__n--white--blank a:after,
.btn__n--white a:after,
.btn__n--black--blank a:after,
.btn__n--black a:after {
    -webkit-transform: skew(45deg);
    display: block;
    position: absolute;
    right: 1.5em;
    width: 20px;
    height: 5px;
    margin-top: -4px;
    transform: skew(45deg);
    border-right: solid 1px;
    border-bottom: solid 1px;
    content: ""
}

.btn__n--whitetransparent--blank a:after,
.btn__n--white--blank a:after,
.btn__n--black--blank a:after {
    -webkit-transform: initial;
    display: block;
    position: absolute;
    right: 1.5em;
    width: inherit;
    height: inherit;
    margin-top: 0;
    transform: initial;
    border-right: none;
    border-bottom: none;
    content: "";
    font-family: Material Symbols Outlined
}

.btn__n--white--arrowdown a:after {
    -webkit-transform: initial;
    display: block;
    position: absolute;
    right: 1.5em;
    width: inherit;
    height: inherit;
    margin-top: 0;
    transform: initial;
    border-right: none;
    border-bottom: none;
    content: "";
    font-family: Material Symbols Outlined
}

.btn__n--white--arrowup a:after {
    -webkit-transform: initial;
    display: block;
    position: absolute;
    right: 1.5em;
    width: inherit;
    height: inherit;
    margin-top: 0;
    transform: initial;
    border-right: none;
    border-bottom: none;
    content: "";
    font-family: Material Symbols Outlined
}

.btn__n--black a {
    border-color: #fff;
    background-color: #000;
    color: #fff
}

.btn__n--black--blank a {
    border: 1px solid #ffffff;
    border-color: #000;
    background-color: #000;
    color: #fff
}

.btn__n--white a {
    border: 1px solid #000;
    border-color: #000;
    background-color: #fff;
    color: #000
}

.btn__n--white--blank a {
    border: 1px solid #000;
    border-color: #000;
    background-color: transparent;
    color: #000
}

.btn__n--white--arrowdown a,
.btn__n--white--arrowup a {
    border: 1px solid #000;
    border-color: #000;
    background-color: transparent;
    color: #000;
    cursor: pointer
}

.btn__n--whitetransparent a,
.btn__n--whitetransparent--blank a {
    border: 1px solid #ffffff;
    border-color: #fff;
    background-color: transparent;
    color: #fff
}

.btn--wmax a {
    max-width: 100%;
    padding-right: 3em;
    background-color: #fff;
    line-height: 1.4em
}

.tit__2--p,
.tit__2--n {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 2.2rem;
    line-height: 1em
}

.tit__3--p,
.tit__3--n {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.8rem;
    line-height: 1em
}

.tit__2--n {
    font-weight: 400;
    text-align: center
}

.tit__2--p {
    margin-top: 1em;
    margin-bottom: 2em;
    font-weight: 400
}

.tit__2--p:after {
    display: block;
    width: 4em;
    margin-top: .8em;
    border-bottom: 1px solid #000;
    content: ""
}

.tit__3--n {
    font-weight: 400
}

.tit__3--p {
    margin-top: 1em;
    margin-bottom: 2em;
    font-weight: 400
}

.tit__3--p:after {
    display: block;
    width: 4em;
    margin-top: .8em;
    border-bottom: 1px solid #000;
    content: ""
}

.tit__4--n {
    width: 100%;
    margin-top: 0;
    margin-bottom: 1em;
    font-size: 1.8rem
}

.tit__4--c {
    width: 100%;
    margin-top: 0;
    margin-bottom: 1em;
    font-size: 1.8rem;
    text-align: center
}

.tit__4--lettermeta {
    width: 100%;
    margin-top: 0;
    margin-bottom: 1em;
    font-size: 1.8rem
}

.blc__n {
    padding-bottom: 8em
}

.bold {
    font-weight: 700
}

.big {
    font-size: 150%
}

.notice {
    margin-top: 0;
    padding-left: 1em;
    font-size: 80%;
    line-height: 1.4em;
    text-indent: -1em
}

.up {
    font-size: 50%;
    vertical-align: super
}

.cf:after {
    display: block;
    clear: both;
    content: ""
}

.clear {
    clear: both
}

.t__c {
    text-align: center
}

.t__l {
    text-align: left
}

.t__r {
    text-align: right
}

.t__j {
    text-align: justify
}

.mt1 {
    margin-top: 1em
}

.mb1,
.ml1,
.mr1 {
    margin-bottom: 1em
}

.mt1p {
    margin-top: 1px
}

.mb1p,
.ml1p,
.mr1p {
    margin-bottom: 1px
}

.mt2 {
    margin-top: 2em
}

.mb2,
.ml2,
.mr2 {
    margin-bottom: 2em
}

.mt2p {
    margin-top: 2px
}

.mb2p,
.ml2p,
.mr2p {
    margin-bottom: 2px
}

.mt3 {
    margin-top: 3em
}

.mb3,
.ml3,
.mr3 {
    margin-bottom: 3em
}

.mt3p {
    margin-top: 3px
}

.mb3p,
.ml3p,
.mr3p {
    margin-bottom: 3px
}

.mt4 {
    margin-top: 4em
}

.mb4,
.ml4,
.mr4 {
    margin-bottom: 4em
}

.mt4p {
    margin-top: 4px
}

.mb4p,
.ml4p,
.mr4p {
    margin-bottom: 4px
}

.mt5 {
    margin-top: 5em
}

.mb5,
.ml5,
.mr5 {
    margin-bottom: 5em
}

.mt5p {
    margin-top: 5px
}

.mb5p,
.ml5p,
.mr5p {
    margin-bottom: 5px
}

.mt6 {
    margin-top: 6em
}

.mb6,
.ml6,
.mr6 {
    margin-bottom: 6em
}

.mt6p {
    margin-top: 6px
}

.mb6p,
.ml6p,
.mr6p {
    margin-bottom: 6px
}

.mt7 {
    margin-top: 7em
}

.mb7,
.ml7,
.mr7 {
    margin-bottom: 7em
}

.mt7p {
    margin-top: 7px
}

.mb7p,
.ml7p,
.mr7p {
    margin-bottom: 7px
}

.mt8 {
    margin-top: 8em
}

.mb8,
.ml8,
.mr8 {
    margin-bottom: 8em
}

.mt8p {
    margin-top: 8px
}

.mb8p,
.ml8p,
.mr8p {
    margin-bottom: 8px
}

.mt9 {
    margin-top: 9em
}

.mb9,
.ml9,
.mr9 {
    margin-bottom: 9em
}

.mt9p {
    margin-top: 9px
}

.mb9p,
.ml9p,
.mr9p {
    margin-bottom: 9px
}

.mt10 {
    margin-top: 10em
}

.mb10,
.ml10,
.mr10 {
    margin-bottom: 10em
}

.mt10p {
    margin-top: 10px
}

.mb10p,
.ml10p,
.mr10p {
    margin-bottom: 10px
}

.mt11 {
    margin-top: 11em
}

.mb11,
.ml11,
.mr11 {
    margin-bottom: 11em
}

.mt11p {
    margin-top: 11px
}

.mb11p,
.ml11p,
.mr11p {
    margin-bottom: 11px
}

.mt12 {
    margin-top: 12em
}

.mb12,
.ml12,
.mr12 {
    margin-bottom: 12em
}

.mt12p {
    margin-top: 12px
}

.mb12p,
.ml12p,
.mr12p {
    margin-bottom: 12px
}

.mt13 {
    margin-top: 13em
}

.mb13,
.ml13,
.mr13 {
    margin-bottom: 13em
}

.mt13p {
    margin-top: 13px
}

.mb13p,
.ml13p,
.mr13p {
    margin-bottom: 13px
}

.mt14 {
    margin-top: 14em
}

.mb14,
.ml14,
.mr14 {
    margin-bottom: 14em
}

.mt14p {
    margin-top: 14px
}

.mb14p,
.ml14p,
.mr14p {
    margin-bottom: 14px
}

.mt15 {
    margin-top: 15em
}

.mb15,
.ml15,
.mr15 {
    margin-bottom: 15em
}

.mt15p {
    margin-top: 15px
}

.mb15p,
.ml15p,
.mr15p {
    margin-bottom: 15px
}

.mt16 {
    margin-top: 16em
}

.mb16,
.ml16,
.mr16 {
    margin-bottom: 16em
}

.mt16p {
    margin-top: 16px
}

.mb16p,
.ml16p,
.mr16p {
    margin-bottom: 16px
}

.mt17 {
    margin-top: 17em
}

.mb17,
.ml17,
.mr17 {
    margin-bottom: 17em
}

.mt17p {
    margin-top: 17px
}

.mb17p,
.ml17p,
.mr17p {
    margin-bottom: 17px
}

.mt18 {
    margin-top: 18em
}

.mb18,
.ml18,
.mr18 {
    margin-bottom: 18em
}

.mt18p {
    margin-top: 18px
}

.mb18p,
.ml18p,
.mr18p {
    margin-bottom: 18px
}

.mt19 {
    margin-top: 19em
}

.mb19,
.ml19,
.mr19 {
    margin-bottom: 19em
}

.mt19p {
    margin-top: 19px
}

.mb19p,
.ml19p,
.mr19p {
    margin-bottom: 19px
}

.mt20 {
    margin-top: 20em
}

.mb20,
.ml20,
.mr20 {
    margin-bottom: 20em
}

.mt20p {
    margin-top: 20px
}

.mb20p,
.ml20p,
.mr20p {
    margin-bottom: 20px
}

.mt21 {
    margin-top: 21em
}

.mb21,
.ml21,
.mr21 {
    margin-bottom: 21em
}

.mt21p {
    margin-top: 21px
}

.mb21p,
.ml21p,
.mr21p {
    margin-bottom: 21px
}

.mt22 {
    margin-top: 22em
}

.mb22,
.ml22,
.mr22 {
    margin-bottom: 22em
}

.mt22p {
    margin-top: 22px
}

.mb22p,
.ml22p,
.mr22p {
    margin-bottom: 22px
}

.mt23 {
    margin-top: 23em
}

.mb23,
.ml23,
.mr23 {
    margin-bottom: 23em
}

.mt23p {
    margin-top: 23px
}

.mb23p,
.ml23p,
.mr23p {
    margin-bottom: 23px
}

.mt24 {
    margin-top: 24em
}

.mb24,
.ml24,
.mr24 {
    margin-bottom: 24em
}

.mt24p {
    margin-top: 24px
}

.mb24p,
.ml24p,
.mr24p {
    margin-bottom: 24px
}

.mt25 {
    margin-top: 25em
}

.mb25,
.ml25,
.mr25 {
    margin-bottom: 25em
}

.mt25p {
    margin-top: 25px
}

.mb25p,
.ml25p,
.mr25p {
    margin-bottom: 25px
}

.mt26 {
    margin-top: 26em
}

.mb26,
.ml26,
.mr26 {
    margin-bottom: 26em
}

.mt26p {
    margin-top: 26px
}

.mb26p,
.ml26p,
.mr26p {
    margin-bottom: 26px
}

.mt27 {
    margin-top: 27em
}

.mb27,
.ml27,
.mr27 {
    margin-bottom: 27em
}

.mt27p {
    margin-top: 27px
}

.mb27p,
.ml27p,
.mr27p {
    margin-bottom: 27px
}

.mt28 {
    margin-top: 28em
}

.mb28,
.ml28,
.mr28 {
    margin-bottom: 28em
}

.mt28p {
    margin-top: 28px
}

.mb28p,
.ml28p,
.mr28p {
    margin-bottom: 28px
}

.mt29 {
    margin-top: 29em
}

.mb29,
.ml29,
.mr29 {
    margin-bottom: 29em
}

.mt29p {
    margin-top: 29px
}

.mb29p,
.ml29p,
.mr29p {
    margin-bottom: 29px
}

.mt30 {
    margin-top: 30em
}

.mb30,
.ml30,
.mr30 {
    margin-bottom: 30em
}

.mt30p {
    margin-top: 30px
}

.mb30p,
.ml30p,
.mr30p {
    margin-bottom: 30px
}

.mt31 {
    margin-top: 31em
}

.mb31,
.ml31,
.mr31 {
    margin-bottom: 31em
}

.mt31p {
    margin-top: 31px
}

.mb31p,
.ml31p,
.mr31p {
    margin-bottom: 31px
}

.mt32 {
    margin-top: 32em
}

.mb32,
.ml32,
.mr32 {
    margin-bottom: 32em
}

.mt32p {
    margin-top: 32px
}

.mb32p,
.ml32p,
.mr32p {
    margin-bottom: 32px
}

.mt33 {
    margin-top: 33em
}

.mb33,
.ml33,
.mr33 {
    margin-bottom: 33em
}

.mt33p {
    margin-top: 33px
}

.mb33p,
.ml33p,
.mr33p {
    margin-bottom: 33px
}

.mt34 {
    margin-top: 34em
}

.mb34,
.ml34,
.mr34 {
    margin-bottom: 34em
}

.mt34p {
    margin-top: 34px
}

.mb34p,
.ml34p,
.mr34p {
    margin-bottom: 34px
}

.mt35 {
    margin-top: 35em
}

.mb35,
.ml35,
.mr35 {
    margin-bottom: 35em
}

.mt35p {
    margin-top: 35px
}

.mb35p,
.ml35p,
.mr35p {
    margin-bottom: 35px
}

.mt36 {
    margin-top: 36em
}

.mb36,
.ml36,
.mr36 {
    margin-bottom: 36em
}

.mt36p {
    margin-top: 36px
}

.mb36p,
.ml36p,
.mr36p {
    margin-bottom: 36px
}

.mt37 {
    margin-top: 37em
}

.mb37,
.ml37,
.mr37 {
    margin-bottom: 37em
}

.mt37p {
    margin-top: 37px
}

.mb37p,
.ml37p,
.mr37p {
    margin-bottom: 37px
}

.mt38 {
    margin-top: 38em
}

.mb38,
.ml38,
.mr38 {
    margin-bottom: 38em
}

.mt38p {
    margin-top: 38px
}

.mb38p,
.ml38p,
.mr38p {
    margin-bottom: 38px
}

.mt39 {
    margin-top: 39em
}

.mb39,
.ml39,
.mr39 {
    margin-bottom: 39em
}

.mt39p {
    margin-top: 39px
}

.mb39p,
.ml39p,
.mr39p {
    margin-bottom: 39px
}

.mt40 {
    margin-top: 40em
}

.mb40,
.ml40,
.mr40 {
    margin-bottom: 40em
}

.mt40p {
    margin-top: 40px
}

.mb40p,
.ml40p,
.mr40p {
    margin-bottom: 40px
}

.mt41 {
    margin-top: 41em
}

.mb41,
.ml41,
.mr41 {
    margin-bottom: 41em
}

.mt41p {
    margin-top: 41px
}

.mb41p,
.ml41p,
.mr41p {
    margin-bottom: 41px
}

.mt42 {
    margin-top: 42em
}

.mb42,
.ml42,
.mr42 {
    margin-bottom: 42em
}

.mt42p {
    margin-top: 42px
}

.mb42p,
.ml42p,
.mr42p {
    margin-bottom: 42px
}

.mt43 {
    margin-top: 43em
}

.mb43,
.ml43,
.mr43 {
    margin-bottom: 43em
}

.mt43p {
    margin-top: 43px
}

.mb43p,
.ml43p,
.mr43p {
    margin-bottom: 43px
}

.mt44 {
    margin-top: 44em
}

.mb44,
.ml44,
.mr44 {
    margin-bottom: 44em
}

.mt44p {
    margin-top: 44px
}

.mb44p,
.ml44p,
.mr44p {
    margin-bottom: 44px
}

.mt45 {
    margin-top: 45em
}

.mb45,
.ml45,
.mr45 {
    margin-bottom: 45em
}

.mt45p {
    margin-top: 45px
}

.mb45p,
.ml45p,
.mr45p {
    margin-bottom: 45px
}

.mt46 {
    margin-top: 46em
}

.mb46,
.ml46,
.mr46 {
    margin-bottom: 46em
}

.mt46p {
    margin-top: 46px
}

.mb46p,
.ml46p,
.mr46p {
    margin-bottom: 46px
}

.mt47 {
    margin-top: 47em
}

.mb47,
.ml47,
.mr47 {
    margin-bottom: 47em
}

.mt47p {
    margin-top: 47px
}

.mb47p,
.ml47p,
.mr47p {
    margin-bottom: 47px
}

.mt48 {
    margin-top: 48em
}

.mb48,
.ml48,
.mr48 {
    margin-bottom: 48em
}

.mt48p {
    margin-top: 48px
}

.mb48p,
.ml48p,
.mr48p {
    margin-bottom: 48px
}

.mt49 {
    margin-top: 49em
}

.mb49,
.ml49,
.mr49 {
    margin-bottom: 49em
}

.mt49p {
    margin-top: 49px
}

.mb49p,
.ml49p,
.mr49p {
    margin-bottom: 49px
}

.mt50 {
    margin-top: 50em
}

.mb50,
.ml50,
.mr50 {
    margin-bottom: 50em
}

.mt50p {
    margin-top: 50px
}

.mb50p,
.ml50p,
.mr50p {
    margin-bottom: 50px
}

.mt51 {
    margin-top: 51em
}

.mb51,
.ml51,
.mr51 {
    margin-bottom: 51em
}

.mt51p {
    margin-top: 51px
}

.mb51p,
.ml51p,
.mr51p {
    margin-bottom: 51px
}

.mt52 {
    margin-top: 52em
}

.mb52,
.ml52,
.mr52 {
    margin-bottom: 52em
}

.mt52p {
    margin-top: 52px
}

.mb52p,
.ml52p,
.mr52p {
    margin-bottom: 52px
}

.mt53 {
    margin-top: 53em
}

.mb53,
.ml53,
.mr53 {
    margin-bottom: 53em
}

.mt53p {
    margin-top: 53px
}

.mb53p,
.ml53p,
.mr53p {
    margin-bottom: 53px
}

.mt54 {
    margin-top: 54em
}

.mb54,
.ml54,
.mr54 {
    margin-bottom: 54em
}

.mt54p {
    margin-top: 54px
}

.mb54p,
.ml54p,
.mr54p {
    margin-bottom: 54px
}

.mt55 {
    margin-top: 55em
}

.mb55,
.ml55,
.mr55 {
    margin-bottom: 55em
}

.mt55p {
    margin-top: 55px
}

.mb55p,
.ml55p,
.mr55p {
    margin-bottom: 55px
}

.mt56 {
    margin-top: 56em
}

.mb56,
.ml56,
.mr56 {
    margin-bottom: 56em
}

.mt56p {
    margin-top: 56px
}

.mb56p,
.ml56p,
.mr56p {
    margin-bottom: 56px
}

.mt57 {
    margin-top: 57em
}

.mb57,
.ml57,
.mr57 {
    margin-bottom: 57em
}

.mt57p {
    margin-top: 57px
}

.mb57p,
.ml57p,
.mr57p {
    margin-bottom: 57px
}

.mt58 {
    margin-top: 58em
}

.mb58,
.ml58,
.mr58 {
    margin-bottom: 58em
}

.mt58p {
    margin-top: 58px
}

.mb58p,
.ml58p,
.mr58p {
    margin-bottom: 58px
}

.mt59 {
    margin-top: 59em
}

.mb59,
.ml59,
.mr59 {
    margin-bottom: 59em
}

.mt59p {
    margin-top: 59px
}

.mb59p,
.ml59p,
.mr59p {
    margin-bottom: 59px
}

.mt60 {
    margin-top: 60em
}

.mb60,
.ml60,
.mr60 {
    margin-bottom: 60em
}

.mt60p {
    margin-top: 60px
}

.mb60p,
.ml60p,
.mr60p {
    margin-bottom: 60px
}

.mt61 {
    margin-top: 61em
}

.mb61,
.ml61,
.mr61 {
    margin-bottom: 61em
}

.mt61p {
    margin-top: 61px
}

.mb61p,
.ml61p,
.mr61p {
    margin-bottom: 61px
}

.mt62 {
    margin-top: 62em
}

.mb62,
.ml62,
.mr62 {
    margin-bottom: 62em
}

.mt62p {
    margin-top: 62px
}

.mb62p,
.ml62p,
.mr62p {
    margin-bottom: 62px
}

.mt63 {
    margin-top: 63em
}

.mb63,
.ml63,
.mr63 {
    margin-bottom: 63em
}

.mt63p {
    margin-top: 63px
}

.mb63p,
.ml63p,
.mr63p {
    margin-bottom: 63px
}

.mt64 {
    margin-top: 64em
}

.mb64,
.ml64,
.mr64 {
    margin-bottom: 64em
}

.mt64p {
    margin-top: 64px
}

.mb64p,
.ml64p,
.mr64p {
    margin-bottom: 64px
}

.mt65 {
    margin-top: 65em
}

.mb65,
.ml65,
.mr65 {
    margin-bottom: 65em
}

.mt65p {
    margin-top: 65px
}

.mb65p,
.ml65p,
.mr65p {
    margin-bottom: 65px
}

.mt66 {
    margin-top: 66em
}

.mb66,
.ml66,
.mr66 {
    margin-bottom: 66em
}

.mt66p {
    margin-top: 66px
}

.mb66p,
.ml66p,
.mr66p {
    margin-bottom: 66px
}

.mt67 {
    margin-top: 67em
}

.mb67,
.ml67,
.mr67 {
    margin-bottom: 67em
}

.mt67p {
    margin-top: 67px
}

.mb67p,
.ml67p,
.mr67p {
    margin-bottom: 67px
}

.mt68 {
    margin-top: 68em
}

.mb68,
.ml68,
.mr68 {
    margin-bottom: 68em
}

.mt68p {
    margin-top: 68px
}

.mb68p,
.ml68p,
.mr68p {
    margin-bottom: 68px
}

.mt69 {
    margin-top: 69em
}

.mb69,
.ml69,
.mr69 {
    margin-bottom: 69em
}

.mt69p {
    margin-top: 69px
}

.mb69p,
.ml69p,
.mr69p {
    margin-bottom: 69px
}

.mt70 {
    margin-top: 70em
}

.mb70,
.ml70,
.mr70 {
    margin-bottom: 70em
}

.mt70p {
    margin-top: 70px
}

.mb70p,
.ml70p,
.mr70p {
    margin-bottom: 70px
}

.mt71 {
    margin-top: 71em
}

.mb71,
.ml71,
.mr71 {
    margin-bottom: 71em
}

.mt71p {
    margin-top: 71px
}

.mb71p,
.ml71p,
.mr71p {
    margin-bottom: 71px
}

.mt72 {
    margin-top: 72em
}

.mb72,
.ml72,
.mr72 {
    margin-bottom: 72em
}

.mt72p {
    margin-top: 72px
}

.mb72p,
.ml72p,
.mr72p {
    margin-bottom: 72px
}

.mt73 {
    margin-top: 73em
}

.mb73,
.ml73,
.mr73 {
    margin-bottom: 73em
}

.mt73p {
    margin-top: 73px
}

.mb73p,
.ml73p,
.mr73p {
    margin-bottom: 73px
}

.mt74 {
    margin-top: 74em
}

.mb74,
.ml74,
.mr74 {
    margin-bottom: 74em
}

.mt74p {
    margin-top: 74px
}

.mb74p,
.ml74p,
.mr74p {
    margin-bottom: 74px
}

.mt75 {
    margin-top: 75em
}

.mb75,
.ml75,
.mr75 {
    margin-bottom: 75em
}

.mt75p {
    margin-top: 75px
}

.mb75p,
.ml75p,
.mr75p {
    margin-bottom: 75px
}

.mt76 {
    margin-top: 76em
}

.mb76,
.ml76,
.mr76 {
    margin-bottom: 76em
}

.mt76p {
    margin-top: 76px
}

.mb76p,
.ml76p,
.mr76p {
    margin-bottom: 76px
}

.mt77 {
    margin-top: 77em
}

.mb77,
.ml77,
.mr77 {
    margin-bottom: 77em
}

.mt77p {
    margin-top: 77px
}

.mb77p,
.ml77p,
.mr77p {
    margin-bottom: 77px
}

.mt78 {
    margin-top: 78em
}

.mb78,
.ml78,
.mr78 {
    margin-bottom: 78em
}

.mt78p {
    margin-top: 78px
}

.mb78p,
.ml78p,
.mr78p {
    margin-bottom: 78px
}

.mt79 {
    margin-top: 79em
}

.mb79,
.ml79,
.mr79 {
    margin-bottom: 79em
}

.mt79p {
    margin-top: 79px
}

.mb79p,
.ml79p,
.mr79p {
    margin-bottom: 79px
}

.mt80 {
    margin-top: 80em
}

.mb80,
.ml80,
.mr80 {
    margin-bottom: 80em
}

.mt80p {
    margin-top: 80px
}

.mb80p,
.ml80p,
.mr80p {
    margin-bottom: 80px
}

.mt81 {
    margin-top: 81em
}

.mb81,
.ml81,
.mr81 {
    margin-bottom: 81em
}

.mt81p {
    margin-top: 81px
}

.mb81p,
.ml81p,
.mr81p {
    margin-bottom: 81px
}

.mt82 {
    margin-top: 82em
}

.mb82,
.ml82,
.mr82 {
    margin-bottom: 82em
}

.mt82p {
    margin-top: 82px
}

.mb82p,
.ml82p,
.mr82p {
    margin-bottom: 82px
}

.mt83 {
    margin-top: 83em
}

.mb83,
.ml83,
.mr83 {
    margin-bottom: 83em
}

.mt83p {
    margin-top: 83px
}

.mb83p,
.ml83p,
.mr83p {
    margin-bottom: 83px
}

.mt84 {
    margin-top: 84em
}

.mb84,
.ml84,
.mr84 {
    margin-bottom: 84em
}

.mt84p {
    margin-top: 84px
}

.mb84p,
.ml84p,
.mr84p {
    margin-bottom: 84px
}

.mt85 {
    margin-top: 85em
}

.mb85,
.ml85,
.mr85 {
    margin-bottom: 85em
}

.mt85p {
    margin-top: 85px
}

.mb85p,
.ml85p,
.mr85p {
    margin-bottom: 85px
}

.mt86 {
    margin-top: 86em
}

.mb86,
.ml86,
.mr86 {
    margin-bottom: 86em
}

.mt86p {
    margin-top: 86px
}

.mb86p,
.ml86p,
.mr86p {
    margin-bottom: 86px
}

.mt87 {
    margin-top: 87em
}

.mb87,
.ml87,
.mr87 {
    margin-bottom: 87em
}

.mt87p {
    margin-top: 87px
}

.mb87p,
.ml87p,
.mr87p {
    margin-bottom: 87px
}

.mt88 {
    margin-top: 88em
}

.mb88,
.ml88,
.mr88 {
    margin-bottom: 88em
}

.mt88p {
    margin-top: 88px
}

.mb88p,
.ml88p,
.mr88p {
    margin-bottom: 88px
}

.mt89 {
    margin-top: 89em
}

.mb89,
.ml89,
.mr89 {
    margin-bottom: 89em
}

.mt89p {
    margin-top: 89px
}

.mb89p,
.ml89p,
.mr89p {
    margin-bottom: 89px
}

.mt90 {
    margin-top: 90em
}

.mb90,
.ml90,
.mr90 {
    margin-bottom: 90em
}

.mt90p {
    margin-top: 90px
}

.mb90p,
.ml90p,
.mr90p {
    margin-bottom: 90px
}

.mt91 {
    margin-top: 91em
}

.mb91,
.ml91,
.mr91 {
    margin-bottom: 91em
}

.mt91p {
    margin-top: 91px
}

.mb91p,
.ml91p,
.mr91p {
    margin-bottom: 91px
}

.mt92 {
    margin-top: 92em
}

.mb92,
.ml92,
.mr92 {
    margin-bottom: 92em
}

.mt92p {
    margin-top: 92px
}

.mb92p,
.ml92p,
.mr92p {
    margin-bottom: 92px
}

.mt93 {
    margin-top: 93em
}

.mb93,
.ml93,
.mr93 {
    margin-bottom: 93em
}

.mt93p {
    margin-top: 93px
}

.mb93p,
.ml93p,
.mr93p {
    margin-bottom: 93px
}

.mt94 {
    margin-top: 94em
}

.mb94,
.ml94,
.mr94 {
    margin-bottom: 94em
}

.mt94p {
    margin-top: 94px
}

.mb94p,
.ml94p,
.mr94p {
    margin-bottom: 94px
}

.mt95 {
    margin-top: 95em
}

.mb95,
.ml95,
.mr95 {
    margin-bottom: 95em
}

.mt95p {
    margin-top: 95px
}

.mb95p,
.ml95p,
.mr95p {
    margin-bottom: 95px
}

.mt96 {
    margin-top: 96em
}

.mb96,
.ml96,
.mr96 {
    margin-bottom: 96em
}

.mt96p {
    margin-top: 96px
}

.mb96p,
.ml96p,
.mr96p {
    margin-bottom: 96px
}

.mt97 {
    margin-top: 97em
}

.mb97,
.ml97,
.mr97 {
    margin-bottom: 97em
}

.mt97p {
    margin-top: 97px
}

.mb97p,
.ml97p,
.mr97p {
    margin-bottom: 97px
}

.mt98 {
    margin-top: 98em
}

.mb98,
.ml98,
.mr98 {
    margin-bottom: 98em
}

.mt98p {
    margin-top: 98px
}

.mb98p,
.ml98p,
.mr98p {
    margin-bottom: 98px
}

.mt99 {
    margin-top: 99em
}

.mb99,
.ml99,
.mr99 {
    margin-bottom: 99em
}

.mt99p {
    margin-top: 99px
}

.mb99p,
.ml99p,
.mr99p {
    margin-bottom: 99px
}

.lh10 {
    line-height: 1em
}

.lh11 {
    line-height: 1.1em
}

.lh12 {
    line-height: 1.2em
}

.lh13 {
    line-height: 1.3em
}

.lh14 {
    line-height: 1.4em
}

.lh15 {
    line-height: 1.5em
}

.lh16 {
    line-height: 1.6em
}

.lh17 {
    line-height: 1.7em
}

.lh18 {
    line-height: 1.8em
}

.lh19 {
    line-height: 1.9em
}

.lh20 {
    line-height: 2em
}

.lh21 {
    line-height: 2.1em
}

.lh22 {
    line-height: 2.2em
}

.lh23 {
    line-height: 2.3em
}

.lh24 {
    line-height: 2.4em
}

.lh25 {
    line-height: 2.5em
}

.lh26 {
    line-height: 2.6em
}

.lh27 {
    line-height: 2.7em
}

.lh28 {
    line-height: 2.8em
}

.lh29 {
    line-height: 2.9em
}

.lh30 {
    line-height: 3em
}

.lh31 {
    line-height: 3.1em
}

.lh32 {
    line-height: 3.2em
}

.lh33 {
    line-height: 3.3em
}

.lh34 {
    line-height: 3.4em
}

.lh35 {
    line-height: 3.5em
}

.lh36 {
    line-height: 3.6em
}

.lh37 {
    line-height: 3.7em
}

.lh38 {
    line-height: 3.8em
}

.lh39 {
    line-height: 3.9em
}

.lh40 {
    line-height: 4em
}

.lh41 {
    line-height: 4.1em
}

.lh42 {
    line-height: 4.2em
}

.lh43 {
    line-height: 4.3em
}

.lh44 {
    line-height: 4.4em
}

.lh45 {
    line-height: 4.5em
}

.lh46 {
    line-height: 4.6em
}

.lh47 {
    line-height: 4.7em
}

.lh48 {
    line-height: 4.8em
}

.lh49 {
    line-height: 4.9em
}

.lh50 {
    line-height: 5em
}

.lh51 {
    line-height: 5.1em
}

.lh52 {
    line-height: 5.2em
}

.lh53 {
    line-height: 5.3em
}

.lh54 {
    line-height: 5.4em
}

.lh55 {
    line-height: 5.5em
}

.lh56 {
    line-height: 5.6em
}

.lh57 {
    line-height: 5.7em
}

.lh58 {
    line-height: 5.8em
}

.lh59 {
    line-height: 5.9em
}

.lh60 {
    line-height: 6em
}

.lh61 {
    line-height: 6.1em
}

.lh62 {
    line-height: 6.2em
}

.lh63 {
    line-height: 6.3em
}

.lh64 {
    line-height: 6.4em
}

.lh65 {
    line-height: 6.5em
}

.lh66 {
    line-height: 6.6em
}

.lh67 {
    line-height: 6.7em
}

.lh68 {
    line-height: 6.8em
}

.lh69 {
    line-height: 6.9em
}

.lh70 {
    line-height: 7em
}

.lh71 {
    line-height: 7.1em
}

.lh72 {
    line-height: 7.2em
}

.lh73 {
    line-height: 7.3em
}

.lh74 {
    line-height: 7.4em
}

.lh75 {
    line-height: 7.5em
}

.lh76 {
    line-height: 7.6em
}

.lh77 {
    line-height: 7.7em
}

.lh78 {
    line-height: 7.8em
}

.lh79 {
    line-height: 7.9em
}

.lh80 {
    line-height: 8em
}

.lh81 {
    line-height: 8.1em
}

.lh82 {
    line-height: 8.2em
}

.lh83 {
    line-height: 8.3em
}

.lh84 {
    line-height: 8.4em
}

.lh85 {
    line-height: 8.5em
}

.lh86 {
    line-height: 8.6em
}

.lh87 {
    line-height: 8.7em
}

.lh88 {
    line-height: 8.8em
}

.lh89 {
    line-height: 8.9em
}

.lh90 {
    line-height: 9em
}

.lh91 {
    line-height: 9.1em
}

.lh92 {
    line-height: 9.2em
}

.lh93 {
    line-height: 9.3em
}

.lh94 {
    line-height: 9.4em
}

.lh95 {
    line-height: 9.5em
}

.lh96 {
    line-height: 9.6em
}

.lh97 {
    line-height: 9.7em
}

.lh98 {
    line-height: 9.8em
}

.lh99 {
    line-height: 9.9em
}

.fs11 {
    font-size: 1.1rem
}

.fs12 {
    font-size: 1.2rem
}

.fs13 {
    font-size: 1.3rem
}

.fs14 {
    font-size: 1.4rem
}

.fs15 {
    font-size: 1.5rem
}

.fs16 {
    font-size: 1.6rem
}

.fs17 {
    font-size: 1.7rem
}

.fs18 {
    font-size: 1.8rem
}

.fs19 {
    font-size: 1.9rem
}

.fs20 {
    font-size: 2rem
}

.fs21 {
    font-size: 2.1rem
}

.fs22 {
    font-size: 2.2rem
}

.fs23 {
    font-size: 2.3rem
}

.fs24 {
    font-size: 2.4rem
}

.fs25 {
    font-size: 2.5rem
}

.fs26 {
    font-size: 2.6rem
}

.fs27 {
    font-size: 2.7rem
}

.fs28 {
    font-size: 2.8rem
}

.fs29 {
    font-size: 2.9rem
}

.fs30 {
    font-size: 3rem
}

.fs31 {
    font-size: 3.1rem
}

.fs32 {
    font-size: 3.2rem
}

.fs33 {
    font-size: 3.3rem
}

.fs34 {
    font-size: 3.4rem
}

.fs35 {
    font-size: 3.5rem
}

.fs36 {
    font-size: 3.6rem
}

.fs37 {
    font-size: 3.7rem
}

.fs38 {
    font-size: 3.8rem
}

.fs39 {
    font-size: 3.9rem
}

.fs40 {
    font-size: 4rem
}

.fs41 {
    font-size: 4.1rem
}

.fs42 {
    font-size: 4.2rem
}

.fs43 {
    font-size: 4.3rem
}

.fs44 {
    font-size: 4.4rem
}

.fs45 {
    font-size: 4.5rem
}

.fs46 {
    font-size: 4.6rem
}

.fs47 {
    font-size: 4.7rem
}

.fs48 {
    font-size: 4.8rem
}

.fs49 {
    font-size: 4.9rem
}

.fs50 {
    font-size: 5rem
}

.fs51 {
    font-size: 5.1rem
}

.fs52 {
    font-size: 5.2rem
}

.fs53 {
    font-size: 5.3rem
}

.fs54 {
    font-size: 5.4rem
}

.fs55 {
    font-size: 5.5rem
}

.fs56 {
    font-size: 5.6rem
}

.fs57 {
    font-size: 5.7rem
}

.fs58 {
    font-size: 5.8rem
}

.fs59 {
    font-size: 5.9rem
}

.fs60 {
    font-size: 6rem
}

.fs61 {
    font-size: 6.1rem
}

.fs62 {
    font-size: 6.2rem
}

.fs63 {
    font-size: 6.3rem
}

.fs64 {
    font-size: 6.4rem
}

.fs65 {
    font-size: 6.5rem
}

.fs66 {
    font-size: 6.6rem
}

.fs67 {
    font-size: 6.7rem
}

.fs68 {
    font-size: 6.8rem
}

.fs69 {
    font-size: 6.9rem
}

.fs70 {
    font-size: 7rem
}

.fs71 {
    font-size: 7.1rem
}

.fs72 {
    font-size: 7.2rem
}

.fs73 {
    font-size: 7.3rem
}

.fs74 {
    font-size: 7.4rem
}

.fs75 {
    font-size: 7.5rem
}

.fs76 {
    font-size: 7.6rem
}

.fs77 {
    font-size: 7.7rem
}

.fs78 {
    font-size: 7.8rem
}

.fs79 {
    font-size: 7.9rem
}

.fs80 {
    font-size: 8rem
}

.fs81 {
    font-size: 8.1rem
}

.fs82 {
    font-size: 8.2rem
}

.fs83 {
    font-size: 8.3rem
}

.fs84 {
    font-size: 8.4rem
}

.fs85 {
    font-size: 8.5rem
}

.fs86 {
    font-size: 8.6rem
}

.fs87 {
    font-size: 8.7rem
}

.fs88 {
    font-size: 8.8rem
}

.fs89 {
    font-size: 8.9rem
}

.fs90 {
    font-size: 9rem
}

.fs91 {
    font-size: 9.1rem
}

.fs92 {
    font-size: 9.2rem
}

.fs93 {
    font-size: 9.3rem
}

.fs94 {
    font-size: 9.4rem
}

.fs95 {
    font-size: 9.5rem
}

.fs96 {
    font-size: 9.6rem
}

.fs97 {
    font-size: 9.7rem
}

.fs98 {
    font-size: 9.8rem
}

.fs99 {
    font-size: 9.9rem
}

.onlysp {
    display: block
}

.onlypc {
    display: none
}

.box {
    padding-right: 1.5em;
    padding-left: 1.5em
}

.tit__3 {
    margin-top: 60px;
    margin-top: 60px !important;
    color: #21348c;
    font-size: 2.4rem
}

.tit__4 {
    position: relative;
    color: #21348c;
    font-size: clamp(1.5rem, 6vw, 2.8rem);
    text-align: center
}

.tit__4:after {
    -webkit-transform: translateX(-50%);
    display: inline-block;
    position: absolute;
    bottom: -20px;
    left: 50%;
    width: 30px;
    max-width: 250px;
    height: 2px;
    transform: translate(-50%);
    background-color: #21348c;
    content: "";
    opacity: .5
}

.tit__4+.accordion {
    padding-top: 30px
}

.tit__4--blue {
    display: grid;
    place-content: center;
    margin: 0;
    padding: .5em;
    background-color: #21348c;
    color: #fff;
    font-size: clamp(1.5rem, 6vw, 2.8rem)
}

.tit__4--pink {
    display: grid;
    place-content: center;
    margin: 0;
    padding: .5em;
    background-color: #c54a62;
    color: #fff;
    font-size: clamp(1.5rem, 6vw, 2.8rem)
}

.tit__5 {
    position: relative;
    margin: .5em 0;
    font-size: clamp(1.5rem, 6vw, 1.8rem);
    text-align: center
}

.tit__5:after {
    -webkit-transform: translateX(-50%);
    display: inline-block;
    position: absolute;
    bottom: -5px;
    left: 50%;
    width: 90%;
    height: 2px;
    transform: translate(-50%);
    background-color: #2fb6ea;
    content: "";
    opacity: .5
}

.container__chance {
    display: block
}

.container__chance img {
    margin-top: 3em
}

.box__chance {
    position: relative;
    padding-top: .5em;
    background-color: #fff;
    color: #21348c;
    font-weight: 700;
    font-size: clamp(1.2rem, 5vw, 2.5rem);
    text-align: center
}

.box__chance p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.2em
}

.box__chance .arrow_u {
    position: absolute;
    width: 50%;
    height: auto;
    margin-top: -1px;
    margin-bottom: 3em;
    border-width: 7vw 45vw 0 45vw;
    border-style: solid;
    border-color: #fff transparent transparent transparent
}

.box__chance .arrow_r {
    display: none
}

.box__entry {
    padding-top: .1em;
    padding-bottom: 64px;
    background-color: #fff
}

.container__entry {
    padding: 1.5em 1.5em 0
}

.container__entry>div {
    display: grid;
    position: relative;
    grid-template-columns: .6fr 1fr;
    margin-bottom: 2em;
    gap: 0 1.5em
}

.container__entry>div h5 {
    display: flex;
    z-index: 2;
    position: absolute;
    top: -.5em;
    left: -.5em;
    grid-area: 1/1/2/3;
    align-items: center;
    justify-content: center;
    width: 100%;
    width: 40px;
    height: 40px;
    margin: 0;
    background-color: #c54a62;
    color: #fff;
    font-size: 2rem
}

.container__entry>div figure {
    grid-area: 2/1/3/2;
    align-items: start;
    margin: 0
}

.container__entry>div p {
    grid-area: 2/2/3/3;
    margin: 0
}

.btn__blue {
    width: 100%;
    max-width: 250px;
    margin: 1em auto;
    padding: .25em;
    border-radius: .1em;
    background-color: #2fb6ea;
    font-weight: 700;
    font-size: clamp(1.5rem, 6vw, 2.8rem)
}

.btn__blue:hover,
.btn__blue:active {
    opacity: .8
}

.btn__blue a {
    display: grid;
    place-content: center;
    color: #fff
}

.container__prize {
    display: block;
    padding-top: 30px
}

.container__prize img {
    margin-bottom: 2em
}

.container__prize+p {
    margin-bottom: 35px
}

.box__question {
    margin-top: 1em;
    padding-top: 40px;
    padding-bottom: 1em;
    background-color: #fff
}

.q__indent {
    padding-left: 2.3em !important;
    text-indent: -1.8em
}

.a__indent {
    padding-left: 1.3em;
    text-indent: -1.3em
}

.accordion {
    margin-bottom: 1em
}

.accordion summary {
    position: relative;
    padding: 1em;
    border-radius: .1em;
    background-color: #f3d647;
    font-weight: 700;
    list-style: none;
    cursor: pointer;
    transition: background-color .3s
}

.accordion summary::-webkit-details-marker {
    display: none
}

.accordion__content {
    padding: 0 1em;
    border: 1px solid #F3D647;
    border-radius: .1em;
    transition: .2s ease height
}

.accordion__card {
    margin-bottom: 1em
}

.accordion__card summary {
    position: relative;
    padding: 1em;
    border: #ffffff solid 2px;
    border-radius: .1em;
    background-color: #2fb6ea;
    color: #fff;
    font-weight: 700;
    font-size: clamp(1.5rem, 6vw, 1.8rem);
    list-style: none;
    text-align: center;
    cursor: pointer;
    transition: background-color .3s
}

.accordion__card summary::-webkit-details-marker {
    display: none
}

.accordion__card summary:before,
.accordion__card summary:after {
    position: absolute;
    top: 0;
    right: 1.5rem;
    bottom: 0;
    width: 14px;
    height: 2px;
    margin: auto 0;
    background-color: #fff;
    content: ""
}

.spot {
    display: block;
    margin-bottom: 5em
}

.card {
    display: grid;
    width: 100%;
    margin-top: 1em;
    margin-right: auto;
    margin-left: auto;
    padding: 1em 1.5em;
    border-radius: .25em;
    background-color: #fff;
    box-shadow: 0 0 15px -5px #777
}

.card:first-child {
    margin-top: 1.5em
}

.card p {
    font-size: clamp(1.2rem, 6vw, 1.5rem)
}

.card .address {
    display: flex;
    align-items: center;
    margin: 0
}

.card .address .material-symbols-outlined {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: .25em
}

.card .tel {
    display: flex;
    align-items: center;
    margin: 0 0 .25em
}

.card .tel .material-symbols-outlined {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: .25em
}

.card .tel a {
    color: #000
}

.btn__spot {
    display: block;
    width: 100%;
    max-width: 350px;
    margin-right: auto;
    margin-left: auto;
    border-radius: .25em;
    background-color: #2fb6ea
}

.btn__spot:hover,
.btn__spot:active {
    opacity: .8
}

.btn__spot a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5em;
    color: #fff;
    font-weight: 700;
    text-decoration: none
}

.btn__spot a span {
    margin-left: .5em
}

details summary:before,
details summary:after {
    position: absolute;
    top: 0;
    right: 1.5rem;
    bottom: 0;
    width: 14px;
    height: 2px;
    margin: auto 0;
    background-color: #000;
    content: ""
}

details summary:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

details[open] summary:after {
    -webkit-animation: opening-after .3s ease-in forwards;
    animation: opening-after .3s ease-in forwards
}

@-webkit-keyframes opening-after {
    0% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }

    to {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }
}

@keyframes opening-after {
    0% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }

    to {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }
}

.list__dot {
    padding-left: 1.5em;
    list-style: disc
}

.list__dot li+li {
    margin-top: 15px
}

.list__dot--spot {
    margin-top: 2em;
    padding-left: 1.5em;
    list-style: disc
}

.list__dot--spot li:not(:first-child) {
    margin-top: 1.5em
}

.list__kome {
    margin-left: 1em;
    list-style: none
}

.list__kome li {
    position: relative;
    margin-top: 0
}

.list__kome li:before {
    position: absolute;
    left: -15px;
    content: "※"
}

.list__blue {
    margin: 15px 0 0 1em;
    list-style: none
}

.list__blue li {
    position: relative;
    margin-top: 0;
    padding-left: 5px;
    font-size: 1.6rem
}

.list__blue li:before {
    position: absolute;
    left: -15px;
    content: "●";
    color: #21348c
}

.list__blue li div {
    margin-top: 15px
}

.list__blue li p {
    margin: 0;
    padding-bottom: 15px;
    font-weight: 400
}

.list__blue li p:first-child {
    border-bottom: 1px solid #000
}

.list__blue li p:last-child {
    padding-top: 15px
}

.list__blue li+li {
    margin-top: 30px
}

.p-0 {
    margin: 0
}

.t-red {
    color: #e60012
}

.tbl__acc {
    width: 100%
}

.tbl__acc tr {
    border-bottom: 2px solid #dcdcdc
}

.tbl__acc th {
    font-weight: 400
}

.tbl__acc th,
.tbl__acc td {
    display: block
}

.wrap__box {
    width: 100%;
    background-image: url(../img/bg-pattern.png);
    background-size: cover;
    background-repeat: no-repeat
}

.wrap__box p {
    margin: 14px 0 0;
    padding-bottom: 35px;
    font-size: 1.4rem
}

.box__items {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: auto;
    margin-top: 32px;
    padding-right: 1.5em;
    padding-left: 1.5em;
    gap: 15px
}

.box__items .img__serif {
    max-width: 245px;
    margin: 41px 15px auto auto
}

.box__items .img__serif img {
    display: block;
    max-width: 208px
}

.box__items .img__foods .onlysp {
    display: block;
    max-width: 245px;
    margin: auto
}

.box__items .img__foods .onlypc {
    display: none;
    margin: auto
}

.flex__btn {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 60px;
    padding: 0 1.5rem;
    gap: 25px
}

.btn__pink {
    width: 100%
}

.btn__pink a {
    display: block;
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: auto;
    padding: 18px 0;
    border-radius: 50px;
    background-color: #c54a62;
    box-shadow: 0 5px #a7354b;
    color: #fff;
    font-weight: 700;
    font-size: 1.5rem;
    text-align: center
}

.btn__pink a:hover {
    -webkit-transform: translate(0, 5px);
    transform: translateY(5px);
    box-shadow: none
}

.btn__pink a:after {
    -webkit-transform: translateY(-50%);
    display: flex;
    position: absolute;
    top: 50%;
    right: 14px;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    transform: translateY(-50%);
    border-radius: 50%;
    background-color: #fff;
    content: ""
}

.btn__pink a:before {
    -webkit-transform: translateY(-50%) rotate(-45deg);
    z-index: 2;
    position: absolute;
    top: 50%;
    right: 23px;
    width: 7px;
    height: 7px;
    transform: translateY(-50%) rotate(-45deg);
    border-right: 1px solid #C54A62;
    border-bottom: 1px solid #C54A62;
    content: ""
}

.btn__navy {
    width: 100%
}

.btn__navy a {
    display: block;
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: auto;
    padding: 18px 0;
    border-radius: 50px;
    background-color: #21348c;
    box-shadow: 0 5px #172563;
    color: #fff;
    font-weight: 700;
    font-size: 1.5rem;
    text-align: center
}

.btn__navy a:hover {
    -webkit-transform: translate(0, 5px);
    transform: translateY(5px);
    box-shadow: none
}

.btn__navy a:after {
    -webkit-transform: translateY(-50%);
    display: flex;
    position: absolute;
    top: 50%;
    right: 14px;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    transform: translateY(-50%);
    border-radius: 50%;
    background-color: #fff;
    content: ""
}

.btn__navy a:before {
    -webkit-transform: translateY(-50%) rotate(-45deg);
    z-index: 2;
    position: absolute;
    top: 50%;
    right: 23px;
    width: 7px;
    height: 7px;
    transform: translateY(-50%) rotate(-45deg);
    border-right: 1px solid #21348C;
    border-bottom: 1px solid #21348C;
    content: ""
}

.wrap__map {
    padding: 30px 0 40px
}

.box__note {
    margin: 0 1.5rem;
    padding-bottom: 65px
}

.box__white {
    padding: 50px 1.5rem;
    background-color: #fff
}

.box__white .tit__4 {
    margin-top: 0
}

.box__white p {
    padding-top: 30px
}

.tit__navy {
    margin-bottom: 0;
    color: #21348c;
    font-size: 4rem;
    text-align: center
}

.stamprally .mdlcrs-tit {
    display: inherit;
    padding: 1rem;
    font-weight: 700;
    font-size: 1.8em;
    line-height: 1.2em;
    text-align: center
}

.stamprally .mdlcrs-tit .mini {
    color: #21348c;
    font-size: 60%;
    line-height: .5em !important
}

.stamprally .mdlcrs-tit .pink {
    color: #c54a62
}

.mdlcrs-blk {
    padding: 1.5em
}

.mdlcrs-blk .lunch .tit {
    margin: 0;
    color: #21348c;
    font-weight: 700;
    font-size: 1.6em
}

.mdlcrs-blk .lunch .num {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: .5em;
    color: #fff;
    font-weight: 700;
    font-size: 1.6em
}

.mdlcrs-blk .lunch .num span {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: #c54a62;
    text-align: center
}

.mdlcrs-blk .lunch .num span:before {
    display: block;
    position: absolute;
    right: -1em;
    bottom: 50%;
    width: 1em;
    height: 2px;
    border: dotted #C54A62;
    border-width: 2px 0 0 0;
    content: ""
}

.mdlcrs-blk .lunch .num span:last-child:before {
    display: none
}

.mdlcrs-blk .lunch .name {
    margin-top: .5em;
    color: #c54a62;
    font-weight: 700;
    font-size: 1.6em;
    line-height: 1.2em
}

.mdlcrs-blk .lunch .name span {
    display: block;
    font-size: 60%
}

.mdlcrs-blk .image {
    display: grid;
    gap: 1.5em
}

.mdlcrs-blk .image figure {
    margin: 0 -1.5em
}

.mdlcrs-blk .image figure figcaption {
    margin-top: .5em;
    margin-right: 1.5em;
    text-align: right
}

.mdlcrs-blk .image figure figcaption:before {
    content: "▲"
}

.mdlcrs-blk .list li {
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: 40px 1fr;
    gap: .5em;
    color: #fff;
    font-weight: 700;
    font-size: 1.6em
}

.mdlcrs-blk .list li span {
    display: grid;
    align-items: center;
    padding: .5em .7em;
    line-height: 1.2em
}

.mdlcrs-blk .list li:last-child .num:before {
    display: none
}

.mdlcrs-blk .list li:last-child {
    position: relative
}

.mdlcrs-blk .list li:last-child .get4 {
    z-index: 2;
    position: absolute;
    right: -20px;
    bottom: -5px;
    width: 60px;
    height: 60px;
    padding: 0;
    background-image: url(../img/model-icon-4p.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: ""
}

.mdlcrs-blk .list li:last-child .get3 {
    z-index: 2;
    position: absolute;
    right: -20px;
    bottom: -5px;
    width: 60px;
    height: 60px;
    padding: 0;
    background-image: url(../img/model-icon-3p.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: ""
}

.mdlcrs-blk .list li .num {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    background-color: #c54a62
}

.mdlcrs-blk .list li .num:before {
    display: block;
    position: absolute;
    bottom: -.5em;
    left: 50%;
    width: .5em;
    height: .5em;
    border: dotted #C54A62;
    border-width: 0 0 0 2px;
    content: ""
}

.mdlcrs-blk .list li .name {
    background-color: #21348c
}

.mdlcrs-blk+.tit__4--pink {
    margin-top: 50px
}

.tit3__course {
    position: relative;
    margin: 0;
    padding: 39px 0 0;
    color: #21348c;
    font-weight: 600;
    font-size: 2.4rem;
    text-align: center
}

.tit3__course .get6 {
    z-index: 2;
    position: absolute;
    top: -40px;
    right: 5px;
    width: 80px;
    height: 80px;
    padding: 0;
    background-image: url(../img/model-icon-6p.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: ""
}

.tit3__course .get8 {
    z-index: 2;
    position: absolute;
    top: -40px;
    right: 5px;
    width: 80px;
    height: 80px;
    padding: 0;
    background-image: url(../img/model-icon-8p.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: ""
}

.tit3__joukyu {
    position: relative;
    margin: 0;
    padding: 39px 1.5rem 0;
    color: #21348c;
    font-weight: 600;
    font-size: 2.4rem;
    text-align: center
}

.get-icon {
    position: relative;
    margin-bottom: 33px;
    padding-bottom: 33px
}

.get-icon img {
    display: block;
    z-index: 2;
    width: 80px;
    height: 80px;
    margin: auto;
    padding-bottom: 0
}

.get-icon:after {
    -webkit-transform: translateX(-50%);
    display: inline-block;
    position: absolute;
    bottom: 0px;
    left: 50%;
    width: 30px;
    max-width: 250px;
    height: 2px;
    transform: translate(-50%);
    background-color: #21348c;
    content: "";
    opacity: .5
}

.wrap__course .tit__num {
    display: grid;
    grid-template-columns: 40px 1fr;
    margin-bottom: 0;
    gap: .5em;
    font-weight: 700;
    font-size: 1.6rem
}

.wrap__course .tit__num .blank {
    display: grid;
    place-content: center;
    width: 40px;
    height: 40px;
    margin-right: 10px;
    background-color: #c54a62;
    color: #fff;
    font-size: 2rem;
    text-align: center
}

.wrap__course .tit__num .tit {
    display: block;
    margin: auto auto auto 0;
    font-size: 1.6rem
}

.wrap__course .tit__num .num {
    display: grid;
    place-content: center;
    width: 40px;
    height: auto;
    margin-right: 10px;
    background-color: #c54a62;
    color: #fff;
    font-size: 2rem;
    text-align: center
}

.wrap__course .tit__num .name {
    display: grid;
    align-items: center;
    margin-right: -1.5em;
    padding: .5em .7em;
    background-color: #21348c;
    color: #fff;
    font-size: 2rem;
    line-height: 1.2em
}

.wrap__course .inner__course {
    margin-left: 20px;
    padding-top: 14px;
    border-left: 3px dotted #C54A62
}

.wrap__course .inner__course .box__course {
    margin: 0 -1.5em 0 0;
    padding-left: calc(20px + .5em)
}

.wrap__course .inner__course .box__course .caption {
    margin-top: 16px;
    margin-bottom: 0;
    padding-bottom: 30px;
    color: #c54a62;
    font-size: 1.6rem
}

.wrap__course .inner__course img+.caption {
    padding-top: 14px
}

.wrap__course+.wrap__course .tit__num {
    margin-top: 0
}

.course__btn {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 1.5em;
    gap: 60px;
    background-color: #fff
}

.course__btn .tit__btn {
    font-size: 1.6rem;
    text-align: center
}

.modelcourse {
    max-width: 1200px;
    margin-right: -1.5em;
    margin-left: -1.5em;
    background-color: #f3d647
}

.grid6 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    padding: 1.5em;
    gap: 20px 10px
}

.grid2 {
    display: grid;
    grid-template-columns: 1fr;
    margin: 1.5em;
    gap: 1.5em 1em
}

.card__course a {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: .5em;
    box-shadow: 0 0 1em #0000004d
}

.card__course a div:last-child {
    background-color: #fff
}

.card__course a div:last-child>div {
    display: grid;
    place-content: center;
    padding: 1.5em
}

.card__course a div:last-child>div .tit__card {
    margin-bottom: 0;
    color: #21348c;
    font-weight: 700;
    font-size: 2.4rem;
    text-align: left
}

.card__course a div:last-child>div p {
    margin: 0;
    color: #21348c;
    font-weight: 700;
    font-size: 1.8rem;
    text-align: left
}

.card__course a:visited {
    color: #000
}

@media screen and (min-width: 576px) {
    .footermenu {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        text-align: inherit
    }

    .footermenu p {
        width: 200px;
        margin-right: 2em;
        margin-left: 0
    }

    .footermenu ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-top: 0
    }

    .footermenu ul li {
        margin-top: 0;
        margin-left: .5em
    }

    .bnrlist li {
        width: calc(33.3% - .75em)
    }

    .bnrlist__shinsai {
        width: calc((33.3% - .75em)*2)
    }

    .bnrlist__shinsai li {
        width: calc(50% - .75em)
    }

    .reportlist,
    .reportlist__pages {
        margin-right: auto;
        margin-left: auto
    }

    .reportlist>li,
    .reportlist__pages>li {
        width: calc(50% - .75em)
    }

    .reportlist__pages>li {
        width: calc(50% - .75em)
    }

    .reportlist--hero>li {
        width: calc(50% - .75em)
    }

    .prefbox {
        margin-right: auto;
        margin-left: auto
    }

    .letterbody p.leadcopy {
        padding-top: 1em;
        padding-bottom: 1em;
        font-size: 2.2rem;
        text-align: center
    }

    .letterbody p.leadcopy:after {
        margin-top: 1.5em
    }

    .letterbody .column2>div {
        width: calc(50% - .75em)
    }

    .letterbody .column2>div:nth-child(2) {
        margin-top: 0
    }

    .letterspot {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .letterspot figure {
        margin-right: 0;
        margin-left: 0
    }

    .letterspot .spotinfo {
        width: max(50% - 2em, 100% - 310px - 2em);
        margin-top: 0
    }

    .letterwriter {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .letterwriter .profile {
        display: flex;
        flex-flow: column;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        width: calc(50% - .75em);
        max-width: 300px
    }

    .letterwriter .text {
        width: max(50% - .75em, 100% - .75em - 300px)
    }

    .recommendspot li a .name {
        font-size: 2.2rem
    }

    .preflist {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .preflist li {
        width: calc(50% - .75em)
    }

    .learnbox .learnbt li a .name {
        font-size: 2.5rem
    }

    .stamprally .btn__n--white--blank a {
        font-size: 3rem
    }

    .onlysp {
        display: inherit
    }

    .onlypc {
        display: none
    }

    .container__entry {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5em
    }

    .mdlcrs-blk .image {
        display: flex;
        justify-content: center
    }

    .mdlcrs-blk .image figure {
        max-width: 350px;
        margin: 0
    }

    .grid2 {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (min-width: 905px) {
    .page__index {
        min-height: 100%
    }

    .page__n {
        margin-top: 80px
    }

    .header {
        justify-content: space-between;
        height: 80px;
        padding: 0 1.5em
    }

    .header h1 {
        width: 180px
    }

    .header .burger {
        display: none
    }

    .header .menu {
        display: flex;
        position: initial;
        width: auto;
        height: inherit;
        margin-top: inherit;
        background-color: initial
    }

    .header .menu ul {
        display: flex;
        flex-flow: inherit;
        flex-wrap: wrap;
        justify-content: space-between;
        width: inherit;
        height: inherit;
        margin: 0;
        background-color: initial;
        font-size: 1.3rem
    }

    .header .menu ul li {
        margin-left: 2em;
        left: -1em;
    }

    .header .menu ul li a {
        display: inherit;
        padding: inherit;
        font-size: inherit
    }

    .hero {
        margin-top: 80px
    }

    .lead p {
        text-align: center
    }

    .mapbtn {
        display: none
    }

    .page__n .platinumaps iframe {
        height: 600px
    }

    .platinumaps {
        display: block;
        width: 100%;
        margin-right: auto;
        margin-left: auto
    }

    .platinumaps iframe {
        height: 700px
    }

    .prefbox {
        height: 400px
    }

    .prefbox h2 {
        font-size: 2.2em;
    }

    .prefbox .links {
        right: 0;
        max-width: calc(270px + 4em)
    }

    .newslists ul li a {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .newslists ul li a .date {
        width: 10rem
    }

    .newslists ul li a .text {
        width: calc(100% - 10rem)
    }

    .pagenation {
        clear: both
    }

    .letterbody figure.photo2 {
        width: 45%;
        margin-top: .5em;
        margin-right: 0;
        margin-left: 2em;
        float: right
    }

    .recommendspot {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .recommendspot li {
        width: calc(50% - .75em)
    }

    .timeline .lists {
        font-size: 2.2rem
    }

    .timeline .lists li {
        width: calc(100% - 2em)
    }

    .timeline .lists li .name {
        font-size: 2rem
    }

    .timeline .lists li table tr th,
    .timeline .lists li table tr td {
        display: table-cell
    }

    .timeline .lists li table tr th {
        border-bottom: 1px solid #333
    }

    .learnbox .col2 {
        justify-content: space-between
    }

    .learnbox .col2 p,
    .learnbox .col2 div {
        width: calc(50% - 1em)
    }

    .learnbox .learnbt li {
        width: calc(33.3% - 1px)
    }

    .learnbox .learnbt li a .name {
        font-size: 3.5rem
    }

    .learnbox .fesspec {
        display: grid;
        grid-template-columns: 150px 1fr;
        margin-bottom: 4em;
        gap: 2em 1em;
        font-size: 1.4em
    }

    .learnbox .fesspec dt,
    .learnbox .fesspec dd {
        margin: 0
    }

    .learnbox .fesfacilities ul li {
        width: 100px
    }

    .texts ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .texts ul li {
        width: calc(50% - .75em)
    }

    .texts ul li img {
        width: 100%;
        margin: 0
    }

    .texts ul li div {
        width: 100%
    }

    .linkblc>div {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 1.5em;
        padding: 1em;
        background-color: #f8fbf8
    }

    .linkblc>div h3 {
        margin-top: 0
    }

    .linkblc>div p {
        width: calc(50% - .75em)
    }

    .quiz ul li {
        width: calc(50% - .5em);
        margin-top: 1em;
        border: 4px solid #e45920
    }

    .quiz ul li .btnA {
        margin-top: .5em;
        margin-bottom: 0
    }

    .quiz ul li .btnA a {
        font-size: 1.6rem
    }

    .stamprally .big {
        text-align: center
    }

    .stamprally .yokoku {
        font-size: clamp(1.5rem, 5vw, 8rem)
    }

    .stamprally .steps h4 {
        font-size: 3rem
    }

    .stamprally .steps ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .stamprally .steps ul li {
        display: flex;
        flex-flow: column;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 33.3%;
        padding: 0 1.5em;
        border-top: none;
        border-left: 2px solid #000
    }

    .stamprally .steps ul li:after {
        -webkit-transform: rotate(-90deg);
        top: calc(50% - .75em);
        left: -.25em;
        width: .75em;
        height: .75em;
        transform: rotate(-90deg);
        border-width: 1em .75em 0 .75em
    }

    .stamprally .steps ul li:first-child {
        padding-left: 0;
        border-left: none
    }

    .stamprally .steps ul li:last-child {
        padding-right: 0
    }

    .stamprally .steps ul li p:first-child {
        font-size: 2rem
    }

    .stamprally .presentlist li .text {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .stamprally .presentlist li .text .itemlist {
        width: calc(100% - 120px - 1em)
    }

    .stamprally .presentlist li .text .images {
        flex-flow: column;
        width: 120px
    }

    .stamprally .presentlist li .text .images figure:nth-child(2) {
        margin-top: 1em
    }

    .stamprally .presentlist li .text .images figure {
        width: 100%
    }

    .stamprally .completelist {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }

    .stamprally .completelist li {
        width: calc(50% - 1em)
    }

    .stamprally .completelist li .stamp {
        width: 7em
    }

    .stamprally .completelist li .text {
        width: calc(100% - 8.5em)
    }

    .tit__2--p,
    .tit__2--n {
        font-size: 2.8rem
    }

    .tit__2--p {
        margin-top: 2em;
        margin-bottom: 3em
    }

    .tit__3--p {
        margin-top: 2em;
        margin-bottom: 1.5em
    }

    .blc__n {
        padding-bottom: 6em
    }

    .onlysp {
        display: none
    }

    .onlypc {
        display: inherit
    }

    .tit__4:after {
        width: 50%
    }

    .container__chance {
        display: flex;
        justify-content: space-around
    }

    .container__chance img {
        display: block;
        width: 30%;
        height: auto;
        margin: auto 0
    }

    .box__chance {
        height: 150px
    }

    .box__chance {
        width: 50%;
        padding-top: 1em
    }

    .box__chance .arrow_u {
        display: none
    }

    .box__chance .arrow_r {
        display: block;
        z-index: 1;
        position: absolute;
        right: -60px;
        bottom: 0;
        border-top: 75px solid transparent;
        border-right: 0;
        border-bottom: 75px solid transparent;
        border-left: 60px solid #ffffff;
        border-style: solid
    }

    .container__entry {
        grid-template-columns: 1fr 1fr 1fr;
        padding: 3em 3em 0;
        gap: 3em
    }

    .container__entry>div {
        display: initial;
        margin-bottom: 0
    }

    .container__entry>div p {
        margin-top: 1.5em;
        line-height: 1.4em
    }

    .container__prize {
        display: flex;
        flex-wrap: wrap
    }

    .container__prize img {
        display: block;
        width: 50%;
        margin-right: auto;
        margin-left: auto
    }

    .spot {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 0 3em;
        gap: 1em
    }

    .card {
        display: flex;
        flex-direction: column;
        width: 48%;
        margin-top: 0;
        margin-right: 0;
        margin-left: 0
    }

    .card:nth-child(2) {
        margin-top: 1.5em
    }

    .card p {
        padding: .2em 3em
    }

    .btn__spot {
        margin-top: auto
    }

    .tbl__acc tr {
        display: flex
    }

    .tbl__acc th,
    .tbl__acc td {
        width: 100%;
        padding: 1em
    }

    .box__items {
        display: flex;
        justify-content: center
    }

    .box__items .img__serif {
        max-width: 600px;
        margin: auto 150px auto auto
    }

    .box__items .img__serif img {
        max-width: 300px
    }

    .box__items .img__foods {
        display: block;
        max-width: 600px;
        margin: auto
    }

    .box__items .img__foods .onlysp {
        display: none
    }

    .box__items .img__foods .onlypc {
        display: block
    }

    .flex__btn {
        flex-direction: row;
        width: 100%
    }

    .flex__btn a {
        width: 100%
    }

    .btn__pink a,
    .btn__navy a {
        font-size: 1.8rem
    }

    .mdlcrs-blk .lunch {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start
    }

    .mdlcrs-blk .lunch .tit {
        margin-top: 0
    }

    .mdlcrs-blk .lunch .num {
        margin-left: .5em
    }

    .mdlcrs-blk .lunch .name {
        margin-top: 0;
        margin-left: .5em
    }

    .mdlcrs-blk .list li:last-child .get4 {
        width: 100px;
        height: 101px
    }

    .mdlcrs-blk .list li:last-child .get3 {
        width: 100px;
        height: 101px
    }

    .tit3__course .get6 {
        top: 10px;
        right: 10px;
        width: 100px;
        height: 101px
    }

    .tit3__course .get8 {
        -webkit-transform: translateX(-50%);
        top: 20%;
        left: 50%;
        width: 100px;
        height: 101px;
        margin-left: 150px;
        transform: translate(-50%)
    }

    .get-icon img {
        width: 100px;
        height: 101px
    }

    .get-icon:after {
        width: 50%
    }

    .wrap__course {
        display: block;
        max-width: 600px;
        margin: auto
    }

    .wrap__course .tit__num .num {
        font-size: 2.6rem
    }

    .wrap__course .tit__num .name {
        margin-right: 0;
        font-size: 2.6rem
    }

    .wrap__course .inner__course .box__course {
        margin: 0
    }

    .course__btn {
        flex-direction: row;
        gap: 25px
    }

    .course__btn div {
        width: 100%
    }

    .grid6 {
        grid-template-rows: repeat(2, 1fr);
        grid-template-columns: repeat(3, 1fr)
    }

    .card__course a div:last-child>div .tit__card {
        text-align: center
    }

    .card__course a div:last-child>div p {
        text-align: center
    }
}

@media screen and (min-width: 1110px) {
    .header .menu ul {
        font-size: 1.6rem
    }

    .footermenu ul li {
        margin-left: 1em
    }

    .footermenu ul li a {
        font-size: 1.6rem
    }

    .bnrlist li {
        width: calc(16.666% - .75em)
    }

    .bnrlist__shinsai {
        width: calc((16.666% - .75em)*4)
    }

    .bnrlist__shinsai li {
        width: calc(25% - .75em)
    }

    .column {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-right: auto;
        margin-left: auto
    }

    .column.column2 div {
        width: 50%
    }

    #player {
        max-height: none
    }

    .reportlist:after,
    .reportlist__pages:after {
        display: block;
        width: calc(33.3% - .75em);
        content: ""
    }

    .reportlist>li,
    .reportlist__pages>li {
        width: calc(33.3% - .75em)
    }

    .reportlist__pages {
        margin-top: -1.5em
    }

    .reportlist--hero>li {
        width: calc(33.3% - .75em)
    }

    .prefbox {
        height: 450px
    }

    .prefbox h2{
        left: 0;
    }

    .letterbody figure figcaption {
        margin-right: 0;
        margin-left: 0
    }

    .letterbody figure {
        margin-right: 0;
        margin-left: 0
    }

    .stamprally .platinumaps {
        width: calc(100% - 8em);
        margin-right: 4em;
        margin-left: 4em
    }

    .stamprally .present {
        padding-right: 4em;
        padding-left: 4em
    }

    .stamprally .steps {
        margin-right: 4em;
        margin-left: 4em;
        padding: 1.5em 2em
    }

    .stamprally .presentlist {
        margin-right: 4em;
        margin-left: 4em
    }

    .stamprally .presentlist li .text p {
        margin-top: .5em;
        font-size: 2.2rem
    }

    .stamprally .presentlist li .text p.tag {
        font-size: 2.7rem
    }

    .stamprally .completelist {
        margin-right: 4em;
        margin-left: 4em
    }

    .stamprally .kitai,
    .stamprally .notice {
        margin-right: 4em;
        margin-left: 4em;
        text-align: center
    }

    .stamprally .caution {
        max-width: 900px;
        margin-right: auto;
        margin-left: auto
    }

    .onlysp {
        display: none
    }

    .onlypc {
        display: inherit
    }

    .container__entry {
        grid-template-columns: 1fr 1fr 1fr 1fr
    }

    .mdlcrs-blk .col {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 1.5em
    }
}

@media screen and (min-width: 1200px) {
    .prefbox:nth-child(odd) {
        -webkit-transform: translateX(3em);
        transform: translate(3em)
    }

    .prefbox:nth-child(even) {
        -webkit-transform: translateX(-3em);
        transform: translate(-3em)
    }

    .texts ul li {
        width: calc(50% - 1.5em)
    }

    .quiz ul li {
        width: calc(33.3333333333% - .6666666667em);
        padding: 1em 1.5em
    }

    .stamprally {
        margin-right: auto;
        margin-left: auto;
        overflow: hidden;
        border-radius: 1.5em;
        box-shadow: 0 0 2em #0000001a
    }

    .onlysp {
        display: none
    }

    .onlypc {
        display: inherit
    }

    .modelcourse {
        margin-right: auto;
        margin-left: auto;
        overflow: hidden;
        border-radius: 1.5em;
        box-shadow: 0 0 2em #0000001a
    }

    .grid2 {
        grid-template-columns: repeat(3, 1fr)
    }

    .prefbox h2 {
        left:-1em;
    }
}

@media screen and (max-width: 575px) {
    body {
        font-size: 1.3rem
    }
}

.splide__container {
    box-sizing: border-box;
    position: relative
}

.splide__list {
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    backface-visibility: hidden
}

.splide.is-initialized:not(.is-active) .splide__list {
    display: block
}

.splide__pagination {
    -ms-flex-align: center;
    -ms-flex-wrap: wrap;
    -ms-flex-pack: center;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin: 0;
    pointer-events: none
}

.splide__pagination li {
    display: inline-block;
    margin: 0;
    line-height: 1;
    list-style-type: none;
    pointer-events: auto
}

.splide:not(.is-overflow) .splide__pagination {
    display: none
}

.splide__progress__bar {
    width: 0
}

.splide {
    visibility: hidden;
    position: relative
}

.splide.is-initialized,
.splide.is-rendered {
    visibility: visible
}

.splide__slide {
    -ms-flex-negative: 0;
    box-sizing: border-box;
    position: relative;
    flex-shrink: 0;
    margin: 0;
    backface-visibility: hidden;
    list-style-type: none !important
}

.splide__slide img {
    vertical-align: bottom
}

.splide__spinner {
    contain: strict;
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 20px;
    height: 20px;
    margin: auto;
    border: 2px solid #999;
    border-radius: 50%;
    border-left-color: transparent;
    animation: splide-loading 1s linear infinite
}

.splide__sr {
    clip: rect(0 0 0 0);
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
    display: none
}

.splide__toggle.is-active .splide__toggle__pause {
    display: inline
}

.splide__track {
    z-index: 0;
    position: relative;
    overflow: hidden
}

@keyframes splide-loading {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(1turn)
    }
}

.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
    z-index: 0;
    margin: 0 !important;
    opacity: 0
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
    z-index: 1;
    opacity: 1
}

.splide--rtl {
    direction: rtl
}

.splide__track--ttb>.splide__list {
    display: block
}

.splide__arrow {
    -ms-flex-align: center;
    -ms-flex-pack: center;
    display: -ms-flexbox;
    display: flex;
    z-index: 1;
    position: absolute;
    top: 50%;
    align-items: center;
    justify-content: center;
    width: 2em;
    height: 2em;
    padding: 0;
    transform: translateY(-50%);
    border: 0;
    border-radius: 50%;
    background: #ccc;
    cursor: pointer;
    opacity: .7
}

.splide__arrow svg {
    fill: #000;
    width: 1.2em;
    height: 1.2em
}

.splide__arrow:hover:not(:disabled) {
    opacity: .9
}

.splide__arrow:disabled {
    opacity: .3
}

.splide__arrow:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__arrow--prev {
    left: 1em
}

.splide__arrow--prev svg {
    transform: scaleX(-1)
}

.splide__arrow--next {
    right: 1em
}

.splide.is-focus-in .splide__arrow:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__pagination {
    z-index: 1;
    position: absolute;
    right: 0;
    bottom: .5em;
    left: 0;
    padding: 0 1em
}

.splide__pagination__page {
    display: inline-block;
    position: relative;
    width: 8px;
    height: 8px;
    margin: 3px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ccc;
    opacity: .7;
    transition: transform .2s linear
}

.splide__pagination__page.is-active {
    z-index: 1;
    transform: scale(1.4);
    background: #fff
}

.splide__pagination__page:hover {
    cursor: pointer;
    opacity: .9
}

.splide__pagination__page:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__pagination__page:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__progress__bar {
    height: 3px;
    background: #ccc
}

.splide__slide {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.splide__slide:focus {
    outline: 0
}

@supports (outline-offset:-3px) {
    .splide__slide:focus-visible {
        outline: 3px solid #0bf;
        outline-offset: -3px
    }
}

@supports (outline-offset:-3px) {
    .splide.is-focus-in .splide__slide:focus {
        outline: 3px solid #0bf;
        outline-offset: -3px
    }
}

.splide__toggle {
    cursor: pointer
}

.splide__toggle:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__toggle:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__track--nav>.splide__list>.splide__slide {
    border: 3px solid transparent;
    cursor: pointer
}

.splide__track--nav>.splide__list>.splide__slide.is-active {
    border: 3px solid #000
}

.splide__arrows--rtl .splide__arrow--prev {
    right: 1em;
    left: auto
}

.splide__arrows--rtl .splide__arrow--prev svg {
    transform: scaleX(1)
}

.splide__arrows--rtl .splide__arrow--next {
    right: auto;
    left: 1em
}

.splide__arrows--rtl .splide__arrow--next svg {
    transform: scaleX(-1)
}

.splide__arrows--ttb .splide__arrow {
    left: 50%;
    transform: translate(-50%)
}

.splide__arrows--ttb .splide__arrow--prev {
    top: 1em
}

.splide__arrows--ttb .splide__arrow--prev svg {
    transform: rotate(-90deg)
}

.splide__arrows--ttb .splide__arrow--next {
    top: auto;
    bottom: 1em
}

.splide__arrows--ttb .splide__arrow--next svg {
    transform: rotate(90deg)
}

.splide__pagination--ttb {
    -ms-flex-direction: column;
    display: -ms-flexbox;
    display: flex;
    top: 0;
    right: .5em;
    bottom: 0;
    left: auto;
    flex-direction: column;
    padding: 1em 0
}

@media screen and (-ms-high-contrast:none) {
    .splide__slide:focus-visible {
        border: 3px solid #0bf
    }

    .splide.is-focus-in .splide__slide:focus {
        border: 3px solid #0bf
    }

    .splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus {
        border-color: #0bf
    }
}