@charset "utf-8";
body {
	word-break: auto-phrase;
	letter-spacing: 0.05em;
}
word-break: auto-phrase; div#wpcf7-f5-p13-o1 h2, div#wpcf7-f5-p13-o1 h3, div#mw_wp_form_mw-wp-form-6 h2, div#mw_wp_form_mw-wp-form-6 h3 { font-size: 13px; font-weight: 700; margin-top: 1em; margin-bottom: 0.5em; }
header.absolute ul.links_sns li a.yt_icon::before { background-image: url(../images/icon/youtube_icon_wht.svg); width: 28px; height: 28px; }
header.absolute.after_scroll ul.links_sns li a.yt_icon::before { background-image: url(../images/icon/youtube_icon.svg); width: 28px; height: 28px; }
header.absolute.after_scroll #header_wrap .navbar-nav .blank_btn a, header #header_wrap .navbar-nav .blank_btn a { background-color: var(--site-main-color); }
header.absolute #header_wrap .navbar-nav .blank_btn a { background-color: var(--site-main-color) !important; }
footer .blank_btn a { background-color: #666 !important; color: #fff; padding: 6px 40px !important; border-radius: 30px; display: block; }
footer { color:#fff; }
footer a { color:#fff; }
footer .footer_menu_area .footer_navi .blank_btn a:hover { --d: unset; opacity: 0.7; }
ul.links_sns li a.yt_icon::before { background-image: url(../images/icon/youtube_icon.svg); width: 28px; height: 28px; }
.gutenberg .b_ttl { color: var(--site-main-color); letter-spacing: .1em; }
.p01_sec03 .flex_1c_b .textbox { text-align: left; }
.plan-price_page .ttl02 { border-bottom: none; }
.link_contents_btn_colored { background-color: var(--site-main-color); }
.link_contents_btn_colored .b_ttl { color: #333; }
@media screen and (max-width: 767px) {
	.link_contents_btn a .b_ttl { font-size: 22px; }
	.link_contents_btn a::after { width: 14px; height: 14px; }
}
/* 丸3個 */
.flex_3c.photo--ratio1x1 .box img { aspect-ratio: 1 / 1; }
/* philosophy */
.philosophy_item .b_ttl { font-size: 18px; display: block; margin-bottom: 1.5rem; }
.faq .faq_contents { margin-bottom: 5em; }
.faq .faq_contents h2 { font-size: 24px; }
.faq .faq_contents ul { border: 1px solid var(--site-sub-color02); }
.faq .faq_contents li.accordion_one:not(:last-child) { border-bottom: 1px solid #fff; }
.faq .recruit_menu_btn_list li a.recruit_select_btn { border: solid 1px var(--site-main-color); }
.faq .recruit_menu_btn_list li a.recruit_select_btn:after { color: var(--site-main-color); }
.faq_page .faq_contents .accordion_one .accordion_header::before { content: "Q"; background-color: #FFF; color: var(--site-main-color); width: 30px; height: 30px; display: flex; justify-content: center; align-items: center; font-size: 16px; font-weight: 400; line-height: 1; border-radius: 50%; position: absolute; left: 15px; top: 50%; transform: translateY(-50%); }
.faq_page .faq_contents .accordion_one .accordion_header { color: #3b3c3d; font-weight: normal; padding: 1.5em 1.5em 1.5em 60px; }
.faq_page .faq_contents .accordion_one .accordion_inner { position: relative; padding: 1.5em 1.5em 1.5em 60px; border: none; background-color: #fff; }
.faq_page .faq_contents .accordion_one .accordion_inner::before { content: "A"; background-color: var(--site-main-color); color: #FFF; width: 30px; height: 30px; display: flex; justify-content: center; align-items: center; font-size: 16px; font-weight: 400; line-height: 1; border-radius: 50%; position: absolute; left: 15px; top: 30px; transform: translateY(-50%); }
.faq_page .faq_contents .accordion_one .accordion_inner .box_one {  }
@media screen and (max-width: 767px) {
    .faq_page .faq_contents .accordion_one .accordion_header::before { left: 15px; top: 50%; transform: translateY(-50%); }
    .faq_page .faq_contents .accordion_one .accordion_header { padding-left: 55px; }
    .faq_page .faq_contents .accordion_one .accordion_inner::before { left: 15px; top: 30px; transform: translateY(-50%); }
}
/* reserveボタン */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.archives_list .thumb_box { margin-bottom: 5px; }
.pager.basic_space1_margin_bottom { text-align: center; padding-top: 50px; }
@media screen and (max-width: 767px) {
	.archives_list li { border-bottom: none; }
}
#date a, .news_list_display.news_list_thum li .category_name a, .archives_list #date a { background-color: #323232; }
@media screen and (max-width: 767px) {
.news_list_display.news_list_thum { display: flex; flex-wrap: wrap; flex-direction: column; align-items: center; }
    .news_list_display.news_list_thum li { width: calc(100% - 16px); margin-right: 0; margin-bottom: 15px; }
	.news_list_display.news_list_thum li a { margin-right:0; }
}
/* news一覧ページ */
@media screen and (min-width: 768px) {
  .box_contents_b { display: flex; flex-wrap: nowrap; flex-direction: row-reverse; justify-content: space-between; align-items: flex-start; }
  .box_contents_b .contents_main { flex: 1; width: auto; margin-left: 60px; margin-right: 0; margin-bottom: 0; }
  .box_contents_b .contents_side { width: 200px; flex: 0 0 200px; margin: 0; padding: 0; }
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  .box_contents_b { padding: 0 40px; }
  .box_contents_b .contents_main { margin-left: 40px; }
}
@media screen and (max-width: 767px) {
  .box_contents_b { display: block; padding: 0 20px; }
  .box_contents_b .contents_main { width: 100%; margin-left: 0; margin-right: 0; margin-bottom: 60px; }
  .box_contents_b .contents_side { width: 100%; padding: 0; }
  .box_contents_b .archive_list_flex { display: flex; flex-wrap: wrap; justify-content: space-between; }
  .box_contents_b .archive_list_flex .post_item { width: calc(50% - 10px); }
}
header #header_wrap .logo { max-width: 280px; }
:root { --toa-blue: #1E7FB8; --toa-pale: #F0F6F9; }  /* toa */
/* フッター */
html body footer { background-color: var(--toa-blue); }
/* セクション間の余白 */
html body .toa-philosophy { padding-top: 90px; }
@media (max-width: 767px) {
	html body .toa-philosophy { padding-top: 56px; }
}
html body .home-front_page div.basic_space1_margin_top:not(:has(*)) { margin-top: 0; margin-bottom: 0; }
/* 全幅ブロックのはみ出しを止める */
html body .p01_sec01, html body .p01_sec03, html body .p01_sec13, html body .toa-mv, html body .toa-philosophy, html body .home-front_page, html body .philosophy_page, html body .international-exchange_page, html body .global-expansion_page, html body .about_page { overflow-x: clip; }
/* ページ先頭のリード文 */
html body .toa-lead { margin: 97px auto; font-size: clamp(23px, 2vw, 28px); line-height: 2.1; }
@media (max-width: 767px) {
	html body .toa-lead { margin: 52px auto; font-size: 20px; }
}
html body.nippon-gaku .toa-ng section { position: relative; }
html body.nippon-gaku .toa-ng .ttl01 { margin-bottom: 22px; }
/* 淡い青の帯（全幅） */
html body.nippon-gaku .toa-ng__about, html body.nippon-gaku .toa-ng__fund, html body.nippon-gaku .toa-ng__faq { background-color: var(--toa-pale); }
html body.nippon-gaku .toa-ng__intro { padding: 88px 0 84px; }
html body.nippon-gaku .toa-ng__exam { padding: 88px 0; }
html body.nippon-gaku .toa-ng__fund { padding: 88px 0; }
html body.nippon-gaku .toa-ng__news { padding: 88px 0; }
html body.nippon-gaku .toa-ng__faq { padding: 88px 0; }
html body.nippon-gaku .toa-ng__logo { padding: 88px 0 60px; }
html body.nippon-gaku .toa-ng__intro-text { margin: 0; text-align: center; font-size: 14px; line-height: 2; }
html body.nippon-gaku .toa-ng__about { display: flex; align-items: center; gap: 60px; padding: 0 0 0 0; }
html body.nippon-gaku .toa-ng__about-img { width: 42%; flex: none; align-self: stretch; min-height: 420px; }
html body.nippon-gaku .toa-ng__about-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
html body.nippon-gaku .toa-ng__about-body { width: 42%; padding: 70px 0; }
html body.nippon-gaku .toa-ng__about-ttl { font-size: 17px; line-height: 1.8; margin: 0 0 1.2em; color: #333; }
html body.nippon-gaku .toa-ng__about-text { font-size: 14px; line-height: 2; margin: 0 0 2.4em; }
html body.nippon-gaku .toa-ng__circles { display: flex; gap: 22px; margin: 0; padding: 0; list-style: none; }
html body.nippon-gaku .toa-ng__circles li { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 118px; height: 118px; border-radius: 50%; background-color: var(--toa-blue); color: #fff; text-align: center; }
html body.nippon-gaku .toa-ng__circle-ttl { font-size: 15px; letter-spacing: .1em; }
html body.nippon-gaku .toa-ng__circle-sub { font-size: 12px; line-height: 1.6; margin-top: .5em; }
html body.nippon-gaku .toa-ng__note { margin: 0 0 40px; text-align: center; font-size: 12px; color: #777; }
html body.nippon-gaku .toa-ng__card { border: 1px solid #cfdfe9; padding: 44px 40px 34px; margin-bottom: 34px; }
html body.nippon-gaku .toa-ng__card:last-child { margin-bottom: 0; }
html body.nippon-gaku .toa-ng__card-ttl { margin: 0 0 34px; text-align: center; font-size: 16px; color: var(--toa-blue); letter-spacing: .06em; }
html body.nippon-gaku .toa-ng__fields { display: grid; margin: 0 0 26px; padding: 0; list-style: none; }
html body.nippon-gaku .toa-ng__fields--3 { grid-template-columns: repeat(3, 1fr); }
html body.nippon-gaku .toa-ng__fields--2 { grid-template-columns: repeat(2, 1fr); max-width: 460px; margin-left: auto; margin-right: auto; }
html body.nippon-gaku .toa-ng__fields > li { display: flex; flex-direction: column; align-items: center; padding: 0 18px; border-left: 1px solid #dfe8ee; }
html body.nippon-gaku .toa-ng__fields > li:first-child { border-left: 0; }
html body.nippon-gaku .toa-ng__icon { display: flex; align-items: center; justify-content: center; width: 62px; height: 62px; border-radius: 50%; background-color: #DDECF4; margin-bottom: 14px; }
html body.nippon-gaku .toa-ng__icon img { width: 100%; height: 100%; object-fit: contain; }
html body.nippon-gaku .toa-ng__field-ttl { margin: 0 0 14px; font-size: 14px; color: #333; text-align: center; }
html body.nippon-gaku .toa-ng__field-ttl span { font-size: 12px; display: block; }
html body.nippon-gaku .toa-ng__tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0 0 8px; padding: 0; list-style: none; }
html body.nippon-gaku .toa-ng__tags li { background-color: #EEF4F8; padding: 4px 10px; font-size: 12px; color: #445; white-space: nowrap; }
html body.nippon-gaku .toa-ng__etc { margin: 0; font-size: 12px; color: #888; }
html body.nippon-gaku .toa-ng__spec { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 34px; margin: 0; padding-top: 20px; border-top: 1px solid #dfe8ee; font-size: 12px; color: #556; }
/* ---------- 基金 ---------- */
html body.nippon-gaku .toa-ng__fund-ttl { margin: 0 0 18px; text-align: center; font-size: 19px; color: #333; }
html body.nippon-gaku .toa-ng__fund-text { margin: 0 0 44px; text-align: center; font-size: 14px; line-height: 2; }
html body.nippon-gaku .toa-ng__panel, html body.nippon-gaku .toa-ng__flow { background-color: #fff; padding: 44px 40px; margin-bottom: 28px; }
html body.nippon-gaku .toa-ng__flow { margin-bottom: 0; }
html body.nippon-gaku .toa-ng__panel-ttl { margin: 0 0 30px; text-align: center; font-size: 17px; color: var(--toa-blue); letter-spacing: .06em; }
html body.nippon-gaku .toa-ng__spec-list { margin: 0; text-align: center; }
html body.nippon-gaku .toa-ng__spec-list dt { display: inline-block; background-color: var(--toa-blue); color: #fff; font-size: 12px; padding: 5px 18px; margin: 0 0 14px; letter-spacing: .06em; }
html body.nippon-gaku .toa-ng__spec-list dd { margin: 0 0 30px; }
html body.nippon-gaku .toa-ng__spec-list dd:last-child { margin-bottom: 0; }
html body.nippon-gaku .toa-ng__amount { margin: 0; font-size: 20px; letter-spacing: .05em; }
html body.nippon-gaku .toa-ng__amount--sm { font-size: 17px; }
html body.nippon-gaku .toa-ng__small { margin: 6px 0 0; font-size: 12px; color: #777; line-height: 1.8; }
html body.nippon-gaku .toa-ng__org { margin: 0; font-size: 14px; }
html body.nippon-gaku .toa-ng__panel-btn { margin: 18px 0 0; }
html body.nippon-gaku .toa-ng__panel-btn a { display: inline-flex; align-items: center; gap: .8em; border: 1px solid var(--toa-blue); border-radius: 999px; color: var(--toa-blue); font-size: 12px; padding: 9px 26px; text-decoration: none; }
/* お申込みの流れ */
html body.nippon-gaku .toa-ng__steps { max-width: 480px; margin: 0 auto; padding: 0; list-style: none; }
html body.nippon-gaku .toa-ng__steps > li { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 22px; }
html body.nippon-gaku .toa-ng__steps > li:last-child { margin-bottom: 0; }
html body.nippon-gaku .toa-ng__step-no { display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; flex: none; border-radius: 50%; background-color: var(--toa-blue); color: #fff; font-size: 14px; }
html body.nippon-gaku .toa-ng__step-ttl { margin: 0; font-size: 14px; line-height: 1.6; }
html body.nippon-gaku .toa-ng__dl { margin-left: .8em; font-size: 12px; color: var(--toa-blue); text-decoration: underline; }
html body.nippon-gaku .toa-ng__news-lead { margin: 0 0 10px; text-align: center; font-size: 14px; line-height: 2; }
/* FAQ */
html body.nippon-gaku .faq_contents .accordion_one .accordion_header { background-color: var(--site-main-color); color: #fff; }
html body.nippon-gaku .toa-ng__logo-img { margin: 30px 0 34px; text-align: center; }
html body.nippon-gaku .toa-ng__logo-img img { width: 190px; height: auto; aspect-ratio: 173 / 231; }
html body.nippon-gaku .toa-ng__logo-ttl { margin: 0 0 18px; text-align: center; font-size: 17px; line-height: 1.9; color: #333; }
html body.nippon-gaku .toa-ng__logo-text { margin: 0 0 50px; text-align: center; font-size: 14px; line-height: 2; }
html body.nippon-gaku .toa-ng__logo-notes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; margin: 0; padding: 0; list-style: none; }
html body.nippon-gaku .toa-ng__logo-notes h4 { margin: 0 0 .8em; font-size: 16px; color: #333; }
html body.nippon-gaku .toa-ng__logo-notes p { margin: 0; font-size: 14px; line-height: 1.9; }
/* 原稿では右端に浮く丸ボタン（赤字「画面に追従」） */
html body.nippon-gaku .toa-ng__sticky { position: fixed; right: 24px; top: 50%; transform: translateY(-50%); z-index: 90; display: flex; align-items: center; justify-content: center; width: 116px; height: 116px; border-radius: 50%; background-color: var(--toa-blue); color: #fff; font-size: 15px; line-height: 1.6; text-align: center; text-decoration: none; box-shadow: 0 2px 10px rgba(0, 0, 0, .14); transition: opacity .2s; }
html body.nippon-gaku .toa-ng__sticky:hover { opacity: .85; }
@media (max-width: 767px) {
	html body.nippon-gaku .toa-ng__about { flex-direction: column; gap: 0; }
	html body.nippon-gaku .toa-ng__about-img { width: 100%; min-height: 0; height: 62vw; }
	html body.nippon-gaku .toa-ng__about-body { width: 100%; padding: 40px 24px; }
	html body.nippon-gaku .toa-ng__circles { justify-content: center; gap: 12px; }
	html body.nippon-gaku .toa-ng__circles li { width: 92px; height: 92px; }
	html body.nippon-gaku .toa-ng__card { padding: 30px 16px 24px; }
	html body.nippon-gaku .toa-ng__fields--3 { grid-template-columns: 1fr; }
	html body.nippon-gaku .toa-ng__fields > li { border-left: 0; border-top: 1px solid #dfe8ee; padding: 22px 0; }
	html body.nippon-gaku .toa-ng__fields > li:first-child { border-top: 0; padding-top: 0; }
	html body.nippon-gaku .toa-ng__panel, html body.nippon-gaku .toa-ng__flow { padding: 30px 20px; }
	html body.nippon-gaku .toa-ng__logo-notes { grid-template-columns: 1fr; gap: 24px; }
	html body.nippon-gaku .toa-ng__sticky { right: 12px; width: 88px; height: 88px; font-size: 12px; }
}
html body.internship-system .toa-is section { position: relative; }
html body.internship-system .toa-is .ttl01 { margin-bottom: 20px; }
html body.internship-system .toa-is__capacity, html body.internship-system .toa-is__flow, html body.internship-system .toa-is__capacity { padding: 88px 0 76px; }
html body.internship-system .toa-is__jobs { padding: 84px 0; }
html body.internship-system .toa-is__flow { padding: 84px 0; }
html body.internship-system .toa-is__note { display: inline-block; margin-top: .6em; font-size: 10px; color: #667; }
html body.internship-system .toa-is__table-wrap { overflow-x: auto; }
html body.internship-system .toa-is__table { width: 100%; border-collapse: collapse; background-color: #fff; font-size: 11px; min-width: 760px; }
html body.internship-system .toa-is__table th, html body.internship-system .toa-is__table td { border: 1px solid #cfdfe9; padding: 12px 6px; text-align: center; vertical-align: middle; line-height: 1.5; }
html body.internship-system .toa-is__table thead th { background-color: #E4EFF6; color: #334; font-weight: normal; }
html body.internship-system .toa-is__table thead th.toa-is__th-lead, html body.internship-system .toa-is__table tbody th { background-color: var(--toa-blue); color: #fff; font-weight: normal; white-space: nowrap; }
html body.internship-system .toa-is__table th span { font-size: 9px; }
html body.internship-system .toa-is__table tbody tr:nth-child(2) td { background-color: #F4F9FB; }
/* 表の下の吹き出し */
html body.internship-system .toa-is__balloon { position: relative; width: 340px; max-width: 100%; margin: 34px auto 0; padding: 14px 16px; background-color: var(--toa-blue); color: #fff; text-align: center; font-size: 12px; line-height: 1.7; }
html body.internship-system .toa-is__balloon::before { content: ""; position: absolute; top: -12px; left: 50%; transform: translateX(-50%); border-left: 12px solid transparent; border-right: 12px solid transparent; border-bottom: 12px solid var(--toa-blue); }
html body.internship-system .toa-is__job-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0; padding: 0; list-style: none; }
html body.internship-system .toa-is__job-list > li { width: 200px; padding: 12px 8px; background-color: var(--toa-blue); color: #fff; text-align: center; font-size: 13px; letter-spacing: .04em; }
html body.internship-system .toa-is__job-list > li.toa-is__job-etc { width: auto; background-color: transparent; color: #333; padding: 12px 4px; }
html body.internship-system .toa-is__steps { display: flex; align-items: stretch; gap: 4px; margin: 0; padding: 0; list-style: none; overflow-x: auto; }
html body.internship-system .toa-is__step { flex: 1 1 0; min-width: 96px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px; padding: 14px 6px 16px; background-color: #fff; border-top: 3px solid #BBD5E5; text-align: center; }
html body.internship-system .toa-is__step--end { background-color: var(--toa-blue); border-top-color: var(--toa-blue); color: #fff; justify-content: center; }
html body.internship-system .toa-is__step-no { font-size: 10px; color: var(--toa-blue); letter-spacing: .1em; }
html body.internship-system .toa-is__step-ttl { font-size: 11px; line-height: 1.6; }
html body.internship-system .toa-is__step-sub { font-size: 9px; color: #778; }
html body.internship-system .toa-is__step--end .toa-is__step-sub { color: #dbe8f2; }
html body.internship-system .toa-is__flow-band { margin: 8px 0 0; padding: 7px 0; background-color: #BBD5E5; color: #234; text-align: center; font-size: 11px; letter-spacing: .08em; max-width: 66%; }
@media (max-width: 767px) {
	html body.internship-system .toa-is__capacity, html body.internship-system .toa-is__jobs, html body.internship-system .toa-is__flow { padding: 52px 0; }
	html body.internship-system .toa-is__job-list > li { width: calc(50% - 6px); font-size: 12px; }
	html body.internship-system .toa-is__flow-band { max-width: none; }
}
html body .toa-philosophy__text--2 { margin-top: 1.8em; }
html body.about .disclosure-area .toa-disc-group { display: flex; flex-wrap: nowrap; gap: 0; padding: 0; }
html body.about .disclosure-area .toa-disc-cat { flex: 0 0 320px; margin: 0; padding: 28.5px 0; border-top: solid 1px #4d4d4d; font-size: 1em; font-weight: 400; line-height: 1.5; }  /* 原稿のリンク列の左端。gap は 0 にしてある */
html body.about .disclosure-area .toa-disc-group:last-of-type .toa-disc-cat { border-bottom: solid 1px #4d4d4d; }
html body.about .disclosure-area .disclosure-list { flex: 1 1 auto; margin: 0; padding: 28.5px 0; list-style: none; border-top: solid 1px #c8c8c8; }
html body.about .disclosure-area .toa-disc-group:last-of-type .disclosure-list { border-bottom: solid 1px #c8c8c8; }
html body.about .disclosure-area .disclosure-list li { margin: 0 0 .55em; line-height: 1.7; }
html body.about .disclosure-area .disclosure-list li:last-child { margin-bottom: 0; }
html body.about .disclosure-area .disclosure-list a { text-decoration: none; }
html body.about .disclosure-area .disclosure-list a::after { content: " ＞"; font-size: .85em; color: var(--toa-blue); }
/* PDF未入手の項目はリンクにしない */
html body.about .disclosure-area .toa-disc-nolink { color: inherit; }
@media screen and (max-width: 767px) {
	html body.about .disclosure-area .toa-disc-group { display: block; padding: 28.5px 0; border-top: solid 1px #4d4d4d; }
	html body.about .disclosure-area .toa-disc-group:last-of-type { border-bottom: solid 1px #4d4d4d; }
	html body.about .disclosure-area .toa-disc-cat, html body.about .disclosure-area .disclosure-list { padding: 0; border-top: 0; border-bottom: 0; }
	html body.about .disclosure-area .toa-disc-group:last-of-type .toa-disc-cat, html body.about .disclosure-area .toa-disc-group:last-of-type .disclosure-list { border-top: 0; border-bottom: 0; }
	html body.about .disclosure-area .toa-disc-cat { margin-bottom: .8em; }
	}
html body .toa-rc__sch-ttl { margin: 3em 0 1.4em; color: var(--toa-blue); font-size: 1.2em; font-weight: 600; }
/* 時刻に丸印を打った縦のタイムライン */
html body .toa-rc__sch { margin: 0; padding: 0; list-style: none; }
html body ul.toa-rc__sch li.toa-rc__sch-item { display: flex; gap: 1.4em; align-items: flex-start; position: relative; margin-bottom: 0; padding-bottom: 1.5em; }  /* 21px ＝ 1行ぶん */
html body ul.toa-rc__sch li.toa-rc__sch-item:last-child { padding-bottom: 0; }
html body .toa-rc__sch-time { flex: 0 0 4.2em; align-self: stretch; text-align: right; font-size: .96em; line-height: 21px; font-variant-numeric: tabular-nums; position: relative; }
html body .toa-rc__sch-time::after { content: ""; position: absolute; box-sizing: border-box; left: calc(100% + 11px); top: 4px; width: 14px; height: 14px; border: 1px solid #4D4D4D; border-radius: 50%; background: #fff; z-index: 1; }
html body .toa-rc__sch-time::before { content: ""; position: absolute; left: calc(100% + 18px); top: 18px; height: calc(100% + 7px); width: 1px; background: #4D4D4D; }  /* 丸をつなぐ縦線（丸の中心に置く） */ /* 丸の左11px + 半径7px */ /* 丸の下端（4 + 14） */
html body .toa-rc__sch li:last-child .toa-rc__sch-time::before { display: none; }
html body .toa-rc__sch-body { flex: 1 1 auto; padding-left: 1.25em; }
html body .toa-rc__sch-main, html body .toa-rc__sch-sub { display: block; font-size: .96em; line-height: 21px; }
@media screen and (max-width: 767px) {
		html body .toa-rc__greet-inner, html body .toa-rc__sch-time { flex-basis: 3.6em; }
}
html body.philosophy .p01_sec03--row1 ul.flex_1c_b { width: 100vw; margin-left: calc(50% - 50vw); }
html body.philosophy .p01_sec03--row1 ul.flex_1c_b > li.box { align-items: stretch; }
html body.philosophy .p01_sec03--row1 ul.flex_1c_b > li.box:nth-child(odd) { flex-direction: row-reverse; }
html body.philosophy .p01_sec03--row1 ul.flex_1c_b > li.box:nth-child(even) { flex-direction: row; }
html body.philosophy .p01_sec03--row1 ul.flex_1c_b > li.box .imgbox { width: 50%; }
html body.philosophy .p01_sec03--row1 ul.flex_1c_b > li.box .imgbox img { width: 100%; height: 100%; object-fit: cover; }
/* 本文は全幅の中でも、本文幅の内側に収める */
html body.philosophy .p01_sec03--row1 ul.flex_1c_b > li.box .textbox { width: 50%; box-sizing: border-box; }
html body.philosophy .p01_sec03--row1 ul.flex_1c_b > li.box:nth-child(odd) .textbox { padding-left: calc((100vw - 900px) / 2); }
html body.philosophy .p01_sec03--row1 ul.flex_1c_b > li.box:nth-child(even) .textbox { padding-right: calc((100vw - 900px) / 2); }
@media screen and (max-width: 767px) {
	html body.philosophy .p01_sec03--row1 ul.flex_1c_b > li.box .imgbox, html body.philosophy .p01_sec03--row1 ul.flex_1c_b > li.box .textbox { width: 100%; }
	html body.philosophy .p01_sec03--row1 ul.flex_1c_b > li.box:nth-child(odd) .textbox, html body.philosophy .p01_sec03--row1 ul.flex_1c_b > li.box:nth-child(even) .textbox { padding-left: 30px; padding-right: 30px; }
}
html body.international-exchange .p01_sec03--row2 ul.flex_1c_b { width: 100vw; margin-left: calc(50% - 50vw); }
html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box { align-items: stretch; }
html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box:nth-child(odd) { flex-direction: row-reverse; }
html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box:nth-child(even) { flex-direction: row; }
html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box .imgbox { width: 50%; }
html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box .imgbox img { width: 100%; height: 100%; object-fit: cover; }
/* 本文は全幅の中でも、本文幅の内側に収める */
html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box .textbox { width: 50%; box-sizing: border-box; }
html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box:nth-child(odd) .textbox { padding-left: calc((100vw - 900px) / 2); }
html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box:nth-child(even) .textbox { padding-right: calc((100vw - 900px) / 2); }
@media screen and (max-width: 767px) {
	html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box .imgbox, html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box .textbox { width: 100%; }
	html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box:nth-child(odd) .textbox, html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box:nth-child(even) .textbox { padding-left: 30px; padding-right: 30px; }
}
html body.home-front .link_contents_btn_colored .b_ttl, html body.about .link_contents_btn_colored .b_ttl, html body.philosophy .link_contents_btn_colored .b_ttl, html body.international-exchange .link_contents_btn_colored .b_ttl, html body.technical-interns .link_contents_btn_colored .b_ttl, html body.internship-system .link_contents_btn_colored .b_ttl, html body.global-expansion .link_contents_btn_colored .b_ttl, html body.recruit .link_contents_btn_colored .b_ttl, html body.nippon-gaku .link_contents_btn_colored .b_ttl, html body.news .link_contents_btn_colored .b_ttl, html body.contact .link_contents_btn_colored .b_ttl, html body.home-front .link_contents_btn_colored a, html body.about .link_contents_btn_colored a, html body.philosophy .link_contents_btn_colored a, html body.international-exchange .link_contents_btn_colored a, html body.technical-interns .link_contents_btn_colored a, html body.internship-system .link_contents_btn_colored a, html body.global-expansion .link_contents_btn_colored a, html body.recruit .link_contents_btn_colored a, html body.nippon-gaku .link_contents_btn_colored a, html body.news .link_contents_btn_colored a, html body.contact .link_contents_btn_colored a { color: #fff; }
html body.home-front .link_contents_btn_colored a::after, html body.about .link_contents_btn_colored a::after, html body.philosophy .link_contents_btn_colored a::after, html body.international-exchange .link_contents_btn_colored a::after, html body.technical-interns .link_contents_btn_colored a::after, html body.internship-system .link_contents_btn_colored a::after, html body.global-expansion .link_contents_btn_colored a::after, html body.recruit .link_contents_btn_colored a::after, html body.nippon-gaku .link_contents_btn_colored a::after, html body.news .link_contents_btn_colored a::after, html body.contact .link_contents_btn_colored a::after { border-top-color: #fff; border-right-color: #fff; }
html body.home-front .p01_sec13 ul, html body.about .p01_sec13 ul, html body.philosophy .p01_sec13 ul, html body.international-exchange .p01_sec13 ul, html body.technical-interns .p01_sec13 ul, html body.internship-system .p01_sec13 ul, html body.global-expansion .p01_sec13 ul, html body.recruit .p01_sec13 ul, html body.nippon-gaku .p01_sec13 ul, html body.news .p01_sec13 ul, html body.contact .p01_sec13 ul { display: block; padding: 0; list-style: none; }  /* margin は指定しない */
html body.home-front .p01_sec13 ul li.box, html body.about .p01_sec13 ul li.box, html body.philosophy .p01_sec13 ul li.box, html body.international-exchange .p01_sec13 ul li.box, html body.technical-interns .p01_sec13 ul li.box, html body.internship-system .p01_sec13 ul li.box, html body.global-expansion .p01_sec13 ul li.box, html body.recruit .p01_sec13 ul li.box, html body.nippon-gaku .p01_sec13 ul li.box, html body.news .p01_sec13 ul li.box, html body.contact .p01_sec13 ul li.box { aspect-ratio: auto !important; max-height: none; width: auto; height: auto; margin: 0 auto var(--toa-banner-gap, 90px); }
html body.home-front .p01_sec13 ul li.box.link_contents_btn_colored, html body.about .p01_sec13 ul li.box.link_contents_btn_colored, html body.philosophy .p01_sec13 ul li.box.link_contents_btn_colored, html body.international-exchange .p01_sec13 ul li.box.link_contents_btn_colored, html body.technical-interns .p01_sec13 ul li.box.link_contents_btn_colored, html body.internship-system .p01_sec13 ul li.box.link_contents_btn_colored, html body.global-expansion .p01_sec13 ul li.box.link_contents_btn_colored, html body.recruit .p01_sec13 ul li.box.link_contents_btn_colored, html body.nippon-gaku .p01_sec13 ul li.box.link_contents_btn_colored, html body.news .p01_sec13 ul li.box.link_contents_btn_colored, html body.contact .p01_sec13 ul li.box.link_contents_btn_colored { background-color: var(--site-main-color); }
html body.home-front .p01_sec13 li.box:last-child, html body.about .p01_sec13 li.box:last-child, html body.philosophy .p01_sec13 li.box:last-child, html body.international-exchange .p01_sec13 li.box:last-child, html body.technical-interns .p01_sec13 li.box:last-child, html body.internship-system .p01_sec13 li.box:last-child, html body.global-expansion .p01_sec13 li.box:last-child, html body.recruit .p01_sec13 li.box:last-child, html body.nippon-gaku .p01_sec13 li.box:last-child, html body.news .p01_sec13 li.box:last-child, html body.contact .p01_sec13 li.box:last-child { margin-bottom: 0; }

html body.global-expansion .p01_sec03 ul.flex_1c_b > li.box:nth-child(odd) { flex-direction: row-reverse; }
html body.global-expansion .p01_sec03 ul.flex_1c_b > li.box:nth-child(even) { flex-direction: row; }
html body.recruit .p01_sec09 ul.flex_1c_b > li.box:nth-child(odd), html body.recruit .p01_sec09 ul.flex_1c_b > li.box:nth-child(even) { flex-direction: row; align-items: flex-start; }
html body.recruit .p01_sec09 ul.flex_1c_b > li.box:nth-child(even) .textbox { margin-left: 40px; }
html body .post_list_flex .text_box { min-width: 0; }
html body.home-front .news_list_display.news_non_thum_list .category_name, html body.home-front .news_list_display.news_non_thum_list .category_name .category_box { width: auto; flex: none; }
html body.home-front .news_list_display.news_non_thum_list .category_name .category_box a { display: inline-block; width: auto; white-space: nowrap; padding: 3px 12px; font-size: 12px; line-height: 1.2; text-align: center; }  /* 折り返さない */
/* MV（スライド） */
html body.home-front .toa-mv { position: relative; }
html body.home-front .toa-mv__slider { width: 100%; }
html body.home-front .toa-mv__slide { padding: 0; }
html body.home-front .toa-mv__slide img { display: block; width: 100%; height: 78vh; max-height: 700px; object-fit: cover; }
/* コピーは写真の上に重ねる */
html body.home-front .toa-mv__copy { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); text-align: center; color: #fff; text-shadow: 0 2px 12px rgba(0, 0, 0, .45); padding: 0 20px; z-index: 2; pointer-events: none; }  /* スライドの操作を邪魔しない */
html body.home-front .toa-mv__catch { font-size: 34px; line-height: 1.5; font-weight: bold; margin: 0 0 .7em; }
html body.home-front .toa-mv__lead { font-size: 18px; line-height: 1.9; margin: 0; }
html body.home-front .toa-mv .slick-dots { position: absolute; left: 0; right: 0; bottom: 44px; display: flex; justify-content: center; gap: 11px; margin: 0; padding: 0; list-style: none; z-index: 2; }
html body.home-front .toa-mv .slick-dots li { width: auto; height: auto; margin: 0; }
html body.home-front .toa-mv .slick-dots li button { width: 49px; height: 2px; padding: 0; border: 0; border-radius: 0; background: rgba(255, 255, 255, .45); text-indent: -9999px; overflow: hidden; cursor: pointer; }  /* slick が入れる数字を隠す */
html body.home-front .toa-mv .slick-dots li button::before { content: none; }
html body.home-front .toa-mv .slick-dots li.slick-active button { background: #fff; }
/* 理念・歩みのグリッド */
html body.home-front .toa-philosophy__grid { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
html body.home-front .toa-philosophy__cell { aspect-ratio: 4 / 3; overflow: hidden; }  /* 240 × 180 */
html body.home-front .toa-philosophy__cell img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); display: block; }  /* 原稿はモノクロ */
/* 暗幕＋文字 */
html body.home-front .toa-philosophy__copy { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(35, 42, 50, .58); color: #fff; text-align: center; padding: 0 20px; }
html body.home-front .toa-philosophy__catch { font-size: 26px; font-weight: bold; line-height: 1.6; margin: 0 0 1em; }
html body.home-front .toa-philosophy__text { font-size: 14px; line-height: 2; margin: 0; }
html body.home-front .toa-philosophy__more { margin: 2em 0 0; font-size: 13px; letter-spacing: .08em; }
html body.home-front .toa-philosophy__more a { color: #fff; text-decoration: none; }
html body.home-front .toa-philosophy__arrow { margin-left: .7em; }
@media screen and (max-width: 767px) {
	html body.home-front .toa-mv__slider { aspect-ratio: 3 / 4; max-height: none; }
	html body.home-front .toa-mv__catch { font-size: 22px; }
	html body.home-front .toa-mv__lead { font-size: 14px; }
	html body.home-front .toa-mv__pager { bottom: 24px; gap: 8px; }
	html body.home-front .toa-mv__pager button { width: 32px; }
	html body.home-front .toa-philosophy__grid { grid-template-columns: repeat(3, 1fr); }
	html body.home-front .toa-philosophy__catch { font-size: 18px; }
	html body.home-front .toa-philosophy__text { font-size: 12px; line-height: 1.9; }
}
html body.news .pager { display: flex; justify-content: center; align-items: center; gap: 1.4em; font-size: 14px; letter-spacing: .04em; }
html body.news .pager .page-numbers { color: #b5b5b5; text-decoration: none; line-height: 1; padding-bottom: 3px; border-bottom: 1px solid transparent; transition: color .2s; }
html body.news .pager a.page-numbers:hover { color: #3b3c3d; }
html body.news .pager .page-numbers.current { color: #222; border-bottom-color: #222; font-weight: bold; }  /* 原稿は現在のページに下線 */
html body.news .pager .page-numbers.dots { border: 0; }
/* 前へ／次へ の記号は少し離す */
html body.news .pager .prev, html body.news .pager .next { color: #777; }
.add-tl__list { list-style: none; margin: 0 auto; padding: 0; max-width: 760px; }
.add-tl__item { display: grid; align-items: start; column-gap: 1.2em; position: relative; padding-bottom: 1.6em; }
.add-tl--year .add-tl__item { grid-template-columns: 4.5em 1.2em 4.5em 1fr; }
.add-tl--time .add-tl__item { grid-template-columns: 1.2em 5.5em 1fr; }
/* --- 年（大区分） --- */
.add-tl__group { color: var(--site-main-color); font-weight: 600; line-height: 1.4; text-align: right; white-space: nowrap; }
/* --- 丸印と、丸をつなぐ縦線 --- */
.add-tl__marker { position: relative; width: 1.2em; height: 1.4em; }  /* 1行目の文字と高さを合わせる */
.add-tl__marker::before { content: ""; position: absolute; top: .35em; left: 50%; transform: translateX(-50%); width: .6em; height: .6em; border: 1px solid var(--site-main-color); border-radius: 50%; background: #fff; z-index: 1; }  /* 丸 */
.add-tl__marker::after { content: ""; position: absolute; top: .35em; left: 50%; transform: translateX(-50%); width: 1px; height: calc(100% + 1.6em); background: var(--site-main-color); }  /* 次の丸へ伸びる縦線 */
/* 最後の行は線を出さない */
.add-tl__item:last-child .add-tl__marker::after { display: none; }
/* --- 見出し（月・時刻） --- */
.add-tl__label { line-height: 1.4; white-space: nowrap; min-width: 0; }
.add-tl__body { line-height: 1.7; min-width: 0; }
@media screen and (max-width: 767px) {
	.add-tl--year .add-tl__item { grid-template-columns: 3.4em 1.2em 1fr; row-gap: .2em; }
	/* 年・丸・見出し を1行目に、内容は2行目へ回す */
	.add-tl--year .add-tl__body { grid-column: 3 / -1; }
	.add-tl--time .add-tl__item { grid-template-columns: 1.2em 1fr; row-gap: .2em; }
	.add-tl--time .add-tl__body { grid-column: 2 / -1; }
	.add-tl__item { column-gap: .8em; padding-bottom: 1.3em; }
	.add-tl__marker::after { height: calc(100% + 1.3em); }
}
.add-mv { position: relative; overflow: hidden; background: #000; }
/* ---------- 高さ ---------- */
.add-mv--h-full { height: 100svh; }
/* svh 非対応ブラウザ向けの控え */
@supports not (height: 100svh) {
	.add-mv--h-full { height: 100vh; }
	}
/* ---------- 中身 ---------- */
.add-mv__slider, .add-mv__slide, .add-mv__movie, .add-mv__yt { height: 100%; }
.add-mv--h-auto .add-mv__slider, .add-mv--h-auto .add-mv__slide, .add-mv--h-auto .add-mv__movie { height: auto; }
.add-mv__slide picture, .add-mv__slide img, .add-mv__movie video { display: block; width: 100%; height: 100%; object-fit: cover; }
.add-mv--h-auto .add-mv__slide img, .add-mv--h-auto .add-mv__movie video { height: auto; }
/* ---------- 画像を暗くする ---------- */
.add-mv--mask::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .18); z-index: 2; pointer-events: none; }
/* ---------- 文字 ---------- */
.add-mv__copy { position: absolute; z-index: 3; width: 100%; padding: 0 6vw; color: #fff; text-shadow: 0 2px 12px rgba(0, 0, 0, .45); }
.add-mv--pos-center .add-mv__copy { top: 50%; left: 0; transform: translateY(-50%); text-align: center; }
.add-mv--pos-left .add-mv__copy { top: 50%; left: 0; transform: translateY(-50%); text-align: left; }
.add-mv--pos-bottom .add-mv__copy { bottom: 12%; left: 0; text-align: center; }
.add-mv__catch { margin: 0; font-size: clamp(1.5rem, 3.4vw, 2.6rem); font-weight: 600; line-height: 1.5; letter-spacing: .04em; }
.add-mv__lead { margin: .9em 0 0; font-size: clamp(.9rem, 1.4vw, 1.05rem); line-height: 1.9; }
/* slick のドット */
.add-mv .slick-dots { position: absolute; bottom: 1.2em; z-index: 3; }
.add-mv .slick-list, .add-mv .slick-track { height: 100%; }
.add-mv--h-auto .slick-list, .add-mv--h-auto .slick-track { height: auto; }
@media screen and (max-width: 767px) {
	.add-mv__copy { padding: 0 8vw; }
	.add-mv .slick-dots { bottom: .8em; }
}
/* ボタン・バナーの高さ */
html body .link_contents_btn a { min-height: 118px; justify-content: center; box-sizing: border-box; }
/* ボタンの枠線 */
html body .link_contents_btn_colored { border-color: transparent; }
/* 「東亜総研『10年史』」バナー */
html body.philosophy .p01_sec13--n1 .link_contents_btn { max-width: 898px; }
html body.philosophy .p01_sec13--n1 .link_contents_btn a { min-height: 203px; }
html body.philosophy .p01_sec13--n1 .link_contents_btn a .b_ttl { font-size: 32px; }
html body.philosophy .p01_sec13--n1 .link_contents_btn a.toa-banner__link { align-items: center; text-align: center; }
html body.philosophy .p01_sec13--n1 .link_contents_btn a::after { display: none; }  /* 原稿にこのバナーだけ矢印が無い */
html body.home-front .link_contents_btn.toa-banner--img { max-width: 900px; }
html body.home-front .link_contents_btn.toa-banner--img a.toa-banner__link { min-height: 251px; align-items: center; text-align: center; }
html body.home-front .link_contents_btn.toa-banner--img a::after { display: none; }  /* 原稿にこのバナーだけ矢印が無い */
@media screen and (max-width: 767px) {
	html body .link_contents_btn a { min-height: 88px; }
	html body.philosophy .p01_sec13--n1 .link_contents_btn a { min-height: 130px; }
	html body.philosophy .p01_sec13--n1 .link_contents_btn a .b_ttl { font-size: 22px; }
	html body.home-front .link_contents_btn.toa-banner--img a.toa-banner__link { min-height: 160px; }  /* li が 162px になる */
}
/* よくあるご質問の並び */
html body.nippon-gaku .faq_contents .accordion_one { margin-bottom: 1.1em; border: 1px solid rgba(0, 0, 0, .14); }
html body.nippon-gaku .faq_contents .accordion_one:last-child { margin-bottom: 0; }
/* 一続きに見せるための上下の罫線は消す */
html body.nippon-gaku .faq_contents .accordion_one + .accordion_one { border-top: 1px solid rgba(0, 0, 0, .14); }
@media screen and (max-width: 767px) {
	html body.nippon-gaku .faq_contents .accordion_one { margin-bottom: .8em; }
}
html body .add-mv .slick-dots li button::before { width: 35px; height: 4px; border: none; background: #5C6066; opacity: 1; }
html body .add-mv .slick-dots li.slick-active button::before { background: #FFFFFF; }
html body .add-mv .slick-dots li { margin: 0 4px; }
html body .add-mv .slick-dots li button { width: 35px; height: 4px; border: none; }
@media screen and (min-width: 768px) {
	html body ul.ul_tbl01 li .tbl_ttl { width: 35.5556%; }
	html body ul.ul_tbl01 li .tbl_body { width: 64.4444%; }
}
.sidemenu .side_menu_list li::before { content: none; }
.toa-arch__toggle { -webkit-appearance: none; appearance: none; box-sizing: border-box; display: inline-block; vertical-align: middle; width: 13px; height: 13px; padding: 0; margin-left: .5em; background: none; border: 1px solid #4d4d4d; border-radius: 0; position: relative; cursor: pointer; }
.toa-arch__toggle::before, .toa-arch__toggle::after { content: ""; position: absolute; top: 50%; left: 50%; background: #4d4d4d; transform: translate(-50%, -50%); }
.toa-arch__toggle::before { width: 7px; height: 1px; }  /* 横棒。開閉どちらでも出す */
.toa-arch__toggle::after { width: 1px; height: 7px; }  /* 縦棒。閉じているときだけ出して「＋」にする */
.toa-arch__year.is-open > .toa-arch__toggle::after { display: none; }
.toa-arch__sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.toa-arch__months { display: none; margin-left: 1em; }
.toa-arch__year.is-open > .toa-arch__months { display: block; }
#pagenavi li.prev a::before { content: "＜"; margin-right: .6em; }
#pagenavi li.next a::after { content: "＞"; margin-left: .6em; }
/* 三角の矢印を基調色に */
#header_wrap .nav_inner .navbar-nav li.menu-item-has-children:hover ul.sub-menu::before { border-color: transparent transparent var(--site-main-color) transparent; }
/* 枠線を外す */
#header_wrap .nav_inner .navbar-nav li.menu-item-has-children:hover ul.sub-menu li, #header_wrap .nav_inner .navbar-nav li.menu-item-has-children:hover ul.sub-menu li:last-child { border: none; }
#header_wrap .nav_inner .navbar-nav li.menu-item-has-children:hover ul.sub-menu li:hover { background-color: var(--site-main-color); }
/* 原稿どおり、右端に「>」を出す */
#header_wrap .nav_inner .navbar-nav li.menu-item-has-children:hover ul.sub-menu li a { position: relative; padding: 0 1.6em 0 1em; text-align: left; line-height: 26px; }
#header_wrap .nav_inner .navbar-nav li.menu-item-has-children:hover ul.sub-menu li a::after { content: ">"; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); }
.ttl01 .b_ttl { font-weight: 700; color: var(--site-main-color, #1E7FB8); }
.link_contents_btn .b_ttl, .link_contents_btn_colored .b_ttl { font-weight: 700; }
html body .add-mv__catch, html body .add-mv__lead, html body .add-tl__group, html body .toa-is__step-ttl, html body .toa-rc__sch-ttl, html body .toa-ng__card-ttl, html body .toa-ng__fund-ttl, html body .toa-ng__panel-ttl { font-weight: 700; }
/* 色地にのった見出しは白のまま（原稿どおり） */
.page_title .ttl01 .b_ttl, .page_title .ttl01 .s_ttl, .link_contents_btn .b_ttl, .link_contents_btn_colored .b_ttl, .bg_color_box_main .ttl01 .b_ttl, #footer_wrap .ttl01 .b_ttl { color: #fff; }
/* C */
.page_title .ttl01 .b_ttl, .page_title .ttl01 .s_ttl { font-weight: 400; }
@media screen and (min-width: 1025px) {
	html body header #header_wrap { height: auto; min-height: 100px; }
}
@media screen and (max-width: 1024px) {
	html body header #header_wrap { height: auto; min-height: 70px; }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
	html body header #header_wrap > * { margin-top: 4px; margin-bottom: 4px; }
}
html body header #header_wrap .logo { flex: 0 0 auto; }
html body footer .footer_logo a img { display: none; }   /* 念のため残っていても出さない */
html body footer .footer_logo_text { color: #fff; line-height: 1.15; }
html body footer .footer_logo_text { display: flex; align-items: baseline; gap: 8px; letter-spacing: 3px; }
html body footer .footer_logo_text__sub { font-size: 17px; }
html body footer .footer_logo_text__main { font-size: 29px; font-weight: 700; }
html body .add-tl__marker { position: relative; width: 17px; }
html body .add-tl--year .add-tl__item::after { content: ""; position: absolute; z-index: 0; top: 15px; bottom: -5px; width: 1px; background: #4F4F51; }  /* 丸の下端(約16px)より少し上から */
html body .add-tl--year .add-tl__item:last-child::after { display: none; }
html body .add-tl--year .add-tl__marker::after { display: none; }
html body .add-tl--year .add-tl__list { max-width: none; margin: 0; padding-left: 212px; }  /* 原稿の年の左端 */
html body .add-tl--year .add-tl__item { grid-template-columns: 80px 17px 92px 1fr; column-gap: 0; padding-bottom: 33px; }  /* 原稿の丸の送りに合わせる */
html body .add-tl--year .add-tl__group { text-align: left; }  /* 原稿は年の左端が212で揃う */
html body .add-tl--year .add-tl__label { padding-left: 48px; }  /* 97 + 48 = 145。原稿の月の左端 */
html body .add-tl--year .add-tl__item::after { left: 88.5px; }
@media screen and (max-width: 767px) {
	html body .add-tl--year .add-tl__list { padding-left: 0; }
	html body .add-tl--year .add-tl__item { grid-template-columns: 3.4em 1.2em 1fr; column-gap: .8em; padding-bottom: 1.6em; }
	html body .add-tl--year .add-tl__label { padding-left: 0; }
	html body .add-tl--year .add-tl__item::after { left: calc(3.4em + 0.8em + 8.5px); }
}
html body .add-tl__marker::before { content: ""; position: absolute; left: 2px; top: 50%; transform: translateY(-50%); width: 13px; height: 13px; box-sizing: border-box; border-radius: 50%; background: #fff; border: 1px solid #333335; z-index: 1; }  /* 丸（線の上に乗せる） */   
/* 詳細度に注意 */
html body .p01_sec13 ul li a.toa-banner__link, html body .link_contents_btn a.toa-banner__link, html body a.toa-banner__link { display: flex; -ms-flex-flow: column wrap; flex-flow: column wrap; justify-content: center; align-items: flex-start; text-align: left; padding-top: 0; padding-bottom: 0; }  /* 縦方向(column の主軸) は中央 */
@media screen and (min-width: 768px) {
	html body footer .footer_sns { display: flex; align-items: center; justify-content: flex-end; gap: 30px; }
	html body footer .footer_sns .links_sns li { margin: 0; }
	html body footer .footer_sns .links_sns { display: flex; gap: 10px; margin: 0; }
}
html body.about .disclosure-area .toa-disc-org { display: inline-block; }
html body.about .disclosure-area .toa-disc-doc { display: inline-block; }
html body footer .toa-footer-exam { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 169px; height: 34px; padding: 0 12px; border: 1px solid #fff; border-radius: 30px; color: #fff; font-size: 14px; line-height: 1.2; text-align: center; }
/* ★ 東亜だけ必要。フッターメニューの箱は style.css の `flex: 1` で高さが外から決まるため、
   align-content の既定（stretch）だと行が伸びて 169.3px ÷ 段数 を埋めてしまう。
   行を上から詰めるために flex-start を明示する。
   ★ 間隔・折り返し・寄せは style.css 側に持たせた。 */
html body footer .footer_menu_area .footer_navi { align-content: flex-start; }
@media screen and (max-width: 767px) {
	/* SPは4つ並ぶ幅が無いので2つずつ4段に落とす */
	html body footer .footer_menu_area .footer_navi { justify-content: center; }
}
html body footer .links_sns li a { background-color: transparent; border-radius: 0; display: block; width: 28px; height: 28px; position: relative; }
html body footer .links_sns li a::before { content: ""; position: absolute; inset: 0; background-color: transparent; background-repeat: no-repeat; background-position: center; background-size: 28px 28px; -webkit-mask-image: none; mask-image: none; }
html body footer .links_sns li a.ig_icon::before { background-image: url(../images/icon/insta_icon_toa.svg); }
html body footer .links_sns li a.fb_icon::before { background-image: url(../images/icon/fb_icon_toa.svg); }
@media screen and (max-width: 767px) {
	html body footer .toa-footer-exam { display: none; }
}
html body .p01_sec08 .p01_message_block_bg { aspect-ratio: 5 / 6; height: auto; align-self: flex-start; }
@media screen and (max-width: 767px) {
	html body .p01_sec08 .p01_message_block_bg { width: 100%; flex: 0 0 auto; margin-bottom: 30px; }
}
html body.about .soshikizu-area .contents_wrap { max-width: 900px; box-sizing: border-box; border: 1px solid #3F7AB1; padding-top: 90px; padding-bottom: 90px; }
html body.about .soshikizu-area .soshikizu-img { width: 720px; max-width: 100%; height: auto; display: block; margin-left: auto; margin-right: auto; }
@media screen and (max-width: 767px) {
	html body.about .soshikizu-area .contents_wrap { margin-left: 15px; margin-right: 15px; padding-top: 40px; padding-bottom: 40px; padding-left: 15px; padding-right: 15px; }
}
html body.about .gutenberg h2.wp-block-heading { color: var(--site-main-color); font-weight: 700; }
html body.philosophy .p01_sec13--n2 .link_contents_btn { max-width: 600px; }
html body.philosophy .p01_sec13--n2 .link_contents_btn a { min-height: 118px; }
html body.philosophy .p01_sec13--n2 .link_contents_btn a .b_ttl { font-size: 28px; }
html body:not(.home-front) .p01_sec03 ul.flex_3c > li.box figure img { aspect-ratio: 1 / 1; }
html body.about .p01_sec03 ul.flex_3c > li.box .basic_space4_margin_top > a::after { content: ">"; margin-left: .6em; }
html body.philosophy .p01_sec08 .template_message_flex > .textbox, html body.technical-interns .p01_sec08 .template_message_flex > .textbox, html body.recruit .p01_sec08 .template_message_flex > .textbox, html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box > .textbox { display: flex; flex-direction: column; justify-content: center; }
/* 上と同じ4か所 */
html body.philosophy .p01_sec08 .template_message_flex > .textbox > :last-child, html body.technical-interns .p01_sec08 .template_message_flex > .textbox > :last-child, html body.recruit .p01_sec08 .template_message_flex > .textbox > :last-child, html body.international-exchange .p01_sec03--row2 ul.flex_1c_b > li.box > .textbox > :last-child { margin-bottom: 0; }
body.internship-system .toa-is__capacity { background-color: var(--site-sub-color01, #F0F6F9); }
body.recruit .p01_sec09 ul.flex_1c_b > li.box > .textbox { margin-top: 0; }
body.philosophy .toa-banner-area--n1 { background-color: #f7f8f8; padding: 90px 0 89px; }
body.philosophy .toa-banner-area--n1 .p01_sec13 > ul { margin-bottom: 0; }
@media screen and (max-width: 767px) {
/* SPは原稿に無いので独自に決めた値 */
	body.philosophy .toa-banner-area--n1 { padding: 60px 0; }
}
body.about .gutenberg .toa-band { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding: 90px calc(50vw - 50%); }
body.about .gutenberg .toa-band--pale { background-color: var(--site-sub-color01, #F0F6F9); }
body.about .gutenberg .toa-band--white { background-color: #fff; }
body.about .gutenberg .toa-band > :last-child { margin-bottom: 0; }
body.about .gutenberg .toa-band > :first-child { margin-top: 0; }
@media screen and (max-width: 767px) {
/* SPは原稿に無いので独自に決めた値 */
	body.about .gutenberg .toa-band { padding: 60px calc(50vw - 50%); }
}
#pagenavi li.next a::after { background-image: none; width: auto; height: auto; }
#pagenavi li.prev a::before { background-image: none; width: auto; height: auto; }
main .page_head.non_b_img .page_title .ttl01 .b_ttl, main .page_head.non_b_img .page_title .ttl01 .s_ttl { color: var(--site-main-color, #1E7FB8); }
#top_news .news_link_non_thum_list { position: absolute; top: 40px; right: 40px; }
#header_wrap .nav_inner .navbar-nav li.menu-item-has-children:hover ul.sub-menu li a { flex: 1 1 auto; }
body.philosophy .p01_sec03--row2 > .contents_wrap > ul.flex_1c_b { margin-bottom: 0; }
body.technical-interns .p01_sec03--row2.bg_color_box { margin-bottom: 90px !important; }
@media screen and (max-width: 1024px) {
	body.technical-interns .p01_sec03--row2.bg_color_box { margin-bottom: 60.1px !important; }
}
@media screen and (max-width: 767px) {
	body.technical-interns .p01_sec03--row2.bg_color_box { margin-bottom: 10.67vw !important; }
}
.mail_form dl.inquiry dd.box select { width: calc(100% - 6px); }
body.home-front .toa-service__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
body.home-front .toa-service__item { position: relative; display: block; overflow: hidden; aspect-ratio: 720 / 427; text-decoration: none; }
body.home-front .toa-service__item--wide { grid-column: 1 / -1; aspect-ratio: 1440 / 427; }
body.home-front .toa-service__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
body.home-front .toa-service__item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .3) 38%, rgba(0, 0, 0, 0) 68%); }
body.home-front .toa-service__body { position: absolute; z-index: 1; left: 89px; top: 50%; transform: translateY(-50%); max-width: 46%; color: #fff; display: block; }
body.home-front .toa-service__ttl { display: block; font-size: 28px; font-weight: 700; line-height: 1.45; margin-bottom: .7em; }
body.home-front .toa-service__txt { display: block; font-size: 13px; line-height: 1.9; margin-bottom: 1.4em; }
body.home-front .toa-service__more { display: block; font-size: 13px; letter-spacing: .12em; }
@media screen and (max-width: 767px) {
/* SPは原稿に無いので独自に決めた値 */
	body.home-front .toa-service__grid { grid-template-columns: 1fr; }
	body.home-front .toa-service__item, body.home-front .toa-service__item--wide { aspect-ratio: 3 / 2; grid-column: auto; }
	body.home-front .toa-service__body { left: 15px; max-width: calc(100% - 30px); }
	body.home-front .toa-service__ttl { font-size: 22px; }
}
.mail_form button[type="submit"] { position: relative; background-color: #d1d1d1; display: inline-block; color: #ffffff; width: 100%; max-width: 300px; padding: 20px; line-height: 1.3; text-align: center; border: none; border-radius: 0; -webkit-appearance: none; transition: 0.5s ease-out; }
.mail_form button[type="submit"]:hover { cursor: pointer; }
body.internship-system .toa-is__stats, body.internship-system .toa-is__visa, body.internship-system .toa-is__compare { --toa-is6-wrap: 1080px; --toa-is6-gray: #E2E4E6; --toa-is6-sumbg: #DDECF4; --toa-is6-navy: #2A4472; --toa-is6-sky: #7EAFCC; }
body.internship-system .toa-is__stats .contents_wrap, body.internship-system .toa-is__visa .contents_wrap, body.internship-system .toa-is__compare .contents_wrap { max-width: var(--toa-is6-wrap); }
body.internship-system .toa-is__stats { padding: 60px 0 90px; }
body.internship-system .toa-is__stats-list { display: flex; justify-content: center; gap: 60px; list-style: none; margin: 0; padding: 0; }
body.internship-system .toa-is__stat { width: 200px; height: 200px; box-sizing: border-box; padding: 0 12px; border-radius: 50%; background-color: var(--toa-blue); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; line-height: 1.4; }
body.internship-system .toa-is__stat-label { font-size: 12px; }
body.internship-system .toa-is__stat-main { font-size: 20px; margin: 8px 0 10px; }
body.internship-system .toa-is__stat-num { font-size: 40px; font-weight: 700; }
body.internship-system .toa-is__stat-unit { font-size: 14px; }
body.internship-system .toa-is__stat-note { font-size: 12px; }
body.internship-system .toa-is__visa { padding: 90px 0; background-color: var(--site-sub-color01, #F0F6F9); }
body.internship-system .toa-is__visa .toa-is__lead { margin-bottom: 54px; }
body.internship-system .toa-is__visa-cards { display: flex; gap: 30px; list-style: none; margin: 0 0 36px; padding: 0; align-items: stretch; }
body.internship-system .toa-is__visa-card, body.internship-system .toa-is__visa-wide { background-color: #fff; padding: 30px 24px 24px; box-sizing: border-box; display: flex; flex-direction: column; }
body.internship-system .toa-is__visa-wide { padding: 30px 30px 24px; }
body.internship-system .toa-is__visa-card { flex: 1 1 0; }
body.internship-system .toa-is__visa-cat { font-size: 13px; font-weight: 700; text-align: center; margin: 0 0 8px; padding-bottom: 10px; border-bottom: 1px solid #4d4d4d; }
body.internship-system .toa-is__visa-name { font-size: 24px; font-weight: 700; color: var(--toa-blue); text-align: center; line-height: 1.4; margin: 10px 0 4px; }
body.internship-system .toa-is__visa-desc { font-size: 13px; text-align: center; line-height: 1.6; margin: 0 0 22px; }
/* タグ */
body.internship-system .toa-is__tags { display: grid; grid-template-columns: 1fr; gap: 6px; list-style: none; margin: 0 0 10px; padding: 0; }
body.internship-system .toa-is__tags--2col { grid-template-columns: repeat(2, 1fr); }
body.internship-system .toa-is__tags--3col { grid-template-columns: repeat(3, 1fr); }
body.internship-system .toa-is__tags--4col { grid-template-columns: repeat(4, 1fr); }
body.internship-system .toa-is__tags--6col { grid-template-columns: repeat(6, 1fr); }
body.internship-system .toa-is__tag { background-color: var(--toa-is6-gray); border: 1px solid var(--toa-blue); color: var(--toa-blue); font-size: 12px; line-height: 1.4; text-align: center; padding: 7px 4px; box-sizing: border-box; }
body.internship-system .toa-is__tag--fill { background-color: var(--toa-blue); color: #fff; }
body.internship-system .toa-is__tag--span2 { grid-column: 1 / -1; }
body.internship-system .toa-is__tag-note { font-size: 9px; }
body.internship-system .toa-is__tags--jobs { grid-template-columns: 1fr 1fr 1.35fr; }
/* まとめ箱 */
body.internship-system .toa-is__visa-sum { margin-top: auto; padding: 18px 10px; background-color: var(--toa-is6-sumbg); text-align: center; }
body.internship-system .toa-is__visa-judge { font-size: 20px; font-weight: 700; color: var(--toa-blue); line-height: 1.4; margin: 0; }
body.internship-system .toa-is__mark { font-size: 26px; font-weight: 400; margin: 0 2px; }
body.internship-system .toa-is__visa-supp { font-size: 11px; color: var(--toa-blue); line-height: 1.6; margin: 6px 0 0; }
/* 就労系資格（横いっぱいのカード） */
body.internship-system .toa-is__visa-cols { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px 40px; margin-bottom: 22px; }
body.internship-system .toa-is__visa-group { font-size: 12px; font-weight: 700; margin: 0 0 8px; padding-left: 14px; position: relative; }
body.internship-system .toa-is__visa-group::before { content: ""; position: absolute; left: 0; top: .35em; width: 9px; height: 9px; background-color: var(--toa-blue); }
body.internship-system .toa-is__visa-sum--wide { margin-top: 0; }
body.internship-system .toa-is__compare { padding: 90px 0; }
body.internship-system .toa-is__compare .toa-is__lead { margin-bottom: 44px; }
body.internship-system .toa-is__cmp-list { display: flex; gap: 30px; list-style: none; margin: 0; padding: 0; align-items: stretch; }
body.internship-system .toa-is__cmp { flex: 1 1 0; display: flex; flex-direction: column; background-color: #F4F9FB; }
body.internship-system .toa-is__cmp-head { margin: 0; padding: 16px 10px; text-align: center; color: #fff; font-size: 17px; font-weight: 700; line-height: 1.4; }
body.internship-system .toa-is__cmp--vn .toa-is__cmp-head { background-color: var(--toa-blue); }
body.internship-system .toa-is__cmp--id .toa-is__cmp-head { background-color: var(--toa-is6-navy); }
body.internship-system .toa-is__cmp--ph .toa-is__cmp-head { background-color: var(--toa-is6-sky); }
body.internship-system .toa-is__cmp-body { padding: 30px 20px 26px; }
body.internship-system .toa-is__cmp-catch { font-size: 21px; font-weight: 700; text-align: center; line-height: 1.4; margin: 0 0 16px; }
body.internship-system .toa-is__cmp--vn .toa-is__cmp-catch { color: var(--toa-blue); }
body.internship-system .toa-is__cmp--id .toa-is__cmp-catch { color: var(--toa-is6-navy); }
body.internship-system .toa-is__cmp--ph .toa-is__cmp-catch { color: var(--toa-is6-sky); }
body.internship-system .toa-is__cmp-rows { margin: 0; }
body.internship-system .toa-is__cmp-row { display: flex; gap: 10px; padding: 10px 0; border-top: 1px solid; font-size: 12px; line-height: 1.5; }
body.internship-system .toa-is__cmp-row:last-child { border-bottom: 1px solid; }
body.internship-system .toa-is__cmp--vn .toa-is__cmp-row { border-color: var(--toa-blue); }
body.internship-system .toa-is__cmp--id .toa-is__cmp-row { border-color: var(--toa-is6-navy); }
body.internship-system .toa-is__cmp--ph .toa-is__cmp-row { border-color: var(--toa-is6-sky); }
body.internship-system .toa-is__cmp-row dt { flex: 0 0 5.5em; font-weight: 400; }
body.internship-system .toa-is__cmp-row dd { margin: 0; flex: 1 1 auto; }
/* 画面が1080pxより狭いとき */
@media (max-width: 1080px) {
	body.internship-system .toa-is__tags--6col { grid-template-columns: repeat(3, 1fr); }
}
/* SP */
@media (max-width: 767px) {
	body.internship-system .toa-is__stats { padding: 40px 0 56px; }
	body.internship-system .toa-is__stats-list { flex-direction: column; align-items: center; gap: 24px; }
	body.internship-system .toa-is__stat { width: 180px; height: 180px; }
	body.internship-system .toa-is__stat-main { font-size: 18px; }
	body.internship-system .toa-is__stat-num { font-size: 34px; }
	body.internship-system .toa-is__visa, body.internship-system .toa-is__compare { padding: 56px 0; }
	body.internship-system .toa-is__visa-cards, body.internship-system .toa-is__cmp-list { flex-direction: column; gap: 16px; }
	body.internship-system .toa-is__visa-cols { grid-template-columns: 1fr; gap: 18px; }
	body.internship-system .toa-is__tags--3col, body.internship-system .toa-is__tags--4col, body.internship-system .toa-is__tags--6col { grid-template-columns: repeat(2, 1fr); }
	body.internship-system .toa-is__visa-name { font-size: 21px; }
	body.internship-system .toa-is__cmp-catch { font-size: 19px; }
}
@media (max-width: 767px) {
	body.technical-interns .p01_sec03--row2 .basic_space4_margin_bottom p br { display: none; }
}
body.internship-system .toa-is__record { --toa-is6-wrap: 1080px; --toa-is6-navy: #2A4472; --toa-is6-sky: #7EAFCC; padding: 90px 0 0; }  /* 追加 */
body.internship-system .toa-is__record .contents_wrap { max-width: var(--toa-is6-wrap); }
body.internship-system .toa-is__record .toa-is__lead { margin-bottom: 46px; }
body.internship-system .toa-is__rec-cards { display: flex; gap: 30px; list-style: none; margin: 0 0 38px; padding: 0; align-items: stretch; }
body.internship-system .toa-is__rec-card { flex: 1 1 0; background-color: #F4F9FB; padding: 38px 18px 42px; box-sizing: border-box; text-align: center; }
body.internship-system .toa-is__rec-ttl { font-size: 21px; font-weight: 700; color: var(--toa-blue); line-height: 1.5; margin: 0 0 21px; }
body.internship-system .toa-is__rec-txt { font-size: 14px; line-height: 1.5; margin: 0; }
@media (max-width: 767px) {
	body.internship-system .toa-is__record { padding: 56px 0 0; }
	body.internship-system .toa-is__rec-cards { flex-direction: column; gap: 16px; }
	body.internship-system .toa-is__rec-ttl { font-size: 19px; }
}
body.internship-system .toa-is__temp { padding: 0 0 60px; }
body.contact .mail_form { text-align: left; }
body.contact .mail_form dl.inquiry dt { width: 25%; }
body.contact .mail_form dl.inquiry dd { width: calc(75% - 8px); margin-left: 8px; }
@media (max-width: 767px) {
	body.contact .mail_form dl.inquiry dt { width: 100%; }
	body.contact .mail_form dl.inquiry dd { width: 100%; margin-left: 0; }
}
body.internship-system .toa-is__map { position: relative; margin-top: 38px; }
body.internship-system .toa-is__map-img { display: block; width: 100%; height: auto; }
body.internship-system .toa-is__mapcall { position: absolute; box-sizing: border-box; background-color: #fff; border: 1px solid #d5dee5; }
body.internship-system .toa-is__mapcall-ttl { margin: 0; padding: 9px 12px; color: #fff; font-size: 15px; font-weight: 700; line-height: 1.3; }
body.internship-system .toa-is__mapcall-list { list-style: none; margin: 0; padding: 10px 12px 11px; }
body.internship-system .toa-is__mapcall-list li { font-size: 12px; line-height: 1.7; text-indent: -1em; padding-left: 1em; }
body.internship-system .toa-is__mapcall-list li::before { content: "・"; }
body.internship-system .toa-is__mapcall--vn { left: 14.2%; top: 32.7%; width: 15.7%; }
body.internship-system .toa-is__mapcall--ph { left: 65.9%; top: 44.1%; width: 24.3%; }
body.internship-system .toa-is__mapcall--id { left: 69.9%; top: 70.9%; width: 20.2%; }
body.internship-system .toa-is__mapcall--vn .toa-is__mapcall-ttl { background-color: var(--toa-blue); }
body.internship-system .toa-is__mapcall--ph .toa-is__mapcall-ttl { background-color: var(--toa-is6-sky); }
body.internship-system .toa-is__mapcall--id .toa-is__mapcall-ttl { background-color: var(--toa-is6-navy); }

@media (max-width: 1023px) {
	body.internship-system .toa-is__mapcall { position: static; margin-top: 12px; }
	body.internship-system .toa-is__map { margin-top: 24px; }
	body.internship-system .toa-is__map { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); width: 100vw; }
	body.internship-system .toa-is__mapcall { width: calc(100% - 60px); margin-left: auto; margin-right: auto; }
}
body.recruit .p01_sec09 ul.flex_1c_b > li.box { min-width: 0; }
body.recruit .toa-rc__sch-body { min-width: 0; }
body.recruit .toa-rc-line { display: block; }
body.recruit .toa-rc-line--hang { padding-left: 1em; text-indent: -1em; }
body.recruit .toa-rc-line--ind { padding-left: 1em; }
body.technical-interns .toa-tc__band { list-style: none; width: 100%; }
body.technical-interns .toa-tc__band-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; list-style: none; margin: 0; padding: 0; }
body.technical-interns .toa-tc__band-list > li { margin: 0; }
body.technical-interns .toa-tc__band-list img { display: block; width: 100%; height: 100%; aspect-ratio: 500 / 286; object-fit: cover; }
body.technical-interns .toa-tc__center { display: block; }
body.technical-interns .toa-tc__center .textbox { width: 100%; text-align: center; }
body.technical-interns .toa-tc__center .textbox .txt { margin-left: auto; margin-right: auto; }
body.technical-interns .toa-tc__nagomi { list-style: none; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
body.technical-interns .toa-tc__nagomi-card { background-color: #fff; padding: 34px 34px 38px; }
body.technical-interns .toa-tc__nagomi-logo { margin: 0 0 22px; text-align: center; }
body.technical-interns .toa-tc__nagomi-logo img { width: 240px; max-width: 100%; height: auto; }
body.technical-interns .toa-tc__nagomi-ttl { margin: 0 0 1em; text-align: center; font-size: 16px; font-weight: 700; line-height: 1.6; }
body.technical-interns .toa-tc__nagomi-txt { margin: 0; font-size: 14px; line-height: 1.9; }
body.technical-interns .toa-tc__nagomi-photo figure { margin: 0; }
body.technical-interns .toa-tc__nagomi-photo img { display: block; width: 100%; height: auto; }
body.technical-interns .toa-tc__nagomi-cap { margin: 14px 0 0; text-align: center; font-size: 12px; line-height: 1.8; }
@media (max-width: 767px) {
	body.technical-interns .toa-tc__band-list { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	body.technical-interns .toa-tc__nagomi { grid-template-columns: 1fr; gap: 28px; }
	body.technical-interns .toa-tc__nagomi-card { padding: 26px 20px 28px; }
	body.technical-interns .toa-tc__nagomi-cap { text-align: left; }
}
body.internship-system .toa-is__lead { text-align: center; }
/* (a) 見出しと副題のすき間 */
body.internship-system .p01_sec09:not(.toa-is__voice) h2.ttl01 .s_ttl { margin-top: 10px; }
@media (min-width: 768px) {
/* (b) 写真を左に固定 */
	body.internship-system .p01_sec09:not(.toa-is__voice) ul.flex_1c_b > li.box:nth-child(odd), body.internship-system .p01_sec09:not(.toa-is__voice) ul.flex_1c_b > li.box:nth-child(even) { flex-direction: row; align-items: center; }
/* (d) (b)の後始末 */
	body.internship-system .p01_sec09:not(.toa-is__voice) ul.flex_1c_b > li.box:nth-child(even) .textbox { margin-left: 40px; }
	body.internship-system .toa-is__voice ul.flex_1c_b > li.box:nth-child(odd), body.internship-system .toa-is__voice ul.flex_1c_b > li.box:nth-child(even) { flex-direction: row; align-items: flex-start; }
/* 「上寄せ」は写真の上端とそろえる意味 */
	body.internship-system .toa-is__voice ul.flex_1c_b > li.box > .textbox { margin-top: 0; }
	body.internship-system .toa-is__voice ul.flex_1c_b > li.box:nth-child(even) .textbox { margin-left: 40px; }
}
@media screen and (max-width: 767px) {
	body.internship-system .p01_sec09 ul.flex_1c_b > li.box .textbox { margin-left: 0; margin-right: 0; }
}
body.internship-system .toa-is__judge-label { font-size: 14px; }
@media (min-width: 768px) {
	body.internship-system .toa-is__visa-cards { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: auto auto auto 1fr auto; column-gap: 30px; row-gap: 0; }
	body.internship-system .toa-is__visa-card { display: grid; grid-row: 1 / -1; grid-template-rows: subgrid; row-gap: 0; }
/* 1fr の行に入る tags を伸ばさない */
	body.internship-system .toa-is__visa-card > .toa-is__tags { align-self: start; }
	body.internship-system .toa-is__visa-cards .toa-is__visa-sum { margin-top: 0; display: flex; flex-direction: column; justify-content: center; }
}
footer .footer_btn_list { list-style: none; margin: 0; padding: 0; }
footer .footer_btn_list a { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 169px; height: 34px; padding: 0 12px; border: 1px solid #fff; border-radius: 30px; color: #fff; font-size: 14px; line-height: 1.2; text-align: center; }
@media screen and (max-width: 767px) {
	footer .footer_btn_list { display: none; }
}
.technical-interns_page .p01_sec08 h2.ttl01.text_align_center { display: none; }
/* 2026 */
@media screen and (min-width: 768px) and (max-width: 1024px) {
	:root { --toa-banner-gap: 60.1px; }
}
@media screen and (max-width: 767px) {
	:root { --toa-banner-gap: 10.67vw; }
}


/* 海外進出の POINT 節だけ、節の上下の margin を打ち消す。
   原稿に比べて節の間が開きすぎるため、テンプレの
   basic_space1_margin_top/bottom（90px／SP 60.1px）を
   この節に限って 0 にする。節じたいの padding（90px 0 30px／SP 40px 0）はそのまま。
   他ページ・他ユニットには当たらない（body.global-expansion ＋ .p01_sec03 に限定）。 */
html body.global-expansion .p01_sec03.basic_space1_margin_top { margin-top: 0; }
html body.global-expansion .p01_sec03.basic_space1_margin_bottom { margin-bottom: 0; }


html body.global-expansion .p01_sec03 ul.basic_space2_margin_bottom { margin-bottom: 0; }
