@charset "UTF-8";
@media screen and (min-width: 1281px) {
    .inner {
        max-width: 1100px;
        margin: 0 auto;
    }
    header {
        height: 90px;
    }
    header nav,
    .header__list {
        height: 100%;
    }
    .header__list {
        display: flex;
        align-items: center;
        justify-content: space-between;
        max-width: 1360px;
        margin: 0 auto;
    }
    .header__item-tel {
        pointer-events: none;
    }
    .header__item-tel .tel {
        font-size: 24px;
    }
    .header__item-column {
        display: none;
    }
    .openbtn {
        display: none;
    }

    .news::before {
        right: 0;
        border-right: 100vw solid transparent;
        border-top: 7vw solid #fff;
    }
    .news::after {
        bottom: 0;
        left: 0;
        border-left: 100vw solid #fff;
        border-top: 8vw solid transparent;
    }
    .news_01,
    .news_02 {
        position: absolute;
        z-index: 1;
    }
    .news_01 {
        width: 27.5vw;
        bottom: 6.3vw;
        left: 0;
    }
    .news_02 {
        width: 31.4vw;
        bottom: 0%;
        right: 0;
    }
    .news .inner {
        padding: 8.3vw 0 9.3vw;
    }
    .news .heading {
        margin-bottom: 50px;
    }

    .feature__container {
        padding: 90px;
    }
    .feature_01,.feature_02 {
        position: absolute;
        width: 21.7vw;
    }
    .feature_01 {
        top: 0;
        right: 4.16vw;
    }
    .feature_02 {
        bottom: 0;
        left: 4.16vw;
    }
    .feature__list {
        width: 45%;
        max-width: 760px;
        margin: 0 auto;
    }

    
    .service__kv .inner {
        max-width: 1100px;
        margin: 0 auto;
    }
    .service-event__list {
        max-width: 1920px;
        margin: 75px auto 0;
    }
    .service-event__item:nth-of-type(n+3) {
        margin-top: 10px;
    }
    .service-event__item {
        display: flex;
        width: 50%;
    }
    .service-event__img {
        position: relative;
        width: 60%;
    }
    .service-event__img::after {
        content: "";
        width: 70px;
        height: 170px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: -35px;
        margin: auto;
        z-index: 1;
    }
    .service-event__item:nth-of-type(1) .service-event__img::after {
        background-color: #67d86d;
    }
    .service-event__item:nth-of-type(2) .service-event__img::after {
        background-color: #2f61df;
    }
    .service-event__item:nth-of-type(3) .service-event__img::after {
        background-color: #f00;
    }
    .service-event__item:nth-of-type(4) .service-event__img::after {
        background-color: #097c25;
    }
    .service-event__item:nth-of-type(5) .service-event__img::after {
        background-color: #41c2f3;
    }
    .service-event__item:nth-of-type(6) .service-event__img::after {
        background-color: #ea68a2;
    }
    .service-event__item:nth-of-type(7) .service-event__img::after {
        background-color: #f39800;
    }
    .service-event__item:nth-of-type(8) .service-event__img::after {
        background-color: #601986;
    }
    .service-event img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .service-event__txt {
        width: 40%;
        padding: 1.5vw 1.5vw 2vw 0.8vw;
    }
    .service-event p {
        font-size: 14px;
        padding-left: 3vw;
    }

    .top-message .heading {
        margin-bottom: 120px;
    }
    .top-message__box {
        max-width: 1100px;
    }
    .ceo__img {
        margin-bottom: 45px;
    }
    .ceo__txt {
        padding-left: 60px;
    }
    .ceo {
        position: absolute;
        top: -10%;
        left: 70%;
        width: 30vw;
    }
    .top-message__ttl {
        margin-bottom: 45px;
    }
    .company__kv img:nth-of-type(1) {
        width: 610px;
    }
    .company__kv img:nth-of-type(2) {
        width: 540px;
    }
    .company-message {
        padding: 60px 0 180px;
        background-position: right center;
    }
    .ourvision {
        padding: 300px 0;
    }
    .ourvision h2 {
        margin-bottom: 90px;
    }
    .ourvision p.ourvision__ttl {
        font-size: 52px;
        margin-bottom: 45px;
    }
    .bg-message-vision {
        background-position: center 85%;
    }
    /* コラム一覧 */
    .column-page-main .inner {
        display: flex;
        justify-content: space-between;
        gap: 45px;
    }
    .l-primary {
        width: 830px;
    }
    .l-side {
        width: 230px;
        flex-shrink: 0;
    }
    /* コラム詳細 */
    .column-page-main .breadcrumb {
        max-width: 1100px;
    }
}
@media screen and (max-width: 1280px) {
    header {
        height: 60px;
    }
    header nav {
        background-color: #fff;
        position: relative;
        z-index: 9999;
    }
    .header__list {
        padding-top: 60px;
    }
    .header__item-logo {
        position: absolute;
        top: 8px;
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    .header__item-logo img {
        width: 209px;
        height: auto;
    }
    .sp-nav {
        display: none;
        font-size: 16px;
        line-height: 60px;
        border-top: 1px solid #ff7500;
        border-bottom: 1px solid #ff7500;
        transition: all 0.3s;
    }
    .header__item-tel {
        padding: 10px 0;
    }
    .header__item-tel span {
        line-height: 30px;
    }
    .header__item-column {
        border-bottom: 0;
    }
    .header__item-column a {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 20px 0;
    }
    .openbtn{
        position: absolute;
        z-index: 10000;
        top: 0;
        right: 0;
        cursor: pointer;
        width: 60px;
        height: 60px;
        transition: all .3s ease;
    }
    .openbtn span{
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 16px;
        height: 3px;
        border-radius: 2px;
        background-color: #0b0b0b;
        width: 45%;
    }
    .openbtn span:nth-of-type(1) {
        top: 20px;	
    }
    .openbtn span:nth-of-type(2) {
        top: 30px;
    }
    .openbtn span:nth-of-type(3) {
        top: 40px;
    }
    .openbtn.active span:nth-of-type(1) {
        top: 30px;
        left: 20px;
        transform: translateY(0px) rotate(-45deg);
        width: 40%;
        background-color: #0b0b0b;
    }
    .openbtn.active span:nth-of-type(2) {
        opacity: 0;
    }
    .openbtn.active span:nth-of-type(3){
        top: 30px;
        left: 20px;
        transform: translateY(-0px) rotate(45deg);
        width: 40%;
        background-color: #0b0b0b;
    }
    .openbtn.active {
        position: fixed;
    }
    .openbtn.active + nav {
        position: fixed;
        width: 100%;
    }
    .openbtn.active + nav .sp-nav {
        display: block;
    }

    .news .heading .ja {
        background-size: 40px;
        background-position-y: 9px;
        padding-left: 50px;
    }
    .news .inner {
        padding: 100px 5px;
    }
    .news .heading {
        padding-left: 45%;
    }
    .news::before, .sec-link::before {
        right: 0;
        border-left: 100px solid transparent;
        border-right: 100vw solid transparent;
        border-top: 40px solid #fff;
    }
    .news_01 {
        max-width: 200px;
        position: absolute;
        width: 50%;
        top: 0;
        left: 0;
    }
    .news_in {
        margin-top: 50px;
        text-align: left;
    }
    .news_in li {
        padding: 14px 10px;
    }
    .news::after {
        right: 0;
        bottom: 0;
        border-right: 100vw solid transparent;
        border-bottom: 40px solid #fff;
    }
    .news_02 {
        display: none;
    }

    .feature__list {
        width: 100%;
    }
    .feature__container {
        padding: 270px 90px 90px 90px;
    }

    .service-event__item {
        position: relative;
        width: calc(100% / 3);
    }
    .service-event__item:nth-of-type(n+4) {
        margin-top: 10px;
    }
    .service-event__img {
        position: relative;
    }
    .service-event__img img {
        width: 100%;
    }
    .service-event__txt {
        padding: 24px 30px 30px 30px;
    }
    .service-event__item::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 48px;
        height: 100%;
    }
    .service-event__item:nth-of-type(1)::before {
        background-color: #67d86d;
    }
    .service-event__item:nth-of-type(2)::before {
        background-color: #2f61df;
    }
    .service-event__item:nth-of-type(3)::before {
        background-color: #f00;
    }
    .service-event__item:nth-of-type(4)::before {
        background-color: #097c25;
    }
    .service-event__item:nth-of-type(5)::before {
        background-color: #41c2f3;
    }
    .service-event__item:nth-of-type(6)::before {
        background-color: #ea68a2;
    }
    .service-event__item:nth-of-type(7)::before {
        background-color: #f39800;
    }
    .service-event__item:nth-of-type(8)::before {
        background-color: #601986;
    }
    .service-event p {
        font-size: 14px;
        padding-left: 40px;
    }

    .top-message .heading {
        margin-bottom: 5vw;
    }
    .top-message__box {
        max-width: 768px;
    }
    .ceo__img {
        margin-bottom: 10px;
    }
    .ceo__img img {
        width: 100%;
    }
    .ceo__txt {
        padding-right: 20px;
    }
    .ceo__txt p {
        text-align: right;
    }
    .top-message__ttl {
        padding: 0 20px;
        margin-bottom: 0;
    }
    .top-message__desc {
        padding: 20px;
    }
    .company-message {
        padding: 5vw 0 15vw;
    }
    .ourvision {
        padding: 15vw 0;
    }
    .ourvision h2 {
        margin-bottom: 10px;
    }
    .ourvision p.ourvision__ttl {
        font-size: 30px;
        margin-bottom: 10px;
    }
    .bg-message-vision {
        background-position: bottom;
    }
    /* コラム一覧 */
    .column-page-main .inner {
        width: 90%;
        margin: 0 auto;
    }
    .l-side {
        margin-top: 50px;
    }
    /* コラム詳細 */
    .column-page-main .breadcrumb {
        width: 90%;
    }
}
@media screen and (min-width: 992px) {
    .pc{display: block;}
    .sp{display: none !important;}
    .slideshow {
        margin-bottom: 90px;
    }
    a:hover {
        opacity: 0.7;
    }
    .sec-lune_bleue {
        margin-bottom: 75px;
    }
    .lune_bleue-bottom {
        margin: 20px auto 0;
        max-width: 1100px;
    }

    .heading .en {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .heading .ja {
        font-size: 35px;
    }
    .ribbon {
        width: 430px;
        margin: 0 auto 30px;
        line-height: 1.2;
    }

    .pickup {
        margin-bottom: 20px;
    }
    .pickup .heading {
        margin-bottom: 10px;
    }
    .package__list {
        gap: 29.3px;
    }
    .pickup__item,
    .package__item {
        width: 23%;
    }
    .pickup__item {
        margin: 0 auto;
    }
    .pickup__item:nth-of-type(n+5) {
        margin-top: 25px;
    }
    .pickup__txt,
    .package__txt {
        padding: 190px 25px 25px 25px;
    }
    .pickup h4,
    .package h4 {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .pickup__txt p,
    .package__txt p {
        font-size: 15px;
    }

    .sec-link::before {
        right: 0;
        border-right: 100vw solid transparent;
        border-top: 7vw solid #fff;
    }
    .sec-link .heading {
        margin-bottom: 50px;
    }

    .products {
        padding-top: 140px;
    }
    .products .heading {
        margin-bottom: 30px;
    }

    .social-media {
        padding-top: 180px;
        background-image: url("../images/bg-social-media.png");
    }
    .social-media > img {
        position: absolute;
        right: 0;
        top: 10%;
        width: 30vw;
    }
    .social-media .heading {
        margin-bottom: 75px;
    }
    .sns .sns_list {
        max-width: 600px;
        margin: 0 auto 25px 0;
    }
    .twitter_box {
        justify-content: flex-start;
        margin-bottom: 60px;
        gap: 10px;
    }
    .social-media h3 {
        font-size: 28px;
        margin-bottom: 30px;
    }
    .twitter_box .box:nth-of-type(2) {
        width: 30%;
    }

    .sec-link .inner {
        padding: 160px 0 100px;
    }

    footer .inner {
        padding: 45px 0 40px;
    }
    .footer-info {
        flex-wrap: wrap;
        margin-bottom: 30px;
    }
    .footer-info > dl {
        display: flex;
    }
    .footer-info > a > img  {
        margin-right: 30px;
    }
    .jcs-group {
        width: 100%;
        display: flex;
        justify-content: space-between;
        margin-top: 30px;
    }
    .jcs-group dt {
        margin-bottom: 15px;
    }
    .fnav, .fnav__list, .fnav__sns {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    footer .fnav {
        margin-bottom: 35px;
    }
    footer .fnav li:nth-of-type(n+2) {
        margin-left: 25px;
    }
    footer .eventlist {
        display: flex;
    }
    .fnav2 {
        width: 18%;
    }
    .fnav3 {
        width: 82%;
        border-left: 1px solid #8e8e8e;
        padding-left: 40px;
    }
    .fnav3__list {
        display: flex;
        justify-content: space-between;
    }

    .service__kv {
        padding: 180px 0;
        min-height: 1230px;
    }
    .service__kv > img:nth-of-type(1) {
        left: 10%;
        top: 10%;
        width: 36vw;
    }
    .service__kv > img:nth-of-type(2) {
        width: 33.3vw;
        top: 6%;
        right: 10%;
    }
    .service__kv .message {
        margin-top: 330px;
        margin-bottom: 60px;
    }
    .service__kv p {
        font-size: 18px;
    }
    .service__list {
        display: flex;
        flex-wrap: wrap;
    }
    .service__item {
        width: 49.9%;
        height: 100px;
    }
    .service-explain {
        max-width: 750px;
        margin: 0 auto;
        padding-bottom: 200px;
    }
    .service-explain__block:nth-of-type(n+2) {
        margin-top: 45px;
    }
    .service-explain h3,
    .service-event h3 {
        font-size: 28px;
        margin-bottom: 15px;
    }
    .service-explain p {
        font-size: 18px;
    }
    .service-event {
        padding-top: 75px;
    }
    .service-event__list {
        display: flex;
        flex-wrap: wrap;
        margin-top: 75px;
    }

    .service-package .inner {
        padding: 280px 0 230px;
        max-width: 1100px;
        margin: 0 auto;
    }
    .service-package img {
        position: absolute;
        width: 61%;
        top: 45px;
        left: 0;
        z-index: 1;
    }
    .service-package a {
        font-size: 28px;
        display: block;
        text-align: right;
        padding-right: 30px;
    }
    .service-footer {
        padding-top: 130px;
    }
    .service-footer::before {
        content: "";
        display: inline-block;
        width: 100%;
        background-image: url("../images/f_shade.png");
        background-size: cover;
        position: absolute;
        bottom: 100%;
        left: 0;
        height: 62px;
    }

    .package__kv {
        padding-top: 60px;
    }
    .package {
        padding: 50px 0 90px;
    }
    .package-notion {
        margin-top: 30px;
    }
    .package-notion .inner {
        max-width: 1100px;
        margin: 0 auto;
        padding: 25px 0;
    }
    .package-notion span {
        font-size: 30px;
    }

    .flow__kv .inner {
        max-width: 1360px;
        position: relative;
        padding: 180px 0 250px;
    }
    .flow__kv::after {
        left: 0;
        bottom: 0;
        border-left: 100vw solid transparent;
        border-right: 100px solid transparent;
        border-bottom: 160px solid #ffc77e;
    }
    .flow__kv img {
        width: 555px;
        top: 13%;
        left: 0;
    }
    .flow-step-kv {
        max-width: 1360px;
        margin: 0 auto;
        padding-top: 50px;
    }
    .flow-step-kv img {
        width: 521px;
        bottom: 0;
        right: 0;
    }
    .flow-step .inner {
        padding-bottom: 190px;
    }
    .flow .message p {
        font-size: 18px;
        width: 510px;
        margin: 0 auto;
    }
    .flow__list {
        margin-top: 115px;
    }
    .flow__item {
        height: 215px;
    }
    .flow__head {
        margin-bottom: 30px;
    }
    .flow__item:nth-of-type(2n) .flow__head {
        justify-content: flex-end;
    }
    .flow__item:nth-of-type(2n) .flow__ttl,
    .flow__item:nth-of-type(2n) .flow__txt > p {
        width: 44%;
    }
    .flow__item:nth-of-type(2n) .flow__txt > p {
        padding-left: 0;
        margin-left: auto;
    }
    .flow__item:nth-of-type(1) .flow__img {
        top: -60px;
        right: -9%;
    }
    .flow__item:nth-of-type(1) .flow__img img {
        width: 95%;
    }
    .flow__item:nth-of-type(2) .flow__img {
        top: -85px;
        left: -9%;
    }
    .flow__item:nth-of-type(2) .flow__img img {
        width: 96%;
    }
    .flow__item:nth-of-type(3) .flow__img {
        top: -80px;
        right: -8%;
    }
    .flow__item:nth-of-type(3) .flow__img img {
        width: 98%;
    }
    .flow__item:nth-of-type(4) .flow__img {
        top: -60px;
        left: -5%;
    }
    .flow__item:nth-of-type(4) .flow__img img {
        width: 94.4%;
    }
    .flow__item:nth-of-type(4) .flow__txt > p,
    .flow__item:nth-of-type(6) .flow__txt > p {
        padding-right: 30px;
        width: 41%;
    }
    .flow__item:nth-of-type(5) .flow__img {
        top: -70px;
        right: -13%;
    }
    .flow__item:nth-of-type(5) .flow__img img {
        width: 97%;
    }
    .flow__item:nth-of-type(5) .flow__img img,
    .flow__item:nth-of-type(6) .flow__img img {
        width: 97%;
    }
    .flow__item:nth-of-type(6) .flow__img {
        top: -80px;
        left: -5%;
    }
    .flow__item:nth-of-type(7) .flow__img {
        top: -65px;
        right: -6%;
    }
    .flow__item:nth-of-type(7) .flow__img img {
        width: 93.3%;
    }
    .flow__list .flow__item::after {
        content: "";
        position: absolute;
        top: 180px;
        left: 0;
        height: 430px;
        width: 100%;
    }
    .flow__list .flow__item:nth-child(n+2) {
        margin-top: 200px;
    }
    .flow__list .flow__item:nth-child(1)::after {
        top: 180px;
        background: url("../images/flow-step-sep_01.png") center top no-repeat;
    }
    .flow__list .flow__item:nth-child(2)::after {
        top: 160px;
        background: url("../images/flow-step-sep_02.png") center top no-repeat;
    }
    .flow__list .flow__item:nth-child(3)::after {
        top: 210px;
        left: 8%;
        background: url("../images/flow-step-sep_03.png") center top no-repeat;
    }
    .flow__list .flow__item:nth-child(4)::after {
        left: -8%;
        background: url("../images/flow-step-sep_04.png") center top no-repeat;
    }
    .flow__list .flow__item:nth-child(5)::after {
        background: url("../images/flow-step-sep_05.png") center top no-repeat;
    }
    .flow__list .flow__item:nth-child(6)::after {
        top: 220px;
        background: url("../images/flow-step-sep_06.png") center top no-repeat;
    }
    .flow__item:nth-of-type(2n) .flow__ico {
        left: 20px;
    }
    .flow__ico {
        position: relative;
        top: -40px;
        left: 25px;
        min-width: 120px;
        height: 120px;
        margin-right: 20px;
    }
    .flow__ico span:nth-of-type(1) {
        font-size: 14px;
    }
    .flow__ico span:nth-of-type(2) {
        margin-top: 2px;
        font-size: 28px;
        letter-spacing: 0.2em;
    }
    .flow__ttl {
        font-size: 30px;
        padding-left: 25px;
    }
    .flow__txt > p {
        padding-left: 170px;
    }

    .company {
        padding-bottom: 100px;
    }
    .company__kv .inner {
        max-width: 1360px;
        position: relative;
        padding: 10vw 0 18vw;
    }
    .company__kv::after {
        left: 0;
        bottom: 0;
        border-left: 100vw solid transparent;
        border-right: 100px solid transparent;
        border-bottom: 160px solid #fff;
    }
    .company__kv img:nth-of-type(1) {
        width: 43%;
        top: 20%;
        left: 0;
        z-index: 0;
    }
    .company__kv img:nth-of-type(2) {
        width: 38%;
        bottom: 0;
        right: 5%;
    }
    .company-message p {
        font-size: 18px;
    }
    .company-message::after {
        right: 0;
        bottom: 0;
        border-left: 100px solid transparent;
        border-right: 100vw solid transparent;
        border-bottom: 8vw solid #fff;
    }
    .top-message__box {
        padding: 50px 70px;
    }
    .top-message__desc p,
    .top-message-name p {
        font-size: 16px;
    }
    .top-message-name span {
        font-size: 20px;
    }
    .top-message__ttl {
        font-size: 30px;
        margin-bottom: 50px;
    }
    .ourvision p {
        font-size: 16px;
    }
    .profile .heading {
        margin-bottom: 45px;
    }
    .profile-info {
        max-width: 800px;
        margin: 0 auto;
    }
    .profile-info dl {
        display: flex;
    }
    .profile-info dt {
        width: 220px;
        align-self: center;
    }
    .profile-info dd {
        padding: 25px 0;
        text-align: left;
    }
    .profile-info dt,
    .profile-info dd,
    .profile-info p {
        font-size: 18px;
    }
    .profile-info dd > div:nth-of-type(n+2) {
        margin-top: 30px;
    }

    .lune_bleue-kv img {
        width: 42%;
        max-width: 805px;
    }
    .lune_bleue p {
        font-size: 16px;
    }
    .lune_bleue-aboutus {
        padding-bottom: 200px;
    }
    .lune_bleue .heading {
        font-size: 36px;
        letter-spacing: 0.1em;
        margin-bottom: 75px;
    }
    .lune_bleue-aboutus .heading {
        padding-top: 280px;
    }
    .lune_bleue .heading .sm {
        font-size: 18px;
    }
    .lune_bleue .heading-secondary {
        font-size: 28px;
        font-weight: 500;
        line-height: 1.8;
        margin-bottom: 75px;
    }
    .lune_bleue .message {
        max-width: 850px;
        margin: 0 auto;
    }
    .lune_bleue .message p {
        line-height: 2.5;
    }

    .lune_bleue-aboutus02 {
        padding-bottom: 100px;
    }
    .lune_bleue-aboutus02 >img {
        margin-bottom: 70px;
    }
    .aboutus__list,
    .party__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .aboutus__list h4,
    .party__list h3 {
        font-size: 22px;
        font-weight: 700;
    }
    .lune_bleue_cafe .aboutus__list h4 {
        min-height: 66px;
        margin-bottom: 10px;
    }
    .lune_bleue_base .aboutus__list h4 {
        margin-bottom: 35px;
    }
    .aboutus__item,
    .party__item {
        width: 30%;
    }
    .aboutus__item:nth-of-type(n+4) {
        margin-top: 35px;
    }
    .lune_bleue_cafe .aboutus__item:nth-of-type(n+4) img {
        margin-bottom: 15px;
    }
    .aboutus__item img,
    .party__item img {
        margin-bottom: 35px;
        height: 450px;
    }

    .feature {
        padding-top: 15px;
        padding-bottom: 75px;
    }
    .feature .heading {
        padding-bottom: 60px;
        margin-bottom: 0;
    }
    .feature__item:nth-of-type(n+2) {
        margin-top: 50px;
    }
    .feature__item h3 {
        font-size: 22px;
        margin-bottom: 35px;
    }

    .party {
        padding-bottom: 100px;
    }
    .party__list h3 {
        margin-bottom: 35px;
    }

    .access {
        padding-bottom: 135px;
    }
    .access iframe {
        margin-bottom: 75px;
    }
    .shop-service dl:nth-of-type(n+2) {
        margin-top: 35px;
    }
    .shop-service dt .en {
        font-size: 22px;
        margin-bottom: 15px;
    }
    .shop-info {
        display: flex;
        justify-content: space-between;
        margin-bottom: 60px;
    }
    .shop-info > img,
    .shop-info > div {
        width: 32%;
    }
    .shop-info > img:nth-of-type(1) {
        align-self: center;
    }
    .shop-info > div {
        padding-top: 35px;
    }
    .shop-info h3 {
        font-size: 22px;
        margin-bottom: 35px;
    }
    .access-info h4,
    .access-info p,
    .access-info td {
        font-size: 14px;
    }
    .access-info h4:nth-of-type(n+2){
        margin-top: 10px;
    }
    .access-info table {
        margin-top: 35px;
    }
    .shop-service {
        margin-bottom: 90px;
    }
    .shop-service .en {
        font-size: 22px;
    }
    .shop-service .ja {
        font-size: 16px;
    }
    .shop-service dt {
        margin-bottom: 15px;
    }

    .lune-sns__list {
        display: flex;
        justify-content: space-between;
    }
    .lune-sns__list a {
        width: 30%;
        margin: 0 auto;
    }

    .lune-sns h3 {
        font-size: 22px;
        margin-bottom: 50px;
    }
    .lune-sns span {
        font-size: 16px;
    }

    .facility {
        padding-bottom: 100px;
    }
    .facility .heading {
        margin-bottom: 0;
    }
    .facility .heading + div {
        padding: 60px 0 35px;
    }
    .facility h3 {
        font-size: 22px;
        font-weight: 700;
        max-width: 780px;
        margin: 0 auto;
    }
    .facility h3:nth-of-type(n+2) {
        margin: 10px auto 0;
    }
    .facility > div img {
        margin-top: 55px;
    }
    .facility-detail {
        padding-top: 20px;
    }
    .facility-detail dl:nth-of-type(n+2) {
        margin-top: 30px;
    }
    .facility-detail dt {
        font-size: 22px;
        margin-bottom: 10px;
    }
    .facility-detail dd {
        font-size: 16px;
        display: flex;
        gap: 30px;
    }

    .contact,.thanks {
        padding-top: 180px;
    }
    .contact::before,
    .thanks::before {
        height: 300px;
        background-position: center -70px;
    }
    .contact h1 .en,
    .thanks h1 .en {
        font-size: 18px;
        margin-bottom: 10px;
    }
    .contact h1 .ja, 
    .thanks h1 .ja {
        font-size: 35px;
        margin-bottom: 90px;
    }
    .contact .message p {
        font-size: 18px;
    }
    .contact .message p:nth-of-type(2) {
        margin-top: 25px;
    }
    .contact .table {
        width: 960px;
        margin: 45px auto 70px;
        border-color: #ddd;
    }
    .table tr {
        border-top: 1px solid #ddd;
        border-bottom: 1px solid #ddd;
    }
    .contact .table th {
        font-size: 16px;
        padding: 20px 15px 20px 24px;
        width: 240px;
    }
    .contact .table td {
        padding: 5px 0 5px 40px;
    }
    .contact form#mailformpro td {
        font-size: 16px;
    }
    .contact form#mailformpro .checkbox01 {
        display: flex;
        flex-wrap: wrap;
    }
    .contact form#mailformpro .checkbox01 label {
        width: 49%;
    }
    .contact form#mailformpro .checkbox02 {
        height: 55px;
        gap: 50px;
    }
    .buttons {
        max-width: 960px;
        margin: 0 auto 100px;
    }
    button[type="reset"] {
        padding: 10px 24px;
    }
    button[type="submit"] {
        padding: 24px 0;
        width: 100%;
    }
    .badge-must {
        font-size: 14px;
        width: 54px;
        line-height: 1.2;
        top: 50%;
        transform: translateY(-50%);
    }
    .thanks h2 {
        width: 100%;
        max-width: 700px;
        font-size: 20px;
        padding: 50px 0;
    }
    .thanks p {
        width: 100%;
        max-width: 560px;
        margin: 0 auto;
        font-size: 16px;
        padding: 50px 0 150px;
    }

    .l-main #sub {
        min-width: 230px;
    }
    #transportBtn {
        width: 700px;
        height: 710px;
        margin-bottom: 100px;
    }
    #transportBtn li {
        margin-top: 25px;
    }

    /* コラム一覧 */
    .pagination {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
}
@media screen and (max-width: 991px) {
    .pc{display: none !important;}
    .sp{display: block;}

    .heading .en {
        font-size: 14px;
    }
    .heading .ja {
        font-size: 28px;
    }
    .slideshow {
        margin-bottom: 12px;
    }
    .sec-lune_bleue {
        padding: 0 1.34vw;
    }
    .lune_bleue-bottom {
        margin-top: 14px;
        flex-wrap: wrap;
        gap: 10px;
    }
    .lune_bleue-bottom a {
        width: 48%;
    }
    .lune_bleue-bottom img {
        width: 100%;
    }
    .lune_bleue-aboutus::before {
        padding-top: 60%;
    }
    .pickup {
        padding-top: 45px;
        padding-bottom: 45px;
    }
    .pickup .inner {
        padding: 0 4vw;
    }
    .pickup .heading {
        margin-bottom: 16px;
    }
    .ribbon {
        font-size: 14px;
        margin-bottom: 16px;
        padding: 0;
    }
    .ribbon::before {
        border-width: 10.5px 0 10.5px 15px;
    }
    .ribbon::after {
        border-width: 10.5px 15px 10.5px 0;
    }

    .package {
        overflow: hidden;
    }
    .pickup__item ,.package__item {
        width: 48%;
    }
    .pickup__item:nth-of-type(n+3) {
        margin-top: 4.267vw;
    }
    .pickup__txt,
    .package__txt {
        padding: 34vw 3.733vw 3.733vw;
    }
    .pickup__txt h4,
    .package__txt h4 {
        font-size: 3.2vw;
        text-align: left;
        margin-bottom: 1.33vw;
    }
    .pickup__txt p,
    .package__txt p {
        font-size: 2.667vw;
    }
    .pickup .heading .ja {
        background-size: 30px;
        background-position-y: 6px;
        padding-left: 35px;
    }

    .products .heading .ja {
        background-size: 30px;
        background-position: 12px 4px;
        padding-left: 0;
    }
    .social-media .heading .ja {
        background-size: 35px;
        padding-left: 45px;
        background-position-y: 7px;
    }
    .sec-link .heading .ja {
        background-size: 30px;
        padding-left: 40px;
        background-position-y: 7px;
    }

    .products {
        padding: 30px 0;
    }
    .products .heading {
        margin-bottom: 15px;
    }
    .social-media {
        background-image: url("../images/bg-social-mediaSP.png");
        background-size: 100%;
        padding-top: 60px;
        padding-bottom: 35px;
    }
    .social-media .inner {
        padding: 0 15px;
    }
    .twitter_box {
        margin-bottom: 45px;
    }
    .social-media h3 {
        font-size: 22px;
        margin-bottom: 15px;
    }
    .social-media iframe {
        height: auto;
    }
    .sec-link .inner {
        padding-top: 60px;
        padding-bottom: 40px;
    }
    .sec-link .heading {
        margin-bottom: 30px;
    }
    .sec-link__list {
        padding: 0 4vw;
    }

    footer {
        padding: 40px 15px 20px;
    }
    .flow + footer {
        padding: 10.67vw 15px 20px;
    }
    .footer-info {
        flex-direction: column;
        margin-bottom: 35px;
    }
    .footer-info > dl {
        order: 3;
    }
    .jcs-group {
        padding: 20px 0;
    }
    .footer-info p {
        font-size: 13px;
    }
    .footer-info a img {
        width: 100%;
        max-width: 453px;
        margin: 0 auto;
    }
    .jcs-group dl:nth-of-type(n+2) {
        margin-top: 20px;
    }
    .footer-info dt,
    .jcs-group dt {
        margin-bottom: 10px;
    }
    .fnav {
        margin-bottom: 25px;
    }
    .fnav__list {
        display: flex;
        flex-wrap: wrap;
    }
    .fnav__list li {
        margin-right: 28px;
        margin-bottom: 12px;
    }
    .fnav__sns {
        text-align: left;
        margin-top: 20px;
    }
    footer .fnav__list a,
    .eventlist ul {
        font-size: 14px;
    }
    footer .fnav__list a {
        position: relative;
    }
    footer .fnav__list a::after {
        content: "";
        position: absolute;
        top: 0;
        right: -14px;
        bottom: 0;
        margin: auto;
        display: inline-block;
        width: 1px;
        height: 20px;
        background-color: #fff;
    }

    .service {
        padding-bottom: 30px;
    }
    .service__kv {
        overflow: hidden;
        background-color: #0b0b0b;
        padding-bottom: 30px;
    }
    .service__kv .heading {
        padding-top: 40vw;
        padding-bottom: 48vw;
    }
    .service__kv img:nth-of-type(1) {
        top: -6vw;
        left: -10%;
        width: 69%;
    }
    .service__kv img:nth-of-type(2) {
        width: 70%;
        top: 52vw;
        right: -12%;
    }
    .service__kv .inner {
        padding: 0 1.34vw;
    }
    .service__kv .message {
        margin-bottom: 20px;
    }
    .service__kv .message p {
        text-align: left;
        font-size: 14px;
    }
    .service__item {
        padding: 15px 0;
    }
    .service__item p {
        font-size: 12px;
    }
    .service-explain {
        position: relative;
        padding: 80px 15px 60px;
    }
    .service-explain::before {
        content: "";
        position: absolute;
        display: inline-block;
        width: 100%;
    }
    .service-explain::before {
        top: 0;
        right: 0;
        border-right: 100vw solid transparent;
        border-top: 10vw solid #0b0b0b;
    }
    .service-explain__block:nth-of-type(n+2) {
        margin-top: 25px;
    }
    .service-explain__block h3 {
        font-size: 21px;
        margin-bottom: 5px;
    }
    .service-explain__block p {
        font-size: 14px;
    }
    .service-event {
        padding-top: 40px;
        margin-bottom: 20px;
    }
    .service-event .heading {
        margin-bottom: 40px;
    }
    .service-event__item {
        width: 100%;
    }
    .service-event__item:nth-of-type(n+4) {
        margin-top: 0;
    }
    .service-event h3 {
        font-size: 24px;
        margin-bottom: 10px;
    }
    .service-event__txt {
        padding-bottom: 50px;
    }
    .service-package img {
        margin-bottom: 20px;
    }
    .service-package a {
        font-size: 20px;
    }
    .service-package a::before,
    .service-package a::after {
        width: 10px;
        height: 10px;
        top: -3px;
    }
    .service-package a::before {
        right: -25px;
    }
    .service-package a::after {
        right: -15px;
    }

    .package {
        padding-bottom: 50px;
    }
    .package__kv {
        padding-top: 20px;
        margin-bottom: 20px;
    }
    .package-notion {
        padding: 0 15px;
        margin-bottom: 30px;
    }
    .package-notion .inner {
        padding: 5px 0;
    }
    .package-notion span {
        font-size: 16px;
    }
    .package-notion .arrow {
        bottom: 5px;
    }
    .package-notion .arrow:nth-of-type(1) {
        left: 20px;
    }
    .package-notion .arrow:nth-of-type(2) {
        right: 20px;
    }
    .package__list {
        column-gap: 14px;
        row-gap: 14px;
        padding: 0 15px;
    }

    .flow__kv {
        background-image: url("../images/bg-flow.png");
        background-repeat: repeat-x;
        background-size: cover;
        background-position-y: -5vw;
        overflow: hidden;
    }
    .flow__kv .inner {
        position: relative;
        padding: 40vw 0 48vw;
    }
    .flow__kv::after {
        left: 0;
        bottom: 0;
        border-left: 100vw solid transparent;
        border-right: 100px solid transparent;
        border-bottom: 60px solid #ffc77e;
    }
    .flow__kv img {
        width: 55%;
        bottom: 10px;
        left: 0;
    }
    .flow-step-kv {
        margin: 0 auto;
        padding-top: 50px;
    }
    .flow-step-kv img {
        width: 45%;
        bottom: 70vw;
        right: 0;
    }
    .flow-step .inner {
        padding-bottom: 45.33vw;
    }
    .flow .message p {
        font-size: 14px;
        padding: 0 20px;
    }
    .flow__list {
        margin-top: 115px;
    }
    .flow__head {
        margin-bottom: 30px;
    }
    .flow__item {
        height: 300px;
        z-index: 3;
    }
    .flow__list .flow__item::after {
        content: "";
        position: absolute;
        top: 180px;
        left: 0;
        height: 200px;
        width: 90%;
        background-size: contain;
        background-position: center top;
        background-repeat: no-repeat;
    }
    .flow__list .flow__item:nth-child(n+2) {
        margin-top: 300px;
    }
    .flow__list .flow__item:nth-child(1)::after {
        top: 460px;
        transform: rotate(-30deg);
        background-image: url("../images/flow-step-sep_01.png");
    }
    .flow__list .flow__item:nth-child(2)::after {
        top: 400px;
        transform: rotate(30deg);
        background-image: url("../images/flow-step-sep_02.png");
    }
    .flow__list .flow__item:nth-child(3)::after {
        top: 410px;
        transform: rotate(-30deg);
        background-image: url("../images/flow-step-sep_03.png");
    }
    .flow__list .flow__item:nth-child(4)::after {
        top: 500px;
        transform: rotate(20deg);
        background-image: url("../images/flow-step-sep_04.png");
    }
    .flow__list .flow__item:nth-child(5)::after {
        top: 380px;
        transform: rotate(-25deg);
        background-image: url("../images/flow-step-sep_05.png");
    }
    .flow__list .flow__item:nth-child(6)::after {
        top: 480px;
        transform: rotate(10deg);
        background-image: url("../images/flow-step-sep_06.png");
    }
    .flow__ico {
        position: absolute;
        top: -100px;
        left: 0;
        min-width: 80px;
        height: 80px;
    }
    .flow__ico span:nth-of-type(1) {
        font-size: 12px;
    }
    .flow__ico span:nth-of-type(2) {
        margin-top: 2px;
        font-size: 20px;
        letter-spacing: 0.2em;
    }
    .flow__txt {
        padding: 60px 20px 20px;
    }
    .flow__ttl {
        font-size: 18px;
    }
    .flow__head header {
        height: inherit;
    }
    .flow__img {
        position: relative;
    }

    .company {
        padding-bottom: 100px;
    }
    .company__kv {
        padding-top: 40vw;
        padding-bottom: 50vw;
    }
    .company__kv::after {
        left: 0;
        bottom: 0;
        border-left: 100vw solid transparent;
        border-right: 100px solid transparent;
        border-bottom: 60px solid #fff;
    }
    .company__kv img:nth-of-type(1) {
        width: 60%;
        bottom: 0;
        left: -2%;
    }
    .company__kv img:nth-of-type(2) {
        width: 45%;
        top: 3%;
        right: 0;
    }
    .company-message p {
        font-size: 13px;
    }
    .company-message::after {
        right: 0;
        bottom: 0;
        border-left: 100px solid transparent;
        border-right: 100vw solid transparent;
        border-bottom: 8vw solid #fff;
    }
    .bg-message-vision {
        padding-top: 30px;
        padding-bottom: 40px;
        background-size: 150%;
    }
    .top-message {
        padding: 0 15px;
    }
    .top-message .heading {
        margin-bottom: 30px;
    }
    .top-message-name {
        padding: 0 20px;
    }
    .top-message__box {
        padding: 20px 0;
    }
    .top-message__ttl {
        font-size: 18px;
    }
    .top-message__ttl span {
        font-size: 20px;
    }
    .top-message__desc p,
    .top-message-name p {
        font-size: 14px;
    }
    .top-message-name span {
        font-size: 16px;
    }
    .ourvision {
        padding: 5vw 0 0 0;
        height: 45vw;
        margin-top: 25vw;
    }
    .ourvision p.ourvision__ttl {
        font-size: 18px;
    }
    .profile {
        padding-top: 30px;
    }
    .profile .heading {
        margin-bottom: 30px;
    }

    .profile-info {
        padding: 0 10px;
    }
    .profile-info dl {
        text-align: left;
        font-size: 14px;
    }
    .profile-info dt {
        padding: 12px 0 6px 16px;
    }
    .profile-info dd {
        padding: 6px 0 12px 16px;
    }
    .profile-info dd p {
        font-size: 14px;
    }
    .profile-info dd > div:nth-of-type(n+2) {
        margin-top: 12px;
    }

    .contact .inner {
        padding: 0 10px;
    }
    .contact,.thanks {
        padding-top: 50px;
    }
    .contact .message {
        margin-bottom: 30px;
    }
    .contact .message p {
        font-size: 14px;
        line-height: 2;
        text-align: left;
    }
    .contact::before,
    .thanks::before {
        height: 150px;
        background-position: center -30px;
    }
    .contact h1 .en,
    .thanks h1 .en {
        font-size: 16px;
        margin-bottom: 5px;
    }
    .contact h1 .ja,
    .thanks h1 .ja {
        font-size: 20px;
        margin-bottom: 50px;
    }
    .contact .table {
        width: 100%;
        margin-bottom: 30px;
        border-top: 1px solid #ddd;
    }
    .table tr {
        display: flex;
        flex-direction: column;
        border-bottom: 1px solid #ddd;
    }
    .contact .table th,
    .contact .table td {
        padding: 12px 16px;
    }
    .contact .table th {
        padding-bottom: 0;
    }
    .buttons {
        padding-bottom: 30px;
    }
    button[type="reset"] {
        padding: 8px 16px;
    }
    button[type="submit"] {
        padding: 15px 0;
        width: calc(100% - 40px);
    }
    .badge-must {
        font-size: 12px;
        width: 36px;
    }
    .thanks h2 {
        font-size: 18px;
        padding: 30px 0;
    }
    .thanks p {
        font-size: 14px;
        padding: 30px 10px;
    }

    .lune_bleue-kv::before {
        padding-top: 178%;
        background-position: center;
    }
    .lune_bleue-kv img {
        padding: 0 15px;
    }
    .lune_bleue_base-aboutus {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .lune_bleue-aboutus::before,
    .lune_bleue-aboutus::after {
        content: none;
    }
    .lune_bleue .heading span {
        font-size: 28px;
    }
    .lune_bleue .heading .sm {
        font-size: 14px;
    }
    .lune_bleue-aboutus .heading {
        margin-bottom: 30px;
    }
    .lune_bleue-aboutus .message p {
        font-size: 14px;
        padding: 0 15px;
        text-align: center;
    }
    .lune_bleue-aboutus h3 {
        font-size: 16px;
        margin-bottom: 30px;
    }
    .lune_bleue-aboutus02 {
        padding: 50px 0;
    }
    .lune_bleue-aboutus02 > img{
        margin-bottom: 30px;
    }
    .lune_bleue-aboutus02 .inner {
        padding: 0 15px;
    }
    .aboutus__item:nth-of-type(n+2),
    .party__item:nth-of-type(n+2)  {
        margin-top: 30px;
    }
    .aboutus__item img,
    .party__item img {
        width: 100%;
        margin-bottom: 20px;
    }
    .aboutus__item h4,
    .party__item h3 {
        font-size: 18px;
        margin-bottom: 20px;
    }
    .aboutus__item p,
    .party__item p {
        font-size: 14px;
    }
    .facility .heading {
        padding-bottom: 30px;
    }
    .facility > div {
        padding: 0 15px;
    } 
    .facility h3 {
        text-indent: -40px;
        padding-left: 40px;
        margin-bottom: 20px;
    }
    .facility h3 span {
        font-size: 16px;
        padding-left: 40px;
    }
    .facility h3 span::before {
        left: 0;
    }
    .facility .heading + div {
        padding-bottom: 30px;
    }
    .facility .facility-detail {
        padding-top: 15px;
    }
    .facility-detail dl span {
        font-size: 12px;
    }
    .facility-detail dt {
        font-size: 14px;
        margin-bottom: 5px;
    }
    .facility-detail dl:nth-of-type(n+2) {
        margin-top: 15px;
    }
    .access {
        padding: 50px 0 100px;
    }
    .access .heading {
        margin-bottom: 30px;
    }
    .shop-info {
        padding: 30px 15px;
    }
    .shop-info img {
        width: 100%;
    }
    .shop-info h3 {
        font-size: 18px;
        margin-top: 15px;
    }
    .access-info h4 {
        font-size: 14px;
        margin-top: 15px;
    }
    .access-info p,
    .access-info table {
        font-size: 12px;
    }
    .lune-sns__list {
        display: block;
    }
    .lune-sns__list a {
        width: 300px;
        margin: 0 auto;
    }
    .lune-sns__list a:nth-of-type(n+2) {
        margin-top: 20px;
    }
    .lune-sns h3 {
        font-size: 18px;
        margin-bottom: 15px;
    }
    .lune-sns span {
        font-size: 14px;
    }
    .feature {
        padding-bottom: 50px;
    }
    .feature .heading,
    .party .heading {
        margin-bottom: 30px;
    }
    .feature h3 {
        font-size: 18px;
        margin-bottom: 15px;
    }
    .feature__item:nth-of-type(n+2) {
        margin-top: 30px;
    }
    .feature__item p {
        font-size: 14px;
    }
    .feature__container {
        padding: 0 14px;
    }
    .feature__list {
        padding: 50px 0;
    }
    .feature > img {
        padding: 0 14px;
        width: 100%;
    }
    .party__list {
        padding: 0 14px;
    }
    .shop-service {
        padding: 0 14px 50px;
    }
    .shop-service .en {
        font-size: 16px;
    }
    .shop-service .ja,
    .shop-service p {
        font-size: 14px;
    }
    .shop-service dl:nth-of-type(n+2) {
        margin-top: 15px;
    }
    .shop-service dt {
        margin-bottom: 10px;
    }

    .bodybgU {
        background-size: contain;
    }
    .l-main #contents {
        max-width: 64%;
    }
    .l-main #main {
        padding-left: 0;
        width: 70%;
    }
    .l-main #layer {
        padding-bottom: 25px;
    }
    .l-main .pagetop img {
        width: 70px;
    }
    .l-main #sub {
        margin-bottom: 20px;
        padding-left: 10px;
    }
    #sub {
        width: 30%;
    }
    #sub ul.subbtn {
        padding-top: 7px;
    }
    #contents #sub ul li {
        margin: 5px 0;
    }
    #contents #sub ul.info li.address,
    #contents #sub ul.info li.address2 {
        margin-left: 0;
        padding-left: 5px;
        width: 99%;
    }
    #contents #sub ul.info li.address {
        padding-top: 5px;
        background-size: 11px;
        padding-left: 10px;
        background-position: -3px 4px;
    }
    #contents #sub ul.info li.address span {
        transform: scale(0.4);
        display: inline-block;
        white-space: nowrap;
        transform-origin: left;
    }

    #transportBtn li {
        width: 46%;
    }

    #zooBtn {
        margin-bottom: 0;
    }
    #zooBtn .Left {
        margin-right: 3px;
    }
    #zooBtn li {
        width: 49%;
    }

    /* コラム一覧 */
    .pagination {
        display: block;
    }
    .pagination a {
        max-width: 400px;
    }
    .pagination-next a {
        margin-top: 40px;
        margin-left: auto;
    }
}
@media screen and (min-width: 768px) {
    .sec-link__list {
        display: flex;
        flex-wrap: wrap;
        column-gap: 50px;
        row-gap: 24px;
    }
    .sec-link__item {
        width: calc(50% - 25px);
    }
    .column__item {
        width: calc(50% - 18px);
    }
    .pagination-prev .icon {
        left: 120px;
    }
    .pagination-next .icon {
        right: 120px;
    }
}
@media screen and (max-width: 767px) {
    .sec-link__list {
        padding: 0 15px;
    }
    .sec-link__list a {
        display: block;
    }
    .sec-link__list a:nth-of-type(n+2) {
        margin-top: 10px;
    }
    .column-page-main .inner {
        width: 100%;
        padding: 0 15px;
    }
    .column__item {
        width: 100%;
    }
    /* コラム詳細 */
    .column-page-main .breadcrumb {
        width: 100%;
        padding: 0 15px;
    }
    .column-page-main p,
    .column-page-main .breadcrumb span,
    .column-page-main .pagination span {
        font-size: 14px;
    }
    .pagination a {
        padding: 30px 20px;
    }
    .pagination__ttl {
        width: 180px;
    }
    .pagination-prev .icon {
        left: 90px;
    }
    .pagination-next .icon {
        right: 90px;
    }
}