*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.important {
  color: #FF0000;
}
a:hover img{
  opacity: 0.9;
  filter: alpha(opacity=90);
  -ms-filter: "alpha(opacity=90)";
}
.txt{
    font-weight: bold;
}
h1{
    text-align: center;
}
.content{
    text-align: center;
}
.flex{
    display:flex;
    justify-content:space-between;
    align-items: center;
}
.content{
    margin: 0 auto;
}
.present_info{
    color: #fff;
}
.notes_list li{
    font-weight: bold;
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;
}
.footer_btn{
    display: block;
    margin: 0 auto;
    text-align: center;
}
.footer_btn img{
    margin: 0 auto;
}

/*contact*/
#contact.wrapper{
    background:#fece00 url("../images/over150/img_bg_top.jpg") no-repeat center top;
    background-size: 100%;
}
.contact_main,.thank_main{
    background: rgb(255,255,255,0.9);
    margin: 0 auto;
    border-radius: 8px;
    text-align: center;
}
.contact_main h2{
    text-align: center;
}
.contact_main dl{
    justify-content: center;
    align-items: center;
    line-height: 1.2;
    text-align: left;
}
.contact_main dl+dl{
    border-top:1px dotted #595959;
}
.contact_main dl:first-child{
    border-top:1px solid #595959;
}
.contact_main dl:nth-child(11){
    border-bottom:1px solid #595959;
}
.contact_main dl dt{
    font-weight: bold;
}
.contact_main dl dt span{
    background: #e24709;
    color: #fff;
    font-weight: bold;
}
.add_btn {
    display: inline-block;
    height: 60px;
    vertical-align: middle;
    text-decoration: none;
    background: #4d4d4d;
    color: #FFF;
    font-weight: bold;
    border-bottom: solid 6px #333333;
    border-radius: 8px;
}
.add_btn a{
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 15px;
    color: #fff;
}
.add_btn:active {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  border-bottom: none;
}
input, button, textarea, select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input[type="text"]{
    height: 60px;
}
input[type="text"],
textarea {
    background: #fff;
    padding: 0.8em;
    outline: none;
    border: 1px solid #595959;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    font-size: 18px;
}
textarea {
    width: 100%;
}
    /*Radio Check*/
    label.radio, label.radio_text, label.checkbox, label.checkbox_text {
        position      : relative;
        cursor        : pointer;
        display       : inline-block;
        overflow      : hidden;
        box-sizing    : border-box;
    }
    label.radio_text {
        min-height   : calc(30px + 5px);
        margin-right : calc(30px + 5px);
        padding-left : calc(30px + 10px);
        line-height  : calc(30px + 5px);
    }
    label.checkbox_text {
        padding-left : calc(30px + 10px);
        line-height  : 30px;
    }
    /** before after **/
    label.radio_text:before, label.checkbox_text:before,
    label.radio_text:after, label.checkbox_text:after{
        content  : '';
        position : absolute;
        box-sizing : border-box;
        border-radius: 5px;
    }
    label.radio_text:before{
        border-radius    : 100%;
    }
    label.checkbox_text:after{
        transform         : rotate(45deg);
        -webkit-transform : rotate(45deg);
        -moz-transform    : rotate(45deg);
        border-right      : 3px solid #fece00;
        border-bottom     : 3px solid #fece00;
        top               : calc(50% - (((20px / 12 ) * 5) / 2));
        display           : block;
        margin-top        : calc(((20px / 12 ) * 5) * -1);
        width             : calc(((20px / 12 ) * 5));
        height            : 20px;
        z-index           : 1;
    }
    label.radio_text:before, label.radio_text:after{
        top              : 0px;
        bottom           : 0px;
        margin-top       : auto;
        margin-bottom    : auto;
    }
    label.radio_text:before {
        width         : 30px;
        height        : 30px;
        border        : 1px solid #595959;
        left          : 0px;
        z-index       : 3;
    }
    label.checkbox_text:before {
        width    : 30px;
        height   : 30px;
        left     : 0px;
        top      : 0;
        border   : 1px solid #595959;
        z-index  : 3;
        box-sizing: border-box;
    }
    label.radio_text:after {
        width            : 20px;
        height           : 20px;
        border-radius    : 100%;
        left             : calc(((30px/2) - (20px) / 2));
        background-color : #fece00;
        z-index          : 1;
    }
    label.checkbox_text:after {
        left : calc((30px / 2) - (((20px / 12 ) * 5) / 2));
    }
    /** input **/
    label.radio input[type="radio"], label.radio_text input[type="radio"], label.checkbox input[type="checkbox"], label.checkbox_text input[type="checkbox"]{
        -moz-appearance: none;
        -webkit-appearance: none;
        position   : absolute;
        z-index    : 2;
        margin     : 0px;
        width      : 30px;
        height     : 30px;
        box-sizing    : border-box;
        outline       : none;
    }
    label.radio input[type="radio"], label.radio_text input[type="radio"]{
        left       : calc(30px * -1);
        width      : 30px;
        height     : 30px;
        top           : 0px;
        bottom        : 0px;
        margin-top    : auto;
        margin-bottom : auto;
        border-radius : 100%;
    }
    label.checkbox input[type="checkbox"], label.checkbox_text input[type="checkbox"]{
        left       : calc(30px * -1);
        padding    : 0;
    }
    label.radio_text input[type="radio"] {
        box-shadow : 30px 0px #FFF;
    }
    label.checkbox_text input[type="checkbox"] {
        display    : block;
        box-shadow : 30px 0px #FFF;
    }
    /** checked forcus */
    label.checkbox_text input[type="checkbox"]:checked,
    label.checkbox input[type="checkbox"]:checked,
    label.radio_text input[type="radio"]:checked,
    label.radio input[type="radio"]:checked{
        box-shadow : none;
    }
    label.checkbox_text input[type="checkbox"]:checked:focus,
    label.checkbox input[type="checkbox"]:checked:focus{
        opacity: 0.1;
    }
    label.radio_text input[type="radio"]:focus,
    label.radio input[type="radio"]:focus{
        opacity: 0.2;
    }

    label.checkbox_text input[type="checkbox"]:checked:focus {
        box-shadow : 30px 0px #666;
    }
    label.checkbox_text input[type="checkbox"]:focus {
        box-shadow : 30px 0px #EEE;
    }
    label.radio_text input[type="radio"]:focus {
        box-shadow : 30px 0px #FFF;
    }
.terms{
    background: #fff;
    border: 1px solid #595959;
    border-radius: 10px;
    text-align: left;
    overflow-y: auto;
}
.terms h3,.terms h4{
    font-weight: bold;
}
.terms li{
    padding-left: 1em;
    text-indent: -1em;
}
.policy{
    display: inline-block;
    font-weight: bold;
    text-align: left;
}
button{
    display: block;
    cursor: pointer;
}

.note{
    margin-bottom: 30px;
}

@media print, screen and (min-width: 481px) {
    .pc{
        display: block!important;
    }
    .sp{
        display: none!important;
    }
    #over150 h1 img{
        width: 230px;
    }
    #over150 h2{
        margin: 0 auto;
        padding: 105px 0 35px;
        text-align: center;
    }
    #over150 h2 img{
        width: 340px;
        display: inline-block;
    }
    #over150 h2:before{
        content: url("../images/over150/bg_head_before.png");
        display: inline-block;
        padding: 0 1px 26px 0;
    }
    #over150 h2:after{
        content: url("../images/over150/bg_head_after.png");
        display: inline-block;
        padding: 0 0 26px 1px;
    }
    .txt{
        font-size: 22px;
    }
    .txt_large{
        font-size: 34px;
    }
    .wrapper,.date{
        background-color: #fece00;
    }
    #over150.wrapper{
        background-color: #fece00;
        background-image: url("../images/over150/img_bg_bottom02.png"),
            url("../images/over150/img_bg_bottom.jpg");
        background-repeat:no-repeat,no-repeat;
        background-position:center bottom,center bottom;
        background-size: 100%;
    }
    #over150.finish.wrapper{
        background-image: none;
        background-image: url("../images/over150/img_bg_bottom.jpg");
    }
    .main {
        height: 1200px;
        width:100%;
        padding-top: 60px;
        text-align: center;
        background: url("../images/over150/img_bg_top.jpg") no-repeat center bottom;
        background-size: cover;
    }
    .main_img{
        margin-top: 20px;
    }
    .main_img img{
        width: 720px;
    }
    .overview{
        margin-top: -280px;
    }
    .overview h2{
        padding-top: 0;
    }
    .date{
        padding-bottom: 170px;
    }
    .date h2{
        padding-top: 80px;
    }
    .present{
        position: relative;
        background:#39302e;
        background:url("../images/over150/bg_present_top.png") no-repeat center top,radial-gradient(#39302e, #241a17);
        background-size: contain;
        margin-top: -90px;
        padding-bottom: 220px;
    }
    .present .content{
        width:1090px;
    }
    #over150 .present h2{
        padding: 0 0 130px;
    }
    .present_list{
        width:980px;
        display: flex;
        justify-content: space-between;
        margin: 30px auto 40px;
    }
    .present_list img{
        width: 320px;
    }
    .present_info{
        width: 980px;
        margin: 0 auto;
        text-align: right;
    }
    .present_img{
        width: 960px;
        position: absolute;
        bottom: -1px;
        left: 0;
        right: 0;
        margin: auto;
        text-align: center;
    }
    .notes{
        padding-bottom: 80px;
    }
    .notes .content{
        width: 1024px;
    }
    .notes_list li{
        font-size: 22px;
    }
    .notes_list li+li{
        padding-top: 5px;
    }
    .footer{
        background : none;
        text-align: center;
    }
    .footer_btn{
        margin-bottom: 70px;
    }
    .footer_btn img{
        width: 600px;
    }
    .footer_copy{
        margin-bottom: 40px;
        font-size: 20px;
        font-weight: bold;
    }
    .footer_img img{
        width: 960px;
    }
    /*contact*/
    #contact.wrapper{
        background:#fece00 url("../images/over150/img_bg_top.jpg") no-repeat center top;
        background-size: 100%;
        padding-bottom: 80px;
    }
    #contact h1{
        width: 50%;
        margin: 0 auto;
        padding: 60px 0;
    }
    .contact_main,.thank_main{
        width: 1040px;
        margin: 0 auto;
        padding: 60px 60px 80px;
        border-radius: 8px;
        font-size: 20px;
    }
    .thank_main{
        padding: 80px 60px;
    }
    .contact_main h2{
        width: 26%;
        margin: 0 auto 40px;
    }
    .contact_main dl{
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 1.2;
        padding: 40px 0;
    }
    .contact_main dl+dl{
        border-top:1px dotted #595959;
    }
    .contact_main dl:first-child{
        border-top:1px solid #595959;
    }
    .contact_main dl:nth-child(11){
        border-bottom:1px solid #595959;
    }
    .contact_main dl dt{
        width:20%;
    }
    .contact_main dl dt span{
        margin-top: 5px;
        padding: 2px 5px;
        font-size: 16px;
    }
    .contact_main dl dd{
        width:80%;
    }
    .contact_main dl dd p{
        display: flex;
        align-items: center;
    }
    input[type="text"]{
        height: 55px;
    }
    input[type="text"],
    textarea {
        background: #fff;
        padding: 0.8em;
        outline: none;
        border: 1px solid #595959;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        font-size: 18px;
    }
    textarea {
        width: 100%;
    }
    .form_txt{
        margin-bottom: 20px;
    }
    .name div,.kana div{
        width: 90%;
    }
    .name p,.kana p{
        width: 10%;
    }
    .name p:nth-child(3),.kana p:nth-child(3){
        margin-left: 20px;
    }
    .name input,.kana input{
        width: 40%;
    }
    .name{
        border-top:1px solid #595959;
    }
    /* .code div{
        width: 80%;
    } */
    .code input{
        width: 20%;
    }
    .code .add_btn{
        width: 20%;
        margin-left: 20px;
    }
    .contact_main .address dd p{
        width: 25%;
    }
    .address div{
        display: flex;
        vertical-align: middle;
    }
    .address .adjacentDiv{
        margin-top: 20px;
    }
    .contact_main .address dd input{
        width: 75%;
    }
    .contact_main .address dd input.prefectures{
        width: 35%;
    }
    .tel div{
        width: 70%;
    }
    .tel input{
        width: 30%;
    }
    .mail div{
        width: 80%;
    }
    .mail input{
        width: 46%;
    }
    .terms{
        background: #fff;
        width: 800px;
        height: 260px;
        margin: 50px auto;
        padding: 20px;
        border: 1px solid #595959;
        border-radius: 10px;
        font-size: 18px;
        text-align: left;
    }
    .terms h3{
        font-size: 20px;
        font-weight: bold;
        margin-bottom: 10px;
    }
    .terms h4{
        margin-bottom: 10px;
    }
    .terms ul,.terms p{
        margin-bottom: 30px;
    }
    .terms p:last-child{
        margin-top: 40px;
        margin-bottom: 0;
    }
    .questionnaire02 li+li{
        margin-top: 10px;
    }
    .policy{
        display: inline-block;
        text-align: left;
    }
    .policy li+li{
        margin-top: 10px;
    }
    .contact_btn{
        width: 50%;
        margin: 50px auto 0;
        position: relative;
    }
    .contact_btn_img{
        width: 180px;
        position:absolute;
        top:-45px;
        right: -85px;
    }
    .contact_copy{
        padding-top: 80px;
        font-size: 18px;
        font-weight: bold;
        text-align: center;
    }
    .thank_ttl img{
        margin-bottom: 40px;
    }
    .thank_txt{
        margin-bottom: 40px;
        font-weight: bold;
    }
    .thank_img{
        width: 16%;
        margin-bottom: 40px;
    }
    .thank_btn img{
        width: 50%;
    }
    
    .btn-area a img{
        width: 250px;
        margin: 20px;
    }
    
}
@media screen and (max-width: 1024px) {
    body,html{
        min-width: 1500px;
        margin: 0 auto;
    }
}
@media screen and (max-width: 896px) {
    body,html{
        min-width: 1500px;
        margin: 0 auto;
    }
}
/*スマホ*/
@media screen and (max-width: 480px) {
    body,html{
        min-width: auto;
    }
    .sp{
        display: block!important;
    }
    .pc{
        display: none!important;
    }
    h1{
        margin-bottom: 20px;
    }
    h1 img{
        width: 50%;
    }
    #over150 h2{
        margin: 0 auto;
        padding: 60px 0 20px;
    }
    #over150 h2 img{
        width: 68%;
        display: inline-block;
        vertical-align: initial;
    }
    #over150 h2:before,#over150 h2:after{
        content: "";
        display: inline-block;
        width: 15%;
        height: 50px;
    }
    #over150 h2:before{
        background: url("../images/over150/bg_head_before_sp.png") no-repeat center left;
        background-size: contain;
    }
    #over150 h2:after{
        background: url("../images/over150/bg_head_after_sp.png") no-repeat center right;
        background-size: contain;
    }
    .txt{
        font-size: 18px;
    }
    .txt_large{
        font-size: 22px;
    }
    .content{
        padding: 0 10px;
    }
    .wrapper,.date,.notes,.footer{
        background-color: #fece00;
    }
    .main {
        height: 600px;
        padding-top: 40px;
        text-align: center;
        background: url("../images/over150/img_bg_top.jpg") no-repeat center bottom;
        background-size: cover;
    }
    .main_img img{
        width: 90%;
    }
    .overview{
        margin-top: -120px;
    }
    .overview h2{
        padding-top: 0;
    }
    .date picture img{
        width: 70%;
    }
    .present{
        position: relative;
    }
    .present .content{
        background:#39302e;
        background:url("../images/over150/bg_present_top_sp.png") no-repeat center top,radial-gradient(#39302e, #241a17);
        background-size: contain;
        padding: 60px 10px 90px;
    }
    .present h2{
        padding:60px 10px 20px !important;
        margin: 0 10px;
        text-align: center;
    }
    .present_list{
        margin: 30px auto;
    }
    .present_list li{
        width: 80%;
        margin: 0 auto;
        text-align: center;
    }
    .present_img{
        position: absolute;
        bottom: -1px;
        left: 0;
        right: 0;
        width: 95%;
        margin: auto;
        text-align: center;
    }
    .notes{
        padding-bottom: 60px;
    }
    .notes .content{
        width: 100%;
    }
    .notes_list li{
        font-size: 18px;
    }
    .notes_list li+li{
        padding-top: 5px;
    }
    .footer{
        background-color: #fece00;
        background-image: url("../images/over150/img_bg_bottom02_sp.png"),
            url("../images/over150/img_bg_bottom.jpg");
        background-repeat:no-repeat,no-repeat;
        background-position:center bottom,center bottom;
        background-size: cover;
        text-align: center;
        padding: 0 10px;
        overflow: hidden;
    }
    .footer.finish{
        background-image: none;
        background-image: url("../images/over150/img_bg_bottom.jpg");
    }
    .footer_btn{
        margin-bottom: 50px;
    }
    .footer_img{
        width: 125%;
        height: 100%;
        margin: 0 -12%;
        position: relative;
    }
    .footer_copy{
        margin-bottom: 60px;
        font-size: 16px;
        font-weight: bold;
    }
    /*contact*/
    #contact.wrapper{
        background:#fece00 url("../images/over150/img_bg_top.jpg") no-repeat center top;
        background-size: 100%;
    }
    #contact h1{
        margin: 0;
        padding: 20px 0;
    }
    #contact h1 img{
        width: 90%;
    }
    .contact_main,.thank_main{
        margin: 0 10px;
        padding: 30px 15px;
        border-radius: 8px;
        font-size: 16px;
    }
    .contact_main h2{
        width: 60%;
        margin: 0 auto 20px;
    }
    .contact_main dl{
        justify-content: center;
        align-items: center;
        line-height: 1.2;
        padding: 20px 0;
    }
    .contact_main dl dt{
        font-size: 18px;
        margin-bottom: 15px;
        vertical-align: middle;
    }
    .contact_main dl dt span{
        margin: 2px 0 0 5px;
        padding: 2px 5px;
        font-size: 14px;
        vertical-align: middle;
    }
    .contact_main dl dd p{
        display: flex;
        align-items: center;
    }
    .contact_main div{
        width: 100%;
    }
    .name{
        border-top:1px solid #595959;
    }
    .name p,.kana p{
        width: 12%;
    }
    .name p:nth-child(3),.kana p:nth-child(3){
        margin-left: 10px;
    }
    .name input,.kana input{
        width: 40%;
    }
    .code div{
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: auto;
    }
    .code input{
        width: 28%;
    }
    .code .add_btn{
        height: 45px;
        width: 31%;
        text-align: center;
    }
    .code .add_btn a{
        text-align: center;
        padding: 0 8px;
        margin: auto;
    }
    .address .adjacentDiv{
        margin-top: 10px;
    }
    .contact_main .address dd input{
        width: 100%;
    }
    .contact_main .address dd input.prefectures{
        width: 40%;
    }
    .tel input{
        width: 30%;
    }
    .mail input{
        width: 46%;
    }
    .questionnaire02 li+li{
        margin-top: 10px;
    }
    .terms{
        height: 200px;
        margin:30px auto;
        padding: 15px;
    }
    .terms h3{
        margin-bottom: 10px;
    }
    .terms h4{
        margin-bottom: 10px;
    }
    .terms ul,.terms p{
        margin-bottom: 20px;
    }
    .terms p:last-child{
        margin-top: 20px;
        margin-bottom: 0;
    }
    .policy{
        margin-bottom: 30px;
        font-size: 18px;
    }
    .policy li+li{
        margin-top: 10px;
    }
    .contact_btn{
        position: relative;
    }
    .contact_btn_img{
        width: 50%;
        margin-top: -25px;
    }
    label.checkbox_text:after{
        transform         : rotate(45deg);
        -webkit-transform : rotate(45deg);
        -moz-transform    : rotate(45deg);
        border-right      : 3px solid #fece00;
        border-bottom     : 3px solid #fece00;
        top               : 12px;
        display           : block;
        margin-top        : calc(((20px / 12 ) * 5) * -1);
        width             : calc(((20px / 12 ) * 5));
        height            : 20px;
        z-index           : 1;
    }
    input[type="text"]{
        height: 45px;
    }
    input[type="text"],
    textarea {
        background: #fff;
        padding: 0.8em;
        outline: none;
        border: 1px solid #595959;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        font-size: 18px;
    }
    textarea {
        width: 100%;
    }
    .form_txt{
        margin-bottom: 10px;
    }
    .contact_copy{
        padding: 30px 0;
        font-weight: bold;
        text-align: center;
    }
    .thank_main{
        padding: 50px 15px;
    }
    .thank_ttl img{
        width: 70%;
        margin-bottom: 40px;
    }
    .thank_txt{
        margin-bottom: 30px;
        font-weight: bold;
    }
    .thank_img{
        width: 35%;
        margin-bottom: 40px;
    }
    .btn-area a img{
        width: 150px;
        margin-top: 10px;
    }
    .date picture .fin_date{
        width: 88%;
    }
}