@charset "UTF-8";

/* GOOGLE FONT */
@import url("https://fonts.googleapis.com/icon?family=Material+Icons");

/** ======================================================
 * 
【PC：基準になるスタイル】
 * 
 */
/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【構造】
*/
.wrapper {
    width: 100%;
    min-height: 100%;
    position: relative;
    /* border-top: 5px solid #ff4400; */

    /* footer の高さ分 */
    padding-bottom: 550px;
}

header, main {
    display: block;
    margin: auto;
}

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【ヘッダー】
*/
.header-container {
    position: absolute;
    z-index: 1000;
    background: #ffffff;
    border-top: 5px solid #ff4400;
    top: 0;
    left: 0;
    /*  */
    width: 100%;
    /*  */
    /* position: fixed; */
}

/* フローティングメニュー */
.header-container.onFloating {
    position: fixed;
    box-shadow: 0 0 15px #aaaaaa;
    top: 0;
}

/*  */
.offset-img {
    display: none;
}
.offset-img.onFloating {
    display: block;
}

header {
    width: 1100px;
    display: flex;
    justify-content: space-between;
    /* height: 90px; */
    background: #ffffff;
    padding: 0 70px;
}

header > * {
    background: #ffffff;
}
/** logo area */
header > *:first-child {
    padding-top: 21px;
}
header > *:first-child > * {
    display: block;
}
header > *:first-child > *[data-title] {
    margin: 13px 0 0 5px;
}
/** menu area */
header > *:nth-child(2) {
    padding: 10px 0 0;
}
/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【シーズンメニュー】
*/
.season-menu {
    width: 100%;
    display: flex;
    justify-content: flex-end;
	flex-wrap: wrap;
}

.season-menu > li {
    height: 32px;
    line-height: 32px;
    margin-left: 5px;
}

.season-menu > li a {
    display: block;
    text-decoration: none;
    color: #ffffff;
    font-size: 0.8em;
    padding: 0 15px 0 15px;
    background: #ff4400;
    position: relative;
}

/* 通常のリンク */
.season-menu > li a::after {
    content: url(../img/icn_arrow_forward.svg);
    display: inline-block;
    position: relative;
    top: calc(1em / 3);
    margin-left: 10px;
}

/* 別ウィンドウ */
.season-menu > li a[target]::before {
    content: url(../img/icn_window_mw.svg);
    position: relative;
    display: inline-block;
    width: 20px;
    height: 10px;
    vertical-align: -3px;
}

/* .season-menu > li a[data-misc="ON"]::after */

/* マイページ2027 */
.season-menu > li.hnav01 > a::after {
    content: "※マイページは、株式会社ワークス・\a\0020\0020\0020ジャパンのサイトに遷移します。";
    white-space: pre;
    font-size: 0.8em;
    line-height: 1.3;
    position: absolute;
    display: inline-block;
    width: 180px;
    top: 2px;
    left: -200px;
    z-index: 10;
    color: #333333;
    pointer-events: none;
    /* color: #ffffff; */
}




.season-menu > li.hnav04 > a::after {
	content: "";
	margin-left:0;
}


/* 個別に消す */
.season-menu > li.hnav01 {
	/* display: none; */
}

/* .season-menu > li a[data-after="NO"]::after {
		content: none;
	} */




/* .season-menu > li a[target]::after {
    content: "\0020";
} */
.season-menu > li a:hover {
    background: #ff2200;
}

/* 3つ目のデザインを変える */
.season-menu > li.hnav03 {
    /* height: 26px; */
    line-height: 27px;
    margin-left: 5px;
}
.season-menu > li.hnav03 a {
    display: block;
    text-decoration: none;
    color: #ff4400;
    font-size: 0.8em;
    font-weight: bold;
    padding: 0 30px 0 15px;
    background: #ffffff;
    position: relative;
    border: 3px solid #ff4400;
}
.season-menu > li.hnav03 a::after {
    /* font-family: 'Material Icons';
    content: "\e5e1"; */
    content: url(../img/icn_arrow_forward_org.svg);
    display: inline-block;
    position: absolute;
    top: calc(1em / 3);
    right: 5px;
    /* margin-left: 10px; */
}
.season-menu > li.hnav03 a:hover {
    background: #ff4400;
    color: #ffffff;
}
.season-menu > li.hnav03 a:hover::after {
    content: url(../img/icn_arrow_forward.svg);
}

/** インターン2024 */
.season-menu > li.hnav04 > a {
	background: #ff997a;          
}

.season-menu > li.hnav04 > a:hover {
	background: #f38969;    
}


/* シーズンメニューを消す */
/* .hnav02, .hnav01 {
    display: none;
} */

/* シーズンメニューを消す */
/* .season-menu > .hnav01 {
	display:none;
} */






/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【メインメニュー】
*/
.main-menu {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
    background: #ffffff;
}

.main-menu a {
    font-size: 0.8em;
    text-decoration: none;
    font-weight: bold;
    color: #333333;
}

.main-menu > li {
    margin-left: 15px;
    padding-bottom: 10px;
    position: relative;

    /* 確認：バグ対応で入れているが不要かもしれない */
    border: 1px solid #ffffff;
}
/* ピクピク防止 */
.main-menu > li:first-child {
    border-top: none;
}

.main-menu > li > a {
    display: inline-block;
    /* padding: 0 0 3px; */
}

.main-menu > li > a::after {
    content: url(../img/icn_arrow_under.svg);
    display: inline-block;
    position: relative;
    top: calc(1em / 2);
}
/** 採用トップ */
.main-menu > li:first-child {
    margin-left: 0;
    padding-bottom: 8px;
}
/**  */
.main-menu > li:first-child > a::before {
    content: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20enable-background%3D%22new%200%200%2020%2020%22%20height%3D%2218px%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2218px%22%20fill%3D%22%23FF4400%22%3E%3Cg%3E%3Cg%3E%3Crect%20fill%3D%22none%22%20height%3D%2220%22%20width%3D%2220%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%3E%3Cpolygon%20points%3D%224.59%2C16.59%206%2C18%2014%2C10%206%2C2%204.59%2C3.41%2011.17%2C10%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    display: inline-block;
    position: relative;
    vertical-align: -0.3em;
}

/* ダミーの下向きアイコンを貼って上下を揃えた */
.main-menu > li:first-child > a::after {
    content: url(../img/icn_arrow_under_dm.svg);
}

/* メインメニュー：ホーバー時 */
.main-menu > li:hover, .main-menu > li.active {
    border-bottom: 5px solid #ff4400;
}

/** sub-menu */
/* ドロップダウンメニューの表示位置など */
.main-menu > li > div {
    display: none;
    position: absolute;
    margin-left: -40px;
    margin-top: -10px;
    padding-top: 1.8em;
    z-index: -1;
}

.main-menu > li:hover div, .main-menu > li > div:hover {
    display: block;
    z-index: -1;
}

/* ドロップダウンメニューの幅 */
.main-menu > li > div > ul {
    width: 200px;
}

.main-menu > li > div > ul > li {
    position: relative;
    padding-top: 3px;
}

.main-menu > li:hover > div > ul > li {
    margin-top: 0px;
    animation: fadeIn 400ms ease-out 0s;
}

/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【メインメニュー：消す項目】
*/

/*
.main-menu > li:nth-child(4) > div > ul > li:nth-child(1) > ul > li:nth-child(3),
.main-menu-sp > li:nth-child(4) > div > ul > li:nth-child(1) > ul > li:nth-child(3),
.tablet > div.header-container > div > ul > li:nth-child(4) > div > ul > li:nth-child(1) > ul > li:nth-child(3) {
	display: none;
}
 */

@keyframes fadeIn {
    0% {
        margin-top: -100px;
        opacity: 0;
    }
    25% {
        margin-top: -75px;
        opacity: 0;
    }
    50% {
        margin-top: -50px;
        opacity: 0.2;
    }
    100% {
        margin-top: 0;
        opacity: 1;
    }
}

.main-menu > li > div > ul a {
    display: block;
    line-height: 3.4;
    height: 3.4em;
    padding: 0 0 0 1.2em;
    font-size: 0.8em;
    color: #ff4400;
    border: 1px solid #ff4400;
    background: url(../img/bg-menu.png) no-repeat #ffffff;
    background-position: 0 45px;
    position: relative;

    transition: all 300ms 0s ease-in-out;
}
/* ＞ */
.main-menu > li > div > ul a::after {
    content: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20enable-background%3D%22new%200%200%2020%2020%22%20height%3D%2218px%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2218px%22%20fill%3D%22%23FF4400%22%3E%3Cg%3E%3Cg%3E%3Crect%20fill%3D%22none%22%20height%3D%2220%22%20width%3D%2220%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%3E%3Cpolygon%20points%3D%224.59%2C16.59%206%2C18%2014%2C10%206%2C2%204.59%2C3.41%2011.17%2C10%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    display: inline-block;
    position: absolute;
    right: 5px;
    top: calc(1em / 2.5);
}

/* メニュー：背景画像の演出 */
.main-menu > li > div > ul a:hover {
   border: none;
   color: #ffffff;
   background: url(../img/bg-menu.png) no-repeat #ffffff;
   background-position: 0 -1400px;
   border: 1px solid #ff4400;
}

.main-menu > li > div > ul a:hover::after {
    content: url('../img/icn_arrow_forward.svg');
}

/** sub-sub-menu */
.main-menu > li > div > ul > li {
    position: relative; /** サブサブメインメニューのY座標を決めるために必要 */
}

.main-menu > li > div > ul > li > ul {
    display: none;
    position: absolute;
    left: 200px;
    top: 0;
    width: 200px;
    height: 50px;
}

.main-menu > li > div > ul > li:hover > ul {
    display: block;
}

.main-menu > li > div > ul > li:hover > ul > li {
    margin-left: 2px;
}

.main-menu > li > div > ul > li > ul > li {
    padding-top: 3px;
}
/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【パンくずリスト】
*/
.breadcrumb-trail {
    background: #eeeeee;
    padding: 1em 0;
    /* z-index: -10; */
}

.breadcrumb-trail > ul {
    max-width: 960px;
    margin: auto;
    /* padding: 0 15px; */
}
.breadcrumb-trail > ul > li {
    display: inline-block;
    /* padding: 10px 0; */
    font-size: 0.9em;
}
.breadcrumb-trail > ul > li::after {
    content: ' ＞ ';
}
.breadcrumb-trail > ul > li:last-child::after {
    content: none;
}
/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【メイン：コンテンツ部分】
*/
/* フローティングメニュー状態の時のコンテンツのオフセット値 */
.content {
    padding-top: 100px;
}

main {
    max-width: 1000px;
    padding: 50px 20px 20px;
    z-index: 0;
}

/** H1 */
.h1-group {
    width: 960px;
    position: relative;
    padding-left: 50px;
    margin: 30px auto;
    color: #333333;

    margin: 40px auto 30px;
}
/* 飾り罫（グラデーション） */
.h1-group::before {
    content: url(../img/sp.png);
    display: inline-block;
    position: absolute;
    width: 30px;
    min-height: 100%;

    /* border のラインにグラデーション */
    border-right: 6px solid #c21500;
    border-image: linear-gradient(to top, #ffffff 10%, #fa0303 100%);
    border-image-slice: 1;
    
    border-left: 19px solid #ff4400;
    border-image: linear-gradient(to top, #ffffff 10%, #ff4400 100%);
    border-image-slice: 1;

    /* mac safari 対策 */
    border-width: 0 6px 0 19px;

    left: 0;
}
/* タイトル部分：テキスト */
.h1-group h1 {
    font-size: 2.6em;
    line-height: 1.4;
    /* font-size: 42px; */
    font-weight: bold;
    margin-bottom: 18px;
    padding: 5px 0 0;
}
/* 付帯情報 */
.h1-group p {
    font-size: 1em;
    line-height: 1.6;
    margin-bottom: 0;
    padding-bottom: 20px;
}

/** H2 */
h2 {
    font-size: 1.7em;
    line-height: 1.4;
    font-weight: bold;
    margin-bottom: 0.7em;
    color: #333333;
}

h2::before {
    content: "◆";
    font-size: 1.2em;
    color: #ff4400;
    position: relative;
    margin-right: 5px;
    vertical-align: 0;
}

/** H3 */
h3 {
    font-size: 1.5em;
    line-height: 1.4;
    font-weight: bold;
    border-bottom: 1px solid #ff4400;
    padding-bottom: 0.3em;
    margin-bottom: 1em;
    color: #333333;
}

/** H4 */
h4 {
    color: #ff4400;
    font-size: 1em;
    line-height: 1.8;
    font-weight: normal;
}

/** p */
p {
    line-height: 1.8;
    margin-bottom: 2.5em;
    color: #333333;
}

/** テーブルセルの文字色 */
th, td {
    font-family: sans-serif;
    color: #333333;
}

/* イメージ付きページのレイアウト */
.top-img-type-a > img {
    display: block;
    width: 100%;
    height: 300px;
}
/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【フッター】
*/
footer {
    width: 100%;
    min-height: 300px;
    position: absolute;
    bottom: 0;
    background: #eee;
    padding: 35px 0 0;
}

.footer-wrapper {
    max-width: 960px;
    margin: auto;
    position: relative;
}

/* フッターメニュー */
.footer-list {
    width: 800px;
    display: flex;
}

.footer-list > li {
    position: relative;
    width: 25%;
    font-size: 0.9em;
    padding-left: 1.5em;
}

.footer-list > li a {
    color: #333333;
    display: inline-block;
    text-decoration: none;
    padding: 10px 0;
}
/* ＞ */
.footer-list li::before {
    content: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20enable-background%3D%22new%200%200%2020%2020%22%20height%3D%2218px%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2218px%22%20fill%3D%22%23FF4400%22%3E%3Cg%3E%3Cg%3E%3Crect%20fill%3D%22none%22%20height%3D%2220%22%20width%3D%2220%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%3E%3Cpolygon%20points%3D%224.59%2C16.59%206%2C18%2014%2C10%206%2C2%204.59%2C3.41%2011.17%2C10%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    position: absolute;
    left: 0;
    margin-top: 0.5em;
}

.footer-list > li a:hover {
    text-decoration: underline;
}

/** sub-menu */
.footer-list > li > a {
    font-weight: bold;
}

/** blobal menu */
.global-nav {
    width: 200px;
    margin-top: 20px;
    z-index: 1000;
}

.global-nav:nth-child(2) {
    width: 300px;
}

.global-nav li::before {
    content: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20enable-background%3D%22new%200%200%2020%2020%22%20height%3D%2218px%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2218px%22%20fill%3D%22%23FF4400%22%3E%3Cg%3E%3Cg%3E%3Crect%20fill%3D%22none%22%20height%3D%2220%22%20width%3D%2220%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%3E%3Cpolygon%20points%3D%224.59%2C16.59%206%2C18%2014%2C10%206%2C2%204.59%2C3.41%2011.17%2C10%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    position: relative;
    margin-right: 5px;
    top: calc(1em / 4);
}

.global-nav li.icn-window::before {
    content: url(../img/icn_window_m.png);
    margin-right: 10px;
    vertical-align: 2px;
}

.global-nav a {
    color: #333333;
    display: inline-block;
    text-decoration: none;
    font-size: 0.9em;
    padding: 10px 0;
}

.global-nav a:hover {
    text-decoration: underline;
}

/** footer misc */
.p-mark {
    position: absolute;
    bottom: 50px;
    right: 0;
}
/* コピーライト */
.copy {
    text-align: right;
    position: relative;
    margin-top: -1.5em;
}
/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【ユーティリティ】
*/
.flex-columns {
    display: flex;
}

.red {
    color: #ff0000;
}

.orange {
    color: #ff4400;
}

.white {
    color: #ffffff;
}

.em {
    background: #FFDACC;
}

.strike-through {
    text-decoration: line-through;
}

.mt--10 {
    margin-top: -10px;
}

.mt--20 {
    margin-top: -20px;
}

.mt--30 {
    margin-top: -30px;
}

.text-center {
    text-align: center;
}

.css-br {
	white-space: pre-line;
}

.tablet_block {
	display: none;
}

/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【ボタン類】
*/
.btn-typ-b, .btn-typ-c, .btn-typ-d {
    display: block;
    background: url(../img/btn-type-b-bg.png) no-repeat 0 0 #ff4400;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    line-height: 1.5;
    text-decoration: none;
    width: 400px;
    margin: 80px auto 50px;
    padding: 10px 0;
    font-size: 0.9em;
    position: relative;
}
.btn-typ-b:hover, .btn-typ-c:hover, .btn-typ-d:hover {
    background: #ff2200;
}
.btn-typ-b::after, .btn-typ-c::after, .btn-typ-d::after {
    font-family: 'Material Icons';
    content: "\e5e1";
    font-weight:　900; 
    font-size: 1.7em;
    position: absolute;
    right: 5px;
    top: 25%;
}
.btn-typ-d {
    font-size: 1em;
    padding: 20px 0;
}
.btn-typ-c {
    font-size: 1.1em;
    padding: 15px 0;
}
.btn-typ-c::after {
    top: 11%;
}
.btn-typ-d {
    font-size: 1em;
    padding: 10px 0;
}
.btn-typ-d::after {
    top: 20%;
}
/* 別ウィンドウアイコン用白バージョン */
.btn-typ-d[data-icn="w"]::before, .btn-typ-c[target="_blank"]::before {
    content: url(../img/icn_window_mw.svg);
    position: absolute;
    width: 20px;
    height: 20px;
    top: 33%;
    left: 15px;
}
.btn-typ-d[data-icn="w"]::after {
    content: none;
}

.btn-typ-c[target="_blank"]::after {
    content: none;
}
/* .btn-typ-c[target="_blank"]::before {

} */
/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【リンク】
*/
a[data-icn="w"]::before {
    content: url(../img/icn_window_m.png);
    margin-right: 0.5em;
}

a[data-icn="l"]::before {
    content: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20enable-background%3D%22new%200%200%2020%2020%22%20height%3D%2218px%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2218px%22%20fill%3D%22%23FF4400%22%3E%3Cg%3E%3Cg%3E%3Crect%20fill%3D%22none%22%20height%3D%2220%22%20width%3D%2220%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%3E%3Cpolygon%20points%3D%224.59%2C16.59%206%2C18%2014%2C10%206%2C2%204.59%2C3.41%2011.17%2C10%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
}

a[data-icn="l"] {
    text-decoration: none;
}
a[data-icn="l"]:hover {
    text-decoration: underline;
}

a[data-icn="l"]::before {
    font-family: 'Material Icons';
    content: "\e5e1";
    font-size: 1.1em;
    /* position: relative; */
    vertical-align: -2px;
    color: #ff4400;
}
/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【noscriptコメント】
*/
.noscript {
    background: #ff4400;
    font-size: 1em;
    padding: 2em 0;
}

.noscript > p {
    color: #ffffff;
    line-height: 1.8;
    max-width: 960px;
    margin: auto;
    padding: 0 3em;
}
/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【スマホ ←→ PC 切り替え】
*/
.spbr {
    display: none;
}

/* PC用BR */
.pcbr {
    display: block;
}

.pc {
    display: block;
    font-size: 0px;
}

.sp {
    display: none;
}

.pc-inline {
    display: inline-block;
    font-size: 1em;
}
/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【トップに戻るスクロールボタン】
*/
.return2top {
    text-decoration: none;
    padding: 5px;
    display: inline-block;
}

.arrow-dock {
    width: 73px;
    position: fixed;
    left: calc(50% + 405px);
    opacity: 0;
    z-index: 101;

    /* border: 1px solid red; */
    transition: opacity 1200ms 10ms ease, bottom 100ms 0s ease;
}

.arrow-dock.ex {
    bottom: 30px;
    opacity: 0.7;
}
/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【ハンバーガーメニュー：PC時】
*/
.hamburger-menu {
    display: none;
}
/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【スマホ、ハンバーガーメニュー】
*/
/* ベース */
.menu-base-sp {
    display: none;
}
/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

/** ++++++++++++++++++++++++++++++++++++++++++++++++++++++
【ビューポートスイッチ：PC表示時】
*/
.view_change_box {
    display: none;
}
.btn_vc_pc, .btn_vc_sp {
    text-align: center;
    font-weight: bold;
    padding: 1em 0;
    color: #ffffff;
    background: #333333;
}
.btn_vc_sp {
    zoom: 3;
}
.btn_vc_pc::before {
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="%23ffffff"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M21 2H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h7v2H8v2h8v-2h-2v-2h7c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H3V4h18v12z"/></svg>');
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}
.btn_vc_sp::before {
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="%23ffffff"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M15.5 1h-8C6.12 1 5 2.12 5 3.5v17C5 21.88 6.12 23 7.5 23h8c1.38 0 2.5-1.12 2.5-2.5v-17C18 2.12 16.88 1 15.5 1zm-4 21c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm4.5-4H7V4h9v14z"/></svg>');
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}
/*
 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++
**/

.txt-indent {
    display: inline-block;
    padding-left: 1.1em;
    text-indent: -1.1em;
}


.fig_fit {
	display: block;
	width: 100%;
	height:inherit;
}




/** ======================================================
 * 
【タブレットレイアウト】
 * 
 * 接頭辞として、".wrapper.tablet" を付けて PC レイアウトを
 * 上書きしている。
**/

/**
【構造】
*/
.wrapper.tablet {
    width: 100%;
    /* border-top: 5px solid #ff4400; */
    padding-bottom: 280px;
}
.wrapper.tablet .header-container {
    margin-bottom: 0;
    /* border-bottom: 1px solid green; */
}
.wrapper.tablet header {
    width: inherit;
    height: inherit;
    margin: inherit;
    padding: inherit;
    width: 100%;
    height: 60px;
    margin: 0;
}

.wrapper.tablet article > div {
    width: 100%;
    margin: auto;
}


.wrapper.tablet main {
    width: 100%;
    max-width: 960%;
    padding: 50px 25px 280px;
    margin: auto;
    position: relative;
    overflow: hidden;
}

.wrapper.tablet main > * {
    max-width: inherit;
    width: 100%;
}

/** logo area */
.wrapper.tablet header > *:first-child {
    width: 80%;
    padding: 1.15em 0 0 1em;
}
/* logo */
.wrapper.tablet header > *:first-child > * {
    display: inline-block;
    position: relative;
    zoom: 0.7;
    /* z-index: 10; */
}

.wrapper.tablet header > *:first-child > *[data-title] {
    margin: 0 0 0 0.7em;
}
/** menu area */
.wrapper.tablet header > *:nth-child(2) {
    padding: 0 0.5em 0 0;
    width: 3em;
    vertical-align: middle;
    text-align: right;
}


/** ===============================
 * タブレット版シーズンメニュ
 */
.wrapper.tablet .season-menu {
    position: absolute;
    /* width: 55%; */
	width: max-content;
    display: flex;
    justify-content: flex-end;
    /* top: 10px; */
    margin-top: 10px;
    right: 70px;

}

.wrapper.tablet .season-menu > li.hnav01 > a::after {
	content: "※マイページは、株式会社ワークス・ジャパンのサイトに遷移します。";
	position: absolute;
	top: 35px;
	left: 0;
	width: 500px;
}


/** ===============================
 * タブレット版ハンバーガーメニューのベース
 */

.wrapper.tablet .menu-base-sp {
    display: block;
    position: absolute;
    width: 60px;
    height: 50px;
    z-index: 1001;
    top:3px;
    right: 0;

    transition: all 100ms 0s ease-out;
}

/* フローティング状態のハンバーガーメニュー */
/* .wrapper.tablet .menu-base-sp.onFloating {
    position: fixed;
    top: 8px;
} */

.wrapper.tablet .menu-base-sp.open {
    width: 100%;
    height: 100%;
    background: #4F4F4F;
}




/* ハンバーガーメニュー */
.wrapper.tablet .hamburger-menu {
    display: block;
    position: absolute;
    right: 5px;
    /* top: -1px; */
    /* z-index: 10000; */
}

.wrapper.tablet .main-menu {
    display: none;
}

/* タブレット用メニュー */
.wrapper.tablet .main-menu-sp {
    display: none;
    margin: 3.5em 0 0;
    padding: 0.5em 0 0;
    /* padding-bottom: 10em; */
    border: 3px solid #333333;
    border-width: 3px 0 3px;
    height: calc(100% - 3.5em);
    overflow-y: scroll;
}

.wrapper.tablet .main-menu-sp > li > a,
.wrapper.tablet .main-menu-sp > li > div > ul > li > a,
.wrapper.tablet .main-menu-sp > li > div > ul > li > ul > li > a {
    display: block;
    line-height: 2.5;
    height: 2.5em;
    color: #ffffff;
    text-decoration: none;
    padding: 0 0.5em;
}

.wrapper.tablet .main-menu-sp > li > a {
    font-size: 1.2em;
}

.wrapper.tablet .main-menu-sp > li > div > ul > li > a {
    padding: 0 0 0 3em;
}

.wrapper.tablet .main-menu-sp > li > div > ul > li > ul > li > a {
    padding: 0 0 0 5em;
}

.wrapper.tablet .main-menu-sp > li {
    border-bottom: 1px solid #333333;
}
/* タブレット用メニュー：アイコン */
.wrapper.tablet .main-menu-sp > li:first-child > a::before,
.wrapper.tablet .main-menu-sp > li > div > ul > li > a::before,
.wrapper.tablet .main-menu-sp > li > div > ul > li > ul > li > a::before {
    content: url(../img/icn_arrow_forward.svg);
    display: inline-block;
    width: 1.2em;
    position: relative;
    vertical-align: -0.2em;
}

/* タブレット用メニュー：アイコン：第一層 */
.wrapper.tablet .sub-menu-sp {
    position: relative;
}
.wrapper.tablet .sub-menu-sp::after {
    font-family: 'Material Icons';
    content: "\e145";
    font-size: 1.3em;
    display: inline-block;
    position: absolute;
    top: -0.3em;
    margin-left: 0.3em;
}
/* タブレット用メニュー：アイコン：開いているとき */
.wrapper.tablet .sub-menu-sp.open::after {
    content: "\e15b";
}

/* タブレット用メニュー：下のメニュー*/
.wrapper.tablet .main-menu-sp > li > div {
    display: none;
    background: #444444;
    border-top: 1px solid #333333;
}

/* タブレット用メニュー：下のメニューのオープン*/
.wrapper.tablet .main-menu-sp > li > div > ul > li {
    border-bottom: 1px dashed #000000;
}

.wrapper.tablet .main-menu-sp > li > div > ul > li:last-child {
    border-bottom: none;
}

.wrapper.tablet .main-menu-sp > li > div > ul > li > ul {
    background: #333333;
}

.wrapper.tablet .main-menu-sp > li > div > ul > li > ul > li {
    border-bottom: 1px dotted #cccccc;
}

.wrapper.tablet .main-menu-sp > li > div > ul > li > ul > li:last-child {
    border-bottom: none;
}

/* タブレット：見出し */
.wrapper.tablet .content > article > .h1-group {
    width: 95%;
    position: relative;
    overflow: hidden;
    margin: 30px 20px 20px;
}

/* 見出し：main ネスト版 */
.wrapper.tablet main .h1-group {
    width: 100%;
    margin: 0 1em 30px 0;
    /* margin: 60px auto 30px; */
}

/* コンテンツのオフセット値 */
.wrapper.tablet .content {
    padding-top: 60px;
}

/* トップに戻るボタン */
.wrapper.tablet .arrow-dock {
    left: calc(50% + 320px);
}


/*  */
.wrapper.tablet .tablet_block {
	display: block;
	/* border: 2px solid red; */
}


.wrapper.tablet .fig_fit {
	display: block;
	width: 100%;
	height:inherit;
}



/** ======================================================
 * 
【スマートフォンレイアウト】
 * 
**/
@media screen and (max-width: 767px) {
    /*  */
    /**
    【ビューポートスイッチ】
    */
    .view_change_box {
        display: block;
    }
    /* スマートフォンボタン：初期消去 */
    .btn_vc_sp {
        display: none;
    }

    /**
    【構造】
    */  
    .wrapper {
        width: 100%;
        /* border-top: 5px solid #ff4400; */
        padding-bottom: 280px;
    }

    header {
        margin: 0;
        /* display: inherit; */
        flex-direction: column;
        width: 100%;
        height: inherit;
        padding: 0;
        padding-bottom: 5px;
        margin: 0;
    }

    /* コンテンツのオフセット値 */
    .content {
        padding-top: 110px;
    }

    main {
        width: 100%;
        padding: 30px 1em 0;
        margin: inherit;
    }
    footer{
        width: 100%;
        min-height: 0;
        padding: 1.5em 0 0 1em;
    }

    .footer-wrapper {
        width: 100%;
        height: inherit;
        min-height: 0;
        margin: 0;
    }
    /**
    【メニュー・フッタ】
    */
    /* .season-menu {
        display: none;
    } */

    .footer-list {
        display: none;
    }

    .arrow-dock {
        width: 50px;
        right: -20px;
        /* border: 1px solid red; */
    }

    .copy {
        text-align: center;
        /* position: relative; */
        margin-top: 0;
        font-size: 0.5em;
    }

    .p-mark {
        display: none;
    }

    /** logo area */
    header > *:first-child {
        width: 80%;
        padding: 1.15em 0 0 1em;
    }
    /* logo */
    header > *:first-child > * {
        display: inline-block;
        /* position: relative; */
        zoom: 0.7;
        z-index: 10;
    }

    header > *:first-child > *[data-title] {
        margin: 0 0 0 0.7em;
    }

    header > div {
        width: 100%;
    }

    /** menu area */
    header > nav {
        padding: 0 0.5em 0 0;
        vertical-align: middle;
        text-align: right;
        width: inherit;
    }

    
    /** menu area：season-menu */
    .season-menu {
        max-width: 100%;
        /*display: flex;*/
        /*justify-content: space-between;*/
        /* flex-direction: column; */
		justify-content: space-between;
        margin-top: 5px;
       /* position: relative;*/
        /* overflow: hidden; */
        /* z-index: 1; */
        /* border-bottom: 3px solid green; */
        /* padding-bottom: 6px; */
        /* z-index: -1; */
        /* top: 3.3em; */
        /* left: 0; */
    }

    .season-menu > li:first-child, .season-menu > li:last-child {
        margin-left: 0;
    }

    /* シーズンメニューの文字列の上下中心を取る：1行版 */
    .season-menu > li {
		/*box-sizing: inherit;*/
        height: inherit;
        line-height: inherit;
        margin-left: 0;
    }

    /* シーズンメニューの文字列の上下中心を取る：1行版 */
    .season-menu > li span {
        /* display: inline-block; */
        font-size: 0.8em;
        /* line-height: 1.3; */
    }
    
    /* シーズンメニューの文字列の上下中心を取る：2行版 */
    /* .season-menu > li {
        flex-basis: 100%;
    } */

    /* シーズンメニューの文字列の上下中心を取る：2行版 */
    /* .season-menu > li span {
        display: inline-block;
        height: 1.5em;
        line-height: 1.5;
        font-size: 0.8em;
    } */

    /* シーズンメニューの実質的な見た目 */
    .season-menu > li a {
        display: block;
        text-decoration: none;
        color: #ffffff;
        font-size: 1em;
        background: url(../img/icn_arrow_forward.svg) no-repeat 95% 50% #ff4400;
        position: relative;
        line-height: 36px;
        height: 36px;
		flex-grow: 1;
    }

    /* 別ウィンドウアイコンでいらないアイコンを消す */
    .season-menu > li a[target] {
        background: none;
        background: #ff4400;
        margin-bottom: 5px;
		flex-basis: 0.5;
    }
	
	/** インターン2023　*/
	.season-menu > li.hnav01 {
		margin-right: 5px;
	}
	
	/** インターン2023 と インターン2024　*/
	.season-menu > li.hnav01, .season-menu > li.hnav04 {
		flex-grow: 1;
	}
	
	.season-menu > li.hnav03 {
		flex-grow: 2;
	}
	
	
	/* .season-menu > li a[data-misc="ON"]::after */
	
	.season-menu > li.hnav04 > a::after {
        content: none;
        /*top: 42px;
        left: -5px;*/
    }
    
    /* > アイコンの付け替え：Aタグの背景に配置する */
    .season-menu > li a::after {
        content: none;
    }

    /* 3つ目のデザインを変える */
    .season-menu > li.hnav03 {
        border: 3px solid #ff4400;
        height: 36px;
		margin-bottom: 1.3em;
    }

    .season-menu > li.hnav03 > a {
        border: none;
        /* background: yellow; */
		font-size: 1em;
        height: 30px;
        line-height: 28px;
    }
	
	.season-menu > li.hnav01 > a::after {
		content: "";
	}
	
	/* ※この先は、株式会社ワークス・ジャパンのサイトに遷移します。：位置合わせ */
    .season-menu > li.hnav03::after {
        content: "※マイページは、株式会社ワークス・ジャパンのサイトに遷移します";
		font-size: 0.6em;
		line-height: 1.2;
    }
	
	/** インターン2024 */
	.season-menu > li.hnav04 > a {
		background: #ff997a;          
	}


    /* ハンバーガーメニューのベース */
    .menu-base-sp {
        display: block;
        position: absolute;
        width: 100%;
        height: 50px;
        /* top: 5px; */
        z-index: 1001;
        /* padding-top: 5px; */
        /* background: transparent; */
        /* padding: 0 0 10px; */

        transition: all 300ms 0s ease-out;
    }

    /* .menu-base-sp.onFloating {
        position: fixed;
    } */

    .menu-base-sp.open {
        height: 100%;
        padding-top: 0;
        background: #4F4F4F;
    }
    
    /* ハンバーガーメニュー */
    .hamburger-menu {
        display: block;
        position: absolute;
        right: 5px;
        /* top: 3px; */
        /* top: -1px; */
        z-index: 100000;
    }

    /* ハンバーガーメニューのSVG */
    /* ボタンそのもの（SVGアニメ付き）を透過する：スマートフォンの誤爆防止処理 */
    .hamburgerBTN {
        opacity: 0;
    }

    .main-menu {
        display: none;
    }

    /* スマホ用メニュー */
    .main-menu-sp {
        display: none;
        margin: 3.5em 0 0;
        padding: 0.5em 0 0;
        /* padding-bottom: 10em; */
        border: 3px solid #333333;
        border-width: 3px 0 3px;
        height: calc(100% - 3.5em);
        overflow-y: scroll;
    }

    .main-menu-sp > li > a,
    .main-menu-sp > li > div > ul > li > a,
    .main-menu-sp > li > div > ul > li > ul > li > a {
        display: block;
        line-height: 2.5;
        height: 2.5em;
        color: #ffffff;
        text-decoration: none;
        padding: 0 0.5em;
    }

    .main-menu-sp > li > a {
        font-size: 1.2em;
    }

    .main-menu-sp > li > div > ul > li > a {
        padding: 0 0 0 3em;
    }

    .main-menu-sp > li > div > ul > li > ul > li > a {
        padding: 0 0 0 5em;
    }

    .main-menu-sp > li {
        border-bottom: 1px solid #333333;
    }
    /* スマホ用メニュー：アイコン */
    .main-menu-sp > li:first-child > a::before,
    .main-menu-sp > li > div > ul > li > a::before,
    .main-menu-sp > li > div > ul > li > ul > li > a::before {
        content: url(../img/icn_arrow_forward.svg);
        display: inline-block;
        width: 1.2em;
        position: relative;
        vertical-align: -0.2em;
    }

    /* スマホ用メニュー：アイコン：第一層 */
    .sub-menu-sp {
        position: relative;
    }
    .sub-menu-sp::after {
        font-family: 'Material Icons';
        content: "\e145";
        font-size: 1.3em;
        display: inline-block;
        position: absolute;
        top: -0.3em;
        margin-left: 0.3em;
    }
    /* スマホ用メニュー：アイコン：開いているとき */
    .sub-menu-sp.open::after {
        content: "\e15b";
    }

    /* スマホ用メニュー：下のメニュー*/
    .main-menu-sp > li > div {
        display: none;
        background: #444444;
        border-top: 1px solid #333333;
    }

    /* スマホ用メニュー：下のメニューのオープン*/

    .main-menu-sp > li > div > ul > li {
        border-bottom: 1px dashed #000000;
    }

    .main-menu-sp > li > div > ul > li:last-child {
        border-bottom: none;
    }

    .main-menu-sp > li > div > ul > li > ul {
        background: #333333;
    }

    .main-menu-sp > li > div > ul > li > ul > li {
        border-bottom: 1px dotted #cccccc;
    }

    .main-menu-sp > li > div > ul > li > ul > li:last-child {
        border-bottom: none;
    }
    
    /* パンくずリスト */
    .breadcrumb-trail {
        background: #eeeeee;
        /* padding: 1em 0; */
        font-size: 0.7em;
        padding: 12px 15px;
        position: relative;
    }

    .breadcrumb-trail ul {
        /* 三点リーダー */
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* footer */
    .global-nav {
        font-size: 0.8em;
        flex-basis: 60%;
        margin-top: 0;
        margin-bottom: 2em;
        z-index: 0;
    }

    .global-nav:first-child {
        flex-basis: 40%;
    }

    .global-nav li::before {
        content: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20enable-background%3D%22new%200%200%2020%2020%22%20height%3D%2218px%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2218px%22%20fill%3D%22%23FF4400%22%3E%3Cg%3E%3Cg%3E%3Crect%20fill%3D%22none%22%20height%3D%2220%22%20width%3D%2220%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%3E%3Cpolygon%20points%3D%224.59%2C16.59%206%2C18%2014%2C10%206%2C2%204.59%2C3.41%2011.17%2C10%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
        display: inline-block;
        vertical-align: -3px;
        position: relative;
        top: 0;
        margin-right: 5px;
        zoom: 0.8;
    }

    .global-nav li.icn-window::before {
        content:  url(../img/icn_window_m.png);
        display: inline-block;
        vertical-align: -2px;
        margin-right: 5px;
    }

    /* トップに戻るボタン */
    .arrow-dock {
        /* width: 60px; */
        /* padding-right: 20px; */
        left: 90%;
        /* right: 0; */
        z-index: 1;
    }

    .return2top {
        position: absolute;
        bottom: 0px;
        right: 30px;
    }

    .arrow-dock.ex {
        bottom: 60px;
        opacity: 0.7;
    }

    /* 文字の全体的な大きさ */
    /* article {
        font-size: 0.95em;
    } */

    /* 見出し：見出しの下に画像が入る版 */
    .content > article {
        width: 100%;
        /* padding: 0 1em; */

        position: relative;
        overflow: hidden;
    }

    .content > article > .h1-group {
        /* width: 90%; */
        width: 100%;
        margin: 30px 0 20px;
        border: 20px solid #ffffff;
        border-width: 0 20px;
        position: relative;
        overflow: hidden;
    }

    /* 見出し：main ネスト版 */
    main .h1-group {
        width: 100%;
        margin: 20px 1em 15px 0;
        /* margin: 60px auto 30px; */
    }

    .h1-group h1 {
        font-size: 1.8em;
        margin-bottom: 0.5em;
        color: #333333;
    }
    
    .h1-group p {
        font-size: 0.8em;
        line-height: 1.5;
        /* color: #333333; */
    }
    
    h2 {
        font-size: 1.5em;
        margin-bottom: 0.8em;
        margin-left: 1.16em;
        text-indent: -1.16em;
        line-height: 1.2;
        /* color: #333333; */
    }
    
    h2::before {
        content: "◆";
        color: #ff4400;
        font-size: 1em;
    }
    
    h3 {
        font-size: 1.5em;
        color: #333333;
    }

    p {
        font-size: 0.9em;
    }

    /* イメージ付きページ */
    .top-img-type-a > img {
        height: 7em;
    }

    /**
    【ユーティリティ】
    */
    /* スマホ用BR */
    .spbr {
        display: block;
    }

    /* PC用BR */
    .pcbr {
        display: none;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .pc-inline {
        display: none;
    }

    /** 
    【ボタン】
    */
    .btn-typ-b, .btn-typ-c, .btn-typ-d {
        width: 100%;
        font-size: 0.7em;
    }

    .btn-typ-c, .btn-typ-d {
        font-size: 1em;
    }

    .btn-typ-d {
        padding: 5px 0;
    }
    /* 別ウィンドウアイコン用白バージョン */
    .btn-typ-d[data-icn="w"]::before {
        /* content: url(../img/icn_window_mw.svg);
        position: absolute; */
        width: 25px;
        height: 20px;
        left: 10px;
    }

    /* フッターメニューに影響が出る */
    /* .flex-columns {
        flex-direction: column;
    } */
	
	.fig_fit {
		display: block;
		width: 100%;
		height: auto;
	}

}























































































