body{
    font-family:'Noto Sans JP', sans-serif;
    background:#FDBCBC;
}
.sp{
    display: none;
}
.pc{
    display: block;
}
.logo{
    padding-top: 25px;
    position:relative;
    overflow:hidden;
    z-index:-1;
}
.logo__img{
    max-width:435px;
    margin-left: auto;
    margin-right: auto;
}
a{
    transition:.3s;
}
a:hover{
    opacity:.7;
}
@media screen and (max-width:767px){
    .sp{
        display: block;
    }
    .pc{
        display: none;
    }
    .logo{
        padding-top: 15px;
    }
    .logo__img{
        max-width:290px;
    }
}
/* //====================================
//背景
//==================================== */
.bg{
    overflow:hidden;
    position:relative;
}
.bg:before{
    content:'';
    display: block;
    min-width:2000px;
    min-height:1400px;
    width:100vw;
    height:100vw;
    background-image: url(../img/bg-waves-top.png) ;
    background-repeat: no-repeat ;
    background-position: center ;
    background-attachment: scroll ;
    background-size: cover ;
    position:absolute;
    top:100px;
    left:51%;
    transform:translateX(-50%);
}
.red-bg{
    position:absolute;
    top:1097px;
    z-index:1;
}
.red-bg:after{
    content:'';
    display: block;
    width:100%;
    height:500px;
    background:#FC0202;
    position:absolute;
    bottom:-500px;   
}
@media screen and (min-width:1900px){
    .bg:before{
        left:50%;
    }
}
@media screen and (max-width:767px){
    .bg:before{
        min-width:1000px;
        min-height:1032px;
        width:220vw;
        height:220vw;
        background-image: url(../img/bg-waves-top--sp.png) ;
        top:144px;
        left:68%;
    }
    .red-bg{
        top:467px;
        width:161%;
    }
    .red-bg:after{
        height:1500px;
        position: absolute;
        bottom: -1500px;
    } 
}
/* //====================================
//コピー
//==================================== */
.copy{
    max-width:550px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 35px;
    position:relative;
    z-index:100;
}
@media screen and (max-width:767px){
    .copy{
        max-width:340px;
        width:90%;
        margin-top: 22px;
    } 
}
/* //====================================
//大普通遺産とは？
//==================================== */
.about{
    position:relative;
    margin-top: 60px;
    z-index:90;
}
.about__inner{
    width:100%;
    max-width:700px;
    margin-left: auto;
    margin-right: auto;
}
.about__title{
    max-width:438px;
    width:100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 10;
}
.about__text-wrap{
    padding-top: 57px;
    padding-bottom: 57px;
    background:#fff;
    border-radius:30px;
    box-shadow:0 3px 6px rgba(0,0,0,0.27);
    position:relative;
    top:-23px;
    z-index:1;
}
.about__text-wrap:after{
    content:'';
    display: block;
    min-width:745px;
    min-height:853px;
    width:58%;
    height:66%;
    background-image: url(../img/map.png) ;
    background-repeat: no-repeat ;
    background-position: center ;
    background-attachment: scroll ;
    background-size: cover ;
    position:absolute;
    top:37%;
    left:60%;
    transform:translate(-50%,-50%);
    z-index:5;
}
.about__text{
    font-size: 20px;
    line-height:1.75;
    text-align: center;
    position:relative;
    z-index:10;
    font-weight: 600;
}
.about__text span{
    font-size: 24px;
    color:#FC0202;
}
@media screen and (max-width:767px){
    .about{
        margin-top: 85px;
    }
    .about__inner{
        width:90%;
        max-width:340px;
    }
    .about__title{
        max-width:300px;
    }
    .about__text-wrap{
        padding-top: 37px;
        padding-bottom: 30px;
        top:-13px;
    }
    .about__text-wrap:after{
        min-width:initial;
        min-height:initial;
        width:448px;
        height:513px;
        top:47%;
        left:54%;
    }
    .about__text{
        font-size: 16px;
    }
    .about__text span{
        font-size: 18px;
    }
}
/* //====================================
//たとえば
//==================================== */
.example{
    margin-top: 100px;
    position: relative;
    z-index: 120;
    width:100%;
    padding-bottom: 100px;
}
.example__inner{
    width:100%;
    max-width:700px;
    margin-left: auto;
    margin-right: auto;
}
.example__title{
    width:226px;
    margin-left: 50px;
}
.example__flex{
    display: flex;
}
.example__img{
    width:288px;
    margin-top: 40px;
    position: relative;
    top: 20px;
    z-index: 10;
}
.example__comment{
    background-repeat: no-repeat ;
    background-position: center ;
    background-attachment: scroll ;
    background-size: cover ;
    font-size: 18px;
    line-height:1.7;
    padding-left: 66px;
    padding-top: 32px;
    position:relative;
}
.example__comment:not(:first-child){
    margin-top: 26px;
}
.example__comment span{
    font-weight: bold;
    font-size: 24px;
}
.example__comment:nth-child(1){
    width:420px;
    height:133px;
    background-image: url(../img/fukidashi-01.png) ;
    left:-40px;
}
.example__comment:nth-child(2){
    width:430px;
    height:132px;
    background-image: url(../img/fukidashi-02.png) ;
}
.example__comment:nth-child(3){
    width:430px;
    height:132px;
    background-image: url(../img/fukidashi-02.png) ;
    left:80px;
    padding-left: 51px;
}
.example__text-wrap{
    background:#fff;
    border-radius:30px;
    border:4px solid #000;
    padding:33px 20px;
    position:relative;
}
.example__text-wrap:after{
    content:'';
    display: block;
    width:100%;
    height:59px;
    background-image: url(../img/box-shadow--pc.png) ;
    background-repeat: no-repeat ;
    background-position: center ;
    background-attachment: scroll ;
    background-size: cover ;
    position:absolute;
    bottom:-55px;
    left:0;
    z-index:-1;
}
.example__text{
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    line-height:1.7;
}
.example__text span{
    font-size: 24px;
}
@media screen and (max-width:767px){
    .example{
        margin-top: 24px;
        padding-bottom: 100px;
    }
    .example__inner{
        max-width:340px;
    }
    .example__title{
        width:150px;
        margin-left: auto;
        margin-right: auto;
    }
    .example__flex{
        display: block;
        position:relative;
    }
    .example__flex:after{
        content:'';
        display: block;
        width:204px;
        height:339px;
        background-image: url(../img/abe.png) ;
        background-repeat: no-repeat ;
        background-position: center ;
        background-attachment: scroll ;
        background-size: cover ;
        position:absolute;
        top:-40px;
        left: calc(50% + 90px);
    }
    .example__img{
        display: none;
    }
    .example__comments{
        margin-top: 63px;
        position: relative;
        z-index: 1;
    }
    .example__comment{
        font-size: 16px;
        line-height:1.5;
    }
    .example__comment:nth-child(1),.example__comment:nth-child(2),.example__comment:nth-child(3){
        background-image: url(../img/fukidashi--sp.png) ;
        width:288px;
        height:93px;
    }
    .example__comment:not(:first-child){
        margin-top: 23px;
    }
    .example__comment span{
        font-size: 19px;
    }
    .example__comment:nth-child(1){
        left:0;
        padding-left: 28px;
        padding-top: 22px;
    }
    .example__comment:nth-child(2){
        left:9px;
        padding-left: 22px;
        padding-top: 22px;
    }
    .example__comment:nth-child(3){
        left:18px;
        padding-left: 30px;
        padding-top: 16px;
        line-height: 1.2;
    }
    .example__text-wrap{
        margin-top: 48px;
        padding:54px 15px 48px;
    }
    .example__text-wrap:after{
        height:91px;
        background-image: url(../img/box-shadow--sp.png) ;
        bottom:-79px;
    }
    .example__text{
        line-height:1.8;
    }
}
/* //====================================
//応募
//==================================== */
.application{
    width:100%;
    background:#FC0202;
    margin-top: -30px;
    position: relative;
    z-index: 100;
    overflow:hidden;
}
.application__title{
    max-width:447px;
    width:100%;
    margin-left: auto;
    margin-right: auto;
}
.application__form{
    background:#fff;
    max-width :700px;
    width:90%;
    border:5px solid #000;
    box-shadow:0 12px 0 rgba(0,0,0,1);
    margin-left: auto;
    margin-right: auto;
    padding:68px 52px 80px;
    border-radius:30px;
    margin-top: 30px;
    position:relative;
    z-index:10;
}
.form__attention{
    font-weight: bold;
    font-size: 14px;
}
.form__attention span{
    border:1px solid #000;
    padding:2px 4px;
}
.form__items{
    padding-top: 25px;
}
.form__item:not(:first-child){
    margin-top: 24px;
}
.form__label{
    font-size: 14px;
    font-weight: bold;
    display: block;
}
/* セレクトボックス */
.form__select-wrap{
    position:relative;
    margin-top: 7px;
    max-width:401px;
}
.form__select-wrap--s{
    max-width:206px;
}
.form__select-wrap:after{
    content:'';
    display: block;
    width:7px;
    height:7px;
    border-top:2px solid #B2B2B2;
    border-right:2px solid #B2B2B2;
    position:absolute;
    top:35%;
    transform:rotate(135deg) translateY(-50%);
    right:30px;
}
.form__select{
    /* color:#B2B2B2; */
    color: #000;
    width:100%;
    border:1px solid #B2B2B2;
    padding:14px 21px;
}
/* インプットテキスト */
.form__input-text{
    border:1px solid #B2B2B2;
    padding:15px 20px;
    max-width:520px;
    width:100%;
    margin-top: 7px;
}
.form__item-text{
    font-size: 14px;
    font-weight: bold;
    padding-left: 10px;
}
.form__input-text--s{
    max-width:401px;
}
/* テキストエリア */
.form__textarea{
    border:1px solid #B2B2B2;
    width:100%;
    height:165px;
    padding:14px 20px;
    margin-top: 7px;
}
input::placeholder,textarea::placeholder{
    color:#B2B2B2;
}
/* 画像 */
input[type="file"]{
    display: none;
}
.form__file-btn{
    background:#B2B2B2;
    color:#fff;
    text-align: center;
    padding:10px 19px;
    display: inline-block;
    margin-top: 7px;
    transition:.3s;
}
.form__file-text{
    font-size: 12px;
    padding-left: 10px;
    display: inline-block;
    position: relative;
    top: 10px;
}
/* 必須アイコン */
.required{
    color:#fff;
    background:#FC0202;
    font-size: 10px;
    padding:2px 5px;
    margin-left: 10px;
}
/* 注意事項 */
.form__note{
    margin-top: 32px;
    font-size: 12px;
}
.form__note-title{
    font-size: 12px;
    font-weight: bold;
}
.form__note-list{
    padding-left: 1em;
    text-indent:-1em;
}
.form__note-list:before{
    content:'・';
}
.form__note-list a{
    text-decoration:underline;
}
/* ボタン */
.form__btn-wrap{
    text-align: center;
}
.form__btn{
    background:#000;
    color:#fff;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    border-radius:7px;
    max-width:324px;
    width:100%;
    padding:15px;
    margin-top: 40px;
    position:relative;
    z-index:10;
    transition:.3s;
}
.form__btn:hover{
    opacity:.7;
}
/* 背景 */
.application:before{
    content:'';
    display: block;
    width:100vw;
    height:48vw;
    background-image: url(../img/footer-wave.png) ;
    background-repeat: no-repeat ;
    background-position: center ;
    background-attachment: scroll ;
    background-size: cover ;
    position:absolute;
    bottom:-40px;
    left:0;
    z-index:0;
}
@media screen and (max-width:767px){
    .application{
        margin-top: -25px;
        overflow:hidden;
    }
    .application__title{
        max-width:347px;
    }
    .application__form{
        max-width :340px;
        width:90%;
        box-shadow:initial;
        padding:47px 15px;
        border-radius:30px;
        margin-top: 21px;
    }
    .form__items{
        padding-top: 29px;
    }
    .form__item:not(:first-child){
        margin-top: 30px;
    }
    .form__label{
        font-size: 16px;
    }
    /* セレクトボックス */
    .form__select-wrap--s{
        max-width:206px;
        width:100%;
    }
    .form__select-wrap:after{
        content:'';
        display: block;
        width:7px;
        height:7px;
        border-top:2px solid #B2B2B2;
        border-right:2px solid #B2B2B2;
        position:absolute;
        top:35%;
        transform:rotate(135deg) translateY(-50%);
        right:30px;
    }
    .form__select{
        color:#B2B2B2;
        font-size: 20px;
    }
    /* インプットテキスト */
    .form__item-text{
        font-size: 16px;
        padding-left: 10px;
        text-align: right;
        display: block;
        padding-top: 5px; 
    }
    .form__input-text--s{
        max-width:401px;
    }
    /* テキストエリア */
    .form__textarea{
        height:284px;
    }
    input::placeholder,textarea::placeholder{
        font-size: 20px;
    }
    /* 画像 */
    .form__file-btn{
        padding:17px 37px;
    }
    .form__file-text{
        font-size: 14px;
        padding-left: 0px;
        top: 0px;
    }
    /* 必須アイコン */
    .required{
        color:#fff;
        background:#FC0202;
        font-size: 10px;
        padding:2px 5px;
        margin-left: 10px;
    }
    /* 注意事項 */
    .form__note{
        margin-top: 32px;
        font-size: 14px;
    }
    .form__note-title{
        font-size: 14px;
    }
    .form__note-list a{
        text-decoration:underline;
    }
    /* ボタン */
    .form__btn{
        font-size: 18px;
        padding:12px;
        transition:.3s;
    }
    /* 背景 */
    .application:before{
        width:110vw;
        height:140vw;
        bottom:0px;
    }
}
/* //====================================
//TOPへ戻るボタン
//==================================== */
.btn-wrap{
    position:relative;
    z-index:120;
}
.btn{
    font-size: 15px;
    text-align: center;
    background:#000;
    color:#fff;
    max-width:324px;
    width:100%;
    padding:18px 15px;
    border-radius:29px;
    margin-top: 63px;
    display: block;
    text-decoration: none;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
    position:relative;
    z-index:10;
    transition:.3s;
}
.btn:hover{
    background:#FC0202;
    opacity:1;
}
@media screen and (max-width:767px){
    .btn{
        font-size: 16px;
        max-width:298px;
        padding:14px;
        border-radius:29px;
        margin-top: 30px;
        margin-bottom: 30px;
    }
}
/* //====================================
//フッター
//==================================== */
.footer{
    background:#fff;
    padding-top: 70px;
    padding-bottom: 40px;
}
.footer__logos{
    display: flex;
    align-items: center;
    justify-content: center;
    max-width:700px;
    width:100%;
    margin-left: auto;
    margin-right: auto;
}
.footer__flex{
    display: flex;
    align-items: center;
}
.footer__logo--02,.footer__logo--03{
    margin-left: 50px;
}
.footer__logo--01{
    width:215px;
}
.footer__logo--02{
    width:160px;
}
.footer__logo--03{
    width:223px;
}
.footer__copyright{
    margin-top: 67px;
    text-align: center;
    font-size: 13px;
}
@media screen and (max-width:767px){
    .footer{
        padding-top: 34px;
        padding-bottom: 14px;
    }
    .footer__logos{
        flex-direction:column;
    }
    .footer__flex{
        margin-top: 26px;
    }
    .footer__logo--02,.footer__logo--03{
        margin-left: 0;
    }
    .footer__logo--01{
        width:167px;
    }
    .footer__logo--02{
        width:96px;
    }
    .footer__logo--03{
        width:163px;
        margin-left: 25px;
    }
    .footer__copyright{
        margin-top: 20px;
        font-size: 11px;
    }
}
/* //====================================
//サンクスページ
//==================================== */
.message-wrap{
    position:relative;
    padding-bottom: 300px;
    padding-top: 100px;
}
.message{
    background:#fff;
    max-width:700px;
    width:90%;
    margin-left: auto;
    margin-right: auto;
    border-radius:30px;
    border:5px solid #000;
    padding:50px;
    min-height:300px;
    text-align: center;
    display: flex;
    flex-direction:column;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 20px;
}
.message-wrap:before{
    content:'';
    display: block;
    width:100vw;
    height:48vw;
    background-image: url(../img/footer-wave.png) ;
    background-repeat: no-repeat ;
    background-position: center ;
    background-attachment: scroll ;
    background-size: cover ;
    position:absolute;
    bottom:0;
    left:0;
    z-index:-1;
}
@media screen and (max-width:767px){
    .message-wrap{
        padding-bottom: 100px;
        padding-top: 50px;
    }
    .message{
        padding:30px 15px;
        font-size: 16px;
    }
    .message-wrap:before{
        bottom:0px;
        left:50%;
        transform:translateX(-50%);
        z-index:-1;
    }
}
/* //====================================
//エラーページ
//==================================== */
.btn-back{
    display: block;
    margin-top: 40px;
}

/* //====================================
// 必須エラー 
//==================================== */


input[type="text"].error, input.error[type="tel"],
input.error[pattern*="d"],
input[type="number"].error,
input[type="tel"].error,
input[type="email"].error {
  border: 1px solid #e73d5c;
  background: #ffe8ec;
}

input[type="text"].error:-webkit-autofill, input.error:-webkit-autofill[type="tel"],
input.error:-webkit-autofill[pattern*="d"],
input[type="number"].error:-webkit-autofill,
input[type="tel"].error:-webkit-autofill,
input[type="email"].error:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #ffe8ec inset;
          box-shadow: 0 0 0px 1000px #ffe8ec inset;
}

input[type="file"].error {
  padding: 10px;
  background: #ffe8ec;
}

input[type="file"].error:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #ffe8ec inset;
          box-shadow: 0 0 0px 1000px #ffe8ec inset;
}

select.error,
textarea.error {
  border: 1px solid #e73d5c;
  background: #ffe8ec;
}

input[type="radio"].error + label {
  background: #ffe8ec;
}

input[type="radio"].error + label:before {
  border-color: #e73d5c;
}

input[type="checkbox"].error + label {
  background: #ffe8ec;
}

input[type="checkbox"].error + label:before {
  border-color: #e73d5c;
}