/* --------------------------------------------------------- 
       定期開催
------------------------------------------------------------ */

/* ----　メッセージ　------------------------------ */

#regular-message h2 {
    color: #FA6868;
    text-align: center;
    line-height: 1.8;
}

#regular-message {
    padding-top: 5.5rem;
    padding-bottom: 13rem;
}

#regular-message img {
    display: block;
    margin: 0 auto;
    margin-bottom: 5.5rem;
}

.regular-message_txt-area {
    font-size: 1.7rem;
    margin: 0 auto;
    margin-top: 7rem;
    max-width: 740px;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    line-height: 1.8;
}

@media only screen and (max-width: 767px) {
    #regular-message {
        padding-top: 5rem;
        padding-bottom: 7rem;
    }
    #regular-message img {
        width: 71px;
        margin-bottom: 1.5rem;
    }

    .regular-message_txt-area {
        margin-top: 4.5rem;
        font-size: 1.5rem;
    }
}

/* ----　エリア紹介　------------------------------ */

#regular-area {
    background-color: #FEF3F0;
    background-image: url(../img/bg_pc.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
}

#regular-area .container
 {
    padding-top: 11rem;
    padding-bottom: 13rem;
    max-width: 1100px;
}


@media only screen and (max-width: 767px) {
    #regular-area  {
        background-image: url(../img/bg_sp.png);
    }
    #regular-area .container
    {
        padding-top: 6rem;
        padding-bottom: 7rem;
    }
}

#regular-area h2 {
    color: #FA6868;
    text-align: center;
    margin-bottom: 7.6rem;
}

#regular-area h3 {
    font-size: 2.6rem;
    margin-bottom: 3rem;
}

.hokkaido,
.osaka {
    background-color: #fff;
    border-radius: 30px;
    padding: 4.6rem;
}

.osaka {
    margin-top: 3rem;
}

.regular-area_wrapper {
    display: flex;
    gap: 4.4rem;
}

@media only screen and (max-width: 820px) {
    .hokkaido,
    .osaka{
        width: 90vw;
        margin: 0 auto;
        margin-top: 2rem;
        border-radius: 15px;
    }

    .regular-area_wrapper {
        display: block;
    }

}

@media only screen and (max-width: 767px) {
    #regular-area h2 {
        margin-bottom: 3.6rem;
    }
    #regular-area h3 {
        font-size: 2rem;
        margin-bottom: 3rem;
    }
    .hokkaido,
    .osaka {
        padding: 3rem 1.6rem 4rem;
        width: 95vw;
    }

}

/* --　ギャラリー　---- */

.regular-gallery .main-image {
    margin-bottom: 1.8rem;
}

.regular-gallery {
    max-width: 454px;
}

.regular-gallery img {
    width: 100%;
    height: auto;
    display: block;
}

.regular-gallery .thumbnails img:hover{
    opacity: 0.5;
    transition: opacity 0.4s ease;
}

.thumbnails {
    display: flex;
    justify-content: space-between;
}

.thumbnails img {
    width: calc((100% - 60px) / 4);
}

.regular-area_txt-area {
    max-width: 500px;
}

@media only screen and (max-width: 820px) {
    .regular-gallery {
        width: 100%;
        max-width: 646px;
        margin: 0 auto;
    }

    .regular-gallery .main-image img {
        width: 100%;
    }

    .thumbnails {
        width: 100%;
        margin-bottom: 3rem;
    }

    .regular-area_txt-area {
        max-width: 100%;
    }
}

@media only screen and (max-width: 767px) {
    .thumbnails img {
        width: calc((100% - 20px) / 4);
    }
    .regular-gallery .main-image {
        margin-bottom: 1.2rem;
    }
    .thumbnails {
        margin-bottom: 1.8rem;
    }
}

/* --　ボタン　---- */
#regular-area .btn {
    width: 286px;
    margin: 0 auto;
    margin-top: 4.6rem;
}

#regular-area .btn img {
    width: 25px;
}

@media only screen and (max-width: 767px) {
    #regular-area .btn {
        margin-top: 2.8rem;
    }
}


/* ----　よくある質問　------------------------------ */

#faq .container {
    padding-top: 11rem;
    padding-bottom: 13rem;
    max-width: 826px;
}

#faq h2 {
    text-align: center;
    margin-bottom: 8rem;
}

#faq h3 {
    font-size: 2.2rem;
    margin-bottom: 1.3rem;
}

@media only screen and (max-width: 767px) {
    #faq .container {
        padding-top: 7rem;
        padding-bottom: 8rem;
    }

    #faq h2 {
        text-align: center;
        font-size: 3rem;
        margin-bottom: 4.4rem;
    }

    #faq h3 {
        font-size: 1.8rem;
        margin-bottom: 1rem;
    }
}


/* --　Q＆A共通項目　---- */

.faq-accordion {
    margin-bottom: 11rem;
    padding-left: 1rem;
    padding-right: 1rem;
}

.faq-accordion:last-child {
    margin-bottom: 0;
}

.panel {
    border-top: 1px solid #F9D7D1;
}

.panel:last-child {
    border-bottom: 1px solid #F9D7D1;
}

#faq .panel-header {
    color: #EA5858;
    font-size: 1.8rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    padding: 22px 18px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
}

#faq .panel-body {
    font-size: 1.6rem;
    padding-left: 3.3rem;
    padding-right: 3.5rem;
    padding-bottom: 22px;
    max-width: 780px;
}

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

    .faq-accordion {
        padding: 0 1.5rem;
        margin-bottom: 6rem;
    }

    .faq-accordion:last-child {
        margin-bottom: 0;
    }

    #faq .panel-header {
        padding: 20px 10px 18px;
        font-size: 1.6rem;
    }

    .panel-body {
        font-size: 1.5rem;
        padding-left: 26px;
        padding-bottom: 2rem;
    }
}


.panel-header:hover {
    opacity: 0.5;
    transition: opacity 0.4s ease;
}

/* アイコン（＋と－） */
.icon {
  position: relative;
  min-width: 12px;
  height: 12px;
  display: inline-block;
}

/* 横棒 */
.icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #F29999; 
  transform: translateY(-50%);
}

/* 縦棒 */
.icon::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  background-color: #F29999; 
  transform: translateX(-50%);
}

/* active時に縦棒を消して「－」にする */
.panel-header.active .icon::after {
  height: 0;
}

.panel-content {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-out;
}


/* --------------------------------------------------------- 
       ご支援のお願い
------------------------------------------------------------ */

/* ----　共通　------------------------ */
.support_wrapper,
#generation {
    background-image: url(../img/bg_pc.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
}

@media only screen and (max-width: 767px) {
    .support_wrapper,
    #generation  {
        background-image: url(../img/bg_sp.png);
    }
}

#plan .container
 {
    padding-top: 11rem;
    padding-bottom: 13rem;
}



/* ----　メッセージ　------------------------ */
.support_wrapper {
    background-color: #FEF3F0;
}


.sup-message_wrapper {
    position: relative;
}

.sup-message_txt-area {
    padding-top: 13rem;
    padding-bottom: 12rem;
    position: relative;
    left: 40vw;
    width: 47rem; 
}

.sup-message_txt-area h2 {
    color: #FA6868;
    line-height: 1.5;
    margin-bottom: 7rem;
}

.sup-message_txt-area_wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.sup-message_txt-area p {
    font-size: 1.7rem;
    line-height: 2em;
    display: flex;
    z-index: 5; 
}

/* --　画像　--- */
.sup-message_img01 {
    position: absolute;
    top: 25vh;
    left: 11vw;
}

.sup-message_img01 img {
    width: 270px;
}

.sup-message_img02 {
    position: absolute;
    bottom: 10vh;
    left: -4rem;
}
.sup-message_img02 img {
    width: 255px;
}

.sup-message_img03 {
    position: absolute;
    bottom: 15vh;
    right: 3rem;
}

.sup-message_img03 img {
    width: 150px;
}

@media only screen and (max-width: 1024px) {
    .sup-message_wrapper {
        overflow-x: hidden; /* ← 横だけ隠す */
        overflow-y: visible; /* ← 縦はそのまま */
    }

    .sup-message_txt-area {
        margin: 0 auto;
        left: auto;
        padding-bottom: 30rem;
    }
    /* --　画像　--- */
    .sup-message_img01 {
        position: absolute;
        top: 1.5rem;
        right: -2rem;
        left: auto;
      
    }

    .sup-message_img02 {
        position: absolute;
        bottom: 0vh;
        left: -4rem;
    }

    .sup-message_img03 {
        position: absolute;
        bottom: 20vh;
        right: -1rem;
    }
}

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

    .sup-message_txt-area {
        width: 90vw;
    }

    .sup-message_txt-area h2 {
        margin-bottom: 3.5rem;
    }

    .sup-message_txt-area p {
        font-size: 1.5rem;
        line-height: 2em;
    }

    .sup-message_img01 img {
        width: 190px;
    }

    .sup-message_img02 img {
        width: 195px;
    }

    .sup-message_img03 img {
        width: 110px;
    }
        
}

/* ----　支援の方法　------------------------ */

.support-way_title {
    text-align: center;
}

.support-way_list {
    margin-top: 7rem;
    margin-bottom: 13rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3.4rem;
}

.support-way_list_wrapper {
    background-color: #fff;
    border-radius: 15px;
    padding: 3.4rem;
    width: 392px;
}

.support-way_list_title {
    font-size: 2rem;
    color: #FA6868;
}
.support-way_list_text-area {
    margin-top: 2rem;
    margin-bottom: 3rem;
}

.support-way_list .btn {
    width: 305px;
    margin-right: 0;
    margin-left: auto; 
}

@media only screen and (max-width: 820px) {
    #support-way .container {
        padding-top: 7.5rem;
    }
    
    .support-way_list {
        display: block;
        gap: 3rem;
        margin-top: 3.4rem;
        margin-bottom: 7rem;
    }
    .support-way_list_wrapper {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 2.4rem;
    }
}

/* ----　返礼について　------------------------ */

#return .return_title {
    text-align: center;
    font-size: 2.6rem;
}

.return_content {
    margin-top: 6rem;
    padding-bottom: 13rem;
    display: flex;
    justify-content: center;
    gap: 1.3rem;
}

.return_list {
    display: flex;
    justify-content: center;
    gap: 1.3rem;
}

.return_list_wrapper {
    width: 235px;
    height: 235px;
    border-radius: 50%;
    background-color: #fff;
}

.return_list h3 {
    text-align: center;
    padding-top: 6rem;
}

.return_list_wrapper04 h3{
    padding-top: 5rem;
}

.return_list_wrapper .small {
    font-size: 1.5rem;
}

.return_list_wrapper {
    background-position: center;
    background-repeat: no-repeat;
}

.return_list_wrapper01 {
    background-image: url(../img/support_illust01.svg);
}

.return_list_wrapper02 {
    background-image: url(../img/support_illust02.svg);
}

.return_list_wrapper03 {
    background-image: url(../img/support_illust03.svg);
}

.return_list_wrapper04 {
    background-image: url(../img/support_illust04.svg);
}

@media only screen and (max-width: 820px) {
    .return_content {
       display: block;
    }
    .return_list {
        padding-bottom: 1.5rem;
    }
}

@media only screen and (max-width: 767px) {
    #return .return_title {
        font-size: 2.3rem;
        line-height: 1.8em;
    }

    .return_content {
       margin-top: 3rem;
       padding-bottom: 7rem;
    }

    .return_list_wrapper {
        width: 170px;
        height: 170px;
        background-size: 95%;
    }

    .return_list h3 {
        font-size: 1.6rem;
        letter-spacing: 0.05em;
        line-height: 1.4em;
        padding-top: 4rem;
    }
    .return_list_wrapper .small {
        font-size: 1.4rem;
    }
}

/* ----　協賛プラン　------------------------ */

#plan{
    background-color: #FFFAF0;
}

.plan_title {
    text-align: center;
}

.plan_txt-area {
    margin: 0 auto;
    margin-top: 8rem;
    margin-bottom: 6rem;
    max-width: 900px;
}



@media only screen and (max-width: 767px) {
    .plan_txt-area {
        width: 90vw;
    }
}

.plan_list {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin-bottom: 3rem;
}

.plan_list_wrapper {
    background-color: #ECFAFC;
    border-radius: 15px;
    padding: 3.6rem 3rem;
    width: 50%;
}

.plan_list_wrapper04 {
    background-color: #FEF3F0;
}

.plan_list_copy,
.plan_list_name
 {
    text-align: center;
}

.plan_list_name {
    font-size: 2.4rem;
    margin-top: 2rem;
    margin-bottom: 3.6rem;
}

.plan_list_content {
    background-color: #fff;
    border-radius: 10px;
    padding: 3rem;
}

.plan_list_content02,
.plan_list_content03
 {
    padding-bottom: 5.9rem;
}

 
.plan_list_top_price {
    font-size: 3rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    color: #FA6868;
    text-align: center;
}

.plan_list_top_pay {
    font-size: 1.5rem;
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 1.8rem;
    border-bottom: solid 1px #F9D7D1;
}

.plan_list_bottom {
    font-size: 1.5rem;
}

.plan_list_bottom_title {
    font-weight: bold;
}

.plan_list_bottom_content {
    margin-left: 1em;
}

.plan_list_bottom_content ul li {
    position: relative;
}
.plan_list_bottom_content ul li:before {
    content: "•";
    position: absolute;
    left: -1rem;
}

.plan_list_wrapper .btn {
    width: 305px;
    margin: 0 auto;
    margin-top: 3rem;
}

@media only screen and (max-width: 1046px) {
    .plan_list_content03 {
        padding-bottom: 3rem;
    }
}

@media only screen and (max-width: 820px) {
    #plan .container {
        padding-top: 7rem;
        padding-bottom: 7rem;
    }

    .plan_txt-area {
        margin-top: 3rem;
        margin-bottom: 4rem;
    }

    .plan_list {
        display: block;
        margin-bottom: 2.4rem;
    }

    .plan_list_wrapper {
       width: 100%;
       padding: 3rem 1.5rem;
       margin-bottom: 2.4rem;
    }

    .plan_list_content02
     {
        padding-bottom: 3rem;
    }

}


/* ----　ボタン　-------- */
#plan .btn_company {
    width: 290px;
    margin: 0 auto;
    margin-top: 6rem;
    background: #fff;
    color: #734C29;
    border: solid 2px #F29999;
}

@media only screen and (max-width: 767px) { 
    #plan .btn_company {
        margin-top: 5rem;
    }
}

/* ----　次世代　------------------------ */
#generation{
    padding-top: 15rem;
    padding-bottom: 20rem;
    background-color: #FEF3F0;
}
 
#generation h2 {
    margin-bottom: 3rem;
}

.generation_wrapper {
    display: flex;
    align-items: flex-start;
    gap: 9rem;
    position: relative;
}

.generation_wrapper img {
    width: 40%;
    position: sticky;
    top: 25%;
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
}

.generation_txt-area {
    max-width: 535px;
    font-style: 1.7rem;
    display: flex;
    flex-direction: column;
    gap: 3rem;
    line-height: 2;
}



@media only screen and (max-width: 1024px) {
    #generation{
        padding-top: 10rem;
    }
 }

@media only screen and (max-width: 820px) {
    #generation{
        padding-top: 0;
        padding-bottom: 15rem;
    }
    .generation_wrapper{
        display: block;
        text-align: center;
    }

    .generation_wrapper img {
        width: 100%;
        top: 0;
        margin-left: auto;
        margin-right: auto;
        border-radius: 0px;
    }

    .generation_txt-area {
        margin: 0 auto;
        margin-top: 7rem;
        width: 80%;
        text-align: left;
    }

}

@media only screen and (max-width: 767px) { 
    #generation{
        padding-top: 0;
        padding-bottom: 7rem;
    }

    .generation_wrapper img {
        border-radius: 0;
    }
    .generation_txt-area {
        width: 90vw;
    }
}


/* ----　支援企業一覧　------------------------ */
.partner_bottom {
    margin-top: 7rem;
    font-size: 1.5rem;
    line-height: 1.6;
}

.partner_bottom_txt-area {
    font-weight: 500;
    margin-bottom: 1rem;
}

@media only screen and (max-width: 767px) { 
    .partner_bottom {
        margin-top: 5rem;
    }
}

/* --------------------------------------------------------- 
      会社概要
------------------------------------------------------------ */


/* ----　ビジョン　------------------------ */
#vision {
    background-color: #fff;
}

#vision .container {
    padding-top: 10rem;
}

.vision-title h2,
.vision-title span,
.vision-name h3
 {
    text-align: center;
}

.vision-title h2 {
    font-size: 1.5rem;
    color: #F29999;
}

.vision-title span {
    font-size: 3rem;
    font-family:"YakuHanRP", "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    display: block;
    margin-top: 0.8rem;
}

.vision-name h3 {
    font-size: 3.5rem;
    color: #FA6868;
    margin-top: 8.5rem;
    margin-bottom: 5.2rem;
}

.vision-name p {
    max-width: 80rem;
    margin: 0 auto;
}

.vision-illust {
    display: flex;
    gap: 9vw;
    justify-content: center;align-items: center;
    margin: 0 auto;
    padding: 13rem 2rem 15rem;
}



@media only screen and (max-width: 767px) {
    #vision .container {
        padding-top: 6rem;
    }

    .vision-title h2 {
        font-size: 1.4rem;
    }

    .vision-title span {
        margin-top: 0;
        font-size: 2.4rem;
    }

    .vision-name h3 {
        font-size: 2.5rem;
        line-height: 1.6em;
        margin-top: 4rem;
        margin-bottom: 3rem;
    }

    .vision-illust {
        display: flex;
        gap: 8rem;
        justify-content: center;
        margin: 0 auto;
        padding: 4rem 1rem 6.5rem;
    }

    .vision-illust img {
        height: 6rem;
    }
}

/* ----　バリュー　------------------------ */

#value {
     background-color: #fff;
}

#value .container {
    padding-bottom: 8rem;
}

.value-title {
    font-size: 1.5rem;
    color: #F29999;
    text-align: center;
}

.value-wrapper span {
    font-size: 3rem;
    font-family:"YakuHanRP", "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    display: block;
    margin-top: 0.8rem;
    text-align: center;
}

.value-list {
    max-width: 80rem;
    margin: 0 auto;
    margin-top: 6rem;
}

.value-list dt {
    font-size: 2rem;
    font-family:"YakuHanRP", "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    margin-bottom: 1.8rem;
}

.value-list dd {
    font-size: 1.6rem;
    font-family:"YakuHanRP", "Zen Maru Gothic", sans-serif;
    margin-bottom: 4.6rem;
    margin-left: 2rem;
}

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

    #value .container {
        padding-bottom: 5rem;
    }

    .value-title {
        font-size: 1.4rem;
    }

    .value-wrapper span {
        margin-top: 0;
        font-size: 2.4rem;
    }

    .value-list {
        max-width: 80rem;
        margin: 0 auto;
        margin-top: 4rem;
    }

    .value-list dt {
        font-size: 1.7rem;
        margin-bottom: 1.2rem;
    }

    .value-list dd {
        font-size: 1.5rem;
        margin-left: 1.5rem;
        margin-bottom: 3rem;
    }
    
}

/* ----　代表メッセージ　------------------------ */

#company-msg {
    background-color: #FEF3F0;
    background-image: url(../img/bg_pc.png);
    background-position: center top;
    background-size: 100% auto;
    background-repeat: no-repeat;
    padding: 13rem 0;
    width: 100%;
}

#company-msg .title-part {
    text-align: center;
}

#company-msg .title-part-img {
    height: 10rem;
}

#company-msg .title {
    color: #F29999;
    margin-top: 2rem;
}

.company-msg_wrapper {
    margin-top: 6rem;
    display: flex;
    gap: 7.4rem;
}

@media only screen and (max-width: 1024px) {
     .company-msg_wrapper {
        display: block;
    }
}



@media only screen and (max-width: 767px) {
     #company-msg {
        background-image: url(../img/bg_sp.png);
        padding: 6rem 0 8rem;
    }
    #company-msg .title-part-img {
        height: 8rem;
    }
    #company-msg .title {
        margin-top: 1.5rem;
    }

}

/* ----　顔写真　------ */

.company-msg_img_face {
    width: 35.4rem;
    border-radius: 15px;
}

.company-msg_img_name,
.company-msg_img_kanji
 {
    font-family:"YakuHanRP", "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    text-align: center;
}

.company-msg_img_name {
    font-size: 1.6rem;
    color: #F29999;
    margin-top: 2rem;
}

.company-msg_img_kanji {
    font-size: 2.1rem;
    margin-top: 2px;
    margin-bottom: 1rem;
}

.company-msg_img_job {
    font-size: 1.4rem;
    text-align: center;
}

@media only screen and (max-width: 1024px) {
     .company-msg_img {
        text-align: center;
    }
}


/* ----　アコーディオン　------ */
.readmore-box {
    position: relative;
    /* max-width: 572px; */
}

.readmore-text {
    max-height: 30rem; /* 表示する高さ（2〜4行など自由に） */
    overflow: hidden;
    transition: max-height 1s ease;
}

.readmore-text p {
    margin-bottom: 2em;
}

.readmore-text.open {
    max-height: 1300px; /* 十分大きい数にして全文を見せる */
}

.readmore-box .readmore-btn {
    font-family:"YakuHanRP", "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    margin-top: 1.5rem;
    border: none;
    font-size: 1.6rem;
    width: 100%;
    justify-content: center;
}

.readmore-btn:hover {
    opacity: 0.5;
    transition: opacity 0.4s ease;
}

@media only screen and (max-width: 1024px) {
     .readmore-box {
        margin-top: 4rem;
     }
}

@media only screen and (max-width: 767px) {
    .readmore-text {
        max-height: 41rem; /* 表示する高さ（2〜4行など自由に） */
    }

    .readmore-text.open {
        max-height: 1800px; /* 十分大きい数にして全文を見せる */
    }

    .readmore-box .readmore-btn {
        margin-top: 0;
    }
}

/* ----　代表プロフィール　------ */

.company-acordion {
    margin-top: 5rem;
}

/* ボタン　--------*/
.accordion-prof_btn {
    display: inline-flex;
    justify-content: center; 
    align-items: center;
    font-size: 1.6rem;
    font-weight: 800;
    color: #734C29;
    background-color: #fff;
    border: solid 2px #F29999;
    cursor: pointer;
    list-style: none;
    gap: 1rem; 
    position: relative;
}

/* ＋マークの追加 */
.accordion-prof_btn::after {
    content: "＋";
    color: #F29999;
    display: flex;
    justify-content: right;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 800;
    width: 4rem;
    height: 4rem;
    background-color: transparent;
    flex-shrink: 0; /* ボタンのサイズを固定 */
    position: static; 
}

/* 開いたときに−に変更 */
.accordion-prof[open] .accordion-prof_btn::after {
    content: "−";
    color: #F29999;
}


/* 線_ライン　---------*/

.accordion-prof_txt-area_top {
    padding-top: 3rem;
    padding-bottom: 2rem;
    border-bottom: solid 1px #F29999;
    font-size: 1.5rem;
}

.accordion-prof_txt-area_bottom {
    padding-top: 2rem;
    font-size: 1.5rem;
}


/* ----　メディア　------------------------------------ */

#media {
    background-color: #fff;
}

#media .container {
    padding-top: 12rem;
    padding-bottom: 12rem;
    max-width: 800px;
}

#media h2 {
    text-align: center;
    margin-bottom: 8rem;
}

@media only screen and (max-width: 820px) {
    #media .container {
        padding-right: 1.5rem;
        padding-left: 1.5rem;
    }
}

@media only screen and (max-width: 767px) {
    #media h2 {
        margin-bottom: 3.6rem;
    }
    #media .container {
        padding-top: 7rem;
        padding-bottom: 8.4rem;
    }
}


/* --　Q＆Aと共通項目　---- */

.panel {
    border-top: 1px solid #F9D7D1;
}

.panel:last-child {
    border-bottom: 1px solid #F9D7D1;
}

.panel-header {
    color: #F29999;
    font-size: 2rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 800;
    padding: 2rem 1rem 1.6rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    letter-spacing: 0.07em;
}

.panel-body {
    font-size: 1.5rem;
    padding-left: 1rem;
    padding-bottom: 2.8rem;
}

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

    .panel-header {
        padding: 1.7rem 0.5rem 1.6rem;
        font-size: 1.8rem;
    }

    .panel-body {
        font-size: 1.5rem;
        padding-left: 5px;
        padding-bottom: 1.5rem;
    }
}


.panel-header:hover {
    opacity: 0.5;
    transition: opacity 0.4s ease;
}

/* アイコン（＋と－） */
.icon {
    position: relative;
    min-width: 12px;
    height: 12px;
    display: inline-block;
}

/* 横棒 */
.icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #F29999; 
  transform: translateY(-50%);
}

/* 縦棒 */
.icon::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  background-color: #F29999; 
  transform: translateX(-50%);
}

/* active時に縦棒を消して「－」にする */
.panel-header.active .icon::after {
  height: 0;
}

.panel-content {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-out;
}


/* アコーディオン内----------------*/
.work-item {
    display: flex;
    justify-content: flex-start;
    gap: 2rem;
    margin-bottom: 1rem;
    line-height: 1.5em;
}

.work-date {
    width: 10rem;
    display: block;
}

.work-content {
    width: 60rem;
    display: block;
}

@media only screen and (max-width: 767px) {
    .work-item {
        display: block;
    }
    .work-date {
        width: 100%;
    }

    .work-content {
        width: 100%;
    }
}


/* メディアの問い合わせ-----------------*/
.media-contact {
    background-color: #FFFAF0;
    border-radius: 34px;
    margin-top: 10rem;
    text-align: center;
    padding: 6rem;
}

.media-contact_title {
    color: #734C29;
    font-size: 2.7rem;
    position: relative;
    display: inline-flex; 
    align-items: center; 
    margin-bottom: 3.6rem;       
}

.media-contact_txt-area .red {
    font-family: "YakuHanRP","Zen Maru Gothic", sans-serif;
    font-weight: 800;
    color: #EA5858;
}


.media-contact .btn {
    width: 30.5rem;
    margin: 0 auto;
    margin-top: 4rem;
}

.media-contact_illust {
    position: absolute;
    padding-left: 2rem;
}


@media only screen and (max-width: 767px) {
    .media-contact {
        margin-top: 5rem;
        padding: 8rem 1.5rem 5rem 1.5rem;
    }

    .media-contact_title {
        align-items: flex-start;
        margin-bottom: 4.4rem;        
    }

    .media-contact_txt-area {
        text-align: left;
    }

    .media-contact_illust {
        position: relative;
    }

    .media-contact_illust img {
        width: 5.4rem;
        padding-top: 4rem;
    }
}


/* ----　あゆみ　------------------------------------ */

#history {
    background-color: #FEF3F0;
    background-image: url(../img/bg_pc.png);
    background-position: center top;
    background-size: 100% auto;
    background-repeat: no-repeat;
    padding: 13rem 0 13rem;
    width: 100%;
}

#history h2 {
    text-align: center;
    margin-bottom: 9rem;
}

.timeline {
    margin: 0 auto;
    max-width: 84rem;
}

.timeline_wrapper {
    position: relative;
    padding-bottom: 7rem;
}

.timeline_wrapper:last-child {
    padding-bottom: 2rem;
}

.timeline_wrapper::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #F29999
}

.timeline-item {
  position: relative;
  padding-left: 3.5rem;
}

.timeline-dot {
  position: absolute;
  left: 6.3px;
  top: 1.3rem;
  width: 1rem;
  height: 1rem;
  background: #F29999;
  border-radius: 50%;
}

.timeline-content {
    max-width: 78rem;
}


.timeline-title {
    font-size: 2.3rem;
    color: #F29999;
    margin-bottom: 2.5rem;
}

@media only screen and (max-width: 767px) {
    #history {
        padding-top: 7rem;
        padding-bottom: 7rem;
    }

    #history h2 {
        margin-bottom: 5rem;
    }

    .timeline_wrapper {
        padding-bottom: 4rem;
    }

    .timeline-item {
        padding-left: 3rem;
    }

    .timeline-title {
        font-size: 1.8rem;
        margin-bottom: 1.6rem;
    }
}

/* 会社情報-----------*/

.company-info {
    padding: 8rem;
    background-color: #fff;
    border-radius: 1.5rem;
    margin-top: 11rem;
}

.company-info h3 {
    font-size: 2.8rem;
    color: #F29999;
    margin-bottom: 3.5rem;
}

.company-info dl {
    display: grid;
    grid-template-columns: 150px 1fr;
    row-gap: 0.5em;
    border-top: solid 1px #F9D7D1;
    }

.company-info dt {
  font-weight: bold;
}

.company-info dd {
    margin-left: 0;
    font-size: 1.7rem;
}

.company-info dt,
.company-info dd {
    border-bottom: solid 1px #F9D7D1;
    padding-top: 2.2rem;
    padding-bottom: 2.2rem;
    padding-left: 5px;
    font-family: "YakuHanRP","Zen Maru Gothic", sans-serif;
}

@media only screen and (max-width: 767px) {
    .company-info {
        padding: 5rem 1.5rem;
        margin-top: 6rem;
    }
    .company-info h3 {
        font-size: 2rem;
        margin-bottom: 2rem;
    }

    .company-info dl {
        grid-template-columns: 90px 1fr;
    }

    .company-info dt {
        font-weight: bold;
    }

    .company-info dd {
        margin-left: 0;
        font-size: 1.5rem;
    }

    .company-info dt,
    .company-info dd { 
        padding-top: 1.8rem;
        padding-bottom: 1.8rem;
    }

}

/* --------------------------------------------------------- 
     プライバシーポリシー
------------------------------------------------------------ */

.privacy_wrapper .container {
    padding: 8rem 1.5rem 13rem; 
    max-width: 80rem;
}

.privacy_section {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.privacy_section_txt-area {
    margin-bottom: 4.5rem;
}

.privacy_section_body h2 {
    font-size: 1.8rem;

}

.privacy_section_info {
    margin-top: 1em;
}

.privacy_section_info p {
    padding-left: 0.5em;
}

.privacy_section_info h3 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: normal;
    font-size: 1.5rem;
}

@media only screen and (max-width: 767px) {
    .privacy_wrapper .container{
        padding: 4rem 1.5rem 10rem; 
    }

    .privacy_section_txt-area {
        margin-bottom: 2rem;
    }
}

/* --------------------------------------------------------- 
     404　& thanks 共有
------------------------------------------------------------ */


#not_found,
#thanks {
      background-image: url(../img/bg_pc.png);
}


#not_found .container,
#thanks .container
 {
    display: flex;
    padding: 6rem 1.5rem 0;
    flex-direction: column;
    justify-content: center;
    height: 80vh;
    max-width: 80rem;
}

#not_found h1 {
    text-align: center;
}


#not_found h1,
#thanks h1
 {
    font-size: 3rem;
}

.not_found_txt-area{
    text-align: center;
}

.not_found_txt-area,
.thanks_body
 {
    margin-top: 5rem;
    margin-bottom: 5rem;
}

/* --　thanksだけ　--- */
.thanks_body {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.not_found_btn,
.thanks_btn
 {
    width: 24rem;
    margin: 0 auto;
    margin-top: 5rem;
}

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

    #not_found,
    #thanks {
        background-image: url(../img/bg_sp.png);
    }

    #not_found h1,
    #thanks h1 {
        font-size: 2.5rem;
        line-height: 1.7em;
    }

    #not_found .container,
    #thanks .container {
        padding: 1.5rem; 
    }

    .not_found_txt-area,
    .thanks_txt-area
     {
        text-align: left;
    }

    /* --　thanksだけ　--- */
    #thanks .container {
        height: auto;
        padding: 13rem 1.5rem 0rem;
    }


}


/* --------------------------------------------------------- 
     お問合せページ
------------------------------------------------------------ */

.contact .container {
    max-width: 80rem;
    padding-right: 1rem;
    padding-left: 1rem;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.contact_wrapper {
    margin-top: 10rem;
}

.contact_txt {
    margin-bottom: 8rem;
}

.contact-form {
    margin-bottom: 13rem;
}

.contact-form_item {
    padding-bottom: 3rem;
}

.contact-form_item .bold {
    font-weight: 800;
}

.contact-form_input,
.contact-form_txt-area {
    height: 5.3rem;
    border: 1px solid #F2AFB0;
    font-size: 1.6rem;
    color: #F2AFB0;
    padding-left: 1rem;
    width: 100%;
    margin-top: 0.5rem;
}

.contact-form_txt-area {
    padding-top: 1.5rem;
}

.contact-form_label_required {
    font-weight: 800;
    color: #EA5858;
    padding-left: 1rem;
}

.contact-form_item_txt .contact-form_txt-area {
    height: 23.6rem;
}

.contact_privacy .color {
    color: #EA5858;
    border-bottom: 1px solid #F29999;
}

.contact-form .btn {
    width: 24rem;
    justify-content: center;
    margin-top: 4.5rem;
}


.contact-form .btn:hover {
    opacity: 0.5;
    transition : 0.5s;
}

/* Contact Form 7 送信ボタンのデフォルト装飾を消す */
.wpcf7-submit {
    border: none;          
    outline: none;         
    box-shadow: none;      
    background: transparent; 
    appearance: none;      
    -webkit-appearance: none;
    font-family: "YakuHanRP","Zen Maru Gothic", sans-serif;
    color: #fff;
    background-color: #F29999;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    width: 24rem;
    height: 5.3rem;
    border-radius: 28px;
}


.recaptcha {
    font-size: 1.4rem;
    color: #F29999;
    text-align: center;
    line-height: 1.2em;
    margin-bottom: 1em;
}



@media only screen and (max-width: 767px) {
    .contact_wrapper {
        margin-top: 4rem;
    }

    .contact_txt {
        margin-bottom: 6rem;
    }

    .contact-form {
        margin-bottom: 8rem;
    }
}


/* --　ラジオボタン　--- */

.contact-form_radio_wrapper {
    padding-top: 1rem;
}


.wpcf7-radio input[type="radio"] {
  position: absolute;
  opacity: 0;
}

.contact-form_radio_wrapper .wpcf7-list-item {
  display: block;
  margin-right: 4rem;/* 縦並び */
}

.wpcf7-list-item-label {
  position: relative;
  padding-left: 28px;
  cursor: pointer;
  line-height: 1.8;
  display: inline-flex;
  align-items: center;   /* ← 縦中央揃え */
}

.wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 18px;
  height: 18px;
  border: 2px solid #F29999;
  border-radius: 50%;
  background: #fff;
}

.wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: 5px;
  top: calc(0.35em + 5px);
  width: 8px;
  height: 8px;
  background: #F29999;
  border-radius: 50%;
  opacity: 0;
  transition: 0.2s;
}

.wpcf7-radio input[type="radio"]:checked ~ .wpcf7-list-item-label::after {
  opacity: 1;
}



/* 入力した後の文字色 */
.contact-form_input,
.contact-form_txt-area {
    color: #734C29;
    letter-spacing: 0.08em;
}

/* フォーカス時の枠線色変更 */
input:focus,
textarea:focus,
select:focus {
    outline: none; /* デフォルトの青線を消す */
    border: 1px solid #EA5858; /* 好きな色に変更 */
}





/* --------------------------------------------------------- 
     ニュース一覧　
------------------------------------------------------------ */

.archive_news_body .container {
    padding: 11rem 1.5rem 13rem;
}

.arch_wrapper {
    border-top: 1px solid #F9D7D1;
}

.arch_txt_area {
    display: grid;
    grid-template-columns: 160px 1fr;
    padding: 4.6rem 1rem;
    border-bottom: 1px solid #F9D7D1;
}

.arch_txt_area h2 {
    font-size: 1.7rem;
}

.arch_txt_area h2 a:hover {
    color: #F29999;
}

@media only screen and (max-width: 767px) {
    .archive_news_body .container {
        padding: 3rem 0rem 9rem;
    }

    .arch_txt_area {
        display: block;
        padding: 2rem 1rem;
    }

    .arch_txt_area h2 {
        font-size: 1.5rem;
    }
}


/* ----　ページネーション------------------------------ */

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 8rem;
    font-family: "YakuHanRP","Zen Maru Gothic", sans-serif;
}

.nav-links a,
.current {
    padding: 0 10px;
}

.Pagination-Item img {
    width: 27px;
    height: 27px;
}

.page-numbers {
    width: 23px;
    font-size: 1.7rem;
    transition: all 0.15s linear;
}

.Pagination .next img,
.Pagination .prev img
{
    vertical-align: -25%;
}

.current {
    pointer-events: none;
    color: #F29999;
}



@media only screen and (max-width: 600px) {
    .Pagination {
        margin-top: 2rem;
        margin-bottom: 0rem;
    }
}



/* --------------------------------------------------------- 
    ニュース詳細
------------------------------------------------------------ */

#news .container {
    padding-top: 15rem;
    padding-bottom: 8rem;
    height: auto;
    max-width: 70rem;
}

#news h1 {
    line-height: 1.5;
}

.news_wrapper .container {
    max-width: 70rem;
}

video {
    width: 100% !important;
    max-width: 70rem;
    height: auto !important;
}

.news_wrapper time {
    color: #F29999;
    display: block;
    font-size: 1.7rem;
    margin-bottom: 1rem;
    margin-top: 4rem;
    text-align: right;
}

.news_body {
    border-top: 1px solid #F29999;
    border-bottom: 1px solid #F29999;
    padding-top: 5rem;
    padding-bottom: 5rem;
}


.news_btn {
    margin: 8rem auto 13rem;
    width: 240px;
}


@media only screen and (max-width: 767px) {
    #news h1 {
        padding-top: 0;
    }

    #news .container {
        padding-top: 11rem;
        padding-bottom: 4rem;
        padding-left: 0;
        max-width: 95vw;
    }

    .news_wrapper .container {
        max-width: 95vw;
    }

    .wp-video {
        width: 100% !important;
    }
}




