@charset "UTF-8";

/*--------------------------------------------------------------------
 *	共通の記述
 *--------------------------------------------------------------------*/

.detail_link {
    background-color: #006837;
    border-radius: 20px;
    text-align: center;
    opacity: 1;
    -webkit-transition: 0.1s ease-in-out;
    transition: 0.1s ease-in-out;
}
.detail_link:hover {
    opacity: 0.8;
}
.detail_link a {
    display: block;
    width: 100%;
    height: 100%;
}

#eventlist dd a,
#newslist dd a {
    color: #006837;
    /* border-bottom: 0.5px solid #333; */
    text-decoration: underline 0.5px;
    text-underline-offset: 0.2em;
}



/* コンテンツが短いときのフッター最下部固定 */
html, body {
  height: 100%;          /* 画面全体を使う */
  margin: 0;
}
body {
  display: flex;
  flex-direction: column;
}
main {
  flex: 1;               /* コンテンツ部分を伸縮させる */
}
footer {
  height: 80px;          /* フッターの高さ */
}


/*--------------------------------------------------------------------
 *	768px未満用（SP用）の記述
 *--------------------------------------------------------------------*/
@media screen and (max-width: 768px) {

#banner_area {
    width: 100%
}
#banner_area h1 {
    width: 80%;
    margin: 13.3% auto 0 10%;
    font-size: 6.67vw;
}
#banner_area .ttl_en {
    width: 80%;
    margin: 0 auto 0 10%;
    font-size: 4.67vw;
}
#banner_area .bz_caption,
#banner_area .evnt_caption,
#banner_area .contact_caption {
    width: 80%;
    margin: 5.73% auto 9.87%;
    font-size: 3.467vw;
    font-weight: bold;
    line-height: 1.3;
    letter-spacing: -0.075em;
}


/* ◆ 事業紹介 - Our Business ＆ イベント運営 - Event Plannning (& お問い合わせ - Contact) 共通 */
#our_business #contents .bz_parts,
#event_planning #contents .evnt_parts {
    display: flex;
    flex-direction: column-reverse;
}
#our_business #contents h2,
#our_business #bz_others h2,
#event_planning #contents h2,
#contact #faq h2 {
    font-size: 5.33vw;
}
#our_business #contents h2,
#event_planning #contents h2 {
    width: 80%;
    margin: 0 auto 0 10%;
}
#our_business #contents .ttl_en,
#our_business #bz_others .ttl_en,
#event_planning #contents .ttl_en {
    width: 80%;
    margin: 0 auto 0 10%;
    font-size: 3.73vw;
    line-height: 1;
}
#our_business #contents .detail,
#event_planning #contents .detail,
#contact #faq .detail {
    font-size: 3.2vw;
    line-height: 1.3;
}
#our_business #contents .detail,
#event_planning #contents .detail{
    width: 80%;
    margin: 3.5% auto 0 10%;
}
#our_business #contents .bz_img,
#event_planning #contents .evnt_img {
    width: 80%;
    margin: 10.5% auto 4%;
}


/* ◆ 事業紹介 - Our Business */
#our_business .detail_link {
    position: relative;
    width: 50%;
    margin: 8% auto;
    padding: 1.5%;
    border-radius: 50px;
}
#our_business .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: 2.2vw;
    height: 2.2vw;
    top: 0;
    left: 86%;
    margin-top: 5.5%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#our_business .detail_link a {
    font-size: 2.6vw;
    color: #fff;
}
#our_business #bz_others {
    width: 80%;
    margin: 0 auto;
}
#our_business #bz_others h2 {
    margin: 6% 0 0 0;
}
#our_business #bz_others .ttl_en {
    margin: 0;
}
#our_business #bz_others .detail {
    margin: 5.5% auto 10.5% 0;
}
#our_business #bz_others .bz_list {
    display: flex;
    border-bottom: 1px dotted #006837;
}
#our_business #bz_others .detail dt {
    width: 15%;
    margin: 0;
    font-size: 3.4vw;
    flex-shrink: 0; /* dt が縮まないようにする */
}
#our_business #bz_others .detail dd {
    margin: 0;
    font-size: 3.2vw;
    padding-bottom: 1%;
}


/* ◆ イベント運営 - Event Plannning */
#event_planning #contents .evnt_point {
    width: 80%;
    margin-left: 10%;
    font-size: 3.2vw;
}
#event_planning #contents .evnt_point dt {
    width: 20%;
    margin: 0;
    padding: 0;
    border: 1.5px solid #006837;
    border-radius: 3.467vw;
    text-align: center;
    font-weight: bold;
}
#event_planning #contents .evnt_point dd {
    margin: 0 0 2.4%;
}
#event_planning #contents .evnt_case {
    width: 80%;
    margin: 0 20% 10.5% 0;
    padding-left: 10%;
    border-radius: 0 15px 15px 0;
    background-color: #fff;
    font-size: 3.467vw;
}
#event_planning #contents .bg_white .evnt_case {
    background-color: #e6e6e6;
} 
#event_planning #contents .evnt_case dl {
    padding: 3% 0;
}
#event_planning #contents .evnt_case dt {
    margin: 0;
    padding: 0;
    font-weight: bold;
}
#event_planning #contents .evnt_case dd {
    margin: 0;
}
#event_planning #contents .evnt_case dd span{
    display: inline-block;
    width: 5%;
}
#event_planning #case_study {
    width: 80%;
    margin: 10.5% auto;
    border: 3px solid #006837;
}
#event_planning #case_study .evnt_parts {
    display: flex;
    flex-direction: column-reverse;
    width: 92%;
    margin: 0 auto;
}
#event_planning #case_study h2 {
    width: 100%;
    margin: 0;
    font-size: 5.33vw;
    font-weight: bold;
}
#event_planning #case_study .ttl_en {
    width: 100%;
    margin: 0;
    font-size: 3.73vw;
    line-height: 1;
}
#event_planning #case_study .detail {
    width: 100%;
    margin: 3.5% auto 0 0;
    font-size: 3.2vw;
    line-height: 1.3;
}
#event_planning #case_study .case_img {
    width: 100%;
    margin: 5% auto 4%;
}
#event_planning #case_study .detail_link {
    position: relative;
    width: 62.6%;
    margin: 8% auto;
    padding: 1.875%;
    border-radius: 50px;
}
#event_planning #case_study .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: 2.2vw;
    height: 2.2vw;
    top: 0;
    left: 86%;
    margin-top: 5.5%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#event_planning #case_study .detail_link a {
    font-size: 2.6vw;
    color: #fff;
}
#event_planning #message {
    width: 80%;
    margin: 5% auto 23%;
    border-top: 2px solid #006837;
}
#event_planning #message p {
    margin: 10.5% auto;
    text-align: center;
    font-size: 5.33vw;
    letter-spacing: -0.05em;
}


/* ◆ イベント実績（一覧）- Event List */
#eventlist .wrap {
    width: 86%;
    margin: 0 auto 12%;
    font-size: 2.8vw;
    color: #333;
}
#eventlist .container {
    position: relative;
    display: flex;
    padding-bottom: 4%;
    margin-bottom: 4%;
    border-bottom: 1px dotted #006837;
}
#eventlist .container .category {
    position: absolute;
    background-color: #006837;
    top: 0;
    left: 60%;
    width: 40%;
    margin: 0;
    text-align: center;
    font-size: 2.4vw;
    line-height: 2;
}
#eventlist .container img {
    margin-top: 2%;
    width: 24vw;
    height: 18vw;
}
#eventlist .container .title {
    width: 80%;
}
#eventlist .container .box {
    width: 100%;
    padding-left: 2%;
}
#eventlist dt {
    width: 15%;
    margin: 0;
    margin-top: 2%;
    padding-left: 1%;
}
#eventlist dd {
    width: 100%;
    margin-top: 2%;
    margin-left: 1%;
    margin-right: 0;
    line-height: 1.7;
}

#eventlist .detail_link {
    position: relative;
    width: 50%;
    margin: 8% auto;
    padding: 1.5%;
    border-radius: 50px;
}
#eventlist .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: 2.2vw;
    height: 2.2vw;
    top: 0;
    left: 86%;
    margin-top: 6%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#eventlist .detail_link a {
    font-size: 2.6vw;
    color: #fff;
}


/* ◆ イベント実績（個別）- Event Achievement */
#achievement {
    width: 86%;
    margin: 0 auto;
}
#achievement #banner_area {
    margin: 6% 0;
}
#achievement #banner_area .tag {
    display: flex;
    justify-content: flex-end;
    font-size: 2vw;
}
#achievement #banner_area .tag .date {
    width: 16%;
    margin: 0;
    padding: 1.0% 0;
    line-height: 1.3;
}
#achievement #banner_area .tag .category {
    width: 32%;
    text-align: center;
    background-color: #006837;
    padding: 1.0% 1.2%;
    line-height: 1.3;
}
#achievement #banner_area h1 {
    width: 100%;
    margin: 0;
    padding-left: 2%;
    font-size: 3.3vw;
    border-left: 5px solid #006837;
    font-weight: bold;
}
#achievement .wrap h2 {
    font-size: 3vw;
}
#achievement .wrap {
    margin: 0 auto 12%;
    font-size: 2.6vw;
    color: #333;
}
#achievement .wrap .contents {
    display: flex;
}
#achievement .wrap .contents img {
    width: 50%;
}
#achievement .wrap .contents h2 {
    width: 42%;
    margin: 2% 4%;
}
#achievement .wrap .detail img {
    width: 100%;
    margin: 2% auto;
}
#achievement .wrap .detail .text {
    font-size: 2.2vw;
    background-color: #e6e6e6;
    margin: 0 0 2%;
    padding: 2%;
}
#achievement .detail_link {
    position: relative;
    width: 50%;
    margin: 8% auto;
    padding: 1.5%;
    border-radius: 50px;
}
#achievement .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: 2.2vw;
    height: 2.2vw;
    top: 0;
    left: 86%;
    margin-top: 6%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#achievement .detail_link a {
    font-size: 2.6vw;
    color: #fff;
}


/* ◆ お知らせ一覧 - News List */
#newslist .wrap {
    width: 80%;
    margin: 5% auto 10%;
    font-size: 2.8vw;
    color: #333;
}
#newslist .container {
    margin-bottom: 2%;
    border-bottom: 1px dotted #006837;
}
#newslist dt {
    width: 15%;
    margin: 0;
    padding-left: 1%;
}
#newslist dd {
    margin-left: 1%;
    line-height: 1.7;
}
#newslist dd:nth-child(2),
#newslist dd:nth-child(3),
#newslist dd:nth-child(4),
#newslist dd:nth-child(5) {
    margin-bottom: 2%;
}
#newslist .detail_link {
    position: relative;
    width: 50%;
    margin: 8% auto;
    padding: 1.5%;
    border-radius: 50px;
}
#newslist .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: 2.2vw;
    height: 2.2vw;
    top: 0;
    left: 86%;
    margin-top: 6%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#newslist .detail_link a {
    font-size: 2.6vw;
    color: #fff;
}

/* ◆ お知らせ（個別）- News */
#news {
    width: 86%;
    margin: 0 auto;
}
#news #banner_area {
    margin: 6% 0;
}
#news #banner_area .tag {
    display: flex;
    justify-content: flex-end;
    font-size: 2.2vw;
}
#news #banner_area .tag .date {
    width: 16%;
    margin: 1% 0;
}
#news #banner_area .tag .category {
    width: 32%;
    text-align: center;
    background-color: #006837;
    padding: 1.2%;
}
#news #banner_area h1 {
    margin: 0;
    padding-left: 2%;
    font-size: 3.3vw;
    border-left: 5px solid #006837;
}
#news .wrap h2 {
    font-size: 3vw;
}
#news .wrap {
    margin: 0 auto 12%;
    font-size: 2.6vw;
    color: #333;
}
#news .wrap .contents {
    display: flex;
}
#news .wrap .contents img {
    width: 50%;
}
#news .wrap .contents h2 {
    width: 42%;
    margin: 2% 4%;
}
#news .wrap .detail img {
    width: 100%;
    margin: 2% 0;
}
#news .wrap .detail .text {
    font-size: 2.2vw;
    background-color: #e6e6e6;
    margin: 0 0 2%;
    padding: 2%;
}
#news .detail_link {
    position: relative;
    width: 50%;
    margin: 8% auto;
    padding: 1.5%;
    border-radius: 50px;
}
#news .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: 2.2vw;
    height: 2.2vw;
    top: 0;
    left: 86%;
    margin-top: 6%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#news .detail_link a {
    font-size: 2.6vw;
    color: #fff;
}


/* ◆ 会社情報 - Company Info */
#company_info #banner_area {
    margin: 5.73% auto 10.87%
}
#company_info #contents #cmp_about,
#company_info #contents #cmp_profile,
#company_info #contents #cmp_history,
#company_info #contents #cmp_access {
    width: 80%;
    margin: 0 auto;
}
#company_info #contents h2 {
    margin: 0;
    padding: 10.5% 0 1.5%;
    font-size: 5.33vw;
    line-height: 1.2;
}
#company_info #contents .ttl_en {
    margin: 0;
    font-size: 3.73vw;
    line-height: 1;
}
#company_info #contents .detail {
    margin: 3.5% auto;
    font-size: 2.8vw;
    line-height: 1.4;
}
#company_info #contents .caption {
    margin: 4% 0 0;
    padding-bottom: 10.5%;
    font-size: 3.2vw;
    line-height: 1.4;
    text-align: center;
}
#company_info #contents #cmp_profile .detail {
    margin: 6% auto 0;
}
#company_info #contents #cmp_profile .detail_list .container {
    display: flex;
    align-items: center;
    padding: 3% 0;
    border-bottom: 1px dotted #006837;
}
#company_info #contents #cmp_profile .detail_list .container .top_border {
    border-top: 1px dotted #006837;
}
#company_info #contents #cmp_profile .detail_list:first-child {
    margin-bottom: 0;
}
#company_info #contents #cmp_profile .detail_list:last-child {
    margin-top: 0;
    padding-bottom: 10.5%;
}
#company_info #contents #cmp_profile .detail_list dt {
    width: 28%;
    margin: 0;
    padding: 0;
}
#company_info #contents #cmp_profile .detail_list dd {
    line-height: 1.5;
}
#company_info #contents #cmp_history .detail {
    position: relative;
    margin: 2% auto 0;
    padding-bottom: 20%;
}
#company_info #contents #cmp_history .detail::before {
    position: absolute;
    display: block;
    content: "";
    width: 1vw;
    height: 55.5vw;     /* 項目が増えたらここを伸ばす */
    top: 0;
    left: 23%;
    margin-top: 10%;
    background-color: #6CBF85;
    z-index: 10;
}
#company_info #contents #cmp_history .detail::after {
    position: absolute;
    display: block;
    content: "";
    width: 7.5vw;
    height: 7.5vw;
    top: 0;
    left: 23%;
    margin-top: 80%;     /* 項目が増えたらここを下げる */
    background: url(/common/images/line.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#company_info #contents #cmp_history .detail .history_01 {
    position: relative;
}
#company_info #contents #cmp_history .detail .history_01::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 21.9%;
    margin-top: 9.5%;
    background: url(/common/images/circle_01.png);
}
#company_info #contents #cmp_history .detail .history_02 {
    position: relative;
}
#company_info #contents #cmp_history .detail .history_02::before {
    position: absolute;
    display: block;
    content: "";
    width: 4.5vw;
    height: 4.5vw;
    top: 0;
    left: 20.7%;
    margin-top: 9.5%;
    background: url(/common/images/circle_02.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 15;
}
#company_info #contents #cmp_history .detail .history_03 {
    position: relative;
}
#company_info #contents #cmp_history .detail .history_03::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 21.9%;
    margin-top: 6.5%;
    background: url(/common/images/circle_01.png);
}
#company_info #contents #cmp_history .detail .history_04 {
    position: relative;
}
#company_info #contents #cmp_history .detail .history_04::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 21.9%;
    margin-top: 6%;
    background: url(/common/images/circle_01.png);
}
#company_info #contents #cmp_history .detail .history_01::before,
#company_info #contents #cmp_history .detail .history_03::before,
#company_info #contents #cmp_history .detail .history_04::before {
    width: 2.5vw;
    height: 2.5vw;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 15;
}
#company_info #contents #cmp_history .detail .container {
    display: flex;
    align-items: center;
    padding: 3% 0;
}
#company_info #contents #cmp_history .detail .container dt {
    margin: 0;
    padding: 0;
    font-size: 3.6vw;
}
#company_info #contents #cmp_history .detail .container dd {
    margin-left: 12%;
    line-height: 1.5;
}
#company_info #contents #cmp_access {
    margin-bottom: 12%;
}
#company_info #contents #cmp_access .detail {
    line-height: 1.5;
}
#company_info #contents #cmp_access .container {
    margin: 0 auto;
    border: 3px solid #e6e6e6;
    text-align: center;
}
#company_info #contents #cmp_access .container img {
    width: 98%;
    margin: 1% auto;
    text-align: center;
}

/* ◆ お問い合わせ - Contact */
#contact #faq .faq_about {
    width: 80%;
    margin: 0 auto;
    padding: 10.5% 0;
}
#contact #faq h2 {
    margin: 0;
}
#contact #faq .ttl_en {
    margin: 0;
    font-size: 3.73vw;
    line-height: 1;
}
#contact #faq .faq_list {
    padding: 2% 0;
    font-size: 3.2vw;
}
#contact #faq .faq_list .container {
    margin-bottom: 2%;
    border-bottom: 1px dotted #006837;
}
#contact #faq .faq_list .container:last-child {
    margin-bottom: 0;
}
#contact #faq .faq_list .container p {
    padding-left: 11%;
}
#contact .faq_about .faq_list .container .inq {
    position: relative;
}
#contact .faq_about .faq_list .container .inq::before {
    position: absolute;
    display: block;
    content: "Q";
    top: 0;
    left: 2%;
    background-color: #006837;
    color: #fff;
}
#contact .faq_about .faq_list .container .ans {
    position: relative;
}
#contact .faq_about .faq_list .container .ans::before {
    position: absolute;
    display: block;
    content: "A";
    top: 0;
    left: 2%;
    background-color: #fff;
    color: #006837;
}
#contact .faq_about .faq_list .container .inq::before,
#contact .faq_about .faq_list .container .ans::before {
    width: 3.2vw;
    height: 3.2vw;
    margin-top: 0;
    padding: 1%;
    border-radius: 5px;
    font-size: 3.2vw;
    font-family: Avenir, 'Helvetica neue', Helvetica, '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    text-align: center;
    line-height: 1;
    z-index: 10;
}
#contact #faq_message {
    width: 80%;
    margin: 10.5% auto;
}
#contact #faq_message .message {
    margin: 0 0 10.5%;
    text-align: center;
    font-size: 3.2vw;
    font-weight: bold;
    letter-spacing: -0.05em;
}
#contact #faq_message .contact {
    padding-bottom: 24%;
}
#contact #faq_message .contact {
    padding-bottom: 1%;
}
#contact #faq_message .contact {
    background-color: #006837;
    font-size: 5.333333333vw;
    padding: 8% 0;
}
#contact #faq_message .contact p {
    margin: 0;
    line-height: 1.5;
    font-size: 5.333333333vw;
}
#contact #faq_message .contact .tel,
#contact #faq_message .contact .email {
    width: 60%;
    margin: 5% 0 0 35%;
    text-align: center;
}
#contact #faq_message .contact .category {
    margin: 0;
    font-size: 4vw;
}
#contact #faq_message .contact .notice {
    width: 64%;
    margin: 3% auto;
    text-align: center;
    border-radius: 20px;
    background-color: #fff;
    color: #006837;
    font-size: 3.466666667vw;
}
#contact #faq_message .contact {
    position: relative;
}
#contact #faq_message .contact::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 8%;
    margin-top: 14%;
    background: url(/common/images/icon_tel.png);
}
#contact #faq_message .contact::after {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 8%;
    margin-top: 45%;
    background: url(/common/images/icon_mail.png);
}
#contact #faq_message .contact::before,
#contact #faq_message .contact::after {
    width: 20vw;
    height: 20vw;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}

#contact #faq_message .contact .info {
    margin: 10% auto 0;
    text-align: center;
    border-radius: 5px;
}
#contact #faq_message .contact .info a {
    display: block;
    width: 80%;
    height: 100%;
    margin: 0 auto;
    transition: tramsform 1s ease-in-out;
    transform-origin: center center;
}
#contact #faq_message .contact .info a:hover {
    transform: scale(0.95);
}






/* 768px未満用（SP用）の記述 end -------------------------------------*/
}



/*--------------------------------------------------------------------
 *	768px以上用（PC用）の記述
 *--------------------------------------------------------------------*/
@media screen and (min-width: 768px), print {

#banner_area {
    width: 86%;
    margin: 6.4% auto 9%;
}
#banner_area h1 {
    margin-bottom: 0;
    font-size: clamp(46.28571429px, 3.857142857vw, 54px);
}
#banner_area .ttl_en {
    margin: 0 auto 3% 0;
    font-size: clamp(25.71428571px, 2.142857143vw, 30px);
}
#banner_area .bz_caption,
#banner_area .evnt_caption,
#banner_area .contact_caption {
    font-size: clamp(18.85714286px, 1.571428571vw, 22px);
    letter-spacing: -0.08em;
}


/* ◆ 事業紹介 - Our Business ＆ イベント運営 - Event Plannning 共通 */
#our_business #contents .bz_parts,
#event_planning #contents .evnt_parts {
    display: flex;
    width: 100%;
    margin: 0 auto;
}
#our_business #contents .bz_about,
#event_planning #contents .evnt_about {
    width: 55%;
}
#our_business #contents h2,
#our_business #bz_others h2,
#event_planning #contents h2,
#contact .faq_about h2 {
    font-size: clamp(30.85714286px, 2.571428571vw, 36px);
}
#our_business #contents h2,
#event_planning #contents h2 {
    margin: 6% 0 0 13%;
}
#our_business #contents .ttl_en,
#our_business #bz_others .ttl_en,
#event_planning #contents .ttl_en,
#contact .faq_about .ttl_en {
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    line-height: 1;
}
#our_business #contents .ttl_en,
#event_planning #contents .ttl_en {
    margin: 0 0 0 13%;
}
#our_business #contents .detail,
#event_planning #contents .detail,
#contact .faq_about .detail {
    font-size: clamp(17.14285714px, 1.428571429vw, 20px);
    line-height: 1.4;
}
#our_business #contents .detail,
#event_planning #contents .detail {
    margin: 5% auto 5% 13%;
}
#our_business #contents .bz_img,
#event_planning #contents .evnt_img {
    width: 45%;
    margin: 4% auto 3% 0;
}
#our_business #contents .bz_img img,
#event_planning #contents .evnt_img img {
    width: 85%;
}


/* ◆ 事業紹介 - Our Business */
#our_business #contents {
    /* margin-bottom: 12%; */
}
#our_business #contents .detail {
    height: clamp(126.8571429px, 10.57142857vw, 148px);
}
#our_business .detail_link {
    position: relative;
    width: 50%;
    margin: 8% auto;
    padding: 1.2%;
    border-radius: 50px;
}
#our_business .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: clamp(22.28571429px, 1.857142857vw, 26px);
    height: clamp(22.28571429px, 1.857142857vw, 26px);
    top: 0;
    left: 86%;
    margin-top: 5.5%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#our_business .detail_link a {
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    color: #fff;
}
#our_business #bz_others {
    width: 86%;
    margin: 0 auto;
}
#our_business #bz_others h2 {
    margin: 6% 0 0 0;
}
#our_business #bz_others .ttl_en {
    margin: 0;
}
#our_business #bz_others .detail {
    margin: 3% auto 5% 0;
    line-height: 2;
}
#our_business #bz_others .bz_list {
    display: flex;
    border-bottom: 1px dotted #006837;
}
#our_business #bz_others .detail dt {
    width: 10%;
    margin: 0;
    padding-left: 2%;
    flex-shrink: 0;
    font-size: clamp(18.85714286px, 1.571428571vw, 22px);
}
#our_business #bz_others .detail dd {
    margin: 0;
    padding-bottom: 1%;
    font-size: clamp(17.14285714px, 1.428571429vw, 20px);
}


/* ◆ イベント運営 - Event Plannning */
#event_planning #contents .evnt_point {
    margin-left: 13%;
    font-size: clamp(17.14285714px, 1.428571429vw, 20px);
}
#event_planning #contents .evnt_point dt {
    float: left;
    width: 16%;
    margin: 0;
    padding: 0;
    border: 1.5px solid #006837;
    border-radius: 20px;
    text-align: center;
    font-weight: bold;
}
#event_planning #contents .evnt_point dd {
    margin: 0 0 0.2em;
    padding-left: 18.5%;
    line-height: 1.9;
}
#event_planning #contents .evnt_case {
    width: 85.5%;
    margin: 0 16% 8% 0;
    padding-left: 13%;
    border-radius: 0 15px 15px 0;
    background-color: #fff;
    font-size: clamp(17.14285714px, 1.428571429vw, 20px);
}
#event_planning #contents .bg_white .evnt_case {
    background-color: #e6e6e6;
}
#event_planning #contents .evnt_case dl {
    padding: 3% 0;
}
#event_planning #contents .evnt_case dt {
    margin: 0;
    padding: 0;
    font-weight: bold;
}
#event_planning #contents .evnt_case dd {
    margin: 0;
}
#event_planning #contents .evnt_case dd span{
    display: inline-block;
    width: 3.8%;
}
#event_planning #case_study {
    width: 86%;
    margin: 5.5% auto;
    border: 3px solid #006837;
}
#event_planning #case_study .evnt_parts {
    display: flex;
    width: 92%;
    margin: 4% auto;
}
#event_planning #case_study h2 {
    margin: 0;
    font-size: clamp(30.85714286px, 2.571428571vw, 36px);
    font-weight: bold;
}
#event_planning #case_study .ttl_en {
    margin: 0;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    line-height: 1;
}
#event_planning #case_study .detail {
    width: 100%;
    margin: 10% auto 10% 0;
    font-size: clamp(17.14285714px, 1.428571429vw, 20px);
    line-height: 1.4;
}
#event_planning #case_study .evnt_about {
    width: 60%;
    padding-right: 3%;
}
#event_planning #case_study .detail_link {
    position: relative;
    width: 75.1%;
    margin: 26% 0 0 7%;
    padding: 1.5%;
    border-radius: 50px;
}
#event_planning #case_study .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: clamp(22.28571429px, 1.857142857vw, 26px);
    height: clamp(22.28571429px, 1.857142857vw, 26px);
    top: 0;
    left: 86%;
    margin-top: 4.8%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#event_planning #case_study .detail_link a {
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    color: #fff;
}
#event_planning #case_study .case_img {
    width: 60%;
}
#event_planning #message {
    width: 80%;
    margin: 5.5% auto 12%;
    border-top: 2px solid #006837;
}
#event_planning #message p {
    margin: 5.5% auto;
    text-align: center;
    font-size: clamp(27.42857143px, 2.285714286vw, 32px);
}


/* ◆ イベント実績（一覧）- Event List */
#eventlist .wrap {
    width: 86%;
    margin: 0 auto 12%;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    color: #333;
}
#eventlist .container {
    position: relative;
    display: flex;
    width: 100%;
    padding-bottom: 4%;
    margin-bottom: 4%;
    border-bottom: 1px dotted #006837;
}
#eventlist .container .category {
    position: absolute;
    background-color: #006837;
    top: 0;
    left: 70%;
    width: 30%;
    margin: 0;
    text-align: center;
    font-size: clamp(20.57142857px, 1.714285714vw, 24px);
    line-height: 2;
}
#eventlist .container img {
    /* width: 20%; */
    width: clamp(205.7142857px, 17.14285714vw, 240px);
    height: clamp(154.2857143px, 12.85714286vw, 180px);
}
#eventlist .container .title {
    width: 80%;
}
#eventlist .box {
    width: 100%;
}
#eventlist dt {
    width: 40%;
    margin: 2% 0 0 2%;
}
#eventlist dd {
    width: 98%;
    margin-left: 2%;
    line-height: 1.7;
}
#eventlist .detail_link {
    position: relative;
    width: 32%;
    margin: 8% auto;
    padding: 1.2%;
    border-radius: 50px;
}
#eventlist .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: clamp(22.28571429px, 1.857142857vw, 26px);
    height: clamp(22.28571429px, 1.857142857vw, 26px);
    top: 0;
    left: 86%;
    margin-top: 7%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#eventlist .detail_link a {
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    color: #fff;
}


/* ◆ イベント実績（個別）- Event Achievement */
#achievement #banner_area {
    margin-top: 4%;
    margin-bottom: 2%;
}
#achievement #banner_area .tag {
    display: flex;
    justify-content: flex-end;
    font-size: clamp(18.85714286px, 1.571428571vw, 22px);
}
#achievement #banner_area .tag .date {
    width: 15%;
    margin: 0;
    padding: 1.5% 0;
}
#achievement #banner_area .tag .category {
    width: 30%;
    text-align: center;
    background-color: #006837;
    margin: 1% 0;
    padding: 0.5% 1.5%;
    line-height: 1.5;
}
#achievement #banner_area h1 {
    width: 100%;
    margin: 0;
    padding-left: 2%;
    font-size: clamp(46.28571429px, 3.857142857vw, 54px);
    border-left: 5px solid #006837;
    font-weight: bold;
}
#achievement .wrap h2 {
    font-size: clamp(29.14285714px, 2.428571429vw, 34px);
}
#achievement .wrap {
    width: 86%;
    margin: 0 auto 12%;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    color: #333;
}
#achievement .wrap .contents {
    display: flex;
}
#achievement .wrap .contents img {
    width: 50%;
}
#achievement .wrap .contents h2 {
    width: 40%;
    margin: 4% 5%;
}
#achievement .wrap .detail img {
    width: 100%;
    margin: 2% auto;
}
#achievement .wrap .detail .text {
    background-color: #e6e6e6;
    margin: 0 0 2%;
    padding: 2%;
}
#achievement .detail_link {
    position: relative;
    width: 32%;
    margin: 8% auto;
    padding: 1.2%;
    border-radius: 50px;
}
#achievement .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: clamp(22.28571429px, 1.857142857vw, 26px);
    height: clamp(22.28571429px, 1.857142857vw, 26px);
    top: 0;
    left: 86%;
    margin-top: 7%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#achievement .detail_link a {
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    color: #fff;
}


/* ◆ お知らせ一覧 - News List */
#newslist .wrap {
    width: 80%;
    margin: 0 auto 12%;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    color: #333;
}
#newslist .container {
    margin-bottom: 2%;
    border-bottom: 1px dotted #006837;
}
#newslist dt {
    float: left;
    width: 15%;
    margin: 0;
    padding-left: 1%;
}
#newslist dd {
    margin-bottom: 2%;
    padding-left: 15%;
    line-height: 1.7;
}
#newslist .detail_link {
    position: relative;
    width: 32%;
    margin: 8% auto;
    padding: 1.2%;
    border-radius: 50px;
}
#newslist .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: clamp(22.28571429px, 1.857142857vw, 26px);
    height: clamp(22.28571429px, 1.857142857vw, 26px);
    top: 0;
    left: 86%;
    margin-top: 7%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#newslist .detail_link a {
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    color: #fff;
}


/* ◆ お知らせ（個別）- News */
#news #banner_area {
    margin-top: 4%;
    margin-bottom: 2%;
}
#news #banner_area .tag {
    display: flex;
    justify-content: flex-end;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
}
#news #banner_area .tag .date {
    width: 15%;
}
#news #banner_area .tag .category {
    width: 30%;
    text-align: center;
    background-color: #006837;
    margin: 1% 0;
    padding: 1.5%;
}
#news #banner_area h1 {
    margin: 0;
    padding-left: 2%;
    font-size: clamp(46.28571429px, 3.857142857vw, 54px);
    border-left: 5px solid #006837;
}
#news .wrap h2 {
    font-size: clamp(29.14285714px, 2.428571429vw, 34px);
}
#news .wrap {
    width: 86%;
    margin: 0 auto 12%;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    color: #333;
}
#news .wrap .contents {
    display: flex;
}
#news .wrap .contents img {
    width: 50%;
}
#news .wrap .contents h2 {
    width: 40%;
    margin: 4% 5%;
}
#news .wrap .detail img {
    width: 100%;
    margin: 2% 0;
}
#news .wrap .detail .text {
    background-color: #e6e6e6;
    margin: 0 0 2%;
    padding: 2%;
}
#news .detail_link {
    position: relative;
    width: 32%;
    margin: 8% auto;
    padding: 1.2%;
    border-radius: 50px;
}
#news .detail_link::after {
    position: absolute;
    display: block;
    content: "";
    width: clamp(22.28571429px, 1.857142857vw, 26px);
    height: clamp(22.28571429px, 1.857142857vw, 26px);
    top: 0;
    left: 86%;
    margin-top: 7%;
    background: url(/common/images/arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#news .detail_link a {
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    color: #fff;
}


/* ◆ 会社情報 - Company Info */
#company_info #contents #cmp_about,
#company_info #contents #cmp_profile,
#company_info #contents #cmp_history,
#company_info #contents #cmp_access {
    width: 86%;
    margin: 0 auto;
}
#company_info #contents h2 {
    margin: 0;
    padding-top: 4%;
    font-size: clamp(30.85714286px, 2.571428571vw, 36px);
}
#company_info #contents .ttl_en {
    margin: 0;
    margin: 0;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    line-height: 1;
}
#company_info #contents .detail {
    margin: 3% 0;
    font-size: clamp(17.14285714px, 1.428571429vw, 20px);
    line-height: 1.4;
}
#company_info #contents .caption {
    margin: 4% 0 0;
    padding-bottom: 6%;
    font-size: clamp(25.71428571px, 2.142857143vw, 30px);
    line-height: 1.4;
    text-align: center;
}
#company_info #contents #cmp_profile .detail {
    display: flex;
    justify-content: space-between;
    margin: 4% auto 6%;
    font-size: clamp(15.42857143px, 1.285714286vw, 18px);
}
#company_info #contents #cmp_profile .detail_list {
    width: 48%;
    margin: 0;
}
#company_info #contents #cmp_profile .detail_list .container {
    display: flex;
    align-items: center;
    padding: 3% 0;
    border-bottom: 1px dotted #006837;
}
#company_info #contents #cmp_profile .detail_list .container:first-child {
    border-top: 1px dotted #006837;
}
#company_info #contents #cmp_profile .detail_list dt {
    width: 22%;
    margin: 0;
    padding: 0;
}
#company_info #contents #cmp_profile .detail_list dd {
    line-height: 1.5;
}
#company_info #contents #cmp_history .detail {
    position: relative;
    margin: 0;
    padding-bottom: 8%;
}
#company_info #contents #cmp_history .detail::before {
    position: absolute;
    display: block;
    content: "";
    width: clamp(6.857142857px, 0.571428571vw, 8px);
    height: clamp(375.4285714px, 31.28571429vw, 438px); /* 項目が増えたらここを伸ばす */
    top: 0;
    left: 13%;
    margin-top: 4.5%;
    background-color: #6CBF85;
    z-index: 10;
}
#company_info #contents #cmp_history .detail::after {
    position: absolute;
    display: block;
    content: "";
    width: clamp(51.42857143px, 4.285714286vw, 60px);
    height: clamp(51.42857143px, 4.285714286vw, 60px);
    top: 0;
    left: 13%;
    margin-top: 41.1%;                                  /* 項目が増えたらここを下げる */
    background: url(/common/images/line.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}
#company_info #contents #cmp_history .detail .history_01 {
    position: relative;
}
#company_info #contents #cmp_history .detail .history_01::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 12.3%;
    margin-top: 4.3%;
    background: url(/common/images/circle_01.png);
}
#company_info #contents #cmp_history .detail .history_02 {
    position: relative;
}
#company_info #contents #cmp_history .detail .history_02::before {
    position: absolute;
    display: block;
    content: "";
    width: clamp(32.57142857px, 2.714285714vw, 38px);
    height: clamp(32.57142857px, 2.714285714vw, 38px);
    top: 0;
    left: 11.7%;
    margin-top: 3.6%;
    background: url(/common/images/circle_02.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 15;
}
#company_info #contents #cmp_history .detail .history_03 {
    position: relative;
}
#company_info #contents #cmp_history .detail .history_03::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 12.3%;
    margin-top: 4.2%;
    background: url(/common/images/circle_01.png);
}
#company_info #contents #cmp_history .detail .history_04 {
    position: relative;
}
#company_info #contents #cmp_history .detail .history_04::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 12.3%;
    margin-top: 4%;
    background: url(/common/images/circle_01.png);
}
#company_info #contents #cmp_history .detail .history_01::before,
#company_info #contents #cmp_history .detail .history_03::before,
#company_info #contents #cmp_history .detail .history_04::before {
    width: clamp(20.57142857px, 1.714285714vw, 24px);
    height: clamp(20.57142857px, 1.714285714vw, 24px);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 15;
}
#company_info #contents #cmp_history .detail .container {
    display: flex;
    align-items: center;
    padding: 3% 0;
}
#company_info #contents #cmp_history .detail .container dt {
    width: 16%;
    margin: 0;
    padding: 0;
    font-size: clamp(24px, 2vw, 28px);
}
#company_info #contents #cmp_histroy .detail .container dd {
    line-height: 1.5;
    font-size: clamp(15.42857143px, 1.285714286vw, 18px);
}
#company_info #contents #cmp_access {
    margin-bottom: 12%;
}
#company_info #contents #cmp_access .detail {
    line-height: 1.5;
}
#company_info #contents #cmp_access .container {
    width: 80%;
    margin: 0 auto;
    border: 3px solid #e6e6e6;
    text-align: center;
}
#company_info #contents #cmp_access .container img {
    width: 98%;
    margin: 1% auto;
    text-align: center;
}


/* ◆ お問い合わせ - Contact */
#contact #faq .faq_about {
    width: 86%;
    margin: 0 auto;
    padding: 4% 0;
}
#contact .faq_about h2,
#contact .faq_about .ttl_en {
    margin: 0;
}
#contact .faq_about .detail {
    margin: 3% auto 3% 0;
}
#contact .faq_about .faq_list .container {
    display: flex;
    align-items: center;
    font-size: clamp(17.14285714px, 1.428571429vw, 20px);
    border-bottom: 1px dotted #006837;
}
#contact .faq_about .faq_list .container .inq {
    position: relative;
}
#contact .faq_about .faq_list .container .inq::before {
    position: absolute;
    display: block;
    content: "Q";
    top: 0;
    left: 2%;
    background-color: #006837;
    color: #fff;
}
#contact .faq_about .faq_list .container .inq::after {
    position: absolute;
    display: block;
    content: "A";
    top: 0;
    left: 102%;
    background-color: #fff;
    color: #006837;
}
#contact .faq_about .faq_list .container .inq::before,
#contact .faq_about .faq_list .container .inq::after {
    width: clamp(22.28571429px, 1.857142857vw, 26px);
    height: clamp(22.28571429px, 1.857142857vw, 26px);
    margin-top: -1%;
    padding: 1%;
    border-radius: 5px;
    font-size: clamp(18.85714286px, 1.571428571vw, 22px);
    font-family: Avenir, 'Helvetica neue', Helvetica, '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    text-align: center;
    line-height: 1.3;
    z-index: 10;
}
#contact .faq_about .faq_list .inq,
#contact .faq_about .faq_list .ans {
    width: 45%;
    padding-left: 6%;
}
#contact #faq_message {
    width: 86%;
    margin: 0 auto;
    padding: 4% 0;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    text-align: center;
}
#contact #faq_message .message {
    margin: 0;
}
#contact #faq_message .contact {
    width: 86%;
    margin: 4% auto 0;
    background-color: #006837;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
    padding: 5% 0 3%;
}
#contact #faq_message .contact p {
    margin: 0;
    line-height: 1.5;
    font-size: clamp(30.85714286px, 2.571428571vw, 36px);
}
#contact #faq_message .contact_area {
    display: flex;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
}
#contact #faq_message .contact .tel,
#contact #faq_message .contact .email {
    width: 48%;
    padding-left: 14%;
    text-align: center;
}
#contact #faq_message .contact .category {
    margin: 0;
    font-size: clamp(22.28571429px, 1.857142857vw, 26px);
}
#contact #faq_message .contact .notice {
    width: 48%;
    margin: 0 auto;
    text-align: center;
    border-radius: 20px;
    background-color: #fff;
    color: #006837;
    font-size: clamp(15.42857143px, 1.285714286vw, 18px);
}
#contact #faq_message .contact .tel {
    position: relative;
}
#contact #faq_message .contact .tel::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 7%;
    background: url(/common/images/icon_tel.png);
}
#contact #faq_message .contact .email {
    position: relative;
}
#contact #faq_message .contact .email::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 2%;
    background: url(/common/images/icon_mail.png);
}
#contact #faq_message .contact .tel::before,
#contact #faq_message .contact .email::before {
    width: clamp(102.8571429px, 8.571428571vw, 120px);
    height: clamp(102.8571429px, 8.571428571vw, 120px);
    margin-top: 0;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 10;
}

#contact #faq_message .contact .info {
    width: 50%;
    margin: 5% auto 0;
    border-radius: 5px;
    text-align: center;
}
#contact #faq_message .contact .info a {
    display: block;
    width: 100%;
    height: 100%;
    transition: tramsform 1s ease-in-out;
    transform-origin: center center;
}
#contact #faq_message .contact .info a:hover {
    transform: scale(0.95);
}


/* 768px以上用（PC用）の記述 end -------------------------------------*/
}

