@charset "UTF-8";

/* PCでは非表示 */
.pc_no {
    display: none;
}


.content {
    width: min(90%, 1400px);
    margin-left: auto;
    margin-right: auto;
}




/* -------------------------- */
/* --------main-------- */
/* -------------------------- */
.main {
    background-color: var(--color-red);
    overflow: hidden;
    background-image: url(../img/main-visial_pattern.webp);
    background-repeat: repeat-x;
    background-position: bottom;
    padding: 0 7%;
}

.main .main-visial_copy {
    margin: 30px 0 80px 0;
    background-image: url(../img/main-visial_copy_pc.svg);
    height: 0;
    /* 表示画像の高さ ÷ 表示画像の幅 × 100 */
    padding-top: 13.49%;
    background-position: 0 0;
    background-size: contain;
}

.main h1.title {
    position: relative;
}

.main h1.title .img02 {
    width: 39%;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
    margin: 0 auto;
    bottom: 0;
}

.main .main_organizer{
background-color: var(--color-beige-right);
border-radius: 15px;
padding: 30px;
display:inline-block;
margin: 0 auto 50px auto;
}








/* -------------------------- */
/* --------about-------- */
/* -------------------------- */
.about {
    background-color: var(--color-beige-right);
    padding: 30px 13%;
    background-image: url(../img/concept_back.webp);
    background-position: left center;
    background-size: 15%;
}

.about .about_copy {
    background-image: url(../img/concept_txt_pc.svg);
    height: 0;
    /* 表示画像の高さ ÷ 表示画像の幅 × 100 */
    padding-top: 18.21%;
    background-position: 0 0;
    background-size: contain;
}


/* -------------------------- */
/* --------info-------- */
/* -------------------------- */
.info {
    margin-top: 2.5rem;
}

.info .info_content {
    display: grid;
    gap: 15px 3%;
    grid-template-columns: 23% 1fr;
}

.info .info_content dt.itme_t_01,
.info .info_content dt.itme_t_02 {
    font-size: min(2.5vw, 2.7rem);
    padding: 2% 9%;
    border-radius: 5px;
    text-align: center;
    place-content: center;
    text-align: justify;
    text-align-last: justify;
    font-weight: 600;
}

.info .info_content dt.itme_t_01 {
    background-color: var(--color-green);
    color: var(--color-white);
}

.info .info_content dt.itme_t_02 {
    color: var(--color-green);
    border: 3px solid;
}

.info .info_content dd.itme_tx_01 {
    font-size: var(--s28);
}

.info .info_content dd.itme_tx_01 span {
    font-size: var(--s38);
}

.info .info_content dd.itme_tx_02 {
    font-size: var(--s24);
}
.info .info_content dd.itme_tx_01,
.info .info_content dd.itme_tx_02{
    font-weight: 500;
}
.info .info_content dd.itme_tx_02 small{
    display: block;
    font-weight: 400;
}

/* -------------------------- */
/* -----------gift----------- */
/* -------------------------- */


.gift {
    margin-top: 2.5rem;
    margin-bottom: 5rem;
}
/* 金色の点線枠 */
        .gift__frame {
            position: relative;
            padding: 9px; /* 金と白の線の太さに合わせた余白 */
            border-radius: 1.5rem;
            background-color: #ffffff;

            /* SVGを背景にして角のズレや途切れを完全になくし、隙間なく綺麗に配置 */
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='100%25' height='100%25' fill='none' stroke='%23bf9c46' stroke-width='24' stroke-dasharray='25 60' stroke-linecap='square' rx='30' ry='30'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
        }
.gift__inner {
    background:var(--color-green);
    border-radius: 1rem;
    padding: 60px 40px;
}

.gift .gift_copy {
    background-image: url(../img/gift_copy_pc.svg);
    height: 0;
    /* 表示画像の高さ ÷ 表示画像の幅 × 100 */
    padding-top: 18.21%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    margin-bottom: 2rem;
}

/* -------幅------- */
.gift__card, .gift__text,
.gift__button {max-width: 55vw;}

.gift__card {
    display: block;
    margin: 0 auto;
}


.gift__text {
    margin: 1rem auto 2rem auto;
    color:var(--color-white);
    text-align: left;
}

/* ボタン */
.gift__button {
    text-align: center;
    width: 100%;
    margin: 0 auto;
    padding: 1rem 0.5rem;
    background: var(--color-white);
    border: 3px solid var(--color-beige);
    border-radius: 10px;
    transition: .3s;
}
.gift__button:hover {
    background-color: var(--color-beige);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
}

.gift__button a{
    color: var(--color-green);
    font-size: var(--s36);
    font-weight: 900;
}
.gift__button span {
    color: var(--color-red);
    font-weight: 900;
}







/* -------------------------- */
/* --------work-------- */
/* -------------------------- */
.work {
    background-image: url(../img/content_back_right.webp), url(../img/content_back_left.webp);
    background-position: right top 20%, left top 60%;
    background-size: 7%;
}

.work h3.title {
    background-color: var(--color-red);
    border: 4px solid var(--color-beige);
    border-radius: 10px;
    position: relative;
    text-align: center;
    padding: 10px 10px;
}

.work h3.title .img01 {
    position: absolute;
    width: 10%;
    left: -3%;
    top: -50%;
}

.work h3.title .img02 {
    width: 25%;
}


.work_list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    margin-top: 5%;
}

.work_list .item {
    padding: 0 10% 10% 10%;
    border-right: 3px solid var(--color-red);
}

.work_list .item .img {
    text-align: center;
    position: relative;
}

.work_list .item .img::after {
    content: "";
    background-image: url(../img/icon_enlarged.svg);
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    right: 0;
    bottom: 0;
}

.work_list .item .img img {
    outline: 2px solid var(--color-beige);
}

.work_list .item .rank {
    text-align: center;
    margin: 10px;
}

.work_list .item .rank img {
    width: 23%;
}
.work_list .txt{text-indent: 1rem;}
.desc_txt {list-style: none;}

.desc_txt li {
  position: relative;
  padding-left: 1em;
  font-size: var(--s16);
  line-height: var(--s28);
  font-weight: 300;
  margin-top: 0.5rem;

}

.desc_txt li::before {
  content: "・"; /* 表示したいマーク */
  position: absolute;
  left: 0;
  top: 0;
}

/*◎1216px以上*/
@media screen and (min-width: 1240px) {
    .work_list .item:nth-of-type(3n) {
        border-right: none;
    }
}

/*◎1200px以下*/
@media screen and (max-width: 1240px) {
    .work_list .item:nth-of-type(2n) {
        border-right: none;
    }

    .work_list {
        grid-template-columns: repeat(auto-fit, minmax(370px, 1fr));
    }
}

/*◎1200px以下*/
@media screen and (max-width: 850px) {
    .work_list .item:nth-of-type(2n) {
        border-right: none;
    }

    .work_list {
        grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    }
}



/* -------------------------- */
/* --------participant-------- */
/* -------------------------- */
.participant {}

.participant h3.title {
    color: var(--color-beige);
    border: 2.5px solid var(--color-beige);
    text-align: center;
    padding: 7px 10px;
    border-radius: 15px;
    letter-spacing: 1rem;
    margin: 30px 0 20px 0;
    font-size: var(--s26);
}

.participant .txt {
    font-size: var(--s22);
    line-height: var(--s34);
}

.participant .txt span {
    display: inline-block;
}



/* -------------------------- */
/* --------apply-------- */
/* -------------------------- */
.apply {
    margin: 30px 0 0 0;
}

.apply .content {
    position: relative;
    padding-bottom: 5%;
}

.apply h4.title {
    text-align: center;
    font-size: min(3.5vw, 57px);
}

.apply h4.title span {
    font-weight: 600;
    color: var(--color-red);
}

.apply_bt {
    display: block;
    background-color: var(--color-green);
    outline: 10px solid var(--color-beige);
    border-radius: 60px;
    text-align: center;
    padding: 1.5rem 0;
    margin: 30px 0 0 0;
    box-shadow: 0 1.5rem 0 rgba(0, 0, 0, 0.5);
}
.apply_bt:hover{
    background-color: var(--color-red);
}

.apply_bt .img02 {
    width: 35%;
}

.apply_bt .img03 {
    width: 18%;
    right: -6%;
    position: absolute;
    bottom: 15%;
}


/* -------------------------- */
/* --------footer-------- */
/* -------------------------- */
footer {
    background-color: var(--color-red);
    color: var(--color-white);
    text-align: center;
    padding: 25px 15px;
}

footer .footer_contact{
background-color: #dac89a;
border-radius: 10px;
display: inline-block;
padding: 20px 50px;
margin: 30px 20px;
}
footer .footer_contact .title{
color: var(--color-beige-dark);
}
footer .footer_contact .footer_contact_bt{
margin-top: 10px;
gap: 10px;
display: grid;
grid-template-columns: 300px 300px;
}

footer .footer_contact .footer_contact_tel a,
footer .footer_contact .footer_contact_mail a{
display: inline-block;
background-color: var(--color-beige-dark);
padding: 10px 20px;
color: var(--color-white);
width: 100%;
height: 100%;
border-radius: 10px;

display: flex;
height: 100%;
justify-content: center;
flex-direction:column;
}

footer .footer_contact .footer_contact_mail a span::after{
content: "";
display:inline-block;
background-image: url(../img/icon_link.svg);
width: 13px;
height: 13px;
margin-left: 5px;
}
footer .copyright{display: block;}
