@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 {
    margin:0;
    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";
    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-top:0;
    margin-bottom:1rem;
    list-style: none;
    padding:0;}
ol ol,ol ul,ul ol,ul ul { margin-bottom: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;}
a:not([href]):not([class]) { color:inherit; text-decoration:none;}
a:not([href]):not([class]):hover { color:inherit; text-decoration:none;}
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;}
    ::-webkit-file-upload-button {
    font:inherit;
    -webkit-appearance:button;}
output {display:inline-block;}
summary{display:list-item; cursor:pointer;}
template { display:none;}
[hidden] { display:none!important;}
header,
header img { width: 100%;}
header {
    position: relative;
    z-index: 1;}
header img{ width: 100%;}
.ttl {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -30px;}
.ttl img {
    width: 38.5%;
    max-width: 385px;}
section {
    content: "";
    background: url(../img/bg.gif) no-repeat;
    background-size: 100% 100%;
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    top: 0;}
footer {
    text-align: center;
    padding: 10px;
    position: relative;}
footer ul {
    list-style: none;
    padding: 0;}
footer ul li a {
    color: #a9a9a9;
    font-size: 13px;}
footer small span { color: #ccc;}
.clearfix:after{
    content: "";
    clear: both;
    display: block;}
.sct05 {
    transform: none;
    text-shadow: none;
    position: relative;
    width: 90%;
    max-width: 754px;
    margin: 0 auto;
    padding: 0 min(3vw, 50px);}
.sct05bg {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    background-size: contain;
    background-position-y: 70px;
    position: relative;}
.sct05bg div:nth-child(1) {
    width: 67.459%;
    margin: 5% auto 1.5%;}
.sct05bg div:nth-child(1) img { width: 100%;}
.sct05bg div:nth-child(2) {
    width: 32.2%;
    margin: 0 33.9% 3%;}
.sct05bg div:nth-child(3) {
    width: 27.6%;
    margin: 0 36.2% 2%;}

.kakunin p {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 50px;}
form {}
select { cursor: pointer;}
.pkg00,
.pkg00_,
.area00 { display:none;
    position: absolute;
    right: -19px;}
.none,
.areann{width: max-content;
    display: inline-block;
    position: absolute;
    right: 0px;
    top: 10px;}
input + span::before {
    position: absolute;
    right: 0px;
    top: 5px;}
.areann::before,
.none::before,
input:invalid + span::before,
.opt-in::before {
    content: '✖';
    color: red;
    font-size: 20px;
    padding: 10px 0;}
.pkg00::before,
.pkg00_::before,
.none.pkg00::before,
.none.pkg00_::before,
.area00::before {
    content: '✓';
    color: green;
    font-size: 20px;
    padding: 10px 0;
    display: inline-block;
    position: absolute;
    top: -17px;
    right: 7px;}
input:checked + label.opt-in { display: inline-block;}
input:valid + span::before,
input:checked + label.opt-in::before {
    content: '✓';
    font-size: 20px;
    padding: 10px 0;
    color: green;
    right: 10px;}
fieldset { border: none;}
.submit{position: relative;
    height: 50px;
    margin: 30px auto;
    width: 100%;}
.submit span,
.submit input { border: solid 1px #ccc;}
.submit span {
    border: solid 1px #ccc;
    display: block;
    position: absolute;
    width: 100%;
    height: 50px;
    text-align: center;
    font-size: 30px;
    line-height: 50px;
    cursor: no-drop;
    background: #fff;}
.submit input {
    border: solid 1px #ccc;
    display: block;
    position: absolute;
    width: 100.5%;
    height: 52px;
    text-align: center;
    font-size: 30px;
    line-height: 50px;
    opacity: 1;
    display: block;
    background: #259873;
    color: #fff;
    font-weight: bold;
    cursor: pointer;}
form input[type="checkbox"] {
    width: 30px;
    height: 30px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 14px;}
.FormBox {
    width: 100%;
    max-width: 960px;
    margin: 0 auto 28px;
    padding: 4%;
    background: #fff;}
form .wid {
    font-size: 0;
    position: relative;
    margin: 0 0 21px;
    display: flex;
    align-items: center;
    justify-content: flex-start;}
.widTtl{font-size: 18px;
    font-weight: bold;
    display: inline-block;
    width: 250px;
    padding: 10px 0;}
.widTtl:after  {
    content: "必須";
    background: #f00;
    color: #fff;
    border-radius: 3px;
    font-size: 17px;
    padding: 2px 5px;
    float: right;
    margin: 0 21px 0 0;}
.widTtl_{
    font-size: 18px;
    font-weight: bold;
    display: inline-block;
    width: 280px;
    padding: 10px 0;}
.widTtl_:after  {
    content: "任意";
    background: #0089ffd1;
    color: #fff;
    border-radius: 3px;
    font-size: 17px;
    padding: 2px 5px;
    float: right;
    margin: 0 21px 0 0;}
.widTtl2 {
    font-size: 18px;
    font-weight: bold;
    width: 60%;
    padding: 0 7% 0 0;
    display: inline-block;
    position: relative;
    vertical-align: middle;}
.widTtl2:after  {
    content: "必須";
    background: #f00;
    color: #fff;
    border-radius: 3px;
    font-size: 17px;
    margin: 0 21px 0 0;
    padding: 2px 5px;
    position: absolute;
    right: -21px;
    top: calc(50% - 13px);}
.CheB {    width: 33%;
    margin-left: 4%;
    font-size: 18px;
    font-weight: bold;
    vertical-align: middle;
    display: flex;
    align-items: center;
    justify-content: space-between;}
.widArea {
    width: calc(100% - 320px);
    padding: 10px;
    border: solid 1px #ccc;
    border-radius: 3px;
    font-size: 20px;
    box-sizing: border-box;}
.widArea-1 {
    width: calc(100% - 320px);
    padding: 10px;
    border: solid 1px #ccc;
    border-radius: 3px;
    font-size: 20px;
    box-sizing: border-box;
    margin: 0 0 0 280px;}
form .tan {
    font-size: 21px;
    font-weight: bold;
    width: 97%;}
.opt-in { float: right;}
.kiyaku div {
    border: solid 1px #ccc;
    padding: 15px;
    font-size: 13px;
    margin-top: 60px;
    padding: 40px;
    height: 180px;
    overflow-y: scroll;
    background: #fff;
    transform: none;
    text-shadow: none;}
.kiyaku div h3 {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
    transform: none;
    text-shadow: none;}
.kiyaku div h4 {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 20px;
    transform: none;
    text-shadow: none;}
.kiyaku div .agreement-items { margin-bottom: 30px;
    transform: none;
    text-shadow: none;}
.kiyaku div .agreement-items dt {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
    transform: none;
    text-shadow: none;}
.kiyaku div .agreement-items dl {
    transform: none;
    text-shadow: none;}
.kiyaku div .agreement-items dd {
    transform: none;
    text-shadow: none;}
.kiyaku div .agreement-items dd p {
    font-size: 16px;
    font-weight: bold;
    transform: none;
    text-shadow: none;}
.kiyaku div .agreement-items dd ul {
    font-size: 16px;
    font-weight: bold;
    transform: none;
    text-shadow: none;}
.dai {    width: 100%;
    height: 100vh;
    position: relative;}
.dai section { position: initial;
    background-size: 100%;
    background-position: center;
    width: 100%;
    height: inherit;}
.dai div {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translateY(-50%) translateX(0%);
    -webkit- transform: translateY(-50%) translateX(0%);}
.dai ul li {
    text-align: center;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    display: block;
    font-size: 15px;}
.dai ul li img {
    width: 100%;
    margin: 0 auto 21px;}
.dai a {background: #259873;
    border-radius: 3px;
    padding: 7px 21px;
    margin: 28px auto 0;
    display: block;
    width: max-content;
    font-size: 13px;
    color: #fff;
    font-weight: bold;}
.full {
    border: solid 1px #ccc;
    background: #fff;
    width: 300px;
    margin: 0 auto;
    text-align: center;
    display: block;
    height: 50px;
    border-radius: 7px;
    font-size: 20px;
    cursor: pointer;
    font-weight: bold;}
.full:hover{
    background: #259873;
    color: #fff;
    font-weight: bold;}
.featherlight-sample { display: none;}
#law h3 { text-align: center;}
#law table th {
    background: #eee;
    padding: 10px;}
#law table td {
    background: #fff;
    padding: 10px;}
#rule h3,
#privacy h3 { text-align: center;}
#rule h4,
#privacy h4 {
    font-size: 15px;
    line-height: 1.25;
    color: #202231;
    margin: 30px auto 0;}
#rule ol,
#privacy ol { margin: 20px 0 0 28px;}
#rule ol li,
#privacy ol li {
    list-style: outside decimal;
    font-size: 13px;
    line-height: 1.25;
    margin: 10px 0 0 0;}
#rule p,
#privacy  p {
    margin: 20px 0;
    font-size: 13px;
    line-height: 1.25;}
.featherlight .featherlight-content {
    width: 80%;
    max-width: 640px;}
.submit #send { display: none;}
.submit span { display: block;}
.submit.cng_ #send { display: block;}
.submit.cng_ span { display: none;}
.zenSelect div { display: inline-block;}

.SpNone { display: none !important;}
.PcNone { display: block !important;}

@media screen and (max-width:1000px) {
    .widTtl2 { width: 60%;}
    .widTtl2:after { right: -7%;}
    .CheB {
        margin-left: 5%;
        width: 35%;}
}
@media screen and (max-width:830px) {
    .widTtl2 { font-size: 18px;}
    .CheB { font-size: 18px;}
    .widTtl2 { width: 55%;}
    .widTtl2:after { right: -50px;}
    .widTtl:after,
    .widTtl2:after { font-size: 12px;}
    form .tan { font-size: 18px;}
}
@media screen and (max-width:750px) {
    .widTtl2 { font-size: 13px;}
    .CheB {
        font-size: 15px;
        width: 35%;}
    form .tan { font-size: 15px;}
}
@media screen and (max-width:767px) {.ttl { bottom: -10px;}
}
@media screen and (max-width:640px) {
form input[type="checkbox"] { width:21px;height:21px;}
    .mv {
        width: 280%;
        padding-bottom: 86vh;
        left: -90%;}
    .mv div:nth-child(2) {
        position: absolute;
        width: 30%;}
    .FormBox { width: 92%;}
    input + span::before { right: -5px;}
    .tan input + span::before {
        right: -12px;
        top: calc(50% + -10px);}
    .widTtl{font-size: 15px;
        display: block;
        width: 100%;
        padding: 10px 0 7px;}
    .widArea {
        width: 95%;
        font-size: 15px;
        margin: 7px 0 0;}
    .widArea-1 {
        width: 95%;
        font-size: 15px;
        margin: 7px 0 0;}
    .widTtl2 { width: 90%;}
    .none, .areann {
        top: calc(50% + 10px);
        right: -5px;}
    .CheB {    width: 100%;
        margin-left: 0%;
        margin-top: 7px;}
    .submit span,
    .submit input { font-size: 15px;}
    .kiyaku div { padding: 20px;}
    .kiyaku div h3 {
        font-size: 15px;
        margin-bottom: 3%;}
    .kiyaku div h4 {
        font-size: 13px;
        margin-bottom: 3%;}
    .kiyaku div .agreement-items { margin-bottom: 3%;}
    .kiyaku div .agreement-items dt {
        font-size: 13px;
        margin-bottom: 1%;}
    .kiyaku div .agreement-items dd p { font-size: 3vw;}
    form .wid {
        font-size: 0;
        position: relative;
        margin: 0 0 21px;
        display: block;
        align-items: center;
        justify-content: flex-start;}
    .widTtl {
        font-size: 15px;/*21px*/
        font-weight: bold;
        display: inline-block;
        width: 100%;
        padding: 10px 0;}
    .widArea {
        width: calc(100% - 30px);
        padding: 10px;
        border: solid 1px #ccc;
        border-radius: 3px;
        font-size: 15px;/*20px*/
        box-sizing: border-box;
        display: inline-block;}
    .none, .areann {
        width: max-content;
        display: inline-block;
        position: relative;
        right: initial;
        top: initial;}
    .areann::before, .none::before, input:invalid + span::before, .opt-in::before {
        content: '✖';
        color: red;
        font-size: 20px;
        padding: 10px 0;
        position: relative;
        right: initial;
        top: initial;}
    input:valid + span::before, input:checked + label.opt-in::before {
        content: '✓';
        font-size: 20px;
        padding: 10px 0;
        color: green;
        position: relative;
        top: initial;
        right: -7px;}
    .CheB {
        width: 100%;
        margin-left: 0%;
        margin-top: 7px;
        justify-content: flex-start;}
    .opt-in {
        float: right;
        margin: 0 0 0.5rem auto;}
    .CheB input:valid + span::before,
    .CheB input:checked + label.opt-in::before { right: 5px;}
    form .tan { font-size: 15px;}
    form .tan span{
        float: right;
        margin: 0 0 0.5rem auto;}
    form .tan input:valid + span::before,
    form .tan input:checked + label.opt-in::before { right: 5px;}
    .PcNone { display: none !important;}
    .SpNone { display: block !important;}
}
@media screen and (max-width:470px) {.sct05bg { background-position-y: 80px;}}
@media screen and (max-width:370px) {.sct05bg { background-position-y: 60px;}}
@media screen and (max-width:340px) {
    .widTtl2 { width: 85%;}
    .tan input + span::before { right: -9px;}
    .widTtl { width: 96%;}
    .widArea-1 { width: 90%;}
    input + span::before { right: 0px;}
}
.list { overflow-x: hidden;}
.list ul li {
    width: 90%;
    max-width: 896px;
    margin: 5vw auto;}
.list ul li img { width: 100%;}
.list div {
    background-color: #000;
    padding: 0px 0 0;
    width: 90%;
    max-width: 754px;
    margin: 5vw auto 0;}
.list div img {
    width: 100%;
    max-width: 754px;
    position: relative;
    margin: -30px auto 0;
    left: 50%;
    transform: translateY(0%) translateX(-50%);}
.sct05 h2 {
    width: 70%;
    max-width: 387px;
    margin: 0 auto 3vw;
    padding-top: 7vw;}
.sct05 h2 img {width: 100%;}
@media screen and (max-width:767px) {.list div { margin: 14vw auto 0;}}