:root{
    --HeaderHeight: calc(var(--HeaderFlexHeight) + var(--HeaderNaviHeight));
    --HeaderFlexHeight: 40px;
    --HeaderNaviHeight: 0px;
    --HeaderColor: #9999ff;
    --baseColor: #172A88;
}
/*
 *  Delighters.js 関連
 */

.delighter{
    transition: all .7s ease-out;
    transform: translateY(36px);
    opacity: 0;
}
.started{
    opacity: 1;
    transform: translateY(0px);
}
.ended{
}

.red{
	color: #b00;
}

/*
 *  全ページ共通スタイル
 */

body{
    opacity: 1;
    transition: 1s;
    position: relative;
}

div,section,article,header,footer{
    padding: 0;
    margin: 0;
}

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

body{
    margin: 0;
    padding: 0;
    font-family: fot-tsukuardgothic-std, sans-serif;
    font-size: 16px;
}

h1,
h2,
h3,
h4,
h5{
    font-weight: normal;
    font-size: 16px;
    margin: 0;
    padding: 0;
}


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

/*  すべての要素に対し、フォントとBLOCKサイズの固定値を設定*/
*{
    font-family: fot-tsukuardgothic-std, sans-serif;
    box-sizing: border-box;
    line-height: 1.4em;
}

.gothic{
    font-family: "Hiragino Kaku Gothic Pro W3","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;  
}

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

/*  リンクタグは ［下線なし 文字色は黒］*/
a{
    text-decoration: none;
    color: #000;
}
/*  リンクマウスオーバー時の文字色*/
a:hover{
    color: #BE0006;
}

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

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

.inner{
    position: relative;
}

.center{
    margin: 0 auto;
}

.blockLabel{
    display: block;
}

/*--------------------------
    PageParts
--------------------------*/
.contentArea > .inner{
    padding-top: 96px;
    padding-bottom: 96px;
    width: calc(100vw - 16px);
    margin: 0 auto;
}
.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{
    display: block;
    border-collapse: collapse;
    width: 100%;
}
.scheduleTable > tbody{
    display: block;
    width: 100%;
}
.scheduleTable > tbody > tr{
    display: block;
}
.scheduleTable > tbody > tr > td{
    display: block;
    padding: 8px;
    border: #593b1d 1px solid;
    width: 100%;
}
.scheduleTable > tbody > tr > .td1{
    background-color: wheat;
}
.scheduleTable > tbody > tr > .td2{
}
.scheduleTable > tbody > tr > .td2 > .inner{
    position: relative;
    width: 100%;
}
.scheduleButtonFlex{
    display: flex;
    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;
    color: #fff;
}
.btnApply:after{
    content: 'お申込み';
}
.btnApply:hover{
    background-color: #009;
    color: #fff;
}

.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: 100%;
}
input[name='KANA']{
    width: 100%;
}
input[name='ZIP']{
    width: 100px;
}
input[name='ADDRESS']{
    margin-left: 16px;
    width: calc(100% - 16px);
}
input[name='BIRTHDAY']{
    
}
input[name='WORK']{
    width: 100%;
}
input[name='WORKEXP']{
    width: 100%;
}
input[name='TEL']{
    width: 100%;
}
input[name='EMAIL']{
    width: 100%;
}
input[name='COMPANY']{
    width: 100%;
}
input[name='CAREER']{
    width: 100%;
}
input[name='SCHOOL']{
    width: 100%;
}

.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: 90%;
    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;
    position: relative;
    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{
    display: none;
}

/*-----------------
    HeaderNavi
*/
.headerNavi{
    position: fixed;
    top: var(--HeaderHeight);
    left: 0;
    right: 0;
    bottom: 0;
    max-height: 0;
    overflow: hidden;
    background-color: rgba(0,0,0,0.8);
    transition: 100ms;
}
.headerNavi.on{
    max-height: 100vh;
}

.headerNavi > .inner{
    padding: 32px;
}

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

.btnSpMenu{
    position: absolute;
    top: 4px;
    right: 8px;
    height: 32px;
    width: 32px;
    background-color: #000;
    background-image: url('../img/common/spMenu[B].svg');
    background-size: cover;
}

/**********************************************************************/
.spno{
    display: none !important;
}

input,textarea,select{
    font-size: 16px;
}