@charset "UTF-8";

html,
body,
header,
main,
article,
section,
footer,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
hr,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
figure,
figcaption,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
form,
input,
textarea,
select,
button {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    box-sizing: border-box;
}

*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    font-size: 100%;
    /* rem の基準になる */
    line-height: 1;
    min-height: 100% !important;
    height: 100%;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

/* remember to define focus styles! */
/* :focus {
    outline: 0;
} */

/* remember to highlight inserts somehow! */
ins {
    text-decoration: none;
}

del {
    text-decoration: line-through;
}

address,
em,
i {
    font-style: normal;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
    border-collapse: separate;
    border-spacing: 0;
}

/** font defalut settings */
h1,
h2,
h3,
h4,
h5,
h6,
p,
td,
dt,
dd,
li,
a,
label,
div,
span,
th,
td,
small,
svg {
    font-family: "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/** font defalut settings */
p,
td,
dd,
li {
    /* text-align: justify; */
    /* text-justify: inter-ideograph; */
}

/* 数字がセルを突き破らないようにするため */
th,
td {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/*  */
img {
    /* 画像のアスペクト比を維持して表示する */
    /* object-fit: cover; */
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

/* h1 {
    font-size: 2.2rem;
    font-weight: bold;
} */

/* h2 {
    font-size: 2rem;
    font-weight: bold;
} */

/* h3 {
    font-size: 1.8rem;
    font-weight: bold;
} */

.container h3 {
    font-size: 1.6rem;
    position: relative;
}

p {
    font-size: 1.6rem;
    color: #333333;
    /* 16px 相当：1em に等しい */
}


/* スマホを横向きにした時、WEBサイトの文字サイズを勝手に変更させない方法 */
.contents h1,
.contents h2,
.contents h3,
.contents p,
.contents dd,
.contents dt,
.container li,
.contents a,
.contents span,
.contents th,
.contents td,
.contents time
 {
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}


/*
 レイアウト基本設定
 */
.container {
    width: 100%;
    min-height: 100%;
    position: relative;
    overflow: hidden;
}

header,
footer {
    width: 100%;
    /* width: min-content; */
    display: block;
}

header {
    position: fixed;
    top: 0;
    /* padding: 1rem; */
}

footer {
    position: absolute;
    bottom: 0;
    padding: 0.5rem;
}

/* .footer-container {
    position: relative;
    border: 2px solid yellow;
} */

/* フッターリンク */
.footer-nav a::before {
    content: "r";
    font-family: 'アイコンフォント';
    font-size: 0.9em;
    display: inline-block;
    margin-right: 0.5rem;
    vertical-align: 0.15rem;
}

.footer-nav a[target]::before {
    content: "w";
    font-family: 'アイコンフォント';
    display: inline-block;
    margin-right: 0.5rem;
}


/*  */
.noscript {
    background: #ff4400;
    font-size: 1em;
    padding: 2em 0;
}

/* Font */
@font-face {
    font-family: "アイコンフォント";
    src: url(../font/OTS-Web.woff) format("woff");
}

.container .normal_link {
    text-decoration: none;
}

.container .normal_link:hover {
    text-decoration: underline;
    color: #b40000; /* orange */
}

.container .normal_link::before {
    content: "r";
    font-family: "アイコンフォント";
    font-size: 0.85em;
    display: inline-block;
    padding: 0 0.5rem 0 0;
    vertical-align: 0.1em;
}

/* 
 * フォーム共通部分
 */
 /* 同意ボタン */
 .formbtn {
    font-size: 1.5rem;
    line-height: 3rem;
    text-align: center;
    margin-bottom: 20px;
}

.formbtn > label {
    vertical-align: 3px;
}


/* レイアウト共通部分 */

/* 音声ブラウザ */
.voice_browser {
    /* border: 2px solid blue; */
    position: absolute;
    font-size: 1px;
    visibility: hidden;
}

/* ボーダーを付ける場合 */
.border_btm {
    position: relative;
    margin-bottom: 2rem;
    /* padding-bottom: 1rem; */
    border-bottom: 1px solid #cccccc;
}


/* ボタン */
.btn_container {
    text-align: center;
    margin-bottom: 2rem;
    padding: 1.5rem 0;
}

.btn_container > .btn_a {
    margin: auto;
}

.btn_container_column {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}

.btn_container_column > * {
    flex-basis: 20rem;
    /* flex-grow: 1; */
    /* flex-shrink: 2; */
}


.btn_a {
    display: inline-block;
    font-size: 1.6rem;
    color: #ffffff;
    width: max-content;
    /* height: 4rem; */
    padding: 0.6rem 3.5rem 0.5rem;
    margin-bottom: 2.5rem;
    background: #0044cc;
    text-decoration: none;
    position: relative;
    cursor: pointer;
    text-align: center;
    /*  */
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn_a::before {
    /* 白い >  */
    /* content: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuODrOOCpOODpOODvF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiDQoJIHk9IjBweCIgd2lkdGg9IjE4cHgiIGhlaWdodD0iMThweCIgdmlld0JveD0iMCAwIDE4IDE4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxOCAxOCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjQuMTMxLDE0LjkzMiA1LjQsMTYuMiAxMi42LDkgNS40LDEuOCA0LjEzMSwzLjA2OSAxMC4wNTMsOSAJIi8+DQo8L2c+DQo8L3N2Zz4NCg=='); */
    content: "r";
    font-family: 'アイコンフォント';
    display: inline-block;
    position: relative;
    top: -0.2rem;
    left: -1.3rem;
    /* bottom: calc(50% - 1.2rem); */
    /* left: 1rem; */
}

/* 新しいウィンドウ.contents a[target]::before */
.btn_a[target]::before,
.intext[target]::before {
    /* 青いウィンドウアイコン */
    /* content: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuODrOOCpOODpOODvF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiDQoJIHk9IjBweCIgd2lkdGg9IjE0cHgiIGhlaWdodD0iMTRweCIgdmlld0JveD0iMCAwIDE0IDE0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNCAxNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cG9seWdvbiBmaWxsPSIjMDAyQ0M1IiBwb2ludHM9IjEuMTU2LDEyLjc5NyAxLjE1NiwzIDAsMyAwLDE0IDEzLDE0IDEzLDEyLjc5NyAiLz4NCjxwYXRoIGZpbGw9IiMwMDJDQzUiIGQ9Ik0zLjAxNiwwdjExSDE0VjBIMy4wMTZ6IE0xMi45ODQsMTBINFYzaDguOTg0VjEweiIvPg0KPC9zdmc+DQo='); */
    content: "w";
    font-family: "アイコンフォント";
    display: inline-block;
    /* margin-right: 0.5rem; */
    vertical-align: -0.2rem;
}

.btn_a:hover, .btn_b:hover {
    background: #b40000; /* orange */
}

.btn_b {
    display: inline-block;
    font-size: 1.6rem;
    color: #0044cc;
    width: max-content;
    height: 3.6rem;
    padding: 0 3.5rem;
    margin-bottom: 2.5rem;
    background: #ffffff;
    border: 3px solid #0044cc;
    text-decoration: none;
    position: relative;
    cursor: pointer;
    /*  */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ページ内リンク */
/* .icn_inline_link {
    text-decoration: underline;
} */

.icn_inline_link::before {
    content: "r ";
    font-family: 'アイコンフォント';
    /* position: relative; */
    font-size: 1.3rem;
    vertical-align: 0.3rem;
    margin-left: 0.7rem;
}


/*
　ユーティリティ
*/
.column {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.column > * {
    flex-basis: 50%;
}

.line_height_1 {
    line-height: 1;
}

.this_block {
    /* FONT-WEIGHT: 200; */
    display: block;
    width: 100%;
    /* height: 100%; */
    /* object-fit: cover; */
    /* object-position: 100% 100%; */
}

.list_dot {
    margin: 0 0 2rem 0;
    font-size: 1.6rem;
}

.list_dot li {
    list-style-type: disc;
    margin: 0 0 0 1em;
}

/* フェードイン */
@keyframes fadeIn {
    form {
        visibility: hidden;
        opacity: 0;
    }
    to {
        visibility: visible;
        opacity: 0.8;
    }
}

/* .container h3~p.noborder:last-child {
    border: none;
} */


/* 上に戻るボタン */
/* .container-return2top {
    width: 100%;
    position: fixed;
    bottom: 3rem;
    right: 1rem;
    z-index: 20;
} */

.return2top {
    display: inline-block;
    width: 50px;
    height: 50px;
    position: fixed;
    visibility: hidden;
    opacity: 0;
    /* left: 80.5%; */
    margin: 0 0 0 93rem;
    bottom: 3rem;
    z-index: 100;
    /*  */
    /* transition: opacity 1200ms 10ms ease, bottom 100ms 0s ease; */
}

.return2top.in {
    animation: fadeIn 0.2s linear 0s forwards;
}

.return2top::after {
    content: "上に戻る";
    display: block;
    text-align: center;
    font-size: 1.2rem;
}

/* CSS 改行 */
.css_br {
    white-space: pre-line;
}

/* スペーサー */
.margin_AV_m1 {
    display: block;
    margin: -1rem 0;
}


/*  */
.voice_ {
    position: absolute;
    top:0;
    left: 0;
    font-size: 10px;
    /* visibility: hidden; */
    background: red;
}

/* 新卒・中途アイコン */
.icn_shinsotsu, .icn_chuto, .icn_boss {
    display: inline-block;
    font-size: 1.4rem;
    width: 9rem;
    height: 2.2rem;
    line-height: 1.9rem;
    text-align: center;
    padding: 0.1rem 0 0;
    border: 2px solid #5985df;
    border-radius: 1rem;
    background: #ebf1ff;
    /* display: flex; */
    /* justify-content: center; */
    /* align-items: center; */
}

.icn_chuto {
    border: 2px solid #ffa464;
    background: #fff0e5;
}

.icn_boss {
    background: #5985df;
    width: max-content;
    padding: 0 2rem;
    color: #ffffff;
    height: 2.5rem;
    line-height: 2.4rem;
    border-radius: 1.5rem;
    margin-bottom: 0.5rem;
}


/* 囲み */
.enclose_a {
    /* margin: 4rem 0 3rem; */
    margin: 0 0 3rem;
    /* padding: 0 2rem 0; */
    border: 1px solid #cccccc;
}

.enclose_a p {
    margin: 2rem 2.5rem 0;
}

.enclose_title {
    font-size: 1.5rem;
    font-weight: bold;
    height: 3.5rem;
    padding: 0.2rem 2.5rem 0;
    border-bottom: 1px solid #cccccc;
    background: #dddddd;
    
     /* 以下、上下中心の設定 */
     display: flex;
     /* justify-content: center; */
     align-items: center;
}

/*  */
.relative {
    position: relative;
}

/* 募集職種用 */
.icn_ex, .icn_ex2, .icn_ex3, .icn_ex4 {
    position: absolute;
    top: 2px;
    left: 10rem;
}

.icn_ex2 {
    left: 20rem;
}

.icn_ex3 {
    left: 29rem;
}

.icn_ex4 {
    left: 39rem;
}

/* 
 * 会社説明会エントリー
 ++++++++++++++++++++++++++++++ */

 .no_carriage_return {
    display: inline-block;
}

.no_carriage_return input {
    margin-right: 0.3rem;
}

/* 三角形 */
.triangle {
    height: calc(35px / 2.5);
    width: 35px;
    clip-path: polygon(0 100%, 100% 100%, 50% 0);
    background: #0044cc;
    transform: rotate(180deg);
    margin: 1rem auto;
  }

/* モードフラグ */
.flg-sp, .flg-tablet, .flg-pc {
    display: none;
}

/*  */
.separator {
    border-top: 1px dashed #ccc;
    margin-bottom: 2rem;
}

/*  */
.br_pc, .br_sp, .br_tablet {
    display: none;
}

/*  */
.container p.padding_btm_0 {
    padding-bottom: 0;
}






































