:root{
    --HeaderHeight: calc(var(--HeaderFlexHeight) + var(--HeaderNaviHeight));
    --HeaderFlexHeight: 64px;
    --HeaderNaviHeight: 48px;
    --HeaderColor: #9999ff;
    --baseColor: #172A88;
}

/*
 *  Delighters.js 関連
 */
.delighter{
    transition: all .9s ease-out;
    transform: translateY(64px);
    opacity: 0;
}
.started{
    opacity: 1;
    transform: translateY(0px);
}
.ended{
}

.red{
    color: #f00;
}
.gold{
    color: gold;
}


/*
 *  全ページ共通スタイル
 */
html{
    /* フォントサイズの正確に */
    -webkit-text-size-adjust: 100%;
    /* 文字をシャープに */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* カーニングとリガチャ（合字）を調整 */
    text-rendering: optimizeLegibility;
    scroll-behavior: smooth;
}

body{
    position: relative;
    margin: 0;
    padding: 0;
    font-family:'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;;
    font-size: 16px;
    opacity: 0;
    transition: 1000ms;
}
body{
    background-image: url('../img/common/wall.jpg');
    background-attachment: fixed;
}
body.appear{
    opacity: 1;
}

img{
    padding: 0;
    margin: 0;
    border-style: none;
}

/*  すべての要素に対し、フォントとBLOCKサイズの固定値を設定*/
*{
    font-family: 'cursive','メイリオ', meiryo, 'ヒラギノ明朝', 'HG明朝E',  serif, 'Noto Serif JP';
    box-sizing: border-box;
    line-height: 1.4em;
    -webkit-font-smoothing: antialiased;
}



.gothic{
    font-family: 'cursive','メイリオ', meiryo, 'ヒラギノ明朝', 'HG明朝E',  serif, 'Noto Serif JP';
}

.mincho{
    font-family: 'cursive','ＭＳ 明朝', 'ＭＳ 明朝', 'ヒラギノ明朝', 'HG明朝E',  serif, 'Noto Serif JP';
}

.yuji-syuku-regular {
  font-family: "Yuji Syuku", serif;
  font-weight: 400;
  font-style: normal;
}

h1,h2,h3,h4,h5,h6,h7,h8{
    display: block;
    font-size: 1em;
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: normal;
    unicode-bidi: isolate;
}


/*  リンクタグは ［下線なし 文字色は親要素継承］*/
a{
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}
/*  リンクマウスオーバー時の文字色不変*/
 a,
 a:hover,
 a:visited{
     color: inherit;
 }

/*  テーブルブロック内の class="tr" は テーブル行である*/
.tr{
    display: table-row;
}

/*  テーブルブロック内の class="td*"(th*) は セルである*/
.td,.td1,.td2,.td3,.td4,.td5,.td6,.td7,.td8,.td9,.td10,
.td11,.td12,.td13,.td14,.td15,.td16,.td17,.td18,.td19,.td20,
.th,.th1,.th2,.th3,.th4,.th5,.th6,.th7,.th8,.th9,.th10,
.th11,.th12,.th13,.th14,.th15,.th16,.th17,.th18,.th19,.th20{
    display: table-cell;
    vertical-align: top;
    border-collapse: collapse;
}

p{
    margin: 0;
    padding: 0;
    line-height: 1.4em;
}

label{
    user-selection: false;
    cursor: pointer;
}


/*  全要素において class="relative" が含まれれば 相対ブロック扱いである*/
.relative{
    position: relative;
}
/*  全要素において class="absolute" が含まれれば 浮遊ブロック扱いである*/
/*  浮遊ブロックの親要素は必ず .relative であること*/
.absolute{
    position: absolute;
}

.inner{
    position: relative;
}


.wFull{
    width: 100%;
}
.w100{
    width: 100px;
}
.w120{
    width: 120px;
}
.w160{
    width: 160px;
}
.w180{
    width: 180px;
}
.w200{
    width: 200px;
}
.w220{
    width: 220px;
}
.w240{
    width: 240px;
}
.w260{
    width: 260px;
}
.w280{
    width: 280px;
}
.w300{
    width: 300px;
}
.w320{
    width: 320px;
}
.w340{
    width: 340px;
}
.w360{
    width: 360px;
}
.w380{
    width: 380px;
}
.w400{
    width: 400px;
}
.w420{
    width: 420px;
}
.w440{
    width: 440px;
}
.w460{
    width: 460px;
}
.w480{
    width: 480px;
}
.w500{
    width: 500px;
}
.w520{
    width: 520px;
}
.w540{
    width: 540px;
}
.w560{
    width: 560px;
}
.w580{
    width: 580px;
}
.w600{
    width: 600px;
}
.w620{
    width: 620px;
}
.w640{
    width: 640px;
}
.w660{
    width: 660px;
}
.w680{
    width: 680px;
}
.w700{
    width: 700px;
}
.w720{
    width: 720px;
}
.w740{
    width: 740px;
}
.w760{
    width: 760px;
}
.w780{
    width: 780px;
}
.w800{
    width: 800px;
}
.w820{
    width: 820px;
}
.w840{
    width: 840px;
}
.w860{
    width: 860px;
}
.w880{
    width: 880px;
}
.w900{
    width: 900px;
}
.w920{
    width: 920px;
}
.w940{
    width: 940px;
}
.w960{
    width: 960px;
}
.w980{
    width: 980px;
}
.w1000{
    width: 1000px;
}

.hFull{
    height: 100%;
}
.h100{
    height: 100px;
}
.h120{
    height: 120px;
}
.h160{
    height: 160px;
}
.h180{
    height: 180px;
}
.h200{
    height: 200px;
}
.h220{
    height: 220px;
}
.h240{
    height: 240px;
}
.h260{
    height: 260px;
}
.h280{
    height: 280px;
}
.h300{
    height: 300px;
}
.h320{
    height: 320px;
}
.h340{
    height: 340px;
}
.h360{
    height: 360px;
}
.h380{
    height: 380px;
}
.h400{
    height: 400px;
}
.h420{
    height: 420px;
}
.h440{
    height: 440px;
}
.h460{
    height: 460px;
}
.h480{
    height: 480px;
}
.h500{
    height: 500px;
}
.h520{
    height: 520px;
}
.h540{
    height: 540px;
}
.h560{
    height: 560px;
}
.h580{
    height: 580px;
}
.h600{
    height: 600px;
}
.h620{
    height: 620px;
}
.h640{
    height: 640px;
}
.h660{
    height: 660px;
}
.h680{
    height: 680px;
}
.h700{
    height: 700px;
}
.h720{
    height: 720px;
}
.h740{
    height: 740px;
}
.h760{
    height: 760px;
}
.h780{
    height: 780px;
}
.h800{
    height: 800px;
}
.h820{
    height: 820px;
}
.h840{
    height: 840px;
}
.h860{
    height: 860px;
}
.h880{
    height: 880px;
}
.h900{
    height: 900px;
}
.h920{
    height: 920px;
}
.h940{
    height: 940px;
}
.h960{
    height: 960px;
}
.h980{
    height: 980px;
}
.h1000{
    height: 1000px;
}


.center{
    margin: 0 auto;
}

.blockLabel{
    display: block;
}
/*--------------------------
    PageParts
--------------------------*/
.contentArea > .inner{
    padding-top: 96px;
    padding-bottom: 96px;
}
.contentTitle{
    font-size: 30px;
    color: var(--baseColor);
    font-weight: bold;
    text-align: center;
    padding: 16px;
    border: 1px solid #000;
    background: -webkit-linear-gradient(top, #fff 0%, #f0f0f0 100%);
    background: linear-gradient(to bottom, #fff 0%, #f0f0f0 100%);
    border: 1px solid #ccc;
    border-top: 4px solid var(--baseColor);
    box-shadow: 0 -1px 0 rgba(255, 255, 255, 1) inset;
    margin-bottom: 32px;
}

/*-------------------------------------------
    Index & Apply 共通
--------------------------------------------*/
.schedule{
    margin-bottom: 32px;
}
.className{
    font-size: 20px;
    font-weight: bold;
}
.scheduleTable{
    border-collapse: collapse;
}
.scheduleTable > tbody > tr > td{
    padding: 8px;
    border: #593b1d 1px solid;
}
.scheduleTable > tbody > tr > .td1{
    background-color: wheat;
    min-width: 120px;
}
.scheduleTable > tbody > tr > .td2{
    width: 840px;
}
.scheduleTable > tbody > tr > .td2 > .inner{
    position: relative;
    width: 100%;
}
.scheduleButtonFlex{
    display: flex;
    position: absolute;
    right: 8px;
    top: 0;
    gap: 8px;
    color: #fff;
}
.btnPdf{
    height: 24px;
    width: 100px;
    display: grid;
    place-content: center;
    background-color: #f00;
    border-radius: 4px;
    color: #fff;
    font-size: 14px;
}
.btnPdf:after{
    content: '日程表(PDF)';
}
.btnPdf:hover{
    background-color: #900;
    color: #fff;
}
.btnApply{
    height: 24px;
    width: 70px;
    display: grid;
    place-content: center;
    background-color: #06f;
    border-radius: 4px;
    font-size: 14px;
}
.btnApply:after{
    content: 'お申込み';
}
.btnApply:hover{
    background-color: #009;
}

.tsuushinYouten{
    color: #f00;
    border-bottom: 3px double #f00;
}

.applyTable{
    display: table;
    margin-bottom: 32px;
}
.applyTable > .tr > .td{
    padding: 8px 16px;
    vertical-align: middle;
}
.applyTable > .tr > .td1{
    background-color: #f5f2f0;
    font-weight: bold;
}
.applyTable .blockLabel{
    margin-bottom: 4px;
}

input[type='text'],
input[type='tel'],
input[type='email'],
input[type='date'],
input[type='number']{
    padding: 8px;
}

input[name='NAME']{
    width: 200px;
}
input[name='KANA']{
    width: 200px;
}
input[name='ZIP']{
    width: 100px;
}
input[name='ADDRESS']{
    margin-left: 16px;
    width: 400px;
}
input[name='BIRTHDAY']{
    
}
input[name='WORK']{
    width: 200px;
}
input[name='WORKEXP']{
    width: 80px;
}
input[name='TEL']{
    width: 200px;
}
input[name='EMAIL']{
    width: 300px;
}
input[name='COMPANY']{
    width: 200px;
}
input[name='CAREER']{
    width: 200px;
}
input[name='SCHOOL']{
    width: 200px;
}

.submitArea{
    width: 100%;
    padding-top: 32px;
    padding-bottom: 32px;
}
.submitArea .btnSubmit{
    padding: 16px 8px;
    text-align: center;
    width: 100%;
    border: 1px solid;
    font-size: 20px;
    cursor: pointer;
}
.submitArea .btnSubmit:hover{
    background-color: #ccc;
}

textarea[name='SUMMARY']{
    min-width: 300px;
    min-height: 80px;
}

/*--------------------------
    Header
--------------------------*/
header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--HeaderHeight);
    z-index: 999;
    background-color: var(--HeaderColor);
    box-shadow: 0px 1px 4px rgba(0,0,0,0.8);
}
.headerMargin{
    height: var(--HeaderHeight);
}

.headerFlex{
    display: flex;
    width: 100%;
    height: var(--HeaderFlexHeight);
    justify-content: space-between;
    align-items: center;
}
.headerFlexLeft{
    height: 100%;
    padding: 8px 16px;
}
.headerLogo{
    display: block;
    height: 100%;
    aspect-ratio: 1 / 0.101039133;
    background-image: url('../img/common/2kyuKenchikushiSenkaGoukakuLogo.svg');
    background-size: cover;
}
.headerFlexRight{
    padding-right: 16px;
    font-size: 30px;
    color: #fff;
    font-weight: bold;
    text-shadow:
    1px 1px 0  var(--baseColor),
    -3px 3px 0  var(--baseColor),
    -1px -1px 0  var(--baseColor),
    1px -1px 0  var(--baseColor);
}

/*-----------------
    HeaderNavi
*/
.headerNavi{
    height: var(--HeaderNaviHeight);
    background-color: var(--HeaderColor);
}

.headerNavi > .inner{
    display: flex;
    justify-content: center;
    align-content: center;
    gap: 2px;
}

.headerNavi .naviItem{
    display: grid;
    place-content: center;
    padding: 8px;
    min-width: 248px;
    color: #fff;
    background-color: #172A88;
    border: #fff 1px double;
}
.headerNavi .naviItem:hover{
    background-color: gold;
    color: #172A88;
    border:  #172A88 1px double;
}

.headerNavi .naviItem.toContact{
    display: block;
    position: fixed;
    bottom: 16px;
    right: 16px;
    text-align: center;
}

/*------------------------------
    Footer
------------------------------*/

/*-----------------------------------------------------------------------------
    優先適用
-----------------------------------------------------------------------------*/
.pcno{  /*PC版非表示*/
    display: none !important;
}

.invisible{
    display: none !important;
}

.hidden{
    display: none !important;
}