﻿@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
*,::before,::after {
    box-sizing:border-box;
    background-repeat:no-repeat
}
::before,::after {
    text-decoration:inherit;
    vertical-align:inherit
}
:where(:root) {
    cursor:default;
    line-height:1.5;
    overflow-wrap:break-word;
    -moz-tab-size:4;
    tab-size:4;
    -webkit-tap-highlight-color:transparent;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%
}
:where(body) {
    margin:0
}
:where(h1) {
    font-size:2em;
    margin:0.67em 0
}
:where(dl,ol,ul):where(dl,ol,ul) {
    margin:0
}
:where(hr) {
    color:inherit;
    height:0
}
:where(nav):where(ol,ul) {
    list-style-type:none;
    padding:0
}
:where(nav li)::before {
    content:"\200B";
    float:left
}
:where(pre) {
    font-family:monospace,monospace;
    font-size:1em;
    overflow:auto
}
:where(abbr[title]) {
    text-decoration:underline;
    text-decoration:underline dotted
}
:where(b,strong) {
    font-weight:bolder
}
:where(code,kbd,samp) {
    font-family:monospace,monospace;
    font-size:1em
}
: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-collapse:collapse;
    border-color:currentColor;
    text-indent:0
}
:where(button,input,select) {
    margin:0
}
:where(button,[type="button" i],[type="reset" i],[type="submit" i]) {
    -webkit-appearance:button;
    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;
    appearance:textfield;
    outline-offset:-2px
}
::-webkit-inner-spin-button,::-webkit-outer-spin-button {
    height:auto
}
::-webkit-input-placeholder {
    color:inherit;
    opacity:0.54
}
::-webkit-search-decoration {
    -webkit-appearance:none
}
::-webkit-file-upload-button {
    -webkit-appearance:button;
    font:inherit
}
:where(dialog) {
    background-color:white;
    border:solid;
    color:black;
    height:-moz-fit-content;
    height:fit-content;
    left:0;
    margin:auto;
    padding:1em;
    position:absolute;
    right:0;
    width:-moz-fit-content;
    width:fit-content
}
:where(dialog:not([open])) {
    display:none
}
:where(details>summary:first-of-type) {
    display:list-item
}
:where([aria-busy="true" i]) {
    cursor:progress
}
: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
}
body {
    width:100%;
    line-height:auto;
    color:#333;
    font-size:16px;
    margin:0;
    font-weight:500
}
em {
    font-style:normal
}
ul {
    margin:0;
    padding:0
}
li {
    list-style-type:none;
    margin:0;
    padding:0
}
a {
    text-decoration:none;
    color:#333
}
p {
    margin:0
}
img {
    display:block;
    max-width:100%
}
h1,h2,h3 {
    line-height:1;
    margin:0;
    padding:0
}
button {
    background-color:transparent;
    border:none;
    cursor:pointer;
    outline:none;
    padding:0;
    appearance:none
}
.pc {
    display:inline-block
}
@media screen and (max-width:767px) {
    .pc {
        display:none
    }
}.sp {
     display:none !important
 }
@media screen and (max-width:767px) {
    .sp {
        display:inline-block
    }
}::placeholder {
     color:#CCC
 }
::-ms-input-placeholder {
    color:#CCC
}
:-ms-input-placeholder {
    color:#CCC
}
@media screen and (max-width:767px) {
    input[type="submit"],input[type="reset"],input[type="button"],button {
        cursor:pointer;
        -webkit-appearance:button;
        *overflow:visible
    }
}@media screen and (max-width:767px) {
    input[type=text],textarea,input[type=button],input[type=checkbox],input[type=password] {
        -webkit-appearance:none
    }
}body {
     font-family:"Zen Kaku Gothic New",sans-serif;
     background:#FDEBDE;
     letter-spacing:.05em
 }
body.lock {
    overflow:hidden
}
body .box {
    opacity:0
}
body .slideUp {
    opacity:1;
    animation:slideUp 1s ease-in-out forwards
}
@keyframes slideUp {
    from {
        opacity:0
    }
    to {
        opacity:1
    }
}.btn-confirm {
     text-align:center
 }
.btn-confirm a {
    background:#C00000;
    display:block;
    color:#FFF;
    font-weight:700;
    font-size:18px;
    padding:15px;
    letter-spacing:.05em;
    border-radius:10px;
    margin:0 15px;
    border:1px solid #FFF;
    position:relative
}
main {
    max-width:768px;
    margin:20px auto;
    padding:0 0 90px 0
}
@media screen and (max-width:767px) {
    main {
        margin:15px 0
    }
}main>i {
     font-weight:500;
     text-align:center;
     display:block;
     font-style:normal;
     font-size:12px;
     margin-bottom:15px
 }
main>i span {
    color:#004085;
    font-weight:900
}
main .main-visual {
    padding:30px 0 30px 0;
    margin:0 15px 45px 15px;
    background:#FFF;
    border-radius:15px
}
main .main-visual h2 {
    width:calc(100% - 30px);
    margin:20px auto 10px auto
}
main .main-visual p.powerd-by {
    display:flex;
    justify-content:center;
    align-items:center;
    font-family:"Roboto",sans-serif;
    font-size:12px;
    letter-spacing:0;
    margin:0 0 10px 0;
    font-weight:normal;
    color:#58595b
}
main .main-visual p.powerd-by img {
    width:90px;
    margin:0 0 0 10px
}
main .main-visual .image {
    margin:20px auto;
    width:70%
}
main .main-visual h1 {
    font-weight:500;
    text-align:center;
    font-size:13px;
    line-height:1.6;
    color:#333
}
main .first-btn-area {
    padding:0
}
main .first-btn-area dl.acc {
    margin:15px 0 10px 0
}
main .first-btn-area dl.acc dt {
    color:#5E6063;
    font-size:12px;
    text-decoration:underline;
    text-align:center;
    font-weight:bold
}
main .first-btn-area dl.acc dd {
    color:#5E6063;
    display:none;
    font-size:13px;
    padding:15px 0 0 0;
    margin:0
}
main .first-btn-area .btn-anchor {
    text-align:center
}
main .first-btn-area .btn-anchor a {
    color:#5E6063;
    background:url("../image/pointer.svg") no-repeat left 50%;
    background-size:15px;
    font-size:13px;
    padding:0 0 0 20px;
    font-weight:normal
}
main section {
    padding:0 15px 30px 15px;
    background:#FFF;
    margin:35px 15px 45px 15px;
    border-radius:15px
}
main section.last {
    margin-bottom:30px
}
main section.last .pic {
    margin:20px 0 0 0
}
main section.last h1 {
    font-size:20px;
    text-align:center;
    color:#5E6063;
    margin:30px 0 15px;
    padding:30px 0 0 0
}
main section.last h1:before {
    content:"";
    display:block;
    background:url("../image/acc.svg") no-repeat;
    background-size:100%;
    width:180px;
    height:30px;
    margin:0 auto
}
main section.last h1 small {
    margin:20px 0 10px 0;
    font-size:15px;
    display:block
}
main section h3 {
    color:#333;
    text-align:center;
    font-size:16px
}
main section h2 {
    color:#7E6000;
    font-family:"Roboto",sans-serif;
    text-align:center;
    font-size:46px;
    position:relative;
    width:50px;
    height:50px;
    margin:0 auto;
    top:-20px;
    background:#FDEBDE;
    font-size:24px;
    border-radius:50%
}
main section h2 em {
    display:block;
    font-size:11px
}
main section .txt {
    position:relative;
    padding:0
}
main section .txt figure {
    text-align:center;
    margin:0;
    position:relative;
    z-index:1
}
main section .txt figure img {
    display:block;
    margin:0 auto
}
main section .txt figure figcaption {
    font-size:22px;
    font-weight:900;
    margin:15px 0 10px 0;
    letter-spacing:.055em;
    color:#C00000;
    line-height:1.3
}
main section .txt figure figcaption span {
    font-family:"Roboto",sans-serif;
    font-size:110%
}
main section .txt figure figcaption em {
    color:#004085
}
main section .txt p {
    font-size:14px;
    line-height:1.6;
    position:relative;
    z-index:1;
    color:#333;
    margin:0 5px
}
main section .txt p sup {
    font-size:10px
}
main section .txt p.att {
    text-align:left;
    margin:0
}
main section .txt p span {
    font-family:"Roboto",sans-serif
}
main section .txt p small {
    color:#5E6063;
    font-size:10px;
    display:block;
    margin:10px 0 0 7px;
    letter-spacing:0
}
main section .txt p small:before {
    content:"※";
    color:#C00000
}
main .about {
    margin:30px 15px 0 15px
}
main .about h2 {
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:16px;
    font-weight:500
}
main .about h2 img {
    height:55px;
    margin:0 10px 0 0
}
main .about .edu {
    border:1px solid #FFF;
    padding:20px;
    margin:30px 0 0 0
}
main .about .edu h3 {
    text-align:center
}
main .about .edu h3:after {
    content:"";
    display:block;
    background:#FFF;
    width:15px;
    height:2px;
    margin:15px auto 0 auto
}
main .about p {
    font-size:13px;
    margin:15px 15px 30px;
    text-align:left;
    line-height:1.7
}
main .logos {
    width:200px;
    margin:0 auto
}
main .logos ul li:last-child {
    margin:5px 0 0 0
}
main #conditions {
    background:#FFF;
    margin:20px 15px 0 15px;
    padding:15px;
    border-radius:15px 15px 0 0
}

main #conditions .table {
    border:1px solid #E6E7E8;
    padding:15px;
    margin:20px 0 0 0
}
main #conditions h2 {
    display:flex;
    justify-content:space-between;
    padding:15px 0 0 0
}
main #conditions h2 img {
    height:55px;
    display:block;
    margin:0 auto
}
main #conditions table {
    width:100%;
    padding:20px 0
}
main #conditions table tr {
    display:block;
    border-bottom:1px solid #E6E7E8;
    padding:12px 0
}
main #conditions table tr:last-child {
    border-bottom:none
}
main #conditions table tr:last-child td {
    padding-bottom:0
}
main #conditions table tr th,main #conditions table tr td {
    display:block;
    text-align:left;
    font-size:14px;
    height: auto;
    padding: 1px;
    border: 0;
}
main #check {
    padding:20px 15px 30px;
    margin:0 15px;
    background:#FFF;
    border-radius:0 0 15px 15px
}

main #check h3 {
    text-align:center;
    font-size:16px
}

main #check h3 span {
    background:url("../image/check.svg") no-repeat left 50%;
    background-size:18px;
    font-weight:700;
    padding:0 0 0 30px
}

main #check .hide-text {
    display:none;
    margin:0 0 30px 0
}

main #check .block_hope_footer_button {
    margin:20px 0;
    display:block;
    border:2px solid #C00000;
    color:#C00000;
    font-size:16px;
    text-align:center;
    padding:15px 5px;
    font-weight:900;
    letter-spacing:0;
    border-radius:10px
}

main #check table th {
    background: #fafafa;
}

main #check table {
    width: 100%;
    text-align: center;
    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

main #check p.txt {
    text-align:center;
    font-size:14px;
    margin-top: 20px;
}
aside {
    border-top:1px solid #e6e7e8;
    margin-top:20px;
    padding:20px 0 0 0
}
aside ul li,aside ul a {
    text-align:center;
    font-size:12px;
    letter-spacing:0;
    line-height:1.7
}
aside ul li em,aside ul a em {
    font-weight:bold
}
.blue-bk {
    background:#004085;
    padding:30px 15px
}
.blue-bk h2 {
    text-align:center;
    color:#FFF;
    font-size:14px;
    line-height:1.6
}
.blue-bk h2 em {
    font-size:16px
}
.blue-bk h2 span {
    font-size:22px;
    font-family:"Roboto",sans-serif
}
.blue-bk dl dt {
    border:1px solid #FFF;
    text-align:center;
    padding:12px;
    color:#FFF;
    position:relative;
    font-weight:700
}
.blue-bk dl dt:after {
    content:"";
    display:block;
    background:url("../image/hook.svg") no-repeat;
    background-size:100%;
    width:12px;
    height:8px;
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:-8px
}
.blue-bk dl dd {
    margin:15px 0;
    padding:0
}
.blue-bk dl dd ul {
    display:flex;
    justify-content:center;
    align-items:baseline
}
.blue-bk dl dd ul li {
    color:#FFF;
    font-size:16px
}
.blue-bk dl dd ul li:first-child {
    font-weight:900
}
.blue-bk dl dd ul li:first-child span {
    font-family:"Roboto",sans-serif;
    font-size:110%
}
.blue-bk dl dd ul li:first-child:after {
    content:"→";
    margin:0 .5em
}
.blue-bk dl dd ul li:last-child span {
    font-size:140%;
    color:#f9ed32;
    font-weight:900
}
.blue-bk dl dd ul li:last-child span em {
    font-family:"Roboto",sans-serif;
    font-size:110%
}
.blue-bk p {
    text-align:center
}
.blue-bk p small {
    font-size:10px;
    color:#FFF;
    letter-spacing:0
}
footer {
    padding:20px 15px;
    margin:0 auto 30px auto;
    max-width:768px;
    box-sizing:border-box
}
.fixed {
    margin:0;
    position:fixed;
    left:50%;
    transform:translateX(-50%);
    bottom:0;
    width:100%;
    z-index:1000
}
.marquee-wrapper1 {
    width:100%;
    overflow:hidden;
    position:relative;
    margin:20px 0
}
.marquee1 .slidebox {
    display: flex;
    margin: 0 10px;
}
.marquee1 .slidebox:nth-child(even) {
    margin-top: 30px;
}
.marquee1 {
    display:flex;
    will-change:transform;
    align-items:center;
    white-space:nowrap;
    animation-play-state: running;
    width: max-content;
    backface-visibility: hidden;
    perspective: 1000px;
    transform: translateZ(0);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media screen and (max-width:767px) {
    .marquee1 {
        align-items:flex-start
    }
}.marquee1 img {
     max-width:135px;
     height:135px;
     border-radius:20px;
    flex-shrink: 0;
    width: 135px;
    transform: translateZ(0);
    backface-visibility: hidden;
 }
@media screen and (max-width:767px) {
    .marquee1 img {
        flex-shrink:0
    }
}

@keyframes marquee-animation {
    0% {transform: translateX(0);}
    100% {transform: translateX(-50%);}
}

.marquee1:hover {
    animation-play-state: paused;
}