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

共通

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

p {
    font-family: 'kosugi', sans-serif;
    letter-spacing: 0.1em;
    line-height: 2em;
  }

h2 {
    margin: 1em 0;
}


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

    参加方法

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

#participate {
    max-width: 1200px;
    margin: 0 auto;
    padding: 16px 1.25em;
    position: relative;
    scroll-margin-top: 120px;
}

#participate::before {
    position: absolute;
    content: '';
    width: 100%;
    height: calc(100% - 80px);
    left: 0;
    bottom: 0;
    background: #f5f5f5;
    z-index: -10;
}

#participate h2,
#access h2 {
    color: white;
    background: linear-gradient(to bottom, #B7282E, #790207);
    padding: 8px 16px;
    width: fit-content;
    font-size: min(8vw, 48px);
    line-height: 1em;
}

#participate h3 {
    display: flex;
    line-height: 1.1;
    font-size: 26px;
    gap: 8px;
    border: 1px solid #790207;
    padding: 8px;
}

#participate h3:nth-of-type(2) {
    margin-top: 4em;
}

#participate .text {
    width: fit-content;
    margin: 0 auto;
}

#participate .container {
    padding: 0;
}

#participate .container .item {
    background : white;
    box-shadow: 0 0 6px rgb(0 0 0 / .4);
    padding: 16px;
    margin: 32px 0;
    list-style: none;
}

#participate .container .item .number {
    display: block;
    width: fit-content;
    font-size: 2em;
    color: var(--main-color);
    margin: 0 auto;
    font-weight: 900;
}

#participate .container .item h4 {
    font-size: min(8vw, 24px);
    color: #790207;
    font-weight: 900;
    width: fit-content;
    margin:  16px auto;
}

#participate .container .item p b {
    color: #B7282E;
}

#participate .container .item .txt {
    margin: 8px 0;
    font-family: 'kosugi', sans-serif;
    letter-spacing: 0.1em;
    line-height: 2em;
}

#participate .container .item .txt .flag-btn {
    text-align: center;
}

@media (min-width:640px) {
    #participate .container {
        margin: 2em auto;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
    #participate .container .item {
        margin: 0;
    }
}

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

ページ内ナビ

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

.page-nav .tr::after {
    content: '';
    background-image: url(../down-arrow.svg);
    background-repeat: no-repeat;
    background-size: cover;
    transform: rotate(-90deg);
    width: 15px;
    height: 30px;
}


.page-nav a[href=""] {
    filter: brightness(0.5);
    color: rgba(82, 75, 64, 0.3);
}

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

3つのポイント

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

#point {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
    scroll-margin-top: 180px;
}

#point .three-point {
    padding: 0;
    border: solid 2px var(--main-color);
    padding: 8px;
    margin: 48px 0;
    box-shadow: 0 0 20px rgb(121 2 7 / .5);
    max-width: 1280px;
    position: relative;
} 

#point .three-point::before {
    position: absolute;
    content: '';
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    border: solid 1px var(--main-color);
    z-index: -10;
}

#point .three-point ul {
    margin: 0 auto;
    padding: 0;
    max-width: 1100px;
}

#point .three-point ul li {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center;
} 

#point .three-point ul li .number {
    text-align: center;
    font-size: min(15vw, 64px);
    color: var(--main-color);
    margin: 48px 0 0;
    line-height: 1em;
    font-family: "BIZ UDPMincho", serif;
}

#point .three-point ul li h4 {
    min-height: 5em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
}

#point .three-point ul li .title .t-inner {
    color: #760005;
    font-size: min(5vw, 24px);
    text-align: center;
    font-weight: 900;
}

#point .three-point ul li .title b {
    font-size: min(7vw, 32px);
}

#point .three-point ul li img {
    width: 100%;
    max-width: 400px;
    display: block;
}

#point .three-point ul li .txt {
    margin: 16px;
    letter-spacing: 0em;
    flex-grow: 1;
}

@media screen and (min-width: 640px) {
    #point .three-point ul {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 0 3%;
    }

    #point .three-point ul li {
        width: 48%;
        box-sizing: border-box;
    }
}

@media screen and (min-width: 960px) {
  #point .three-point ul li {
      width: 30%;
  }
}

@media screen and (min-width: 1280px) {
  #point .three-point {
      margin: 48px auto;
  }
}
/*--------------------------------------------------

他の企業・工場にもいってみよう

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

#guide {
    max-width: 1200px;
    margin: 0 auto;
    padding: 16px 1.25em;
}

#guide .intro {
    margin: 0 auto;
}
/*--------------------------------------------------

注意事項

---------------------------------------------------*/
#attention {
    max-width: 1200px;
    margin: 0 auto;
    padding: 16px 1.25em;
}
#attention h2 {
    color: white;
    background: linear-gradient(to bottom, #B7282E, #790207);
    padding: 8px 16px;
    width: fit-content;
    font-size: min(8vw, 48px);
    line-height: 1em;
}

#attention p.intro {
    margin: 0 auto;
    padding: 0 16px;
    display: block;
    width: fit-content;
}

#attention ul.atn-list {
    max-width: 640px;
    margin: 5em auto 0;
    box-sizing: border-box;
}

#attention ul.atn-list li {
    margin: 16px 0;
    font-family: 'kosugi', sans-serif;
    letter-spacing: 0.1em;
    line-height: 2em;
    list-style: none;
    position: relative;
    padding-left: 24px;
}

#attention ul.atn-list li::before {
    position: absolute;
    content: '';
    width: 16px;
    height: 16px;
    top: calc(1em * 0.5);
    left: 0;
    background: linear-gradient(to bottom, #B7282E, #790207);
    border-radius: 50%;
}

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

3つの○○に触れる

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

.break {
    display: inline-block;
}

#tatch {
    margin-top: 64px;
}

#tatch h2 {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-align: end;
    margin: 0 auto;
    position: relative;
    z-index: 20;
}

#tatch h2 p {
    display: block;
    font-family: "BIZ UDPMincho", serif;
    margin: 0;
}

#tatch h2 p.small .bg-color {
    background: linear-gradient(to bottom, #B7282E, #790207);
    padding: 8px 0;
    color: white;
    display: block;
    font-size: min(6vw, 32px);
    margin: 0 8px;
    height: fit-content;
}

#tatch h2 p.big {
    font-size: min(20vw, 80px);
    margin: 0;
    background: linear-gradient(to bottom, #B7282E, #790207);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.4em;
}

#tatch ul.feature {
    margin: -160px auto 0;
    padding: 200px 0 16px;
    background: #F5F5F5;
    position: relative;
    z-index: 10;
}

#tatch ul.feature li {
    padding: 0;
    margin: 0;
    list-style: none;
    background: white;
    padding: 64px 1.25em 24px;
    box-shadow: 0 0 20px rgb(0 0 0 / 0.2);
    margin: 32px auto 90px;
}

#tatch ul.feature li .touch {
    display: flex;
    align-items: center;
    margin-top: -96px;
}

#tatch ul.feature li .touch img {
    width: 100px;
}

#tatch ul.feature li .touch p {
    margin: 0 0 0 8px;
    color: #790207;
    font-size: min(6vw, 24px);
    font-family: "BIZ UDPMincho", serif;
    font-weight: 900;
}

#tatch ul.feature li > p.big {
    color: var(--main-color);
    font-size: min(6vw, 24px);
    text-align: center;
    display: block;
    font-family: "BIZ UDPMincho", serif;
    font-weight: 900;;
    margin-bottom: 8px;
}

#tatch ul.feature li > p.normal {
    width: fit-content;
    padding: 0 8px;
    margin: 0 auto 0;
    font-weight: 900;
    font-family: "BIZ UDPMincho", serif;
    width: fit-content;
}

@media screen and (min-width: 800px) {
    #tatch .wrapper {
        display: flex;
        padding: 32px 0;
        margin: 96px auto 0;
        max-width: 1280px;
        position: relative;
    }

    #tatch .wrapper::before {
        position: absolute;
        content: '';
        width: calc(100vw - 1%);
        height: 100%;
        left: calc(50% - 50vw);
        top: 0;
        background: #F5F5F5;
    }

    #tatch .wrapper h2 {
        width: 30%;
        box-sizing: border-box;
        height: fit-content;
        margin-top: -90px;
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    #tatch .wrapper ul.feature {
        width: 60%;
        box-sizing: border-box;
        background: none;
        padding-top: 0;
        margin: 0 auto;
    }

    #tatch ul.feature li {
        position: relative;
        padding-left: 100px;
        padding-top: 16px;
    }

    #tatch ul.feature li .touch {
        position: absolute;
        width: auto;
        height: 100%;
        left: 0;
        top: 50%;
        transform: translateX(-50%);
        display: block;
        text-align: center;
        max-width: 160px;
    }

    #tatch ul.feature li .touch img {
        width: 100%;
    }
}

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

アクセス情報

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

#access {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
    scroll-margin-top: 180px;
}

#access > img {
    width: 100%;
    max-width: 800px;
    margin: 16px auto;
    display: block;
}

.zoom {
    display: flex;
    justify-content: left;
    align-items: center;
}

.zoom p {
    display: block;
    width: fit-content;
}

.zoom img {
    display: block;
    width: 48px;
}

p.txt {
    text-align: center;
    max-width: 640px;
    margin: 16px auto;
    width: fit-content;
}

@media screen and (min-width: 640px) {
    .zoom {
        display: none;
    }
}