@charset "utf-8";
/* CSS Document */

/* ====================================================================================================
   基本設定
   ---------------------------------------------------------------------------------------------------- */

/* フォント */
@import url('https://fonts.googleapis.com/css2?family=Lobster&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Concert+One&display=swap');

/* ベース */
body                               { position:relative; -webkit-text-size-adjust:100%; background:#fcf8ef; font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
body#home                          { max-width:400px; margin:0 auto; overflow-x:hidden; }
.container                         { position:relative; width:88%; margin:0 auto; }

/* アニメーション：トリガー */
#check_00                          { position:absolute; top:100vh; top:svh; left:0; z-index:2; width:10px; height:10px; }

/* リンク */
a:link                             { color:#01ac2a; }
a:visited                          { color:#000; }


/* ====================================================================================================
   フェード
   ---------------------------------------------------------------------------------------------------- */

._fade                             { opacity:0; visibility:hidden; transition:1.0s 0.1s ease; transform:translateY(30px); }
._fade._fade_02                    { transition-delay:0.2s; }
._fade._fade_03                    { transition-delay:0.3s; }
._fade._fade_04                    { transition-delay:0.4s; }
._fade._fade_05                    { transition-delay:0.5s; }
._fade._fade_06                    { transition-delay:0.6s; }
._fade._fade_07                    { transition-delay:0.7s; }
._fade._fade_08                    { transition-delay:0.8s; }
._fade._fade_09                    { transition-delay:0.9s; }
._fade._fade_40                    { transition-delay:1.2s; }
._active                           { opacity:1; visibility:visible; transform:translateY(0) scale(1); }

._fade._zoom                       { transform:translateY(0) scale(0.5); }
._fade._zoom._active               { transform:translateY(0) scale(1); }

._fade._rotate                     { transform:translateY(0) rotate(180deg); }
._fade._rotate._active             { transform:translateY(0) rotate(0deg); }


/* ====================================================================================================
   ヘッタ（2023版）
   ---------------------------------------------------------------------------------------------------- */

/* 基本設定 */
#recruit_2023_header                        { position:absolute; top:50px; left:0; z-index:4; width:100%; height:auto; padding:50px 25px 0 25px; }
#recruit_2023_header h1                     { width:150px; height:50px; margin-bottom:240px; }
#recruit_2023_header h1 a                   { display:block; }
#recruit_2023_header h1 a img               { width:100%; height:100%; }
#recruit_2023_header h2                     { position:absolute; top:0; left:0; }
#recruit_2023_header h2 a                   { display:block; padding:15px 15px 15px 30px; font-size:0.7rem; line-height:1.4; letter-spacing:0.1em; color:#fff; background:url(../../img/common/wt/prev.svg) no-repeat 10px center; background-size:10px; }

/* ナビ設定：リスト */
#recruit_2023_header nav                    { display:none; }

/* ナビ設定：ボタン */
#recruit_2023_header .bottom                { display:flex; margin:-5px; }
#recruit_2023_header .bottom a.btn          {width:100%; margin:0 5px; padding:10px 10px 10px 10px; color:#000; background:#fff; border:2px solid #000; border-bottom:4px solid #000; border-radius:10px; transition:.2s; }
#recruit_2023_header .bottom a.btn.entry    { background:#ff3; }


/* ====================================================================================================
   お知らせ
   ---------------------------------------------------------------------------------------------------- */

/* 基本設定 */
#sect_recruit_news                          { width:100%; height:50px; background:#00c44e; } 
#sect_recruit_news a                        { position:relative; display:block; width:calc(100% - 10px); height:50px; margin-left:10px; padding:10px 10px 10px 100px; font-size:1.0em; line-height:30px; font-weight:bold; color:#01ac2a; letter-spacing:0.05em; background:#fff; border-left:none; border-bottom:none; border-radius:0 0 0 20px; transition:.2s; }
#sect_recruit_news a time                   { position:absolute; top:0; left:20px; bottom:0; width:70px; height:20px; margin:auto 0; padding:0 5px; background:#eee; font-size:0.45rem; letter-spacing:0; line-height:20px; text-align:center; color:#01ac2a; border-radius:15px; }

/* アニメーション設定 */
#sect_recruit_news                          { opacity:1; transition:.4s; }
#sect_recruit_news.off                      { opacity:0; bottom:-150px; }


/* ====================================================================================================
   メインビジュアル
   ---------------------------------------------------------------------------------------------------- */

/* 基本設定 */
#sect_recruit_2023_mv                       { position:relative; width:100%; height:540px; margin:0; padding:0 0 200px 0; background:#00c44e; overflow:hidden; } 

/* テキスト設定 */
#sect_recruit_2023_mv article               { position:absolute; top:0; left:0; z-index:2; width:100%; height:320px; padding:25px; display:flex; flex-wrap:wrap; justify-content:left; align-content:center; overflow:hidden; }
#sect_recruit_2023_mv article h1            { position:relative; width:100%; font-size:3.0rem; line-height:1.2; letter-spacing:-0.018em; color:#fff; font-family: 'Concert One', cursive; transform:rotate(-10deg) skew(-10deg); margin-bottom:12px; text-shadow:1px 1px 0 #01ac2a,-1px 1px 0 #01ac2a,1px -1px 0 #01ac2a,-1px -1px 0 #01ac2a,1px 0 0 #01ac2a,0 1px 0 #01ac2a,-1px 0 0 #01ac2a,0 -1px 0 #01ac2a; }
#sect_recruit_2023_mv article h1 span       { position:absolute; top:3px; left:2px; z-index:-1; color:#01ac2a; text-shadow:1px 1px 0 #01ac2a,-1px 1px 0 #01ac2a,1px -1px 0 #01ac2a,-1px -1px 0 #01ac2a,1px 0 0 #01ac2a,0 1px 0 #01ac2a,-1px 0 0 #01ac2a,0 -1px 0 #01ac2a; }
#sect_recruit_2023_mv article h2            { width:calc(100% - 100px); min-width:250px; font-size:1.0rem; line-height:1.2; letter-spacing:0.1em; color:#fff; padding:0 0 0 5px; transform:rotate(-10deg) skew(-10deg); text-shadow:1px 1px 0 #01ac2a,-1px 1px 0 #01ac2a,1px -1px 0 #01ac2a,-1px -1px 0 #01ac2a,1px 0 0 #01ac2a,0 1px 0 #01ac2a,-1px 0 0 #01ac2a,0 -1px 0 #01ac2a; }  
#sect_recruit_2023_mv article h2 span       { position:absolute; top:2px; left:6px; z-index:-1; color:#01ac2a; text-shadow:1px 1px 0 #01ac2a,-1px 1px 0 #01ac2a,1px -1px 0 #01ac2a,-1px -1px 0 #01ac2a,1px 0 0 #01ac2a,0 1px 0 #01ac2a,-1px 0 0 #01ac2a,0 -1px 0 #01ac2a; }

/* 背景設定 */
#sect_recruit_2023_mv .slider               { position:absolute; top:0; left:0; z-index:0; width:30%; height:auto; background:rgba(255,255,255,0.2); border-radius:50%; overflow:hidden; }
#sect_recruit_2023_mv #mv_imgs_01           { top:180px; left:auto; right:200px; width:120px; margin:0; }
#sect_recruit_2023_mv #mv_imgs_02           { top:-50px; left:auto; right:-50px; width:280px; margin:0; }
#sect_recruit_2023_mv #mv_imgs_03           { top:250px; left:auto; width: 90px; right: 95px; margin:0; }

/* アニメーション設定 */
#sect_recruit_2023_mv article h1            { opacity:0; transition:all 1.5s 0.2s ease; margin-top:100px; }
#sect_recruit_2023_mv article h2            { opacity:0; transition:all 1.5s 0.4s ease; margin-top:100px; }
#sect_recruit_2023_mv #mv_imgs_01           { opacity:0; transition:all .5s 1.2s ease-in-out; transform:scale(0.8); }
#sect_recruit_2023_mv #mv_imgs_02           { opacity:0; transition:all .5s 1.4s ease-in-out; transform:scale(0.8); }
#sect_recruit_2023_mv #mv_imgs_03           { opacity:0; transition:all .5s 1.6s ease-in-out; transform:scale(0.8); }
#sect_recruit_2023_mv.on article h1,
#sect_recruit_2023_mv.on article h2         { opacity:1; margin-top:0; }
#sect_recruit_2023_mv.on #mv_imgs_01,
#sect_recruit_2023_mv.on #mv_imgs_02,
#sect_recruit_2023_mv.on #mv_imgs_03        { opacity:1; transform:scale(1); }


/* ====================================================================================================
   キャラクター
   ---------------------------------------------------------------------------------------------------- */

/* 基本設定 */
body                                        { overflow-x:hidden; }
#character                                  { position:absolute; top:490px; bottom:auto; z-index:2; width:250px; height:auto; pointer-events:none; }
#character img                              { width:100%; pointer-events:none; }
#character::after                           { content:""; position:absolute; bottom:-3px; right:0; width:100%; height:3px; background:#01ac2a; border-radius:3px 0 0 3px; }

/* セリフ */
#character .speech                          { position:absolute; bottom:120px; right:15px; z-index:-1; width:120px; height:120px; padding:30px; background:#01ac2a; border-radius:50%; transition:all 0.5s ease; pointer-events:none; text-align:justify; text-justify:inter-ideograph; font-feature-settings:"ptitle"; }
#character .speech p                        { display:none; }
#character .speech p span                   { display:flex; align-items:center; width:100%; height:50px; font-size:0.6rem; font-weight:bold; line-height:1.4; letter-spacing:0em; color:#fff; }

/* ボタン */
#character .note                            { position:absolute; bottom:25px; right:10%; z-index:2; width:80px; pointer-events:auto; cursor:pointer; }
#character .note p                          { font-size:0.4rem; font-weight:bold; line-height:1.4; color:rgba(255,255,255,0.8); text-shadow:1px 1px 0 #01ac2a,-1px 1px 0 #01ac2a,1px -1px 0 #01ac2a,-1px -1px 0 #01ac2a,1px 0 0 #01ac2a,0 1px 0 #01ac2a,-1px 0 0 #01ac2a,0 -1px 0 #01ac2a; }
#character .note p strong                   { font-size:0.5rem; color:#fff; }
#character .note .btn                       { display:block; width:90px; margin:10px 0 10px -10px; padding:8px 0; font-size:0.6rem; font-weight:bold; line-height:1.4; text-align:center; color:#01ac2a; background:#fff; border-radius:20px 0 0 20px; cursor:pointer; pointer-events:auto; transition:.2s; }

/* アニメーション.off */
#character                                  { right:-90%; transition:all 1.5s 1s ease-in-out; pointer-events:auto; }
#character.on                               { right: -7%; }
#character.on.off                           { right:-90%; }

@media screen and (min-height:657px){
#character                                  { position:fixed; top:auto; bottom:0; }	
}

/* ====================================================================================================
   SECT／スマホ用ナビ
   ---------------------------------------------------------------------------------------------------- */

/* ナビ設定：リスト */
#recruit_sm_nav                             { position:relative; margin-top:-200px; padding:80px 25px 100px 25px; background:#00c44e; }
#recruit_sm_nav::after                      { content:""; position:absolute; bottom:0; left:0; width:100%; height:100px; background:-webkit-linear-gradient(top,rgba(252,248,239,1),rgba(252,248,239,0)); background:linear-gradient(to bottom,rgba(252,248,239,0),rgba(252,248,239,1)); }
#recruit_sm_nav nav                         { width:100%; }
#recruit_sm_nav nav ul                      { position:relative; margin:0 auto; }
#recruit_sm_nav nav ul::before              { content:""; position:absolute; top:0; bottom:0; left:14px; z-index:0; width:2px; height:calc(100% - 26px); margin:auto 0; background:#000; }
#recruit_sm_nav nav ul li                   { margin-bottom:20px; }
#recruit_sm_nav nav ul li a                 { position:relative; display:block; padding:0 0 0 40px; font-size:0.9rem; line-height:1.3; color:#fff; font-weight:bold; white-space:nowrap; text-shadow:1px 1px 2px rgba(0,0,0,0.1); }
#recruit_sm_nav nav ul li a .number         { position:absolute; top:-4px; left:2px; width:26px; height:26px; padding:0 2px 0 0; font-size:12px; line-height:22px; letter-spacing:0.05em; text-align:center; font-style:italic; color:#000; font-family: 'Concert One', cursive; background:#fff; border:2px solid #000; border-radius:50%; transform:rotate(-10deg); transition:.2s; }

/* ナビ設定：ボタン */
#recruit_sm_nav .bottom a.btn               { width:220px; margin:0 0 15px 0; color:#000; background:#fff; border:2px solid #000; border-bottom:4px solid #000; border-radius:10px; transition:.2s; }
#recruit_sm_nav .bottom a.btn.entry         { background:#ff3; }

@media screen and (min-height:657px){
#recruit_sm_nav nav ul li a br              { display:none; }
}

/* ====================================================================================================
   関連リンク
   ---------------------------------------------------------------------------------------------------- */

/* 基本設定 */
#sect_links                                 { position:relative; padding:0px 25px 50px 25px; }
#sect_links ul                              { display:flex; flex-wrap:wrap; margin:0 -5px; padding:20px 0 0 0; }
#sect_links ul li                           { width:50%; margin:0; padding:5px; }
#sect_links ul li img                       { width:100%; border:2px solid #01ac2a; border-radius:10px; }
#sect_links ul li h1                        { font-size:0.8rem; padding:10px 0; }


/* ====================================================================================================
   共通パーツ
   ---------------------------------------------------------------------------------------------------- */
   
/* 導入ー */
.recruit_hgroup                             { position:relative; padding:25px 25px; }
.recruit_hgroup .number                     { position:absolute; top:-30px; left:auto; margin-bottom:12px; font-size:2.5rem; line-height:1.2; letter-spacing:0.05em; color:#01ac2a; font-family: 'Concert One', cursive; transform:rotate(-10deg) skew(-10deg); text-shadow:1px 1px 0 #fcf8ef,-1px 1px 0 #fcf8ef,1px -1px 0 #fcf8ef,-1px -1px 0 #fcf8ef,1px 0 0 #fcf8ef,0 1px 0 #fcf8ef,-1px 0 0 #fcf8ef,0 -1px 0 #fcf8ef; }
.recruit_hgroup h1                          { width:100%; margin:0 0 15px 0; font-size:1.2rem; letter-spacing:0.2em; line-height:1.4; font-weight:bold; color:#01ac2a; text-decoration:underline; }
.recruit_hgroup h2                          { width:100%; margin:0 0 15px 0; font-size:0.6rem; letter-spacing:0.1em; line-height:1.8; font-weight:bold; color:#01ac2a; }


/* ====================================================================================================
   SECT／01.2分でわかるトヨニシファーム
   ---------------------------------------------------------------------------------------------------- */

/* 基本設定 */
#sect_movie                                 { width:100%; margin:0; padding:50px 10px; }

/* 動画を再生する */
#movie_play                                 { position:relative; width:100%; height:250px; padding:25px 0; letter-spacing:0.1em; text-align:left; color:#fff; background:url(../../img/mv/02.jpg) no-repeat center center; background-size:cover; border-radius:15px; cursor:pointer; }
#movie_play::before                         { content:""; position:absolute; top: 0%; left:  0%; z-index:2; width:100%; height:100%; margin:auto; border-radius:15px; background:rgba(0,0,0,0.8); }
#movie_play::after                          { content:""; position:absolute; top:50%; right:25%; z-index:4; width:60px; height:60px; margin:-30px -30px 0 -30px; background:url(../../img/common/etc/youtube_circle.svg) no-repeat center center; background-size:cover; transition:.2s; }
#movie_play article                         { position:absolute; top:0; left:0; z-index:2; width:100%; height:100%; padding:30px 25px; }
#movie_play article h1                      { color:#fff; }
#movie_play article h2                      { color:#fff; margin-bottom:35px; }
#movie_play article .btn                    { display:none; }
#movie_play .character                      { position:absolute; bottom:0; left:0; right:0; z-index:2; width:26%; margin:0 auto; overflow:hidden; }
#movie_play .character img                  { width:100%;}

/* ポップアップ動画 */
#videoPopup                                 { position:fixed; z-index:9999; top:0; right:0; bottom:0; left:0; background:rgba(1,172,42,0.95); -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); opacity:0; visibility:hidden; display:flex; flex-direction:column; justify-content:center; align-items:center; transition:all 0.2s ease; }
#videoPopup .videoBody                      { position:relative; width:calc(100% - 20px); height:auto; margin:auto; }
#videoPopup .videoBody:before               { content: ""; display:block; width:100%; height:auto; padding-bottom:56.25%; }
#videoPopup .videoBody iframe               { position:absolute; top:0; right:0; bottom:0; left:0; width:100%; height:100%; margin:auto; border-radius:20px; }
#videoPopup.on                              { opacity:1; visibility:visible; }

/* ポップアップ動画：閉じるボタン */
#close_btn                                  { position:absolute; top:0px; left:0px; z-index:2; width:100px; height:100px; cursor:pointer; }
#close_btn:before                           { content:""; position:absolute; top:50%; left:50%; width:40px; height:3px; margin:-5px 0px 0px -22px; background:#E9483C; transform:rotate( 45deg); border-radius:3px; transition:all 0.2s ease; }
#close_btn:after                            { content:""; position:absolute; top:50%; left:50%; width:40px; height:3px; margin:-5px 0px 0px -22px; background:#E9483C; transform:rotate(-45deg); border-radius:3px; transition:all 0.2s ease; }


/* ====================================================================================================
   SECT／02.数字で見るトヨニシファーム
   ---------------------------------------------------------------------------------------------------- */

/* 基本設定 */
#sect_numbers                               { width:100%; margin:0; padding:50px 10px; }

/* グリッド：基本 */
#sect_numbers .grid                         { display:grid; grid-template-columns:1fr 1fr; margin:0 -5px 10px -5px; }
#sect_numbers .grid .box                    { position:relative; width:calc(100% - 10px); margin:0 5px 10px 5px; padding:0; background:#bfeaca; border-radius:15px; overflow:hidden; }
#sect_numbers .grid .box .base,
#sect_numbers .grid .box .base img,
#sect_numbers .grid .box .image img         { width:100%; }
#sect_numbers .grid .box .image             { position:absolute; top:0; left:0; z-index:2; width:100%; }
#sect_numbers .grid .box .no                { position:absolute; top:0; left:0; z-index:4; width:100%; font-size:1.5vw; line-height:1; font-weight:bold; text-align:center; }
#sect_numbers .grid .box .no strong         { margin:0 0.1em 0 0.3em; font-size:6.0vw; letter-spacing:0; font-weight:400; font-family: 'Concert One', cursive; }

/* グリッド：順・サイズ */
#sect_numbers .grid .box:nth-child(1)       { grid-column-start:1; grid-column-end:3; grid-row-start:1; grid-row-end:2; }
#sect_numbers .grid .box:nth-child(2)       { grid-column-start:1; grid-column-end:2; grid-row-start:2; grid-row-end:3; }
#sect_numbers .grid .box:nth-child(3)       { grid-column-start:2; grid-column-end:3; grid-row-start:2; grid-row-end:3; }
#sect_numbers .grid .box:nth-child(4)       { grid-column-start:1; grid-column-end:2; grid-row-start:3; grid-row-end:4; }
#sect_numbers .grid .box:nth-child(5)       { grid-column-start:2; grid-column-end:3; grid-row-start:3; grid-row-end:4; }
#sect_numbers .grid .box:nth-child(6)       { grid-column-start:1; grid-column-end:3; grid-row-start:4; grid-row-end:6; }

/* グリッド：調整 */
#sect_numbers .grid .box h3                 { font-size:1.2rem; line-height:1.2; letter-spacing:0.05em; text-align:center; }
#sect_numbers .grid .box:nth-child(1) h3,
#sect_numbers .grid .box:nth-child(6) h3    { font-size:2.0rem; }

/* グリッド：01.社員の平均年齢 */
#sect_numbers .grid .box:nth-child(1) ._no_01        { top:21%; left:10%; width:80%; } 
#sect_numbers .grid .box:nth-child(1) ._no_02        { top:74%; left: 9%; width:30%; }
#sect_numbers .grid .box:nth-child(1) ._no_03        { top:74%; left:35%; width:30%; } 
#sect_numbers .grid .box:nth-child(1) ._no_04        { top:74%; left:61%; width:30%; }
#sect_numbers .grid .box:nth-child(1) ._no_01 strong { font-size:4.0rem; letter-spacing:-0.05em; }
#sect_numbers .grid .box:nth-child(1) ._no_01 span   { font-size:1.2rem; }
#sect_numbers .grid .box:nth-child(1) ._no_02 span,
#sect_numbers .grid .box:nth-child(1) ._no_03 span,
#sect_numbers .grid .box:nth-child(1) ._no_04 span   { font-size:0.8rem; }
#sect_numbers .grid .box:nth-child(1) ._no_02 strong,
#sect_numbers .grid .box:nth-child(1) ._no_03 strong,
#sect_numbers .grid .box:nth-child(1) ._no_04 strong { font-size:2.2rem; letter-spacing:-0.05em; }

/* グリッド：02.トヨニシファームができて何年？ */
#sect_numbers .grid .box:nth-child(2)                { padding-bottom:20px; }
#sect_numbers .grid .box:nth-child(2) ._no_01        { top:38%; left:10%; width:80%; } 
#sect_numbers .grid .box:nth-child(2) ._no_02        { top:77%; left:10%; width:80%; }
#sect_numbers .grid .box:nth-child(2) ._no_01 strong { font-size:3.6rem; }
#sect_numbers .grid .box:nth-child(2) ._no_01 span   { font-size:1.0rem; }
#sect_numbers .grid .box:nth-child(2) ._no_02 strong { font-size:0.9rem; margin:0 0.1em; letter-spacing: 0.05em; }
#sect_numbers .grid .box:nth-child(2) ._no_02 span   { font-size:0.7rem; }

/* グリッド：03.職種別割合 */
#sect_numbers .grid .box:nth-child(3) .image         { width:50%; height:auto; left:0; right:0; top:30%; margin:auto; }
#sect_numbers .grid .box:nth-child(3) ._no_01        { top:27%; left:10%; width:50%; } 
#sect_numbers .grid .box:nth-child(3) ._no_02        { top:58%; left: 2%; width:50%; } 
#sect_numbers .grid .box:nth-child(3) ._no_03        { top:58%; left:45%; width:50%; } 
#sect_numbers .grid .box:nth-child(3) .no strong     { font-size:7.0vw; margin:0 0.1em 0 0.5em; }
#sect_numbers .grid .box:nth-child(3) .no span       { font-size:0.9rem; }

/* グリッド：04.管理職の平均年齢 */
#sect_numbers .grid .box:nth-child(4) ._no_01        { top:36%; left:10%; width:80%; }
#sect_numbers .grid .box:nth-child(4) ._no_01 strong { font-size:3.6rem; margin:0; }
#sect_numbers .grid .box:nth-child(4) ._no_01 span   { font-size:1.2rem; }

/* グリッド：05.平均有給取得日数 */
#sect_numbers .grid .box:nth-child(5) .no            { font-size:0.7rem; transform:rotate(-10deg) skew(-10deg); } 
#sect_numbers .grid .box:nth-child(5) .no strong     { font-size:1.6rem; margin:0; }
#sect_numbers .grid .box:nth-child(5) .no span       { font-size:0.5rem; }
#sect_numbers .grid .box:nth-child(5) ._no_01        { top:30.0%; left: 9%; width:30%; line-height:2.6; } 
#sect_numbers .grid .box:nth-child(5) ._no_02        { top:26.0%; left:35%; width:30%; line-height:2.8; } 
#sect_numbers .grid .box:nth-child(5) ._no_03        { top:21.0%; left:60%; width:30%; line-height:3.0; } 

/* グリッド：06.従業員男女比率 */
#sect_numbers .grid .box:nth-child(6) ._no_01        { top:30%; left: 3%; width:50%; } 
#sect_numbers .grid .box:nth-child(6) ._no_02        { top:30%; left:50%; width:50%; }
#sect_numbers .grid .box:nth-child(6) ._no_03        { top:52%; left: 0%; width:35%; } 
#sect_numbers .grid .box:nth-child(6) ._no_04        { top:37%; left:32%; width:36%; }
#sect_numbers .grid .box:nth-child(6) ._no_05        { top:52%; left:65%; width:35%; }
#sect_numbers .grid .box:nth-child(6) ._no_01 strong,
#sect_numbers .grid .box:nth-child(6) ._no_02 strong { font-size:3.0rem; margin:0; letter-spacing:-0.01em; }
#sect_numbers .grid .box:nth-child(6) ._no_01 span,
#sect_numbers .grid .box:nth-child(6) ._no_02 span   { font-size:1.0rem; }
#sect_numbers .grid .box:nth-child(6) ._no_03 strong,
#sect_numbers .grid .box:nth-child(6) ._no_04 strong,
#sect_numbers .grid .box:nth-child(6) ._no_05 strong { font-size:2.0rem; margin:0; }
#sect_numbers .grid .box:nth-child(6) ._no_03 span,
#sect_numbers .grid .box:nth-child(6) ._no_04 span,
#sect_numbers .grid .box:nth-child(6) ._no_05 span   { font-size:0.8rem; }


/* ====================================================================================================
   SECT／03.採用メッセージ
   ---------------------------------------------------------------------------------------------------- */

/* 基本設定 */
#sect_message                               { width:100%; margin:0; padding:50px 40px; display:flex; flex-wrap:wrap; flex-direction:column-reverse; }

/* 採用担当イメージ */
#sect_message .recruiter                    { position:relative; width:60%; margin:0 auto; padding:0; }
#sect_message .recruiter img                { border-bottom:2px solid #01ac2a; margin-bottom:15px; }
#sect_message .recruiter h1                 { font-size:1.3rem; letter-spacing:0.1em; line-height:1.6; font-weight:bold; text-align:right; color:#01ac2a; }
#sect_message .recruiter h1 span            { font-size:70%; }

/* 見出し */
#sect_message .recruit_hgroup               { position:relative; width:100%; padding:30px 0; }
#sect_message .recruit_hgroup .number       { left:0; }
#sect_message .recruit_hgroup h1            { margin-bottom:60px; }
#sect_message .recruit_hgroup h2            { font-size:1.7rem; line-height:1.3; margin-bottom:2.0rem; }
#sect_message .recruit_hgroup p             { width:100%; margin:0 0 35px 0; font-size:1.0rem; letter-spacing:0.1em; line-height:1.8; font-weight:bold; color:#01ac2a; }


/* ====================================================================================================
   SECT／04.働きやすいPOINT
   ---------------------------------------------------------------------------------------------------- */

/* タイトル */
#sect_merit                                 { width:100%; margin:0; padding:50px 0 50px 0; }
#sect_merit .inner                          { position:relative; width:100%; background:url(../../img/recruit/2023/common/bg_green.svg) no-repeat left top #fcf8ef; background-size:cover; color:#fff; padding:10px 0 70px 0; border-radius:30px 0 0 30px; }
#sect_merit .recruit_hgroup                 { padding:30px 40px; }

/* 見出し */
#sect_merit .recruit_hgroup .number         { top:-35px; }
#sect_merit .recruit_hgroup h1,
#sect_merit .recruit_hgroup h2              { color:#fff; }

/* スライダー設定 */
#sect_merit .slider                         { width:100%; }
#sect_merit .slider .slick-track            { display:flex; }
#sect_merit .slider .slick-track .slick-slide { height:auto !important; }
#sect_merit .slider .slick-prev             { left:-30px; }
#sect_merit .slider .box                    { height:calc(100% - 20px); background:rgba(255,255,255,0.8); border-radius:15px; margin:0 10px; }
#sect_merit .slider .box img                { width:100%; border-radius:15px 15px 0 0; }
#sect_merit .slider .box .hgroup            { width:100%; padding:15px 30px 30px 30px; }
#sect_merit .slider .box h3                 { font-size:1.4rem; line-height:1.4; color:#01ac2a; width:100%; margin:0 0 15px 0; }
#sect_merit .slider .box h3 br              { display:block; }
#sect_merit .slider .box p                  { font-size:0.8rem; line-height:1.6; color:#01ac2a; width:100%; margin:0 0; }

/* スライダー共通 */
.slider .slick-prev,
.slider .slick-next                         { top:130px; top:0; bottom:0; width:60px; height:60px; margin:auto 0; background-color:#fff; background-size:30px; border:2px solid #01ac2a; border-radius:50%; }
.slider .slick-prev                         { right:auto; left:20px; }
.slider .slick-next                         { right:20px; left:auto; }


/* ====================================================================================================
   SECT／05.先輩インタビュー
   ---------------------------------------------------------------------------------------------------- */

/* 基本設定 */
#sect_interview                             { position:relative; width:100%; margin:0; padding:50px 0; } 
#sect_interview .recruit_hgroup             { padding:30px 40px 0 40px; }

/* スライダー */
#sect_interview .slider                     { position:relative; padding:10px 0; }
#sect_interview .slider .box                { position:relative; margin:0 10px; padding:10px 0; }
#sect_interview .slider .box .btn           { position:relative; display:block; padding:10px; cursor:pointer; }
#sect_interview .slider .box .btn img       { width:100%; background:#01ac2a; border:2px solid #01ac2a; border-radius:50%; transition:all .2s ease; }
#sect_interview .slider .box .hgroup        { padding:15px 0 0 0; color:#01ac2a; text-align:center; }
#sect_interview .slider .box .hgroup h1     { padding:0 0px 20px 0px; font-size:1.05rem; line-height:1.6; letter-spacing:0.05em; }
#sect_interview .slider .box .hgroup h1 br  { display:none; }
#sect_interview .slider .box .hgroup h2     { padding:0px; font-size:0.8rem; line-height:1.6; letter-spacing:0.05em; }

/* 小窓 */
.window                                     { position:fixed; top:0; left:0; z-index:1000; width:100%; height:100vh; height:100dvh; background:url(../../img/recruit/2023/common/bg_green.svg) no-repeat left top #fcf8ef; background-size:cover; overflow:hidden; opacity:0; visibility:hidden; pointer-events:none; transition:all 0.2s ease;  }
.window.on                                  { opacity:1; visibility:visible; pointer-events:auto; }
.window .container                          { position:absolute; top:0; right:0; bottom:0; width:calc(100% - 20px); height:calc(100vh - 40px); height:calc(100dvh - 40px); margin:auto; background:#fff; overflow:auto; border-radius:20px 0 0 20px; box-shadow:1px 1px 10px rgba(0,0,0,0.5); }
.window .header                             { position:relative; margin-top:-1px; }
.window .header img.eyecatch                { width:100%; }
.window .header article h1                  { padding:0 30px; font-size:1.4rem; line-height:1.6; font-weight:bold; color:#000; }
.window .header .thumb                      { position:relative; width:calc(100% - 60px); margin:-50px auto 30px auto; padding:110px 0 0 0; }
.window .header .thumb img                  { position:absolute; top:0; right:0; z-index:2; width:100px; margin:0 0 15px 0; border-radius:50%; }
.window .header .thumb h1                   { width:calc(100% - 120px); font-size:0.8rem; line-height:1.6; margin-top:-35px; }
.window .header .thumb h2                   { width:calc(100% - 120px); font-size:1.0rem; line-height:1.6; }
.window .header .thumb h3                   { width:calc(100% - 120px); font-size:0.4rem; line-height:1.6; }
.window .faq                                { display:flex; padding:60px 15px; overflow:hidden; }
.window .faq .list                          { width:100%; }
.window .faq .list li                       { position:relative; padding:0 30px 40px 30px; }
.window .faq .list li::after                { content:""; display:block; clear:both; height:0; visibility:hidden; }
.window .faq .list li .ttl                  { position:relative; padding:0 0 20px 30px; font-size:1.2rem; font-weight:bold; color:#01ac2a; }
.window .faq .list li .ttl span             { position:absolute; top:-10px; left:-20px; display:flex; justify-content:center; width:40px; height:40px; margin-right:5px; font-size:1.1rem; line-height:40px; letter-spacing:0.05em; color:#fff; font-family: 'Concert One', cursive; background:#01ac2a; border-radius:50%; transform:rotate(-10deg) skew(-10deg); }
.window .faq .list li p                     { padding:0 0 1rem 0; font-size:1.0rem; line-height:2; }
.window .faq .list img.img_left,
.window .faq .list div.img_left,
.window .faq .list img.img_right,
.window .faq .list div.img_right            { max-width:100%; margin:0 0 15px 0; display:block; clear:both; float:none; border-radius:10px; }

/* 小窓：閉じるボタン */     
.window .close_btn                          { position:absolute; top:5px; left:5px; z-index:2; width:50px; height:50px; background:#f33; border-radius:50%; cursor:pointer; transition:all 0.2s ease; }
.window .close_btn:before                   { content:""; position:absolute; top:50%; left:50%; width:20px; height:2px; margin:0px 0px 0px -10px; background:#fff; transform:rotate( 45deg); border-radius:3px; }
.window .close_btn:after                    { content:""; position:absolute; top:50%; left:50%; width:20px; height:2px; margin:0px 0px 0px -10px; background:#fff; transform:rotate(-45deg); border-radius:3px; }


/* ====================================================================================================
   キャラクタープロフィール
   ---------------------------------------------------------------------------------------------------- */

/* 小窓 */
#c01.window .header                         { background:url(../../img/recruit/2023/character/eyecatch.jpg) no-repeat right 100px #fff; background-size:400px 200px; }
#c01.window .header article                 { width:100%; margin:auto 0; padding:0 40px; }
#c01.window .header article h1              { font-size:0.6rem; line-height:1.3; color:#111; letter-spacing:0.05em; margin:-20px 0 40px 0; padding:0; transform: rotate(-10deg) skew(-10deg); }
#c01.window .header article h1 strong       { font-size:2.7rem; letter-spacing:0; font-family: 'Concert One', cursive; }
#c01.window .header article h2              { font-size:1.0rem; line-height:2.0; color:#111; letter-spacing:0.1em; text-align:justify; }
#c01.window .header img.eyecatch            { display:none; }
#c01.window .header .thumb                  { position:relative; width:100%; margin:-100px auto 0; overflow:hidden; }
#c01.window .header .thumb img              { position:relative; width:calc(100% + 35px); max-width:calc(100% + 35px); margin:0 -20px 15px -30px; border-radius:0; }
#c01.window .header .thumb h1               { font-size:0.5rem; line-height:1.6; text-align:center; }
#c01.window .header .thumb h2               { font-size:0.7rem; line-height:1.6; text-align:center; }
#c01.window .faq                            { display:flex; padding:50px 0 50px 40px; }
#c01.window .faq .list                      { display:flex; padding:0; }
#c01.window .faq .list li                   { width:50%; padding:0 10px 0 0; }
#c01.window .faq .list li .ttl              { padding:0; font-size:1.2rem; text-shadow:1px 1px 0 #fff,-1px 1px 0 #fff,1px -1px 0 #fff,-1px -1px 0 #fff,1px 0 0 #fff,0 1px 0 #fff,-1px 0 0 #fff,0 -1px 0 #fff; }
#c01.window .faq .list li p                 { padding:0 20% 1rem 0; font-size:0.9rem; line-height:2; }


/* ====================================================================================================
   SECT／06.よくあるご質問
   ---------------------------------------------------------------------------------------------------- */

/* 基本設定 */
#sect_faq                                   { position:relative; width:100%; margin:0; padding:50px 25px; } 
#sect_faq .recruit_hgroup                   { padding:30px 15px 25px 15px; }

/* FAQリスト */
#sect_faq dl                                { margin-bottom:25px; padding:0; }
#sect_faq dl dt                             { position:relative; margin-bottom:10px; }
#sect_faq dl dt h2                          { padding:16px 20px 16px 70px; font-size:1.0rem; line-height:1.6; font-weight:bold; color:#111; background:url(../../img/recruit/2023/faq/icon_q.svg) no-repeat 15px 8px #fff; background-size:40px; border:2px solid #01ac2a; border-radius:5px; box-shadow:1px 1px 3px rgba(0,0,0,0.1); cursor:pointer; transition:all 0.2s ease; }
#sect_faq dl dt.on h2                       { background-color:#bfeaca; border-color:#01ba33; }
#sect_faq dl dd div                         { position:relative; margin-bottom:20px; padding:25px 40px 25px 70px; background:url(../../img/recruit/2023/faq/icon_a.svg) no-repeat 15px 15px; color:#111; display:block; background-size:40px; border-radius:2px; }
#sect_faq dl dd div p                       { font-size:1.0rem; line-height:1.6; margin:10px 0; }
#sect_faq .none                             { display:none; }


/* ====================================================================================================
   SECT／求人情報
   ---------------------------------------------------------------------------------------------------- */

/* 基本設定 */
#sect_recruit                              { position:relative; width:100%; margin:0; padding:50px 0 50px 10px; overflow:hidden; } 
#sect_recruit h1.ttl_l                     { position:absolute; top:0; left:auto; z-index:0; margin-left:-50px; font-size:20vw; font-weight:500; letter-spacing:-0.05em; color:#bfeaca; white-space:nowrap; font-family: 'Concert One', cursive; }

/* 記事リスト */
.atls_list                                 { margin:25px 0 0 0; }
.atls_list article                         { width:100%; margin:0 0 10px 0; }
.atls_list article a                       { display:flex; flex-wrap:wrap; display:block; padding:20px 40px 20px 20px; color:#fff; border:3px solid #01ac2a; border-right:none; background:url(../../img/common/wt/next.svg) no-repeat right 25px center #01ac2a; background-size:20px; border-radius:16px 0 0 16px; transition:all 0.2s ease; }
.atls_list article a .category             { display:inline-block; margin:0 5px 5px 0; padding:0 15px; font-size:1.0rem; text-align:center; line-height:30px; font-weight:bold; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#01ac2a; background:#ddd; border-radius:20px; }
.atls_list article a .category span        { font-size:0.7rem; margin-right:5px; }
.atls_list article a .category._a          { background:#fff; }
.atls_list article a .category._a._ap      { background:#95c136; }
.atls_list article a .category._a._ap      { font-size:0.8rem; }
.atls_list article a .category._b          { background:#ffcc33; color:#01ac2a; }
.atls_list article a .category._c          { background:#019524; color:#fff; }
.atls_list article a h1                    { font-size:1.6rem; line-height:1.4; margin-bottom:6px; }
.atls_list article a h2                    { font-size:1.0rem; line-height:1.4; margin-bottom:6px; }
.atls_list article a h3                    { font-size:1.0rem; line-height:1.4; margin-bottom:20px; }


/* ====================================================================================================
   SECT／SNS
   ---------------------------------------------------------------------------------------------------- */

#sect_sns                                   { width:100%; padding:25px; background:-webkit-linear-gradient(top,rgba(1,172,42,0),rgba(1,172,42,1)); background:linear-gradient(to bottom,rgba(1,172,42,0),rgba(1,172,42,1)); }
#sect_sns .flex                             { display:flex; justify-content:left; }
#sect_sns .flex .box                        { width:60px; margin:6px; }
#sect_sns .flex .box a                      { width:60px; height:60px; margin-bottom:7px; padding:10px; border-radius:50%; background:#fff; display:block; }
#sect_sns .flex .box a img                  { width:40px; height:40px; }
#sect_sns .flex .box p                      { font-size:0.4rem; line-height:1.4; text-align:center; font-weight:bold; color:#fff; }


/* ====================================================================================================
   フッター
   ---------------------------------------------------------------------------------------------------- */

/* 基本設定 */
footer                                     { position:relative; width:100%; height:auto; margin:0; padding:50px 25px; background:#01ac2a; } 
footer h1,
footer p                                   { font-style:normal; text-align:left; color:#fff; text-shadow:0 0 5px rgba(0,0,0,0.5); }
footer h1                                  { font-size:1.2rem; line-height:1.5; margin-bottom:0.5em;}
footer p                                   { font-size:0.9rem; line-height:1.8; }
footer p a                                 { color:#fff !important; text-decoration:underline; }
footer p img                               { width:30px; height:30px; margin:0 0 5px 5px; border-radius:8px; }
footer .btns                               { width:100%; margin:25px 0; }
footer .btns .btn                          { width:100%; margin-bottom:10px; }
footer .copy                               { font-size:0.9rem; line-height:1.4; letter-spacing:0.1em; font-weight:500; text-align:left; color:#fff; }
	
/* ページ先頭 */
#page_top                                  { position:fixed; bottom:30px; right:15px; z-index:104; width:40px; height:40px; transition:.2s; }
#page_top a                                { width:100%; height:100%; background:url(../../img/common/wt/up.svg) no-repeat 50% 50% #01ac2a; display:block; text-indent:150%; white-space:nowrap; overflow:hidden; display:block; background-size:14px; border-radius:50%; box-shadow:1px 1px 6px rgba(0,0,0,0.06); transition:.2s; }
#page_top a:before                         { content:""; position:absolute; top:10px; right:0; left:0; z-index:2; width:12px; height:2px; background:#fff; margin:0px auto 0px auto; transition:.2s; }
#page_top                                  { opacity:0; visibility:hidden; } 
#page_top.on                               { opacity:1; visibility:visible; }   


/* ====================================================================================================
   採用詳細ページ
   ---------------------------------------------------------------------------------------------------- */

/* ヘッタ */
#recruit_2023_detail header                { position:relative; width:100%; height:160px; padding:60px 25px 50px 25px; }
#recruit_2023_detail header h1 img         { width:150px; height:50px; }
#recruit_2023_detail header h2             { position:absolute; top:0; left:0; }
#recruit_2023_detail header h2 a           { display:block; padding:15px 15px 15px 30px; font-size:0.7rem; line-height:1.4; letter-spacing:0.1em; color:#fff; background:url(../../img/common/wt/prev.svg) no-repeat 10px center; background-size:12px; }
#recruit_2023_detail header::before        { content:""; position:absolute; top:0; left:0; z-index:-2; width:100%; height:100%; background:url(../../img/recruit/2023/common/bg_green.svg) no-repeat fixed center center #01ac2a; background-size:cover; }
#recruit_2023_detail header::after         { content:""; position:absolute; top:0; left:0; z-index:-1; width:100%; height:100%; background:url(../../img/recruit/2023/detail/thumb.png) no-repeat right top; background-size:240px 120px; }

/* 基本設定 */
#recruit_detail                            { width:calc(100% - 10px); display:block; margin:-30px 0 40px 10px; padding:40px; border:2px solid #01ac2a; border-right:none; background:#fff; border-radius:16px 0 0 16px;}

/* 詳細ヘッタ */
#recruit_detail .pghd                      { position:relative; color:#01ac2a; margin-bottom:25px; }
#recruit_detail .pghd h1                   { font-size:1.6rem; line-height:1.6; }
#recruit_detail .pghd h2                   { font-size:1.0rem; line-height:1.6; margin-bottom:20px; }
#recruit_detail .pghd h3,
#recruit_detail .pghd h4                   { font-size:1.1rem; line-height:1.6; }
#recruit_detail .pghd .count               { width:100%; margin:10px auto 50px auto; font-size:0.9rem; font-weight:normal; color:#837347; line-height:20px; letter-spacing:0.05em; display:block; white-space:nowrap; font-family: 'Concert One', cursive; opacity:0.5; }
#recruit_detail .pghd .count time          { margin:0 20px 0 0; padding:1px 0 0 24px; display:inline-block; background:url(../../img/common/bk/time.svg) no-repeat left 2px; background-size:18px; }
#recruit_detail .pghd .count .view         { margin:0  0px 0 0; padding:1px 0 0 24px; display:inline-block; background:url(../../img/common/bk/view.svg) no-repeat left 2px; background-size:18px; }

/* エントリーの場合 */
#recruit_detail .pghd._entry               { border-bottom:1px solid #01ac2a; padding-bottom:35px; }

/* エントリー */
#recruit_detail .entry                     { margin:50px -40px; padding:15px; background:#eee; border-radius:4px; }
#recruit_detail .entry .btn                { width:220px; margin:0 auto; color:#000; background:#fff; border:2px solid #000; border-bottom:4px solid #000; border-radius:10px; transition:.2s; }
#recruit_detail .entry .btn._entry         { background:#ff3; }
#recruit_detail .entry .btn:hover          { transform:scale(1.05); }

/* タイトル設定 */
#recruit_detail .atl_txt h2.ttl            { position:relative; display:inline-block; margin:0 0 20px 0; padding:12px 20px; font-size:1.1rem; line-height:1.2; letter-spacing:0.1em; text-align:center; color:#fff; background:#01ac2a; border-radius:30px; }
#recruit_detail .atl_txt h2.ttl::after     { content:""; position:absolute; bottom:-7px; left:50%; z-index:2; margin:0 0 0 -10px; width:0; height:0; border-right:0px solid transparent; border-top:8px solid #01ac2a; border-left:10px solid transparent; }

/* テキスト設定 */
.atl_txt                                   { font-size:1.07rem; line-height:1.8em; font-weight:500; color:#111; word-wrap:break-word; overflow-wrap:break-word; }
.atl_txt p                                 { font-size:1.07rem; margin:0 0 1.6em 0; padding:0px; line-height:2.0em; font-weight:500; font-feature-settings:"palt"; color:#111; font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.atl_txt p a                               { border-bottom:1px dotted; }
.atl_txt p a.btn                           { border-bottom:none; }
.atl_txt em                                { font-weight:bold; }
.atl_txt img                               { border-radius:4px; }

/* OL リスト */
.atl_txt ol                                { counter-reset:li; font-size:1.07rem; line-height:1.5em; margin:0 0 1.6em 0; color:#111; }
.atl_txt ol > li                           { position:relative; padding:0 0 1em 30px; }
.atl_txt ol > li:before                    { position:absolute; top:1px; left:0; counter-increment:li; content:counter(li); line-height:22px; width:22px; text-align:center; font-size:14px; font-weight:bold; font-family:Arial, Helvetica, sans-serif; color:#fff; background:#036; border-radius:50%; }

/* UL リスト */
.atl_txt ul                                { font-size:1.07rem; line-height:1.5em; margin:0 0 1.6em 25px; }
.atl_txt ul li                             { position:relative; padding:0 0 1em 0; display:inline; }
.atl_txt ul li:before                      { content:""; position:absolute; top:8px; left:-18px; z-index:2; display:block; width:8px; height:8px; background:#6666a3; border-radius:20px; }
.atl_txt ul li:after                       { content:""; width:10%; height:10px; display:block;}

/* OL UL 入れ子 */
.atl_txt ol li ul,
.atl_txt ul li ul                          { margin-top:20px; }
.atl_txt ol li ul li,
.atl_txt ul li ul li                       { padding:0 0 8px 20px; }
.atl_txt ol li ul li:before, 
.atl_txt ul li ul li:before                { content:""; position:absolute; top:12px; left:5px; z-index:2; display:block; width:4px; height:4px; background:#b2b2b2; border-radius:20px; }

/* TABLE テーブル */
.atl_txt table                             { width:100%; margin:0 0 1.6em 0; border-collapse:collapse; border-spacing:0; border:1px solid #e2e2e2; }
.atl_txt table th                          { padding:10px 20px; word-wrap:break-word; border-bottom:1px solid #e2e2e2; }
.atl_txt table td                          { padding:10px 20px; word-wrap:break-word; border-bottom:1px solid #e2e2e2; }
.atl_txt table th                          { text-align:left; background-color:rgba(0,0,0,0.02); }
.atl_txt table.style_no                    { font-size:14px; border:none; }
.atl_txt table.style_no th                 { padding:0 14px 0 0 !important; border:none; }
.atl_txt table.style_no td                 { padding:0 0 10px 0 !important; border:none; }

/* Sサイズ */
table.size_s th,
table.size_s td                            { font-size:13px; padding:5px 10px 5px; }
table.size_s select                        { margin:0 5px 0 0; padding:2px 38px 2px 4px !important; min-width:80px; }
table.size_s input,
table.size_s textarea                      { margin:0 5px 0 0; }
table.size_s span.hissu,
table.size_s span.nini                     { top:8px; right:8px; }

/* DL リスト */ 
.atl_txt dl                                { font-size:1.0rem; line-height:1.6em; letter-spacing:0.2em; margin:0 -40px 1.6em 0; padding:15px 0 25px 0; }
.atl_txt dl dt                             { width:100%; margin:5px 0 15px 0; font-weight:bold; color:#01ac2a; }
.atl_txt dl dd                             { width:100%; margin:0 0 15px 0; padding:0 30px 25px 0; border-bottom:1px solid rgba(0,0,0,0.05); }
.atl_txt dl dd:last-child                  { margin-bottom:0; padding-bottom:0; border-bottom:none; }
.atl_txt dl img                            { width:96px; height:96px; border:4px solid #fff; border-radius:50%; }

/* FIELDSET フレーム */ 
.atl_txt fieldset                          { font-size:1.0rem; line-height:1.6em; margin:0 0 1.6em 0; padding:20px 25px 25px 25px; border:2px solid rgba(0,0,0,0.2); }
.atl_txt fieldset ol:last-child,
.atl_txt fieldset ul:last-child,
.atl_txt fieldset p:last-child             { margin-bottom:0px; }
.atl_txt fieldset legend                   { font-size:1.0rem; font-weight:bold; color:#111; padding:0px 10px; }

/* PRE フレーム */ 
.atl_txt pre                               { position:relative; font-size:15px; line-height:1.4em; margin:0 0 1.6em 0; width:100%; padding:25px; border-left:6px solid #ddd; background-color:#f5f5f5; overflow:auto; box-sizing: border-box; }

/* BLOCKQUOUT Q 引用・転載 */ 
.atl_txt blockquote                        { position:relative; font-size:16px; line-height:1.3em; margin:0 0 1.6em 0; padding:25px 25px 25px 32px; box-sizing:border-box; font-style:italic; color:#555; background:#e0e0e0; }
.atl_txt blockquote:before                 { content:""; position:absolute; top:-2px; left:0px; z-index:2; width:30px; height:30px; background:url(../../img/common/bk/blockquote.svg) no-repeat center center; background-size:cover; display:block; }
.atl_txt blockquote:after                  { content:"";   position:absolute; top: 0px; left:  0px; border-width:0 0 40px 40px; border-style:solid; border-color:transparent #fff; }
.atl_txt blockquote p                      { position:relative; margin:10px 0; padding:0; z-index:3; line-height:1.6em; }
.atl_txt blockquote cite                   { display:block; text-align:right; color:#888888; font-size:0.9em; }
.atl_txt q                                 { position:relative; font-size:1.0rem; line-height:1.6em; margin:0 0 1.6em 0; }

/* イメージフロート */
img.img_center ,
div.img_center                             { max-width:100%; margin:15px auto 15px auto; display:block; text-align:center; }
img.img_center_s ,
div.img_center_s                           { max-width: 50%; margin:15px auto 15px auto; display:block; text-align:center; }
img.img_left,
div.img_left                               { max-width: 48%; margin: 0px 15px 15px  0px; display:block; clear:both; float:left; }
img.img_right,
div.img_right                              { max-width: 48%; margin: 0px  0px 15px 15px; display:block; clear:both; float:right; }
.img_center p,
.img_right p,
.img_left p                                { font-size:85% !important; color:#888 !important; margin-top:10px !important; }
.img_left img,
.img_right img,
.img_center img                            { width:100%; }
.img_left img,
.img_right img,
.img_center img,
img.img_left,
img.img_right,
img.img_center                             { -webkit-border-radius:6px; border-radius:6px; }
p.caption                                  { font-size:14px !important; color:#666 !important; margin:-18px 0 2.2em 0 !important; }

/* 写真：小 */
.photos                                    { -webkit-display:flex; display:-ms-flexbox; display:flex; flex-wrap:wrap; margin:25px -1.5%; }
.photos img.img_center_s,
.photos div.img_center_s                   { width:47%; max-width:47%; margin:1.5%; display:block; }
.caption                                   { margin:-25px 0; }

/* フレーム調整 */
#topics .atl_txt .frame h3                 { margin-top:30px; }

/* マップ埋め込み */
.frame_map                                 { padding:40px 0; }
.frame_map iframe                          { border-radius:4px; border:1px solid #ededed; background:#e5e3df; }

/* カウント */
dl.count                                   { margin-top:80px; }
dl.count dd                                { min-height:1px; }
dl.count dd::after                         { content: "."; display:block; clear:both; height:0; visibility:hidden; }
dl.count a                                 { position:relative; float:left; width:auto; margin:0 5px 5px 0px; padding:0px 12px 0px 12px; font-size:12px; line-height:26px; font-weight:bold; text-align:center; color:#fff; display:block; border:2px solid #00a0e6; background:#00a0e6; white-space:nowrap; border-radius:15px; }

/* ページナビ：前後 */
.pg_nav                                    { position:relative; width:100%; height:60px; margin:20px 0px 35px 0px; }
.pg_nav:after                              { content: "."; display:block; clear:both; height:0; visibility:hidden; }
.pg_nav .next                              { float:right; position:relative; width:49%; height:80px; }
.pg_nav .prev                              { float: left; position:relative; width:49%; height:80px; }
.pg_nav a                                  { width:100%; height:60px; color:#fff; background: url(#) no-repeat right 5px center #00a0e6; background-size:14px; border-radius:5px; display:flex; align-items:center; }
.pg_nav a  h1                              { font-size:12px; font-weight:normal; line-height:20px; width:100%; max-height:40px; text-align:center; display:block; overflow:hidden; }
.pg_nav .next a                            { padding:0 100px 0 10px; background-image:url(../../img/common/wt/next.svg); background-position:right 5px center; }
.pg_nav .prev a                            { padding:0 10px 0 100px; background-image:url(../../img/common/wt/prev.svg); background-position:5px center; }
.pg_nav .next a img,
.pg_nav .prev a img                        { position:absolute; top:5px; width:50px; height:50px; z-index:2; }
.pg_nav .next a img                        { right:25px; }
.pg_nav .prev a img                        { left: 25px; }

/* シェアボタン */
#sns_share                                 { padding:12px; background:#eee; border-radius:4px; }
#sns_share h1                              { float:left; font-size:14px; line-height:30px; margin-right:10px; color:#333333; }
#sns_share .btn                            { float:left; width:auto; height:30px; margin-right:4px; }


/* ===================================================================================================
   エントリ―フォーム
   ---------------------------------------------------------------------------------------------------- */

/* テーブル内設定 */
form table td input[type=text]:last-child, 
form table td input[type=password]:last-child,
form table td input[type=email]:last-child, 
form table td select:last-child,
form table td textarea:last-child          { margin:0 10px 0 5px; }
form table td p                            { margin-left:5px !important; }
form table th                              { position:relative; padding:22px 50px 20px 14px !important; text-align:left; vertical-align:top; }
form table td                              { padding:14px 14px 14px 9px !important; }

/* 必須 */
form span.hissu                            { position:absolute; top:0; right:0; z-index:2; width:40px; height:20px; font-size:12px; line-height:20px; font-weight:bold; text-align:center; color:#fff; background: #ea6ea6; border-radius:2px; }
form span.nini                             { position:absolute; top:0; right:0; z-index:2; width:40px; height:20px; font-size:12px; line-height:20px; font-weight:bold; text-align:center; color:#fff; background: #666666; border-radius:2px; }

/* フォーム:パーツ */
form label                                 { position:relative; font-size:16px; line-height:24px; font-weight:bold; color:#4b4b4b; margin:5px 5px 8px 0; display:block; }
form label span                            { margin-left:.5em; font-size:12px; color:#888; }
form label span.required,
form label span.option                     { top:0; right:-5px; margin-left:.5em; padding:0 5px; background-color:#fd4949; color:#fff; font-size:12px; border-radius:3px; }
form select                                { padding:8px 38px 8px 8px !important; background:url(../../img/common/etc/select.svg) no-repeat right center; cursor:pointer; background-size:25px 60px; }
form select,
form input,
form textarea                              { -webkit-appearance:none; appearance:none; border-radius:0; margin:0 5px 15px 5px; padding:8px; background-color:#f7f6f1; border:1px solid #d4d2cb; font-size:16px; font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-weight:500; box-sizing:border-box; }
form input[type="submit"], 
form input[type="button"],
button.btn                                 { -webkit-appearance:none; appearance:none; border-radius:0; background-color:#036; font-weight:normal; margin:25px auto; padding:15px 35px; display:block; border:none; font-size:16px; font-weight:bold; color:#fff; cursor:pointer; transition:all .2s; font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; border-radius:30px; }
form .frame                                { margin-bottom:2em; }
.frame table:last-child                    { margin-bottom:5px; }

form .mustitem                             { background:#ffe2e1; border-color:#ff0000; }
form ._100                                 { width:calc(100% - 5px); }
form ._m                                   { width:300px; }
form ._s                                   { width:150px; }
form .margin_no                            { margin:0; }

/* フォーム:フォーカス設定 */
form select:focus,
form input[type="text"]:focus,
form input[type="email"]:focus,
textarea:focus                             { box-shadow:0 0 6px rgba(0,0,0,0.1); border:1px solid #3cbea0; }

/* フォーム:エラー設定 */
form .error                                { position:relative; display:block; margin:0 -5px 15px 5px; padding:10px 20px 10px 10px; background-color:#f66; border:1px solid #f00; border-radius:5px; color:#fff; }
form .error:after                          { content:""; position:absolute; top:-16px;left:14px; border:solid transparent; }
form .error:before                         { content:""; position:absolute; top:-1.0rem;left:15px; border:solid transparent; }
form .error:after                          { margin-left:1px; border-bottom-color:#f66; border-width:8px;}
form .error:before                         { border-bottom-color:#f00; border-width:8px; }

/* チェックボックス */
.input-checkbox                            { display:inline-block; position:relative; padding:0px 20px 0px 32px; }
.input-checkbox label                      { position:initial !important; cursor:pointer; }
.input-checkbox input[type="checkbox"]     { margin:0; display:none; }
.input-checkbox input[type="checkbox"]     { margin:5px 10px 5px 5px; width:20px !important; border:2px solid #036; cursor:pointer; }
.input-checkbox label                      { display:inline-block; font-size:1.0rem; line-height:30px; color:#036; cursor:pointer; }
.input-checkbox label:before,
.input-checkbox label:after                { content:""; position:absolute; display:inline-block; transition:transform .2s ease; }
.input-checkbox label:before               { top:5px; left:5px; width:18px; height:18px; border:2px solid #036; background:#fff; border-radius:0px; }
.input-checkbox label:after                { top:11px; left:11px; width:7px; height:11px; margin-top:-5.5px; border-right:3px solid transparent; border-bottom:3px solid transparent; border-radius:0px; transform:rotate(45deg); transition:border-bottom-color,border-right-color .2s ease; }
.input-checkbox input[type="checkbox"]:checked + label:before { background:#fff; }
.input-checkbox input[type="checkbox"]:checked + label:after  { border-color:#0C3; }
td .input-checkbox:first-child             { margin-top:5px; }
td .input-checkbox.left:first-child        { margin-top:0px; }

/* ラジオボタン */
.input-radio                               { display:block; position:relative; padding:0px 20px 20px 32px; }
.input-radio input[type="radio"]           { display:none; border:0; margin:0; }
.input-radio label                         { position:initial !important; cursor:pointer; display:inline-block; margin:0; font-size:1.0rem; line-height:30px; color:#036; cursor:pointer; }
.input-radio label:before,
.input-radio label:after                   { content: ""; position:absolute; display:inline-block; border-radius:50%; transition:transform .2s ease; }
.input-radio label:before                  { top:4px; left: 5px; width:18px; height:18px; border:2px solid #d4d2cb; background:#f7f6f1; }
.input-radio label:after                   { top:9px; left:10px; width:12px; height:12px; background-color:transparent; transform:scale(0); }
.input-radio input[type="radio"]:checked + label:before { background:#fff; }
.input-radio input[type="radio"]:checked + label:after  { background-color:#0C3; transform:scale(1); }
td .input-radio:first-child                { margin-top:5px; }
td .input-radio.left:first-child           { margin-top:0px; }

/* 画像認証 */
#recaptcha                                 { width:302px; margin:25px auto; }
.imgchange                                 { width:100px; border:1px solid #ddd; padding:8px 3px 7px 3px; margin:0px 0px 0px 5px; color:#111; cursor:pointer; text-align:center; font-size:13px; background-color:#fff; font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Arial, Verdana, "ＭＳ Ｐゴシック", sans-serif; }

/* フォームセレクト */
.form_select                               { color:#fff;}
.form_select                               { position:relative; width:400px; height:54px; margin:25px auto; padding:5px 0; color:#fff; background:#3CC; overflow:visible; border-radius:3px;}
.form_select::before                       { content:""; position:absolute; bottom:-10px; left:50%; display:block; width:0; height:0; margin-left:-10px; border-style:solid; border-width:10px 10px 0px 10px; border-color:#3cc transparent transparent transparent; z-index:2;}
.form_select p                             { display:block; float:left; width:auto; margin:0 20px !important; line-height:44px !important; color:#fff !important;}
.form_select select                        { position:absolute; top:0; right:0; bottom:0; left:0; z-index:2; margin:auto; width:160px; height:44px; border:2px solid #eaf9f9;}


/* ====================================================================================================
   パーツ
   ---------------------------------------------------------------------------------------------------- */

/* ボタン */
a.btn                                      { position:relative; width:100%; min-height:50px; margin:0 auto 1.6em auto; padding:14px 40px 14px 30px; font-size:1.1rem; line-height:1.4; letter-spacing:0.1em; font-weight:bold; color:#fff; background:url(../../img/common/wt/next.svg) no-repeat right 18px center #01ac2a; background-size:13px; border-radius:25px; display:flex; align-items:center; justify-content:center; text-align:center; transition:all 0.2s ease;  }

/* ボタン：白 */
a.btn._wt                                  { color:#01ac2a; background-image:url(../../img/common/bk/next.svg); background-color:#fff; }

/* ボタン：小窓 */
a.btn._window                              { background-image:url(../../img/recruit_2021/common/wt/window.svg); background-size:20px; }
a.btn._wt._window                          { background-image:url(../../img/recruit_2021/common/bk/window.svg); background-size:20px; }

/* テキストリンク */
a.link                                     { position:relative; padding:0 0 0 25px; font-feature-settings:"palt"; }
a.link:before                              { content:""; position:absolute; top:5px; left:5px; z-index:2; width:12px; height:12px; background:url(../../img/common/bk/next.svg) no-repeat center center;  background-size:cover; }
a.link.blank:before                        { background-image:url(../../img/common/bk/blank.svg); }

/* タグ */
.tag                                       { display:flex; flex-wrap:wrap; margin:10px 0 1em; }
.tag li                                    { overflow:hidden; }
.tag a                                     { position:relative; float:left; width:auto; margin:3px 5px 3px 0px; padding:5px 30px 5px 12px; font-size:1.1rem; line-height:1.2; font-weight:bold; text-align:center; color:#01ac2a; display:block; border:2px solid #01ac2a; background:#fff; white-space:nowrap; border-radius:18px; transition:all 0.2s ease; }
.tag a span                                { position:absolute; top:0; right:5px; bottom:0; width:20px; height:22px; display:block; margin:auto 0; font-size:0.7rem; line-height:2.0em; text-align:center; color:#666; font-weight:normal; }

/* カラム・フロート設定 */
.col_left                                  { float: left; width:47%; }
.col_right                                 { float:right; width:47%; }
.left                                      { float: left; }
.right                                     { float:right; }

/* Clearfix */
.cf:after                                  { content: "."; display:block; clear:both; height:0; visibility:hidden; }
.cf                                        { min-height:1px; }
