﻿html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}
body {
    line-height: 1
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block
}
nav ul {
    list-style: none
}
blockquote, q {
    quotes: none
}
blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none
}
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}
ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none
}
mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold
}
del {
    text-decoration: line-through
}
abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}
table {
    border-collapse: collapse;
    border-spacing: 0
}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0
}
input, select {
    vertical-align: middle
}
*, *::before, *::after {
    box-sizing: border-box
}
a, area, button, [role="button"], input:not([type="range"]), label, select, summary, textarea {
    -ms-touch-action: manipulation;
    touch-action: manipulation
}
html {
    font-size: 1.125rem
}
@media screen and (max-width: 768px) {
    html {
        font-size: .875rem
    }
}
body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    font-weight: 400;
    font-style: normal
}
body a {
    color: inherit;
    text-decoration: none
}
body img {
    vertical-align: bottom
}
body em {
    font-style: normal
}
body li {
    list-style: none
}
body h1, body h2, body h3, body h4, body h5, body h6 {
    font-weight: inherit
}
.wrap {
    background: #fff;
    width: 100%;
    color: #333
}
body {
    background-color: white;
    color: black
}
.wrap {
    min-height: 100vh;
    height: 100%;
    display: flex;
    flex-flow: column
}
@media all and (-ms-high-contrast: none) {
    .wrap {
        display: block
    }
}
.contents {
    min-height: 30%;
    color: black;
    flex: 1
}
.contact {
    background: #fff;
    border-bottom: 3rem solid #333333
}
.contact__inner {
    width: 90vw;
    max-width: 900px;
    margin: 0 auto;
    text-align: center
}
.contact__heading {
    background-color: #ffdf60;
    padding: 2rem 0;
    line-height: 1.6em;
    color: #ff4d35;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    text-shadow: 3px 3px 2px #ffffff, -3px 3px 2px #ffffff, 3px -3px 2px #ffffff, -3px -3px 2px #ffffff, 3px 0px 2px #ffffff, 0px 3px 2px #ffffff, -3px 0px 2px #ffffff, 0px -3px 2px #ffffff
}
.contact__text {
    padding: 1rem 0 0;
    line-height: 1.6em
}
.contact__button {
    padding: 2rem 0 1rem;
    line-height: 1.6em
}
@media screen and (max-width: 768px) {
    .contact {
        border-bottom-width: 5vw
    }
    .contact__heading {
        padding: 4vw 0;
        font-size: 1.5rem
    }
}
.form {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 4rem 0;
    line-height: 1.6em
}
.form__progress {
    padding: 0 0 4rem;
    display: flex;
    justify-content: space-between
}
.form__progress-item {
    background-color: #afb6bf;
    width: calc(100% / 3);
    padding: 0 1rem;
    height: 3rem;
    line-height: 3rem;
    color: #fff;
    font-weight: 700;
    text-align: center;
    overflow: hidden;
    position: relative
}
.form__progress-item::before, .form__progress-item::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    border-width: 1.5rem 0 1.5rem 1rem;
    display: block;
    position: absolute;
    top: 0
}
.form__progress-item::before {
    border-left-color: #fff;
    left: 0
}
.form__progress-item::after {
    border-top-color: #fff;
    border-bottom-color: #fff;
    right: 0
}
.form__progress-item.current {
    background-color: #333
}
.form__list-item {
    margin: 0 0 1rem;
    padding: 0 0 1rem;
    border-bottom: 1px solid #061421;
    text-align: left
}
.form__list-item .heading {
    padding: 0 0 .5em;
    line-height: 1.6em;
    font-weight: 700;
    position: relative
}
.form__list-item .text {
    min-height: 1.6em;
    line-height: 1.6em;
    display: flex;
    justify-content: flex-start;
    flex-flow: wrap
}
.form__list-item .text .title {
    margin: 0 1rem 0 0
}
.form__list-item .text .image {
    width: 4%;
    margin: 0 .5rem 0 0
}
.form__list-item .text .time {
    width: 74%;
    margin: 0 0 1rem
}
.form__list-item .small {
    font-size: .77em
}
.form__list-item .note {
    padding: .5em 0 0;
    font-size: .88em
}
.form__list-item .error {
    color: #ff1421;
    font-size: .88em
}
.form__list-item .icons {
    margin-right: 1em;
    padding: .2em .5em;
    line-height: 1em;
    font-size: .88em;
    font-weight: 400;
    vertical-align: middle;
    display: inline-block
}
.form__list-item .icons-required {
    background: #db3e3e;
    color: #fff
}
.form__list-item .icons-optional {
    background: #999;
    color: #fff
}
.form__list-item a {
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    color: #ff4d35;
    font-weight: 700;
    position: relative
}
.form__list-item a:hover {
    opacity: .7
}
@media screen and (max-width: 768px) {
    .form__list-item a:hover {
        opacity: 1
    }
}
.form__list-item a::after {
    content: '';
    background-color: #ff4d35;
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0
}
.form__list-item:last-child {
    margin: 0;
    padding: 0;
    border-bottom: none
}
.form__privacy {
    background: #f3f3f3;
    margin: 3rem 0;
    padding: 1rem;
    color: #061421;
    text-align: center
}
.form__privacy .inner {
    height: 10rem;
    overflow: scroll;
    background-color: white;
    margin: 1rem 0;
    padding: 1rem
}
.form__privacy .inner .heading {
    line-height: 1.5em
}
.form__privacy .inner .text {
    line-height: 1.5em;
    text-align: start
}
.form__privacy .inner .right {
    text-align: right
}
.form__privacy-item01 {
    font-weight: 700
}
.form__privacy-item02 {
    padding: .5rem 0
}
.form__privacy-item03 {
    font-size: 1.2rem
}
.form__privacy .error {
    color: #ff1421;
    font-size: .88em
}
.form__privacy a {
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    border-bottom: 1px solid #061421;
    color: red
}
.form__privacy a:hover {
    opacity: .7
}
@media screen and (max-width: 768px) {
    .form__privacy a:hover {
        opacity: 1
    }
}
.form__text {
    max-width: 700px;
    margin: 0 auto;
    padding: 3rem 0;
    line-height: 1.6em;
    color: #ffdf60
}
.form__button {
    width: 90%;
    max-width: 405px;
    margin: 0 auto;
    text-align: center
}
.form__button button[type='submit'] {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    background-color: #ff4d35;
    background-image: linear-gradient(to right, #ff4d35, #ff4d35);
    margin: 0 auto;
    padding: 1.5rem 1rem;
    border-radius: 2rem;
    line-height: 1;
    color: #fff;
    font-size: 1.33rem;
    font-weight: 700;
    width: 100%;
    display: block
}
.form__button button[type='submit']:hover {
    opacity: .7
}
@media screen and (max-width: 768px) {
    .form__button button[type='submit']:hover {
        opacity: 1
    }
}
.form__button button[type='submit']:hover {
    opacity: .7
}
@media screen and (max-width: 768px) {
    .form__button button[type='submit']:hover {
        opacity: 1
    }
}
@media screen and (max-width: 768px) {
    .form__button button[type='submit'] {
        padding: 3vw 2vw
    }
}
.form__button button[type='button'] {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    background-color: #ccc;
    background-image: linear-gradient(#ccc, form_button_other02);
    margin: 0 auto;
    padding: 1.5rem 1rem;
    border-radius: 2rem;
    line-height: 1;
    color: #061421;
    font-size: 1.33rem;
    font-weight: 700;
    width: 100%;
    margin-top: 1rem;
    display: block
}
.form__button button[type='button']:hover {
    opacity: .7
}
@media screen and (max-width: 768px) {
    .form__button button[type='button']:hover {
        opacity: 1
    }
}
.form__button button[type='button']:hover {
    opacity: .7
}
@media screen and (max-width: 768px) {
    .form__button button[type='button']:hover {
        opacity: 1
    }
}
@media screen and (max-width: 768px) {
    .form__button button[type='button'] {
        padding: 3vw 2vw
    }
}
.form__button a {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    background-color: #ccc;
    background-image: linear-gradient(#ccc, form_button_other02);
    margin: 0 auto;
    padding: 1.5rem 1rem;
    border-radius: 2rem;
    line-height: 1;
    color: #061421;
    font-size: 1.33rem;
    font-weight: 700;
    width: 100%;
    margin-top: 1rem;
    display: block
}
.form__button a:hover {
    opacity: .7
}
@media screen and (max-width: 768px) {
    .form__button a:hover {
        opacity: 1
    }
}
.form__button a:hover {
    opacity: .7
}
@media screen and (max-width: 768px) {
    .form__button a:hover {
        opacity: 1
    }
}
@media screen and (max-width: 768px) {
    .form__button a {
        padding: 3vw 2vw
    }
}
.form__note {
    padding: 3rem 0 0;
    font-size: .88rem;
    text-align: left
}
.form input[type='text'], .form input[type='email'], .form input[type='tel'], .form input[type='number'], .form input[type='date'], .form select, .form textarea {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    background: #fff;
    width: 100%;
    padding: .5rem;
    border: 1px solid #bcbcbc;
    border-radius: .5em;
    line-height: 1.6em;
    font-size: 1rem
}
.form input[type='text']:placeholder-shown, .form input[type='email']:placeholder-shown, .form input[type='tel']:placeholder-shown, .form input[type='number']:placeholder-shown, .form input[type='date']:placeholder-shown, .form select:placeholder-shown, .form textarea:placeholder-shown {
    background: #f3f3f3
}
.form input[type='text']:not(:placeholder-shown), .form input[type='email']:not(:placeholder-shown), .form input[type='tel']:not(:placeholder-shown), .form input[type='number']:not(:placeholder-shown), .form input[type='date']:not(:placeholder-shown), .form select:not(:placeholder-shown), .form textarea:not(:placeholder-shown) {
    background: #fff
}
.form input[type='date'] {
    width: calc((100% - 3rem) / 3);
    max-width: 20em
}
.form textarea {
    min-height: 10em;
    vertical-align: bottom
}
.form label.radio, .form label.checkbox {
    margin: 0 1rem 0 0;
    padding: 0 0 0 2rem;
    line-height: 1.6em;
    font-weight: 500;
    position: relative;
    display: inline-block;
    cursor: pointer
}
.form label input[type='radio'], .form label input[type='checkbox'] {
    width: 1.8em;
    height: 1.8em;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0
}
.form label.birthday select {
    width: 25%;
    max-width: 6rem
}
.form label.postalcode input {
    width: 10em
}
.form label.age input {
    width: 5em;
    margin-right: .5em;
    ime-mode: disabled
}
.form .radio-wrap {
    margin-bottom: -1rem;
    display: flex;
    flex-flow: wrap;
    align-items: flex-start;
    justify-content: flex-start
}
.form .radio-wrap label.radio {
    width: calc((100% - 3rem) / 3);
    margin-bottom: 1rem;
    text-align: left
}
.form .checkbox-wrap {
    margin-bottom: -1rem;
    display: flex;
    flex-flow: wrap;
    align-items: flex-start;
    justify-content: flex-start
}
.form .checkbox-wrap label.checkbox {
    width: calc((100% - 3rem) / 3);
    margin-bottom: 1rem;
    text-align: left
}
.form input.required, .form select.required, .form textarea.required {
    border-color: red !important
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .form input[type='text'], .form input[type='email'], .form input[type='tel'], .form input[type='number'], .form select, .form textarea {
        padding: 0;
        line-height: 1
    }
}
@media screen and (max-width: 768px) {
    .form {
        padding: 5vw 0
    }
    .form__progress {
        padding: 0 0 10vw
    }
    .form__progress-item {
        padding: 0 3vw;
        font-size: .77rem;
        height: 10vw;
        line-height: 10vw
    }
    .form__progress-item::before, .form__progress-item::after {
        border-width: 5vw 0 5vw 3vw
    }
    .form__list-item {
        margin: 0 0 3vw;
        padding: 0 0 3vw
    }
    .form__list-item .heading {
        width: 100%;
        padding: 0 0 2vw
    }
    .form__list-item .text {
        width: 100%;
        padding: 0
    }
    .form__list-item .text .image {
        width: 4%
    }
    .form__list-item .text .time {
        width: 50%
    }
    .form__list-item .text label.radio, .form__list-item .text label.checkbox {
        width: 100%
    }
    .form__list-item .icon-required, .form__list-item .icon-optional {
        margin: 0 .5rem 0 0;
        position: static;
        display: inline-block
    }
    .form__privacy {
        margin: 10vw 0;
        padding: 4vw
    }
    .form__privacy-item02 {
        padding: .5rem 0;
        text-align: left
    }
    .form__privacy-item03 {
        font-size: 1.2rem
    }
    .form__text {
        padding: 5vw 0
    }
    .form__button {
        width: 80%;
        max-width: none
    }
    .form input[type='text'], .form input[type='email'], .form input[type='tel'], .form input[type='number'], .form input[type='date'], .form select, .form textarea {
        padding: 2vw;
        line-height: 2rem;
        font-size: 1.15rem
    }
    .form input[type='date'] {
        width: 100%;
        max-width: none
    }
    .form textarea {
        min-height: 5em
    }
    .form label.radio, .form label.checkbox {
        margin: 0;
        padding: 0 0 0 2.2rem
    }
    .form .radio-wrap {
        display: block
    }
    .form .radio-wrap label.radio {
        width: 100%;
        margin-right: 0
    }
    .form .checkbox-wrap {
        display: block
    }
    .form .checkbox-wrap label.checkbox {
        width: 100%;
        margin-right: 0
    }
}
.confirm__inner, .thanks__inner {
    width: 90vw;
    max-width: 900px;
    margin: 0 auto;
    text-align: center
}
.confirm__heading, .thanks__heading {
    background-color: #ffdf60;
    padding: 2rem 0;
    line-height: 1.6em;
    color: #ff4d35;
    font-size: 2rem;
    font-weight: 700;
    text-align: center
}
.confirm__text, .thanks__text {
    padding: 0 0 2rem;
    line-height: 1.6em;
    text-align: center
}
.confirm .form__list-item:last-child, .thanks .form__list-item:last-child {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #061421
}
@media screen and (max-width: 768px) {
    .confirm__heading, .thanks__heading {
        padding: 4vw 0;
        font-size: 1.5rem
    }
    .confirm__text, .thanks__text {
        text-align: left
    }
}
.thanks__text {
    background: #f3f3f3;
    margin: 0 0 3rem;
    padding: 2rem 1rem;
    color: #061421;
    line-height: 1.6em;
    font-size: 1.11rem;
    font-weight: 500;
    text-align: center
}
@media screen and (max-width: 768px) {
    .thanks__heading {
        padding: 4vw 0;
        font-size: 1.5rem
    }
    .thanks__text {
        margin: 0 0 10vw;
        padding: 4vw;
        font-size: 1rem;
        font-weight: 400;
        text-align: left
    }
    .thanks__text-item {
        padding: 0 0 4vw
    }
    .thanks__text-item:last-child {
        padding: 0
    }
    .thanks__text br {
        display: none
    }
}
body#confirm .wrap, body#thanks .wrap {
    border-bottom: 3rem solid #ffdf60
}
@media screen and (max-width: 768px) {
    body#confirm .wrap, body#thanks .wrap {
        border-bottom-width: 5vw
    }
}