@charset "utf-8";

/* ============================================
インターンシップページ（intern）
============================================ */

/* ------ PC ------ */
@media screen and (min-width: 768px), print {

/* main幅(1100px)からの全幅ブレイクアウト */
#mainv, #message, #staff, #intern-bnr, #qa, #schedule, #intern-cta {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* メインビジュアル */
#mainv { position: relative; }
#mainv .mainv-inner { position: relative; }
#mainv .mainv-photo img { display: block; width: 100%; height: auto; }

#mainv .catch-grid { position: absolute; top: 2.81vw; left: 18.85vw; }
#mainv .catch-grid ul { display: flex; margin-bottom: 0.89vw; }
#mainv .catch-grid ul li { width: 7.34vw; height: 7.34vw; margin-right: 0.36vw; font-size: 3.85vw; font-weight: 700; line-height: 7.34vw; text-align: center; }
#mainv .catch-grid ul li.c-orange { background: #E95503; color: #fff; }
#mainv .catch-grid ul li.c-white { background: #fff; color: #E95503; }

#mainv .catch-box { position: absolute; top: 31.41vw; left: 54.64vw; width: 28.7vw; height: 7.81vw; background: #fff; display: flex; align-items: center; justify-content: flex-start; padding-left: 3.18vw; }
#mainv .catch-box p { color: #E95503; font-size: 1.875vw; font-weight: 700; letter-spacing: 0.1em; line-height: 1.35; text-align: left; }

#mainv .seasar { position: absolute; top: 28.13vw; left: 74.27vw; width: 10.36vw; }
#mainv .seasar img { width: 100%; height: auto; }

/* メッセージ */
#message { margin-top: 0; padding: 104px 0 111px; background: #F8F5F2; }
#message .inner-Box { width: 1280px; margin: 0 auto; display: flex; align-items: flex-start; }
#message .photoBox { width: 640px; }
#message .photoBox ul { width: 640px; overflow: hidden; }
#message .photoBox ul li { float: left; width: 297px; margin: 0 6px 7px 0; }
#message .photoBox ul li:nth-child(2n) { margin-right: 0; }
#message .photoBox ul li:nth-child(3) { clear: left; margin-left: 40px; }
#message .photoBox ul li:nth-child(5) { clear: left; }
#message .photoBox ul li img { display: block; width: 100%; height: auto; }
#message .textBox { flex: 1; padding: 50px 0 0 48px; }
#message .textBox h2 { font-size: 54px; font-weight: 900; letter-spacing: 0.1em; line-height: 1.46; color: #2B2827; margin-bottom: 48px; white-space: nowrap; }
#message .textBox p { font-size: 24px; letter-spacing: 0.02em; line-height: 1.46; color: #2B2827; }

/* セクション見出し共通 */
.sec-ttl { color: #2B2827; }
.sec-ttl .en { display: block; font-size: 104px; letter-spacing: 0.05em; line-height: 0.9; font-weight: 400; }
.sec-ttl .jp { display: block; font-size: 30px; font-weight: 700; margin-top: 12px; }
.sec-ttl.center { text-align: center; }

/* スタッフ */
#staff { padding-top: 120px; }
#staff .inner-Box { width: 1200px; margin: 0 auto; }
#staff .staff-list { display: flex; justify-content: space-between; margin-top: 60px; }
#staff .staff-list li { width: 375px; }
#staff .staff-list li a { display: block; text-decoration: none; cursor: pointer; }
#staff .staff-list li a:hover { opacity: 0.8; }
#staff .staff-pic { width: 100%; height: 534px; overflow: hidden; }
#staff .staff-pic img { width: 100%; height: 100%; object-fit: cover; }
#staff .staff-name { margin-top: 24px; padding-left: 16px; }
#staff .staff-name .name { font-size: 32px; font-weight: 700; color: #2B2827; }
#staff .staff-name .bar { font-size: 24px; color: #000; margin: 0 4px 0 8px; }
#staff .staff-name .date { font-size: 26px; font-weight: 700; color: #EA5306; }
#staff .staff-btn { display: flex; align-items: center; margin-top: 8px; height: 65px; border: 3px solid #FFF5EB; border-radius: 33px; padding-left: 56px; color: #EA5306; font-size: 20px; font-weight: 700; }
#staff .staff-btn .plus { display: inline-block; width: 23px; height: 23px; margin-right: 13px; background: #EA5306; border-radius: 50%; color: #fff; font-size: 14px; line-height: 23px; text-align: center; }

/* 申し込みバナー */
#intern-bnr { margin-top: 180px; }
#intern-bnr a { display: block; width: 1280px; margin: 0 auto; background: url(../images/intern/bnr-bg01.jpg) no-repeat center center; background-size: cover; text-align: center; padding: 56px 0 62px; text-decoration: none; }
#intern-bnr a:hover { opacity: 0.8; }
#intern-bnr .en { color: #fff; font-size: 89px; line-height: 1; letter-spacing: normal; }
#intern-bnr .jp { color: #fff; font-size: 29px; font-weight: 700; margin-top: 14px; letter-spacing: normal; }
#intern-bnr .btn-txt { display: flex; align-items: center; justify-content: center; width: 800px; height: 87px; margin: 26px auto 0; background: linear-gradient(to bottom, #FDA837 0%, #EA5306 100%); border: 4px solid #F68B25; border-radius: 44px; color: #fff; font-size: 31px; font-weight: 700; }

/* よくある質問 */
#qa { padding-top: 290px; }
#qa .inner-Box { width: 1200px; margin: 0 auto; }
#qa .qa-list { margin-top: 56px; }
#qa .qa-list dt { background: #EA5306; color: #fff; font-size: 20px; font-weight: 700; padding: 0 20px 0 44px; height: 70px; display: flex; align-items: center; margin-top: 42px; }
#qa .qa-list dt:first-child { margin-top: 0; }
#qa .qa-list dt .q { font-size: 34px; font-weight: 300; margin-right: 14px; }
#qa .qa-list dd { display: flex; align-items: flex-start; padding: 26px 20px 10px 44px; }
#qa .qa-list dd .a { color: #2B2827; font-size: 34px; font-weight: 300; margin-right: 14px; line-height: 1; margin-top: 9px; }
#qa .qa-list dd p { color: #2B2827; font-size: 20px; line-height: 2.05; padding-top: 4px; }

/* 開催日程 */
#schedule { margin-top: 140px; padding: 175px 0 150px; background: #EEECE7; }
#schedule .inner-Box { width: 1200px; margin: 0 auto; }
#schedule .schedule-list { width: 906px; margin: 74px auto 0; }
#schedule .schedule-list li { margin-bottom: 40px; }
#schedule .schedule-list li:last-child { margin-bottom: 0; }
#schedule .schedule-head { display: flex; }
#schedule .schedule-head .icon { width: 166px; height: 60px; line-height: 60px; text-align: center; color: #fff; font-size: 25px; font-weight: 700; }
#schedule .schedule-head .icon-open { background: #FD9F28; }
#schedule .schedule-head .icon-end { background: #9F9F9F; }
#schedule .schedule-head .label { flex: 1; background: #413731; color: #fff; font-size: 21px; font-weight: 700; line-height: 60px; padding-left: 30px; }
#schedule .schedule-date { background: #fff; min-height: 83px; color: #000; font-size: 22px; font-weight: 700; line-height: 1.5; padding: 25px 20px 25px 53px; }

/* CTA帯（フォーム導入） */
#intern-cta { margin-top: 0; padding: 150px 0 120px; background: #EA5306; text-align: center; }
#intern-cta p { color: #fff; font-size: 25px; font-weight: 700; line-height: 1.92; }
#intern-cta .brace { display: block; width: 838px; margin: 22px auto 50px; }

/* エントリーフォーム（/entryのpage-entry.css相当をintern用に再現） */
#form { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
#form .form-Box-inner { position: relative; }
#form .form-area { width: 1200px; margin: -90px auto 80px; padding: 115px 100px 60px; background-color: #fff; position: relative; box-shadow: 10px 10px 18px #ccc; }
#form .form-area .form-ttl { position: absolute; top: -63px; left: 50%; transform: translateX(-50%); -ms-transform: translateX(-50%); border-bottom: 0; }
#form .form-area .form-list { font-size: 14px; line-height: 27px; letter-spacing: 0.7px; margin-bottom: 37px; }
#form .bnr { text-align: center; margin: 0 auto 80px; }

}


/* ------ SP ------ */
@media screen and (max-width: 767px) {

/* main幅からの全幅ブレイクアウト */
#mainv, #message, #staff, #intern-bnr, #qa, #schedule, #intern-cta {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* メインビジュアル */
#mainv { position: relative; }
#mainv .mainv-inner { position: relative; }
#mainv .mainv-photo img { display: block; width: 100%; height: auto; }

#mainv .catch-grid { position: absolute; top: 11.59vw; left: 5.56vw; }
#mainv .catch-grid ul { display: flex; margin-bottom: 2.42vw; }
#mainv .catch-grid ul li { width: 16.91vw; height: 16.91vw; margin-right: 0.72vw; font-size: 8.7vw; font-weight: 700; line-height: 16.91vw; text-align: center; }
#mainv .catch-grid ul li.c-orange { background: #E95503; color: #fff; }
#mainv .catch-grid ul li.c-white { background: #fff; color: #E95503; }

#mainv .catch-box { position: absolute; top: 126.57vw; left: 5.56vw; width: 89.37vw; height: 24.15vw; background: #fff; display: flex; align-items: center; justify-content: flex-start; padding-left: 7.97vw; }
#mainv .catch-box p { color: #E95503; font-size: 5.56vw; font-weight: 700; letter-spacing: 0.1em; line-height: 1.35; text-align: left; }

#mainv .seasar { position: absolute; top: 114.01vw; left: 64.25vw; width: 34.3vw; }
#mainv .seasar img { width: 100%; height: auto; }

/* メッセージ */
#message { padding: 16.43vw 0 15vw; background: #F8F5F2; }
#message .inner-Box { display: flex; flex-direction: column-reverse; }
#message .photoBox { width: 100%; margin-top: 12vw; }
#message .photoBox ul { overflow: hidden; }
#message .photoBox ul li { float: left; width: 46.14vw; margin: 0 0.97vw 0.72vw 0; }
#message .photoBox ul li:nth-child(2n) { margin-right: 0; }
#message .photoBox ul li:nth-child(3) { clear: left; margin-left: 6.28vw; }
#message .photoBox ul li:nth-child(5) { clear: left; }
#message .photoBox ul li img { display: block; width: 100%; height: auto; }
#message .textBox { padding: 0 5.56vw; }
#message .textBox h2 { font-size: 7.25vw; font-weight: 900; letter-spacing: 0.1em; line-height: 1.46; color: #2B2827; margin-bottom: 6vw; }
#message .textBox p { font-size: 3.86vw; letter-spacing: 0.02em; line-height: 1.75; color: #2B2827; }

/* セクション見出し共通 */
.sec-ttl { color: #2B2827; }
.sec-ttl .en { display: block; font-size: 11.11vw; letter-spacing: 0.05em; line-height: 0.9; font-weight: 400; }
.sec-ttl .jp { display: block; font-size: 4.83vw; font-weight: 700; margin-top: 2vw; }
.sec-ttl.center { text-align: center; }

/* スタッフ */
#staff { padding: 15vw 5.31vw 0; }
#staff .staff-list { display: flex; flex-wrap: wrap; margin-top: 6vw; }
#staff .staff-list li { width: 43.48vw; margin: 0 2.42vw 8vw 0; }
#staff .staff-list li:nth-child(2n) { margin-right: 0; }
#staff .staff-list li a { display: block; text-decoration: none; }
#staff .staff-pic { width: 100%; height: 56.76vw; overflow: hidden; }
#staff .staff-pic img { width: 100%; height: 100%; object-fit: cover; }
#staff .staff-name { margin-top: 3.5vw; text-align: center; }
#staff .staff-name .name { display: block; font-size: 4.83vw; font-weight: 700; color: #2B2827; }
#staff .staff-name .bar { display: none; }
#staff .staff-name .date { display: block; font-size: 3.86vw; font-weight: 700; color: #EA5306; margin-top: 1vw; }
#staff .staff-btn { display: flex; align-items: center; justify-content: center; margin-top: 2.5vw; height: 9.66vw; border: 2px solid #FFF5EB; border-radius: 5vw; color: #EA5306; font-size: 3.14vw; font-weight: 700; white-space: nowrap; }
#staff .staff-btn .plus { display: inline-block; width: 2.9vw; height: 2.9vw; margin-right: 1.2vw; background: #EA5306; border-radius: 50%; color: #fff; font-size: 1.93vw; line-height: 2.9vw; text-align: center; }

/* 申し込みバナー */
#intern-bnr { width: 89.37vw; margin: 5vw auto 0; }
#intern-bnr a { display: block; background: url(../images/intern/bnr-bg01.jpg) no-repeat center center; background-size: cover; text-align: center; padding: 9vw 0 10vw; text-decoration: none; }
#intern-bnr .en { color: #fff; font-size: 9.9vw; line-height: 1; letter-spacing: normal; }
#intern-bnr .jp { color: #fff; font-size: 3.38vw; font-weight: 700; margin-top: 3vw; letter-spacing: normal; white-space: nowrap; }
#intern-bnr .btn-txt { display: flex; align-items: center; justify-content: center; width: 80.68vw; height: 10.87vw; margin: 3.5vw auto 0; background: linear-gradient(to bottom, #FCA336 0%, #EB580A 100%); border: 2px solid #F68B25; border-radius: 7vw; color: #fff; font-size: 4.35vw; font-weight: 700; }

/* よくある質問 */
#qa { padding: 20vw 5.56vw 0; }
#qa .qa-list { margin-top: 6vw; }
#qa .qa-list dt { background: #EA5306; color: #fff; font-size: 3.86vw; font-weight: 700; padding: 1.5vw 3vw 1.5vw 4vw; min-height: 11.84vw; display: flex; align-items: center; margin-top: 8vw; }
#qa .qa-list dt:first-child { margin-top: 0; }
#qa .qa-list dt .q { font-size: 6.28vw; font-weight: 300; margin-right: 2.5vw; padding-top: 1vw; }
#qa .qa-list dd { display: flex; align-items: flex-start; padding: 4vw 1vw 1vw 4vw; }
#qa .qa-list dd .a { color: #2B2827; font-size: 6.28vw; font-weight: 300; margin-right: 2.5vw; line-height: 1; margin-top: 1.6vw; }
#qa .qa-list dd p { color: #2B2827; font-size: 3.86vw; line-height: 1.9; padding-top: 1vw; }

/* 開催日程 */
#schedule { margin-top: 18vw; padding: 16.43vw 0 17vw; background: #EEECE7; }
#schedule .schedule-list { width: 89.37vw; margin: 8vw auto 0; }
#schedule .schedule-list li { margin-bottom: 4.83vw; }
#schedule .schedule-list li:last-child { margin-bottom: 0; }
#schedule .schedule-head { display: flex; }
#schedule .schedule-head .icon { width: 19.08vw; height: 10.87vw; line-height: 10.87vw; text-align: center; color: #fff; font-size: 3.86vw; font-weight: 700; }
#schedule .schedule-head .icon-open { background: #FD9F28; }
#schedule .schedule-head .icon-end { background: #9F9F9F; }
#schedule .schedule-head .label { flex: 1; background: #413731; color: #fff; font-size: 3.86vw; font-weight: 700; line-height: 10.87vw; padding-left: 3.62vw; }
#schedule .schedule-date { background: #fff; min-height: 13.53vw; color: #000; font-size: 3.86vw; font-weight: 700; line-height: 1.5; padding: 3.14vw 3.14vw 3.14vw 3.14vw; }

/* CTA帯（フォーム導入） */
#intern-cta { padding: 16vw 0 16vw; background: #EA5306; text-align: center; }
#intern-cta p { color: #fff; font-size: 4.83vw; font-weight: 700; line-height: 2; }
#intern-cta .brace { display: block; width: 88.65vw; margin: 3vw auto 0; }

/* エントリーフォーム（/entryのpage-entry.css相当をintern用に再現） */
#form { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
#form .form-Box-inner { position: relative; }
#form .form-area { margin: -12vw 1vw 16vw; padding: 13vw 5vw 8vw; background-color: #fff; position: relative; box-shadow: 10px 10px 18px #ccc; }
#form .form-area .form-ttl { position: absolute; top: -7vw; left: 50%; transform: translateX(-50%); -ms-transform: translateX(-50%); width: 73vw; text-align: center; border-bottom: 0; }
#form .form-area .form-ttl img { width: 100%; height: auto; }
#form .form-area .form-list { font-size: 3.4vw; line-height: 1.9; letter-spacing: 0.05em; margin-bottom: 8vw; }
#form .bnr { text-align: center; margin: 0 auto 16vw; }

}
