/*共通*/
* {
    margin: 0;
    padding: 0;
}

html {
    font-family: 'Noto Sans JP', sans-serif;
}

.absolute {
    position: absolute;
}

.relative {
    position: relative;
}

.center {
    text-align: center;
}

h2 {
    font-style: normal;
    font-weight: 700;
    color: #f36646;
}

.wrapper {
    overflow: hidden;
}

section h2 {
    color: #f36646;
    font-size: 40px;
    height: auto;
    line-height: 1.4;
    text-align: center;
}

section .bar-line {
    /* background: #f36646; */
    height: 1px;
    margin: 0 auto;
    margin-top: 36px;
    margin-bottom: 36px;
    width: 36px;
}

/******/

/*メインビジュアル　---start*/
.mainvisual {
    height: 860px;
}

.greenTriangle {
    width: 40%;
    right: 0;
    z-index: 1
}

.left-topFire {
    width: 372px;
    height: 634px;
    left: 0;
    top: 0;
    z-index: 1;
}

.right-bottomFire {
    width: 24%;
    height: 583px;
    right: 0;
    top: 453px;
    z-index: 1;
}

.mvTit {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 9999;
}

.mvTit img {
    width: 980px;
    margin-top: 27.5%;
}

.mvCopy {
    margin-top: 30px;
}

.mvTit h2 {
    letter-spacing: 0.05em;
    line-height: 1.6;
    font-size: 64px;
    margin: 0px 16px 0px;
}

.mvCopy h2 {
    color: #f36646;
    font-family: 'Noto Sans JP';
    font-feature-settings: 'palt'1;
    font-size: 64px;
    margin: 0px 0px 0px;
}

.mvCopy h2 span {
    color: #333;
}

/*メインビジュアル　---end*/

/*オレンジ背景セクション　---start*/
.greeting {
    background: #f36646
}

.greeting-container {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 120px 0;
}

.greeting-inner-left {
    color: #fff;
    width: 35%;
}

.greeting-inner-left .greeting-tit {
    font-size: 40px;
    font-weight: 700;
    height: auto;
    line-height: 1.4;
    margin: 12px 0px 0px 0px;
    width: auto;
    max-width: 100%;
}

.greeting-inner-left .bar-line {
    background: #ffe700;
    flex: none;
    height: 1px;
    margin: 36px 0px 36px 0px;
    width: 36px;
    max-width: 100%;
}

.greeting-inner-left p {
    font-size: 20px;
    font-weight: 500;
    line-height: 2.4;
    text-align: left;
}

.greeting-inner-right {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35%;
}

.greeting-inner-right img {
    margin: 0px 0px 10px 0px;
    width: 370px;
}

.greeting-inner-right p {
    color: #fff;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.4;
}

.greeting-inner-right p span {
    font-size: 14px;
    margin: 0px 8px 0px 0px;
}

/*オレンジ背景セクション　---end*/

/*応募セクション　---start*/
.application {
    background: #f7f7f7;
    padding: 100px 0;
}

.application-container {
    width: 88%;
    margin: 0 auto;
}

.application-inner {
    padding: 40px 80px 52px 80px;
    align-content: center;
    align-items: center;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0px 0px 12px rgb(0 0 0 / 20%);
    transition-delay: 100ms;
    width: 80%;
    max-width: 80%;
    margin: 0 auto;
}

.application-inner-flex {
    display: flex;
    margin-top: 52px;
}



.application-inner-flex-left .application-inner-flex-left-tit {
    color: #333;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
    width: 140px;
}

.right-container-flex {
    display: flex;
}

.right-container-flex .right-container-flex-list, .right-container-flex p {
    color: #333;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 20px;
}

.right-container-flex .right-container-flex-list {
    margin-right: 25px;
}

.annotation p {
    margin-bottom: 0;
}

.annotation {
    /* margin-bottom: 20px; */
}
.app_containar{
  margin-bottom:20px;
}

.btn-under-txt {
    margin-top: 16px;
}

.align {
    margin-top: -13px;
}

.orange-btn, .white-btn {
    align-content: center;
    align-items: center;
    border-radius: 40px;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    height: auto;
    justify-content: center;
    /* margin: 16px 0px 0px 0px; */
    display:block;
    width: 320px;
    padding:20px;
    font-weight: 400;
    text-decoration: none;
    margin-bottom:10px;
    font-size: 16px;
}

.orange-btn {
    background: #f36646;
    border: 1px solid #ffffff;
    color:#fff;
    /* width: 320px; */
}

.white-btn {
    background: #ffffff;
    border: 1px solid #f36646;
    color:#f36646;
    /* width: 338px; */
}

/* .orange-btn p, .white-btn p {
    font-size: 16px;
    font-weight: 400;
    height: auto;
    line-height: 1.4;
    margin: 8px 24px 8px;
    text-align: center;
}

.orange-btn p {
    color: #ffffff;
}

.white-btn p {
    color: #f36646;
} */

.right-container-flex a {
    text-decoration: none;
}

.right-container-flex span {
    color: #f36646;
    font-size: 28px;
    font-weight: 700;
}

.block {
    display: block;
}

.annotation .annotation-txt {
    font-size: 12px;
    color: #333;
}
.annotation-txt {
  font-size: 12px;
  color: #333;
}


.right-container-flex .asterisk {
    font-size: smaller;
    vertical-align: top;
    color: #333;
}

/*応募セクション　---end*/

/*フォームセクション　---start*/
.form-content {
    background: #fff;
    padding: 100px 60px 100px;
    text-align: center;
}

.form-content p {
    color: #333333;
    font-size: 20px;
    font-weight: 700;
    line-height: 2.4;
    text-align: center;

}

.form-content .form-btn {
    background: #333333;
    border-radius: 40px;
    width: 280px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    margin-top: 36px;
}

.form-content .form-btn p {
    color: #fff;
    font-weight: 300;
}

/*フォームセクション　---end*/

/*活動報告セクション　---start*/
.case-content {
    padding: 0 64px;
    padding-top: 104px;
    padding-bottom: 100px;
    background: #f7f7f7;
    margin: 0 auto;
}

.case-content-inner {
    width: 95%;
    margin: 0 auto;
}

.case-content-inner .case-content-inner-tit {
    color: #333;
    font-family: Lato;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.4;
    margin: 0px 0px 20px 0px;
}

.proposal p {
    margin-bottom: 10px;
    font-weight: 500;
}

.proposal p span {
    color: #f36646;
    font-family: Lato;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    margin: 0px 10px 0px 0px;
}

.proposal+p {
    color: #333;
    flex: none;
    font-family: Lato;
    font-size: 16px;
    font-weight: 500;
    height: auto;
    line-height: 1.4;
    margin: 0px 0px 0px 0px;
    text-align: left;
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
}

.case-content-whiteBox-long {
    background: #fff;
    padding: 30px 40px;
    border-radius: 12px;
    margin-top: 25px;
    margin-bottom: 60px;
    box-shadow: 0px 0px 12px rgb(0 0 0 / 20%);
}

.case-content-whiteBox-long p:first-child {
    color: #f36646;
    font-size: 18px;
    font-weight: 500;
    height: auto;
    line-height: 1.4;
    margin-bottom: 10px;
}

.between-txt {
    color: #333333;
    font-size: 20px;
    font-weight: 500;
    line-height: 2.4;
    width: 95%;
    margin: 0 auto;
    margin-bottom: 40px;
}

.case-content-whiteBox-short {
    background: #fff;
    padding: 30px;
    border-radius: 16px;
    margin-top: 25px;
    margin-bottom: 60px;
    box-shadow: 0px 0px 12px rgb(0 0 0 / 20%);
}

.generalcomment {
    width: 1120px;
    margin: 0 auto;
    margin-top: 40px;
    margin-bottom: 65px;
}

.generalcomment p {
    color: #333333;
    flex: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.7;
    text-align: center;
    padding: 0 30px 30px 30px;
}

.generalcomment .generalcommentTit {
    background: rgba(243, 102, 70, 0);
    color: #f36646;
    flex: none;
    font-size: 20px;
    font-weight: 700;
    height: auto;
    letter-spacing: normal;
    line-height: 1.4;
    margin: 0px 0px 15px 0px;
    padding: 5px 20px 5px 20px;
}

.sign {
    text-align: right;
    margin-right: 30px;
}

/*活動報告セクション　---end*/

/*役員構成セクション　---start*/

.about {
    width: 80%;
    margin: 0 auto;
    margin-top: 100px;
    margin-bottom: 100px;
}

.about-flex-inner {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    margin-top: 25px;
    margin-bottom: 25px;
}

.case-content-whiteBox-short h2 {
    color: #f36646;
    font-size: 28px;
    font-weight: 700;
    height: auto;
    line-height: 1.4;
    text-align: center;
    margin-top: 11px;
    margin-bottom: 28px;
}

.about-table {
    display: flex;
    justify-content: center;
    align-items: center;
}

.about-table th, .about-table .about-name, .about-table .about-post {
    color: #111111;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
}

.about-table table tbody tr {
    margin-top: 20px;
}

.about-name, .about-post {
    padding-bottom: 20px;
}

.summary .about-table thead {
    width: 204px;
}

.summary .about-table .about-name {
    width: 596px;
}

.summary .about-table .about-post {
    width: 0px;
}

/*役員構成セクション　---end*/

/*footer　---start*/

footer {
    height: auto;
    padding-top: 12px;
    padding-bottom: 12px;
    background: #333333;
}

.footer-inner img {
    margin-top: 18px;
}

.footer-inner img:first-child {
    margin-top: 30px;
}

.footer-inner p {
    color: #ffffff;
    font-feature-settings: 'palt'1;
    font-size: 10px;
    font-style: normal;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 1.4;
    padding-top: 16px;
}

/*footer　---end*/

/*Safari ---start*/

_::-webkit-full-page-media, _:future, :root .mvTit h2, .case-content .case-content-inner-tit, .case-content .proposal p, .case-content .proposal span, .case-content .proposal+p, .case-content-whiteBox-long p {
    font-family: 'Noto Sans JP', sans-serif;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
    ::i-block-chrome, .mvTit h2, .case-content .case-content-inner-tit, .case-content .proposal p, .case-content .proposal span, .case-content .proposal+p, .case-content-whiteBox-long p {
        font-family: 'Noto Sans JP', sans-serif;
    }
}

/*Safari ---end*/

/*Tab ---start*/

@media screen and (max-width: 1480px) {
    .generalcomment {
        width: 80%;
    }
}

@media screen and (min-width: 1020px) {
    .pc {
        display: block;
    }

    .sp {
        display: none;
    }
}

@media screen and (max-width: 1019px) {
    .sp {
        display: block;
    }

    .mainvisual {
        height: 114.667vw;
    }

    .mvTit img {
        width: 77vw;
    }

    .mvTit h2 {
        font-size: 6.4vw;
    }

    .mvCopy h2 {
        font-size: 5.333vw;
    }

    .mainvisual {
        height: 64.667vw;
    }

    .left-topFire {
        width: 36%;
        height: 61.533vw;
    }

    .right-bottomFire {
        width: 24%;
        height: 90.467vw;
        top: 151px;
    }

    .orange-triangle {
        background: linear-gradient(to bottom left, transparent 50%, #f36646 50%) no-repeat top left / 100% 50%;
        height: 300px;
        margin-bottom: -151px;
    }

    .greeting-container {
        padding: 0 0 120px 0;
    }

    .greeting-inner-right img {
        width: 100%;
    }

    .application-container {
        width: 90%;
    }

    .application-inner {
        padding: 40px 30px 0px;
        padding-bottom: 52px;

    }

    .about-flex-inner {
        width: 90%;
    }

    .about-flex-inner p {
        font-size: 1.667vw;
    }
}

/*Tab ---end*/

/*SP ---start*/

@media screen and (min-width: 768px) {
    .pc {
        display: block;
    }

    .sp {
        display: none;
    }

    .about-table table {
        display: flex;
        width: 100%;
    }

    .about-table table {
        width: 100%;
    }

    .about-table thead {
        width: 200px;
    }

    .about-table .about-name {
        width: 200px;
    }

    .about-table .about-post {
        width: 400px;
    }

}

@media screen and (max-width: 767px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    section h2 {
        font-size: 28px;
        ;
    }

    .greeting-container {
        display: block;
        padding: 0 0 60px 0;
    }

    .orange-triangle {
        height: 277px;
    }

    .greeting-inner-left {
        width: 100%;
        text-align: center;
    }

    .greeting-inner-left .greeting-tit {
        font-size: 5.333vw;
    }

    .greeting-inner-left p {
        font-size: 2.667vw;
        text-align: center;
    }

    .greeting-inner-right {
        width: 100%;
        margin: 0 auto;
    }

    .greeting-inner-right img {
        object-fit: cover;
        width: 77.6vw;
        height: 81vw;
        margin-top: 30px;
        margin-bottom: 20px;
    }

    .greeting-inner-left .bar-line {
        width: 36px;
        margin: 0 auto;
        margin-top: 36px;
        margin-bottom: 36px;
    }

    .right-container-flex p, .orange-btn, .white-btn, .right-container-flex span {
        font-size: 12px;
    }

    .application {
        padding: 60px 0;
    }

    .application-container {
        width: 95%;
    }

    .application-inner-flex, .right-container-flex {
        display: block;
    }

    .application-inner {
        padding: 40px 20px 40px;
    }

    .application-inner-flex {
        margin-top: 0;
    }

    .application-inner-flex-left .application-inner-flex-left-tit {
        margin-top: 52px;
        margin-bottom: 16px;
    }

    .application-inner-flex-left .firstterm {
        margin-top: 0px;
    }

    .form-content {
        width: 80%;
        margin: 0 auto;
        padding: 60px 0;
    }

    .form-content p {
        font-size: 3.2vw;
    }

    .form-content .form-btn {
        width: 150px;
        height: 50px;
    }

    .form-content .form-btn p {
        font-size: 16px;
    }

    .case-content {
        padding: 52px 0;
    }

    .case-content-inner, .between-txt {
        width: 85%;
    }

    .case-content-whiteBox-short {
        padding: 4vw;
    }

    .generalcomment p {
        padding: 0;
    }

    .sign {
        margin-top: 2.667vw;
    }

    .about {
        width: 85%;
    }

    .about h2 {
        font-size: 24px;
    }

    .txt-logo {
        width: 200px;
    }

    .about-table {
        width: 100%;
    }

    .about-table table:first-child {
        display: block;
    }

    .second-table, .third-table {
        display: block;
    }

    .about-table th, .about-table .about-name, .about-table .about-post {
        font-size: 2.733vw;
    }

    .about-table-container table:first-child th, .second-table th, .third-table th, .fourth-table th {
        padding-bottom: 20px;
    }

    .sp-table-left {
        width: 100px;
    }
}

/*SP ---end*/
.form-content .left{
  text-align: left;
}

/* 2023_1121追加分 */
.float-button__wrap {
 /* display: none;*//*最初は隠す*/
  width: 180px;
  height: 45px;
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 10000;
}
.float-button__wrap a {
    display: block;
    /* justify-content: center;
    align-items: center; */
    width: 100%;
    height: 100%;
    text-decoration: none;
    /* background-color: #0069b3 ; */
    color: #fff;
}

.float-button__wrap img {
  max-width: 300px;
  width:100%;
}
@media screen and (max-width: 750px) {
  .float-button__wrap{
    max-width: 200px;

    
  }
}
@media screen and (max-width: 750px) {
  .companyArchive{
    display: block;
    width: 100%;
  }
  .companyArchive a{
    display: block;
    max-width: 280px;
    width: 100%;
    box-sizing: border-box;
  }
  .table-row-height .spNone{
    display: none;
  }
  
}


.companyArchive{
  display: flex; 
  flex-wrap: wrap;
  justify-content: space-around;
}
.companyArchive a{
  margin:10px auto;
  max-width: 300px;
    width: 100%;
}
a{
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .companyArchive{
    display: block;
    width: 100%;
  }
  .companyArchive a{
    display: block;
    max-width: 280px;
    width: 100%;
    box-sizing: border-box;
  }
  .table-row-height .spNone{
    display: none;
  }
  
}

.table-row-height {
  height: 38px;  /* ここで高さを変更する */
}

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