.pc-view {
display:block ;
}
.sp-view {
display:none !important;
}
body {
overflow-x: hidden;
    display: inline-block;
    width: 100vw;
}
/* ヘッダーエリア */
.fs-l-header {
    display: block;
    padding-top: 8px;
    position: sticky;
  top: 0;
  left: 0;
  right: 0;
    z-index: 10;
    width: 100%;
    background: #ffffffde;
}
.fs-l-header__contents {
        width: 100%;
        height: 70px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }
.fs-l-header__logo {
    max-width: 1200px;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}
.fs-p-logo {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    padding: 8px;
    max-width: 20%;
}
.fs-p-logo img {
    border-style: none;
    max-width: 100%;
}
.fs-l-header__logo ul {
    display: flex;
    width: 80%;
}
.fs-l-header__logo ul li {
    list-style: none;
    margin: 0 0%;
    font-size: 1.5rem;
    padding: 0 3%;
}
.fs-l-header__logo ul li a {
color:#000;
}
.fs-l-header__logo ul li a:hover {
opacity:.8;
text-decoration:none;
border-bottom:2px solid #3572b0;
margin-bottom:10px;
}
.fs-l-header__logo ul li:nth-child(2) {
border-left:1px solid #000;
border-right:1px solid #000;
}

/* メインコンテンツ */
    .fs-l-sideArea + .fs-l-pageMain, .fs-l-pageMain + .fs-l-sideArea {
        max-width: 1216px;
    }

.mainvisual_wrap {
  width: 100vw;
}
.top_txt {
    width: 100%;
    margin: 3em auto;
    justify-content: center;
    text-align: center;
}
.top_txt p {
    font-size: 3rem;
    line-height: 2;
}

/* キャンペーン */
.top_campaign {
   margin: 18% auto -8%;
}
.top_campaign_wrap {
width: 688px;
    margin: 0 auto 220px;
    position: relative;
}
.top_campaign_wrap::after {
    content: '';
    width: 140%;
    height: 133%;
    background-color: #F9FFE0;
    position: absolute;
    top: -15%;
    left: -20%;
    transform: rotate(-23deg);
    border-radius: 70%;
    padding-bottom: 20px;
    z-index: 3;
}
.top_campaign_ttl {
    position: relative;
    z-index: 4;
    color: #FF9292;
    font-size: 4rem;
    text-align: center;
    font-family: serif;
}
.top_campaign_h3_cl {
    line-height: .7;
position:relative;
left:10%;
}
.top_campaign_h3 {
    line-height: .7;
}
.top_campaign_h3_cl span {
    font-size: 60%;
}
.top_campaign_h3 span {
    font-size: 60%;
}
.top_campaign_main {
        position: relative;
    z-index: 4;
    display: flex;
    align-items: stretch;
    margin-bottom: 6%;
}
.top_campaign_left {
    display: flex;
    flex-direction: column;
    align-items: center;
margin-top: 31px;
}
.top_campaign_left img {
    width: 78%;
}
.top_campaign_left p {
    background: #53D145;
    padding: 3px 44px;
    color: #fff;
    border-radius: 20px;
    font-size: 1.7rem;
}
.top_campaign_right {
    background: #ffffffcc;
    width: 43%;
    padding: 10% 20px;
    border-radius: 20px;
}
.top_campaign_bottom {
position: relative;
    z-index: 4;
    text-align: center;
    left: -7%;
    display: block;
}
.top_campaign_bottom p:nth-of-type(1) {
font-size: 3.5rem;
    font-weight: 800;
    color: #000;
    background: linear-gradient(transparent 60%, #ff6 60%);
    display: inline;
}
.top_campaign_bottom a {
color: #000;
    font-weight: 500;
    font-size: 2.5rem;
    margin-top: 10px;
    line-height: 3;
    background: #ff6;
    padding: 1% 7%;
    border-radius: 30px;
}
.top_campaign_bottom a:hover {
opacity:.8;
text-decoration:none;
}

.top-contact {
margin: 19% auto;
}
.top-contact-txt {
    width: 100%;
    max-width: 600px;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.top-contact-txt p {
    font-size: 2rem;
}
.contact_button {
width: 100%;
    max-width: 300px;
    padding: 11px 30px;
    border-radius: 15px;
    border: 1px solid #ccc;
    margin: 30px;
}
.contact_button a {
font-size: 1.8rem;
    color: #474747;
}
.contact_button a:hover {
opacity:.8;
text-decoration:none;
}

.fs-l-footer {
    position: relative;
    border-top: 1px solid #289eff66;
    background-color: #289eff66;
    color: #3c3c3c;
    margin-top: 80px;
}
.fs-l-footer__logo {
width: 100%;
    max-width: 200px;
    margin: 5% auto 2%;
}
.footer_wrap {
    display: flex;
    width: 100%;
    justify-content: space-around;
}
.footer_wrap ul li {
    list-style: none;
    font-size: 1.6rem;
    margin: 5px 0;
}
.footer_container p {
display: flex;
    width: 100%;
    justify-content: space-evenly;
margin-top: 3%;
}
.fs-p-footerCopyright {
    color: #000;
    background-color: #289eff00;
    text-align: center;
    padding: 4px;
}
.fs-p-footerCopyright__text {
    margin: 2% 0 1%;
    font-size: 1.2rem;
}



@media screen and (max-width:780px) {
.pc-view {
display:none !important;
}
.sp-view {
display:block !important;
}
.fs-p-logo {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    padding: 8px;
    max-width: 38%;
}
.top_txt {
    width: 91%;
    margin: 3.0em auto;
    justify-content: center;
    text-align: center;
}
.top_txt p {
font-size: 1.8rem;
font-weight:bold;
}
.top_campaign_wrap {
width: 100%;
    margin: 0 auto 25%;
    position: relative;
}
.top_campaign_wrap::after {
        width: 100%;
        height: 58%;
        top: -6%;
        left: 0%;
        transform: rotate(0deg);
        padding-bottom: 6%;
    }
.top_campaign_h3_cl {
    line-height: .7;
    position: relative;
    left: 0%;
}
    .top_campaign_main {
        position: relative;
        z-index: 4;
        display: flex;
        align-items: stretch;
        margin-bottom: 0%;
        flex-direction: column;
    }
.top_campaign_ttl {
    position: relative;
    z-index: 4;
    color: #FF9292;
    font-size: 3rem;
    text-align: center;
    font-family: serif;
}
.top_campaign_left {
margin-top: 0px;
}
.top_campaign_right {
    background: #ffffffcc;
    width: 100%;
    padding: 1% 20px;
    border-radius: 20px;
}
.top_campaign_right p {
font-size: 125%;
}
.top_campaign_bottom {
    position: relative;
    z-index: 4;
    text-align: center;
    left: 0%;
    display: flex;
    flex-direction: column;
}
.top_campaign_bottom p {
    font-size: 2.5rem;
    font-weight: 800;
    color: #000;
    background: none;
    display: inline;
}
.footer_container p {
    display: flex;
    width: 92%;
    justify-content: space-evenly;
    margin: auto;
}
.footer_wrap {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    flex-direction: column;
    align-items: flex-start;
}
.footer_r {
    margin: 0;
    padding: 0;
}
.footer_l {
    margin: 20px auto 18px 0;
    padding: 0;
}
}

/*トップページコピーアニメ--------------*/
.item{
  transition: 0.8s ease-in-out;
  transform: translateY(50px);
  opacity: 0;
}
.item2{
  animation-name: fadeIn2s;
  transition: 0.8s ease-in-out 0.3s;
  transform: translateY(50px);
  opacity: 0;
}
.item.show,.item2.show{
  transform: translateY(0);
  opacity: 1.0;
}