@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Montserrat:wght@500&family=Noto+Sans+JP:wght@500&family=Noto+Serif+JP:wght@200&display=swap');

/* ------------------------
    BASE 
-------------------------*/
html,
body {
    position: relative;
    width: 100%;
    overflow-x: hidden;
}

body {
    font-family: "Noto Sans JP",'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    /*font-weight: 300;*/
    /*font-style: bold;*/
    margin: 0px;
    font-size: 14px;
    font-weight: normal;
    /*    letter-spacing: 1px;*/
    line-height: 2;
    color: #212529;
    overflow-x: hidden;
    text-align: justify;
    background: #fff;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Noto Sans JP",'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    /*    line-height: normal;*/
    text-align: initial;
    font-weight: normal;
}

a {
    color: #dd007b;
    transition: 0.1s;
    text-decoration: underline;
    display: inline;
}

a:hover {
    transition: 0.1s;
    opacity: 0.6;
    /*    border-bottom: 2px #aaa solid;*/
    /*    display: inline;*/
}

/* ------------------------
    装飾・機能(utility) 
-------------------------*/
/*文字を中央寄せする場合*/
.u-text--center {
    text-align: center !important;
}

/*左寄せにする場合*/
.u-text--left {
    text-align: left !important;
}

/*右寄せにする場合*/
.u-text--right {
    text-align: right !important;
}

/*上の間隔を100px開ける*/
.u-margin--top100 {
    margin-top: 100px !important;
}

/*上の間隔を60px開ける*/
.u-margin--top60 {
    margin-top: 60px !important;
}

/*上の間隔を40px開ける*/
.u-margin--top40 {
    margin-top: 40px !important;
}

/*上の間隔を30px開ける*/
.u-margin--top30 {
    margin-top: 30px !important;
}

/*上の間隔を20px開ける*/
.u-margin--top20 {
    margin-top: 20px !important;
}

/*上の間隔を0pxにする*/
.u-margin--top0 {
    margin-top: 0px !important;
}

.u-margin--top05em {
    margin-top: 0.5em !important;
    display: inline-block;
}


.u-margin--top1em {
    margin-top: 1em !important;
}

.u-margin--top2em {
    margin-top: 2em !important;
}

.u-margin--top3em {
    margin-top: 3em !important;
}

/*下の間隔を0pxにする*/
.u-margin--bottom0 {
    margin-bottom: 0px !important;
}

.u-margin--bottom30 {
    margin-bottom: 30px !important;
    display: block;
}

.u-margin--bottom60 {
    margin-bottom: 60px !important;
    display: block;
}

.u-margin--bottom1em {
    margin-bottom: 1em !important;
}

.u-margin--bottom3em {
    margin-bottom: 3em !important;
}

.u-margin--bottom6em {
    margin-bottom: 6em !important;
}


.u-margin--left20 {
    margin-left: 20px;
}

/*margin-base*/
.u-margin--base {
    margin-bottom: 60px;
}

.u-padding--bottom {
    padding-bottom: 60px !important;
}

.u-padding--bottom2 {
    padding-bottom: 2em !important;
}

.u-padding--bottom100 {
    padding-bottom: 100px !important;
}

.u-padding--top {
    padding-top: 60px !important;
}

.u-padding--top30 {
    padding-top: 30px !important;
}

.u-padding--top40 {
    padding-top: 40px !important;
}

.u-padding--top0 {
    padding-top: 0px !important;
}

.u-padding--bottom0 {
    padding-bottom: 0px !important;
}

.u-padding--bottom30 {
    padding-bottom: 30px !important;
}

.u-padding--bottom40 {
    padding-bottom: 40px !important;
}


.u-text--bold {
    font-weight: bold;
}

.u-text--white {
    color: #fff;
}

@media screen and (max-width: 1023px) {
    .u-padding--bottom0-sp {
        padding-bottom: 0px !important;
    }

    .u-padding--top0-sp {
        padding-top: 0px !important;
    }
}

/*PC表示非表示*/
.pc_none {
    display: none !important;
}

@media screen and (max-width: 1023px) {
    .pc_none {
        display: block !important;
    }

    .sp_none {
        display: none !important;
    }
}

.none {
    display: none !important;
}

/* ------------------------
    共通スタイル(Component) 
-------------------------*/
/* h1 */
.c-title-h1 {
    font-size: 4em;

}

/* h2 */
.c-title-h2 {
    font-size: 3.5em;
}

.c-title-h2 span {
    font-size: 0.3em;
    display: block;
    /*    font-weight: normal;*/
    margin-top: 0.5em;
    font-family:  'Montserrat',"Noto Sans JP",'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

@media screen and (max-width:1023px) {
    .c-title-h2 span {
        font-size: 0.5em;
    }
}

/* h3 */
.c-title-h3 {
    font-size: 2.2em;
}

.c-title-h3 span {
    font-size: 0.4em;
    display: block;
    /*    font-weight: normal;*/
    margin-top: 0.5em;
    font-family: "Noto Sans JP",'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

@media screen and (max-width:1023px) {
    .c-title-h3 span {
        font-size: 0.5em;
    }
}

/* h4 */
.c-title-h4 {
    font-size: 1.7em;
}

.c-title-h4 span {
    font-size: 0.6em;
    display: block;
    font-weight: normal;
}

@media screen and (max-width:1023px) {
    .c-title-h4 span {
        font-size: 0.7em;
    }
}


/* h5 */
.c-title-h5 {
    font-size: 1.25em;
}

/* h6 */
.c-title-h6 {
    font-size: 1em;
}

@media screen and (max-width:1023px) {

    /*h1*/
    .c-title-h1 {
        font-size: 3em;
    }

    /*h2*/
    .c-title-h2 {
        font-size: 2.4em;
    }

    /*h3*/
    .c-title-h3 {
        font-size: 2.2em;
    }

    /*h4*/
    .c-title-h4 {
        font-size: 1.7em;
    }

    /*h5*/
    .c-title-h5 {
        font-size: 1.5em;
    }

    /*h6*/
    .c-title-h6 {
        font-size: 1.4em;
    }

    p {
        font-size: 1.1em;
    }
}

@media screen and (max-width: 769px) {

    .c-title-h1 {
        font-size: 9vw;
    }

    /*h2*/
    .c-title-h2 {
        font-size: 2.4em;
    }

    /*h3*/
    .c-title-h3 {
        font-size: 1.8em;
    }

    /*h4*/
    .c-title-h4 {
        font-size: 1.5em;
    }

    /*h5*/
    .c-title-h5 {
        font-size: 1.1em;
    }

    /*h6*/
    .c-title-h6 {
        font-size: 1.0em;
    }

    p {
        font-size: 1em;
    }
}

.c-line-height{
    line-height: normal;;
}


.c-title-font {
    font-family:  'Montserrat',"Noto Sans JP",'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
    /*    line-height: normal;*/
}


.c-pink {
    color: #dd007b;
}

.c-red {
    color: #dd007b;
    display: contents;
}

.c-bold {
    font-weight: bold;
}

.c-text-center{
    text-align: center;
}

.c-block-center{
    margin-right: auto;
    margin-left: auto;
}


.c-list {
    list-style: disc;
    margin: 1em 0;
    margin-left: 1.2em;
}

.c-table {
    width: 100%;
    min-width: 700px;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
    white-space: nowrap;
    overflow-x: scroll;
    overflow-x: hidden;
}

.c-table .c-table__item--head {
    padding: 10px;
    background: #ddd;
    border: solid 1px #aaa;
}

.c-table .c-table__item--body {
    padding: 10px;
    border: solid 1px #aaa;
}

.c-xscroll {
    width: 100%;
    white-space: nowrap;
    overflow: auto;
}

.mini_text {
    font-size: 0.8em !important;
    line-height: 1.4em;
}

@media screen and (max-width: 1023px) {
    .mini_text {
        font-size: 0.8em !important;
        line-height: 1.8em;
    }
}

.mini_text_title {
    font-size: 0.5em!important;
    margin-left: 1em!important;
    display: inline!important;
    line-height:normal!important;
}

@media screen and (max-width: 1023px) {
    .mini_text_title {
        font-size: 0.5em !important;
        margin-left: 0em!important;
        line-height:normal!important;
        display: block!important;
    }
}

/*ヘッダータイトル*/
h1 img,
.title_area_img img {
    /* margin-top: 4px;*/
    width: 90%;
    height: auto;
    padding: 12px 0;
    font-size: 0.5em;
}

@media screen and (max-width: 1023px) {

    h1 img,
    title_area_img img {
        height: 50px;
    }
}

.title_area_img {
    font-size: 0.5em;
}

/*ページトップへ移動*/
#page_top {
    width: 50px;
    height: 50px;
    position: fixed;
    right: 40px;
    bottom: 40px;
    background: url(../img/link_pagetop.png);
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
    border-radius: 50%;
    z-index: 100;
}

@media screen and (max-width: 1023px) {
    #page_top {
        right: 20px;
        bottom: 40px;
    }
}

/*ページトップへ移動*/
#page_top a {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}

#page_top a img {
    display: block;
    width: 100%;
    height: auto;
}

/*sectionの共通コード*/
section {
    padding: 0px 0em;
    /*    text-align: center;*/
    position: relative;
    margin: 0 auto;
    width: 100%;
    /*    max-width: 1200px;*/
}

@media screen and (max-width: 1023px) {
    section {
        /*        padding: 40px 1em;*/
    }

}

/*SP時タイトルを改行*/
section h2 br,
section h3 br {
    /*    display: none;*/
}

@media screen and (max-width: 1023px) {

    section h2 br,
    section h3 br {
        display: block;
    }
}



/*ボタンの設定*/
/*ベースボタン*/
.base_button {
    border: 0px solid #4F3837;
    margin: 0 auto;
    padding: 0.8em 4.8em;
    height: auto !important;
    cursor: pointer;
    user-select: none;
    /*    font-weight: bold;*/
    text-align: center;
    /*    max-width: 90%;*/
    border-radius: 50px;
    background: #000;
    color: #fff;
    background: -webkit-linear-gradient(left, #F55A6B 10%, #CE1126 99%);
    background-position: 40% 90%;
    background-size: 200% auto;
    margin: 0 auto;
    display: block;
    position: relative;
    transition: all 0.3s ease-out;
    text-decoration: none !important;

}

.button {
    position: relative;
    z-index: 1;
    text-align: center;
    margin: 0 auto;
    padding: 0.75em 3em;
    display: inline-block;
    color: #fff;
    text-decoration: none !important;
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    border-bottom: 0px #000 solid !important;
    font-weight: 500;
}

.button::before {
    transform: skewX(-15deg);
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
    background: -webkit-linear-gradient(left, #0030b8 10%, #008aff 99%);
    background-position: 40% 90%;

}

.button::after {
    transform: skewX(-15deg);
    content: "";
    position: absolute;
    top: 0.25em;
    bottom: -0.25em;
    left: 0.25em;
    right: -0.25em;
    z-index: -2;
    border: 2px solid #000;
    border-top: none;
    border-left: none;
    border-image: -webkit-linear-gradient(left, #0030b8 10%, #008aff 99%);
    border-image-slice: 1;
}

.button:hover {
    border-bottom: none;
    display: inline-block;
    opacity: 0.8 !important;
}

.arrow::before {
    /* くの字の表示設定 */
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.25em;
    width: 6px;
    /* くの字を山なりに見た時、左側の長さ */
    height: 6px;
    /* くの字を山なりに見た時、右側の長さ */
    border-top: 2px solid #fff;
    /* くの字を山なりに見た時、左側の太さと色 */
    border-right: 2px solid #fff;
    /* くの字を山なりに見た時、右側の太さと色 */
    transform: rotate(45deg);
    /* くの字の向き */
}

.button_round {
    border-radius: 100px;
    border: none;
    /*    z-index: -1;*/
    background: -webkit-linear-gradient(left, #888 10%, #ccc 99%);
    background-position: 40% 90%;
    color: #fff;
    padding: 0.6em 1.5em;
    /*    margin: 2em auto;*/
    display: flex;
    font-weight: 500;
    text-decoration: none;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}


@media screen and (max-width: 1023px) {
    .button_round {
        color: #fff;
        padding: 1em 1.5em;
/*        display: inline-block;*/
/*
        width: 100%;
        max-width: 340px;
*/
        text-decoration: none;
    }

}

.button_round:hover {
    border: none;
}

.button_area {
    text-align: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
}

.white_button {
    background: #fff;
    color: #0030b8;
    display: block;
    font-weight: bold;
    z-index: 1;

}

.contact_button:hover {
    color: #fff;
    transition: all 0.3s ease-out;

}


.base_button:hover {
    opacity: 1;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;

    border: 0px solid #4F3837;
    transition: all 0.3s ease-out;
    background-position: 99% 50%;
}

@media screen and (max-width: 1023px) {
    .base_button {
        padding: 0.8em 2.0em;
    }

    .base_button h5 {
        font-size: 1.25em !important;
    }
}

.mini_button {
    transform: scale(0.8);
    color: #fff;
}

.button_pink {
    background: #dd007b;
    /*    display: inline-block;*/
}

.button_black {
    background: #797769;
    /*    display: inline-block;*/
}

.button_margin_left {
    margin: 0 0 0 0.8em;
    display: inline-block;
}

.button_margin_bottom {
    transform: rotate( 90deg );
    height: 8px!important;
}

.button_white {
    background: #fff;
    color: #000;
}


.button_center {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: center;
}


.button_img-black {
 filter: brightness(1) invert(1);
}

/* ------------------------
    レイヤー
-------------------------*/
.l-inner {
    margin: 0 auto;
    /*    padding-top: 5em;*/
}

.l-wrapper {
    position: relative;
}

.l-container {
    margin: 0px auto;
    padding: 80px 0;
    width: 90%;
    max-width: 1100px;
}


.l-article—bkgwall {
/*    background: url("../img/bg_02.jpg");*/
    background: #eae4de;
}

.l-article—bkgwall-02 {
    background: url("../img/bg_02.jpg");
        background-size: cover;
}

.l-article—bkgwall-03 {
    background: #545248;
}

.l-footer__logo {}

.l-footer__logo__img {
    width: auto;
    height: 50px;
    display: inline-block;
}

.l-footer__logo p {
    margin: 1em 0;
}

.l-footer__sns {
    display: flex;
}

.l-footer__sns img {
    height: 30px;
    display: block;
    margin: 0 10px 0 0;

}

@media screen and (max-width: 1023px) {
    .l-footer__logo {
        text-align: center;
        margin: 4em auto 2em;
        font-size: 0.75em;
    }

.l-container {
    padding: 60px 0;
}

}




.l-footer__list {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-content: center !important;
    justify-content: flex-start !important;
/*    align-items: flex-start !important;*/
    /*    margin-top: 10px;*/
}

@media screen and (max-width: 1023px) {
    .l-footer__list {
        margin-top: 8px;
    }
}



.l-footer__list li {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-content: center !important;
    justify-content: flex-start !important;
/*    align-items: flex-start !important;*/
}

.l-footer__list li::before {
    content: "-";
    color: #ccc;
    margin-left: 10px;
    display: inline-block;
}

.footer_menu .li_point::after {
    content: "";
    color: #ccc;
    margin: 0 10px;
    display: none;
}


.li_point:last-child::after {
    content: " ";
    margin-left: 0px;
}

.l-footer__sns__area {
    margin-top: 3em!important;
}




.u-ul-hr{
    width: 100%;
    height: 1px;
    display: block;
    margin: 10px 0;
}

.u-ul-hr-header{
    width: 100%;
    height: 0.5px;
}

.u-ul-hr-footer{
    width: 110%;
    height: 0.5px;
    display: block;
    margin: 8px 0;
    
}

.u-ul-li-hr-footer::before{
    content: " " !important;
    margin-left: 10px !important;
}

@media screen and (max-width: 1023px) {
    .l-footer__sns__area {
        margin-top: 2em;
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-content: center !important;
        justify-content: center !important;
        align-items: center !important;
    }
    
    
.u-ul-li-hr::before{
    content: " " !important;
    margin-left: 10px !important;
}
.u-ul-li-hr-footer::before{
    content: " " !important;
    margin-left: 10px !important;
}
    
    .u-ul-hr{
    width: 110%;
    height: 0.5px;
    display: block;
    margin: 10px 0;
        
}

    .u-ul-hr-header{
    width: 100%;
    height: 0.5px;
    display: block;
    margin: 10px 0;
    margin-left: -10px;
}
    
}


.c-flex {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    align-items: flex-start;
    justify-content: space-between;
}

.c-flex__item {
    width: 47%;
    margin: 0 1%;
}

@media screen and (max-width: 1023px) {
    .c-flex {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        align-items: center;
        justify-content: space-between;
    }

    .c-flex__item {
        width: 100%;
        margin: 0 0%;
    }

    .c-flex__item-sp-title {
        margin: 0 auto 60px;
        text-align: left;
        width: 100%;
    }

}


.c-flex__news {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 2em;
}

.c-flex__news-item—left {
    width: 200px;
    margin-right: 20px;
}

.c-news__button {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-end;
}

.c-news__button img{
    width:auto!important;
}

.p-news__article {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: flex-start;
}

@media screen and (max-width: 1023px) {
    .c-flex__news {
       display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: flex-start;
        margin-bottom: 2em;
        align-items: center;
    }
    .c-flex__news-item—left{
        width:inherit;
             margin-right: 0px;
    }
    .p-news__list {
        margin-top: 60px;
        margin-bottom: 30px;
        width: 100%;
    }

    .p-news__title {
        display: block;
    }

    .c-news__button {
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
    }

    .p-news__article {
       display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: flex-start;
        align-items: flex-start;
        margin: 0 0 1em 0;
    }
}





.p-news__date {
    margin-right: 1em;
}

.c-text_center {
    width: 100%;
    text-align: center !important;
    margin-bottom: 40px;
}

.c-center {
    text-align: center !important;
}

.c-flex__3column {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
        justify-content: space-between;
    align-items: flex-start;
}

.c-flex__3column-item {
    width: 30%;
/*    margin: 1.25%;*/
    margin-bottom: 2em;
}

.c-flex__3column-item-link {
    text-decoration: none;
    display: inline-block;
    width: 100%;
}

.c-flex__3column-item img {
    width: 100%;
}

.c-flex__3column-item-title {
/*    text-decoration: underline;*/
    margin-bottom: 0.5em;
}

.c-flex__3column-item-title span {
    text-decoration: none !important;
}

.c-flex__3column-item-title__text {
    text-decoration: none !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 100;
}

@media screen and (max-width: 1023px) {
    .c-flex__3column-item {
        width: 96%;
        margin: 1.25%;
        margin-bottom: 2em;
    }

    .c-flex__3column-item-title {}
}


.c-flex__2column {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    align-items: flex-start;
}

.c-flex__2column-item {
    width: 46%;
    margin: 2% auto;
    margin-bottom: 2em;
}

.c-flex__2column-item img {
    width: 100%;
}

.c-flex__2column-item-title {
    text-decoration: underline;
    margin: 0.5em 0;
}

.c-flex__2column-item-title-area p {
    text-decoration: none !important;
    margin: 0.5em 0;
    margin-left: 1em;
    font-family: 'Montserrat', sans-serif;
    font-weight: 100;
}

.c-flex__2column-item-title-area {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
}

.c-flex__2column-item-title-area h4 {
    margin-right: 0.5em;
}

.c-flex__2column-item-img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}


@media screen and (max-width: 1023px) {
    .c-flex__2column-item {
        width: 96%;
        margin: 2%;
        margin-bottom: 2em;
    }

    .c-flex__2column-item-title-area p {
        font-size: 0.8em;
        word-break: break-all;
    }


}



.c-flex__1column-item {
    width: 100%;
    margin: 2%;
    margin-bottom: 2em;
}

.c-flex__1column-item img {
   width: 100%;
    max-height: 250px;
    object-fit: cover;
}



.c-flex__6column {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: flex-start;
    align-items: flex-start;
}

.c-flex__6column-item {
width: 16%;
    /* margin: 1.25%; */
    margin: 0 0.3%;
    margin-bottom: 3em;
    /* padding: 0px 0.5%;*/
}

.c-flex__6column-item-link {
    text-decoration: none;
    display: inline-block;
    width: 100%;
    text-align: center;
}

.c-flex__6column-item img {
    width: 100%;
    max-width: 220px;
}

.c-flex__6column-item-title {
/*    text-decoration: underline;*/
    margin-bottom: 0.5em;
}

.c-flex__6column-item-title span {
    text-decoration: none !important;
}

.c-flex__6column-item-title__text {
    text-decoration: none !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 100;
}

@media screen and (max-width: 1023px) {
    .c-flex__6column-item {
        width: 46%;
        margin: 1.25%;
        margin-bottom: 3em;
    }

    .c-flex__6column-item-title {}
}



.c-strengths_area{
    max-width: 90%;
    width: 800px;
    margin: 0 auto;
}

.c-strengths_area .c-flex__3column-item img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: top;
}


@media screen and (max-width: 1023px) {
 .c-strengths_area .c-flex__3column-item img {
    width: 100%;
    max-width: 300px;
}

}

.c-flex__pr-item{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.c-flex__pr-item-img{
    width: 100%;
    max-width: 400px;
}

.c-flex__pr-item-size{
    font-size: 1em;
    text-align: center;
}

.c-flex__pr-item-size div{
    display: inline-block;
    text-align: center;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.c-contact__button {
   width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.c-contact__button img {
    height: 20px;
    width: auto;
    display: block;
}


.l-container_contact {
    background: url("../img/bg_03.jpg");
    background-size: cover;
    position: relative;
    padding: 60px 0;
    color: #000;
}

/*
.l-container_contact::after {
    background: #fff;
    position: absolute;
    width: 2px;
    height: 100px;
    margin: 0 auto;
    top: 0;
    right: 0;
    left: 0;
    content: "";
}
*/

.c-btn__contact {
    background: #fff;
    color: #000;
    padding: 1.2em 2em;
    font-size: 1.2em;
/*    font-weight: bold;*/
}


.c-flex__item-banner {
    width: 80%;
    max-width: 300px;
    display: block;
    margin: 0.25em 0.5em;
}

@media screen and (max-width: 1023px) {
    .c-flex__item-banner {
        width: 96%;
        /* max-width: 300px; */
        display: block;
        margin: 0.25em 0.5em;
    }
}



.c-flex__item-banner img {
    width: 100%;
}


.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #dd007b;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: translateY(20%) rotate(-45deg);
}


@media screen and (max-width: 1023px) {

    .pagetop {
        height: 50px;
        width: 100%;
        border-radius: 0;
        position: relative;
        background: #dd007b;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 2;
        right: 0px;
        bottom: 0px;
    }
}


/*下層*/

.breadcrumbs {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: flex-end;
    align-items: center;
    margin: 1em auto !important;
}

.c-margin-breadcrumb {
    margin: 0 0.5em;
}

.u-width {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
}

.u-width-800 {
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
}


.c-header-margin {
    margin-top: 80px;
}

.c-title-area {
    margin: 0 auto;
    height: 250px;
    padding: 2em 4em;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: flex-start;
    font-weight: normal;
    color: #fff;
}

.c-title-about {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)), url("../img/bg_about.jpg");
    background-size: cover;
    background-position: center;
}

.c-title-service {
   background: linear-gradient(90deg, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)), url("../img/bg_about.jpg");
    background-size: cover;
    background-position: center;
}

.c-title-representative {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)), url("../img/bg_about.jpg");
    background-size: cover;
    background-position: center;
}

.c-title-contact {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)), url("../img/bg_about.jpg");
    background-size: cover;
    background-position: center;
}

.c-title-privacy {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)), url("../img/bg_about.jpg");
    background-size: cover;
    background-position: center;
}


.c-title-food {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)), url("../img/bg_food.jpg");
    background-size: cover;
    background-position: center;
}

.c-title-chef {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)), url("../img/bg_chef.jpg");
    background-size: cover;
    background-position: center;
}


.c-title-collaboration {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)), url("../img/bg_collaboration.jpg");
    background-size: cover;
    background-position: center;
}

.c-title-news{
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)), url("../img/bg_about.jpg");
    background-size: cover;
    background-position: center;
}


.c-title-404 {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)), url("../img/bg_about.jpg");
    background-size: cover;
    background-position: center;
}

.c-title-sub {
    margin: 60px auto;
    /*   height:160px;*/
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: flex-start;
    text-align: initial;
}

@media screen and (max-width: 1023px) {

    .c-title-sub {
        margin: 3em auto;
        height: auto;
    }
}

.c-responsive {
    width: 100%;
    aspect-ratio: 16/9;
    margin-top: 1em;
}


.c-frame {
    border: 10px #f4f3f1 solid;
    padding: 3em;
}

.c-card__inner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: flex-start;
}

.c-card__box {
    width: 48%;
    padding: 0%;
}

.c-card__box_100{
    width:100%;
}

.c-card__box-img {
    width: 100%;
    display: block;
}

@media screen and (max-width: 1023px) {

    .c-card__box-img {
        width: 100%;
        max-width: 500px;
        margin: 0 auto 1em;
        display: block;
    }

}


.c-card__box-bar {
    width: 100px;
    height: 1px;
    background: #000;
    margin: 2em 0;
}

.c-card__text {}


.c-frame-flex-box-menu {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 2em 0;
}

.c-frame-flex-box-menu li::after {
    content: "|";
    color: #ccc;
    margin: 0 10px;
}

.c-frame-flex-box-menu li:last-child::after {
    content: " ";
}

.c-frame-flex-box p {
    margin-bottom: 1em;
}

@media screen and (max-width: 1023px) {
    .c-header-margin {
        margin-top: 60px;
    }

    .c-title-area {
        margin: 0 auto;
        height: 200px;
        padding: 1em 2em;
    }

    .c-frame {
        padding: 2em 1.5em;
    }

    .c-card__inner {
        display: flex;
        flex-direction: column-reverse;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: space-between;
        align-items: flex-start;
    }

    .c-card__box {
        width: 100%;
        padding: 0%;
    }

    .c-frame-flex-box-img {
        margin-bottom: 1.5em;
    }

    .c-card__inner-reverse {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: space-between;
        align-items: flex-start;
    }

}


.c-frame-margin {
    margin: 1.5em auto;
}


.c-card__box-inner {
    border: 4px solid #f4f3f1;
    padding: 1.5em;
}

.c-gray-bg {
    background: #f4f3f1;
}

.c-card {
    padding: 3em 0 0 0;
}


.c-card__list-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: flex-start;
}

.c-card__list {
    padding: 0.5em 1.5em;
}

.c-card__item {
    margin: 0 0 0.5em 0;
}

.c-list-disc {
    list-style: disc;
}

.c-list-number {
    list-style: auto;
}

.c-list-check {
    list-style: none;
    margin-left: -1em;
}

.c-list-check li:before {
    content: '✓';
    margin-right: 0.5em;
}

.c-list-ster {
    list-style: none;
    margin-left: -1em;
}

.c-list-ster li:before {
    content: '★';
    margin-right: 0.5em;
}


.c-list-bar {
    list-style: none;
    margin-left: 1em;
}

.c-list-bar li:before {
    content: '-';
    margin-right: 0.5em;
}



.c-list-number-brackets {
    list-style-type: none;
    counter-increment: cnt;
    position: relative;
    margin-left: 1.75em;
}

.c-list-number-brackets::before {
    content: "("counter(cnt) ")";
    display: inline-block;
    margin-left: -3.5em;
    /* サイトに合せて調整 */
    width: 3em;
    /* サイトに合せて調整 */
    text-align: right;
    position: absolute;
    top: 0;
    left: 0;
}

.c-list-margin {
    margin-left: 1.5em;
}

.c-content-area {
    border: 0px;
    border-top: 1px solid #aaa;
}

.c-content-area-last {
    border-bottom: 1px solid #aaa;
}

.c-content-area {}

.c-content-list-title {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 0.75em;
}

.c-content-list-title-number {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    border-bottom: 2px solid #dd007b;
    margin-right: 0.5em;
    padding: 0 0.25em;
}

.c-content-list-title-img img {
    width: 40px;
    /*    height: 40px;*/
    display: block;
    margin-right: 0.5em;
    padding: 0 0.25em;
}

.c-content-list-text {
    width: 72%;
}

.c-content-list-text-only {
    width: 100%;
}

.c-content-list-img {
    width: 24%;
}

.c-content-list-padding {
    padding-right: 0;
    padding-left: 0;
}

.c-content-border {
    border: 2px solid #f4f3f1;
}

.c-content-border-title {
    padding: 1em 3em;
}

.c-black-bg {
    background: #000;
}


.c-card__block-sp {
    margin: 0 0 0.5em 0;
}

@media screen and (max-width: 1023px) {
    .c-content-list-title-img img {
        width: 30px;

    }

    .c-card__box-inner {
        padding: 1em;
    }

    .c-card__list-wrap {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: flex-start;
        align-items: flex-start;
    }


    .c-content-list-text {
        width: 100%;
    }

    .c-content-list-img {
        width: 100%;
    }

    .c-card {
        padding-left: 0;
        padding-right: 0;
    }

    .c-card__block-sp {
        margin: 0.5em 0;
    }

    .c-content-border-title {
        padding: 1em 1.5em;
    }
}


.c-summary {
    cursor: pointer;
}


.c-container {
    display: none;
}



summary {
    display: block;
    list-style: none;
}

summary::-webkit-details-marker {
    display: none;
}

.c-summary {
    padding: 1em 3em;
    color: #fff;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
}


.c-summary::after {
    content: '＋';
    font-size: 1.2em;
}

details[open] .c-summary::after,
.c-summary-open::after {
    content: '－';
    font-size: 1.2em;
}


@media screen and (max-width: 1023px) {
    .c-summary {
        padding: 1em 2em;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: space-between;
        align-items: center;
    }
}



.c-gallery {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-between;
    align-items: flex-start;
}

.c-gallery div {
    width: 23.5%;
    margin: 0 0 1% 0;
}

.c-gallery a img {
    width: 100%;
    height: 250px;
    max-height: 300px;
    object-fit: cover;
}

.c-gallery_square {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
}

@media screen and (max-width: 1023px) {
    .c-gallery_square {
        width: 100% !important;
        height: 150px !important;
        object-fit: cover !important;
    }
}



.c-gallery-1column {
    width: 100% !important;
    margin-bottom: 1em;
}

.c-gallery-2column {
    width: calc(50% - 1em) !important;
    margin-bottom: 1em;
}

.c-gallery-3column {
    width: calc(33% - 1em) !important;
    margin-bottom: 1em;
}

.c-gallery-6column {
    width: calc(16% - 1em) !important;
    margin-bottom: 1em;
}

.c-gallery-6column a img {
    max-height: inherit !important;
}

.p-catch__slider-gallery {
    margin-bottom: 8em;
}


.p-catch__slider-gallery img {
    display: block;
    width: 98%;
    padding: 0 1%;
    margin: 0 auto;
}

@media screen and (max-width: 1023px) {
    .c-gallery div {
        width: 32%;
        margin: 0;
    }

    .c-gallery-1column {
        width: 100% !important;
        margin-bottom: 0em;
    }

    .c-gallery-2column {
        width: 100% !important;
        margin-bottom: 0em;
    }

    .c-gallery-3column {
        width: 100% !important;
        margin-bottom: 0em;
    }

    .p-catch__slider-gallery {
        margin-bottom: 8em;
    }

    .c-gallery-1column a img,
    .c-gallery-2column a img,
    .c-gallery-3column a img {
        width: 100%;
        height: 200px;
        object-fit: cover;
    }

    .c-gallery-6column {
        width: calc(33% - 1em) !important;
        margin-bottom: 1em;
    }

}




/* スケジュール */
.c-schedule {
    width: 100%;
    max-width: 850px;
    margin: 0 auto;
    font-weight: bold;
}

.c-schedule-area {
    background: #ee7800;
    color: #fff;
    padding: 0.25em;
    border-radius: 10px;
}

.c-schedule-text {
    background: #ee7800;
    color: #fff;
    margin: 0.5em 0.75em;
}

.c-schedule-inner {
    background: #fff;
    color: #ee7800;
    padding: 1em;
}

.c-schedule-chevron {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    margin: 2em 0;
}

.c-schedule-chevron-down {
    display: inline-block;
    vertical-align: middle;
    color: #ee7800;
    line-height: 1;
    width: 1.5em;
    height: 1.5em;
    border: 0.15em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg);
}

.c-schedule-chevron-text {
    color: #e95313;
    width: 100%;
    text-align: center;
    font-weight: bold;
}

.c-fee {
    width: 100%;
    margin: 0 auto;
}

.c-fee-area {
    background: #fff;
    padding: 3em;
    margin-bottom: 2em;
    border:1px solid #d1b372;
    border-left: none;
    border-right: none;
    border-bottom: none;
}

.c-fee-title {
    width: 90px;
    height: auto;
}

.c-fee-text {
    background: #ee7800;
    color: #fff;
    margin: 0.5em 0.75em;
}

.c-fee-inner {
    color: #000;
    padding: 1em 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: flex-end;
}

.c-fee-inner-color {
    background: #f9f6f3;
}


.c-fee-inner-text-area{
    display: flex;
    width: 65%;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: stretch;
/*    height: 120px;*/
    
}

.c-fee-inner-text{
    width: 60%;
    padding: 0em;
}

.c-fee-inner-bar{
    border-left: 1px solid #aaa;
    width:1%;
    margin:  0 1.5em;
}


.c-fee-list {
    list-style: disc;
    padding: 0 0 0 1em;
    width: 30%;
    margin: 0 1em 0 0;
}


.c-fee-inner-money {
    text-align: right;
    display: flex;
    font-weight: bold;
    color: #d1b372;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    line-height: 0.5em;
}

.c-fee-inner-span {
    font-size: 0.75em;
    margin-left: 1em;
}

.c-fee-inner-money-mini{
    color: #d1b372;
    display: block;
    font-weight: bold;
}

@media screen and (max-width: 1023px) {
    .c-fee-inner {
    color: #000;
    padding: 1em 0;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: flex-end;
}
    
    .c-fee-inner-text-area {
    display: flex;
    width: 100%;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: stretch;
     height: auto;
}
    
    .c-fee-inner-text {
    width: 100%;
    padding-bottom: 1em;
}
    .c-fee-list {
    list-style: disc;
    padding: 0 0 0 1em;
    width: 100%;
        padding-bottom: 2em;
        margin: 0;
}
    
    .c-fee-area {
    padding: 1.5em;
 
}
    
}


.c-recommendation{
   display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: stretch;
}

.c-recommendation-area{
    width: 49%;
}

.c-recommendation-list{
    width: 100%;
}

@media screen and (max-width: 1023px) {
    .c-recommendation{
          display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: space-between;
        align-items: flex-start;
}

   .c-recommendation-area{
    width: 100%;
}
}


.c-notes{
   display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: stretch;
    margin:1em 0;
    padding: 2em 0;
}

.c-notes-area {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: flex-start;
}

.c-notes-ber{
    border-left: 1px solid #aaa;
    width:1%;
    margin:  0 2em;
}

.c-notes-list{
list-style: disc;
    padding-left: 2em;
}



@media screen and (max-width: 1023px) {
.c-notes {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: stretch;
    margin: 1em 0;
    padding: 2em 0;
}
    
    .c-notes-ber {
     border-left: none;
    border-top: 1px solid #aaa;
    width: 100%;
    margin: 2em 0em;
    height: 1px;
}
    
}




/*下層ページ*/
.c-under-border{
    border-top: 1px solid #aaa;
    margin: 1em auto;
}

.c-under-area{
        display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
}


.c-under-area-title{
    padding-right: 40px;
    border-right: 1px solid #aaa;
    margin: 20px auto;
}

.c-under-area-text-area{
    margin: 1em;
       display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
     width: 85%;
}

.c-under-area-text{
    margin: 1em;
    width: 100%;
}

.c-under-area-menu{
    margin: 1em;
    width: 45%;
    text-align: right;
}

@media screen and (max-width: 1023px) {
    .c-under-area{
            display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: flex-start;
}


.c-under-area-title{
    padding-right: 00px;
    border-right: 0px solid #aaa;
    margin: 20px 0;
}

.c-under-area-text-area{
    margin: 0em;
   display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.c-under-area-text{
    margin: 1em;
    width: 100%;
}

.c-under-area-menu{
    margin: 1em;
    width: 100%;
    text-align: left;
}
}




/* footer */
footer {
    background: #000;
    color: #fff;
    padding: 5em 0 6em;
    margin: 0 auto;
    width: 100%;
}

@media screen and (max-width: 1023px) {
    /* footer {} */
}

.footer_logo {
    width: auto;
    height: 30px;
}

footer a {
    border-bottom: 0px #000 solid;
}


footer .title_area {
    position: relative;
}


.l-footer {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: flex-start;
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

@media screen and (max-width: 1023px) {
    .l-footer {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}
}

.footer_logo {
    font-size: 0.5em;
}

.footer_menu ul {
    display: flex;
/*    align-items: flex-start;*/
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
}

.footer_menu ul li {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    margin: 0 0.5em;
    /*    font-size: 0.8em;*/
}

@media screen and (max-width: 1023px) {
    .footer_menu ul {
        flex-direction: column;

    }
}

.footer_menu ul a,
.footer_menu ul span {
    margin: 0 4px;
    color: #fff;
    display: inline;
    /*    border-bottom: 0px #000 solid;*/
    font-weight: 700;
    text-decoration: none;
}

.footer_menu ul a:hover {
    /*    border-bottom: 2px #000 solid;*/
    opacity: 0.5;
}

@media screen and (max-width: 1023px) {
    .footer_menu ul li {
        margin: 6px 0;
        /*        text-align: center;*/
    }
}

.footer_menu ul li:last-child a {
    margin-right: 10px;
}


@media screen and (max-width: 1023px) {
    .footer_menu ul li a {
        font-weight: bold;
        text-decoration: none;
    }


    .footer_menu ul li:first-child {
/*        margin-top: 0px;*/
    }

    .footer_menu ul li:last-child a {
/*        margin: 0px;*/
    }
}


.footer_ul-second{
    margin-top: 20px;
}

@media screen and (max-width: 1023px) {
    .footer_flex_under {
        display: flex;
        align-items: center;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: space-between;
    }

    .footer_width {
        width: 90%;
        margin: 2em auto;
    }
.footer_ul-second{
    margin-top: 0px;
}
}



.sns_icon a {
    margin: 0 4px !important;
}

.footer_flex a {
    margin: 0 10px;
    border-bottom: 0px #000 solid;
    text-decoration: none;
    font-size: 1em;
}

.footer_flex .under {
    border-bottom: 1px #000 solid;
}

.footer_bar {
    height: 1px;
    background: #dddddd;
    width: 100%;
    margin: 2em 0 1em;
}

.footer_bar2 {
    width: 1px;
    height: 30px;
    margin: 0 20px;
    background: #dddddd;
}

/*copyright用*/
small {
    color: #fff;
    width: 100%;
    display: block;
    padding: 10px;
    text-align: right;
}

@media screen and (max-width: 1023px) {
    small {
        text-align: center;
        margin-top: 3em;
        font-size: 0.75em;
    }
}







/* ------------------------
    ページごとのスタイル( Project )
-------------------------*/
.p-main-background {
    background: url("../img/bg_01.jpg");
    background-repeat: no-repeat;
    /*    background-position: top;*/
    background-size: contain;
    padding-top: 2em;
    /*    padding-bottom: 2em;*/
}

.p-mv__slider {
    position: relative;
    z-index: 1;
    /*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
    height: 100vh;
    /*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}

.p-catch {
    margin: 0em auto;
    margin-top: 00px;
height:calc(100vh);
        position: relative;
}

.p-catch__item{

}

.p-catch-text {
 position: absolute;
    display: flex;
    width: 96%;
    max-width: 1200px;
    top: 20px;
    right: 0;
    bottom: 0;
    left: 0%;
    z-index: 1;
    height: 100vh;
    margin: 0 auto;
    
        flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;

}

.p-catch-text-img {
/*    position: absolute;*/
    display: flex;
    
    top: 70px!important;
  bottom: 0!important;
  left: 0%!important;
  margin: auto;
    z-index: 1;
    width:620px!important;
}

.p-catch-text-img-sp{
/*      position: absolute;*/
    display: flex;
/*
    bottom: 10vh !important;
    left: 5vh !important;
*/
    margin: auto;
    z-index: 1;
    width: 94% !important;
    max-width: 500px;
}

.p-catch-text-sp{
    color: #fff;
    text-align: center;
}

.p-catch-text-sp img{
    margin: 0 auto;
    margin-top: 2em;
    display: block;
    width: 100%;
    max-width: 500px;
}


.p-catch__slider {
    /*横幅94%で左右に余白を持たせて中央寄せ*/
    width: 100%;
    margin: 0 auto;
    
}



.p-catch__slider img {
    width: 100%;
    /*スライダー内の画像を横幅100%に*/
    height: auto;
    display: block;
    height: 100vh;
    object-fit: cover;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.p-catch__slider .slick-slide {
    margin: 0 0px;
}

/*戻る、次へ矢印の位置*/
.p-catch__slider .slick-prev_mini,
.p-catch__slider .slick-next_mini {
    position: absolute;
    /*絶対配置にする*/
    top: 42%;
    cursor: pointer;
    /*マウスカーソルを指マークに*/
    outline: none;
    /*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #666;
    /*矢印の色*/
    border-right: 2px solid #666;
    /*矢印の色*/
    height: 15px;
    width: 15px;
}

.p-catch__slider .slick-prev_mini {
    /*戻る矢印の位置と形状*/
    left: -1.5%;
    transform: rotate(-135deg);
}

.p-catch__slider .slick-next_mini {
    /*次へ矢印の位置と形状*/
    right: -1.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.p-catch__slider .slick-dots {
    text-align: center;
    margin: 20px 0 0 0;
}

.p-catch__slider .slick-dots li {
    display: inline-block;
    margin: 0 5px;
}

.p-mv__slider .p-mv__item {
    width: 100%;
    /*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height: 100vh;
    /*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;
    /*背景画像をリピートしない*/
    background-position: center;
    /*背景画像の位置を中央に*/
    background-size: cover;
    /*背景画像が.slider-item全体を覆い表示*/
}

.p-mv__text {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    font-size: 6vw;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.p-mv {
    position: relative;
}

.p-section__text {
    margin: 1em 0;
}

.p-table-list {
    width: 100%;
    /*    min-width: 700px;*/
}

.p-table-list__item {
    display: flex;
    border-top: 1px solid #b3b3b3;
    padding: 1.5em 0;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    font-weight: 500;
}

.p-table-list__item:last-child {
    border-bottom: 1px solid #b3b3b3;
}

.p-table-list__title {
    font-weight: bold !important;
    width: 120px;
    margin: 0 2em;
}

.p-table-list__points {
    margin: 0.5em 0 1em;
    /*    margin-left: 20px;*/
    /* リストの左側に余白 */

}

.p-table-list__point {
    /*    list-style: disc;*/
    /*    margin: 0 0 0.5em;*/
    display: list-item !important;
    border: none;
    padding: 0em 0;
}

.p-table-list__point:last-child {
    border-bottom: none;
}


@media screen and (max-width: 1023px) {

    .p-table-list__title {
        font-weight: bold;
        /*    width: 160px;*/
        margin: 0 0em;
    }

    .p-table-list__item {
        display: flex;
        border-top: 1px solid #b3b3b3;
        padding: 1.5em 0;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: flex-start;
        align-items: flex-start;
    }

}


.p-list-link__area {
    margin-top: 3em;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.p-list-link {
    width: 100%;
    max-width: 450px;
    height: auto;
    display: inline-block;
}

.p-list-link img {
    width: 100%;
    height: auto;
}


.p-contact-area {
    background: #f9f6f3;
    border-radius: 50px;
    padding: 5em;
    margin-top: 2em;
}

.p-contact-area-list {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 1.5em;
}

.p-contact-area-headline {
    font-weight: bold;
    margin: 0 1em;
    width: 22%;
    text-align: initial;
}

.p-contact-area-headline span {
    color: #dd007b;
    margin-right: 0.5em;
}

.p-contact-area-text {
    font-size: 0.8em;
}

.p-contact-area-list-input {
    width: 75%;
}


@media screen and (max-width: 1023px) {

    .p-contact-area-list {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: flex-start;
        align-items: flex-start;
        margin-bottom: 1.5em;
    }

    .p-contact-area-headline {
        font-weight: bold;
        margin: 0em;
        width: 100%;
    }

    .p-contact-area {
        border-radius: 20px;
        padding: 2.5em 2em;
        margin-top: 2em;
    }

    .p-contact-area-list-input {
        width: 100%;
    }
}

.grecaptcha-badge { visibility: hidden; }

.p-news_area {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: flex-start;
    margin: 1em auto;
}

.p-news-main_area {
    width: 65%;
}

.p-side-area {
    width: 30%;
    margin: 40px 0 0 0;
}


.p-side-area__title {
    width: 100%;
    background: #000;
    border-radius: 0px;
    color: #fff;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    padding: 1.5em 1.5em;
}

.p-side-area-inner {
    border-left: 4px #fff solid;
    padding-left: 1em;
    line-height: normal;
}


.p-side-area__list {
    margin: 1.5em 0;
}

.p-side-area-category__list {
    margin: 0.5em;
    margin-top: 1.5em;
    margin-left: 1em;
}

.p-side-area-category__list li {
    margin: 0.5em auto;
}


.p-bar__area {
    height: 1px;
    width: 100%;
    background: #aaa;
    padding: 0;
    position: relative;
    margin: 40px 0;
}

.p-bar-inner__area {
    background: #dd007b;
    width: 20%;
    height: 2px;
}

.p-day__area {
    margin: 1em 0;
}

.p-day__area span {
    margin-left: 10px;
    background: #dd007b;
    padding: 0.2em 1.25em;
    color: #fff;
    font-size: 0.9em;
}

.p-day__area-link {
    color: #fff !important;
    text-decoration: none;
}




.current {
    color: #ee7800;
}

.page-numbers {
    margin: 0 0.3em;
    font-size: 1.2em;
}

@media screen and (max-width: 1023px) {
    .p-news_area {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: space-between;
        align-items: flex-start;
    }

    .p-news-main_area {
        width: 100%;
    }

    .p-side-area {
        width: 100%;
        margin: 40px 0 0 0;
    }


    .pager {
        margin: 0 auto;
        text-align: center;
    }

}


.size-post-thumbnail {
    width: 100%;
}


.p-post_text {
    margin: 1em 0;
}




.p-map {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: 450px;
}

@media screen and (max-width: 1023px) {
    .p-map {
        height: 250px;
    }

}


/**/
.c-flex__3column {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-between;
    align-items: flex-start;
}

.c-flex__3column-item {
    width: 30%;
/*    margin: 1.25%;*/
    margin-bottom: 2em;
}

.c-flex__3columncolumn-item-link {
    text-decoration: none;
    display: inline-block;
    width: 100%;
}

.c-flex__3column-item img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: top;
}


.c-flex__3column-item-title {
/*    text-decoration: underline;*/
    margin-bottom: 0.5em;
}

.c-flex__3column-item-title span {
    text-decoration: none !important;
}

.c-flex__3column-item-title__text {
    text-decoration: none !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 100;
}

.c-chef-marker {
    color: #d1b372;
    display: inline-block !important;
    font-weight: bold!important;
    font-size: 0.8em !important;
    margin: 0 !important;
    margin-left: 0.5em !important;
    line-height: normal;
}


.c-flex__3column-item-link{
    text-decoration:none;
}


@media screen and (max-width: 1023px) {
    .c-flex__3column-item {
        width: 96%;
        margin: 1.25%;
        margin-bottom: 2em;
    }

    .c-flex__3column-item-title {}
}



.c-flex__3column-item-img-cover {
    width: 100%;
    height: 250px;
    object-fit: cover;
}




.c-flex__4column {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-between;
    align-items: stretch;
}

.c-flex__4column-item {
       width: 24%;
    /* margin: 1.25%; */
    margin-bottom: 1.5%;
    background: #fff;
    padding: 3em 2em;
}

.c-flex__4column-item-coler {
     background: #f9f6f3;
}
.c-flex__4column-item-coler-none {
     background: none;
}


.c-flex__4columncolumn-item-link {
    text-decoration: none;
    display: inline-block;
    width: 100%;
}

.c-flex__4column-item-step {
    width: 100%;
    max-width:300px;
    height: auto;
    object-fit: contain;
}

.c-flex__4column-item-step-icon {
    width: 20px;
    height: auto;
    object-fit: contain;
    margin-right: 0.5em;
}


.c-flex__4column-item-step-icon-area{
    display: flex;
     margin: 1em 0;
}

.c-flex__4column-item-title {
/*    text-decoration: underline;*/
    margin: 1em 0;
}

.c-flex__4column-item-title span {
    text-decoration: none !important;
}

.c-flex__4column-item-title__text {
    text-decoration: none !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 100;
}

.c-flex__4column-item-link{
    text-decoration:none;
}


@media screen and (max-width: 1023px) {
    .c-flex__4column-item {
        width: 96%;
        margin: 1.25%;
        margin-bottom: 2em;
    }

    .c-flex__4column-item-title {}
}



.c-flex__4column-item-img-cover {
    width: 100%;
    height: 250px;
    object-fit: cover;
}








/*prelia*/
.c-bar{
       height: 2px;
    width: 100%;
    background: #dd007b;
    display: inline-block;
}

.c-bar-area{
 display: inline-block;
}


.c-publish-area{
    width: 90%;
    max-width: 1100px;
    margin: 2em auto;
    padding: 2em 3em;
    border:1px solid #000;
    background: #fff;
        display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
    justify-content: flex-start;
}

.c-publish-icon{
    width: 100px;
    object-fit: contain;
    margin-right: 3em;
}
.c-publish-text{
   text-align: left;
}

.c-publish-text span{
   font-weight: bold;
}


@media screen and (max-width: 1023px) {
.c-publish-area{
           display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
    padding:2em;
    }
    .c-publish-icon{
    width: 100px;
    object-fit: contain;
    margin-right: 0em;
}
    
}


.c-pr-area {
    width: 90%;
    max-width: 1100px;
    margin: 2em auto;
    padding: 3em 3em;
    border: 0px solid #000;
    background: #f5f3f2;
   display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
    justify-content: center;
}
.c-pr-area-border {
    border: 1px solid #000;
    background: #fff;
}



.c-pr-number {
    width: 46px;
    height: 46px;
    margin: 0em auto 0.5em;
    padding: 0em;
    border-radius: 50px;
    background: #dd007b;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
    justify-content: center;
    color: #fff;
}


@media screen and (max-width: 1023px) {
.c-pr-area {
    width: 94%;
    max-width: 1100px;
    margin: 2em auto;
    padding: 2em 2em;

}
    
    .c-pr-number {
   width: 50px;
    height: 50px;
    }
}


.c-pr-support-area{
    margin: 0 auto;
        width: 90%;
    max-width: 1100px;
display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-content: center;
    align-items: flex-start;
}

.c-pr-support-box{
    width: 48%;
    border:1px solid #000;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    padding: 3em;
    text-align: center;
}

@media screen and (max-width: 1023px) {
.c-pr-support-area {
    margin: 0 auto;
    width: 94%;
    max-width: 1100px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
}
    .c-pr-support-box{
        width: 100%;
        margin-bottom: 30px;
        padding: 2em;
    }
}

.c-budget-area{
    background: #fff;
    color: #dd007b;
    display: inline-block;
    padding: 0.5em 1em;
    margin: 1em auto;
    text-align: center;
}


.c-company-area{
width: 100%;
    max-width: 600px;
        display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: flex-start;
    margin: 0 auto;
}
.c-company-border{
height: 1px;
    background: #aaa;
    width: 100%;
}
.c-company-title{
    width: 20%;
    text-align: left;
    padding: 1em 1em;
}
.c-company-text{
    width: 78%;
    text-align: left;
     padding: 1em 1em;
}


@media screen and (max-width: 1023px) {
.c-company-title{
    width: 40%;
    max-width: 200px;
    text-align: left;
    padding: 1em 1em;
}

}


.c-read-more-1 {
    position: relative;
}

.c-read-more-1 p {
    position: relative;
    max-height: 360px; /* 開く前に見せたい高さを指定 */
    margin-bottom: 0;
    overflow: hidden;
    transition: max-height 1s;
}

.c-read-more-1:has(:checked) p {
    max-height: 100vh;
}

.c-read-more-1 p::after {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: linear-gradient(180deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, .9) 50%, hsla(0, 0%, 100%, .9) 0, #fff);
    content: '';
height:100px;
}

.c-read-more-1:has(:checked) p::after {
    content: none;
}

.c-read-more-1 label {
    display: flex;
    align-items: center;
    gap: 0 4px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.c-read-more-1 label:hover {
    color: #c7511f;
    text-decoration: underline;
    cursor: pointer;
}

.c-read-more-1:has(:checked) label {
    display: none;
}

.c-read-more-1 label::after {
    display: none;
    width: 10px;
    height: 5px;
    background-color: #b6bdc3;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.c-read-more-1 input {
    display: none;
}

.c-img-1column{
    width: 80%;
    display: block;
    margin: 0 auto;
    
}


/*スライドショー*/
.slideshow_top div {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 100vh;
    width: 100vw;
}

.slideshow_top {
    height: 100vh;
    width: 100vw;
}



.slick-dots {
    bottom: -50px;
}

.slick-dots li {
    margin: 0 4px;
    width: 120px;
    height: 5px;
}

.slick-dots li {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 60px !important;
    height: 2px !important;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: none;
    width: 0px !important;
    height: 0px !important;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots .slick-active button {
    background: none !important;
}

.slick-dots li button:before {
    content: '　' !important;
    width: 60px;
    height: 2px;
    background: #000;
    opacity: 1;
    color: #000;
}

.slick-dots li.slick-active button:before {
    background: #ee7800;
}

.slick-dots li button:before {
    content: '　' !important;
    height: 100% !important;
    width: 100% !important;
}


/* ------------------------
    コンタクトフォーム
-------------------------*/


input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea {
    margin: 0.4em 0;
    padding: 1.2em 2em;
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    border-radius: 10px;
    border: 1px solid #ddd;
}

.form_name input[type="text"] {
    width: 100%;
    margin: 0.8em 0;
}

.form_name .input_name {
    width: 48%;
    display: block;
}

.wpcf7-not-valid-tip {
    display: inline-block !important;
}

@media screen and (max-width: 1023px) {
    .form_name {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        align-items: center;
        justify-content: space-between;
    }

    .form_name input[type="text"] {
        width: 100%;
    }

    .form_name .input_name {
        width: 100%;
    }


    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    select,
    textarea {
        width: 100%;
        font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
        border-radius: 10px;
        border: 1px solid #ddd;
    }

}

.wpcf7-form-control-wrap {
    position: relative;
    /* width: initial; */
    display: contents;
}

input[type="submit"] {
    cursor: pointer;
}

.wpcf7-list-item {
    display: block !important;
    margin: 0 0 0 1em;
}

.wpcf7-spinner {
    display: none;
}

.wpcf7 form.sent .wpcf7-response-output{
    margin: 0 auto;
    display: block;
    width: 90%;
    max-width: 900px;
    margin-top: 1em;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffb900;
    margin: 0 auto;
    display: block;
    width: 90%;
    max-width: 900px;
    margin-top: 1em;
}



.p-contact__container {
    width: 100%;
    max-width: 600px;
    margin: 3em auto;
}

.form_area .button_round {
    font-size: 1.4em;
    padding: 0.5em 2.4em;
    cursor: pointer;
}

.p-contact-checkbox {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: flex-start;
}

.p-contact-button {
    background: #dd007b;
    color: #fff;
    width: 250px;
    padding: 0.8em 2.4em;
    margin-top: 1.5em;
}

span.wpcf7-form-control.wpcf7-radio {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: flex-start;
}

.wpcf7-radio-chef {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
}


/* ------------------------
    slickカスタマイズ
-------------------------*/
.slick-prev,
.slick-next {
    position: absolute;
    /*絶対配置にする*/
    z-index: 3;
    top: 42%;
    cursor: pointer;
    /*マウスカーソルを指マークに*/
    outline: none;
    /*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #ccc;
    /*矢印の色*/
    border-right: 2px solid #ccc;
    /*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {
    /*戻る矢印の位置と形状*/
    left: 2.5%;
    transform: rotate(-135deg);
}

.slick-next {
    /*次へ矢印の位置と形状*/
    right: 2.5%;
    transform: rotate(45deg);
}


/* ------------------------
-------------------------*/