@charset "UTF-8";
/* ====================================================
reset style
==================================================== */
html { overflow-y: scroll; font-size: 62.5%; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, figure { margin: 0; padding: 0; }

* { -webkit-box-sizing: border-box; box-sizing: border-box; }

table { border-collapse: collapse; border-spacing: 0; }

fieldset, img { border: 0; }

img { vertical-align: middle; }

address, caption, cite, code, dfn, em, strong, th, var { font-style: normal; font-weight: normal; }

li { list-style: none; }

caption, th { text-align: left; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }

q:before, q:after { content: ''; }

abbr, acronym { border: 0; font-variant: normal; }

sup { vertical-align: text-top; }

sub { vertical-align: text-bottom; }

input, textarea, select { font-family: inherit; font-size: inherit; font-weight: inherit; }

/* to enable resizing for IE */
input, textarea, select { *font-size: 100%; }

/* because legend doesn't inherit in IE */
legend { color: #000; }

del, ins { text-decoration: none; }

input, select { vertical-align: middle; }

/* !Box Sizing */
* { -webkit-box-sizing: border-box; /* <=iOS 4, <= Android 2.3 */ /* Firefox 1+ */ box-sizing: border-box; /* Chrome, IE8+, Opera, Safari 5.1 */ }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; -moz-appearance: button; appearance: button; border: none; -webkit-box-sizing: border-box; box-sizing: border-box; cursor: pointer; }

input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration { display: none; }

input[type="submit"]::focus, input[type="button"]::focus { outline-offset: -2px; }

/* ====================================================
レスポンシブ
==================================================== */
/* ====================================================
カラー　$c-カラー名
==================================================== */
/* ====================================================
フォント　$f-フォント名
==================================================== */
/* ====================================================
フォントサイズ
==================================================== */
/* ====================================================
基本
==================================================== */
html, body { width: 100%; height: 100%; font-size: 62.5%; }

body { position: relative; color: #000; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Helvetica Neue", Arial, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif; font-size: 1.5em; -webkit-font-smoothing: antialiased; line-height: 1.7333; letter-spacing: 0.05em; }

body.active { position: fixed; width: 100%; }

main { display: block; padding-top: clamp(7.3rem, 9.1508052709vw, 12.5rem); }
main figure { margin: 0; }

a { color: inherit; text-decoration: none; -webkit-transition: opacity 0.3s ease; transition: opacity 0.3s ease; }
a:hover { opacity: 0.7; -webkit-transition: opacity 0.3s ease; transition: opacity 0.3s ease; }
@media (max-width: 1024px) { a a[href^="tel"] { pointer-events: none; } }

img { width: 100%; height: auto; }

img[src$=".svg"] { width: 100%; height: auto; }

sup { font-size: 70%; vertical-align: top; position: relative; top: -0.1em; }

sub { font-size: 70%; vertical-align: bottom; position: relative; bottom: -0.1em; }

/* ====================================================
全ページ共通（common）クラス
==================================================== */
.flex { display: -webkit-box; display: -moz-flex; display: -ms-flexbox; display: flex; }
@media (max-width: 1024px) { .flex { display: block; } }

.c-pc-only { display: inline-block !important; }
@media (max-width: 1024px) { .c-pc-only { display: none !important; } }
@media (max-width: 767px) { .c-pc-only { display: none !important; } }

.c-tab-only { display: none !important; }
@media (max-width: 1024px) { .c-tab-only { display: inline-block !important; } }
@media (max-width: 767px) { .c-tab-only { display: none !important; } }

.c-sp-only { display: none !important; }
@media (max-width: 1024px) { .c-sp-only { display: none !important; } }
@media (max-width: 767px) { .c-sp-only { display: inline-block !important; } }

.c-tab-over { display: inline-block !important; }
@media (max-width: 1024px) { .c-tab-over { display: inline-block !important; } }
@media (max-width: 767px) { .c-tab-over { display: none !important; } }

.c-tab-less { display: none !important; }
@media (max-width: 1024px) { .c-tab-less { display: inline-block !important; } }
@media (max-width: 767px) { .c-tab-less { display: inline-block !important; } }

.clear { clear: both !important; }

.c-justify { text-align: justify; text-justify: inter-ideograph; text-justify: inter-character; }

/* ====================================================
全ページ共通レイアウト
==================================================== */
header { position: fixed; width: 100%; top: 0; margin: 0 auto; background-color: #fff; z-index: 997; }
@media (max-width: 1024px) { header { z-index: 998; } }

.l-header-area { height: clamp(7.3rem, 9.1508052709vw, 12.5rem); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 0 8% 0 3%; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
@media (max-width: 1024px) { .l-header-area { position: relative; z-index: 4; background-color: #fff; } }
.l-header-area .logo { position: relative; font-size: clamp(2.2rem, 2.196193265vw, 3.2rem); font-weight: bold; line-height: 1.3; z-index: 5; }
.l-header-area .logo .logo_npo { display: inline-block; font-size: clamp(1.5rem, 1.6837481698vw, 2.5rem); padding-right: 0.5em; }
@media (max-width: 767px) { .l-header-area .logo .logo_npo { display: block; } }
.l-header-area .logo .logo_en { display: block; color: #0081cc; font-size: clamp(1rem, 0.878477306vw, 1.4rem); letter-spacing: 0; }
@media (max-width: 767px) { .l-header-area .logo .logo_en { display: none; } }

.header-nav { display: -webkit-box; display: -ms-flexbox; display: flex; }
@media (max-width: 1024px) { .header-nav { display: block; }
  .header-nav.active { display: block; -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; overflow: auto; -webkit-overflow-scrolling: touch; }
  .header-nav.active li { text-align: center; font-size: 1.5rem; font-weight: bold; } }
.header-nav .nav-parent { display: -webkit-box; display: -ms-flexbox; display: flex; }
@media (max-width: 1024px) { .header-nav .nav-parent { display: none; }
  .header-nav .nav-parent.active { display: block; padding: 120px 0; position: fixed; left: 0; top: 0; background-color: #fff; width: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; } }
.header-nav .nav-parent > li { position: relative; font-size: 1.6rem; font-weight: bold; padding: 15px 0; margin-left: 55px; }
.header-nav .nav-parent > li a { display: block; padding-left: 15px; }
.header-nav .nav-parent > li.sp-only-nav { display: none; }
.header-nav .nav-parent > li:nth-child(1):before { content: ""; display: inline-block; position: absolute; top: 50%; left: 15px; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); width: 26px; height: 21px; background: url(../img/common/ico_home.svg) no-repeat; background-size: contain; }
.header-nav .nav-parent > li:nth-child(2):before { content: ""; display: inline-block; position: absolute; top: 50%; left: -23px; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); width: 29px; height: 21px; background: url(../img/common/ico_seminar.svg) no-repeat; background-size: contain; }
@media (max-width: 1024px) { .header-nav .nav-parent > li:nth-child(2):before { left: 15px; } }
.header-nav .nav-parent > li:nth-child(3):before { content: ""; display: inline-block; position: absolute; top: 50%; left: -17px; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); width: 33px; height: 28px; background: url(../img/common/ico_apply.svg) no-repeat; background-size: contain; }
@media (max-width: 1024px) { .header-nav .nav-parent > li:nth-child(3):before { left: 17px; } }
.header-nav .nav-parent > li:nth-child(4):before { content: ""; display: inline-block; position: absolute; top: 50%; left: -10px; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); width: 17px; height: 14px; background: url(../img/common/ico_contact.svg) no-repeat; background-size: contain; }
@media (max-width: 1024px) { .header-nav .nav-parent > li:nth-child(4):before { left: 21px; width: 20px; height: 17px; } }
@media (max-width: 1024px) { .header-nav .nav-parent > li { font-size: 1.6rem; padding: 23px 0; margin: 0 6.7%; border-bottom: 1px solid #d3d3d3; }
  .header-nav .nav-parent > li.sp-only-nav { display: block; }
  .header-nav .nav-parent > li a { display: block; position: relative; padding-left: 60px; }
  .header-nav .nav-parent > li a::after { position: absolute; top: 31%; right: 5vw; width: 11px; height: 11px; content: ""; -webkit-transform: rotate(45deg); transform: rotate(45deg); border: 1px solid #0081cc; border-bottom: none; border-left: none; } }

.header-hamburger { display: none; }
@media (max-width: 1024px) { .header-hamburger { position: fixed; display: block; width: 30px; height: 17px; right: 20px; top: 27px; z-index: 998; }
  .header-hamburger span { position: absolute; width: 100%; height: 2px; background-color: #0081cc; -webkit-transition: 0.5s; transition: 0.5s; }
  .header-hamburger span:first-of-type { top: 0; }
  .header-hamburger span:nth-of-type(2) { top: 50%; }
  .header-hamburger span:last-of-type { top: 100%; }
  .header-hamburger.active span:first-of-type { top: 50%; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
  .header-hamburger.active span:nth-of-type(2) { opacity: 0; }
  .header-hamburger.active span:last-of-type { top: 50%; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } }

footer { position: relative; color: #fff; margin-top: clamp(13.6rem, 11.9326500732vw, 16.3rem); background-color: #0081cc; z-index: 997; }
footer .footer_wrap { padding: clamp(3.8rem, 4.9780380673vw, 6.8rem) clamp(2.5rem, 7.6866764275vw, 10.5rem) 0; }
footer .footer_wrap .flex { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; }
@media (max-width: 1024px) { footer .footer_wrap .flex { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; } }
footer .footer_wrap .flex .footer_wrap_box .name { width: 100%; font-weight: bold; font-size: clamp(2.2rem, 1.756954612vw, 2.4rem); margin-bottom: 10px; }
footer .footer_wrap .flex .footer_wrap_box p { line-height: 2.133; margin-bottom: clamp(2.3rem, 3.4407027818vw, 4.7rem); }
@media (max-width: 767px) { footer .footer_wrap .flex .footer_wrap_box p { line-height: 1.6; } }
footer .footer_wrap .flex .footer_wrap_box .contact { position: relative; width: 177px; background-color: #fff; margin-bottom: 48px; }
@media (max-width: 767px) { footer .footer_wrap .flex .footer_wrap_box .contact { margin-bottom: 85px; } }
footer .footer_wrap .flex .footer_wrap_box .contact a { display: block; color: #0081cc; text-align: center; padding: 10px 0 10px 15px; }
footer .footer_wrap .flex .footer_wrap_box .contact a:before { content: ""; display: inline-block; position: absolute; left: 25px; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); width: 15px; height: 12px; background: url(../img/common/ico_contact.svg) no-repeat; background-size: contain; }
footer .footer_wrap .flex .footer_list { margin-right: 4.832vw; }
@media (max-width: 1024px) { footer .footer_wrap .flex .footer_list { margin: 0 0 65px; } }
footer .footer_wrap .flex .footer_list p { width: 100%; font-weight: bold; margin-bottom: 10px; }
@media (max-width: 1024px) { footer .footer_wrap .flex .footer_list p { margin-bottom: 20px; } }
footer .footer_wrap .flex .footer_list .year { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 362px; }
@media (max-width: 1024px) { footer .footer_wrap .flex .footer_list .year { width: 100%; } }
footer .footer_wrap .flex .footer_list .year a { display: inline-block; width: 33%; height: 30px; line-height: 30px; }
@media (max-width: 767px) { footer .footer_wrap .flex .footer_list .year a { height: 35px; width: 50%; } }
footer .footer_wrap .flex .footer_list .year a::before { display: inline-block; content: "-"; padding-right: 4px; }
footer .copyright { text-align: right; padding: 0 40px 40px 0; }
@media (max-width: 767px) { footer .copyright { text-align: center; font-size: 1rem; padding: 0 0 20px; } }
footer .pagetop { display: none; position: fixed; bottom: 30px; right: 15px; }
footer .pagetop a { display: inline-block; position: relative; width: 64px; height: 64px; padding: 26px 21px 0; background-color: #0081cc; border: 1px solid #fff; z-index: 3; }
@media (max-width: 767px) { footer .pagetop a { width: 56px; height: 56px; padding: 24px 20px 0; } }
footer .pagetop a:after { content: ""; display: block; width: 20px; height: 20px; border-top: solid 1px #fff; border-right: solid 1px #fff; -webkit-transform: rotate(315deg); transform: rotate(315deg); }
@media (max-width: 767px) { footer .pagetop a:after { width: 14px; height: 14px; } }

.inner { max-width: 1220px; margin: 0 auto; padding: 0 40px; }

@media print { html, html body { *zoom: 0.65; }
  body { width: 960px; } }
/* ====================================================
コンテンツページ
==================================================== */
.contents_inner { max-width: 1050px; margin: 0 auto; padding: clamp(6.7rem, 5.8565153734vw, 8rem) 25px 0; }
@media (max-width: 767px) { .contents_inner { max-width: 100%; } }

ul.link_box li { margin-bottom: 0.5em; margin-left: 2em; }
ul.link_box li a[target=_blank] { padding: 3px 30px 3px 0; background: url(../img/common/ico_target.svg) 10px/20px auto no-repeat; background-position: 99% center; }
ul.link_box li a[href$=".pdf"] { padding: 3px 30px 3px 0; background: url(../img/common/ico_pdf.svg) 10px/20px auto no-repeat; background-position: 99% center; }
ul.link_box li a[href$=".xlsx"] { padding: 3px 30px 3px 0; background: url(../img/common/ico_xlsx.svg) 10px/20px auto no-repeat; background-position: 99% center; }
ul.link_box li a[href$=".docx"] { padding: 3px 30px 3px 0; background: url(../img/common/ico_docx.svg) 10px/20px auto no-repeat; background-position: 99% center; }
ul.link_box li a { position: relative; color: #0081cc; font-weight: bold; text-decoration: none; line-height: 1.5; }
ul.link_box li a:before { content: ""; position: absolute; top: 0; left: -30px; width: 18px; height: 18px; border: solid 1px #0081cc; border-radius: 50%; }
ul.link_box li a:after { content: ""; position: absolute; top: 7px; left: -24px; width: 5px; height: 5px; border: 0; border-top: solid 1px #0081cc; border-right: solid 1px #0081cc; -webkit-transform: rotate(45deg); transform: rotate(45deg); }

/* ====================================================
パンくず
==================================================== */
.breadcrumb { width: 100%; margin: 80px 0; padding: 12px 0; background-color: #f8f3ef; overflow-x: auto; }
@media (max-width: 767px) { .breadcrumb { margin-bottom: 30px; } }
.breadcrumb ul { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 0 5%; }
.breadcrumb ul li { margin-right: 38px; white-space: nowrap; }
.breadcrumb ul li:last-child { margin-right: 0; }
.breadcrumb ul li a { position: relative; display: inline-block; text-decoration: underline; }
.breadcrumb ul li a:after { position: absolute; content: "＞"; top: 1px; right: -27px; font-size: 1.2rem; }

/* ====================================================
見出し
==================================================== */
/* コンテンツページ タイトル */
.s-cmn-ttl { padding: clamp(2rem, 2.196193265vw, 3rem) clamp(2.5rem, 9.8828696925vw, 13.5rem); background-color: #0081cc; width: 92%; }
@media (max-width: 1024px) { .s-cmn-ttl { padding: clamp(2rem, 2.5622254758vw, 3.5rem) 3%; width: 100%; } }
.s-cmn-ttl h1 { font-weight: bold; font-size: clamp(2.5rem, 2.5622254758vw, 3.5rem); color: #fff; letter-spacing: 0.08em; }

/* ====================================================
アイコン
==================================================== */
/* ====================================================
ボタン
==================================================== */
.btn { overflow: hidden; }
@media (max-width: 1024px) { .btn { text-align: center; } }
.btn .btn_square { display: inline-block; position: relative; width: 274px; font-size: 1.8rem; font-weight: bold; padding: 10px 0; color: #0081cc; text-align: center; background-color: #fff; border: solid 1px #0081cc; }
.btn .btn_square:after { content: ""; position: absolute; top: 50%; right: 0; width: 30px; height: 1px; background-color: #0081cc; }
.btn .btn_square.right { float: right; }
@media (max-width: 1024px) { .btn .btn_square.right { float: none; } }

/*# sourceMappingURL=common.css.map */