@charset "UTF-8";

/* ↓PC（横幅640px超）の場合 */
html {
    /* 1rem = 1pxと定義 */
    font-size: 1px;
}

/* ↓スマホ（横幅640px以上）の場合 */


@media screen and (max-width: 640px) {
    html {
        font-size: 1px;
    }

}

body {
    font-size: 16rem;
    color: #333;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    min-width: 375px;
    position: relative;
    margin: 0 auto;
}

.en {
    font-family: "paralucent", sans-serif;

}

a {
    transition: .3s;
}

a:hover {
    opacity: .5;
}



/*fv
================================================*/

#fv {
    position: relative;
}

#fv h1 {
    width: 57.26%;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    top: 23%;
}

#fv p {
    color: #fff;
    font-weight: 900;
    font-size: 2.65vw;
    text-align: center;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    bottom: 24%;
}

#fv h1 img {
    width: 100%;
    height: auto;
}

#fv figure img {
    width: 100%;
    height: auto;
}

#fv figure {
    overflow: hidden;
    border-radius: 0 0 15vw 15vw;
}

@media screen and (max-width:640px) {
    #fv h1 {
        width: 92%;
        top: 32%;
    }

    #fv p {
        font-size: 6.10vw;
        line-height: 1.75;
        bottom: 23%;
    }
}

/*lead
================================================*/

#lead {
    padding: 0 5%;
}

#lead .inner {
    width: 100%;
    max-width: calc(1168px);
    padding: 150px 0;
    margin: 0 auto;
    position: relative;
}

#lead p {
    font-size: 1.62vw;
    color: #333;
    font-weight: 500;
    line-height: 2;
    text-align: center;
}

#lead li {
    filter: drop-shadow(0px 30px 30px rgba(242, 150, 0, .3));
    border-radius: 1em;
    overflow: hidden;
    position: absolute;
}

#lead li img {
    width: 100%;
    height: auto;
}

#lead li:nth-of-type(1) {
    width: 18.40%;
    top: 29%;
    left: 0;
}

#lead li:nth-of-type(2) {
    width: 12.92%;
    top: 84%;
    left: 10.27%;
}

#lead li:nth-of-type(3) {
    width: 24.05%;
    top: 16%;
    right: .85%;
}

#lead li:nth-of-type(4) {
    width: 12.92%;
    top: -10%;
    right: -.85%;
}

@media screen and (min-width:1168px) {
    #lead p {
        font-size: 19px;
    }
}

@media screen and (max-width:640px) {
    #lead .inner {
        padding: 30% 0 20%;
    }

    #lead li {
        position: static;
    }

    #lead li:nth-of-type(1),
    #lead li:nth-of-type(2),
    #lead li:nth-of-type(3),
    #lead li:nth-of-type(4) {
        width: 100%;
        top: auto;
        right: auto;
        left: auto;
        bottom: auto;
    }

    #lead ul {
        display: flex;
        flex-wrap: wrap;
        position: absolute;
        top: 0;
        transform: translateY(-50%);
    }

    #lead li:nth-of-type(1),
    #lead li:nth-of-type(2),
    #lead li:nth-of-type(3),
    #lead li:nth-of-type(4) {
        display: flex;
        flex-direction: column;
        width: calc((100% - 3% * 3)/4);
        margin: 0 3% 0 0;
    }

    #lead li:nth-of-type(4n) {
        margin: 0;
    }

    #lead p {
        font-size: 14px;
    }
}

/*bk_box
================================================*/
#bk_box {
    width: calc(100% - 10%);
    max-width: 1168px;
    margin: 0 auto;
    border-radius: 17.12vw 17.12vw 0 0;
    background: url(../img/bk_event.png) center center no-repeat;
    background-size: cover;
    padding: 10.27vw 5%;
}

.tit_l {
    text-align: center;
    font-size: 31px;
    font-weight: 900;
    color: #333;
    line-height: 1;
    padding: 0 0 .75em;
    margin: 0 0 .75em;
    position: relative;
    line-height: 1.5;
}

.tit_l span {
    display: block;
    color: #f19602;
    margin: 0 0 .5em;
    font-size: 36px;
}

.tit_l+p {
    font-size: 19px;
    font-weight: 500;
    text-align: center;
    margin: 0 0 1.5em;
}

.tit_l::after {
    content: "";
    display: block;
    width: 40px;
    height: 5px;
    background: #f19602;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

#box_event {
    padding: 14.55vw 0 0;
    width: 100%;
    max-width: 800px;
    margin: 0 auto 2em;
    position: relative;
    transform: rotate(0.03deg);
}

#box_event figure,
#box_event p {
    width: 100%;
    max-width: 75%;
    margin: 0 auto;
}

#box_event figure {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    border-radius: 1.71vw;
    overflow: hidden;
}

#box_event img {
    width: 100%;
    height: auto;
}

#box_event section {
    padding: 21vw 0 0;
    border-radius: 1.71vw;
    background: #fff;
}

#box_event h3 {
    font-size: 35px;
    font-weight: 900;
    text-align: center;
    line-height: 1;
    margin: 0 auto .75em;
    padding: .5em;
    border-bottom: 1px solid #D9D9D9;
    width: 100%;
    max-width: 75%;
}

#box_event h3 span {
    font-family: "heisei-kaku-gothic-std", sans-serif;
    color: #878787;
    font-size: 13px;
    display: inline-block;
    padding: .5em 1.5em .25em;
    border-radius: 1em;
    border: 1px solid #d9d9d9;
    margin: 0 0 3em;
}

#box_event p {
    width: 100%;
    max-width: 75%;
    font-size: 19px;
    font-weight: 500;
    text-align: center;
    line-height: 1.75;
    margin: 0 auto;
    padding: 0 0 2em;
}

#ico_event {
    width: 213.5px;
    margin: 0 auto 3em;
}

#ico_event img {
    width: 100%;
    height: auto;
}

.juicer-feed.loaded>div {
    margin: 0 !important;
}

.juicer-feed.polaroid li.feed-item {
    padding: 0;
    background: none;

}

.juicer-feed.polaroid li.feed-item a {
    border-radius: 1em;
    overflow: hidden;
}

.juicer-feed.polaroid li.feed-item a.up {
    border-radius: 0;
}

@media screen and (min-width:1168px) {
    #bk_box {
        border-radius: 200px 200px 0 0;
        padding: 120px 5%;
    }
}

@media screen and (min-width:900px) {
    #box_event {
        padding: 170px 0 0;
    }

    #box_event section {
        padding: 190px 0 0;
        border-radius: 20px;
    }

    #box_event figure {
        border-radius: 20px;
    }
}

.j-image {
    display: block;
    position: relative;
    margin: 0 0 16px;
}

.j-image::before {
    content: "";
    display: block;
    padding-top: 100%;
}

.j-image img {
    position: absolute;
    width: 100% !important;
    height: 100% !important;
    top: 0;
    object-fit: cover;
}

.juicer-feed.polaroid .j-post-container {
    top: 0;
    margin-bottom: 0;
}

.j-post-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.j-post-container .j-poster,
.j-post-container .j-poster-meta {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.j-post-container .j-poster {
    text-align: left !important;
    width: 60px;
    margin: 0 10px 0 0 !important;
}

.j-poster-meta {
    width: calc((100% - 60px - 10px));
    text-align: left;
}

.j-poster-meta .up {
    font-size: 16px;
    font-weight: 900;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    color: #333;
}

.juicer-feed.polaroid .j-poster img {
    border: none;
    margin: 0;
    width: 60px !important;
    height: 60px !important;
}

.j-text,
.j-on,
.platform {
    display: none;
}

.juicer-feed.white li.feed-item,
.juicer-feed.user li.feed-item,
.juicer-feed.juicer-widget li.feed-item,
.juicer-feed.colors li.feed-item,
.juicer-feed.gray li.feed-item,
.juicer-feed.modern li.feed-item,
.juicer-feed.polaroid li.feed-item {
    border: none !important;
}

.juicer-feed .j-stacker>* {
    display: block !important;
}



.juicer-feed .j-stacker .j-stack {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: unset !important;
    width: auto !important;
    /*animation-name: slide;
  animation-duration: 50s;
  animation-timing-function:linear;
  animation-fill-mode: forwards;*/
    overflow-x: scroll;
}

.juicer-feed .j-stacker .feed-item {
    min-width: 22% !important;
    margin: 0 2%;

}

.j-overlay .j-close {
    padding: 16px;
    background-position: center;
    position: fixed;
}

.j-post-overlay.juicer-feed .image img {
    height: auto !important;
    position: relative !important;
}

.j-post-overlay.juicer-feed .j-image::before {
    display: none !important;
}

.j-post-overlay.juicer-feed .j-image {
    margin: 0;
}

.juicer-feed .j-meta a,
.juicer-feed a,
.j-poster h3,
.j-poster .twitter-poster {
    color: #333;
}

.j-date {
    display: none;
}

@keyframes slide {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-105%);
    }

}

/*
  .j-overlay {
    display: none !important;
  }*/
.slick-track {
    height: auto !important;
}

.juicer-feed.slider {
    padding: 0 20px;

}

.juicer-feed .j-x-twitter-bg {
    background: none !important;
}

.juicer-feed.slider li.feed-item {
    width: calc((100% - 20px * 2 * 4) / 4);
    margin: 0 20px;
    cursor: pointer;
}

.juicer-feed.slider li.feed-item .j-image {
    overflow: hidden;
    border-radius: 2em;
}

.juicer-feed.slider .slick-next,
.juicer-feed.slider .slick-prev {
    transform: translateY(-30%);
}

.juicer-feed.slider .slick-next:before,
.juicer-feed.slider .slick-prev:before {
    display: none !important;
}

.juicer-feed.slider .slick-next {
    width: 15px;
    height: 40px;
    padding: 0;
    background: url(../img/arrow_n.png) center center no-repeat;
    background-size: contain;
}

.juicer-feed.slider .slick-prev {
    width: 15px;
    height: 40px;
    padding: 0;
    background: url(../img/arrow_p.png) center center no-repeat;
    background-size: contain;
}

@media screen and (max-width:640px) {
    #bk_box {
        width: 100%;
        border-radius: 50px 50px 0 0;
    }

    .tit_l {
        font-size: 23.25px;
    }

    .tit_l span {
        font-size: 27px;
    }

    .tit_l::after {
        width: 30px;
        height: 3.75px;
    }

    .tit_l+p {
        font-size: 14px;
        margin: 0 0 2.5em;
    }

    #box_event {
        padding: 20vw 0 0;
    }

    #box_event section {
        border-radius: 20px;
        padding: 28vw 0 0;
    }

    #box_event figure {
        max-width: 94.28%;
        border-radius: 20px;
    }

    #box_event h3 {
        font-size: 26.25px;
        padding-bottom: .75em;
    }

    #box_event h3 span {
        font-size: 9.75px;
        margin: 0 0 1.75em;
    }

    #box_event p {
        font-size: 14px;
    }

    #ico_event {
        width: 280px;
    }

    .j-post-container .j-poster {
        text-align: left !important;
        width: 45px;
        margin: 0 10px 0 0 !important;
    }

    .j-post-container .j-poster-meta {
        width: calc((100% - 45px - 10px));
        text-align: left;
    }

    .juicer-feed.polaroid .j-poster img {
        border: none;
        margin: 0;
        width: 45px !important;
        height: 45px !important;
    }



    .juicer-feed .j-stacker .j-stack {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: unset !important;
        width: auto !important;
        /*animation-name: slide;
      animation-duration: 50s;
      animation-timing-function:linear;
      animation-fill-mode: forwards;*/
    }

    .juicer-feed .j-stacker .feed-item {
        min-width: 40% !important;
        margin: 0 2%;

    }

    @keyframes slide {
        0% {
            transform: translateX(0%);
        }

        100% {
            transform: translateX(-105%);
        }

    }
}

/*bk_box02
================================================*/
#bk_box02 {
    background: url(../img/bk_border.png) left top repeat;
    border-radius: 17.12vw 17.12vw 0 0;
    margin: -6vw 0 0;
    overflow: hidden;
    padding: 120px 0;
}

@media screen and (max-width:640px) {
    #bk_box02 {
        border-radius: 0;
        padding: 60px 0;
    }
}

/*info
================================================*/

#info {
    width: 100%;
    max-width: 980px;
    margin: 0 auto 110px;
}

#info h2 {
    font-size: 19px;
    text-align: center;
    margin: 0 0 3em;
    color: #fff;
}

#info>ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 2.5em;
    justify-content: center;
}

#info>ul li {
    display: flex;
    flex-direction: column;
    width: calc((100% - 3.67% * 2) / 3);
    margin: 0 3.67% 0 0;
    font-size: 19px;
}


#info>ul li:nth-of-type(3n) {
    margin: 0;
}

#info>ul li a {
    display: block;
    background: #fff;
    border-radius: 2em;
    font-weight: bold;
    text-align: center;
    padding: .75em 0 .5em;
    line-height: 1;
    font-family: "heisei-kaku-gothic-std", sans-serif;
    position: relative;
}

#info>ul li a::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: #F29600;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 9px;
}

#info>ul li a::after {
    content: "";
    display: block;
    width: 8px;
    height: 3px;
    background: url(../img/arrow_b_w.png) center center no-repeat;
    background-size: cover;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 16px;
}

@media screen and (max-width:960px) {
    #info>ul {
        display: block;
    }

    #info>ul li {
        display: block;
        width: 100%;
        max-width: 302px;
        margin: 0 auto 1em;

    }

    #info>ul li:nth-of-type(3n) {
        margin: 0 auto 0;
    }
}

@media screen and (max-width:640px) {
    #info h2 {
        padding: 0 5%;
        font-size: 14.25px;
        line-height: 1.5;
    }

    #info>ul li a {
        font-size: 19px;
    }
}

#info h3 {
    color: #fff;
    font-size: 31px;
    text-align: center;
    font-weight: 900;
    padding: 0 0 .75em;
    position: relative;
    margin: 0 0 .75em;
}

#info h3::after {
    content: "";
    display: block;
    width: 40px;
    height: 5px;
    background: #fff;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

@media screen and (max-width:640px) {
    #info h3 {
        font-size: 23.25px;
    }

    #info h3::after {
        transform: scale(75%);
    }
}

#date,#venue {
    margin: 0 auto 84px;
}

#date p,
#venue p {
    background: #fff;
    border-radius: .5em;
    padding: .5em .5em .5em;
    font-size: 54px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    width: 756px;
    margin: 0 auto;
}

#date p span,
#venue p span {
    font-size: 27px;
}

#date p i,
#venue p i{
    display: inline-block;
    width: 43px;
    height: 54px;
    background: url(../img/arrow_r.png) bottom 10px center no-repeat;
    background-size: contain;
    margin: 0 20px 0 10px;
}

@media screen and (max-width:756px) {
    #date p,
    #venue p {
        font-size: 40.5px;
        width: calc(100% - 10%);
    }

    #date p span,
    #venue p span {
        font-size: 20.25px;
    }

    #date p i ,
    #venue p i {
        display: block;
        width: 50px;
        margin: 10px auto 10px;
        height: 21.5px;
        background: url(../img/arrow_b_b.png) center center no-repeat;
        background-size: contain;

    }
}

@media screen and (max-width:640px) {
    #date,
    #venue {
        margin: 0 auto 40px;
    }
}

#result {
    margin: 0 auto 84px;
}

#result p {
    background: #fff;
    border-radius: .5em;
    padding: .5em .5em .5em;
    font-size: 54px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    width: 338px;
    margin: 0 auto;
}

/* #venue p:last-child{
    margin-top: 1em;
} */

#result p span {
    font-size: 27px;
}

#result p span:nth-of-type(2n) {
    display: block;
    font-size: 19px;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
}

@media screen and (max-width:640px) {
    #result {
        margin: 0 auto 40px;
    }

    #result p {
        font-size: 40.5px;
        width: calc(100% - 10%);
    }

    #result p span {
        font-size: 20.25px;
    }

    #result p span:nth-of-type(2n) {
        font-size: 14.25px;
    }
}

#flow ul {
    display: flex;
    flex-wrap: wrap;
}


#flow ul {
    position: relative;
}

#flow ul::before {
    content: "";
    display: block;
    width: 274.5px;
    height: 652.5px;
    position: absolute;
    z-index: 5;
    left: 0;
    top: 0;
    background: url(../img/ico_hand.png) center center no-repeat;
    background-size: cover;
    transform: translateY(-59%) translateX(-25%);
}

#flow ul::after {
    content: "";
    display: block;
    width: 186px;
    height: 210px;
    position: absolute;
    z-index: 5;
    right: 0;
    top: 0;
    background: url(../img/ico_charp.png) center center no-repeat;
    background-size: cover;
    transform: translateY(-120%) translateX(25%);
}


#flow li {
    display: flex;
    flex-direction: column;
    font-family: "heisei-kaku-gothic-std", sans-serif;
    width: calc((100% - 4%) / 2);
    margin: 0 4% 0 0;
    text-align: center;
    background: #fff;
    border-radius: 2em;
    padding: 40px 5%;
    position: relative;
    z-index: 10;
}

#flow li:nth-of-type(2n) {
    margin: 0;
}

#flow li h4 {
    color: #F29600;
    font-size: 36px;
    font-weight: 900;
    margin: 0 0 .75em;
}

#flow li h4::before {
    content: "# ";
}

#flow li h5 {
    color: #333;
    font-size: 31px;
    font-weight: 900;
    padding: 0 0 .75em;
    margin: 0 0 .75em;
    position: relative;
}

#flow li h5::after {
    content: "";
    display: block;
    width: 40px;
    height: 5px;
    background: #F29600;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

#flow li p {
    font-size: 19px;
    font-weight: 500;
    line-height: 1.8;
    margin: 0 0 .75em;
}

#flow li p a {
    font-weight: 700;
    color: #fff;
    display: block;
    background: #F29600;
    border-radius: 2em;
    width: 64.25%;
    margin: 0 auto;
    padding: .25em;
}

#flow li p:nth-of-type(3) {
    color: #fff;
    font-size: 15px;
    font-weight: 300;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    transform: translateY(120%);
}

@media screen and (max-width:640px) {
    #flow li h4 {
        font-size: 27px;
    }

    #flow li h5 {
        font-size: 23.25px;
    }

    #flow li h5::after {
        transform: scale(75%);
    }

    #flow li p {
        font-size: 14.25px;
    }

    #flow li p:nth-of-type(3) {
        font-size: 11.25px;
    }

    #flow li {
        width: calc(100% - 10%);
        margin: 0 auto 3em;
        border-radius: 1em;
        padding: 30px;
    }

    #flow li:nth-of-type(2n) {
        margin: 0 auto 0em;
    }

    #flow ul::before {
        transform: translateY(-50%) translateX(-25%) scale(30%);
    }

    #flow ul::after {
        transform: translateY(-65%) translateX(25%) scale(30%);
    }
}

/*benefit
================================================*/
.info_col h2 {
    text-align: center;
    background: #F26600;
    color: #fff;
    font-weight: 900;
    font-size: 46px;
    padding: .2em 0;
    margin: 0 0 1.75em;
}

.info_col .inner {
    max-width: 989px;
    margin: 0 auto;
    padding-right: 5%;
    padding-left: 5%;
}

@media screen and (min-width:1280px) {
    .info_col .inner {
        padding-right: 0%;
        padding-left: 0%;
    }

}

@media screen and (max-width:640px) {
    .info_col h2 {
        font-size: 34.5px;
    }
}

#benefit h3 {
    text-align: center;
    font-size: 31px;
    font-weight: 900;
    padding: 0 0 .75em;
    margin: 0 0 .75em;
    position: relative;
    color: #fff;
}

#benefit h3::after {
    content: "";
    display: block;
    width: 40px;
    height: 5px;
    background: #fff;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

#benefit h3 span{font-size: 25px;}

#benefit>section {
    position: relative;
}

/* #benefit>section:nth-of-type(1)::before {
    content: "";
    display: block;
    width: 303px;
    height: 511.5px;
    background: url(../img/img_tokuten.png) center center no-repeat;
    background-size: cover;
    position: absolute;
    top: 50px;
    left: 0;
    -webkit-mix-blend-mode: soft-light;
    mix-blend-mode: soft-light;
} */

/* #benefit>section:nth-of-type(2)::before {
    content: "";
    display: block;
    width: 467px;
    height: 486px;
    background: url(../img/img_tokuten02.png) center center no-repeat;
    background-size: cover;
    position: absolute;
    top: 100px;
    right: -120px;
    -webkit-mix-blend-mode: soft-light;
    mix-blend-mode: soft-light;
} */

@media screen and (max-width:640px) {
    #benefit h3 {
        font-size: 23.25px;
        line-height: 1.5;
    }

    #benefit h3 span{font-size: 18px;}

    #benefit h3::after {
        transform: scale(75%);
    }

   /*  #benefit>section:nth-of-type(1)::before,
    #benefit>section:nth-of-type(2)::before {
        left: 0;
        right: 0;
        top: 0;
        margin: auto;
        transform: scale(50%) translateY(-90%);
    }

    #benefit>section:nth-of-type(2)::before {
        transform: scale(50%) translateY(-75%) translateX(-15%);
    } */
}

.taisho {
    background: #fff;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background-color: #fff;
    background-image: url(../img/ico_taisho.png);
    background-size: 195px 204.61px;
    background-repeat: no-repeat;
    background-position: bottom 25px center;
    margin: 0 auto;
    padding: 50px;
    position: relative;
}

.taisho.nenkan{
    background-image: url(../img/ico_taisho.png);
    background-size: 105px 114.61px;
}

.taisho h4 {
    font-size: 31px;
    font-weight: 900;
    text-align: center;
    position: relative;
    padding: 0 0 .75em;
    margin: 0 0 .75em;
}

.taisho h4::after {
    content: "";
    display: block;
    width: 40px;
    height: 5px;
    background: #F26600;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

.taisho h4 span {
    font-size: 19px;
    font-weight: normal;
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 1px solid #F29600;
    line-height: 60px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    transform: translateX(150%) translateY(-25%);
}

.taisho h5,
.taisho p {
    font-size: 28px;
    font-weight: 900;
    text-align: center;
}

.taisho h5 {
    margin: 0 0 .5em;
}

.taisho+p.note {
    font-size: 14px;
    font-weight: normal;
    color: #fff;
    text-align: center;
    margin: 2em 0;
}

@media screen and (max-width:640px) {
    .taisho,
    .taisho.nenkan  {
        padding: 30px;
        width: calc(100vw - 15vw);
        height: calc(100vw - 15vw);
        background-size: 140.8px 147.74px;
    }

    .taisho h4 {
        font-size: 23.25px;
    }

    .taisho h4::after {
        transform: scale(75%);
    }

    .taisho h5,
    .taisho p {
        font-size: 21px;
    }

    .taisho h4 span {
        font-size: 14.25px;
        width: 45px;
        height: 45px;
        line-height: 45px;
        transform: translateX(130%) translateY(-20%);
    }

    .taisho+p.note {
        font-size: 11.25px;
    }
}

@media screen and (max-width:460px) {
    .taisho {
        background-size: 65px 70px;
    }

    .taisho.nenkan{
        background-image: none;
    }

}

#benefit ul {
    display: flex;
    flex-wrap: wrap;
}

#benefit ul li {
    display: flex;
    flex-direction: column;
    width: calc((100% - 3% * 2) / 3);
    margin: 0 3% 8em 0;
    background: #fff;
    border-radius: 1em;
    padding: 30px 10px 20px;
    text-align: center;
    position: relative;
}

#benefit ul li:nth-of-type(3n) {
    margin: 0 0 8em;
}

#benefit li h4,
.kasaku h4 {
    font-size: 28px;
    font-weight: 900;
    position: relative;
    margin: 0 0 .5em;
}

#benefit li h4 img {
    position: relative;
    top: -.15em;
    margin: 0 .25em 0 0;
}

#benefit li h4 span,
.kasaku h4 span {
    display: block;
    font-size: 19px;
    font-weight: 500;
    padding: .5em 0;
}

#benefit li h4::after,
.kasaku h4::after {
    content: "";
    display: block;
    width: 40px;
    height: 5px;
    background: #F26600;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

#benefit li h5,
#benefit li p,
.kasaku h5,
.kasaku p {
    font-size: 21px;
    font-weight: 800;
    text-align: center;
}

#benefit li h5,
.kasaku h5 {
    margin: 0 0 .5em;
}

#benefit li p.note {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    transform: translateY(130%);
    color: #fff;
    font-weight: normal;
    font-size: 14px;
    line-height: 1.5;
}

@media screen and (max-width:640px) {
    #benefit ul li {
        width: 100%;
        margin: 0 0 1em;
        padding: 20px;
    }

    #benefit ul li:nth-of-type(3n) {
        margin: 0 0 1em;
    }

    #benefit ul li:nth-of-type(1) {
        margin: 0 0 4.5em;
    }

    #benefit li h4,
    .kasaku h4 {
        font-size: 21px;
    }

    #benefit li h4 span,
    .kasaku h4 span {
        font-size: 14.25px;
    }

    #benefit li h4::after,
    .kasaku h4::after {
        transform: scale(75%);
    }

    #benefit li h5,
    #benefit li p,
    .kasaku h5,
    .kasaku p {
        font-size: 17.25px;
    }

    #benefit>section {
        margin-bottom: 3em;
    }

    #benefit li p.note {
        font-size: 11.25px;
    }

    #benefit li h4 img {
        position: relative;
        top: -.05em;
    }


}

.kasaku {
    background: #fff;
    border-radius: 1em;
    padding: 30px 10px 20px;
    text-align: center;
    width: 270px;
    margin: 0 auto 5em;
}

#benefit #simple {
    display: block;
    background: #fff;
    padding: 40px;
    border-radius: 2em;
    list-style-type: disc;
    margin: 0 auto 120px;
}

#benefit #simple li {
    border-radius: 0;
    background: none;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    padding: 1em 0 1em 1.5em;
    text-align: left;
    line-height: 1.5;
    font-size: 15px;
    font-weight: normal;
    border-bottom: 1px solid #e0e0e0;
    transform: rotate(0.03deg);}

#benefit #simple li::before {
    content: "・";
    display: block;
    width: 1em;
    height: 1em;
    position: absolute;
    left: 0;
    top: 1em;
}

#benefit #simple li:nth-last-of-type(1) {
    border: none;
}

@media screen and (max-width:640px) {
    .kasaku {
        width: 100%;
        margin: 0 auto;
    }

    #benefit #simple {
        border-radius: 1em;
        padding: 10px 15px;
    }

    #benefit #simple {
        margin: 0 auto;
    }

    #benefit #simple li {
        font-size: 13px;
    }
}

/*case
================================================*/

#case>p {
    text-align: center;
    color: #fff;
    font-size: 19px;
    margin: 0 0 3em;
}

#case h3 {
    font-size: 46px;
    font-weight: 900;
    margin: 0 0 1em;
    text-align: center;
    color: #fff;
}

#case h4 {
    font-size: 35px;
    font-weight: 900;
    text-align: center;
    color: #fff;
}

#case section section h4 {
    width: 80px;
    height: 80px;
    line-height: 66px;
    margin: 0 auto 2em;
    position: relative;
}

#case section section h4 span {
    position: relative;
    z-index: 10;
}

#case section section:nth-of-type(2n-1) h4 {
    border-radius: 50%;
    border: 8px solid #FBCD00;
}

#case section section:nth-of-type(2n) h4 {
    line-height: 80px;
}

#case section section:nth-of-type(2n) h4::before,
#case section section:nth-of-type(2n) h4::after {
    content: "";
    display: block;
    width: 100%;
    height: 12px;
    background: #C9C9C9;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

#case section section:nth-of-type(2n) h4::before {
    transform: rotate(45deg);
}

#case section section:nth-of-type(2n) h4::after {
    transform: rotate(-45deg);
}

#case ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#case li {
    display: flex;
    flex-direction: column;
    width: calc((100% - 2% * 4)/2);
    margin: 0 2% 2em;
}

#case li h5 {
    font-size: 21px;
    font-weight: 900;
    text-align: center;
    background: #FBCD00;
    border-radius: 2em;
    padding: .35em;
    margin: 0 0 1.25em;
}

#case li h5+p {
    color: #fff;
    font-size: 19px;
    font-family: "heisei-kaku-gothic-std", sans-serif;
    line-height: 1.5;
}

#case section section:nth-of-type(2n) li h5 {
    background: #C9C9C9;
}

#case section section:nth-last-of-type(1) {
    margin: 0 0 3em;
}

@media screen and (max-width:640px) {
    #case>p {
        width: calc(100% - 10%);
        margin: 0 auto 3em;
        font-size: 14.25px;
    }

    #case h3 {
        font-size: 34.5px;
    }

    #case section section h4 {
        margin: 0 auto 1em;
    }

    #case li {
        width: 100%;
        margin: 0 auto 2.5em;
    }

    #case li h5+p {
        font-size: 16.75px;
    }
}

/*faq
================================================*/

#faq dl {
    margin: 0 auto 6em;
}

#faq dt {
    font-size: 21px;
    font-weight: 800;
    color: #fff;
    line-height: 1.5;
    padding: .75em 2em .75em 1.5em;
    border-bottom: 1px solid #fff;
    position: relative;
    cursor: pointer;
    transform: rotate(0.03deg);
}

#faq dt::before {
    content: "Q";
    display: block;
    width: 1em;
    height: 1em;
    position: absolute;
    top: .5em;
    left: 0;
    font-size: 25.2px;
}

#faq dt::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url(../img/arrow_b_btn.png) center center no-repeat;
    background-size: cover;
    position: absolute;
    top: 1em;
    right: 0;
    transition: .3s;
}

#faq dt.active::after {
    transform: rotate(180deg);
}

#faq dd {
    background: #fff;
    border-radius: 0 0 1em 1em;
    font-size: 17.1px;
    padding: 1em 1em 1em 3em;
    line-height: 1.5;
    font-family: "heisei-kaku-gothic-std", sans-serif;
    font-weight: bold;
    margin: 0 0 2em;
    position: relative;
}

#faq dd::before {
    content: "A";
    display: block;
    width: 1em;
    height: 1em;
    position: absolute;
    top: .34em;
    left: 1em;
    color: #F26600;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 25.2px;
    font-weight: 800;
}

@media screen and (max-width:640px) {
    #faq dt {
        font-size: 15px;
    }

    #faq dt::before {
        font-size: 21px;
        top: .3em;
    }

    #faq dd {
        font-size: 14.25px;
    }

    #faq dd::before {
        font-size: 21px;
        top: .3em;
    }
}

/*right
================================================*/
#right>div {
    max-width: 980px;
    margin: 0 auto;
    height: 412px;
    padding: 3em 1em 3em 4em;
    background: #fff;
    border-radius: 1em;
}

#right>div div {
    overflow-y: scroll;
    height: 100%;
    padding: 0 2em 0 0;
    line-height: 1.5;
    -webkit-overflow-scrolling: touch;

}

#right>div div p,
#right>div div h3,
#right>div div li {
    margin: 0 0 1em;
    font-size: 15px;
}

#right>div div h3 {
    font-weight: bold;
}

#right>div div li {
    list-style-type: none;
    position: relative;
    padding: 0 0 0 1em;
}

#right>div div li::before {
    content: "・";
    display: block;
    width: 1em;
    height: 1em;
    position: absolute;
    top: 0;
    left: 0;
}

#right>div div ol {
    padding: 1em 0 0;
}

#right>div div ol li:nth-of-type(1)::before {
    content: "①";
}

#right>div div ol li:nth-of-type(2)::before {
    content: "②";
}

#right>div div ol li:nth-of-type(3)::before {
    content: "③";
}

#right>div div ol li:nth-of-type(4)::before {
    content: "④";
}

#right>div div ol li:nth-of-type(5)::before {
    content: "⑤";
}

#right>div div ol li:nth-of-type(6)::before {
    content: "⑥";
}

#right>div div ol li:nth-of-type(7)::before {
    content: "⑦";
}

#right>div div ol li:nth-of-type(8)::before {
    content: "⑧";
}

#right>div div ol li:nth-of-type(9)::before {
    content: "⑨";
}

#right>div div ol li:nth-of-type(10)::before {
    content: "⑩";
}

@media screen and (max-width:980px) {
    #right>div {
        width: calc(100% - 10%);
    }
}

@media screen and (max-width:640px) {
    #right>div {
        padding: 1em;
        height: 309px;
    }

    #right>div div {
        padding: 0 1em 0 0;
    }

    #right>div div p,
    #right>div div h3,
    #right>div div li {
        font-size: 11.5px;
    }
}

/*footer
================================================*/
footer {
    padding: 30px 5%;
}

footer figure {
    width: 150px;
    margin: 0 auto 20px;
}

footer figure img {
    width: 100%;
    height: auto;
}

footer p {
    font-size: 13px;
    text-align: center;
    margin: 0 0 1em;
}

footer p:nth-last-of-type(1) {
    margin: 0;
}

/*follow
================================================*/

#follow {
    display: block;
    position: fixed;
    top: 50px;
    right: 0px;
    left: 0;
    margin: auto;
    width: calc(100% - 100px);
    height: 70px;
    border-radius: 1em;
    background: #fff;
    filter: drop-shadow(0px 30px 30px rgba(0, 0, 0, .15));
    z-index: 8000;
    transition: .3s;
}



#follow h2 {
    width: 106px;
    position: absolute;
    top: 15px;
    left: 20px;
}

#follow h2+p {
    position: absolute;
    top: 12px;
    left: 138px;
    font-size: 9.92px;
    font-weight: 900;
    color: #fff;
}

#follow h2+p span {
    display: inline-block;
    background: #F29600;
    border-radius: 5px;
    padding: .5em 1em;
    margin: 0 0 .5em;
}

#follow img {
    width: 100%;
    height: auto;
}

/*
#follow p {
    font-weight: 500;
    font-size: 19px;
    padding: 27px 0 0 140px;
}
*/
#follow figure {
    width: 40px;
    position: absolute;
    top: 15px;
    right: 20px;
}

#follow .btn_sns {
    width: 200px;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
}

#follow .btn_sns a {
    display: block;
}

#follow .btn_sns p {
    margin: .75em 0 0;
    font-size: 19px;
    font-weight: 500;
    padding: .5em 1.3em;
    border-left: #C3C3C3 1px solid;
}

#follow>ul {
    position: absolute;
    right: 200px;
    display: flex;
    flex-wrap: wrap;
    padding: 15px 15px 0;
}

#follow>ul>li {
    display: flex;
    flex-direction: column;
    width: 180px;
    height: 40px;
    color: #fff;
    margin: 0 0 0 20px;
    position: relative;
}

#follow>ul>li.active {
    height: auto;
}

#follow>ul>li h3 {
    cursor: pointer;
    width: 180px;
    height: 40px;
    background: #F29600;
    border-radius: 10px;
    text-align: center;
    padding: 10px;
    line-height: 1.1;
    font-size: 24px;
    font-weight: 800;
    position: relative;
}

#follow>ul>li h3 span {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    line-height: 1;
    height: 24px;
    transform: translateY(-26%);
}

@media screen and (max-width:750px) {
    #follow>ul>li h3 span {
        position: static;
        transform: translateX(0) translateY(0);
    }
    #follow>ul>li h3+div {
        height: auto;
    }
}

#follow>ul>li h3::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    top: 10px;
    right: 10px;
}

#follow>ul>li h3::after {
    content: "";
    display: block;
    width: 9px;
    height: 4.5px;
    background: url(../img/arrow_b02.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    right: 15px;
    top: 17px;
    transition: .3s;
}

#follow>ul>li.active h3::after {
    background: url(../img/arrow_b02_t.png) center center no-repeat;
    background-size: contain;
}

#follow>ul>li.active h3 {
    background: #B67100;
}


#follow>ul>li h3+div {
    padding: 10px 0 0;
    cursor: inherit;
    visibility: hidden;
    opacity: 0;
    transition: .3s;
    width: 360px;
    display: none;
    height: 0;
}

#follow>ul>li h3+div>div {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #FFEDCF;
    padding: 10px 10px 0;
    cursor: inherit;

}

#follow>ul>li.active h3+div {
    display: block;
    visibility: inherit;
    opacity: 1;
    height: auto;
}

#follow>ul>li h3+div h4 {
    font-size: 16px;
    font-weight: 900;
    color: #333333;
    text-align: left;
    margin: 0 0 .5em;
    transform: rotate(0.03deg);
}

#follow>ul>li h3+div ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

#follow>ul>li h3+div ul li {
    display: flex;
    flex-direction: column;
    width: calc((100% - 10px)/2);
    margin: 0 10px 10px 0;
}

#follow>ul>li h3+div ul li:nth-of-type(2n) {
    margin: 0 0 10px;
}

#follow>ul>li h3+div ul li a {
    display: block;
    background: #F29600;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 900;
    padding: .5em;
    text-align: center;
    position: relative;
}

#follow>ul>li h3+div ul li a::after {
    content: "";
    display: block;
    width: 4.5px;
    height: 9px;
    background: url(../img/arrow_r02.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 10px;
}

#follow>ul>li h3+div ul li a.gaibu::after {
    width: 11px;
    height: 11px;
    background: url(../img/ico_link.png) center center no-repeat;
    background-size: contain;
}

@media screen and (max-width:1000px) {
    #follow h2+p {
        display: none;
    }
}

@media screen and (max-width:850px) {
    #follow h2 {
        display: none;
    }
}

.openbtn2,
#blur {
    display: none;
}

.sp_tit {
    display: none;
}

@media screen and (max-width:750px) {
    #follow>ul>li h3+div {
        height: auto;
    }
    .naka {
        padding-top: 300px !important;
    }

    #blur {
        width: 100vw;
        height: 100vh;
        background: rgba(0, 0, 0, .75);
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        margin: auto;
    }

    #blur.active {
        display: block;

    }

    article.active {
        -webkit-filter: blur(5px);
        -moz-filter: blur(5px);
        -o-filter: blur(5px);
        -ms-filter: blur(5px);
        filter: blur(5px);


    }



    /*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
    .openbtn2 {
        display: block;
        position: fixed;
        /*ボタン内側の基点となるためrelativeを指定*/
        width: 52px;
        height: 52px;
        cursor: pointer;
        background: #fff;
        right: 20px;
        top: 20px;
        z-index: 9999;
        border-radius: 16px;
    }

    /*ボタン内側*/

    .openbtn2 span {
        display: inline-block;
        transition: all .4s;
        /*アニメーションの設定*/
        position: absolute;
        left: 13px;
        height: 3px;
        background-color: #333333;
    }


    .openbtn2 span:nth-of-type(1) {
        top: 22px;
        width: 50%;
    }

    .openbtn2 span:nth-of-type(2) {
        top: 29px;
        width: 50%;
    }

    /*activeクラスが付与されると線が回転して×に*/

    .openbtn2.active {
        background: #F29600;
    }

    .openbtn2.active span {
        background-color: #fff;
    }

    .openbtn2.active span:nth-of-type(1) {
        top: 19px;
        left: 8.25px;
        transform: translateY(6px) rotate(-35deg);
        width: 70%;
    }

    .openbtn2.active span:nth-of-type(2) {
        top: 31px;
        left: 8.25px;
        transform: translateY(-6px) rotate(35deg);
        width: 70%;
    }

    #follow h2,
    #follow h2+p {
        display: block;
    }

    #follow {
        width: 100%;
        height: auto;
        position: fixed;
        top: 0;
        left: auto;
        right: 0;
        border-radius: 0;
        padding: 40px 10px;
        border-radius: 0 0 16px 16px;
        filter: blur(0);
        opacity: 0;
        visibility: hidden;
    }

    #follow.active {
        opacity: 1;
        visibility: inherit;
    }

    #follow.active h2,
    #follow.active h2+p {
        display: none;
    }

    #follow.active h2.sp_tit {
        display: block;
        font-size: 19px;
        font-weight: 900;
        color: #F29600;
        margin: 0 0 1.5em;
        width: calc(100% - 92px);
        position: static;
    }

    #follow.active h2.sp_tit a.en {
        display: inline-block;
        font-size: 34px;
        text-decoration: underline;
        color: #F29600;
        margin: 0;
        font-weight: 900;
        width: calc(100% - 92px);
        position: static;
    }

    #follow h2,
    #follow>ul,
    #follow .btn_sns,
    #follow h2+p {
        position: static;
    }

    #follow h2 {
        margin: 0 0 1em;
    }

    #follow h2+p {
        margin: 0 0 2em;
    }

    #follow>ul {
        padding: 0;
        width: 100%;
    }

    #follow>ul>li {
        margin: 0 0 1em;
        width: 100%;
        height: auto;
        position: static;
    }

    #follow>ul>li h3 {
        width: 100%;
        position: relative;
    }

    #follow .btn_sns {
        width: 100%;
    }

    #follow figure {
        right: 0;
    }

    #follow .btn_sns a {
        position: relative;
    }

    #follow figure {
        top: 0;
    }

    #follow>ul,
    #follow>ul>li {
        display: block;
    }

    #follow .btn_sns p {
        border-left: none;
        padding: .5em 0;
    }

    #follow>ul>li h3+div {
        position: static;
        display: block;
        width: 100%;
        opacity: 1;
        visibility: inherit;
    }



    .btn_sns {
        display: none;
    }

    #follow>ul>li h3::before,
    #follow>ul>li h3::after {
        display: none;
    }

    #follow>ul>li {
        position: relative;
    }

    #follow>ul>li h3,
    #follow>ul>li.active h3 {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        background: none;
        padding: 0;
        color: #F28600;
        height: 2.5em;
        line-height: 1;
        width: .8em;
        font-size: 34px;
        position: absolute;
        top: 0;
        left: 0;
        background: #fff;
        z-index: 20;
    }

    #follow>ul>li h3+div {
        padding: 0 0 0 2.5em;
        border: none;
    }

    #follow>ul>li h3+div>div {
        border: none;
        padding: 0;
        margin: 0 0 3em;
    }

    #follow>ul>li:nth-last-of-type(1) h3+div>div {
        margin: 0;
    }

    #follow>ul>li h3+div ul li a {
        padding: .75em;
        border-radius: 3em;
    }

    #follow>ul>li h3+div h4 {
        margin: 0 0 1em;
    }

    #follow>ul>li h3+div ul {
        margin: 0 0 1em;
    }

    #follow>ul>li h3+div ul:nth-last-of-type(1),
    #follow>ul>li:nth-last-of-type(1),
    #follow>ul>li h3+div ul li {
        margin-bottom: 0;
    }

    #follow>ul>li::before {
        content: "";
        display: block;
        width: 1px;
        height: calc(100% - 4em);
        background: #F29600;
        position: absolute;
        bottom: 0;
        left: 0.75em;
        z-index: 10;
    }

    #follow>ul>li h3,
    #follow>ul>li.active h3 {
        padding-bottom: 3em;
    }

}

@media screen and (max-width:395px) {

    #follow>ul>li h3,
    #follow>ul>li.active h3 {
        font-size: calc(1vw * 34 / 394 *100);
    }

    #follow>ul>li h3+div h4 {
        font-size: calc(1vw * 19 / 394 *100);
    }

    #follow>ul>li h3+div ul li a {
        font-size: calc(1vw * 14 / 394 *100);
    }

    #follow>ul>li h3+div {
        font-size: calc(1vw * 16 / 394 *100);
    }

    #follow.active h2.sp_tit {
        font-size: calc(1vw * 19 / 394 *100);
    }
}

/*bits
================================================*/

#sp_h {
    display: none;
}

.naka {
    padding-top: 370px;
}

.naka #fv {
    position: absolute;
    top: 0;
    z-index: -1;
}

.naka #event>figure {
    border-radius: 32px;
    overflow: hidden;
    transform: translateY(-200px);
    margin: 0 0 -150px;
}

.naka #event>figure img {
    width: 100%;
    height: auto;
}

.naka #bk_box {
    padding-top: 0;
}

.naka #box_event {
    padding-top: 0px;
}

.naka #box_event section {
    padding-top: 80px;
}

@media screen and (min-width:1280px) {}

@media screen and (max-width:640px) {

    .naka {
        padding-top: 300px;
    }

    .naka #event>figure {
        transform: translateY(-50%);
        margin: 0 0 -20vw;
    }

    .naka #box_event section {
        padding-top: 40px;
    }

    #sp_h {
        display: block;
        width: calc(100% - 40px);
        background: #fff;
        border-radius: 16px;
        position: fixed;
        top: 20px;
        left: 0;
        right: 0;
        margin: auto;
        height: 52px;
        z-index: 7000;
    }

    #sp_h h2 {
        width: 106px;
        position: absolute;
        top: 7px;
        left: 20px;
    }

    #sp_h h2+p {
        position: absolute;
        top: 9px;
        left: 138px;
        font-size: 9.92px;
        font-weight: 900;
        color: #fff;
    }

    #sp_h h2+p span {
        display: inline-block;
        background: #F29600;
        border-radius: 3px;
        padding: .25em .5em;
        margin: 0 0 .25em;
    }

    #sp_h img {
        width: 100%;
        height: auto;
    }
}

@media screen and (max-width:550px) {}

.hide {
    visibility: hidden;
}

.pc_none {
    display: none !important;
}

#benefit li h4 img.pc_none {
    display: none !important;
}

.sp_none {
    display: block !important;
}

#benefit li h4 img.sp_none {
    display: inline !important;
}


@media screen and (max-width:640px) {
    .pc_none {
        display: block !important;
    }

    #benefit li h4 img.pc_none {
        display: inline !important;
    }

    .sp_none {
        display: none !important;
    }

    #benefit li h4 img.sp_none {
        display: none !important;
    }
}


/*result
================================================*/
.nav04 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 80px;
    justify-content: center;
}

.nav04 li {
    display: flex;
    flex-direction: column;
    width: calc((100% - 2.5%*3)/4);
    margin: 0 2.5% 0 0;
    text-align: center;
}

.nav04 li:nth-of-type(4n) {
    margin: 0;
}

.nav04 li a {
    display: block;
    background: #fff;
    border-radius: 16px;
    font-weight: bold;
    text-align: center;
    padding: 1em 0;
    line-height: 1;
    font-family: "heisei-kaku-gothic-std", sans-serif;
    position: relative;
    font-weight: 400;
    font-size: 18;
}

.nav04 li a span:nth-of-type(1) {
    display: block;
    font-weight: 700;
    font-size: 23px;
    margin: 0 0 .25em;
}

.nav04 li a::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: #F29600;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 9px;
}

.nav04 li a::after {
    content: "";
    display: block;
    width: 8px;
    height: 3px;
    background: url(../img/arrow_b_w.png) center center no-repeat;
    background-size: cover;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 16px;
}

.nav04 li img {
    display: inline-block;
    height: 23px;
    width: auto;
    position: relative;
    top: -.2em;
    margin: 0 .2em 0 0;
}

.lb-number {
    display: none !important;
}



.lb-outerContainer {
    position: relative;
}

.lb-container {
    padding: 10px;
}

.lb-dataContainer {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
}

.lb-data .lb-close {
    width: 40px;
    height: 40px;
    background: url(../img/ico_c.png) center center no-repeat;
    background-size: contain;
    transform: translateX(52%) translateY(-52%);
    opacity: 1;
    position: relative;
    z-index: 9999;
}



@media screen and (max-width:960px) {
    .nav04 li {
        width: calc((100% - 2.5%*1)/2);
        margin: 0 2.5% 3% 0;
    }

    .nav04 li:nth-of-type(4n) {
        margin: 0;
    }

    .nav04 li:nth-of-type(2n) {
        margin: 0 0 3%;
    }
}

@media screen and (max-width:640px) {
    .nav04 li img {
        height: 16px;
    }

    .nav04 {
        display: block;
    }

    .nav04 li {
        display: block;
        width: calc((100% - 3%*0)/1);
        margin: 0 auto 1em;
        max-width: 302px;

    }

    .nav04 li a {
        padding: 0.75em 0 0.5em;
        border-radius: 2em;
    }

    .nav04 li:nth-of-type(4n) {
        margin: 0 auto 1em;
    }

    .nav04 li:nth-of-type(2n) {
        margin: 0 auto 1em;
    }

    .nav04 li span:nth-of-type(1) {
        margin: 0 !important;
        font-size: 19px !important;
    }

    .nav04 li span:nth-of-type(2) {
        display: block;
        width: 2em;
        height: 1em;
        line-height: 1;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 50px;
        font-size: 15px;
    }
}

.box_a {
    background: #fff;
    border-radius: 16px;
    padding: 50px;
    margin: 0 auto 80px;
}


.box_a h3 {
    color: #333;
    font-weight: 900;
    font-size: 31px;
    text-align: center;
    line-height: 1;
    padding: 0 0 .75em;
    position: relative;
    margin: 0 0 1.5em;
}

.box_a h3::after {
    content: "";
    display: block;
    width: 40px;
    height: 5px;
    background: #F29600;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

.box_a h3 img {
    display: inline-block;
    position: relative;
    height: 31px;
    width: auto;
    margin: 0 0.25em 0 0;
}



.box_a h3+p,
.box_04>p {
    text-align: center;
    font-size: 19px !important;
    font-weight: 500;
    margin: 0 0 2.5em;
}

.box_a h4 {
    font-weight: 900;
    font-size: 31px;
    line-height: 1;
    /* border-bottom: 1px solid #D9D9D9; */
}

.box_a h4 span:nth-of-type(1) {
    font-size: 25px;
}

.box_a h4 span:nth-of-type(2) {
    display: block;
    font-size: 20px;
    padding: .75em 0;
}

.box_a h5 {
    font-size: 35px;
    font-weight: 900;
}

.box_a h5 span {
    font-family: "heisei-kaku-gothic-std", sans-serif;
    color: #878787;
    font-size: 13px;
    display: inline-block;
    padding: 0.5em 1.5em 0.25em;
    border-radius: 1em;
    border: 1px solid #d9d9d9;
    margin: 0 0 1.5em;
}

.box_a p {
    font-size: 19px;
    font-weight: 500;
    line-height: 1.5;
}

.box_a li figure {
    width: 100%;
    height: 0;
    padding-top: 100%;
    overflow: hidden;
    position: relative;
    border-radius: 8px;
}

.box_a li figure a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

.box_a li figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

.box_a li figure a::after {
    content: "";
    display: block;
    width: 40.5px;
    height: 40.5px;
    background: url(../img/ico_img.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 10px;
    right: 10px;
}

.box_04 li figure a::after {
    width: 30px;
    height: 30px;
}

@media screen and (max-width:640px) {
    .box_a {
        padding: 35px 25px;
        margin: 0 auto 40px;
    }

    .box_a li figure a::after {
        width: 30px;
        height: 30px;
    }
    .box_a h3+p, .box_04>p {
        font-size: 14.25px !important;
    }
}


.box_b h4 {
    font-size: 28px;
}

.box_b h4 span:nth-of-type(1) {
    font-size: 22px;
}

.box_b h4 span:nth-of-type(2) {
    font-size: 17px;
}

.box_b h5 span {
    font-size: 13px;
}

.box_b p {
    font-size: 16px;
}

.box_b li figure {
    padding-top: 66.66%;
    margin: 0 auto 2em;
}

.box_c h4 {
    border: none;
}

@media screen and (max-width:640px) {


    .box_a h4,
    .box_b h4 {
        font-size: 23.25px;
    }

    .box_a h4 span:nth-of-type(1),
    .box_b h4 span:nth-of-type(1) {
        font-size: 18.75px;
    }

    .box_a h4 span:nth-of-type(2),
    .box_b h4 span:nth-of-type(2) {
        font-size: 15px;
    }

    .box_a h5 span,
    .box_b h5 span {
        font-size: 9.75px;
    }

    .box_a p,
    .box_b p {
        font-size: 14.25px;
    }

    .box_b li figure {
        margin: 0 auto 1em;
    }

}

.box_01 ul,
.box_02 ul,
.box_01 ul,
.box_03 ul,
.box_04 ul {
    display: flex;
    flex-wrap: wrap;

}

.box_01 ul {
    align-items: center;
    justify-items: center;
}

.box_01 li,
.box_02 li {
    display: flex;
    flex-direction: column;
    width: calc((100% - 5%)/2);
    margin: 0 5% 0 0;
}

.box_01 li:nth-of-type(2n),
.box_02 li:nth-of-type(2n) {
    margin: 0;
}

.box_03 li {
    display: flex;
    flex-direction: column;
    width: calc((100% - 3%*2)/3);
    margin: 0 3% 0 0;
}

.box_03 li:nth-of-type(3n) {
    margin: 0;
}

.box_04 li {
    display: flex;
    flex-direction: column;
    width: calc((100% - 3%*3)/4);
    margin: 0 3% 3% 0;
}

.box_04 li:nth-of-type(4n) {
    margin: 0 0 3%;
}

.box_01 {
    position: relative;
}

.box_01::after {
    content: "";
    display: block;
    width: 229px;
    height: 268.5px;
    background: url(../img/fig_t.png) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: 20px;
    right: -50px;
}

@media screen and (max-width:850px) {
    .box_01::after {
        width: 148.8px;
        height: 172.8px;
    }
}


@media screen and (max-width:640px) {


    .box_01::after {
        width: 93px;
        height: 108px;
        top: 0;
        right: -20px;
    }

    .box_01 li,
    .box_02 li,
    .box_01 li:nth-of-type(2n),
    .box_02 li:nth-of-type(2n),
    .box_03 li,
    .box_03 li:nth-of-type(3n) {
        width: 100%;
        margin: 0 auto 2em;
    }

    .box_04 li {
        width: calc((100% - 3%*1)/2);
        margin: 0 3% 2em 0;
    }

    .box_04 li:nth-of-type(4n) {
        margin: 0 3% 2em 0;
    }

    .box_04 li:nth-of-type(2n) {
        margin: 0 0 2em 0;
    }
    #box_event p {
        max-width: 95%;
    }
    .tit_l {
        line-height: 1.5;
    }
}

@media screen and (min-width:1500px) {

#bk_box02 {
    margin: -4vw 0 0;
}
}

.j-overlay {
    z-index: 9999;
}

/*
@media screen and (max-width:640px) {
  dl {
    display: flex;
    flex-wrap: wrap;
  }
  dt,
  dd {
    display: flex;
    flex-direction: column;
  }
}
*/

.inner .box{
    display: block;
    background: #fff;
    padding: 40px;
    border-radius: 2em;
    list-style-type: disc;
    margin: 0 auto 120px;
}

.inner .box h4{
    text-align: center;
    font-size: 18px;
    font-weight: 900;
    padding: 0 0 0.75em;
    margin: 0 0 1em;
    position: relative;
    color: #333333;
}

.inner .box h4:last-of-type{margin-top: 2em;}

.inner .box h4::after{
    content: "";
    display: block;
    width: 40px;
    height: 5px;
    background: #F29600;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}

.inner .box p{
    text-align: center;
    line-height: 1.5;
}

@media screen and (max-width:640px) {

    .inner .box{
        border-radius: 1em;
        padding: calc(10px + 1em);
    }
}