@charset "utf-8";*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";margin:0;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin:0;padding:0;list-style:none}ol ol,ol ul,ul ol,ul ul{margin:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.featherlight-sample{display:none}#law td{background:#fff;border:solid 1px #999}ol{margin-bottom:1rem}.clearfix:after{content:"";clear:both;display:block}

@font-face{font-family:"HKW5";src:url(/files/HKW5.woff2) format("woff2"),url(/files/HKW5.woff) format("woff")}
@font-face{font-family:"HKW7";src:url(/files/HKW7.woff2) format("woff2"),url(/files/HKW7.woff) format("woff")}
@font-face{font-family:"KMPm";src:url(/files/KMPm.woff2) format("woff2"),url(/files/KMPm.woff) format("woff")}
.HKW5{font-family:"HKW5"}.HKW7{font-family:"HKW7"}.KMPm{font-family:"KMPm"}

header {}

footer {text-align: center;
	padding: 10px;}
footer ul li {
	font-size: 13px;
	display: inline-block;
	margin: 0 7px;}
footer ul li a {
    color: #222;
    font-family: 'HKW7';
    font-size: 14px;
    color: #a9a9a9;}


.wrapper {
    width: 100%;
    height: 100vh;
    position: relative;}
.wrapper:before {
    content: "";
    background-image: url(/files/8d21af7d-ca56-4a3c-a59d-a18e40be9adf.jpg);
    position: fixed;
    background-size: contain;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100vw;
}
.bfr {}
.bfr .loginpage {
    width: 90%;
    max-width: 500px;
    margin: 0 auto 70px;
    padding: 3%;
    background-color: #fff;}
.bfr .loginpage form {
    width: 100%;}
.bfr .loginpage form p {
    width: 100%;
    margin: 20px auto 0;}
.bfr .loginpage form p span {
    width: 100px;
    display: inline-block;}
.bfr .loginpage input[type="text"] {
    width: calc(100% - 100px);}
.bfr .loginpage input[type="password"] {
    width: calc(100% - 100px);}
.bfr .loginpage input[type="submit"] {
    width: 100px;
    margin: 20px auto 0;
    display: block;}

header {}
header div {
    width: 58.484%;
    margin: 0 auto;
    padding: 1vw 0;
    max-width: 779px;}
header div img {
    width: 100%;}
header nav {
    width: 100%;
    height: 60px;
    background: rgb(140,96,26);
    background: linear-gradient(0deg, rgba(140,96,26,1) 0%, rgba(180,129,32,1) 20%, rgba(247,214,152,1) 100%);
    border-top: solid 2px #835f2e;
    position: relative;
    display: flex;}
header nav:before,
header nav:after {
    content: "";
    background: rgb(122,88,48);
    background: linear-gradient(90deg, rgba(122,88,48,1) 0%, rgba(194,154,67,1) 14%, rgba(255,244,220,1) 27%, rgba(199,159,73,1) 38%, rgba(255,243,219,1) 51%, rgba(218,173,95,1) 63%, rgba(255,244,220,1) 73%, rgba(231,191,120,1) 84%, rgba(231,191,120,1) 100%);
    width: 100%;
    position: absolute;
    height: 2px;
    z-index: 1;}
header nav:before { top: 0;}
header nav:after { bottom: 0;}
header nav ul {
    width: 100%;
    height: 60px;
    max-width: 1250px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}
header nav ul li {
    width: calc(100% / 5);
    position: relative;}
header nav ul li:first-child:before,
header nav ul li:after {
    content:"";
    background: rgb(57,32,6);
    background: linear-gradient(0deg, rgba(57,32,6,1) 0%, rgba(57,32,6,1) 47%, rgba(201,166,2,1) 82%, rgba(84,59,22,1) 100%);
    position: absolute;
    width: 2px;
    height: 100%;
    display: block;}

header nav ul li:first-child:before {
    top: -2px;
    left: 0;}
header nav ul li:after {
    top: -2px;
    right: 0;}


header nav ul li a {
    display: block;
    height: 60px;
    line-height: 60px;
    text-align: center;
    color: #000;
    font-family: 'KMPm';}

.bfr header nav { display: none;}


main {
    width: 100%;
    overflow: hidden;
    position: relative;
    width: 94%;
    max-width: 1250px;
    background-color: #fff;
    margin: 3.5vw auto 0;
    padding: 3vw;
    border-top-left-radius: 7vw;
    border-top-right-radius: 7vw;
background-image: url(/files/7b18536d-f718-44b1-b665-a1bec5231910.png),url(/files/d8816f66-0c0b-4598-8fdf-b44b088ad42b.png),url(/files/15f7d6db-888d-4f91-85d0-5336f6f2102e.png),url(/files/964fb966-97b6-4170-845b-a91d5ec59095.png);

background-size: 10vw 10vw,10vw 10vw,10vw 10vw,10vw 10vw;
    background-repeat: no-repeat;
    background-position: top 1.5vw left 1.5vw, top 1.5vw right 1.5vw, bottom 1.5vw left 1.5vw, bottom 1.5vw right 1.5vw;}

.bfr main { background-image:none;
    box-shadow: 0 0 14px #ccc;}

.login_ ul {
    width: 90%;
    margin: 5vw auto;
    display: flex;
    align-items: center;
    justify-content: space-between;}
.login_ ul li {
    width: 45%;}
.login_ ul li  a{
    display: block;
    background-color: #fff;
    color: #00318a;
    border: solid 2px #00318a;
    text-align: center;
    border-radius: 50px;
    font-size: 25px;
    height: 100px;
    line-height: 100px;
    width: 100%;
    cursor: pointer;}
.login_ ul li a:hover {
    background-color: #00318a;
    color: #fff;}


.login_ div {
    width: calc(82% + 5vw);
    margin: 5vw auto;
    padding: 1vw 2vw;
    position: relative;
    border-top: solid 2px #000;
    border-bottom: solid 2px #000;}
.login_ div h2 {
    font-size: 30px;
    position: absolute;
    top: -1.5vw;
    text-align: center;
    margin: 0 auto;
    right: 0;
    left: 0;
    background-color: #fff;
    width: max-content;
    padding: 0 1vw;
    font-family: 'HKW7';}
.login_ div p {
    font-size: 22px;
    margin: 30px 0 0;}
.login_ div:before,
.login_ div:after {
    content: "";
    position: absolute;
    height: calc(100% + 2vw);
    top: -1vw;
    width: 2px;
    background-color: #000;}
.login_ div:before { left: 1vw;}
.login_ div:after { right: 1vw;}



.ma_logo div img {
    width: max-content;
    margin: 0 auto;
    display: block;}
.ma_logo p {
    margin: -1.5vw auto 3vw;
    font-size: 24px;
    font-family: 'HKW7';
    text-align: center;
    color: #00318a;}
.ma_ul {
    display: flex;
    justify-content: space-between;
    align-items: center;}
.ma_ul li { width: 47%;}
.ma_ul li a {
    display: block;
    background-color: #00318a;
    border-radius: 50px;
    height: 70px;
    line-height: 70px;
    text-align: center;
    font-size: 25px;
    font-family: 'HKW5';
    color: #fff;
    cursor: pointer;}
.ma_ul li:last-child a { background-color: #f19390;}
.ma_txt p {
    font-size: 13px;
    text-align: center;
    margin: 2vw;
    font-family: 'HKW5';}
.ma_tips p {
    border: solid 1px;
    padding: 1.5vw;
    font-size: 13px;
    font-family: 'HKW5';
    margin: 0;}
.ma_tips p span {
    display: block;
    text-align: center;
    margin: 0 auto 1.25vw;}
#login form p,
#men form p,
#women form p {
    margin: 0 auto;
    font-size: 15px;
    font-family: 'HKW5';
    color: #00318a;}
#login input,
#men input,
#women input {
    width: 100%;
    height: 50px;
    border-radius: 10px;
    border: solid 2px #ddd;
    min-width: 300px;
    margin: 0 auto 1vw;}
#login form button,
#login form input[type="submit"],
#men form button,
#women form button,
#men form input[type="submit"],
#women form input[type="submit"] {
    background-color: #00318a;
    color: #fff;
    border: solid 2px #00318a;
    text-align: center;
    border-radius: 50px;
    font-size: 25px;
    height: 70px;
    line-height: 70px;
    width: 100%;
    max-width: 400px;
    margin: 2vw auto;
    display: block;}
#login form a,
#men form a,
#women form a {
    font-size: 13px;
    width: 100%;
    display: block;
    color: #000;
    text-align: center;}
.birth {
    display: flex;
    align-items: center;
    justify-content: space-around;}
.birth select {
    width: 21%;
    min-width: max-content;
    height: 50px;
    text-align: center;
    border-radius: 10px;
    border: solid 2px #ddd;}
.birth select.f-birth {
    width: 33%;}
.birth div {
    width: 5%;
    min-width: max-content;}

.login-error {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;}
.login-error p {
    margin: 0 auto;
    font-size: 15px;
    font-family: 'HKW5';
    color: #00318a;}
.login-error input {
    width: 100%;
    height: 50px;
    border-radius: 10px;
    border: solid 2px #ddd;
    min-width: 300px;
    margin: 0 auto 1vw;}
.login-error input[type="submit"] {
    background-color: #00318a;
    color: #fff;
    border: solid 2px #00318a;
    text-align: center;
    border-radius: 50px;
    font-size: 25px;
    height: 70px;
    line-height: 70px;
    width: 100%;
    max-width: 400px;
    margin: 2vw auto;
    display: block;}
.login-error a {
    width: max-content;
    height: 50px;
    border-radius: 25px;
    border: solid 2px #555;
    min-width: 300px;
    margin: 1vw auto;
    display: block;
    text-align: center;
    line-height: 50px;
    color: #555;}

.sp { display: none;}
.pc { display: block;}

@media screen and (max-width: 797px) {
	header div { width: 90%;}
	header nav ul li a { font-size: 12px;}
	header nav,
	header nav ul,
	header nav ul li a { height: 50px;}
	header nav ul li a { line-height: 48px;}
	.login_ ul { display: block;}
	.login_ ul li {
	    width: 100%;
	    color: #fff;
    margin: 3.5vw auto;}
.login_ ul li a {
	    font-size: 17px;
    height: 80px;
	    line-height: 80px;
    background-color: #00318a;
    color: #fff;
}
	.login_ div h2 {
	    font-size: 20px;
	    top: -18px;}
	.login_ div p {
	    font-size: 15px;
	    margin: 20px 0 0;
	    padding: 0 14px;}
	.login_ div {
	    margin: 10vw auto 3vw;}
}

.pont_box {
    width: 90%;
    max-width: 500px;
    border: solid 1px;
    text-align: center;
    padding: 14px 0;
    line-height: 2;
    margin: 0 auto;
    font-family: 'HKW5';
    font-size: 20px;}
.pont_box ul .user_name span:after { content:"様";}
.pont_box ul .user_id span:before { content:"ID:";}
.pont_box ul .user_point span:before { content:"所持Point:";}

h2 {
    font-family: 'KMPm';
    text-align: center;
    font-size: 40px;
    margin: 3.5vw auto;
    position: relative;}
h2:after {
    content: "";
    width: 37.809%;
    max-width: 442px;
    height: 0;
    padding-bottom: 9px;
    background-image: url(/files/1fb1e132-2b59-439f-ae35-931df5fb7986.png);
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    margin: 14px auto 0;}
.login_ div h2:after { display: none;}

.menu p {
    font-family: 'HKW5';
    font-size: 20px;
    text-align: center;}
.menu ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
    max-width: 468px;}
.menu ul li {
    width: 100%;
    margin-bottom: 2rem;}
.menu ul li a {
    display: block;}
.menu ul li a img { width: 100%;}

.menu_c a {
    width: 73.041%;
    display: block;
    margin: 0 auto;}
.menu_c a img { width: 100%;}

.pont_box_ { margin: 7vw auto 0;}
.pont_box_ p {
    font-family: 'HKW5';
    font-size: 20px;
    text-align: center;
    margin: 3.5vw auto;}
.pont_box_ ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
    max-width: 1050px;}
.pont_box_ ul li {
    width: 48.883%;
    margin: 0 auto;}
.pont_box_ ul li a { display: block;}
.pont_box_ ul li a img { width: 100%;}



.pont_box_ ul li.kesibnr {
    width: 97.766%;
    display: flex;
    flex-wrap: wrap;}
.pont_box_ ul li.kesibnr a {
    width: 48.883%;}

.mail ul {
    width: 90%;
    margin: 0 auto;
    max-width: 1050px;}
.mail ul li { padding: 1rem;}
.mail ul li:nth-child(even) { background-color: #f1fbff;}
.mail ul li a span {
    font-size: 20px;
    display: block;}
.mail ul li a span:first-child {
    font-family: 'HKW7';
    color: #000;
    margin: 0 0 7px;}
.mail ul li a span:last-child {
    color: #4751b3;
    font-family: 'HKW5';}
.pg {
    text-align: center;
    margin: 7vw;}
.pg a {
    display: block;
    width: max-content;
    margin: 0 auto;
    font-family: 'HKW5';}

.contact p{
    font-family: 'HKW5';
    font-size: 20px;
    text-align: center;
    margin: 3.5vw auto;}
.contact form {
    width: 94%;
    max-width: 500px;
    margin: 0 auto;}
.contact form p {
    text-align: left;
    margin: 30px 0 7px;}
.contact form input {
    width: 100%;
    height: 50px;
    padding: 14px;}
.contact form textarea {
    width: 100%;
    height: 150px;
    padding: 14px;}
.contact form button {
    width: 180px;
    height: 40px;
    background-color: #4751b3;
    border-radius: 3px;
    color: #fff;
    border: none;
    margin: 14px auto;
    display: block;}
@media screen and (max-width: 797px) {
.pc { display:none;}
.sp { display: block;}

.pont_box {
    width: 80%;
    margin: 7vw auto;
    font-size: 17px;}
h2 {
    font-size: 20px;
    margin: 10vw auto 3vw;}
h2:after {
    width: 80%;
    max-width: 442px;
    padding-bottom: 1.5vw;
    background-size: contain;}
.menu ul { display: block;}
.menu ul li {
    width: 100%;
    margin-bottom: 1rem;}
.menu_c a { width: 100%;}
.pont_box_ p {
    width: 80%;
    font-size: 15px;}
.pont_box_ ul { display: block;}
.pont_box_ ul li {
    width: 100%;
    margin-bottom: 1rem;}
.mail ul li a span {
    font-size: 15px;
    display: block;}
.contact p {
    text-align: left;
    font-size: 15px;}
.ma_ul {
    display: block;}
.ma_ul li {
    width: 95%;
    margin: 3.5vw auto;}

.pont_box_ ul li:last-child {
    width: 100%;
    display: block;
}
.pont_box_ ul li.kesibnr a {
    width: 100%;
}
}

@media screen and (max-width: 450px) { header nav ul li a { font-size: 9px;}}


.msg {}
.msg_ {
    padding: 0 7vw;}
.msg_ h2 {
    text-align: left;
    font-size: 80%;
}
.msg_ h2 span:last-child {
    display: block;
    text-align: left;
    font-size: 20px;
    border-top: solid 1px #ddd;
    border-bottom: solid 2px #ddd;
    margin: 7px auto 0;
}
.msg_ h2:after { display: none;}
.msg_ p {
    border-bottom: double 4px #ddd;
    padding: 0 0 14px;
    font-size: 40px;}



.response {
    padding: 0 7vw;}
.response .body {}
.response .body textarea {
    width: 100%;
    min-height: 250px;
    border: solid 3px #ddd;}
.response .btn {
    margin: 0 auto 50px;}
.response .btn input[type="submit"],
.response .btn a {
    display: block;
    background-color: #fff;
    color: #00318a;
    border: solid 2px #00318a;
    text-align: center;
    border-radius: 50px;
    font-size: 25px;
    height: 100px;
    line-height: 100px;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    cursor: pointer;}
.response_ {}
.response_ h2 {
    margin: 0vw auto 3vw;
}

.mail.send {}
.mail.send a {}
.mail.send a span {}
.mail.send a span:last-child {
    width: auto;
    height: 20px;
    overflow: hidden;
    line-height: 1;}

@media screen and (max-width: 797px) {
.msg_ p {
    font-size: 20px;
}
.response .btn input[type="submit"],
.response .btn a {
    font-size: 17px;
    height: 50px;
    max-width: 250px;
    line-height: 50px;
    background-color: #00318a;
    color: #fff;}

.mail.send a span:last-child {
    width: auto;
    height: 15px;
    overflow: hidden;
    line-height: 1;}
}


.pointAddition {}
.pointAddition form {}
.pointAddition form {}
.PAbox {}
.PAbox li {
    margin: 21px auto;}
.PAbox li div {}
.PAbox li div:first-child {}
.PAbox li div:last-child {}
.PAbox li div label {}
.PAbox li div span {
    font-size: 90%;
    margin: 0 0 0 7px;
    color: #f00;}
.PAbox li div select {
    width: 100%;
    height: 50px;
    padding: 14px;}
.PAbox .PAsubmit input[type="submit"] {}
