@charset "UTF-8";
/* Googleフォント　Noto Sans,Robot,Open Sans */
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@100;200;300;400;500;600;700&display=swap");
/*****************************************************

 SCSS用

*****************************************************/
/* flexbox */
/* メディアクエリ */
/*****************************************************

 Telリンク制御　※レスポンシブ

*****************************************************/
@media (min-width: 749px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
/*****************************************************

 404

*****************************************************/
.not_found_container {
  width: 100%;
  padding: 80px 0;
}
.not_found_container > p {
  font-size: 16px;
  color: #333;
  padding: 30px 0;
}
.not_found_container > p span {
  color: #de0515;
  display: block;
}

/*****************************************************

 リセット

*****************************************************/
fieldset,
img {
  border: 0;
}

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

ol,
ul {
  list-style: none;
  text-align: left;
  padding: 0;
  margin: 0;
}

li {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

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

main,
article,
aside,
figure,
footer,
header,
hgroup,
nav,
section,
main {
  display: block;
  margin: 0;
  padding: 0;
}

button,
fieldset,
form,
input,
label,
legend,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: none;
  outline: none;
}

a:focus,
*:focus {
  outline: none;
}

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

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

/* フォームのリセット */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* フロートクリア */
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  *zoom: 1;
}

/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/*****************************************************

 Common - Layout

*****************************************************/
html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  position: relative;
  width: auto;
  height: auto;
  background: #fff;
  z-index: 0;
  color: #000;
  font-size: 1rem;
  font-family:
    "Roboto Condensed", sans-serif, "IBM Plex Sans JP", sans-serif,
    "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
    "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif, serif;
  font-weight: normal;
  line-height: 1.65;
  letter-spacing: 1px;
  overflow-x: hidden;
}

.inner {
  width: 1380px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 1380px) {
  .inner {
    width: 96%;
    margin: 0 auto;
  }
}

main {
  padding-top: 195px;
}
main.front_page_wrap {
  padding-top: 0;
}
@media screen and (max-width: 750px) {
  main.front_page_wrap {
    padding-top: 0;
  }
}
@media screen and (max-width: 750px) {
  main {
    padding-top: 70px !important;
  }
}

h1:not(#top_h1) {
  font-size: 70px;
  font-weight: 600;
  color: #fff;
  position: relative;
  padding: 0 2%;
}
h1:not(#top_h1)::after {
  content: "";
  display: block;
  width: 400px;
  height: 5px;
}

h2 {
  font-size: 40px;
  color: #000;
  font-weight: 600;
  letter-spacing: 3px;
  margin-bottom: 60px;
  position: relative;
}

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

* {
  box-sizing: border-box;
}

div[id],
section[id] {
  padding-top: 230px;
  margin-top: -230px;
}
@media screen and (max-width: 750px) {
  div[id],
  section[id] {
    padding-top: 80px;
    margin-top: -80px;
  }
}

p {
  letter-spacing: 0.1em;
}

/*PARTS*/
.link_btn {
  display: block;
  width: 300px;
  background: #000;
  padding: 16px 0;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 1px;
  text-align: center;
  transition: 0.2s;
  margin: 120px auto 0;
}
.link_btn:hover {
  background: #b3b3b3;
}

.link_btn2 {
  display: block;
  width: 300px;
  background: #000;
  padding: 16px 0;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 1px;
  text-align: center;
  transition: 0.2s;
  margin: 60px auto 180px;
}
.link_btn2:hover {
  background: #b3b3b3;
}

.large_txt {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 45px !important;
  font-weight: bold;
  letter-spacing: 0.14em;
  line-height: 80px !important;
  margin-bottom: 40px !important;
}

.lv1_content {
  margin-bottom: 400px;
}

.lv1_cover {
  width: 100%;
  height: 400px;
  padding: 135px 0;
}
.lv1_cover.about {
  background: url("../images/about/cover_about.jpg") center/cover no-repeat;
}
.lv1_cover.about h1::after {
  background: #ae3f22;
}
.lv1_cover.company {
  background: url("../images/company/cover_company.jpg") center/cover no-repeat;
}
.lv1_cover.company h1::after {
  background: #e2b300;
}
.lv1_cover.solution {
  background: url("../images/solution/cover_solution.jpg") center/cover
    no-repeat;
}
.lv1_cover.solution h1::after {
  background: #9fc764;
}

.lv1_cover_noph {
  padding: 100px 0 10px;
  border-bottom: 5px solid #000;
  margin-bottom: 24px;
}
.lv1_cover_noph h1:not(#top_h1) {
  text-align: center;
  color: #000;
  font-size: 60px;
}

.display_content_wrap {
  position: relative;
}
.display_content_wrap .display_trigger {
  overflow: hidden;
}

.show_more {
  width: 100%;
  height: 70px;
  margin-top: 40px;
  cursor: pointer;
  display: block;
  text-decoration: none;
  color: #000;
}
.show_more span {
  display: block;
  margin: 0 auto;
  width: 50px;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  position: relative;
}
.show_more span::after {
  content: ">";
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #000;
  position: absolute;
  top: 28px;
  right: 0;
  left: 0;
  margin: 0 auto;
  font-size: 30px;
  font-weight: 100;
  transform: rotate(90deg);
  line-height: 40px;
}
.show_more span:hover {
  opacity: 0.7;
}
.show_more.active span::after {
  transform: rotate(-90deg);
}

@media screen and (min-width: 750px) {
  .pc_none {
    display: none !important;
  }
}
@media screen and (max-width: 750px) {
  .lv1_content {
    margin-bottom: 240px;
  }
  h1:not(#top_h1) {
    font-size: 27px;
  }
  h1:not(#top_h1)::after {
    width: 156px;
    height: 2.5px;
  }
  h2 {
    font-size: 25px;
  }
  .sp_none {
    display: none !important;
  }
  .inner {
    width: 86%;
    margin: 0 auto;
    padding: 0;
  }
  .sp_menu {
    position: absolute;
    top: 16px;
    right: 16px;
  }
  .sp_menu i {
    font-size: 30px;
    color: #0573dd;
  }
  .link_btn {
    width: 110px;
    padding: 4px 0;
    font-size: 12px;
    margin: 100px auto 0;
  }
  .link_btn2 {
    width: 110px;
    padding: 4px 0;
    font-size: 12px;
    margin: 30px auto 80px;
  }
  .large_txt {
    font-size: 25px !important;
    line-height: 1.5 !important;
  }
  .lv1_cover {
    height: 175px;
    padding: 60px 0;
  }
  .lv1_cover_noph {
    height: 90px;
    padding: 43px 0 16px;
    border-bottom: 1.5px solid #000;
  }
  .lv1_cover_noph h1:not(#top_h1) {
    font-size: 27px;
  }
  .show_more {
    margin-top: 0;
  }
  .show_more span {
    font-size: 12px;
  }
  .show_more span::after {
    width: 30px;
    height: 30px;
    top: 24px;
    font-size: 40px;
    transform: rotate(90deg);
    line-height: 27px;
    padding-left: 3px;
    box-sizing: inherit;
  }
}
@media print {
  .pc_none {
    display: none !important;
  }
  .sp_none {
    display: none !important;
  }
}
.wp-video,
video {
  width: 100% !important;
  height: auto !important;
}

/*****************************************************

 Animation

*****************************************************/
.fadein {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.8s,
    transform 0.8s;
}

.scrollin {
  opacity: 1;
  transform: translateY(0);
}

.add-animation {
  animation: zoom-fade 30s both;
}

@keyframes zoom-fade {
  0% {
    transform: scale(1.2);
    /* transform: scale(1);*/
  }
  100% {
    transform: scale(1);
    /* transform: scale(1.05);*/
  }
}
/*****************************************************

 Header

*****************************************************/
.global_header {
  width: 100%;
  height: 156px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 0 5%;
  margin: 0 auto;
  min-width: 896px;
  z-index: 998;
  position: fixed;
  background: rgba(255, 255, 255, 0.7);
  top: 0;
}
.global_header .logo_container {
  width: 340px;
  max-width: 340px;
}
.global_header .logo_container img {
  vertical-align: -16%;
}
.global_header .head_nav_container {
  width: 60%;
}
.global_header .head_nav_container .lang_switch {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0 2%;
  margin-bottom: 4px;
  padding-right: 11px;
}
.global_header .head_nav_container .lang_switch a {
  font-size: 16px;
  font-weight: 400;
  color: #b4b4b4;
  text-decoration: none;
  transition: 0.2s;
}
.global_header .head_nav_container .lang_switch a.select {
  color: #be3c1e;
}
.global_header .head_nav_container .lang_switch a i {
  font-size: 20.8px;
  color: #000;
}
.global_header .head_nav_container .lang_switch a:hover {
  color: #be3c1e;
}
.global_header .head_nav_container nav > ul {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 2%;
}
.global_header .head_nav_container nav > ul > li {
  position: relative;
  z-index: 1;
}
.global_header .head_nav_container nav > ul > li > a {
  text-decoration: none;
  font-size: 21.6px;
  font-weight: 600;
  color: #000;
  transition: 0.2s;
  position: relative;
  z-index: 1;
  padding: 0 10px 8px;
}
.global_header .head_nav_container nav > ul > li > ul,
.global_header .head_nav_container nav > ul > li > div ul {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 158px;
  padding: 80px 0 40px;
}
.global_header .head_nav_container nav > ul > li > ul::before,
.global_header .head_nav_container nav > ul > li > div ul::before {
  content: "-";
  font-size: 19.2px;
  font-weight: 600;
  color: #000;
  position: absolute;
  top: 48px;
}
.global_header .head_nav_container nav > ul > li > ul > li,
.global_header .head_nav_container nav > ul > li > div ul > li {
  margin-bottom: 8px;
}
.global_header .head_nav_container nav > ul > li > ul > li:last-of-type,
.global_header .head_nav_container nav > ul > li > div ul > li:last-of-type {
  border: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.global_header .head_nav_container nav > ul > li > ul > li:first-of-type,
.global_header .head_nav_container nav > ul > li > div ul > li:first-of-type {
  margin-top: 8px;
}
.global_header .head_nav_container nav > ul > li > ul > li a,
.global_header .head_nav_container nav > ul > li > div ul > li a {
  text-decoration: none;
  font-size: 19.2px;
  font-weight: 600;
  color: #000;
  letter-spacing: 0.1em;
}
.global_header .head_nav_container nav > ul > li > ul > li a:hover,
.global_header .head_nav_container nav > ul > li > div ul > li a:hover {
  color: #b3b3b3;
}
.global_header
  .head_nav_container
  nav
  > ul
  > li
  > ul:nth-of-type(n + 2)::before,
.global_header
  .head_nav_container
  nav
  > ul
  > li
  > div
  ul:nth-of-type(n + 2)::before {
  display: none;
}
.global_header .head_nav_container nav > ul > li:first-of-type div {
  display: none;
}
.global_header .head_nav_container nav > ul > li:hover > a {
  border-bottom: 2px solid #bd3c1e;
}
.global_header .head_nav_container nav > ul > li:hover > ul {
  display: block;
}
.global_header .head_nav_container nav > ul > li:hover > ul::after {
  content: "";
  width: 100%;
  height: var(--hover-menu-height, 100px);
  position: fixed;
  top: 155px;
  left: 0;
  background: rgba(255, 255, 255, 0.95);
  z-index: -1;
}
.global_header .head_nav_container nav > ul > li:hover > div {
  width: 335px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  position: absolute;
  top: 0;
  left: 0;
}
.global_header .head_nav_container nav > ul > li:hover > div ul {
  display: block;
  position: relative;
}
.global_header .head_nav_container nav > ul > li.select > a {
  font-style: italic;
  font-weight: bold;
  border-bottom: 2px solid #bd3c1e;
}
.global_header.nav_hover nav > ul > li > div::after {
  content: "";
  width: 100%;
  height: var(--hover-menu-height, 100px);
  position: fixed;
  top: 155px;
  left: 0;
  background: rgba(255, 255, 255, 0.95);
  z-index: -1;
}
@keyframes menubkfadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media screen and (max-width: 1380px) {
  .global_header {
    min-width: auto;
  }
  .global_header .head_nav_container {
    width: 69%;
  }
  .global_header .head_nav_container nav > ul > li > a {
    font-size: 2vw;
  }
  .global_header .logo_container {
    width: 30%;
    max-width: 30%;
  }
}
@media screen and (max-width: 960px) {
  .global_header {
    height: 100px;
  }
  .global_header.nav_hover nav > ul > li > div::after {
    top: 140px;
  }
  main {
    padding-top: 100px;
  }
  .main_cover {
    padding-top: 68px !important;
  }
}
@media screen and (max-width: 750px) {
  .global_header {
    height: 70px;
    min-width: 100%;
    padding: 0 4%;
  }
  .global_header .logo_container {
    width: 30%;
    max-width: 425px;
  }
  .global_header .logo_container img {
    vertical-align: -15%;
  }
}
@media screen and (max-width: 450px) {
  .global_header .logo_container {
    width: 57%;
    max-width: 425px;
  }
}
/*スマホナビ*/
.sp_navi {
  animation: spnavi infinite 4s;
  -webkit-animation: spnavi infinite 4s;
  margin: 0;
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
}

@keyframes spnavi {
  from {
    padding: 0;
  }
  to {
    padding: 0;
  }
}
#overlay_button {
  position: fixed;
  right: 10px;
  top: 14px;
  padding: 20px 10px;
  z-index: 5;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  z-index: 9999;
}
#overlay_button span {
  height: 0;
  width: 15px;
  background-color: #000;
  position: relative;
  display: block;
  transition: all 0.2s ease-in-out;
}
#overlay_button span::before {
  top: -4px;
  visibility: visible;
}
#overlay_button span::after {
  top: 4px;
}
#overlay_button span::before,
#overlay_button span::after {
  height: 1px;
  width: 15px;
  border-radius: 2px;
  background-color: #000;
  position: absolute;
  content: "";
  transition: all 0.2s ease-in-out;
}
#overlay_button:hover span,
#overlay_button:hover span::before,
#overlay_button:hover span::after {
  background: #000;
}

input[type="checkbox"] {
  display: none;
}
input[type="checkbox"]:checked ~ .overlay {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
  overflow-y: scroll;
}

input[type="checkbox"]:checked ~ #overlay_button:hover span,
input[type="checkbox"]:checked ~ #overlay_button span {
  background: transparent;
}

input[type="checkbox"]:checked ~ #overlay_button span:before {
  transform: rotate(45deg) translate(3px, 3px);
}

input[type="checkbox"]:checked ~ #overlay_button span:after {
  transform: rotate(-45deg) translate(3px, -3px);
}

.overlay {
  height: 100vh;
  width: 100vw;
  background: #fff;
  z-index: 2;
  visibility: hidden;
  opacity: 0;
  position: fixed;
  transition:
    opacity 0.3s ease-in-out,
    visibility 0s 0.3s;
  padding: 20% 0;
  z-index: 999;
}
.overlay > ul {
  padding: 0 14% 40px;
}
.overlay > ul > li {
  margin-bottom: 10px;
  letter-spacing: 0.1em;
}
.overlay > ul > li:last-of-type {
  margin: 60px 0 0;
}
.overlay > ul > li > a {
  color: #000;
  text-decoration: none;
  font-size: 28px;
  font-weight: bold;
}
.overlay > ul > li > a:hover {
  color: #be3c1e;
}
.overlay .lang_switch {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0 2%;
  padding: 0 14%;
}
.overlay .lang_switch a {
  font-size: 20px;
  font-weight: 400;
  color: #b4b4b4;
  text-decoration: none;
  transition: 0.2s;
}
.overlay .lang_switch a.select {
  color: #be3c1e;
}
.overlay .accordion-container .accordion-title {
  color: #000;
  text-decoration: none;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
  transition: 0.2s;
  letter-spacing: 0.1em;
}
.overlay .accordion-container .accordion-content {
  padding: 28px 0;
}
.overlay .accordion-container .accordion-content > li {
  margin-bottom: 8px;
}
.overlay .accordion-container .accordion-content > li > a {
  color: #b4b4b4;
  text-decoration: none;
  font-size: 22px;
  font-weight: bold;
}
.overlay .accordion-container .accordion-content > li > a:hover {
  color: #000;
}
.overlay .accordion-container:nth-of-type(1) .accordion-title.open {
  border-bottom: 1px solid #be3c1e;
}
.overlay .accordion-container:nth-of-type(2) .accordion-title.open {
  border-bottom: 1px solid #f5c800;
}
.overlay .accordion-container:nth-of-type(6) .accordion-title.open {
  border-bottom: 1px solid #a0c864;
}

/*****************************************************

 Footer

*****************************************************/
.global_footer {
  text-align: center;
  padding-bottom: 100px;
}
.global_footer figure {
  width: 556px;
  max-width: 556px;
  margin: 0 auto;
}
.global_footer .footer_link_container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 80px auto;
  gap: 16px 0;
}
.global_footer .footer_link_container a {
  padding: 0 40px;
  font-size: 20px;
  font-weight: 600;
  color: #000;
  text-decoration: none;
  position: relative;
  transition: 0.2s;
}
.global_footer .footer_link_container a::after {
  content: "|";
  color: #000;
  position: absolute;
  right: 0;
}
.global_footer .footer_link_container a:first-of-type::before {
  content: "|";
  color: #000;
  position: absolute;
  left: 0;
}
.global_footer .footer_link_container a:hover {
  color: #be3c1e;
}
.global_footer .footer_link_container i {
  font-size: 26px;
  position: relative;
  top: 3px;
}
.global_footer p {
  font-size: 15px;
  font-weight: 600;
}

@media screen and (max-width: 750px) {
  .global_footer {
    padding-bottom: 40px;
  }
  .global_footer figure {
    width: 80%;
  }
  .global_footer .footer_link_container {
    align-items: center;
    flex-direction: column;
    gap: 24px 0;
  }
  .global_footer .footer_link_container a {
    font-size: 12px;
  }
  .global_footer .footer_link_container a:first-of-type::before,
  .global_footer .footer_link_container a::after {
    display: none;
  }
  .global_footer p {
    font-size: 8px;
  }
}
/*****************************************************

 MAIN

*****************************************************/
/*TOPのみ*/
.front_page_wrap {
  margin-bottom: 400px;
}
.front_page_wrap h2 {
  text-align: center;
  padding-bottom: 20px;
  line-height: 1;
  margin-bottom: 50px;
}
.front_page_wrap h2::after {
  content: "";
  width: 250px;
  height: 3px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media screen and (max-width: 750px) {
  .front_page_wrap {
    margin-bottom: 240px;
    padding-top: 0 !important;
  }
  .front_page_wrap h2::after {
    width: 180px;
  }
}
/*COVER*/
.main_cover {
  width: 100%;
  padding-top: 155px;
}
.main_cover .main_cover_item {
  position: relative;
}
.main_cover .main_cover_item::after {
  content: "";
  background: url("../images/home/symbolmark_pc.png");
  width: 510px;
  height: 403px;
  position: absolute;
  top: 38%;
  left: -110px;
  z-index: 1;
}
.main_cover .main_cover_item figure {
  width: 100%;
  height: 860px;
  background-size: cover;
  z-index: 0;
  background-position: center;
  position: relative;
}
.main_cover .main_cover_item .text-area {
  position: absolute;
  bottom: 12%;
  right: 0;
  left: 0;
  margin: auto;
  width: 90%;
}
.main_cover .main_cover_item .text-area p {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 64px;
  line-height: 1.2;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.14em;
  position: relative;
  z-index: 0;
}
.main_cover .main_cover_item .text-area span {
  color: #fff;
  display: block;
  margin: 20px 0 30px;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.1em;
}
.main_cover .main_cover_item .text-area .link_txt {
  text-decoration: none;
  font-weight: 500;
  font-size: 18px;
  color: #be3c1e;
  font-style: italic;
  transition: all 0.3s;
}
.main_cover .main_cover_item .text-area .link_txt:after {
  content: ">>>";
}
.main_cover .main_cover_item a:hover .link_txt {
  color: #da9383;
  transition: all 0.3s;
}

.cover_bk01 {
  background-image: url("../images/home/cover_01.jpg");
}

.cover_bk02 {
  background-image: url("../images/home/cover_02.jpg");
}

.cover_bk03 {
  background-image: url("../images/home/cover_03.jpg");
}

@media screen and (max-width: 750px) {
  .main_cover {
    padding-top: 70px !important;
  }
  .main_cover .main_cover_item figure {
    height: 78vh;
  }
  .main_cover .main_cover_item .text-area {
    width: 92%;
    bottom: 13%;
  }
  .main_cover .main_cover_item .text-area p {
    font-size: 8.5vw;
    line-height: 1.5;
  }
  .main_cover .main_cover_item::after {
    background: url("../images/home/symbolmark_sp.png");
    width: 214px;
    height: 170px;
    top: 48%;
    left: -60px;
  }
  .main_cover .main_cover_item .text-area p span {
    font-size: 2.9vw;
    margin: 16px 0 20px;
  }
  .main_cover .main_cover_item .text-area i {
    font-size: 12px;
  }
}
/*TOP ARTICLE*/
.top_articles_wrap {
  width: 100%;
  background: #fafafa;
  padding: 90px 0;
}
.top_articles_wrap .top_article_container {
  width: 1220px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 auto;
}
.top_articles_wrap .top_article_container .top_articles_ttl {
  width: 23%;
}
.top_articles_wrap .top_article_container .top_articles_ttl h2 {
  color: #be3c1e;
  margin-bottom: 30px;
  padding-bottom: 0;
  text-align: left;
  letter-spacing: 0.1em;
}
.top_articles_wrap .top_article_container .top_articles_ttl h2::after {
  display: none;
}
.top_articles_wrap .top_article_container .top_articles_ttl a {
  text-decoration: none;
  font-weight: 600;
  font-size: 23px;
  color: #000;
  font-style: italic;
  transition: 0.2s;
}
.top_articles_wrap .top_article_container .top_articles_ttl a:hover {
  color: #be3c1e;
}
.top_articles_wrap .top_article_container .top_articles_content {
  width: 76%;
  position: relative;
}
.top_articles_wrap .top_article_container .top_articles_content article {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px 3%;
  margin: 0 auto;
  position: relative;
  z-index: 0;
  transition: 0.2s;
}
.top_articles_wrap .top_article_container .top_articles_content article:hover {
  border: none;
}
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article:last-of-type {
  margin-bottom: 0;
}
.top_articles_wrap .top_article_container .top_articles_content article span {
  font-size: 20px;
  color: #000;
  letter-spacing: 3px;
}
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article
  span:last-of-type {
  width: 210px;
  font-size: 18px;
  color: #fff;
  background: #000;
  padding: 10px 0;
  text-align: center;
}
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article
  .txt_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 58%;
  padding: 30px 0;
}
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article
  .txt_box
  p {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 18px;
  color: #000;
  font-weight: bold;
  position: relative;
  line-height: 2;
  margin-right: 6%;
}
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article
  .txt_box::after {
  content: ">";
  font-family: "Roboto Condensed", sans-serif;
  font-size: 60px;
  font-weight: 100;
  margin: 0;
  height: 50px;
  display: block;
  line-height: 50px;
}
.top_articles_wrap .top_article_container .top_articles_content article a {
  text-decoration: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article::before {
  content: "";
  background: #000;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: left top;
  transform: scale(1, 1);
  transition: transform 0.3s;
}
.top_articles_wrap .top_article_container .top_articles_content article::after {
  content: "";
  background: #000;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: left top;
  transform: scale(0, 0);
  transition: transform 0.3s;
}
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article:hover
  span {
  color: #be3c1e;
}
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article:hover
  span:last-of-type {
  background: #be3c1e;
  color: #fff;
}
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article:hover
  p {
  color: #be3c1e;
}
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article:hover::before {
  display: none;
}
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

@media screen and (max-width: 1300px) {
  .top_articles_wrap .top_article_container {
    width: 100%;
  }
  .top_articles_wrap .top_article_container .top_articles_ttl {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
  }
  .top_articles_wrap .top_article_container .top_articles_ttl h2 {
    margin-bottom: 0;
  }
  .top_articles_wrap .top_article_container .top_articles_ttl a {
    font-size: 24px;
    position: relative;
    top: 1px;
  }
  .top_articles_wrap .top_article_container .top_articles_content {
    width: 100%;
  }
  .top_articles_wrap .top_article_container .top_articles_content article {
    padding: 20px 0 0;
  }
  .top_articles_wrap .top_article_container .top_articles_content article span {
    font-size: 18px;
  }
  .top_articles_wrap
    .top_article_container
    .top_articles_content
    article
    span:last-of-type {
    width: 100px;
    font-size: 8px;
    letter-spacing: 0.1em;
    padding: 4px 0;
    position: relative;
    top: -2px;
  }
  .top_articles_wrap
    .top_article_container
    .top_articles_content
    article
    .txt_box {
    width: 100%;
    padding: 0 0 4%;
  }
  .top_articles_wrap
    .top_article_container
    .top_articles_content
    article
    .txt_box
    p {
    width: 88%;
    font-size: 18px;
    line-height: 1.8;
  }
  .top_articles_wrap
    .top_article_container
    .top_articles_content
    article
    .txt_box::after {
    font-size: 40px;
    height: 25px;
    line-height: 25px;
  }
}
@media screen and (max-width: 450px) {
  .top_articles_wrap .top_article_container .top_articles_ttl a {
    font-size: 16px;
  }
  .top_articles_wrap .top_article_container .top_articles_content article span {
    font-size: 12px;
  }
  .top_articles_wrap
    .top_article_container
    .top_articles_content
    article
    .txt_box
    p {
    font-size: 12px;
  }
  .top_articles_wrap
    .top_article_container
    .top_articles_content
    article
    .txt_box::after {
    font-size: 35px;
  }
}
/*TOP ABOUT*/
.top_about_wrap {
  margin-top: 180px;
}
.top_about_wrap > .inner .large_txt {
  margin-bottom: 20px !important;
  line-height: 1.5 !important;
}
.top_about_wrap > .inner .large_txt,
.top_about_wrap > .inner p {
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.14em;
  line-height: 2.5;
}
.top_about_wrap > .inner .caut {
  margin: 20px 0 80px;
  font-size: 0.8rem;
  text-align: right;
}
.top_about_wrap > .inner .caut sup {
  color: #bd3c1e;
}
.top_about_wrap figure {
  margin-bottom: 80px;
}

.top_about_container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  background: #f9f9f9;
  gap: 40px 2%;
  padding: 80px;
}
.top_about_container > div {
  width: 48%;
}
.top_about_container > div p {
  font-size: 18px;
  color: #000;
  line-height: 32px;
}
.top_about_container > div p:first-of-type {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 42px;
  color: #000;
  margin-bottom: 40px;
  line-height: 64px;
}
.top_about_container > div .top_about_link_btn {
  width: 370px;
  display: block;
  padding: 20px 0;
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 16px;
  color: #fff;
  text-decoration: none;
  position: relative;
  background: linear-gradient(to right, #e7db9a 0%, #8edbde 100%);
  border-radius: 40px;
  margin-top: 60px;
}
.top_about_container > div .top_about_link_btn::after {
  content: "→";
  font-size: 21px;
  color: #fff;
  position: absolute;
  top: 18px;
  right: 18px;
}
.top_about_container figure {
  width: 48%;
  max-width: 546px;
}

@media screen and (max-width: 750px) {
  .top_about_container {
    flex-direction: column-reverse;
    padding: 20px 20px 40px;
  }
  .top_about_container > div,
  .top_about_container figure {
    width: 100%;
  }
  .top_about_container > div p {
    font-size: 16px;
    line-height: 28px;
  }
  .top_about_container > div p:first-of-type {
    font-size: 22px;
    line-height: 38px;
  }
  .top_about_container > div .top_about_link_btn {
    width: 100%;
    margin-top: 30px;
    padding: 12px 0;
    font-size: 14px;
  }
  .top_about_container > div .top_about_link_btn::after {
    top: 8px;
  }
  .top_about_wrap > .inner .large_txt,
  .top_about_wrap > .inner p {
    line-height: 1.5;
  }
}
@media screen and (max-width: 450px) {
  .top_about_wrap figure {
    width: 117%;
    position: relative;
    overflow-x: scroll;
    margin-bottom: 0;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 100px;
    margin-left: -9%;
  }
  .top_about_wrap figure img {
    width: 250%;
    display: block;
    max-width: 250%;
  }
}
/*TOP SOLUTIONS*/
.top_solutions_wrap {
  margin: 260px 0;
}

.top_solutions_container {
  padding: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 20px 2%;
}
.top_solutions_container .top_solutions_item {
  width: 32%;
  font-size: 0;
  position: relative;
  z-index: 0;
  transition: 0.2s;
}
.top_solutions_container .top_solutions_item a {
  text-decoration: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.top_solutions_container .top_solutions_item:hover {
  opacity: 0.7;
}
.top_solutions_container .top_solutions_item figure {
  width: 100%;
  max-height: 550px;
  margin: 0;
}
.top_solutions_container .top_solutions_item figure img {
  -o-object-fit: cover;
  object-fit: cover;
}
.top_solutions_container .top_solutions_item p {
  width: 100%;
  padding: 16px 1% 16px;
  position: absolute;
  bottom: 0;
  left: 0;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 15px;
  color: #fff;
  text-align: center;
  letter-spacing: 0.3em;
  line-height: 1.5;
}
.top_solutions_container .top_solutions_item p span {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 30px;
  font-weight: 600;
}
.top_solutions_container .top_solutions_item:nth-of-type(1) p {
  background-color: rgba(190, 60, 30, 0.9);
}
.top_solutions_container .top_solutions_item:nth-of-type(2) p {
  background-color: rgba(245, 200, 0, 0.9);
}
.top_solutions_container .top_solutions_item:nth-of-type(3) p {
  background-color: rgba(160, 200, 100, 0.9);
}

@media screen and (max-width: 700px) {
  .top_solutions_container {
    display: block;
  }
  .top_solutions_container .top_solutions_item {
    margin-top: 40px;
    width: 100%;
  }
  .top_solutions_container .top_solutions_item:first-child {
    margin-top: 0;
  }
  .top_solutions_container .top_solutions_item figure {
    max-height: inherit;
  }
}
@media screen and (max-width: 450px) {
  .top_solutions_wrap {
    margin: 150px 0;
  }
  .top_solutions_container .top_solutions_item {
    width: 100%;
  }
  .top_solutions_container .top_solutions_item p {
    padding: 20px 1%;
    font-size: 10px;
  }
  .top_solutions_container .top_solutions_item p span {
    font-size: 20px;
  }
}
/*TOP CASE (SOLUTIONページ,CASEページ共通)*/
.top_case_wrap {
  padding: 100px 0;
  background: #fafafa;
}

.top_case_wrap h2 {
  margin-bottom: 80px;
}

.case_list_container {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 100px 3%;
}
.case_list_container article {
  width: 31%;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  position: relative;
  z-index: 0;
  transition: 0.2s;
  padding-bottom: 40px;
}
.case_list_container article a {
  text-decoration: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.case_list_container article:hover {
  opacity: 0.7;
}
.case_list_container article:hover::after {
  color: #be3c1e;
}
.case_list_container article::after {
  content: "More>>>";
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 500;
  font-style: italic;
  color: #000;
  position: absolute;
  bottom: 20px;
}
.case_list_container article figure {
  width: 100%;
  margin: 0;
  position: relative;
  height: 295px;
}
.case_list_container article figure img {
  -o-object-fit: cover;
  object-fit: cover;
  height: 100%;
}
.case_list_container article figure:nth-of-type(2) {
  width: 60px;
  height: 40px;
  position: absolute;
  top: 10px;
  left: 10px;
}
.case_list_container article span {
  margin: 20px 0 0;
}
.case_list_container article span.date {
  display: block;
  font-size: 17px;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: normal;
}
.case_list_container article span.client_name {
  display: block;
  font-size: 18px;
  line-height: 32px;
  margin-top: 4px;
}
.case_list_container article span.cat_name {
  display: block;
  font-size: 18px;
  line-height: 32px;
  margin-top: 4px;
  margin-left: -8px;
}
.case_list_container article p {
  font-size: 18px;
  position: relative;
  line-height: 32px;
  margin-top: 5px;
}
.case_list_container article p::after {
  content: "-";
  font-size: 15px;
  display: block;
  margin: 10px 0;
  line-height: 1;
}
.case_list_container article .tag_container {
  width: 100%;
  font-size: 15px;
  margin-bottom: 40px;
}
.case_list_container article .tag_container span {
  margin: 10px 0 0;
  display: block;
}
.case_list_container article .tag_container span::before {
  content: "#";
}
.case_list_container article .tag_container span:first-child {
  margin: 0;
}
.case_list_container article .tag_container [class^="consulting"] {
  color: #be3c1e !important;
}
.case_list_container article .tag_container [class^="coaching"] {
  color: #a0c864 !important;
}
.case_list_container article .tag_container [class^="training"] {
  color: #f5c800 !important;
}

@media screen and (max-width: 960px) {
  .case_list_container article {
    width: 48%;
  }
}
@media screen and (max-width: 750px) {
  .top_case_wrap {
    padding: 80px 0;
  }
  .top_case_wrap h2 {
    margin-bottom: 60px;
  }
  .top_case_wrap .case_link_btn {
    width: 110px;
    font-size: 12px;
    padding: 2px 0;
  }
  .case_list_container {
    gap: 50px 0;
  }
  .case_list_container article {
    width: 100%;
  }
  /*TOPページCASEスマホ表示数5*/
  .case_list_container article:nth-of-type(n + 5) {
    display: none;
  }
  .case_list_container article span {
    margin: 10px 0 0;
  }
  .case_list_container article span.date {
    font-size: 10px;
  }
  .case_list_container article span.client_name {
    font-size: 12px;
    line-height: 24px;
  }
  .case_list_container article span.cat_name {
    font-size: 12px;
    line-height: 24px;
    margin: 0;
  }
  .case_list_container article p {
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
  }
  .case_list_container article .tag_container {
    font-size: 10px;
    margin: 3px 0 20px;
  }
  .case_list_container article::after {
    font-size: 12px;
  }
  .case_list_container article figure {
    height: 400px;
  }
  .case_list_container article figure:nth-of-type(2) {
    width: 42px;
    height: 28px;
    top: 10px;
    left: 10px;
  }
  .case_content_outset .tag_container span {
    margin-right: 10px !important;
    display: block;
  }
  .case_content_outset p span.cat_name {
    margin-left: 0 !important;
    text-indent: -8px;
  }
  .case_content_wph .content_txt .content_box {
    margin-top: 60px !important;
  }
}
@media screen and (max-width: 450px) {
  .case_list_container article figure {
    height: 235px;
  }
}
/* ABOUT
----------------------------------------------------*/
.about_wrap,
.company_wrap {
  padding: 40px 0 0;
}
.about_wrap h2,
.company_wrap h2 {
  margin-bottom: 100px;
}
.about_wrap h2::after,
.company_wrap h2::after {
  content: "";
  display: block;
  width: 400px;
  height: 2px;
  background: #bd3c1e;
}
.about_wrap #message h2,
.company_wrap #message h2 {
  margin-bottom: 90px;
}
.about_wrap .inner,
.company_wrap .inner {
  width: 1280px;
  padding: 0 2%;
}
.about_wrap p,
.company_wrap p {
  font-size: 18px;
  line-height: 40px;
  letter-spacing: 0.1em;
}
.about_wrap p strong,
.company_wrap p strong {
  font-size: 1.3em;
  font-weight: bold;
}
.about_wrap p.large_txt,
.company_wrap p.large_txt {
  font-family: "Roboto Condensed", sans-serif;
  margin-top: -24px;
  letter-spacing: 0.14em;
  line-height: 1.5 !important;
}
.about_wrap .display_content_wrap .display_trigger,
.company_wrap .display_content_wrap .display_trigger {
  height: 1400px;
}

.about_anchor_container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px 1%;
  max-width: 1380px;
  margin: 0 auto 200px;
}
.about_anchor_container a {
  width: 19%;
  position: relative;
  text-decoration: none;
  padding: 24px 0;
  text-align: center;
  background: #efefef;
  font-size: 20px;
  font-weight: 600;
  color: #000;
  transition: 0.2s;
}
.about_anchor_container a::after {
  content: ">";
  font-size: 30px;
  font-weight: 100;
  position: absolute;
  top: 15px;
  right: 20px;
  transform: rotate(90deg);
}
.about_anchor_container a.select {
  background: #bd3c1e;
  color: #fff;
}
.about_anchor_container a.select::after {
  color: #fff;
}
.about_anchor_container a:hover {
  background: #bd3c1e;
  color: #fff;
}
.about_anchor_container a:hover::after {
  color: #fff;
}

.about_mission_container {
  margin-bottom: 260px;
}
.about_mission_container .large_txt {
  margin-bottom: 50px;
}
.about_mission_container figure {
  width: 100%;
  padding: 14px 97px;
  background: #f9f9f9;
  margin-bottom: 80px;
  box-sizing: border-box;
}

.about_vision_container {
  margin: 0 auto 200px;
}
.about_vision_container .txt_2colwrap {
  display: flex;
  justify-content: space-between;
}
.about_vision_container .txt_2colwrap .txt_box {
  width: 50%;
}
.about_vision_container .txt_2colwrap figure {
  width: 46%;
}

.about_message_wrap .show_more {
  margin-top: 130px;
}

.about_message_container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 50px 4%;
  margin-top: -3px;
}
.about_message_container .about_message_item {
  width: 48%;
}
.about_message_container .about_message_item figure {
  width: 100%;
  margin-bottom: 100px;
}
.about_message_container .about_message_item figure figcaption span {
  display: block;
  text-align: right;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 40px;
  color: #000;
  font-weight: bold;
  margin-bottom: 20px;
}
.about_message_container
  .about_message_item
  figure
  figcaption
  span:first-of-type {
  font-size: 20px;
  margin-top: 20px;
  margin-bottom: 5px;
}
.about_message_container .about_message_item figure figcaption i {
  display: block;
  font-size: 40px;
  text-align: right;
}

.message_book {
  padding: 100px 0 0;
  border-top: 1px solid #000;
}
.message_book p {
  font-size: 25px;
  font-weight: bold;
  margin-bottom: 40px;
  text-align: center;
}
.message_book figure {
  width: 100% !important;
  margin: 0 auto 40px !important;
}
.message_book span {
  display: block;
  width: 80%;
  text-align: center;
  margin: 0 auto;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 18px;
  color: #000;
  font-weight: 400;
}

@media screen and (max-width: 1200px) {
  .about_vision_container .txt_2colwrap .txt_box {
    width: 60%;
  }
  .about_vision_container .txt_2colwrap figure {
    width: 38%;
  }
}
@media screen and (max-width: 960px) {
  .about_vision_container .txt_2colwrap {
    display: block;
  }
  .about_vision_container .txt_2colwrap .txt_box {
    width: 100%;
    margin-bottom: 8%;
  }
  .about_vision_container .txt_2colwrap figure {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .about_wrap,
  .company_wrap {
    padding: 20px 0 0;
  }
  .about_wrap .inner,
  .company_wrap .inner {
    width: 90%;
    padding: 0;
  }
  .about_wrap h2,
  .company_wrap h2 {
    font-size: 23px;
    margin-bottom: 50px;
  }
  .about_wrap .display_content_wrap .display_trigger {
    height: 1130px;
  }
  .about_wrap h2::after,
  .company_wrap h2::after {
    width: 204px;
  }
  .about_wrap p,
  .company_wrap p {
    font-size: 12px;
    line-height: 23px;
  }
  .about_anchor_container {
    width: 94%;
    margin: 0 auto 100px;
  }
  .about_anchor_container a {
    width: 49%;
    padding: 10px 0;
    font-size: 12px;
  }
  .about_anchor_container a:first-child {
    width: 100%;
    padding: 10px 0;
    font-size: 12px;
  }
  .about_anchor_container a::after {
    font-size: 26px;
    top: 0;
    right: 10px;
  }
  .about_mission_container {
    margin-bottom: 130px;
  }
  .about_mission_container figure {
    padding: 0;
    margin-bottom: 50px;
  }
  .about_mission_list {
    font-size: 12px;
    margin-bottom: 60px;
  }
  .about_mission_list li {
    list-style-type: none;
    list-style-position: inside;
    counter-increment: count;
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    margin-top: 10px;
  }
  .about_mission_list li:first-child {
    margin: 0;
  }
  .about_mission_list li::before {
    display: block;
    content: counter(count, upper-alpha);
    margin-right: 4%;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 500;
  }
  .about_message_wrap {
    margin-bottom: 100px;
  }
  .about_message_container {
    flex-direction: column-reverse;
  }
  .about_message_container .about_message_item {
    width: 100%;
  }
  .about_message_container .about_message_item figure {
    margin-bottom: 0;
  }
  .about_message_container .about_message_item figure figcaption span {
    text-align: left;
    font-size: 20px;
    margin-bottom: 20px;
  }
  .about_message_container
    .about_message_item
    figure
    figcaption
    span:first-of-type {
    font-size: 12px;
    margin-bottom: 10px;
  }
  .about_message_container .about_message_item figure figcaption i {
    text-align: left;
    font-size: 26px;
  }
  .message_book {
    padding: 50px 0;
    border-bottom: 1px solid #000;
  }
  .message_book span {
    width: 100%;
    font-size: 12px;
  }
  .about_vision_container {
    margin-bottom: 130px;
  }
  .about_vision_container .txt_2colwrap {
    display: block;
  }
  .about_vision_container .txt_2colwrap .txt_box {
    width: 100%;
  }
  .about_vision_container .txt_2colwrap figure {
    width: 90%;
    margin-bottom: 40px;
    margin-left: 10%;
  }
  .about_vision_list {
    font-size: 3vw;
  }
  .about_vision_list li {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    margin-top: 10px;
  }
  .about_vision_list li:first-child {
    margin: 0;
  }
  .about_vision_list li:first-child span,
  .about_vision_list li:first-child p {
    color: #bd3c1e;
  }
  .about_vision_list li span {
    margin-right: 6%;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 500;
    display: block;
    letter-spacing: -0.1px;
    width: 13%;
  }
  .about_vision_list li p {
    font-weight: 400;
    font-size: 3vw;
    width: 85%;
  }
}
/*COMPANY*/
.company_wrap h2::after {
  background: #f4c700;
}
.company_wrap .about_anchor_container a {
  width: 49%;
}
.company_wrap .about_anchor_container a.select,
.company_wrap .about_anchor_container a:hover {
  background: #f4c700;
}
.company_wrap .about_symbol_container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 50px 0;
  margin-bottom: 200px;
}
.company_wrap .about_symbol_container .about_symbol_item {
  width: 49%;
}
.company_wrap .about_symbol_container .about_symbol_item figure {
  text-align: center;
}
.company_wrap .about_symbol_container .about_symbol_item figure img {
  width: 80%;
}
.company_wrap .about_symbol_container .about_symbol_item:first-child {
  width: 50%;
}
.company_wrap .about_symbol_container .large_txt {
  word-break: keep-all;
}
.company_wrap .about_company_wrap table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.company_wrap .about_company_wrap table th,
.company_wrap .about_company_wrap table td {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 18px;
  color: #000;
  padding: 0 0 60px;
  line-height: 2;
}
.company_wrap .about_company_wrap table th {
  width: 230px;
  font-weight: bold;
  vertical-align: top;
}

@media screen and (max-width: 1300px) {
  .about_wrap .inner,
  .company_wrap .inner {
    width: 86%;
  }
  .company_wrap .about_symbol_container .about_symbol_item:first-child {
    width: 60%;
  }
  .company_wrap .about_symbol_container .about_symbol_item {
    width: 39%;
  }
}
@media screen and (max-width: 1060px) {
  .company_wrap .about_symbol_container .about_symbol_item:first-child {
    width: 70%;
  }
  .company_wrap .about_symbol_container .about_symbol_item {
    width: 29%;
  }
}
@media screen and (max-width: 960px) {
  .company_wrap .about_symbol_container {
    flex-direction: column-reverse;
  }
  .company_wrap .about_symbol_container .about_symbol_item:first-child {
    width: 100%;
  }
  .company_wrap .about_symbol_container .about_symbol_item figure {
    text-align: left;
  }
  .company_wrap .about_symbol_container .about_symbol_item figure img {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .company_wrap .about_company_wrap table th {
    width: 80px;
  }
  .company_wrap .about_company_wrap table th,
  .company_wrap .about_company_wrap table td {
    font-size: 12px;
  }
  .company_wrap .about_company_wrap table th,
  .company_wrap .about_company_wrap table td {
    padding: 0 0 30px;
  }
  .company_wrap .about_symbol_container .about_symbol_item {
    width: 60%;
  }
}
@media screen and (max-width: 400px) {
  .company_wrap .about_symbol_container .large_txt {
    font-size: 6.8vw !important;
    line-height: 2 !important;
  }
}
/* SOLUTION
----------------------------------------------------*/
.solution_wrap .display_content_wrap {
  padding: 100px 0;
  border-bottom: 1px solid #000;
  margin-top: -1px;
}
.solution_wrap .display_content_wrap:first-child {
  border-top: 1px solid #000;
}
.solution_wrap #consulting .display_content_wrap .display_trigger {
  height: 660px;
}
.solution_wrap #training .display_content_wrap .display_trigger {
  height: 600px;
}
.solution_wrap #coaching .display_content_wrap .display_trigger {
  height: 600px;
}

.solution_outset_container {
  text-align: center;
  padding: 80px 0 0;
  margin-bottom: 130px;
}
.solution_outset_container .large_txt {
  letter-spacing: 0.14em;
}
.solution_outset_container .large_txt + p {
  line-height: 2.5;
  letter-spacing: 0.1em;
}

.solution_anchor_container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px 2%;
  margin-bottom: 160px;
  position: relative;
  z-index: 1;
}
.solution_anchor_container a {
  width: 32%;
  position: relative;
  padding: 43px 0;
  text-decoration: none;
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 15px;
  color: #fff;
  transition: 0.2s;
  letter-spacing: 0.1em;
}
.solution_anchor_container a span {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 500;
  font-size: 30px;
}
.solution_anchor_container a::after {
  content: ">";
  font-size: 30px;
  font-weight: 100;
  position: absolute;
  top: 36%;
  right: 20px;
  transform: rotate(90deg);
}
.solution_anchor_container a.btn_red {
  background: #bd3c1e;
}
.solution_anchor_container a.btn_yellow {
  background: #f4c700;
}
.solution_anchor_container a.btn_green {
  background: #9fc764;
}
.solution_anchor_container a:hover {
  opacity: 0.55;
}

.solution_content {
  width: 1280px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 30px 4%;
  margin-bottom: 200px;
}
.solution_content figure {
  width: 50%;
}
.solution_content .content_item {
  margin-top: -17px;
  width: 44%;
}
.solution_content .content_item h2 {
  padding-bottom: 30px;
  margin-bottom: 70px;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 18px;
}
.solution_content .content_item h2 span {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 600;
  font-size: 40px;
}
.solution_content .content_item h2 + p {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 30px;
  line-height: 54px;
  letter-spacing: 0.1em;
  margin-bottom: 50px;
}
.solution_content .content_item .tag_container {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}
.solution_content .content_item .tag_container span {
  margin-right: 10px;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 15px;
  line-height: 36px;
  letter-spacing: 0.1em;
}
.solution_content .content_item .tag_container span::before {
  content: "#";
}

.solution_content_detail h3 {
  display: block;
  width: 100%;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 100px;
  letter-spacing: 0.1em;
}
.solution_content_detail h3 span {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 500;
  font-size: 40px;
  margin-right: 24px;
}
.solution_content_detail .problem_container {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 26px 2%;
  margin-bottom: 70px;
}
.solution_content_detail .problem_container div {
  width: 49%;
  height: 200px;
  padding: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f9f9f9;
}
.solution_content_detail .problem_container div p {
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 20px;
}
.solution_content_detail .problem_container + p {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  margin-bottom: 180px;
}
.solution_content_detail .our_service_container {
  margin-bottom: 200px;
}
.solution_content_detail .our_service_container p {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  margin-bottom: 80px;
  line-height: 2;
  letter-spacing: 0.1em;
}
.solution_content_detail .our_service_container p:last-of-type {
  margin-bottom: 0;
}
.solution_content_detail .our_service_container p.service_ttl {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 30px;
  counter-increment: ttlnumber;
  margin-bottom: 16px;
  position: relative;
  margin-left: 50px;
}
.solution_content_detail .our_service_container p.service_ttl::before {
  content: counter(ttlnumber, decimal-leading-zero) ".";
  font-family: "Roboto Condensed", sans-serif;
  font-size: 25px;
  font-weight: 500;
  position: absolute;
  top: 4px;
  left: -50px;
}
.solution_content_detail .cace_container .solutions_case_container {
  margin-top: 0;
  gap: 100px 3.5%;
}
.solution_content_detail
  .cace_container
  .solutions_case_container
  article
  .tag_container
  span {
  display: block;
  margin: 8px 0;
}

/*Solutionsページカラーバリエーション*/
.content_red h2 {
  border-bottom: 20px solid #bd3c1e;
}
@media screen and (max-width: 750px) {
  .content_red h2 {
    border-bottom: 10px solid #bd3c1e;
  }
}
.content_red h2 span {
  color: #bd3c1e;
}
.content_red h3 {
  border-bottom: 2px solid #bd3c1e;
}
.content_red .problem_container span {
  color: #bd3c1e;
}
.content_red .our_service_container p.service_ttl {
  color: #bd3c1e;
}
.content_red .case_list_container article .tag_container span {
  color: #bd3c1e;
}

.content_yellow h2 {
  border-bottom: 20px solid #f4c700;
}
@media screen and (max-width: 750px) {
  .content_yellow h2 {
    border-bottom: 10px solid #f4c700;
  }
}
.content_yellow h2 span {
  color: #f4c700;
}
.content_yellow h3 {
  border-bottom: 2px solid #f4c700;
}
.content_yellow .problem_container span {
  color: #f4c700;
}
.content_yellow .our_service_container p.service_ttl {
  color: #f4c700;
}
.content_yellow .case_list_container article .tag_container span {
  color: #f4c700;
}

.content_green h2 {
  border-bottom: 20px solid #9fc764;
}
@media screen and (max-width: 750px) {
  .content_green h2 {
    border-bottom: 10px solid #9fc764;
  }
}
.content_green h2 span {
  color: #9fc764;
}
.content_green h3 {
  border-bottom: 2px solid #9fc764;
}
.content_green .problem_container span {
  color: #9fc764;
}
.content_green .our_service_container p.service_ttl {
  color: #9fc764;
}
.content_green .case_list_container article .tag_container span {
  color: #9fc764;
}

@media screen and (max-width: 1300px) {
  .solution_content {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .solution_wrap h2 {
    font-size: 23px;
    margin-bottom: 50px;
  }
  .solution_wrap h2::after {
    width: 204px;
  }
  .solution_wrap p {
    font-size: 12px;
    line-height: 23px;
  }
  .solution_outset_container {
    padding: 50px 0 0;
    margin-bottom: 80px;
  }
  .solution_anchor_container a {
    width: 100%;
    padding: 8px 0;
    font-size: 8px;
  }
  .solution_anchor_container a span {
    display: inline;
    margin-right: 10px;
    font-size: 12px;
  }
  .solution_anchor_container a::after {
    font-size: 17px;
    top: 5px;
    right: 5px;
  }
  .solution_wrap .display_content_wrap {
    padding: 50px 0;
  }
  .solution_wrap #consulting .display_content_wrap .display_trigger {
    height: 660px;
  }
  .solution_wrap #training .display_content_wrap .display_trigger {
    height: 540px;
  }
  .solution_wrap #coaching .display_content_wrap .display_trigger {
    height: 545px;
  }
  .solution_content {
    width: 100%;
    margin-bottom: 130px;
  }
  .solution_content figure {
    width: 100%;
  }
  .solution_content .content_item {
    width: 100%;
  }
  .solution_content .content_item h2 span {
    font-size: 23px;
  }
  .solution_content .content_item h2 {
    font-size: 10px;
    margin-bottom: 30px;
    padding-bottom: 20px;
  }
  .solution_content .content_item h2 + p {
    font-size: 15px;
    line-height: 23px;
    margin-bottom: 20px;
  }
  .solution_content .content_item .tag_container span {
    font-size: 10px;
    line-height: 22px;
  }
  .solution_content_detail h3 {
    font-size: 10px;
    margin-bottom: 50px;
  }
  .solution_content_detail h3 span {
    font-size: 23px;
  }
  .solution_content_detail .problem_container {
    gap: 10px 0;
    margin-bottom: 130px;
  }
  .solution_content_detail .problem_container div {
    width: 100%;
    height: 130px;
    padding: 20px;
  }
  .solution_content_detail .problem_container div p {
    font-size: 12px;
  }
  .solution_content_detail .problem_container + p {
    font-size: 14px;
  }
  .solution_content_detail .our_service_container {
    margin-bottom: 130px;
  }
  .solution_content_detail .our_service_container p.service_ttl::before {
    font-size: 12px;
    top: 2px;
    left: -26px;
  }
  .solution_content_detail .our_service_container p.service_ttl {
    font-size: 15px;
    margin-left: 26px;
  }
  .solution_content_detail .our_service_container p {
    font-size: 12px;
    margin-bottom: 50px;
  }
  .solution_content_detail .cace_container .solutions_case_container {
    gap: 50px 0;
  }
  .solution_outset_container .large_txt + p {
    line-height: 1.8;
  }
}
/* CASE
----------------------------------------------------*/
/*CASE TOP*/
.case_list_wrap .case_list_container {
  margin-bottom: 200px;
}

.case_anchor_container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px 1%;
  max-width: 1380px;
  margin: 60px auto 170px;
}
.case_anchor_container a {
  width: 24%;
  position: relative;
  text-decoration: none;
  padding: 24px 0;
  text-align: center;
  background: #efefef;
  font-size: 20px;
  font-weight: 600;
  color: #000;
  transition: 0.2s;
}
.case_anchor_container a:hover,
.case_anchor_container a.select {
  background: #000;
  color: #fff;
}
.case_anchor_container a[class^="consulting"]:hover,
.case_anchor_container a[class^="consulting"].select {
  background: #be3c1e;
}
.case_anchor_container a[class^="coaching"]:hover,
.case_anchor_container a[class^="coaching"].select {
  background: #a0c864;
}
.case_anchor_container a[class^="training"]:hover,
.case_anchor_container a[class^="training"].select {
  background: #f5c800;
}

.pagenation_container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px 5%;
  margin-top: 120px;
}
.pagenation_container .page-numbers {
  text-decoration: none;
  font-size: 25px;
  font-weight: 600;
  color: #b3b3b3;
  transition: 0.2s;
}
.pagenation_container .page-numbers:hover,
.pagenation_container .page-numbers.current {
  color: #000;
}
.pagenation_container .page-numbers.left_arrow {
  margin-right: 80px;
}
.pagenation_container .page-numbers.right_arrow {
  margin-left: 80px;
}
.pagenation_container .prev {
  margin-right: 32px;
  color: #000;
  text-decoration: none;
}
.pagenation_container .prev.disabled {
  opacity: 0;
}
.pagenation_container .next {
  margin-left: 32px;
  color: #000;
  text-decoration: none;
}
.pagenation_container .next.disabled {
  opacity: 0;
}

@media screen and (max-width: 750px) {
  .pagenation_container .page-numbers {
    font-size: 16px;
  }
}
/*記事詳細画像あり*/
.case_content_wrap {
  width: 87%;
  margin: 0 auto;
  padding: 50px 0 90px;
  border-bottom: 1px solid #000;
}

.case_content_outset {
  width: 100%;
  position: relative;
}
.case_content_outset > span {
  display: block;
  margin-bottom: 2px;
  font-size: 17px;
  font-weight: 400;
}
.case_content_outset p {
  width: 90%;
  margin-bottom: 0;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 20px;
}
.case_content_outset p span.cat_name {
  display: block;
  margin-left: -8px;
}
.case_content_outset p span.project_dura {
  display: block;
  color: #b3b3b3;
}
.case_content_outset p::after {
  content: "-";
  display: block;
}
.case_content_outset .tag_container {
  width: 100%;
  margin: 0;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 20px;
}
.case_content_outset .tag_container span {
  margin-right: 24px;
}
.case_content_outset .tag_container span::before {
  content: "#";
}
.case_content_outset .tag_container [class^="consulting"] {
  color: #be3c1e;
}
.case_content_outset .tag_container [class^="coaching"] {
  color: #a0c864;
}
.case_content_outset .tag_container [class^="training"] {
  color: #f5c800;
}
.case_content_outset > figure {
  width: 70px;
  position: absolute;
  top: 0;
  right: 0;
}
.case_content_outset .large_txt {
  width: 100%;
  padding-bottom: 60px;
  border-bottom: 1px solid #000;
  margin-top: 30px;
  line-height: 1.5 !important;
}
.case_content_outset .large_txt:after {
  display: none;
}
.case_content_outset.case_temp02 {
  margin-bottom: 90px;
}

.case_content_wph {
  margin-top: 30px;
}
.case_content_wph > figure {
  margin-bottom: 60px;
}
.case_content_wph .case_overview_container h2 {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
  position: relative;
  color: #bd3c1e;
}
.case_content_wph .case_overview_container h2 + p {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  letter-spacing: 0.1em;
  margin-bottom: 100px;
}
.case_content_wph .case_overview_container .case_overview_ph_container {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 30px 5%;
  margin-bottom: 150px;
}
.case_content_wph .case_overview_container .case_overview_ph_container > div {
  width: 30%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0 2%;
}
.case_content_wph
  .case_overview_container
  .case_overview_ph_container
  > div
  figure {
  width: 130px;
}
.case_content_wph .case_overview_container .case_overview_ph_container > div p {
  width: 60%;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 13px;
}
.case_content_wph
  .case_overview_container
  .case_overview_ph_container
  > div
  p
  span {
  display: block;
  font-weight: bold;
  margin-bottom: 20px;
}
.case_content_wph .content_chapter_label {
  width: 100%;
  z-index: 0;
  position: relative;
  margin-top: 160px;
}
.case_content_wph .content_chapter_label h2 {
  display: inline-block;
  background: #fff;
  padding-right: 40px;
  margin-bottom: 70px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #bd3c1e;
}
.case_content_wph .content_chapter_label::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  z-index: -1;
  position: absolute;
  top: 15px;
  left: 0;
}
.case_content_wph .content_chapter_label + p {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 30px;
  letter-spacing: 0.1em;
  margin-bottom: 80px;
}
.case_content_wph .content_txt {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 40px;
}
.case_content_wph .content_txt p:nth-of-type(odd) {
  font-weight: bold;
  margin-bottom: 50px;
}
.case_content_wph .content_txt p:nth-of-type(even) {
  margin-bottom: 50px;
}
.case_content_wph .content_txt p:nth-of-type(even) span {
  font-weight: bold;
  display: inline-block;
  margin-right: 1em;
}
.case_content_wph .content_txt .content_box {
  margin-top: 100px;
}
.case_content_wph .content_txt .content_box:first-child {
  margin-top: 0;
}
.case_content_wph .large_txt {
  margin-bottom: 80px !important;
}

/*記事詳細画像なし*/
.case_content_noph {
  margin-top: 80px;
}
.case_content_noph:first-of-type {
  margin-top: 0;
}
.case_content_noph h2 {
  font-size: 30px;
  color: #000;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}
.case_content_noph h2 + p {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}
.case_content_noph ul.normal > li {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 20px;
  position: relative;
}
.case_content_noph ul.normal > li::before {
  content: "・";
  position: absolute;
  left: -20px;
  font-family: "Roboto Condensed", sans-serif;
}
.case_content_noph ul.single > li {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 30px;
  position: relative;
}
.case_content_noph ul.single > li::before {
  content: ">";
  position: absolute;
  left: -30px;
  color: #bd3c1e;
  font-family: "Roboto Condensed", sans-serif;
}
.case_content_noph ul.single > li ul {
  margin-top: 0;
}
.case_content_noph ul.single > li ul li {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 20px;
  position: relative;
}
.case_content_noph ul.single > li ul li::before {
  content: "・";
  position: absolute;
  left: -20px;
  font-family: "Roboto Condensed", sans-serif;
}
.case_content_noph ul.triple > li {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 44px;
  position: relative;
}
.case_content_noph ul.triple > li::before {
  content: ">>>";
  position: absolute;
  left: -44px;
  color: #bd3c1e;
  letter-spacing: -1px;
  font-family: "Roboto Condensed", sans-serif;
}
.case_content_noph ul.triple > li ul {
  margin-top: 0;
  margin-bottom: 40px;
}
.case_content_noph ul.triple > li ul li {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 20px;
  position: relative;
}
.case_content_noph ul.triple > li ul li::before {
  content: "・";
  position: absolute;
  left: -20px;
  font-family: "Roboto Condensed", sans-serif;
}
.case_content_noph ol {
  margin-bottom: 50px;
}
.case_content_noph ol > li {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 44px;
  position: relative;
  counter-increment: ttlnumber;
}
.case_content_noph ol > li::before {
  content: counter(ttlnumber, decimal-leading-zero) ".";
  position: absolute;
  left: -44px;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 20px;
  color: #bd3c1e;
  font-weight: 400;
}
.case_content_noph ol > li ul {
  margin-top: 0;
}
.case_content_noph ol > li ul li {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 20px;
  position: relative;
}
.case_content_noph ol > li ul li::before {
  content: "・";
  position: absolute;
  left: -20px;
  font-family: "Roboto Condensed", sans-serif;
}
.case_content_noph.assignment ul > li {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 30px;
  position: relative;
}
.case_content_noph.assignment ul > li::before {
  content: ">";
  position: absolute;
  left: -30px;
  color: #bd3c1e;
  font-family: "Roboto Condensed", sans-serif;
}
.case_content_noph.assignment ul > li ul {
  margin-top: 0;
}
.case_content_noph.assignment ul > li ul li {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 20px;
  position: relative;
}
.case_content_noph.assignment ul > li ul li::before {
  content: "・";
  position: absolute;
  left: -20px;
  font-family: "Roboto Condensed", sans-serif;
}
.case_content_noph.overview ul > li {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 20px;
  position: relative;
}
.case_content_noph.overview ul > li::before {
  content: "・";
  position: absolute;
  left: -20px;
  font-family: "Roboto Condensed", sans-serif;
}
.case_content_noph.step ol {
  margin-bottom: 50px;
}
.case_content_noph.step ol > li {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 44px;
  position: relative;
  counter-increment: ttlnumber;
}
.case_content_noph.step ol > li::before {
  content: counter(ttlnumber, decimal-leading-zero) ".";
  position: absolute;
  left: -44px;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 20px;
  color: #bd3c1e;
  font-weight: 400;
}
.case_content_noph.step ol > li ul {
  margin-top: 0;
}
.case_content_noph.step ol > li ul li {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 20px;
  position: relative;
}
.case_content_noph.step ol > li ul li::before {
  content: "・";
  position: absolute;
  left: -20px;
  font-family: "Roboto Condensed", sans-serif;
}
.case_content_noph.results ul > li {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 44px;
  position: relative;
}
.case_content_noph.results ul > li::before {
  content: ">>>";
  position: absolute;
  left: -44px;
  color: #bd3c1e;
  letter-spacing: -1px;
  font-family: "Roboto Condensed", sans-serif;
}
.case_content_noph.results ul > li ul {
  margin-top: 0;
  margin-bottom: 40px;
}
.case_content_noph.results ul > li ul li {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  margin-left: 20px;
  position: relative;
}
.case_content_noph.results ul > li ul li::before {
  content: "・";
  position: absolute;
  left: -20px;
  font-family: "Roboto Condensed", sans-serif;
  color: #000;
}

@media screen and (max-width: 1100px) {
  .case_content_wph
    .case_overview_container
    .case_overview_ph_container
    > div
    p {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  /*CASE TOP*/
  .case_anchor_container {
    margin: 0 auto 80px;
  }
  .case_anchor_container a {
    width: 49%;
    padding: 10px 0;
    font-size: 12px;
  }
  .pagenation_container a.left_arrow,
  .pagenation_container a.right_arrow {
    margin: 0;
  }
  .case_list_wrap .case_list_container {
    margin-bottom: 140px;
  }
  /*CASEページスマホ表示数8*/
  .case_list_wrap .case_list_container article:nth-of-type(n + 5) {
    display: block;
  }
  .case_list_wrap .case_list_container article:nth-of-type(n + 8) {
    display: none;
  }
  /*記事詳細画像あり*/
  .case_content_wrap {
    width: 92%;
    padding: 10px 0 70px;
  }
  .case_content_outset > span {
    font-size: 10px;
  }
  .case_content_outset > figure {
    width: 30px;
  }
  .case_content_outset p {
    font-size: 12px;
  }
  .case_content_outset .tag_container {
    font-size: 10px;
  }
  .case_content_wph > figure {
    margin-bottom: 20px;
  }
  .case_content_wph > figure.first_image {
    margin-bottom: 50px;
    width: 110%;
    position: relative;
    left: -5%;
  }
  .case_content_wph .case_overview_container h2 {
    font-size: 10px;
  }
  .case_content_wph .case_overview_container h2 + p {
    font-size: 12px;
    line-height: 23px;
    margin-bottom: 50px;
  }
  .case_content_wph .case_overview_container .case_overview_ph_container > div {
    width: 100%;
    justify-content: flex-start;
  }
  .case_content_wph
    .case_overview_container
    .case_overview_ph_container
    > div
    figure {
    width: 70px;
  }
  .case_content_wph
    .case_overview_container
    .case_overview_ph_container
    > div
    p {
    width: 72%;
    font-size: 8px;
    line-height: 1.8;
    margin-top: -4px;
  }
  .case_content_wph
    .case_overview_container
    .case_overview_ph_container
    > div
    p
    span {
    font-size: 10px;
    margin-bottom: 8px;
  }
  .case_content_wph .case_overview_container .case_overview_ph_container {
    margin-bottom: 100px;
  }
  .case_content_wph .content_chapter_label {
    margin-top: 100px;
  }
  .case_content_wph .content_chapter_label h2 {
    font-size: 10px;
    padding-right: 20px;
    margin-bottom: 30px;
  }
  .case_content_wph .content_chapter_label + p {
    font-size: 15px;
    margin-bottom: 30px;
  }
  .case_content_wph .content_txt p:nth-of-type(odd),
  .case_content_wph .content_txt p:nth-of-type(even) {
    font-size: 12px;
    line-height: 23px;
    margin-bottom: 20px;
  }
  .case_content_wph .content_txt p:nth-of-type(2n) span {
    margin-right: 0.5em;
  }
  .case_content_outset .large_txt {
    padding-bottom: 50px;
  }
  .case_content_noph h2 {
    font-size: 15px;
    margin-bottom: 16px;
  }
  .case_content_noph h2 + p {
    font-size: 12px;
    line-height: 1.8;
    margin-bottom: 20px;
  }
  .case_content_noph ul li,
  .case_content_noph ul.single > li {
    font-size: 12px;
    line-height: 23px;
    margin-left: 20px;
    margin-top: 8px;
  }
  .case_content_noph ul li:first-child,
  .case_content_noph ul.single > li:first-child {
    margin-top: 0;
  }
  .case_content_noph ul.single > li::before,
  .case_content_noph.assignment ul > li::before {
    left: -20px;
    top: -1px;
  }
  .case_content_noph ul.single > li,
  .case_content_noph.assignment ul > li {
    margin-top: 8px;
  }
  .case_content_noph ul.single > li:first-child,
  .case_content_noph.assignment ul > li:first-child {
    margin-top: 0;
  }
  .case_content_noph ul.normal > li,
  .case_content_noph.overview ul > li {
    font-size: 12px;
    line-height: 1.8;
    margin-top: 8px;
  }
  .case_content_noph ul.normal > li:first-child,
  .case_content_noph.overview ul > li:first-child {
    margin-top: 0;
  }
  .case_content_noph ol > li,
  .case_content_noph.step ol > li {
    font-size: 12px;
    line-height: 1.8;
    margin-left: 32px;
    margin-top: 8px;
  }
  .case_content_noph ol > li:first-child,
  .case_content_noph.step ol > li:first-child {
    margin-top: 0;
  }
  .case_content_noph ol > li::before,
  .case_content_noph.step ol > li::before {
    font-size: 14px;
    left: -32px;
    top: -3px;
  }
  .case_content_noph ul.triple > li,
  .case_content_noph.results ul > li {
    font-size: 12px;
    line-height: 1.8;
    margin-left: 32px;
    margin-top: 8px;
  }
  .case_content_noph ul.triple > li:first-child,
  .case_content_noph.results ul > li:first-child {
    margin-top: 0;
  }
  .case_content_noph ul.triple > li::before,
  .case_content_noph.results ul > li::before {
    font-size: 14px;
    left: -32px;
    top: -3px;
  }
  .case_content_noph ul.triple > li ul,
  .case_content_noph.results ul > li ul {
    margin-top: 8px;
  }
  .case_content_noph ul.triple > li ul li,
  .case_content_noph.results ul > li ul li {
    font-size: 12px;
    line-height: 1.8;
  }
}
/* ARTICLES
----------------------------------------------------*/
/*ARTICLES TOP*/
.articles_anchor_container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px 1%;
  margin: 0 auto 170px;
}
.articles_anchor_container a {
  width: 19%;
  position: relative;
  text-decoration: none;
  padding: 24px 0;
  text-align: center;
  background: #efefef;
  font-size: 20px;
  font-weight: 600;
  color: #000;
  transition: 0.2s;
}
.articles_anchor_container a.select {
  background: #000;
  color: #fff;
}
.articles_anchor_container a:hover {
  background: #000;
  color: #fff;
}

.articles_wrap {
  width: 87%;
  margin: 0 auto;
}
.articles_wrap .accordion-container {
  margin-bottom: 30px;
}
.articles_wrap .accordion-container .accordion-title {
  display: flex;
  align-items: flex-start;
  position: relative;
  margin: 0;
  padding: 40px 0;
  font-size: 40px;
  color: #000;
  font-weight: bold;
  cursor: pointer;
  transition: 0.2s;
  border-bottom: 1px solid #000;
  letter-spacing: 0.1em;
}
.articles_wrap .accordion-container .accordion-title::before {
  content: "＞";
  position: absolute;
  bottom: 31%;
  right: 1%;
  transform: rotate(90deg);
  transition: all 0.3s ease-in-out;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 100;
  font-size: 30px;
  color: #000;
}
.articles_wrap .accordion-container .accordion-title.open {
  color: #ae3f22;
}
.articles_wrap .accordion-container .accordion-title.open::before {
  transform: rotate(-90deg);
  color: #ae3f22;
}
.articles_wrap .accordion-container .accordion-title:hover {
  color: #ae3f22;
}
.articles_wrap .accordion-container .accordion-title:hover::before {
  color: #ae3f22;
}
.articles_wrap .accordion-container .accordion-content {
  padding: 30px 0;
  border-top: none;
}
.articles_wrap .accordion-container .accordion-title.open {
  color: #ae3f22;
}
.articles_wrap .accordion-container .accordion-title.open::before {
  transform: rotate(-90deg);
  color: #ae3f22;
}
.articles_wrap .articles_list {
  width: 87%;
  position: relative;
  margin: 0 0 0 auto;
}
.articles_wrap .articles_list article {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px 4%;
  margin: 0 auto;
  padding-bottom: 30px;
  margin-bottom: 30px;
  position: relative;
  z-index: 0;
  transition: 0.2s;
}
.articles_wrap .articles_list article:last-of-type {
  margin-bottom: 0;
}
.articles_wrap .articles_list article span {
  font-size: 20px;
  color: #000;
  letter-spacing: 3px;
}
.articles_wrap .articles_list article span:last-of-type {
  width: 210px;
  font-size: 18px;
  color: #fff;
  background: #000;
  padding: 10px 0;
  text-align: center;
}
.articles_wrap .articles_list article .txt_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 58.5%;
  padding: 30px 0;
}
.articles_wrap .articles_list article .txt_box p {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 18px;
  color: #000;
  font-weight: bold;
  position: relative;
  line-height: 2;
  margin-right: 6%;
}
.articles_wrap .articles_list article .txt_box::after {
  content: "＞";
  font-family: "Roboto Condensed", sans-serif;
  font-size: 20px;
  font-weight: 100;
  margin: 0;
  height: 50px;
  display: block;
  line-height: 50px;
}
.articles_wrap .articles_list article a {
  text-decoration: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.articles_wrap .articles_list article::before {
  content: "";
  background: #000;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: left top;
  transform: scale(1, 1);
  transition: transform 0.3s;
}
.articles_wrap .articles_list article::after {
  content: "";
  background: #000;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: left top;
  transform: scale(0, 0);
  transition: transform 0.3s;
}
.articles_wrap .articles_list article:hover span {
  color: #be3c1e;
}
.articles_wrap .articles_list article:hover span:last-of-type {
  background: #be3c1e;
  color: #fff;
}
.articles_wrap .articles_list article:hover p {
  color: #be3c1e;
}
.articles_wrap .articles_list article:hover::before {
  display: none;
}
.articles_wrap .articles_list article:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

/*記事詳細*/
.articles_content_wrap {
  width: 87%;
  margin: 0 auto;
  padding: 50px 0 150px;
  border-bottom: 1px solid #000;
}
.articles_content_wrap .articles_content_outset span {
  font-size: 17px;
  margin-bottom: 2px;
  display: block;
}
.articles_content_wrap .articles_content_outset p {
  font-size: 20px;
  font-weight: bold;
  color: #b3b3b3;
  margin-bottom: 20px;
}
.articles_content_wrap .articles_content_outset p::before {
  content: "#";
}
.articles_content_wrap .articles_content_outset p.large_txt {
  color: #000;
  margin-bottom: 60px !important;
}
.articles_content_wrap .articles_content_outset p.large_txt::before {
  display: none;
}
.articles_content_wrap .articles_content_outset p.cat_name {
  letter-spacing: 0.3em;
}
.articles_content_wrap .articles_content_outset a {
  color: #333;
}
.articles_content_wrap .articles_content_main img {
  margin-bottom: 70px;
}
.articles_content_wrap .articles_content_main p {
  font-size: 18px;
  color: #000;
  line-height: 40px;
  letter-spacing: 1px;
  margin-top: 20px;
}
.articles_content_wrap .articles_content_main a {
  color: #333;
}

@media screen and (max-width: 1300px) {
  .articles_wrap .articles_list article .txt_box {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  /*ARTICLES TOP*/
  .articles_anchor_container {
    margin: 0 auto 50px;
  }
  .articles_anchor_container a:first-of-type {
    width: 100%;
    padding: 10px 0;
    font-size: 12px;
  }
  .articles_anchor_container a {
    width: 49%;
    padding: 10px 0;
    font-size: 12px;
  }
  .articles_wrap {
    width: 100%;
  }
  .articles_wrap .accordion-container {
    margin-bottom: 10px;
  }
  .articles_wrap .accordion-container .accordion-title {
    font-size: 23px;
    padding: 20px 0;
  }
  .articles_wrap .accordion-container .accordion-title::before {
    font-size: 18px;
  }
  .articles_wrap .accordion-container .accordion-title.open {
    border-bottom: none;
  }
  .articles_wrap .articles_list {
    width: 100%;
  }
  .articles_wrap .articles_list article {
    padding-bottom: 20px;
  }
  .articles_wrap .articles_list article span {
    font-size: 12px;
  }
  .articles_wrap .articles_list article span:last-of-type {
    width: 80px;
    font-size: 8px;
    letter-spacing: 0.1em;
    padding: 4px 0;
    position: relative;
    top: -2px;
  }
  .articles_wrap .articles_list article p {
    width: 90%;
    font-size: 12px;
  }
  .articles_wrap .articles_list article p::after {
    font-size: 35px;
    top: -10px;
    right: -30px;
  }
  /*記事詳細*/
  .articles_content_wrap {
    width: 100%;
    padding: 0 0 100px;
  }
  .articles_content_wrap .articles_content_outset span {
    font-size: 10px;
  }
  .articles_content_wrap .articles_content_outset p {
    font-size: 12px;
    margin-bottom: 40px;
  }
  .articles_content_wrap .articles_content_outset p::before {
    margin-right: -6px;
  }
  .articles_content_wrap .articles_content_main p {
    font-size: 12px;
    line-height: 23px;
  }
  .articles_wrap .articles_list article .txt_box {
    width: 100%;
    padding: 0;
  }
  .articles_wrap .articles_list article .txt_box p {
    width: 92%;
    font-size: 12px;
    line-height: 1.5;
  }
  .articles_wrap .articles_list article .txt_box::after {
    font-size: 16px;
    height: 25px;
    line-height: 25px;
    margin-right: 3px;
  }
  .articles_content_wrap .articles_content_outset p.large_txt {
    margin-bottom: 46px !important;
  }
  .articles_content_wrap .articles_content_main img {
    margin-bottom: 20px;
  }
}
/* FAQ
----------------------------------------------------*/
.faq_wrap {
  width: 87%;
  margin: 80px auto 0;
}
.faq_wrap .accordion-container {
  margin-bottom: 30px;
  position: relative;
}
.faq_wrap .accordion-container .accordion-title {
  display: flex;
  align-items: flex-start;
  position: relative;
  margin: 0;
  padding: 40px 0;
  font-size: 28px;
  color: #000;
  font-weight: bold;
  cursor: pointer;
  transition: 0.2s;
}
.faq_wrap .accordion-container .accordion-title::before {
  content: "＞";
  position: absolute;
  bottom: 32%;
  right: 1%;
  transform: rotate(90deg);
  transition: all 0.3s ease-in-out;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 100;
  font-size: 30px;
  color: #000;
}
.faq_wrap .accordion-container .accordion-title.open {
  color: #ae3f22;
}
.faq_wrap .accordion-container .accordion-title.open::before {
  transform: rotate(-90deg);
  color: #ae3f22;
}
.faq_wrap .accordion-container .accordion-title:hover {
  color: #ae3f22;
}
.faq_wrap .accordion-container .accordion-title:hover::before {
  color: #ae3f22;
}
.faq_wrap .accordion-container .accordion-content {
  padding: 30px 0;
  border-top: none;
}
.faq_wrap .accordion-container .accordion-title.open {
  color: #ae3f22;
}
.faq_wrap .accordion-container .accordion-title.open::before {
  transform: rotate(-90deg);
  color: #ae3f22;
}
.faq_wrap .accordion-container::before {
  content: "";
  background: #000;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: left top;
  transform: scale(1, 1);
  transition: transform 0.3s;
}
.faq_wrap .accordion-container::after {
  content: "";
  background: #000;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: left top;
  transform: scale(0, 0);
  transition: transform 0.3s;
}
.faq_wrap .accordion-container:hover::before {
  display: none;
}
.faq_wrap .accordion-container:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
.faq_wrap .accordion-container {
  /*&:has(.open) {
  	&::after {display: none;}
  }*/
}
.faq_wrap .faq_item {
  margin-bottom: 50px;
}
.faq_wrap .faq_item p {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0 2%;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 18px;
}
.faq_wrap .faq_item p span {
  width: 95%;
}
.faq_wrap .faq_item p span:first-of-type {
  width: 2%;
}
.faq_wrap .faq_item p:last-of-type {
  margin-top: 20px;
  font-weight: 400;
}

@media screen and (max-width: 750px) {
  .faq_wrap {
    width: 100%;
  }
  .faq_wrap .accordion-container .accordion-title {
    font-size: 18px;
    padding: 20px 0;
  }
  .faq_wrap .accordion-container .accordion-title::before {
    font-size: 18px;
  }
  .faq_wrap .faq_item p {
    font-size: 12px;
  }
  .faq_wrap .faq_item p span {
    width: 90%;
  }
}
/* CONTACT
----------------------------------------------------*/
.contact_wrap {
  width: 87%;
  margin: 0 auto;
}
.contact_wrap .contact_outset {
  margin-bottom: 60px;
}
.contact_wrap .contact_outset p {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  line-height: 40px;
  letter-spacing: 0.1em;
  font-size: 18px;
}
.contact_wrap .contact_outset p:first-of-type {
  font-size: 30px;
  font-weight: bold;
  line-height: 54px;
  margin-bottom: 40px;
  margin-top: 80px;
}
.contact_wrap {
  /*FLOW*/
}
.contact_wrap .contact_flow_wrap h2 {
  display: block;
  width: 100%;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 100px;
  border-bottom: 1px solid #000;
}
.contact_wrap .contact_flow_wrap h2 span {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 500;
  font-size: 40px;
  margin-right: 8px;
}
.contact_wrap .contact_flow_wrap .contact_flow_item {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 3%;
  padding: 40px 60px;
  border: 1px solid #000;
  margin-bottom: 100px;
  position: relative;
  letter-spacing: 0.1em;
}
.contact_wrap .contact_flow_wrap .contact_flow_item::after {
  content: "";
  width: 24px;
  height: 20.7846096908px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #bd3c1e;
  position: absolute;
  bottom: -60px;
  left: 13%;
}
.contact_wrap .contact_flow_wrap .contact_flow_item:last-of-type {
  margin-bottom: 0;
}
.contact_wrap .contact_flow_wrap .contact_flow_item:last-of-type::after {
  display: none;
}
.contact_wrap .contact_flow_wrap .contact_flow_item span {
  width: 5%;
  text-align: center;
  font-size: 40px;
  font-weight: 400;
}
.contact_wrap .contact_flow_wrap .contact_flow_item > div {
  width: 90%;
  padding: 10px 0 10px 50px;
  border-left: 1px solid #000;
  font-family: "Roboto Condensed", sans-serif;
}
.contact_wrap .contact_flow_wrap .contact_flow_item > div h3 {
  font-weight: bold;
  font-size: 30px;
  border-bottom: 30px;
}
.contact_wrap .contact_flow_wrap .contact_flow_item > div p {
  font-weight: 400;
  font-size: 18px;
  line-height: 40px;
  letter-spacing: 0.1em;
}
.contact_wrap .contact_flow_wrap .contact_flow_item > div a {
  display: block;
  width: 180px;
  text-decoration: none;
  padding: 10px 0;
  text-align: center;
  background: #000;
  color: #fff;
  margin-top: 20px;
}

/*フォーム*/
.contactform_container {
  width: 100%;
  margin-bottom: 300px;
  font-family: "Roboto Condensed", sans-serif;
}
.contactform_container p {
  text-align: right;
  font-size: 15px;
}
.contactform_container p span {
  color: #ae3f22;
}
.contactform_container table {
  width: 100%;
  table-layout: fixed;
}
.contactform_container table th {
  width: 25%;
  font-size: 20px;
  font-weight: bold;
  padding: 26px 0 26px;
  vertical-align: top;
  padding-top: 4.2%;
}
.contactform_container table th span {
  font-size: 20px;
  color: #ae3f22;
  margin-left: 16px;
}
.contactform_container table td {
  font-size: 20px;
  color: #000;
  padding: 26px 0 26px;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea,
.select-selected {
  -webkit-appearance: none;
  width: 100%;
  height: auto;
  padding: 20px 40px;
  background: #fff;
  transition: all 0.3s;
  border: 1px solid #b3b3b3;
  color: #000;
}

input[type="text"].not-placeholder-shown,
textarea.not-placeholder-shown,
input[type="email"].not-placeholder-shown,
input[type="tel"].not-placeholder-shown {
  border: 1px solid #000;
}

textarea {
  height: 560px;
}

input[type="submit"] {
  margin: 100px 305px 0;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  padding: 10px 60px;
  background: #b3b3b3;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  position: relative;
  cursor: pointer;
  transition: 0.2s;
  font-family: "Roboto Condensed", sans-serif;
  letter-spacing: 0.1em;
}
input[type="submit"]:hover {
  background: #000;
}

.select-selected {
  color: #b3b3b3;
  border: 1px solid #b3b3b3;
  position: relative;
}

.select-selected::before {
  content: "＞";
  position: absolute;
  bottom: 14%;
  right: 3%;
  transform: rotate(90deg);
  transition: all 0.3s ease-in-out;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 100;
  font-size: 30px;
  color: #b3b3b3;
}

.select-selected.not-placeholder-shown {
  border: 1px solid #000;
  color: #000;
}

.custom-select {
  position: relative;
}

.select-items {
  display: none;
  position: absolute;
  top: 120%;
  left: 0;
  border: 1px solid #000;
  z-index: 9;
  background: #fff;
  box-sizing: border-box;
}

.select-items li {
  padding: 20px;
  transition: all 0.3s;
  cursor: pointer;
  box-sizing: border-box;
}

.select-items li:first-child {
  margin-top: 0;
}

.select-items li:hover {
  background: #f1f1f1;
  transition: all 0.3s;
}

.select-selected.selected-text-color {
  color: #000;
  border: 1px solid #000;
}

.error-message,
.input-error-message {
  color: #dc3232;
  font-size: 1em;
  font-weight: normal;
  display: block;
  text-align: left !important;
}

.custom-select.selected + .error-message {
  display: none;
}

.wpcf7 form.invalid .wpcf7-response-output {
  display: none;
}

.wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
  display: none;
  margin-top: 10px;
}
.wpcf7-form-control-wrap.is-show > .wpcf7-not-valid-tip {
  display: block;
}

@media screen and (max-width: 750px) {
  .contact_wrap {
    width: 100%;
  }
  .contact_wrap .contact_outset p {
    font-size: 12px;
    line-height: 23px;
  }
  .contact_wrap .contact_outset p:first-of-type {
    font-size: 15px;
    line-height: 28px;
    margin-bottom: 20px;
    margin-top: 40px;
  }
  /*フォーム*/
  .contactform_container {
    width: 100%;
    margin: 0 auto 150px;
  }
  .contactform_container p {
    font-size: 10px;
    margin-bottom: 80px;
    border-bottom: 1px solid #000;
  }
  .contactform_container table tr:last-of-type td {
    padding: 0;
  }
  .contactform_container table th {
    width: 100%;
    display: block;
    padding: 0 0 12px;
    font-size: 12px;
  }
  .contactform_container table td {
    width: 100%;
    display: block;
    padding: 0px 0 20px;
    border-bottom: none;
  }
  input[type="submit"] {
    width: 100%;
    margin: 80px auto 0;
    font-size: 16px;
    font-weight: 500;
    border-radius: 0;
  }
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  textarea,
  .select-selected {
    padding: 10px 20px;
    font-size: 16px;
    border-radius: 0;
  }
  textarea {
    height: 250px;
    font-size: 16px;
  }
  .contactform_container table th span {
    font-size: 12px;
    margin-left: 8px;
  }
  .select-selected::before {
    font-size: 20px;
  }
  .select-items li {
    font-size: 12px;
    padding: 8px;
  }
  /*FLOW*/
  .contact_wrap .contact_flow_wrap h2 {
    font-size: 10px;
    margin-bottom: 80px;
  }
  .contact_wrap .contact_flow_wrap h2 span {
    font-size: 23px;
  }
  .contact_wrap .contact_flow_wrap .contact_flow_item {
    padding: 30px;
    margin-bottom: 80px;
  }
  .contact_wrap .contact_flow_wrap .contact_flow_item span {
    width: 100%;
    line-height: 1;
    font-size: 32px;
  }
  .contact_wrap .contact_flow_wrap .contact_flow_item > div {
    width: 100%;
    border-left: none;
    border-top: 1px solid #000;
    padding: 16px 0 0 0;
  }
  .contact_wrap .contact_flow_wrap .contact_flow_item > div h3 {
    font-size: 15px;
    text-align: center;
    margin-bottom: 20px;
  }
  .contact_wrap .contact_flow_wrap .contact_flow_item > div p {
    font-size: 12px;
    line-height: 23px;
  }
  .contact_wrap .contact_flow_wrap .contact_flow_item > div a {
    width: 140px;
    padding: 4px 0;
    margin: 30px auto 0;
    font-size: 12px;
  }
  .contact_wrap .contact_flow_wrap .contact_flow_item::after {
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -52px;
  }
}
.scale {
  transform: scale(0.8);
  transform-origin: top left;
  width: 125%;
  height: 125vh;
  overflow: visible;
}

.privacy_lead {
  margin: 100px 0 80px;
  line-height: 2;
  font-size: 18px;
  font-family: "Roboto Condensed", sans-serif;
}

.privacy_wrap {
  margin-top: 60px;
}
.privacy_wrap:first-child {
  margin-top: 0;
}
.privacy_wrap .ttl {
  font-size: 18px;
  font-weight: bold;
  line-height: 2;
  font-family: "Roboto Condensed", sans-serif;
}
.privacy_wrap p {
  font-size: 18px;
  line-height: 2;
  margin-bottom: 8px;
  font-family: "Roboto Condensed", sans-serif;
}
.privacy_wrap ol {
  display: table;
  margin: 0;
  padding: 0;
  counter-reset: table-ol;
}
.privacy_wrap ol li {
  font-size: 18px;
  line-height: 2;
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: table-row;
  counter-increment: table-ol;
  font-family: "Roboto Condensed", sans-serif;
}
.privacy_wrap ol li::before {
  content: counter(table-ol) ".";
  display: table-cell;
  padding-right: 0.4em;
  text-align: right;
  font-family: "Roboto Condensed", sans-serif;
}
.privacy_wrap ol li:after {
  content: "";
  display: block;
  margin-bottom: 8px;
}
.privacy_wrap ol li:last-of-type:after {
  margin-bottom: 0;
}
.privacy_wrap ol li ol {
  counter-reset: table-ol;
}

@media screen and (max-width: 750px) {
  .privacy_lead {
    margin: 60px 0 40px;
    font-size: 14px;
  }
  .privacy_wrap {
    margin-top: 40px;
  }
  .privacy_wrap .ttl {
    font-size: 14px;
  }
  .privacy_wrap p {
    font-size: 14px;
  }
  .privacy_wrap ol li {
    font-size: 14px;
  }
}
/* ======================================================================
   [統合 2026-08-21] 2026年改修 共通スタイル（トップ/ヘッダー/フッター/ABOUT/SERVICES系）（旧 css/add2026.css）
   ====================================================================== */
/* ============================================
   共通パーツ追加スタイル（2026年8月改修）
   ============================================ */
/* TOP CASEセクション COMING SOON表示 */
.top_case_wrap .case_comingsoon {
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 4px;
  color: #999;
  padding: 60px 0 20px;
}

@media screen and (max-width: 749px) {
  .top_case_wrap .case_comingsoon {
    font-size: 20px;
    letter-spacing: 2px;
    padding: 30px 0 10px;
  }
}
/*****************************************************

 WHY page (page-why.php) 専用スタイル
 既存 style.css のクラス（lv1_cover / about_wrap /
 about_anchor_container / about_mission_container /
 large_txt / inner / fadein 等）を流用し、
 不足分のみ why_ プレフィックスで定義する。
 ブレークポイントは style.css に合わせて 750px（一部 960px）。

*****************************************************/
/* COVER
----------------------------------------------------*/
.lv1_cover.why {
  background: url("../images/why/getty_1384618141.jpg") center/cover no-repeat;
}

.lv1_cover.why h1::after {
  background: #ae3f22;
}

/* ANCHOR（about_anchor_container を3ボタン用に幅調整）
----------------------------------------------------*/
.why_anchor_container a {
  width: 32.5%;
}

/* 共通パーツ
----------------------------------------------------*/
.why_photo {
  width: 100%;
  margin-bottom: 80px;
}

.why_photo img {
  width: 100%;
  height: 480px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 10px;
}

.why_wrap .why_data_ttl {
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-align: center;
  margin-bottom: 70px;
}

.why_wrap .why_mid_ttl {
  font-size: 26px !important;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.8 !important;
  margin-bottom: 50px;
}

.why_wrap .why_note {
  font-size: 14px !important;
  color: #666;
  line-height: 1.8 !important;
  margin-bottom: 0;
}

/* 横棒グラフ（WHY 海外留学?）
----------------------------------------------------*/
.why_graph_container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 40px 4%;
  margin-bottom: 100px;
}

.why_graph_box {
  width: 48%;
  background: #f9f9f9;
  border-radius: 10px;
  padding: 45px 4% 35px;
  box-sizing: border-box;
}

.why_graph_box h4 {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-align: center;
  margin-bottom: 8px;
}

.why_wrap .why_graph_src {
  font-size: 14px !important;
  color: #666;
  text-align: center;
  line-height: 1.6 !important;
  margin-bottom: 35px;
}

.why_bar_list li {
  margin-bottom: 26px;
}

.why_bar_list li:last-child {
  margin-bottom: 0;
}

.why_bar_label {
  display: block;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.14em;
  margin-bottom: 8px;
}

.why_bar {
  display: block;
  width: 100%;
  height: 22px;
  background: #e7e7e7;
  border-radius: 11px;
  overflow: hidden;
}

.why_bar_inner {
  display: block;
  height: 100%;
  background: #bd3c1e;
  border-radius: 11px;
}

/* データブロック（WHY NEW ZEALAND?）
----------------------------------------------------*/
.why_point_block {
  margin-bottom: 130px;
}

.why_wrap .why_point_ttl {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.6;
  margin-bottom: 25px;
  padding-left: 20px;
  border-left: 6px solid #bd3c1e;
}

.why_wrap .why_point_lead {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.9;
  margin-bottom: 10px;
}

.why_wrap .why_point_rank {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 34px;
  font-weight: bold;
  color: #bd3c1e;
  line-height: 1.5;
  margin-bottom: 20px;
}

.why_wrap .why_point_rank span {
  font-size: 0.5em;
  margin-right: 10px;
  vertical-align: middle;
}

/* ランキング表（Global Peace Index） */
.why_rank_container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 4%;
  max-width: 960px;
  margin: 30px auto 20px;
}

.why_rank_table {
  width: 48%;
  border-collapse: collapse;
}

.why_rank_table th,
.why_rank_table td {
  font-size: 18px;
  letter-spacing: 0.14em;
  padding: 12px 20px;
  border-bottom: 1px solid #d6d6d6;
}

.why_rank_table th {
  background: #efefef;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 600;
  font-size: 16px;
}

.why_rank_table th:first-child,
.why_rank_table td:first-child {
  width: 30%;
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
}

.why_rank_table tr.why_rank_strong td {
  background: #bd3c1e;
  color: #fff;
  font-weight: 600;
}

/* 比較表（OECD How's Life?） */
.why_compare_table {
  width: 100%;
  max-width: 960px;
  margin: 30px auto 20px;
  border-collapse: collapse;
}

.why_compare_table caption {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-align: center;
  margin-bottom: 20px;
}

.why_compare_table th,
.why_compare_table td {
  font-size: 18px;
  letter-spacing: 0.14em;
  text-align: center;
  padding: 14px 10px;
  border-bottom: 1px solid #d6d6d6;
}

.why_compare_table thead th {
  background: #efefef;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 600;
}

.why_compare_table thead th.why_compare_nz {
  background: #bd3c1e;
  color: #fff;
}

.why_compare_table tbody th {
  text-align: left;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 600;
  width: 44%;
}

.why_compare_table tbody th span {
  display: block;
  font-family: inherit;
  font-size: 14px;
  font-weight: normal;
}

.why_compare_table td {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 22px;
  font-weight: bold;
  width: 28%;
}

.why_compare_table td.why_compare_nz {
  color: #bd3c1e;
}

/* ▶リスト（PISA・選ばれる理由 共通） */
.why_arrow_list li {
  position: relative;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.14em;
  padding-left: 1.5em;
  margin-bottom: 12px;
}

.why_arrow_list li:last-child {
  margin-bottom: 0;
}

.why_arrow_list li::before {
  content: "▶";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 0.7em;
  line-height: 2.9;
  color: #bd3c1e;
}

.why_pisa_list li strong {
  font-size: 1.3em;
  font-weight: bold;
}

/* 選ばれる3つの理由ボックス（WHY TMHR?）
----------------------------------------------------*/
.why_reason_container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 40px 2%;
  margin-bottom: 100px;
}

.why_reason_box {
  width: 32%;
  background: #f9f9f9;
  border-radius: 10px;
  padding: 40px 2.5%;
  box-sizing: border-box;
}

.why_reason_num {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 40px;
  font-weight: bold;
  color: #bd3c1e;
  line-height: 1;
  margin-bottom: 20px;
}

.why_reason_box h4 {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.6;
  margin-bottom: 25px;
}

.why_reason_box .why_arrow_list li {
  font-size: 16px;
  line-height: 1.9;
}

/* レスポンシブ
----------------------------------------------------*/
@media screen and (max-width: 960px) {
  .why_graph_box {
    width: 100%;
  }
  .why_reason_box {
    width: 100%;
    padding: 40px 5%;
  }
}
@media screen and (max-width: 750px) {
  .why_anchor_container a {
    width: 49%;
  }
  .why_anchor_container a:first-child {
    width: 100%;
  }
  .why_photo {
    margin-bottom: 40px;
  }
  .why_photo img {
    height: 220px;
    border-radius: 6px;
  }
  .why_wrap .why_data_ttl {
    font-size: 21px;
    margin-bottom: 40px;
  }
  .why_wrap .why_mid_ttl {
    font-size: 16px !important;
    margin-bottom: 30px;
  }
  .why_wrap .why_note {
    font-size: 11px !important;
  }
  .why_graph_container {
    gap: 25px 0;
    margin-bottom: 60px;
  }
  .why_graph_box {
    padding: 25px 6% 20px;
  }
  .why_graph_box h4 {
    font-size: 16px;
  }
  .why_wrap .why_graph_src {
    font-size: 11px !important;
    margin-bottom: 20px;
  }
  .why_bar_list li {
    margin-bottom: 16px;
  }
  .why_bar_label {
    font-size: 13px;
    margin-bottom: 5px;
  }
  .why_bar {
    height: 14px;
    border-radius: 7px;
  }
  .why_point_block {
    margin-bottom: 70px;
  }
  .why_wrap .why_point_ttl {
    font-size: 18px;
    padding-left: 12px;
    border-left-width: 4px;
    margin-bottom: 15px;
  }
  .why_wrap .why_point_lead {
    font-size: 14px;
  }
  .why_wrap .why_point_rank {
    font-size: 24px;
  }
  .why_rank_container {
    gap: 0;
    margin: 20px auto 10px;
  }
  .why_rank_table {
    width: 100%;
  }
  .why_rank_table th,
  .why_rank_table td {
    font-size: 12px;
    padding: 8px 12px;
  }
  .why_compare_table {
    margin: 20px auto 10px;
  }
  .why_compare_table caption {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .why_compare_table th,
  .why_compare_table td {
    font-size: 12px;
    padding: 8px 5px;
  }
  .why_compare_table tbody th span {
    font-size: 10px;
  }
  .why_compare_table td {
    font-size: 15px;
  }
  .why_arrow_list li {
    font-size: 12px;
    padding-left: 1.4em;
    margin-bottom: 8px;
  }
  .why_arrow_list li::before {
    line-height: 2.8;
  }
  .why_reason_container {
    gap: 20px 0;
    margin-bottom: 60px;
  }
  .why_reason_box {
    padding: 25px 6%;
  }
  .why_reason_num {
    font-size: 28px;
    margin-bottom: 12px;
  }
  .why_reason_box h4 {
    font-size: 16px;
    margin-bottom: 15px;
  }
  .why_reason_box .why_arrow_list li {
    font-size: 12px;
  }
}
/* ============================================================
   ABOUT 2026 (page-about.php 追加スタイル)
   既存 css/style.css のABOUT用クラスを流用し、
   2026年改修で新設したセクション分のみ定義する。
   ブレークポイントは既存に合わせる（750px / 960px / 1200px）
============================================================ */
/* --- MESSAGE（代表写真レイアウトの調整） --- */
.about_wrap .about_message_wrap {
  margin-bottom: 260px;
}

.about_wrap .about_message_container .about_message_item figure img {
  width: 100%;
  height: auto;
}

.about_wrap .about_message_container .about_message_item figure {
  margin-bottom: 0;
}

.about_wrap
  .about_message_container
  .about_message_item
  figure
  figcaption
  span.about2026_en {
  font-size: 18px;
  font-weight: 500;
  margin-top: 0;
  margin-bottom: 0;
}

/* --- VISION・MISSION・VALUE --- */
.about2026_vmv_list {
  margin-top: -24px;
}

.about2026_vmv_item {
  display: flex;
  justify-content: space-between;
  gap: 0 4%;
  padding: 60px 0;
  border-top: 1px solid #ddd;
}

.about2026_vmv_item:first-child {
  border-top: none;
  padding-top: 0;
}

.about2026_vmv_item:last-child {
  padding-bottom: 0;
}

.about2026_vmv_label {
  width: 180px;
  flex-shrink: 0;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.14em;
  color: #bd3c1e;
  padding-top: 6px;
}

.about2026_vmv_body {
  flex: 1;
}

.about_wrap .about2026_vmv_body p.large_txt {
  margin-top: 0;
  margin-bottom: 40px !important;
}

.about2026_vmv_item:not(:first-child) .about2026_vmv_body p.large_txt {
  font-size: 32px !important;
  line-height: 1.8 !important;
  margin-bottom: 0 !important;
}

/* --- OUR TEAM --- */
.about_wrap .about2026_team_lead {
  margin-bottom: 80px !important;
}

.about2026_team_group {
  margin-bottom: 120px;
}

.about2026_team_group:last-child {
  margin-bottom: 0;
}

.about2026_team_label {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #000;
  margin-bottom: 50px;
}

.about2026_team_label::before {
  content: "▶";
  font-size: 0.6em;
  color: #bd3c1e;
  margin-right: 14px;
  vertical-align: 3px;
}

/* プロフィールカード */
.about2026_profile_card {
  display: flex;
  justify-content: space-between;
  gap: 0 4%;
}

.about2026_profile_card + .about2026_profile_card {
  margin-top: 80px;
}

.about2026_profile_photo {
  width: 300px;
  flex-shrink: 0;
}

.about2026_profile_photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
}

.about2026_profile_photo img.about2026_gostudy_logo {
  width: 180px;
  aspect-ratio: auto;
  -o-object-fit: contain;
  object-fit: contain;
  display: block;
  margin: 24px auto 0;
}

.about2026_profile_body {
  flex: 1;
}

.about2026_profile_role {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #bd3c1e;
  margin-bottom: 10px;
}

.about_wrap p.about2026_profile_name {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.14em;
}

.about_wrap p.about2026_profile_name .about2026_en {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 16px;
  font-weight: 500;
  margin-left: 16px;
}

.about_wrap p.about2026_profile_name::after {
  content: "";
  display: block;
  width: 22px;
  height: 2px;
  background: #000;
  margin: 18px 0 22px;
}

/* OTHER STAFF リスト */
.about2026_staff_list li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0 4%;
  padding: 40px 0;
  border-bottom: 1px solid #ddd;
}

.about2026_staff_list li:first-child {
  border-top: 1px solid #ddd;
}

.about2026_staff_num {
  width: 60px;
  flex-shrink: 0;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.14em;
  color: #bd3c1e;
  line-height: 1.4;
}

.about2026_staff_list li p {
  flex: 1;
}

/* --- COMPANY（会社概要テーブル / page-company.php のスタイルを about_wrap 配下へ移植） --- */
.about_wrap .about_company_wrap table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.about_wrap .about_company_wrap table th,
.about_wrap .about_company_wrap table td {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 18px;
  color: #000;
  padding: 0 0 60px;
  line-height: 2;
}

.about_wrap .about_company_wrap table th {
  width: 230px;
  font-weight: bold;
  vertical-align: top;
}

/* ============================================================ */
@media screen and (max-width: 1200px) {
  .about2026_vmv_label {
    width: 140px;
  }
}
@media screen and (max-width: 960px) {
  .about2026_profile_photo {
    width: 240px;
  }
}
@media screen and (max-width: 750px) {
  .about_wrap .about_message_wrap {
    margin-bottom: 130px;
  }
  .about_wrap
    .about_message_container
    .about_message_item
    figure
    figcaption
    span.about2026_en {
    font-size: 12px;
  }
  /* VISION・MISSION・VALUE */
  .about2026_vmv_list {
    margin-top: 0;
  }
  .about2026_vmv_item {
    display: block;
    padding: 40px 0;
  }
  .about2026_vmv_label {
    width: auto;
    font-size: 18px;
    padding-top: 0;
    margin-bottom: 14px;
    display: block;
  }
  .about_wrap .about2026_vmv_body p.large_txt {
    margin-bottom: 20px !important;
  }
  .about2026_vmv_item:not(:first-child) .about2026_vmv_body p.large_txt {
    font-size: 18px !important;
  }
  /* OUR TEAM */
  .about_wrap .about2026_team_lead {
    margin-bottom: 60px !important;
  }
  .about2026_team_group {
    margin-bottom: 80px;
  }
  .about2026_team_label {
    font-size: 20px;
    margin-bottom: 30px;
  }
  .about2026_profile_card {
    display: block;
  }
  .about2026_profile_card + .about2026_profile_card {
    margin-top: 60px;
  }
  .about2026_profile_photo {
    width: 100%;
    max-width: 320px;
    margin-bottom: 30px;
  }
  .about2026_profile_photo img.about2026_gostudy_logo {
    width: 150px;
    margin: 20px auto 0;
  }
  .about2026_profile_role {
    font-size: 14px;
    margin-bottom: 8px;
  }
  .about_wrap p.about2026_profile_name {
    font-size: 20px;
  }
  .about_wrap p.about2026_profile_name .about2026_en {
    font-size: 12px;
    margin-left: 12px;
  }
  .about_wrap p.about2026_profile_name::after {
    margin: 12px 0 16px;
  }
  .about2026_staff_list li {
    padding: 24px 0;
  }
  .about2026_staff_num {
    width: 40px;
    font-size: 20px;
  }
  /* COMPANY */
  .about_wrap .about_company_wrap table th {
    width: 80px;
  }
  .about_wrap .about_company_wrap table th,
  .about_wrap .about_company_wrap table td {
    font-size: 12px;
    padding: 0 0 30px;
  }
}
/*****************************************************

 SERVICES PAGES 追加スタイル
 ※旧実装（2026-08-21 fix04 でテンプレートは svc2_ 系へ移行済み。
   以下の svc_ ルールは残置。.svc_h1_sub のみ現役で使用中）
 対象: page-services.php / page-study-abroad.php /
       page-sports-and-arts.php / page-global-career.php
 既存 css/style.css のクラス（inner / lv1_cover_noph /
 solution_content_detail / problem_container /
 our_service_container / large_txt など）を流用し、
 不足分のみ svc_ プレフィックスで定義

*****************************************************/
/* h1サブタイトル
----------------------------------------------------*/
.lv1_cover_noph h1:not(#top_h1) .svc_h1_sub {
  display: block;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.2em;
  margin-top: 10px;
}

/* セクション余白 */
.svc_section {
  margin-bottom: 200px;
}

/* サービスページ内 大見出し（英語＋日本語）
   solution_content_detail h3 と同じ流儀 */
.svc_detail h3 {
  border-bottom: 2px solid #000;
}

/* PROBLEMボックス（色なし・モノトーン運用） */
.svc_detail .problem_container + p {
  margin-bottom: 0;
}

/* ご支援メニューの番号をページ／セクションごとに01から振り直す */
.svc_detail .our_service_container {
  counter-reset: ttlnumber;
}

.svc_detail .our_service_container p.service_ttl + p {
  margin-bottom: 60px;
}

.svc_detail .our_service_container p.svc_menu_lead {
  margin-bottom: 60px;
}

/* SERVICES一覧: サービスカード
----------------------------------------------------*/
.svc_card_container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 30px 2%;
  margin-bottom: 160px;
  position: relative;
  z-index: 1;
}

.svc_card_container a {
  width: 32%;
  display: block;
  position: relative;
  padding: 50px 40px 55px;
  border: 1px solid #000;
  text-decoration: none;
  color: #000;
  transition: 0.2s;
}

.svc_card_container a .svc_card_ttl {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 600;
  font-size: 30px;
  letter-spacing: 0.14em;
}

.svc_card_container a .svc_card_sub {
  display: block;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin: 8px 0 30px;
}

.svc_card_container a p {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}

.svc_card_container a::after {
  content: ">";
  font-size: 30px;
  font-weight: 100;
  position: absolute;
  top: 44px;
  right: 24px;
  transition: 0.2s;
}

.svc_card_container a:hover {
  background: #000;
  color: #fff;
}

/* SERVICES一覧: 支援体制図（相関図の簡易グリッド表現）
----------------------------------------------------*/
.svc_scheme_wrap {
  margin-bottom: 100px;
}

.svc_scheme {
  display: grid;
  grid-template-columns: 1fr 60px 1.2fr 60px 1fr;
  gap: 20px 0;
  align-items: center;
  margin-bottom: 80px;
}

.svc_scheme_side {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.svc_scheme_box {
  background: #f9f9f9;
  padding: 24px 20px;
  text-align: center;
}

.svc_scheme_box .svc_scheme_label {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}

.svc_scheme_box ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.svc_scheme_box ul li {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.1em;
}

.svc_scheme_center {
  border: 2px solid #000;
  padding: 50px 24px;
  text-align: center;
}

.svc_scheme_center .svc_scheme_name {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 600;
  font-size: 22px;
  letter-spacing: 0.14em;
  line-height: 1.6;
  margin-bottom: 24px;
}

.svc_scheme_center .svc_scheme_and {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 24px;
}

.svc_scheme_center figure {
  width: 70%;
  max-width: 220px;
  margin: 0 auto;
}

.svc_scheme_arrow {
  text-align: center;
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
}

.svc_scheme_txt p {
  font-size: 18px;
  line-height: 2.5;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}

/* SERVICES一覧: 無料ご支援サービス案内 */
.svc_free_container {
  margin-bottom: 120px;
}

.svc_free_container > p {
  font-size: 18px;
  line-height: 2.5;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
}

.svc_free_list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}

.svc_free_list li {
  font-size: 18px;
  font-weight: 600;
  line-height: 2.5;
  letter-spacing: 0.1em;
  padding-left: 36px;
  position: relative;
}

.svc_free_list li::before {
  content: "▶";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 14px;
}

.svc_free_container .svc_free_etc {
  font-size: 18px;
  letter-spacing: 0.1em;
  padding-left: 36px;
}

/* SERVICES一覧: CTAボタン（マウスオンで黒に） */
.svc_cta_btn {
  display: block;
  width: 600px;
  max-width: 100%;
  margin: 0 auto;
  padding: 24px 0;
  border: 2px solid #000;
  text-align: center;
  text-decoration: none;
  color: #000;
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 0.1em;
  transition: 0.2s;
}

.svc_cta_btn:hover {
  background: #000;
  color: #fff;
}

/* 詳細ページ: サービス間ナビ（solution_anchor_containerの流儀）
----------------------------------------------------*/
.svc_nav_container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 8px 2%;
  margin-bottom: 120px;
  position: relative;
  z-index: 1;
}

.svc_nav_container a {
  width: 32%;
  position: relative;
  padding: 30px 0;
  text-decoration: none;
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 15px;
  color: #000;
  background: #efefef;
  transition: 0.2s;
  letter-spacing: 0.1em;
}

.svc_nav_container a span {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 500;
  font-size: 26px;
}

.svc_nav_container a::after {
  content: ">";
  font-size: 26px;
  font-weight: 100;
  position: absolute;
  top: 32%;
  right: 20px;
}

.svc_nav_container a:hover,
.svc_nav_container a.select {
  background: #000;
  color: #fff;
}

/* 詳細ページ: リード文 */
.svc_outset_container {
  padding: 0;
  margin-bottom: 160px;
}

.svc_outset_container .large_txt {
  letter-spacing: 0.14em;
}

.svc_outset_container p {
  font-size: 18px;
  line-height: 2.5;
  letter-spacing: 0.1em;
}

/* 留学前・留学中・留学後 3ステップ列
----------------------------------------------------*/
.svc_step_container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 30px 2%;
}

.svc_step {
  width: 32%;
  background: #f9f9f9;
  padding: 50px 30px 60px;
}

.svc_step h4 {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.2em;
  padding-bottom: 20px;
  margin: 0 0 30px;
  border-bottom: 2px solid #000;
}

.svc_step ul {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}

.svc_step ul li {
  font-size: 16px;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.1em;
}

/* タブ切替（高校／語学学校、スポーツ／アート）
----------------------------------------------------*/
.svc_tab_btns {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 2%;
  margin-bottom: 80px;
}

.svc_tab_btns .svc_tab_btn {
  width: 49%;
  position: relative;
  padding: 24px 0;
  text-align: center;
  background: #efefef;
  font-size: 20px;
  font-weight: 600;
  color: #000;
  letter-spacing: 0.2em;
  cursor: pointer;
  transition: 0.2s;
}

.svc_tab_btns .svc_tab_btn::after {
  content: ">";
  font-size: 24px;
  font-weight: 100;
  position: absolute;
  top: 24px;
  right: 20px;
  transform: rotate(90deg);
}

.svc_tab_btns .svc_tab_btn:hover,
.svc_tab_btns .svc_tab_btn.select {
  background: #000;
  color: #fff;
}

.svc_tab_panel {
  display: none;
}

.svc_tab_panel.select {
  display: block;
}

/* 学校紹介
----------------------------------------------------*/
.svc_school_intro {
  margin-bottom: 80px;
}

.svc_school_intro .svc_school_menu {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
}

.svc_school_intro p {
  font-size: 18px;
  line-height: 2.5;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}

.svc_area_ttl {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 28px;
  letter-spacing: 0.1em;
  margin: 0 0 50px;
  padding-left: 40px;
  position: relative;
}

.svc_area_ttl::before {
  content: "▶";
  position: absolute;
  top: 6px;
  left: 0;
  font-size: 20px;
}

.svc_school_container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 60px 4%;
  margin-bottom: 100px;
}

.svc_school {
  width: 48%;
}

.svc_school figure {
  margin: 0 0 30px;
}

.svc_school h4 {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.14em;
  margin: 0;
}

.svc_school h4::after {
  content: "-";
  display: block;
  font-weight: 100;
}

.svc_school ul {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
}

.svc_school ul li {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.1em;
  padding-left: 24px;
  position: relative;
  margin-bottom: 6px;
}

.svc_school ul li::before {
  content: "▷";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 14px;
}

/* 準備中表示 */
.svc_soon {
  background: #f9f9f9;
  padding: 120px 20px;
  text-align: center;
}

.svc_soon .svc_soon_ttl {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 600;
  font-size: 36px;
  letter-spacing: 0.2em;
  margin-bottom: 20px;
}

.svc_soon p {
  font-size: 16px;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}

/* PRICE 料金体系
----------------------------------------------------*/
.svc_price_intro {
  margin-bottom: 80px;
}

.svc_price_intro .svc_price_menu {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
}

.svc_price_intro p {
  font-size: 18px;
  line-height: 2.5;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}

.svc_table_scroll {
  width: 100%;
  overflow-x: auto;
}

.svc_price_table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #000;
}

.svc_price_table th,
.svc_price_table td {
  border: 1px solid #000;
  padding: 16px 20px;
  font-size: 16px;
  letter-spacing: 0.1em;
  vertical-align: middle;
}

.svc_price_table thead th {
  background: #000;
  color: #fff;
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.2em;
}

.svc_price_table thead th.svc_price_blank {
  background: transparent;
}

.svc_price_table th.svc_price_cat {
  width: 22%;
  background: #f9f9f9;
  text-align: left;
  font-weight: 600;
}

.svc_price_table th.svc_price_cat small {
  display: block;
  font-size: 12px;
  font-weight: 400;
  margin-top: 6px;
}

.svc_price_table td.svc_price_item {
  width: 44%;
  text-align: left;
  font-weight: 400;
}

.svc_price_table td.svc_price_mark {
  width: 17%;
  text-align: center;
  font-weight: 600;
}

/* 料金ボックス（個人向け・団体向け） */
.svc_price_box_container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 30px 4%;
}

.svc_price_box {
  width: 48%;
  border: 1px solid #000;
  padding: 50px 40px 60px;
}

.svc_price_box h4 {
  text-align: center;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.2em;
  padding-bottom: 20px;
  margin: 0 0 40px;
  border-bottom: 2px solid #000;
}

.svc_price_box .svc_price_fee {
  text-align: center;
  margin-bottom: 40px;
}

.svc_price_box .svc_price_fee span {
  display: block;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.2em;
  margin-bottom: 10px;
}

.svc_price_box .svc_price_fee strong {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.14em;
}

.svc_price_box ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.svc_price_box ul li {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.1em;
  padding: 14px 0;
  border-bottom: 1px solid #b3b3b3;
}

.svc_price_box ul li:last-child {
  border-bottom: none;
}

.svc_price_box .svc_price_ask {
  text-align: center;
  font-size: 18px;
  line-height: 2.5;
  letter-spacing: 0.1em;
  margin: 40px 0 0;
}

.svc_price_box.svc_price_box_single {
  display: flex;
  flex-direction: column;
}

.svc_price_box.svc_price_box_single h4 {
  width: 100%;
}

.svc_price_box.svc_price_box_single .svc_price_ask {
  margin: auto 0;
}

.svc_price_box .svc_box_note {
  text-align: center;
  font-size: 15px;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
}

.svc_circle_list li {
  padding-left: 32px;
  position: relative;
}

.svc_circle_list li::before {
  content: "○";
  position: absolute;
  top: 14px;
  left: 0;
  font-size: 15px;
}

.svc_circle_list li strong {
  display: block;
  font-weight: 600;
}

/* 団体向けのみ等、1ボックスで使う場合 */
.svc_price_single {
  width: 100%;
  border: 1px solid #000;
  padding: 60px 40px;
  text-align: center;
}

.svc_price_single p {
  font-size: 18px;
  line-height: 2.5;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}

/* レスポンシブ
----------------------------------------------------*/
@media screen and (max-width: 1300px) {
  .svc_scheme {
    grid-template-columns: 1fr 40px 1.1fr 40px 1fr;
  }
}
@media screen and (max-width: 750px) {
  .lv1_cover_noph h1:not(#top_h1) .svc_h1_sub {
    font-size: 12px;
    margin-top: 4px;
  }
  .svc_section {
    margin-bottom: 130px;
  }
  /* サービスカード */
  .svc_card_container {
    margin-bottom: 100px;
    gap: 16px 0;
  }
  .svc_card_container a {
    width: 100%;
    padding: 24px 40px 24px 20px;
  }
  .svc_card_container a .svc_card_ttl {
    font-size: 18px;
  }
  .svc_card_container a .svc_card_sub {
    font-size: 11px;
    margin: 4px 0 12px;
  }
  .svc_card_container a p {
    font-size: 12px;
    line-height: 1.8;
  }
  .svc_card_container a::after {
    font-size: 17px;
    top: 22px;
    right: 12px;
  }
  /* 支援体制図: 縦積み */
  .svc_scheme {
    display: block;
    margin-bottom: 60px;
  }
  .svc_scheme_side {
    gap: 12px;
    margin-bottom: 0;
  }
  .svc_scheme_box {
    padding: 16px 12px;
  }
  .svc_scheme_box .svc_scheme_label {
    font-size: 13px;
    margin-bottom: 6px;
  }
  .svc_scheme_box ul li {
    font-size: 11px;
    line-height: 1.9;
  }
  .svc_scheme_center {
    padding: 24px 16px;
    margin: 0;
  }
  .svc_scheme_center .svc_scheme_name {
    font-size: 14px;
    margin-bottom: 12px;
  }
  .svc_scheme_center .svc_scheme_and {
    font-size: 11px;
    margin-bottom: 12px;
  }
  .svc_scheme_arrow {
    font-size: 20px;
    padding: 12px 0;
    transform: rotate(90deg);
  }
  .svc_scheme_txt p {
    font-size: 12px;
    line-height: 1.9;
  }
  .svc_scheme_wrap {
    margin-bottom: 60px;
  }
  /* 無料ご支援サービス案内 */
  .svc_free_container {
    margin-bottom: 80px;
  }
  .svc_free_container > p {
    font-size: 12px;
    line-height: 1.9;
    margin-bottom: 20px;
  }
  .svc_free_list li {
    font-size: 12px;
    line-height: 2.2;
    padding-left: 22px;
  }
  .svc_free_list li::before {
    font-size: 10px;
  }
  .svc_free_container .svc_free_etc {
    font-size: 12px;
    padding-left: 22px;
  }
  /* CTA */
  .svc_cta_btn {
    width: 100%;
    padding: 14px 0;
    font-size: 15px;
    border-width: 1.5px;
  }
  /* サービス間ナビ */
  .svc_nav_container {
    gap: 8px 0;
    margin-bottom: 80px;
  }
  .svc_nav_container a {
    width: 100%;
    padding: 10px 0;
    font-size: 10px;
  }
  .svc_nav_container a span {
    display: inline;
    margin-right: 10px;
    font-size: 12px;
  }
  .svc_nav_container a::after {
    font-size: 17px;
    top: 8px;
    right: 8px;
  }
  /* リード文 */
  .svc_outset_container {
    margin-bottom: 100px;
  }
  .svc_outset_container p {
    font-size: 12px;
    line-height: 1.9;
  }
  /* ステップ3列: 縦積み */
  .svc_step_container {
    gap: 16px 0;
  }
  .svc_step {
    width: 100%;
    padding: 24px 16px 30px;
  }
  .svc_step h4 {
    font-size: 15px;
    padding-bottom: 10px;
    margin-bottom: 16px;
    border-width: 1.5px;
  }
  .svc_step ul li {
    font-size: 12px;
    line-height: 2.2;
  }
  /* タブ */
  .svc_tab_btns {
    gap: 8px 2%;
    margin-bottom: 50px;
  }
  .svc_tab_btns .svc_tab_btn {
    padding: 10px 0;
    font-size: 12px;
  }
  .svc_tab_btns .svc_tab_btn::after {
    font-size: 15px;
    top: 10px;
    right: 10px;
  }
  /* 学校紹介 */
  .svc_school_intro {
    margin-bottom: 50px;
  }
  .svc_school_intro .svc_school_menu {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .svc_school_intro p {
    font-size: 12px;
    line-height: 1.9;
  }
  .svc_area_ttl {
    font-size: 17px;
    margin-bottom: 30px;
    padding-left: 24px;
  }
  .svc_area_ttl::before {
    font-size: 12px;
    top: 3px;
  }
  .svc_school_container {
    gap: 40px 0;
    margin-bottom: 60px;
  }
  .svc_school {
    width: 100%;
  }
  .svc_school figure {
    margin-bottom: 16px;
  }
  .svc_school h4 {
    font-size: 15px;
  }
  .svc_school ul {
    margin-top: 8px;
  }
  .svc_school ul li {
    font-size: 12px;
    line-height: 1.9;
    padding-left: 18px;
    margin-bottom: 4px;
  }
  .svc_school ul li::before {
    font-size: 10px;
  }
  .svc_soon {
    padding: 60px 16px;
  }
  .svc_soon .svc_soon_ttl {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .svc_soon p {
    font-size: 12px;
  }
  /* PRICE */
  .svc_price_intro {
    margin-bottom: 50px;
  }
  .svc_price_intro .svc_price_menu {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .svc_price_intro p {
    font-size: 12px;
    line-height: 1.9;
  }
  .svc_price_table {
    min-width: 560px;
  }
  .svc_price_table th,
  .svc_price_table td {
    padding: 10px 12px;
    font-size: 12px;
  }
  .svc_price_table thead th {
    font-size: 12px;
  }
  .svc_price_table th.svc_price_cat small {
    font-size: 10px;
  }
  .svc_price_box_container {
    gap: 16px 0;
  }
  .svc_price_box {
    width: 100%;
    padding: 24px 20px 30px;
  }
  .svc_price_box h4 {
    font-size: 15px;
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-width: 1.5px;
  }
  .svc_price_box .svc_price_fee {
    margin-bottom: 20px;
  }
  .svc_price_box .svc_price_fee span {
    font-size: 12px;
    margin-bottom: 4px;
  }
  .svc_price_box .svc_price_fee strong {
    font-size: 22px;
  }
  .svc_price_box ul li {
    font-size: 12px;
    line-height: 1.9;
    padding: 8px 0;
  }
  .svc_price_box .svc_box_note {
    font-size: 11px;
    margin-bottom: 12px;
  }
  .svc_circle_list li {
    padding-left: 22px;
  }
  .svc_circle_list li::before {
    top: 8px;
    font-size: 11px;
  }
  .svc_price_box .svc_price_ask {
    font-size: 12px;
    line-height: 1.9;
    margin-top: 20px;
  }
  .svc_price_single {
    padding: 30px 16px;
  }
  .svc_price_single p {
    font-size: 12px;
    line-height: 1.9;
  }
}
/* ============================================
   2026-08-21 表示確認後の修正パッチ
   ============================================ */
/* --- トップ WHYセクション（top_solutionsカード規約に準拠） --- */
.top_why_wrap {
  margin: 260px 0;
}

.top_why_container {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.top_why_container .top_why_item {
  width: 32%;
  position: relative;
  z-index: 0;
  transition: 0.2s;
}

.top_why_container .top_why_item a {
  text-decoration: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.top_why_container .top_why_item:hover {
  opacity: 0.7;
}

.top_why_container .top_why_item figure {
  width: 100%;
  margin: 0;
}

.top_why_container .top_why_item figure img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.top_why_container .top_why_item p {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  margin-top: 18px;
  letter-spacing: 0.14em;
}

.top_why_container .top_why_item .link_txt {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-style: italic;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.1em;
  margin-top: 12px;
}

@media screen and (max-width: 749px) {
  .top_why_wrap {
    margin: 150px 0;
  }
  .top_why_container {
    display: block;
  }
  .top_why_container .top_why_item {
    width: 100%;
    margin-top: 40px;
  }
  .top_why_container .top_why_item:first-child {
    margin-top: 0;
  }
  .top_why_container .top_why_item figure img {
    height: 200px;
  }
}
/* --- ABOUT プロフィールカード写真: style.css の .about_mission_container figure{width:100%;padding:14px 97px;background:#F9F9F9} を特異度で上書き --- */
.about_mission_container figure.about2026_profile_photo {
  width: 300px;
  padding: 0;
  background: none;
  margin-bottom: 0;
  flex-shrink: 0;
}

.about2026_profile_txt {
  font-size: 15px;
  line-height: 2;
}

@media screen and (max-width: 749px) {
  .about_mission_container figure.about2026_profile_photo {
    width: 100%;
    margin: 0 auto 24px;
  }
}
/* ============================================
   2026-08-21 fix03: デザイン準拠調整（ロゴ/SNSアイコン/角丸/トップWHY）
   ============================================ */
/* トップSERVICESカード: デザイン準拠の高さ550px（画像はcoverトリミング 2026-08-21） */
.top_solutions_container .top_solutions_item figure {
  height: 550px;
  max-height: 550px;
}

.top_solutions_container .top_solutions_item figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

@media screen and (max-width: 749px) {
  .top_solutions_container .top_solutions_item figure {
    height: 300px;
    max-height: 300px;
  }
}
/* ホバー時の白帯の透過をヘッダー(0.7)と統一 (2026-08-21) */
.global_header .head_nav_container nav > ul > li:hover > ul::after,
.global_header.nav_hover nav > ul > li > div::after {
  background: rgba(255, 255, 255, 0.7);
  top: 156px; /* ヘッダー(156px)との1px重なり解消: 透過が二重になり線に見えるため */
}

/* ドロップダウンの幅: 固定158pxを内容幅に（文字折り返し防止 2026-08-21） */
.global_header .head_nav_container nav > ul > li > ul,
.global_header .head_nav_container nav > ul > li > div ul {
  width: -moz-max-content;
  width: max-content;
  min-width: 158px;
}

.global_header .head_nav_container nav > ul > li > ul > li a,
.global_header .head_nav_container nav > ul > li > div ul > li a {
  white-space: nowrap;
}

/* ナビ文字の垂直位置: デザイン準拠でロゴ下端の11px上に (2026-08-21) */
.global_header .head_nav_container {
  position: relative;
  top: 12px;
}

/* --- ヘッダーSNSアイコン（ナビ右上） --- */
.global_header .header_sns {
  position: absolute;
  top: 37px;
  right: 96px;
  display: flex;
  gap: 0 14px;
  z-index: 5;
}

.global_header .header_sns li {
  line-height: 1;
}

.global_header .header_sns li a {
  display: block;
  transition: 0.2s;
}

.global_header .header_sns li a:hover {
  opacity: 0.7;
}

.global_header .header_sns li img {
  width: 24px;
  height: 24px;
  -o-object-fit: contain;
  object-fit: contain;
  display: block;
}

@media screen and (max-width: 749px) {
  .global_header .header_sns {
    display: none;
  }
}
/* --- フッター（新ロゴ+SNSアイコン） --- */
.global_footer .footer_sns {
  display: flex;
  justify-content: center;
  gap: 0 30px;
  margin: 30px 0 80px;
}

.global_footer .footer_sns li a {
  display: block;
  transition: 0.2s;
}

.global_footer .footer_sns li a:hover {
  opacity: 0.7;
}

.global_footer .footer_sns li img {
  width: 40px;
  height: 40px;
  -o-object-fit: contain;
  object-fit: contain;
  display: block;
}

/* --- ARTICLESカテゴリラベル: 角丸ピル+カテゴリ色 --- */
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article
  span.cat_label {
  width: auto;
  min-width: 170px;
  padding: 8px 26px;
  border-radius: 10px;
  font-size: 14px;
  letter-spacing: 0.14em;
  line-height: 1.2;
  box-sizing: border-box;
}

.top_articles_wrap
  .top_article_container
  .top_articles_content
  article
  span.cat_label[class*="cat_blog"] {
  background: #bb3a1b;
}

@media screen and (max-width: 749px) {
  .top_articles_wrap
    .top_article_container
    .top_articles_content
    article
    span.cat_label {
    min-width: 100px;
    padding: 4px 14px;
    font-size: 8px;
    border-radius: 6px;
  }
}
/* --- ボタン角丸（デザイン注記: 角R ボタン全て） --- */
.link_btn,
.link_btn2,
.top_about_container > div .top_about_link_btn,
.top_case_wrap .case_link_btn {
  border-radius: 4px;
}

/* --- トップWHYセクション（大画像+キャッチ+黄MORE） --- */
.top_why_wrap {
  margin: 260px 0;
}

.top_why_photo {
  width: 100%;
  margin: 0;
}

.top_why_photo img {
  width: 100%;
  height: 640px;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.top_why_catch {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.2em;
  margin-top: 56px;
}

.top_why_lead {
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.14em;
  line-height: 2.2;
  margin-top: 24px;
}

.top_why_wrap .link_btn {
  margin-top: 90px;
}

.link_btn_yellow {
  background: #f5c700;
  color: #fff;
}

.link_btn_yellow:hover {
  background: #e0b600;
}

@media screen and (max-width: 749px) {
  .top_why_wrap {
    margin: 150px 0;
  }
  .top_why_photo img {
    height: 220px;
  }
  .top_why_catch {
    font-size: 18px;
    letter-spacing: 0.1em;
    margin-top: 30px;
  }
  .top_why_lead {
    font-size: 12px;
    margin-top: 16px;
  }
  .top_why_wrap .link_btn {
    margin-top: 40px;
  }
}
/* --- ロゴサイズ調整（fix03続き） --- */
/* .global_header の position は style.css の fixed を維持（relative上書きは余白バグの原因のため撤去 2026-08-21） */
.global_header .logo_container img {
  width: 264px;
  height: auto;
  vertical-align: middle;
}

.global_footer figure img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 749px) {
  .global_header .logo_container img {
    width: 180px;
  }
}
/* ============================================================
   2026-08-21 fix04: SERVICES系4テンプレート デザインカンプ準拠改修
   対象: page-services.php / page-study-abroad.php /
         page-sports-and-arts.php / page-global-career.php
   クラスは svc2_ プレフィックス。
   ※これより前の svc_ プレフィックスのルール群は旧実装（残置）。
   カンプ採取色:
     赤   solid #BD3C1E / text #BB3A1B / pale #DD9682
     黄   solid #F4C700 / text #C9A000(可読性優先) / pale #F2DE85
     黄緑 solid #9FC764 / text #7FA544 / pale #C9DFA9
     グレー箱 #F9F9F9・#FAFAFA / タブ非活性 #EFEFEF / 矢印 #B3B3B3
============================================================ */
/* --- サービス別アクセント変数 --- */
.svc2_red {
  --svc2_ac: #bd3c1e;
  --svc2_tx: #bb3a1b;
  --svc2_pale: #dd9682;
  --svc2_tbl_bd: #b04c30;
  --svc2_stripe: #fdf5f2;
}

.svc2_yellow {
  --svc2_ac: #f4c700;
  --svc2_tx: #c9a000;
  --svc2_pale: #f2de85;
  --svc2_tbl_bd: #e8ce60;
  --svc2_stripe: #fefbf2;
}

.svc2_green {
  --svc2_ac: #9fc764;
  --svc2_tx: #7fa544;
  --svc2_pale: #c9dfa9;
  --svc2_tbl_bd: #a3ba75;
  --svc2_stripe: #fefbf2;
}

/* ============================================================
   SERVICES 一覧（page-services.php）
============================================================ */
.svc2_lead {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.14em;
  line-height: 2;
  text-align: center;
  padding: 80px 0 0;
  margin-bottom: 90px;
}

/* --- 支援体制図 --- */
.svc2_scheme {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 50px;
}

.svc2_scheme_col {
  background: #fafafa;
  border-radius: 4px;
  padding: 40px 20px 45px;
  display: flex;
  flex-direction: column;
}

.svc2_scheme_jp {
  width: 40%;
}

.svc2_scheme_mid {
  width: 18%;
}

.svc2_scheme_nz {
  width: 40%;
}

.svc2_scheme_flagarea {
  height: 130px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 40px;
}

.svc2_flag_jp {
  width: 150px;
  height: 100px;
  background: #f0f0f0;
  position: relative;
}

.svc2_flag_jp::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 52px;
  height: 52px;
  margin: -26px 0 0 -26px;
  background: #fd0000;
  border-radius: 50%;
}

.svc2_flag_nz {
  width: 150px;
  margin: 0;
}

.svc2_flag_nz img {
  width: 100%;
  height: auto;
  display: block;
}

.svc2_scheme_logos {
  height: 110px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 30px;
  margin-bottom: 50px;
}

.svc2_scheme_logos img {
  display: block;
}

.svc2_logo_tmhr {
  width: 230px;
  height: auto;
}

.svc2_logo_nt {
  width: 90px;
  height: auto;
}

.svc2_logo_gostudy {
  width: 130px;
  height: auto;
}

.svc2_logo_anz {
  width: 180px;
  height: auto;
}

.svc2_scheme_icons {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 0 4%;
}

.svc2_scheme_icons > div {
  width: 31%;
  text-align: center;
}

.svc2_scheme_mid .svc2_scheme_icons > div {
  width: 100%;
}

.svc2_scheme_icons figure {
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin: 0 0 24px;
}

.svc2_scheme_icons figure img {
  max-width: 90px;
  max-height: 80px;
  width: auto;
  height: auto;
}

.svc2_scheme_icons ul {
  text-align: center;
}

.svc2_scheme_label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  margin-bottom: 4px;
}

.svc2_scheme_icons ul li {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.14em;
}

/* 日の丸⇄NZ国旗の左右矢印 */
.svc2_scheme_arrows {
  position: absolute;
  top: 70px;
  left: 27%;
  right: 27%;
  z-index: 1;
  pointer-events: none;
}

.svc2_scheme_arrows span {
  position: relative;
  display: block;
  height: 1px;
  background: #b3b3b3;
  margin-bottom: 30px;
}

.svc2_scheme_arrows span::after {
  content: "";
  position: absolute;
  top: -4px;
  width: 0;
  height: 0;
  border: solid transparent;
  border-width: 4.5px 0 4.5px 9px;
  border-left-color: #b3b3b3;
}

.svc2_scheme_arrows span:first-child::after {
  right: -1px;
}

.svc2_scheme_arrows span:last-child {
  transform: scaleX(-1);
}

.svc2_scheme_arrows span:last-child::after {
  right: -1px;
}

.svc2_scheme_txt {
  margin-bottom: 70px;
}

.svc2_scheme_txt p {
  font-size: 16px;
  line-height: 2.4;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}

/* --- 無料ご支援サービス --- */
.svc2_free {
  margin-bottom: 60px;
}

.svc2_free > p {
  font-size: 16px;
  line-height: 2.4;
  letter-spacing: 0.1em;
  margin-bottom: 36px;
}

.svc2_free ul li {
  font-size: 16px;
  line-height: 2.6;
  letter-spacing: 0.1em;
  padding-left: 34px;
  position: relative;
}

.svc2_free ul li::before {
  content: "▶";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 12px;
  color: #9fc764;
}

/* --- ご相談CTAリンク（hoverで黒） --- */
.svc2_cta {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.14em;
  color: #bb3a1b;
  text-decoration: none;
  margin-bottom: 260px; /* 2026-09-12 140px→260px */
  transition: 0.2s;
}

.svc2_cta .svc2_cta_link {
  text-decoration: underline;
  text-underline-offset: 6px;
  margin-left: 10px;
}

.svc2_cta:hover {
  color: #000;
}

/* --- 3色アンカーボタン --- */
.svc2_anchor {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 2%;
  margin-bottom: 140px;
}

.svc2_anchor a {
  width: 32%;
  position: relative;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #fff;
  border-radius: 4px;
  padding: 24px 0 20px;
  transition: 0.2s;
}

.svc2_anchor a span {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.2em;
  line-height: 1.4;
}

.svc2_anchor a small {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  margin-top: 2px;
}

.svc2_anchor a::after {
  content: "∨";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  font-size: 13px;
  font-weight: 100;
}

.svc2_anchor a:hover {
  opacity: 0.75;
}

.svc2_btn_sa {
  background: #bd3c1e;
}

.svc2_btn_sp {
  background: #f4c700;
}

.svc2_btn_gc {
  background: #9fc764;
}

/* --- 3サービス行 --- */
.svc2_row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-top: 1px solid #000;
  padding: 90px 0;
}

.svc2_row:last-of-type {
  border-bottom: 1px solid #000;
}

.svc2_row figure {
  width: 40%;
  margin: 0;
}

.svc2_row figure img {
  width: 100%;
  aspect-ratio: 8/5;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.svc2_row_body {
  width: 55%;
}

.svc2_row_ttl,
.svc2_ttl {
  margin: 0 !important;
}

.svc2_row_ttl {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: var(--svc2_tx);
}

.svc2_row_ttl small {
  display: block;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.14em;
  color: #000;
  margin-top: 6px;
}

.svc2_bar {
  width: 100%;
  height: 12px;
  background: var(--svc2_ac);
  margin: 26px 0 34px;
}

.svc2_catch {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.9;
  margin-bottom: 24px;
}

.svc2_row_txt {
  font-size: 14px;
  line-height: 2.2;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
}

.svc2_more {
  display: block;
  width: 70px;
  margin: 0 auto;
  text-align: center;
  text-decoration: none;
  color: #000;
  transition: 0.2s;
}

.svc2_more span {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin-bottom: 8px;
}

.svc2_more i {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  margin: 0 auto;
  border: 1px solid #000;
  border-radius: 50%;
  font-style: normal;
  font-size: 12px;
  font-weight: 100;
}

.svc2_more:hover {
  opacity: 0.6;
}

/* ============================================================
   詳細3ページ共通
============================================================ */
/* --- サービス間ナビピル --- */
.svc2_nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 2%;
  margin: 20px 0 110px;
}

.svc2_nav a {
  width: 32%;
  position: relative;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #fff;
  border-radius: 4px;
  padding: 18px 0 15px;
  transition: 0.2s;
}

.svc2_nav a span {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 19px;
  font-weight: bold;
  letter-spacing: 0.2em;
  line-height: 1.4;
}

.svc2_nav a small {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  margin-top: 2px;
}

.svc2_nav a::after {
  content: "∨";
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  font-size: 12px;
  font-weight: 100;
}

.svc2_nav a:hover {
  opacity: 0.75;
}

.svc2_nav .svc2_nav_sa {
  background: #bd3c1e;
}

.svc2_nav .svc2_nav_sp {
  background: #f4c700;
}

.svc2_nav .svc2_nav_gc {
  background: #9fc764;
}

.svc2_nav .svc2_nav_sa.is_current {
  background: #dd9682;
}

.svc2_nav .svc2_nav_sp.is_current {
  background: #f2de85;
}

.svc2_nav .svc2_nav_gc.is_current {
  background: #c9dfa9;
}

/* --- サービスヘッダー（写真左45%＋右タイトル） --- */
.svc2_head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-top: 1px solid #000;
  padding-top: 110px;
  margin-bottom: 180px;
}

.svc2_head figure {
  width: 45%;
  margin: 0;
}

.svc2_head figure img {
  width: 100%;
  aspect-ratio: 8/5;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.svc2_head_body {
  width: 50%;
}

.svc2_ttl {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 34px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.3;
  color: var(--svc2_tx);
}

.svc2_ttl small {
  display: block;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.14em;
  color: #000;
  margin-top: 8px;
}

.svc2_head_txt {
  font-size: 14px;
  line-height: 2.2;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}

/* --- セクション見出し（英名大＋日本語小＋アクセント色太下線） --- */
.svc2_section {
  margin-bottom: 190px;
}

.svc2_h3 {
  width: 100%;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.1em;
  border-bottom: 3px solid var(--svc2_ac);
  padding-bottom: 16px;
  margin-bottom: 90px;
}

.svc2_h3 span {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 38px;
  font-weight: 500;
  letter-spacing: 0.14em;
  margin-right: 24px;
  vertical-align: -2px;
}

/* --- CHALLENGES --- */
.svc2_problems {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 26px 2%;
}

.svc2_problems > div {
  width: 32%;
  min-height: 170px;
  padding: 30px 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f9f9f9;
  border-radius: 6px;
}

.svc2_problems p {
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 17px;
  line-height: 2;
  letter-spacing: 0.14em;
}

.svc2_problems p span {
  color: var(--svc2_tx);
}

/* --- OUR SERVICES / 各セクション共通の色付きサブタイトル＋説明 --- */
.svc2_subttl {
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2;
  color: var(--svc2_tx);
  margin-bottom: 26px;
}

.svc2_center_txt {
  text-align: center;
  font-size: 14px;
  line-height: 2.3;
  letter-spacing: 0.1em;
  margin-bottom: 70px;
}

/* --- ステップ図（グレー箱・3列＋色付き▶ / GCは2列） --- */
.svc2_steps {
  background: #fafafa;
  border-radius: 4px;
  padding: 80px 4% 90px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.svc2_step {
  width: 28%;
}

.svc2_step h4 {
  text-align: center;
  font-size: 19px;
  font-weight: bold;
  letter-spacing: 0.4em;
  text-indent: 0.4em;
  margin-bottom: 55px;
}

.svc2_step figure {
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 55px;
}

.svc2_step figure img {
  max-width: 150px;
  max-height: 120px;
  width: auto;
  height: auto;
}

.svc2_step ul {
  text-align: center;
}

.svc2_step ul li {
  font-size: 14px;
  font-weight: 600;
  line-height: 2.3;
  letter-spacing: 0.08em;
}

.svc2_arw {
  width: 0;
  height: 0;
  align-self: center;
  border: solid transparent;
  border-width: 15px 0 15px 23px;
  margin-top: -40px;
}

.svc2_arw_red {
  border-left-color: #bd3c1e;
}

.svc2_arw_yellow {
  border-left-color: #f4c700;
}

.svc2_arw_green {
  border-left-color: #9fc764;
}

/* GLOBAL CAREER: 個人向け／団体向け 2列 */
.svc2_steps_gc {
  justify-content: center;
  gap: 0 6%;
}

.svc2_steps_gc .svc2_step {
  width: 44%;
}

.svc2_steps_gc .svc2_step h4 {
  letter-spacing: 0.1em;
  text-indent: 0;
}

.svc2_step .svc2_step_note {
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  margin-bottom: 16px;
}

.svc2_step ul.svc2_circle_list li {
  font-weight: 500;
  margin-bottom: 16px;
  line-height: 2.1;
}

.svc2_step ul.svc2_circle_list li:last-child {
  margin-bottom: 0;
}

.svc2_step ul.svc2_circle_list li strong {
  display: block;
  font-weight: bold;
  margin-bottom: 2px;
}

.svc2_step ul.svc2_circle_list li strong::before {
  content: "○";
  font-size: 0.85em;
  margin-right: 4px; /* 2026-09-09 10px→4px */
}

/* --- SCHOOL INTRODUCTION --- */
.svc2_tab_btns {
  display: flex;
  justify-content: center;
  gap: 0 4%;
  margin-bottom: 90px;
}

.svc2_tab_btn {
  width: 32%;
  position: relative;
  padding: 17px 0;
  text-align: center;
  border-radius: 4px;
  background: #efefef;
  font-size: 15px;
  font-weight: bold;
  color: #000;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  cursor: pointer;
  transition: 0.2s;
}

.svc2_tab_btn::after {
  content: "∨";
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  font-size: 11px;
  font-weight: 100;
  text-indent: 0;
}

.svc2_tab_btn:hover {
  opacity: 0.8;
}

.svc2_tab_btn.select {
  background: var(--svc2_ac);
  color: #fff;
}

.svc2_tab_panel {
  display: none;
}

.svc2_tab_panel.select {
  display: block;
}

.svc2_area_ttl {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.14em;
  color: var(--svc2_tx);
  border-bottom: 1px solid var(--svc2_ac);
  display: inline-block;
  min-width: 40%;
  padding: 0 30px 12px 34px;
  position: relative;
  margin: 0 0 60px;
}

.svc2_area_ttl::before {
  content: "▶";
  position: absolute;
  top: 6px;
  left: 0;
  font-size: 15px;
  color: var(--svc2_ac);
}

.svc2_school {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 60px;
}

.svc2_school:last-child {
  margin-bottom: 100px;
}

.svc2_school figure {
  width: 40%;
  margin: 0;
}

.svc2_school figure img {
  width: 100%;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.svc2_school_body {
  width: 56%;
}

.svc2_school_body h4 {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 21px;
  font-weight: bold;
  letter-spacing: 0.14em;
  color: var(--svc2_tx);
}

.svc2_school_body h4::after {
  content: "-";
  display: block;
  font-weight: 100;
  line-height: 1.6;
}

.svc2_school_body ul {
  margin-top: 6px;
}

.svc2_school_body ul li {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.08em;
  padding-left: 26px;
  position: relative;
  margin-bottom: 8px;
}

.svc2_school_body ul li::before {
  content: "▷";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 12px;
  color: var(--svc2_ac);
}

.svc2_soon {
  background: #f9f9f9;
  border-radius: 6px;
  padding: 110px 20px;
  text-align: center;
}

.svc2_soon span {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 34px;
  font-weight: 600;
  letter-spacing: 0.2em;
  color: var(--svc2_tx);
  margin-bottom: 20px;
}

.svc2_soon p {
  font-size: 15px;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}

/* --- PRICE 料金表 --- */
.svc2_table_scroll {
  width: 100%;
  overflow-x: auto;
}

.svc2_price_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--svc2_tbl_bd);
  border-radius: 8px;
  color: var(--svc2_tx);
}

.svc2_price_table th,
.svc2_price_table td {
  border-top: 1px solid var(--svc2_tbl_bd);
  border-left: 1px solid var(--svc2_tbl_bd);
  padding: 15px 20px;
  font-size: 14px;
  letter-spacing: 0.1em;
  vertical-align: middle;
  background: #fff;
}

.svc2_price_table thead th {
  border-top: none;
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0.25em;
}

.svc2_price_table thead th:first-child {
  border-left: none;
}

.svc2_price_table tbody th {
  border-left: none;
  text-align: left;
  font-weight: bold;
  vertical-align: top;
  width: 20%;
}

.svc2_price_table tbody th small {
  display: block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  margin-top: 6px;
}

.svc2_price_table td.svc2_item {
  width: 44%;
  font-weight: 500;
}

.svc2_price_table td.svc2_mark {
  width: 18%;
  text-align: center;
  font-weight: 600;
}

.svc2_price_table tbody tr:nth-child(odd) td {
  background: var(--svc2_stripe);
}

/* 角丸（separate borderのため四隅セルに付与） */
.svc2_price_table thead th:first-child {
  border-top-left-radius: 7px;
}

.svc2_price_table thead th:last-child {
  border-top-right-radius: 7px;
}

.svc2_price_table tbody tr:last-child th:first-child {
  border-bottom-left-radius: 7px;
}

.svc2_price_table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 7px;
}

/* GLOBAL CAREER 料金表 */
.svc2_price_table.svc2_price_gc thead th {
  width: 50%;
}

.svc2_price_table.svc2_price_gc thead th.svc2_gc_hd_l {
  background: #fafcf7;
}

.svc2_price_table.svc2_price_gc thead th.svc2_gc_hd_r {
  background: #fdf5f3;
}

.svc2_price_table.svc2_price_gc tbody th {
  width: 19%;
  vertical-align: middle;
  font-weight: 600;
}

.svc2_price_table.svc2_price_gc td.svc2_item {
  width: 31%;
}

.svc2_price_table.svc2_price_gc td.svc2_gc_ask {
  width: 50%;
  text-align: center;
  font-weight: 500;
  line-height: 2.2;
}

.svc2_price_table.svc2_price_gc tbody tr:nth-child(odd) td {
  background: #fff;
}

.svc2_price_table.svc2_price_gc tbody tr:nth-child(even) td.svc2_item {
  background: var(--svc2_stripe);
}

.svc2_price_table.svc2_price_gc tbody tr:first-child td.svc2_gc_ask {
  background: #fff;
  border-bottom-right-radius: 7px;
}

/* SPORTS AND ARTS 簡易表示（枠のみ） */
.svc2_price_note {
  border: 1px solid #efd25f;
  background: #f9faf2;
  border-radius: 8px;
  padding: 65px 20px;
  text-align: center;
}

.svc2_price_note p {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 2.2;
  color: var(--svc2_tx);
  margin-bottom: 0;
}

/* --- CASE セクション --- */
.svc2_case .case_list_container {
  gap: 80px 3%;
}

.svc2_case_btn {
  display: block;
  width: 300px;
  margin: 80px auto 0;
  padding: 16px 0;
  border-radius: 4px;
  background: var(--svc2_ac);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-align: center;
  text-decoration: none;
  transition: 0.2s;
}

.svc2_case_btn:hover {
  background: var(--svc2_pale);
}

/* ============================================================
   レスポンシブ（750px以下）
============================================================ */
@media screen and (max-width: 750px) {
  /* 一覧 */
  .svc2_lead {
    font-size: 16px;
    letter-spacing: 0.08em;
    padding-top: 40px;
    margin-bottom: 50px;
  }
  .svc2_scheme {
    display: block;
    margin-bottom: 30px;
  }
  .svc2_scheme_col {
    width: 100%;
    margin-bottom: 14px;
    padding: 26px 14px 30px;
  }
  .svc2_scheme_flagarea {
    height: 70px;
    margin-bottom: 20px;
  }
  .svc2_scheme_mid .svc2_scheme_flagarea {
    display: none;
  }
  .svc2_flag_jp {
    width: 90px;
    height: 60px;
  }
  .svc2_flag_jp::after {
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
  }
  .svc2_flag_nz {
    width: 90px;
  }
  .svc2_scheme_logos {
    height: auto;
    min-height: 50px;
    gap: 0 16px;
    margin-bottom: 26px;
  }
  .svc2_logo_tmhr {
    width: 160px;
  }
  .svc2_logo_nt {
    width: 60px;
  }
  .svc2_logo_gostudy {
    width: 90px;
  }
  .svc2_logo_anz {
    width: 130px;
  }
  .svc2_scheme_icons figure {
    height: 50px;
    margin-bottom: 12px;
  }
  .svc2_scheme_icons figure img {
    max-width: 56px;
    max-height: 50px;
  }
  .svc2_scheme_label {
    font-size: 10px;
  }
  .svc2_scheme_icons ul li {
    font-size: 9px;
    line-height: 1.8;
  }
  .svc2_scheme_arrows {
    display: none;
  }
  .svc2_scheme_txt {
    margin-bottom: 40px;
  }
  .svc2_scheme_txt p {
    font-size: 12px;
    line-height: 1.9;
  }
  .svc2_free {
    margin-bottom: 36px;
  }
  .svc2_free > p {
    font-size: 12px;
    line-height: 1.9;
    margin-bottom: 20px;
  }
  .svc2_free ul li {
    font-size: 12px;
    line-height: 2.2;
    padding-left: 22px;
  }
  .svc2_free ul li::before {
    font-size: 9px;
  }
  .svc2_cta {
    font-size: 14px;
    margin-bottom: 70px;
  }
  .svc2_anchor {
    gap: 10px 0;
    margin-bottom: 80px;
  }
  .svc2_anchor a {
    width: 100%;
    padding: 13px 0 11px;
  }
  .svc2_anchor a span {
    font-size: 15px;
  }
  .svc2_anchor a small {
    font-size: 9px;
  }
  .svc2_row {
    display: block;
    padding: 50px 0;
  }
  .svc2_row figure {
    width: 100%;
    margin-bottom: 24px;
  }
  .svc2_row_body {
    width: 100%;
  }
  .svc2_row_ttl {
    font-size: 20px;
  }
  .svc2_row_ttl small {
    font-size: 10px;
    margin-top: 2px;
  }
  .svc2_bar {
    height: 8px;
    margin: 16px 0 20px;
  }
  .svc2_catch {
    font-size: 16px;
    margin-bottom: 14px;
  }
  .svc2_row_txt {
    font-size: 12px;
    line-height: 2;
    margin-bottom: 20px;
  }
  .svc2_more span {
    font-size: 10px;
    margin-bottom: 4px;
  }
  .svc2_more i {
    width: 26px;
    height: 26px;
    font-size: 10px;
  }
  /* 詳細共通 */
  .svc2_nav {
    gap: 8px 0;
    margin: 10px 0 70px;
  }
  .svc2_nav a {
    width: 100%;
    padding: 9px 0 7px;
  }
  .svc2_nav a span {
    font-size: 13px;
  }
  .svc2_nav a small {
    font-size: 9px;
    margin-top: 0;
  }
  .svc2_head {
    display: block;
    padding-top: 50px;
    margin-bottom: 90px;
  }
  .svc2_head figure {
    width: 100%;
    margin-bottom: 24px;
  }
  .svc2_head_body {
    width: 100%;
  }
  .svc2_ttl {
    font-size: 22px;
  }
  .svc2_ttl small {
    font-size: 10px;
    margin-top: 4px;
  }
  .svc2_head_txt {
    font-size: 12px;
    line-height: 2;
  }
  .svc2_section {
    margin-bottom: 100px;
  }
  .svc2_h3 {
    font-size: 10px;
    border-bottom-width: 2px;
    padding-bottom: 8px;
    margin-bottom: 45px;
  }
  .svc2_h3 span {
    font-size: 23px;
    margin-right: 12px;
  }
  .svc2_problems {
    gap: 12px 0;
  }
  .svc2_problems > div {
    width: 100%;
    min-height: 0;
    padding: 22px 12px;
    border-radius: 5px;
  }
  .svc2_problems p {
    font-size: 13px;
    line-height: 1.9;
  }
  .svc2_subttl {
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 14px;
  }
  .svc2_center_txt {
    font-size: 12px;
    line-height: 2;
    margin-bottom: 36px;
  }
  .svc2_steps {
    display: block;
    padding: 36px 6% 40px;
  }
  .svc2_step {
    width: 100%;
  }
  .svc2_step h4 {
    font-size: 15px;
    margin-bottom: 24px;
  }
  .svc2_step figure {
    height: 80px;
    margin-bottom: 24px;
  }
  .svc2_step figure img {
    max-width: 100px;
    max-height: 80px;
  }
  .svc2_step ul li {
    font-size: 12px;
    line-height: 2.1;
  }
  .svc2_arw {
    margin: 26px auto;
    border-width: 18px 12px 0 12px;
    border-left-color: transparent !important;
    align-self: auto;
  }
  .svc2_arw_red {
    border-top-color: #bd3c1e;
  }
  .svc2_arw_yellow {
    border-top-color: #f4c700;
  }
  .svc2_arw_green {
    border-top-color: #9fc764;
  }
  .svc2_steps_gc .svc2_step {
    width: 100%;
    margin-bottom: 40px;
  }
  .svc2_steps_gc .svc2_step:last-child {
    margin-bottom: 0;
  }
  .svc2_step .svc2_step_note {
    font-size: 11px;
    margin-bottom: 16px;
  }
  .svc2_tab_btns {
    gap: 0 3%;
    margin-bottom: 50px;
  }
  .svc2_tab_btn {
    width: 48.5%;
    padding: 10px 0;
    font-size: 12px;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
  }
  .svc2_tab_btn::after {
    font-size: 9px;
    right: 10px;
  }
  .svc2_area_ttl {
    font-size: 16px;
    min-width: 60%;
    padding: 0 16px 8px 22px;
    margin-bottom: 30px;
  }
  .svc2_area_ttl::before {
    font-size: 11px;
    top: 4px;
  }
  .svc2_school {
    display: block;
    margin-bottom: 40px;
  }
  .svc2_school:last-child {
    margin-bottom: 60px;
  }
  .svc2_school figure {
    width: 100%;
    margin-bottom: 16px;
  }
  .svc2_school_body {
    width: 100%;
  }
  .svc2_school_body h4 {
    font-size: 15px;
  }
  .svc2_school_body ul li {
    font-size: 12px;
    line-height: 1.9;
    padding-left: 20px;
    margin-bottom: 5px;
  }
  .svc2_school_body ul li::before {
    font-size: 10px;
  }
  .svc2_soon {
    padding: 60px 16px;
  }
  .svc2_soon span {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .svc2_soon p {
    font-size: 12px;
  }
  .svc2_price_table {
    min-width: 640px;
  }
  .svc2_price_table th,
  .svc2_price_table td {
    padding: 10px 12px;
    font-size: 12px;
  }
  .svc2_price_table tbody th small {
    font-size: 9px;
  }
  .svc2_price_note {
    padding: 36px 16px;
  }
  .svc2_price_note p {
    font-size: 12px;
    line-height: 2;
  }
  .svc2_case .case_list_container {
    gap: 50px 0;
  }
  .svc2_case_btn {
    width: 220px;
    margin-top: 50px;
    padding: 11px 0;
    font-size: 13px;
  }
}
/* ======================================================================
   [統合 2026-08-21] WHYページ専用（旧 css/_p5-why.css）
   ====================================================================== */
/*****************************************************

 WHY page (page-why.php) デザインカンプ準拠改修用スタイル
 プレフィックス: why2_
 採取色（pc01-01-1.jpg 実測 → 既存テーマ色に正規化）
  赤    : #BD3C1E（実測 #b83818）
  黄    : #F4C700（実測 #f0c81e 前後）
  緑    : #9FC764（実測 #98c460 前後）
  水色  : #ADE0F1（実測 #b0e0f0）
  図表カード地 : #FEFDF8 / #FAFAFA / #EFEFEF（実測）
 ブレークポイントは既存に合わせて 960px / 750px。

*****************************************************/
/* ANCHOR（角R指示・WHYの色分け）
----------------------------------------------------*/
.why_anchor_container a {
  border-radius: 10px;
}

.why2_tab_en {
  font-family: "Roboto Condensed", sans-serif;
  margin-right: 0.4em;
}

.why2_tab_en--yellow {
  color: #f4c700;
}

.why2_tab_en--green {
  color: #9fc764;
}

.why_anchor_container a.select .why2_tab_en,
.why_anchor_container a:hover .why2_tab_en {
  color: #fff;
}

/* H2（WHYを各セクション色に・下線は太く「ライン太」指示）
----------------------------------------------------*/
.why_wrap h2 .why2_en {
  margin-right: 0.35em;
}

#why-abroad h2 .why2_en {
  color: #bd3c1e;
}

#why-nz h2 .why2_en {
  color: #f4c700;
}

#why-tmhr h2 .why2_en {
  color: #9fc764;
}

#why-abroad h2:after {
  background: #f4c700;
  height: 5px;
}

#why-nz h2:after {
  background: #9fc764;
  height: 5px;
}

#why-tmhr h2:after {
  background: #bd3c1e;
  height: 5px;
}

/* H3（左寄せ・セクション色・全幅下線）
----------------------------------------------------*/
.why_wrap .why2_h3 {
  font-size: 34px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: left;
  padding-bottom: 8px;
  border-bottom: 2px solid #bd3c1e;
  margin: 60px 0 90px;
}

.why_wrap .why2_h3--red {
  color: #bd3c1e;
  border-color: #bd3c1e;
}

.why_wrap .why2_h3--yellow {
  color: #f4c700;
  border-color: #f4c700;
}

.why_wrap .why2_h3--green {
  color: #9fc764;
  border-color: #9fc764;
}

/* 写真（style.css の figure 装飾を打ち消し）
----------------------------------------------------*/
.why_wrap .about_mission_container figure.why_photo {
  width: 100%;
  padding: 0;
  background: none;
  margin-bottom: 90px;
}

.why_wrap .why_photo img {
  width: 100%;
  height: 700px;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0;
}

/* 本文段落
----------------------------------------------------*/
.why_wrap .about_mission_container > p:not([class]) {
  font-size: 16px;
  line-height: 2.2;
  letter-spacing: 0.14em;
  margin-bottom: 2em;
}

.why_wrap .about_mission_container > p:not([class]):last-child {
  margin-bottom: 0;
}

.why_wrap .why2_mid_ttl {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.8;
  margin: 100px 0 60px;
}

/* WEF×QS 対応図（ボックス＋両矢印）
----------------------------------------------------*/
.why2_wef {
  background: #fefdf8;
  border-radius: 10px;
  padding: 70px 6% 75px;
  margin-bottom: 110px;
}

.why2_wef_head,
.why2_wef_row {
  display: flex;
  align-items: center;
}

.why2_wef_headcol,
.why2_wef_box {
  flex: 1 1 0;
  min-width: 0;
}

.why2_wef_head {
  align-items: flex-start;
  margin-bottom: 45px;
}

.why2_wef_head > span {
  flex: 0 0 110px;
}

.why2_wef_headcol h4 {
  font-size: 19px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 8px;
}

.why2_wef_headcol--left h4 span {
  background: #ade0f1;
  padding: 4px 24px;
  display: inline-block;
  width: 100%;
}

.why2_wef_src {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 13px;
  color: #555;
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.6;
}

.why2_wef_row {
  margin-bottom: 40px;
}

.why2_wef_row:last-child {
  margin-bottom: 0;
}

.why2_wef_box {
  background: #fff;
  border: 1px solid #bd3c1e;
  border-radius: 8px;
  color: #bd3c1e;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-align: center;
  padding: 46px 10px;
}

/* 両矢印（線＋左右三角） */
.why2_wef_arrow {
  position: relative;
  display: block;
  flex: 0 0 58px;
  height: 2px;
  background: #bd3c1e;
  margin: 0 26px;
}

.why2_wef_arrow::before,
.why2_wef_arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.why2_wef_arrow::before {
  left: -1px;
  border-right: 9px solid #bd3c1e;
}

.why2_wef_arrow::after {
  right: -1px;
  border-left: 9px solid #bd3c1e;
}

.why2_wef_row--yellow .why2_wef_box {
  border-color: #f4c700;
  color: #f4c700;
}

.why2_wef_row--yellow .why2_wef_arrow {
  background: #f4c700;
}

.why2_wef_row--yellow .why2_wef_arrow::before {
  border-right-color: #f4c700;
}

.why2_wef_row--yellow .why2_wef_arrow::after {
  border-left-color: #f4c700;
}

.why2_wef_row--green .why2_wef_box {
  border-color: #9fc764;
  color: #9fc764;
}

.why2_wef_row--green .why2_wef_arrow {
  background: #9fc764;
}

.why2_wef_row--green .why2_wef_arrow::before {
  border-right-color: #9fc764;
}

.why2_wef_row--green .why2_wef_arrow::after {
  border-left-color: #9fc764;
}

/* データブロック共通
----------------------------------------------------*/
.why2_point {
  margin-bottom: 130px;
}

.why_wrap .why2_point_ttl {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.7;
  margin-bottom: 25px;
}

.why_wrap .why2_point_lead {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.14em;
}

.why_wrap .why2_point_rank {
  font-size: 18px;
  letter-spacing: 0.14em;
  margin-bottom: 30px;
}

.why2_tri {
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 13px solid #bd3c1e;
  margin-right: 16px;
}

.why_wrap .why2_note {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 14px;
  color: #555;
  letter-spacing: 0.08em;
  line-height: 1.8;
  margin-bottom: 0;
}

/* カード共通（GPI・OECD） */
.why2_card_ttl {
  background: #efefef;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding: 22px 30px;
  margin: 0;
}

/* Global Peace Index（2カラム＋ランキング表）
----------------------------------------------------*/
.why2_gpi {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 40px 4%;
}

.why2_gpi_txt {
  width: 38%;
}

.why2_gpi_card {
  width: 58%;
  background: #fafafa;
  overflow-x: auto;
}

.why2_gpi_card .why2_card_ttl {
  text-align: center;
}

.why2_gpi_tables {
  display: flex;
  justify-content: space-between;
  gap: 20px 6%;
  padding: 30px 5% 45px;
}

.why2_rank_table {
  width: 47%;
  border-collapse: collapse;
}

.why2_rank_table th,
.why2_rank_table td {
  border-bottom: 1px solid #000;
  padding: 10px 4px;
  letter-spacing: 0.08em;
  vertical-align: middle;
}

.why2_rank_table thead th {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #767676;
  letter-spacing: 0.18em;
  border-bottom-width: 2px;
  padding-bottom: 12px;
}

.why2_rank_table td:first-child {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 12px;
  color: #767676;
  width: 26%;
  text-align: center;
}

.why2_rank_table td:last-child {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: #000;
  padding-left: 14px;
}

.why2_rank_table tr.why2_rank_nz td,
.why2_rank_table tr.why2_rank_jp td {
  color: #fff;
  font-weight: 600;
}

.why2_rank_table tr.why2_rank_nz td {
  background: #9fc764;
}

.why2_rank_table tr.why2_rank_jp td {
  background: #bd3c1e;
}

.why2_rank_table tr.why2_rank_nz td:last-child,
.why2_rank_table tr.why2_rank_jp td:last-child {
  border-left: 4px solid #fafafa;
}

/* OECD 幸福度 横棒グラフ
----------------------------------------------------*/
.why2_oecd_card {
  background: #efefef;
  margin-bottom: 20px;
}

.why2_oecd_card .why2_card_ttl {
  background: none;
  padding: 40px 4% 0;
}

.why2_oecd_grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px 7%;
  padding: 55px 4% 55px;
}

.why2_oecd_item {
  width: 46.5%;
  display: flex;
  align-items: center;
  gap: 24px;
}

.why2_oecd_label {
  width: 200px;
  flex-shrink: 0;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

.why2_oecd_label span {
  display: block;
  font-size: 13px;
  font-weight: normal;
  letter-spacing: 0.08em;
}

.why2_oecd_bars {
  flex: 1;
  min-width: 0;
}

.why2_oecd_bar {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.why2_oecd_bar:last-child {
  margin-bottom: 0;
}

.why2_oecd_bar_in {
  display: block;
  height: 13px;
  border-radius: 7px;
  background: #9fc764;
}

.why2_oecd_bar--jp .why2_oecd_bar_in {
  background: #bd3c1e;
}

.why2_oecd_rank {
  font-size: 15px;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.14em;
  white-space: nowrap;
  border-bottom: 1px solid #000;
  margin-left: 10px;
  line-height: 1.4;
}

.why2_oecd_legend {
  width: 46.5%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 14px;
  letter-spacing: 0.12em;
}

.why2_leg {
  display: inline-block;
  width: 14px;
  height: 14px;
  background: #9fc764;
  vertical-align: -2px;
  margin: 0 8px 0 30px;
}

.why2_leg:first-child {
  margin-left: 0;
}

.why2_leg--jp {
  background: #bd3c1e;
}

/* PISA・▶リスト（色分け）
----------------------------------------------------*/
.why2_list li {
  position: relative;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.14em;
  padding-left: 1.6em;
}

.why2_list li:last-child {
  margin-bottom: 0;
}

.why2_list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.62em;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #bd3c1e;
}

.why2_list li.why2_c_red::before {
  border-left-color: #bd3c1e;
}

.why2_list li.why2_c_yellow::before {
  border-left-color: #f4c700;
}

.why2_list li.why2_c_green::before {
  border-left-color: #9fc764;
}

.why2_pisa_list {
  margin-bottom: 30px;
}

.why2_pisa_list li strong {
  font-weight: bold;
  margin-left: 0.2em;
}

.why2_pisa_list li.why2_c_red strong {
  color: #bd3c1e;
}

.why2_pisa_list li.why2_c_yellow strong {
  color: #f4c700;
}

.why2_pisa_list li.why2_c_green strong {
  color: #9fc764;
}

/* 選ばれる3つの理由（画像＋テキストの横並び）
----------------------------------------------------*/
.why2_reason_container {
  margin-bottom: 110px;
}

.why2_reason {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 30px 5%;
  margin-bottom: 90px;
}

.why2_reason:last-child {
  margin-bottom: 0;
}

.why_wrap .about_mission_container figure.why2_reason_img {
  width: 46%;
  margin: 0;
  padding: 0;
  background: none;
}

.why2_reason_img img {
  width: 100%;
  height: 400px;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.why2_reason_body {
  width: 49%;
}

.why2_reason_num {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 38px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-bottom: 14px;
}

.why2_reason_num--red {
  color: #bd3c1e;
}

.why2_reason_num--yellow {
  color: #f4c700;
}

.why2_reason_num--green {
  color: #9fc764;
}

.why2_reason_body h4 {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.7;
  margin-bottom: 30px;
}

.why2_reason_body .why2_list li {
  font-size: 16px;
  line-height: 2;
}

/* ▶の色（カンプ準拠：01=緑・黄 / 02=赤 / 03=黄） */
.why2_reason--01 .why2_list li:nth-child(1)::before {
  border-left-color: #9fc764;
}

.why2_reason--01 .why2_list li:nth-child(2)::before {
  border-left-color: #f4c700;
}

.why2_reason--02 .why2_list li::before {
  border-left-color: #bd3c1e;
}

.why2_reason--03 .why2_list li::before {
  border-left-color: #f4c700;
}

/* レスポンシブ
----------------------------------------------------*/
@media screen and (max-width: 960px) {
  .why2_gpi_txt,
  .why2_gpi_card {
    width: 100%;
  }
  .why2_oecd_item,
  .why2_oecd_legend {
    width: 100%;
  }
  .why_wrap .why_photo img {
    height: 480px;
  }
}
@media screen and (max-width: 750px) {
  .why_anchor_container a {
    border-radius: 8px;
  }
  #why-abroad h2:after,
  #why-nz h2:after,
  #why-tmhr h2:after {
    height: 3px;
  }
  .why_wrap .why2_h3 {
    font-size: 20px;
    padding-bottom: 14px;
    margin-bottom: 40px;
  }
  .why_wrap .about_mission_container figure.why_photo {
    margin-bottom: 50px;
  }
  .why_wrap .why_photo img {
    height: 220px;
  }
  .why_wrap .about_mission_container > p:not([class]) {
    font-size: 14px;
    line-height: 2;
  }
  .why_wrap .why2_mid_ttl {
    font-size: 19px;
    margin: 60px 0 30px;
  }
  .why2_wef {
    padding: 40px 5% 45px;
    margin-bottom: 70px;
  }
  .why2_wef_head > span {
    flex: 0 0 34px;
  }
  .why2_wef_head {
    margin-bottom: 25px;
  }
  .why2_wef_headcol h4 {
    font-size: 13px;
    letter-spacing: 0.14em;
  }
  .why2_wef_headcol--left h4 span {
    padding: 3px 8px;
  }
  .why2_wef_src {
    font-size: 10px;
  }
  .why2_wef_row {
    margin-bottom: 20px;
  }
  .why2_wef_box {
    font-size: 13px;
    letter-spacing: 0.14em;
    padding: 24px 6px;
    border-radius: 6px;
  }
  .why2_wef_arrow {
    flex-basis: 24px;
    margin: 0 5px;
  }
  .why2_wef_arrow::before {
    border-right-width: 7px;
  }
  .why2_wef_arrow::after {
    border-left-width: 7px;
  }
  .why2_point {
    margin-bottom: 80px;
  }
  .why_wrap .why2_point_ttl {
    font-size: 20px;
  }
  .why_wrap .why2_point_lead {
    font-size: 15px;
  }
  .why_wrap .why2_point_rank {
    font-size: 18px;
  }
  .why_wrap .why2_note {
    font-size: 12px;
  }
  .why2_card_ttl {
    font-size: 14px;
    padding: 16px 15px;
  }
  .why2_gpi_tables {
    flex-wrap: wrap;
    padding: 20px 5% 30px;
  }
  .why2_rank_table {
    width: 100%;
  }
  .why2_rank_table td:last-child {
    font-size: 15px;
  }
  .why2_oecd_card .why2_card_ttl {
    padding: 25px 5% 0;
  }
  .why2_oecd_grid {
    gap: 35px 0;
    padding: 30px 5% 35px;
  }
  .why2_oecd_item {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .why2_oecd_label {
    width: 100%;
  }
  .why2_oecd_label span {
    display: inline;
    margin-left: 0.5em;
  }
  .why2_oecd_bars {
    width: 100%;
    flex: none;
  }
  .why2_oecd_bar_in {
    height: 11px;
  }
  .why2_oecd_rank {
    font-size: 13px;
  }
  .why2_oecd_legend {
    font-size: 12px;
  }
  .why2_list li {
    font-size: 14px;
    padding-left: 1.5em;
    margin-bottom: 10px;
  }
  .why2_list li::before {
    top: 0.55em;
    border-top-width: 5px;
    border-bottom-width: 5px;
    border-left-width: 8px;
  }
  .why2_reason_container {
    margin-bottom: 60px;
  }
  .why2_reason {
    margin-bottom: 50px;
  }
  .why2_reason_img,
  .why2_reason_body {
    width: 100%;
  }
  .why2_reason_img img {
    height: 220px;
  }
  .why2_reason_num {
    font-size: 30px;
  }
  .why2_reason_body h4 {
    font-size: 19px;
    margin-bottom: 16px;
  }
  .why2_reason_body .why2_list li {
    font-size: 14px;
  }
}
/* ======================================================================
   [統合 2026-08-21] ABOUTページ専用（旧 css/_p5-about.css）
   ====================================================================== */
/* ============================================================
   ABOUT 2026 デザインカンプ準拠改修 (page-about.php 専用)
   プレフィックス: ab2_
   採取色: 赤 #BD3C1E / 黄 #F4C700 / 緑 #9FC764 /
           薄緑(破線) #C9DFA9 / グレー #EFEFEF
   add2026.css の上書きは本ファイル内で特異度を上げて行う
============================================================ */
/* --- ANCHOR（4ボタン・角丸・項目ごとのアクセントカラー） --- */
.about_anchor_container.ab2_anchor a {
  width: 24.2%;
  border-radius: 10px;
}

.about_anchor_container.ab2_anchor a:nth-child(2) {
  color: #f4c700;
}

.about_anchor_container.ab2_anchor a:nth-child(3) {
  color: #9fc764;
}

.about_anchor_container.ab2_anchor a:nth-child(4) {
  color: #bd3c1e;
}

.about_anchor_container.ab2_anchor a:after {
  color: #b3b3b3;
}

.about_anchor_container.ab2_anchor a.select,
.about_anchor_container.ab2_anchor a:hover {
  color: #fff;
}

.about_anchor_container.ab2_anchor a.select:after,
.about_anchor_container.ab2_anchor a:hover:after {
  color: #fff;
}

/* --- 見出し（セクションごとに文字色/罫線色をローテーション） --- */
.about_wrap #tmhr h2::after,
.about_wrap #vision h2::after,
.about_wrap #team h2::after,
.about_wrap #company h2::after {
  margin-top: 0; /* 2026-09-12 PC-05/SP-08 下線と文字の間隔をWHYページに合わせる 14px→0 */
}

.about_wrap #tmhr h2 {
  color: #bd3c1e;
}

.about_wrap #tmhr h2::after {
  background: #f4c700;
}

.about_wrap #vision h2 {
  color: #f4c700;
}

.about_wrap #vision h2::after {
  background: #9fc764;
}

.about_wrap #team h2 {
  color: #9fc764;
}

.about_wrap #team h2::after {
  background: #bd3c1e;
}

.about_wrap #company h2 {
  color: #bd3c1e;
}

.about_wrap #company h2::after {
  background: #f4c700;
}

/* --- TMHRとは? + MESSAGE（左: テキスト列 / 右: 写真列） --- */
.ab2_intro_cols {
  display: grid;
  grid-template-columns: 47% 48%;
  justify-content: space-between;
  align-items: start;
}

.ab2_intro_txt {
  grid-column: 1;
  grid-row: 1;
}

.ab2_intro_photo {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.ab2_message {
  grid-column: 1;
  grid-row: 2;
}

.ab2_intro_logo {
  display: block;
  width: auto;
  height: 60px;
  margin: 60px 0 90px;
}

.about_wrap .ab2_intro_photo figure {
  width: 100%;
  padding: 0;
  background: none;
  margin-bottom: 0;
}

.ab2_intro_photo figure img {
  width: 100%;
  aspect-ratio: 300/404;
  -o-object-fit: cover;
  object-fit: cover;
}

.ab2_intro_photo figcaption {
  text-align: right;
  margin-top: 24px;
}

.ab2_intro_photo figcaption span {
  display: block;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.14em;
  color: #000;
}

.ab2_intro_photo figcaption span.ab2_cap_name {
  font-size: 30px;
  margin-top: 8px;
}

.ab2_intro_photo figcaption span.about2026_en {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 18px;
  margin-top: 2px;
}

.ab2_message {
  margin-top: 80px;
}

.ab2_message_ttl {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.14em;
  color: #9fc764;
  margin-bottom: 34px;
}

.ab2_message_ttl::after {
  content: "";
  display: block;
  width: 16px;
  height: 3px;
  background: #333;
  margin-top: 18px;
}

/* --- VISION（左: テキスト / 右: 緑のピラミッド図） --- */
.ab2_vision_cols {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 3%;
}

.ab2_vision_txt {
  width: 47%;
}

.about_wrap .ab2_vision_txt p.large_txt {
  font-size: 38px !important;
}

.ab2_pyramid {
  width: 50%;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px 0;
}

/* 頂点レベル・底辺レベルの破線 */
.ab2_pyramid::before {
  content: "";
  position: absolute;
  top: 0;
  left: 27.5%;
  right: 0;
  border-top: 2px dashed #c9dfa9;
}

.ab2_pyramid::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  right: 0;
  border-bottom: 2px dashed #c9dfa9;
}

.ab2_pyr_row {
  display: flex;
  align-items: stretch;
  min-height: 110px;
}

.ab2_pyr_shape {
  width: 55%;
  flex-shrink: 0;
  position: relative;
}

/* 最上段: 緑塗りの三角形 */
.ab2_pyr_row1 .ab2_pyr_shape {
  background: #9fc764;
  clip-path: polygon(50% 0, 66.7% 100%, 33.3% 100%);
}

/* 中段/下段: 黄色い縁取りの台形（外側=黄 / 内側=白） */
.ab2_pyr_row2 .ab2_pyr_shape {
  background: #f4c700;
  clip-path: polygon(33.3% 0, 66.7% 0, 83.35% 100%, 16.65% 100%);
}

.ab2_pyr_row2 .ab2_pyr_shape::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  clip-path: polygon(
    calc(33.3% + 5px) 3px,
    calc(66.7% - 5px) 3px,
    calc(83.35% - 5px) calc(100% - 3px),
    calc(16.65% + 5px) calc(100% - 3px)
  );
}

.ab2_pyr_row3 .ab2_pyr_shape {
  background: #f4c700;
  clip-path: polygon(16.65% 0, 83.35% 0, 100% 100%, 0 100%);
}

.ab2_pyr_row3 .ab2_pyr_shape::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  clip-path: polygon(
    calc(16.65% + 5px) 3px,
    calc(83.35% - 5px) 3px,
    calc(100% - 5px) calc(100% - 3px),
    5px calc(100% - 3px)
  );
}

.ab2_pyr_shape span {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #9fc764;
}

.ab2_pyr_row1 .ab2_pyr_shape span {
  top: auto;
  transform: none;
  bottom: 10px;
  color: #fff;
}

/* 右側の説明テキスト */
.about_wrap .ab2_pyramid p.ab2_pyr_txt {
  flex: 1;
  align-self: stretch;
  display: flex;
  align-items: center;
  padding-left: 64px;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.14em;
}

.about_wrap .ab2_pyramid p.ab2_pyr_txt_vision {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.7;
  color: #9fc764;
}

.ab2_pyr_row1 .ab2_pyr_txt,
.ab2_pyr_row2 .ab2_pyr_txt {
  border-bottom: 1px solid #d6d6d6;
}

/* 縦の両矢印 */
.ab2_pyr_arrow {
  position: absolute;
  left: calc(55% + 26px);
  top: 16px;
  bottom: 16px;
  width: 2px;
  background: #9fc764;
}

.ab2_pyr_arrow::before,
.ab2_pyr_arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border: solid transparent;
}

.ab2_pyr_arrow::before {
  top: -10px;
  border-width: 0 6px 12px;
  border-bottom-color: #9fc764;
}

.ab2_pyr_arrow::after {
  bottom: -10px;
  border-width: 12px 6px 0;
  border-top-color: #9fc764;
}

/* --- OUR TEAM リード文 --- */
.about_wrap p.about2026_team_lead {
  font-size: 36px !important;
  line-height: 2 !important;
}

/* --- チームグループ見出し（▶ + 下罫線 / グループごとの色） --- */
.about_wrap .about2026_team_label::after {
  content: "";
  display: block;
  width: 300px;
  height: 2px;
  margin-top: 16px;
}

.ab2_group_yellow .about2026_team_label,
.ab2_group_yellow .about2026_team_label::before {
  color: #f4c700;
}

.ab2_group_yellow .about2026_team_label::after {
  background: #f4c700;
}

.ab2_group_red .about2026_team_label,
.ab2_group_red .about2026_team_label::before {
  color: #bd3c1e;
}

.ab2_group_red .about2026_team_label::after {
  background: #bd3c1e;
}

.ab2_group_green .about2026_team_label,
.ab2_group_green .about2026_team_label::before {
  color: #9fc764;
}

.ab2_group_green .about2026_team_label::after {
  background: #9fc764;
}

/* --- プロフィールカード（カードごとのアクセントカラー） --- */
.about2026_profile_photo img:not(.about2026_gostudy_logo) {
  aspect-ratio: 165/200;
}

.about_wrap .about2026_profile_card .about2026_profile_role {
  font-size: 16px;
  letter-spacing: 0.14em;
  margin-bottom: 12px;
}

.about_wrap .about2026_profile_card p.about2026_profile_name::after {
  width: 16px;
  height: 3px;
}

.ab2_card_red .about2026_profile_role,
.about_wrap .ab2_card_red p.about2026_profile_name {
  color: #bd3c1e;
}

.about_wrap .ab2_card_red p.about2026_profile_name::after {
  background: #bd3c1e;
}

.ab2_card_yellow .about2026_profile_role,
.about_wrap .ab2_card_yellow p.about2026_profile_name {
  color: #f4c700;
}

.about_wrap .ab2_card_yellow p.about2026_profile_name::after {
  background: #f4c700;
}

.ab2_card_green .about2026_profile_role,
.about_wrap .ab2_card_green p.about2026_profile_name {
  color: #9fc764;
}

.about_wrap .ab2_card_green p.about2026_profile_name::after {
  background: #9fc764;
}

/* PARTNER 写真プレースホルダ: 実写真(noriko_miyoke.jpg)支給により撤去 (2026-09-03) */

/* --- OTHER STAFF リスト（罫線なし・番号を上に積む） --- */
.about_wrap .about2026_staff_list li {
  display: block;
  border-top: none;
  border-bottom: none;
  padding: 0;
  margin-bottom: 56px;
}

.about_wrap .about2026_staff_list li:first-child {
  border-top: none;
}

.about_wrap .about2026_staff_list li:last-child {
  margin-bottom: 0;
}

.about_wrap .about2026_staff_num {
  display: block;
  width: auto;
  font-size: 20px;
  letter-spacing: 0.2em;
  color: #000;
  margin-bottom: 10px;
}

/* --- COMPANY（会社概要表） --- */
.about_wrap .about_company_wrap table th,
.about_wrap .about_company_wrap table td {
  font-size: 17px;
  padding: 0 0 45px;
  line-height: 2;
}

.about_wrap .about_company_wrap table th {
  width: 150px;
}

.about_wrap .about_company_wrap table tr:last-child th,
.about_wrap .about_company_wrap table tr:last-child td {
  padding-bottom: 0;
}

/* ============================================================
   レスポンシブ
============================================================ */
@media screen and (max-width: 960px) {
  .ab2_pyr_row {
    min-height: 96px;
  }
  .about_wrap .ab2_pyramid p.ab2_pyr_txt {
    padding-left: 44px;
    font-size: 13px;
  }
  .about_wrap .ab2_pyramid p.ab2_pyr_txt_vision {
    font-size: 19px;
  }
  .ab2_pyr_arrow {
    left: calc(55% + 16px);
  }
}
@media screen and (max-width: 750px) {
  /* ANCHOR: 2×2 */
  .about_anchor_container.ab2_anchor a,
  .about_anchor_container.ab2_anchor a:first-child {
    width: 49%;
    border-radius: 8px;
  }
  /* TMHRとは? + MESSAGE */
  .ab2_intro_cols {
    display: block;
  }
  .ab2_intro_logo {
    height: 56px;
    margin: 30px 0 0;
  }
  .ab2_intro_photo {
    margin-top: 50px;
  }
  .ab2_intro_photo figcaption {
    margin-top: 16px;
  }
  .ab2_intro_photo figcaption span {
    font-size: 12px;
  }
  .ab2_intro_photo figcaption span.ab2_cap_name {
    font-size: 20px;
    margin-top: 4px;
  }
  .ab2_intro_photo figcaption span.about2026_en {
    font-size: 12px;
  }
  .ab2_message {
    margin-top: 60px;
  }
  .ab2_message_ttl {
    font-size: 16px;
    margin-bottom: 24px;
  }
  .ab2_message_ttl::after {
    width: 12px;
    height: 2px;
    margin-top: 12px;
  }
  /* VISION ピラミッド */
  .ab2_vision_cols {
    display: block;
  }
  .ab2_vision_txt {
    width: 100%;
  }
  .ab2_pyramid {
    width: 100%;
    margin-top: 40px;
    gap: 6px 0;
  }
  .ab2_pyr_row {
    min-height: 84px;
  }
  .ab2_pyr_shape span {
    font-size: 12px;
  }
  .ab2_pyr_row1 .ab2_pyr_shape span {
    bottom: 6px;
  }
  .about_wrap .ab2_pyramid p.ab2_pyr_txt {
    padding-left: 30px;
    font-size: 12px;
    line-height: 1.9;
  }
  .about_wrap .ab2_pyramid p.ab2_pyr_txt_vision {
    font-size: 16px;
  }
  .ab2_pyr_arrow {
    left: calc(55% + 10px);
    top: 10px;
    bottom: 10px;
  }
  .ab2_pyr_arrow::before {
    top: -8px;
    border-width: 0 5px 9px;
  }
  .ab2_pyr_arrow::after {
    bottom: -8px;
    border-width: 9px 5px 0;
  }
  /* OUR TEAM */
  .about_wrap p.about2026_team_lead {
    font-size: 20px !important;
    line-height: 2 !important;
  }
  .about_wrap .about2026_team_label::after {
    width: 200px;
    margin-top: 10px;
  }
  .about_wrap .about2026_profile_card .about2026_profile_role {
    font-size: 13px;
  }
  .about_wrap .about2026_profile_card p.about2026_profile_name::after {
    width: 12px;
    height: 2px;
  }
  .about_wrap .about2026_staff_list li {
    margin-bottom: 40px;
  }
  .about_wrap .about2026_staff_num {
    font-size: 14px;
    margin-bottom: 6px;
  }
  /* COMPANY */
  .about_wrap .about_company_wrap table th,
  .about_wrap .about_company_wrap table td {
    font-size: 12px;
    padding: 0 0 30px;
  }
  .about_wrap .about_company_wrap table th {
    width: 90px;
  }
}
/* ======================================================================
   [統合 2026-08-21] CONTACT/FAQ/FLOW/PRIVACY専用（旧 css/_p5-contact.css）
   ====================================================================== */
/*****************************************************

 CONTACT / FAQ / PRIVACY 追加スタイル（デザインカンプ pc02 準拠）
 対象: page-contact.php / archive-faq.php / page-privacy.php
 プレフィックス: ct2_
 採取色:
   レッド   #BD3C1E（SENDボタン記入後 / FAQカテゴリ1 / FLOW矢印）
   イエロー #F4C700（FLOW CONTACTピル / FAQカテゴリ2 / FLOW矢印）
   グリーン #9FC764（FAQカテゴリ3 / FLOW矢印）
   グレー   #B3B3B3（未入力枠 / SENDボタン初期状態）

*****************************************************/
/* =====================================================
   FAQ（archive-faq.php .faq_wrap.ct2_faq）
   カテゴリごとの配色: 1=赤 / 2=黄 / 3=緑（3色循環）
----------------------------------------------------- */
.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 1)
  .accordion-title.open,
.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 1)
  .accordion-title.open:before,
.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 1)
  .accordion-title:hover,
.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 1)
  .accordion-title:hover:before {
  color: #bd3c1e;
}

.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 2)
  .accordion-title.open,
.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 2)
  .accordion-title.open:before,
.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 2)
  .accordion-title:hover,
.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 2)
  .accordion-title:hover:before {
  color: #f4c700;
}

.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 3)
  .accordion-title.open,
.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 3)
  .accordion-title.open:before,
.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 3)
  .accordion-title:hover,
.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 3)
  .accordion-title:hover:before {
  color: #9fc764;
}

/* Q.行はカテゴリ色・太字 / A.行は黒・標準 */
.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 1)
  .faq_item
  p:first-of-type {
  color: #bd3c1e;
}

.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 2)
  .faq_item
  p:first-of-type {
  color: #f4c700;
}

.faq_wrap.ct2_faq
  .accordion-container:nth-of-type(3n + 3)
  .faq_item
  p:first-of-type {
  color: #9fc764;
}

.faq_wrap.ct2_faq .faq_item p:last-of-type {
  color: #000;
}

/* =====================================================
   CONTACT フォーム（page-contact.php .contact_wrap.ct2_contact）
   カンプ: 角丸枠・未入力グレー・記入後/フォーカスで枠黒
----------------------------------------------------- */
.ct2_contact .contactform_container > p {
  font-size: 14px;
  margin-bottom: 10px;
}

.ct2_contact .contactform_container > p span {
  color: #bd3c1e;
  margin-right: 4px;
}

.ct2_contact .contactform_container table th {
  font-size: 16px;
}

.ct2_contact .contactform_container table th span {
  font-size: 16px;
  color: #bd3c1e;
}

.ct2_contact .wpcf7 input[type="text"],
.ct2_contact .wpcf7 input[type="email"],
.ct2_contact .wpcf7 input[type="tel"],
.ct2_contact .wpcf7 input[type="url"],
.ct2_contact .wpcf7 input[type="number"],
.ct2_contact .wpcf7 input[type="date"],
.ct2_contact .wpcf7 textarea,
.ct2_contact .wpcf7 select {
  display: block;
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #b3b3b3;
  border-radius: 10px; /* 角R */
  padding: 13px 18px;
  font-size: 16px;
  letter-spacing: 0.14em;
  color: #000;
  transition: border-color 0.2s;
}

/* フォーカス時・記入後: 枠、黒くなる */
.ct2_contact .wpcf7 input[type="text"]:focus,
.ct2_contact .wpcf7 input[type="email"]:focus,
.ct2_contact .wpcf7 input[type="tel"]:focus,
.ct2_contact .wpcf7 input[type="url"]:focus,
.ct2_contact .wpcf7 input[type="number"]:focus,
.ct2_contact .wpcf7 input[type="date"]:focus,
.ct2_contact .wpcf7 textarea:focus,
.ct2_contact .wpcf7 select:focus,
.ct2_contact .wpcf7 input.ct2_filled,
.ct2_contact .wpcf7 textarea.ct2_filled,
.ct2_contact .wpcf7 select.ct2_filled {
  border-color: #000;
}

.ct2_contact .wpcf7 textarea {
  min-height: 480px;
  resize: vertical;
}

/* セレクト: プレースホルダー色グレー + 右端シェブロン */
.ct2_contact .wpcf7 select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #b3b3b3;
  padding-right: 52px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' fill='none' stroke='%23B3B3B3' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center;
  cursor: pointer;
}

.ct2_contact .wpcf7 select.ct2_has_value,
.ct2_contact .wpcf7 select:focus {
  color: #000;
}

.ct2_contact .wpcf7 select option {
  color: #000;
}

/* SEND ボタン: 初期グレー → 全て記入後（.ct2_ready）/ hover で赤 */
.ct2_contact .wpcf7 input[type="submit"] {
  display: block;
  width: 190px;
  padding: 12px 0;
  margin-top: 40px;
  background: #b3b3b3;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  text-align: center;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s;
}

.ct2_contact .wpcf7 form.ct2_ready input[type="submit"],
.ct2_contact .wpcf7 input[type="submit"]:hover {
  background: #bd3c1e;
}

.ct2_contact .wpcf7 .wpcf7-spinner {
  display: block;
  margin: 10px auto 0;
}

/* =====================================================
   CONTACT FLOW（.contact_flow_wrap.ct2_flow）
   カンプ: 角丸カード・黄色CONTACTピル・矢印3色循環
----------------------------------------------------- */
.contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item {
  border-radius: 12px; /* 角R */
  margin-bottom: 90px;
}

.contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item > div h3 {
  font-size: 24px;
  margin-bottom: 6px;
}

.contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item > div p {
  font-size: 16px;
  line-height: 2;
}

.contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item > div a {
  width: 170px;
  padding: 8px 0;
  background: #f4c700;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.25em;
  text-indent: 0.25em;
  border-radius: 999px;
  transition: background 0.2s;
}

.contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item > div a:hover {
  background: #c9a000;
}

/* 矢印: 01→赤 02→黄 03→緑 04→赤（3色循環） */
.contact_wrap
  .contact_flow_wrap.ct2_flow
  .contact_flow_item:nth-of-type(3n + 1):after {
  background: #bd3c1e;
  bottom: -55px;
}

.contact_wrap
  .contact_flow_wrap.ct2_flow
  .contact_flow_item:nth-of-type(3n + 2):after {
  background: #f4c700;
  bottom: -55px;
}

.contact_wrap
  .contact_flow_wrap.ct2_flow
  .contact_flow_item:nth-of-type(3n + 3):after {
  background: #9fc764;
  bottom: -55px;
}

/* =====================================================
   PRIVACY POLICY（page-privacy.php .ct2_privacy）
   カンプ: 条文末尾に罫線 → BACKボタン
----------------------------------------------------- */
.ct2_privacy {
  border-bottom: 1px solid #000;
  padding-bottom: 90px;
}

/* =====================================================
   レスポンシブ（750px以下）
   ※本ファイルは style.css より後に読まれるため、
     上書きした項目の SP 値をここで再定義する
----------------------------------------------------- */
@media (max-width: 750px) {
  /* CONTACT フォーム */
  .ct2_contact .contactform_container > p {
    font-size: 11px;
    margin-bottom: 40px;
    border-bottom: none;
  }
  .ct2_contact .contactform_container table th {
    font-size: 12px;
  }
  .ct2_contact .contactform_container table th span {
    font-size: 12px;
  }
  .ct2_contact .wpcf7 input[type="text"],
  .ct2_contact .wpcf7 input[type="email"],
  .ct2_contact .wpcf7 input[type="tel"],
  .ct2_contact .wpcf7 input[type="url"],
  .ct2_contact .wpcf7 input[type="number"],
  .ct2_contact .wpcf7 input[type="date"],
  .ct2_contact .wpcf7 textarea,
  .ct2_contact .wpcf7 select {
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 16px; /* iOSズーム防止のため16px維持 */
  }
  .ct2_contact .wpcf7 select {
    padding-right: 44px;
    background-position: right 14px center;
  }
  .ct2_contact .wpcf7 textarea {
    min-height: 300px;
  }
  .ct2_contact .wpcf7 input[type="submit"] {
    width: 150px;
    padding: 8px 0;
    margin: 30px auto 0;
    font-size: 12px;
  }
  /* FLOW */
  .contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item {
    border-radius: 8px;
    margin-bottom: 80px;
  }
  .contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item > div h3 {
    font-size: 15px;
    text-align: center;
    margin-bottom: 16px;
  }
  .contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item > div p {
    font-size: 12px;
    line-height: 1.9;
  }
  .contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item > div a {
    width: 140px;
    padding: 5px 0;
    margin: 24px auto 0;
    font-size: 11px;
  }
  .contact_wrap
    .contact_flow_wrap.ct2_flow
    .contact_flow_item:nth-of-type(3n + 1):after,
  .contact_wrap
    .contact_flow_wrap.ct2_flow
    .contact_flow_item:nth-of-type(3n + 2):after,
  .contact_wrap
    .contact_flow_wrap.ct2_flow
    .contact_flow_item:nth-of-type(3n + 3):after {
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -52px;
  }
  /* PRIVACY */
  .ct2_privacy {
    padding-bottom: 50px;
  }
}
/* ======================================================================
   [統合 2026-08-21] スマホ調整（全ページ共通・最後に読み込む）（旧 css/_p5-sp.css）
   ====================================================================== */
/*****************************************************

 SP（750px以下）デザインカンプ準拠調整
 参照: sp01-1 / sp02-1 / sp03-1（36dpiレンダリング）
 プレフィックス: sp2_
 既存クラスの上書きは 750px 以下のメディアクエリ内で
 特異度を上げて行う（style.css / add2026.css /
 _p5-why.css / _p5-about.css / _p5-contact.css より優先）。
 ※_p5-why.css / _p5-contact.css は body 内で後読みされる
   ため、対象の上書きはセレクタの特異度で勝たせる。

*****************************************************/
/* SP限定の開閉ブロック（学校紹介・料金表）
   PCでは常時全表示・MOREボタン非表示 */
.sp2_expand .show_more {
  display: none;
}

@media screen and (max-width: 750px) {
  /* =================================================
     SP限定 開閉ブロック（sp02/sp03 MORE/CLOSE カンプ準拠）
  ================================================= */
  .svc2_wrap .sp2_expand .display_trigger {
    height: 650px;
    overflow: hidden;
  }
  .svc2_wrap .sp2_expand .display_trigger.open {
    height: auto;
  }
  .svc2_wrap .sp2_expand .show_more {
    display: block;
    height: auto;
    margin-top: 16px;
    padding-bottom: 50px;
  }
  .svc2_wrap .sp2_expand .show_more span {
    width: 60px;
    font-size: 12px;
    letter-spacing: 0.25em;
    color: var(--svc2_tx);
  }
  .svc2_wrap .sp2_expand .show_more span:after {
    width: 30px;
    height: 30px;
    top: 22px;
    font-size: 22px;
    line-height: 30px;
    color: #000;
  }
  /* =================================================
     ヘッダー（ロゴサイズをカンプ比率に）
  ================================================= */
  .global_header .logo_container img {
    width: 160px;
  }
  /* =================================================
     SPメニュー（sp01 展開状態カンプ準拠）
     項目: WHY / ABOUT / SERVICES / ARTICLES / FAQ / CONTACT
     開いた項目の下線色: 赤/黄/緑/赤/黄 の循環
  ================================================= */
  .sp_navi .overlay {
    padding: 22% 0 10%;
  }
  .sp_navi .overlay > ul {
    padding: 0 12% 10px;
  }
  .sp_navi .overlay > ul > li {
    margin-bottom: 8px;
  }
  .sp_navi .overlay > ul > li:last-of-type {
    margin: 0 0 8px;
  }
  .sp_navi .overlay > ul > li > a {
    display: block;
    font-size: 16px;
    letter-spacing: 0.25em;
    padding: 10px 0 8px;
  }
  .sp_navi .overlay .accordion-container {
    margin-bottom: 0;
  }
  .sp_navi .overlay .accordion-container .accordion-title {
    font-size: 16px;
    letter-spacing: 0.25em;
    padding: 10px 0 8px;
    border-bottom: none;
  }
  .sp_navi .overlay .accordion-container .accordion-title:before {
    font-size: 13px;
    bottom: 30%;
    right: 2%;
  }
  /* 開いた項目はタイトル黒のまま色付き下線（カンプ準拠） */
  .sp_navi .overlay .accordion-container .accordion-title.open,
  .sp_navi .overlay .accordion-container .accordion-title.open:before {
    color: #000;
  }
  .sp_navi .overlay .accordion-container:nth-of-type(1) .accordion-title.open {
    border-bottom: 2px solid #be3c1e;
  }
  .sp_navi .overlay .accordion-container:nth-of-type(2) .accordion-title.open {
    border-bottom: 2px solid #f5c800;
  }
  .sp_navi .overlay .accordion-container:nth-of-type(3) .accordion-title.open {
    border-bottom: 2px solid #a0c864;
  }
  .sp_navi .overlay .accordion-container:nth-of-type(4) .accordion-title.open {
    border-bottom: 2px solid #be3c1e;
  }
  .sp_navi .overlay .accordion-container:nth-of-type(6) .accordion-title.open {
    border-bottom: 2px solid #f5c800;
  }
  .sp_navi .overlay .accordion-container .accordion-content {
    padding: 14px 0 22px;
  }
  .sp_navi .overlay .accordion-container .accordion-content > li {
    margin-bottom: 10px;
  }
  .sp_navi .overlay .accordion-container .accordion-content > li > a {
    font-size: 12px;
    letter-spacing: 0.2em;
  }
  /* メニュー内SNSアイコン（Instagram / YouTube / LinkedIn / LINE） */
  .sp_navi .overlay .sp2_menu_sns {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0 24px;
    padding: 36px 12% 60px;
    list-style: none;
    margin: 0;
  }
  .sp_navi .overlay .sp2_menu_sns li {
    margin: 0;
  }
  .sp_navi .overlay .sp2_menu_sns li a {
    display: block;
  }
  .sp_navi .overlay .sp2_menu_sns li img {
    width: 26px;
    height: 26px;
    -o-object-fit: contain;
    object-fit: contain;
    display: block;
  }
  /* =================================================
     トップページ（sp01 TOP）
     ボタンはピル型 / CASEのLIST OF CASEは緑
  ================================================= */
  .front_page_wrap .link_btn {
    border-radius: 999px;
  }
  .front_page_wrap .top_case_wrap .link_btn {
    background: #9fc764;
  }
  .front_page_wrap .top_case_wrap .link_btn:hover {
    background: #c9dfa9;
  }
  /* =================================================
     アンカーボタン共通（WHY / ABOUT）
     チェブロンを小さく右端中央へ
  ================================================= */
  .about_anchor_container a:after {
    font-size: 13px;
    top: 50%;
    right: 12px;
    margin-top: -0.55em;
    line-height: 1;
  }
  /* =================================================
     WHYページ（sp01 WHY）
  ================================================= */
  /* アンカー3本とも全幅積み */
  .about_anchor_container.why_anchor_container a,
  .about_anchor_container.why_anchor_container a:first-child {
    width: 100%;
  }
  /* GPI: 見出し → 表カード → リード/順位/注記 の順（カンプ準拠） */
  .about_wrap.why_wrap .why2_gpi {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .about_wrap.why_wrap .why2_gpi .why2_gpi_txt {
    display: contents;
  }
  .about_wrap.why_wrap .why2_gpi .why2_point_ttl {
    order: 1;
    margin-bottom: 20px;
  }
  .about_wrap.why_wrap .why2_gpi .why2_gpi_card {
    order: 2;
    width: 100%;
    margin-bottom: 20px;
  }
  .about_wrap.why_wrap .why2_gpi .why2_point_lead {
    order: 3;
  }
  .about_wrap.why_wrap .why2_gpi .why2_point_rank {
    order: 4;
    margin-bottom: 10px;
  }
  .about_wrap.why_wrap .why2_gpi .why2_note {
    order: 5;
  }
  /* GPIランキング表はカンプ通り2表を横並びのまま縮小 */
  .about_wrap.why_wrap .why2_gpi_tables {
    flex-wrap: nowrap;
    gap: 0 5%;
    padding: 16px 4% 26px;
  }
  .about_wrap.why_wrap .why2_rank_table {
    width: 47.5%;
  }
  .about_wrap.why_wrap .why2_rank_table th,
  .about_wrap.why_wrap .why2_rank_table td {
    padding: 7px 2px;
  }
  .about_wrap.why_wrap .why2_rank_table thead th {
    font-size: 8px;
    letter-spacing: 0.1em;
  }
  .about_wrap.why_wrap .why2_rank_table td:first-child {
    font-size: 9px;
  }
  .about_wrap.why_wrap .why2_rank_table td:last-child {
    font-size: 10.5px;
    padding-left: 6px;
  }
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_nz td:last-child,
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_jp td:last-child {
    border-left-width: 3px;
  }
  /* OECD: 見出し → グラフカード → リード の順（カンプ準拠） */
  .about_wrap.why_wrap .why2_point:has(> .why2_oecd_card) {
    display: flex;
    flex-direction: column;
  }
  .about_wrap.why_wrap .why2_point:has(> .why2_oecd_card) .why2_point_ttl {
    order: 1;
  }
  .about_wrap.why_wrap .why2_point:has(> .why2_oecd_card) .why2_oecd_card {
    order: 2;
  }
  .about_wrap.why_wrap .why2_point:has(> .why2_oecd_card) .why2_point_lead {
    order: 3;
    margin-bottom: 10px;
  }
  .about_wrap.why_wrap .why2_point:has(> .why2_oecd_card) .why2_note {
    order: 4;
  }
  /* 選ばれる3つの理由: 番号 → 見出し → 写真 → リスト の順（カンプ準拠） */
  .about_wrap.why_wrap .why2_reason {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .about_wrap.why_wrap .why2_reason .why2_reason_body {
    display: contents;
  }
  .about_wrap.why_wrap .why2_reason .why2_reason_num {
    order: 1;
    margin-bottom: 6px;
  }
  .about_wrap.why_wrap .why2_reason .why2_reason_body h4 {
    order: 2;
    margin-bottom: 20px;
  }
  .about_wrap.why_wrap .about_mission_container figure.why2_reason_img {
    order: 3;
    width: 100%;
    margin-bottom: 24px;
  }
  .about_wrap.why_wrap .why2_reason .why2_reason_body .why2_list {
    order: 4;
  }
  /* =================================================
     ABOUTページ（sp01 ABOUT）
  ================================================= */
  /* アンカーは2×2（1つ目も49%） */
  .about_anchor_container:not(.why_anchor_container) a:first-child {
    width: 49%;
  }
  /* カバー下線はカンプ通り黄色 */
  .lv1_cover.about h1:after {
    background: #f4c700;
  }
  /* =================================================
     SERVICES一覧（sp02 左）支援体制図の縦組み再構成
     国旗を左・アイコン行は横組み（アイコン＋テキスト）
     日の丸⇔NZ国旗は縦の両矢印
  ================================================= */
  .svc2_wrap .svc2_scheme {
    position: relative;
  }
  .svc2_wrap .svc2_scheme_col {
    position: relative;
    padding: 24px 14px 26px 96px;
    margin-bottom: 12px;
  }
  .svc2_wrap .svc2_scheme_col:last-of-type {
    margin-bottom: 0;
  }
  .svc2_wrap .svc2_scheme_flagarea {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 72px;
    height: auto;
    margin: 0;
    display: flex;
    justify-content: center;
    z-index: 2;
  }
  .svc2_wrap .svc2_scheme_mid .svc2_scheme_flagarea {
    display: none;
  }
  .svc2_wrap .svc2_flag_jp {
    width: 64px;
    height: 42px;
    background: #fff;
  }
  .svc2_wrap .svc2_flag_jp::after {
    width: 22px;
    height: 22px;
    margin: -11px 0 0 -11px;
  }
  .svc2_wrap .svc2_flag_nz {
    width: 64px;
  }
  .svc2_wrap .svc2_scheme_logos {
    height: auto;
    min-height: 0;
    gap: 0 14px;
    margin-bottom: 18px;
  }
  .svc2_wrap .svc2_scheme_mid .svc2_scheme_logos {
    margin-bottom: 14px;
  }
  .svc2_wrap .svc2_logo_tmhr {
    width: 150px;
  }
  .svc2_wrap .svc2_logo_nt {
    width: 64px;
  }
  .svc2_wrap .svc2_logo_gostudy {
    width: 86px;
  }
  .svc2_wrap .svc2_logo_anz {
    width: 118px;
  }
  .svc2_wrap .svc2_scheme_icons {
    display: block;
  }
  .svc2_wrap .svc2_scheme_icons > div,
  .svc2_wrap .svc2_scheme_mid .svc2_scheme_icons > div {
    width: 100%;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    -moz-column-gap: 14px;
    column-gap: 14px;
    align-items: center;
    text-align: left;
    margin-bottom: 14px;
  }
  .svc2_wrap .svc2_scheme_icons > div:last-child {
    margin-bottom: 0;
  }
  .svc2_wrap .svc2_scheme_icons figure {
    grid-column: 1;
    grid-row: 1/3;
    height: auto;
    margin: 0;
    align-items: center;
  }
  .svc2_wrap .svc2_scheme_icons figure img {
    max-width: 48px;
    max-height: 44px;
  }
  .svc2_wrap .svc2_scheme_icons .svc2_scheme_label {
    grid-column: 2;
    font-size: 10px;
    text-align: left;
    margin-bottom: 2px;
    align-self: end;
  }
  .svc2_wrap .svc2_scheme_icons ul {
    grid-column: 2;
    text-align: left;
    align-self: start;
  }
  .svc2_wrap .svc2_scheme_icons ul li {
    font-size: 10px;
    line-height: 1.8;
  }
  /* 縦の両矢印（日の丸⇔NZ国旗、左サイドを貫通） */
  .svc2_wrap .svc2_scheme_arrows {
    display: block;
    position: absolute;
    left: 34px;
    right: auto;
    top: 200px;
    bottom: 200px;
    width: 12px;
    pointer-events: none;
    z-index: 1;
  }
  .svc2_wrap .svc2_scheme_arrows span,
  .svc2_wrap .svc2_scheme_arrows span:last-child {
    position: absolute;
    display: block;
    top: 0;
    bottom: 0;
    width: 1px;
    height: auto;
    background: #b3b3b3;
    margin: 0;
    transform: none;
  }
  .svc2_wrap .svc2_scheme_arrows span:first-child {
    left: 0;
  }
  .svc2_wrap .svc2_scheme_arrows span:last-child {
    left: 10px;
  }
  .svc2_wrap .svc2_scheme_arrows span::after,
  .svc2_wrap .svc2_scheme_arrows span:first-child::after,
  .svc2_wrap .svc2_scheme_arrows span:last-child::after {
    content: "";
    position: absolute;
    border: solid transparent;
    right: auto;
  }
  /* 下向き矢印（日本→NZ） */
  .svc2_wrap .svc2_scheme_arrows span:first-child::after {
    top: auto;
    bottom: -1px;
    left: -4px;
    border-width: 8px 4.5px 0 4.5px;
    border-top-color: #b3b3b3;
    border-left-color: transparent;
  }
  /* 上向き矢印（NZ→日本） */
  .svc2_wrap .svc2_scheme_arrows span:last-child::after {
    top: -1px;
    bottom: auto;
    left: -4px;
    border-width: 0 4.5px 8px 4.5px;
    border-bottom-color: #b3b3b3;
    border-left-color: transparent;
  }
  /* 3色アンカー / サービス間ナビ: 英名＋和名を1行に（カンプ準拠） */
  .svc2_wrap .svc2_anchor a span,
  .svc2_wrap .svc2_nav a span {
    display: inline-block;
    vertical-align: baseline;
    letter-spacing: 0.12em;
  }
  .svc2_wrap .svc2_anchor a small,
  .svc2_wrap .svc2_nav a small {
    display: inline-block;
    vertical-align: baseline;
    margin: 0 0 0 8px;
    letter-spacing: 0.08em;
  }
  .svc2_wrap .svc2_anchor a,
  .svc2_wrap .svc2_nav a {
    padding-left: 12px;
    padding-right: 26px;
  }
  /* 一覧のMOREラベルはサービス色（カンプ準拠） */
  .svc2_wrap .svc2_row .svc2_more span {
    color: var(--svc2_tx);
  }
  /* =================================================
     サービス詳細 OUR SERVICES ステップ図（sp02/sp03）
     アイコン左・（ラベル＋リスト）右の横組み
  ================================================= */
  .svc2_wrap .svc2_steps {
    padding: 30px 5% 34px;
  }
  .svc2_wrap .svc2_step {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    -moz-column-gap: 16px;
    column-gap: 16px;
    align-items: center;
  }
  .svc2_wrap .svc2_step h4 {
    grid-column: 2;
    text-align: left;
    font-size: 13px;
    letter-spacing: 0.14em;
    text-indent: 0;
    margin-bottom: 8px;
    align-self: end;
  }
  .svc2_wrap .svc2_step figure {
    grid-column: 1;
    grid-row: 1/3;
    height: auto;
    margin: 0;
  }
  .svc2_wrap .svc2_step figure img {
    max-width: 84px;
    max-height: 76px;
  }
  .svc2_wrap .svc2_step ul {
    grid-column: 2;
    text-align: left;
    align-self: start;
  }
  .svc2_wrap .svc2_step ul li {
    font-size: 11px;
    line-height: 1.9;
  }
  .svc2_wrap .svc2_arw {
    margin: 22px auto;
  }
  /* GLOBAL CAREER: ラベルは中央のまま・下をアイコン＋リストの横組みに */
  .svc2_wrap .svc2_steps_gc .svc2_step h4 {
    grid-column: 1/-1;
    text-align: center;
    align-self: auto;
    margin-bottom: 18px;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step figure {
    grid-row: 2/4;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step .svc2_step_note {
    grid-column: 2;
    text-align: left;
    font-size: 10px;
    margin-bottom: 8px;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step ul {
    grid-row: auto;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step ul.svc2_circle_list li {
    margin-bottom: 14px;
    line-height: 1.9;
  }
  /* =================================================
     PRICE 料金表（sp02 STUDY ABROAD）
     横スクロールをやめ、カテゴリを帯行にした
     3カラム（項目/STANDARD/PREMIUM）グリッドへ再構成
  ================================================= */
  .svc2_wrap .svc2_table_scroll {
    overflow-x: visible;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(64px, 1fr) minmax(64px, 1fr);
    min-width: 0;
    border: 1px solid var(--svc2_tbl_bd);
    border-radius: 8px;
    overflow: hidden;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) thead,
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody,
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tr {
    display: contents;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) th,
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) td {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-top: 1px solid var(--svc2_tbl_bd);
    border-radius: 0;
    padding: 10px 8px;
    font-size: 11px;
    letter-spacing: 0.14em;
    min-width: 0;
    width: auto;
    background: #fff;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) thead th {
    border-top: none;
    font-size: 10px;
    letter-spacing: 0.14em;
    padding: 12px 4px;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(odd) td {
    background: #fff;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) td.svc2_item {
    justify-content: flex-start;
    text-align: left;
    font-size: 11px;
    padding-left: 14px;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) td.svc2_mark {
    border-left: 1px solid var(--svc2_tbl_bd);
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) td.svc2_mark[colspan="2"] {
    grid-column: 2/4;
  }
  /* カテゴリ（tbody th）は全幅の帯行に */
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody th {
    grid-column: 1/-1;
    display: block;
    width: auto;
    text-align: left;
    font-size: 12px;
    letter-spacing: 0.1em;
    padding: 10px 14px;
    vertical-align: middle;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody th small {
    font-size: 9px;
    margin-top: 2px;
  }
  /* 帯色: 赤/黄/緑/赤/黄 の循環（sp02カンプ準拠・study-abroadの5カテゴリ） */
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(1) th {
    background: #f9eee8;
    color: #bb3a1b;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(3) th {
    background: #fbf5e2;
    color: #c9a000;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(8) th {
    background: #f2f7e9;
    color: #7fa544;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(14) th {
    background: #f9eee8;
    color: #bb3a1b;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(17) th {
    background: #fbf5e2;
    color: #c9a000;
  }
  /* =================================================
     PRICE 料金表（sp03 GLOBAL CAREER）
     個人向け帯 → 基本料金＋内容 → 団体向け帯 → 注記
  ================================================= */
  .svc2_wrap .svc2_price_table.svc2_price_gc {
    display: grid;
    grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
    min-width: 0;
    border: 1px solid var(--svc2_tbl_bd);
    border-radius: 8px;
    overflow: hidden;
  }
  .svc2_wrap .svc2_price_table.svc2_price_gc thead,
  .svc2_wrap .svc2_price_table.svc2_price_gc tbody,
  .svc2_wrap .svc2_price_table.svc2_price_gc tr {
    display: contents;
  }
  .svc2_wrap .svc2_price_table.svc2_price_gc th,
  .svc2_wrap .svc2_price_table.svc2_price_gc td {
    border: none;
    border-radius: 0;
    padding: 12px 14px;
    font-size: 11px;
    letter-spacing: 0.14em;
    min-width: 0;
    width: auto;
    background: #fff;
  }
  .svc2_wrap .svc2_price_table.svc2_price_gc thead th.svc2_gc_hd_l {
    grid-area: 1/1/2/3;
    text-align: left;
    font-size: 12px;
    letter-spacing: 0.1em;
    background: #f2f7e9;
    color: #7fa544;
  }
  .svc2_wrap .svc2_price_table.svc2_price_gc tbody th {
    grid-area: 2/1/6/2;
    display: flex;
    align-items: center;
    border-top: 1px solid var(--svc2_tbl_bd);
    text-align: left;
    font-size: 11px;
  }
  .svc2_wrap .svc2_price_table.svc2_price_gc td.svc2_item {
    grid-column: 2;
    border-top: 1px solid var(--svc2_tbl_bd);
    border-left: 1px solid var(--svc2_tbl_bd);
  }
  .svc2_wrap .svc2_price_table.svc2_price_gc tr:nth-child(1) td.svc2_item {
    grid-row: 2;
  }
  .svc2_wrap .svc2_price_table.svc2_price_gc tr:nth-child(2) td.svc2_item {
    grid-row: 3;
  }
  .svc2_wrap .svc2_price_table.svc2_price_gc tr:nth-child(3) td.svc2_item {
    grid-row: 4;
  }
  .svc2_wrap .svc2_price_table.svc2_price_gc tr:nth-child(4) td.svc2_item {
    grid-row: 5;
  }
  .svc2_wrap .svc2_price_table.svc2_price_gc thead th.svc2_gc_hd_r {
    grid-area: 6/1/7/3;
    border-top: 1px solid var(--svc2_tbl_bd);
    text-align: left;
    font-size: 12px;
    letter-spacing: 0.1em;
    background: #faeee9;
  }
  .svc2_wrap .svc2_price_table.svc2_price_gc td.svc2_gc_ask {
    grid-area: 7/1/8/3;
    border-top: 1px solid var(--svc2_tbl_bd);
    text-align: left;
    line-height: 1.9;
    width: auto;
  }
  .svc2_wrap
    .svc2_price_table.svc2_price_gc
    tbody
    tr:nth-child(even)
    td.svc2_item {
    background: #fff;
  }
  /* =================================================
     CONTACT（sp03）SENDボタンは全幅・角丸小
  ================================================= */
  .contact_wrap.ct2_contact .wpcf7 input[type="submit"] {
    width: 100%;
    border-radius: 6px;
    padding: 13px 0;
    margin: 30px 0 0;
    font-size: 13px;
  }
  /* =================================================
     FAQ（sp03）カテゴリ見出しの縮小
  ================================================= */
  .faq_wrap.ct2_faq .accordion-container .accordion-title {
    font-size: 17px;
    padding: 16px 0;
  }
  .faq_wrap.ct2_faq .accordion-container .accordion-title:before {
    font-size: 14px;
  }
}
/* ============================================
   ボタン角丸を全ボタン共通 10px に統一 (2026-08-21)
   ============================================ */
.link_btn,
.link_btn2,
.front_page_wrap .link_btn,
.top_about_container > div .top_about_link_btn,
.top_case_wrap .case_link_btn,
.ct2_contact .wpcf7 input[type="submit"],
.contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item > div a,
.svc2_anchor a,
.svc2_nav a,
.svc2_tab_btn,
.svc2_case_btn {
  border-radius: 10px;
}

/* ============================================
   CASEタグ 新スラッグ対応 (2026-08-21)
   consulting01→studyabroad / training01→sportsart / coaching01→globalcareer
   ============================================ */
.case_list_container article .tag_container [class^="studyabroad"] {
  color: #be3c1e !important;
}

.case_list_container article .tag_container [class^="globalcareer"] {
  color: #a0c864 !important;
}

.case_list_container article .tag_container [class^="sportsart"] {
  color: #f5c800 !important;
}

.case_anchor_container a[class^="studyabroad"]:hover,
.case_anchor_container a[class^="studyabroad"].select {
  background: #be3c1e;
}

.case_anchor_container a[class^="globalcareer"]:hover,
.case_anchor_container a[class^="globalcareer"].select {
  background: #a0c864;
}

.case_anchor_container a[class^="sportsart"]:hover,
.case_anchor_container a[class^="sportsart"].select {
  background: #f5c800;
}

.case_content_outset .tag_container [class^="studyabroad"] {
  color: #be3c1e;
}

.case_content_outset .tag_container [class^="globalcareer"] {
  color: #a0c864;
}

.case_content_outset .tag_container [class^="sportsart"] {
  color: #f5c800;
}

/* ============================================
   LIST OF CASE ボタン色 #9fc764 / hover #c8dca0 (2026-08-21)
   ============================================ */
.top_case_wrap .link_btn,
.svc2_case_btn {
  background: #9fc764;
}

.top_case_wrap .link_btn:hover,
.svc2_case_btn:hover {
  background: #c8dca0;
}

/* ============================================
   見出しの行頭約物（「『（等）による字下がり解消 (2026-08-21)
   halt=約物半角メトリクスで括弧類の余白を詰める（全ページ共通）
   ============================================ */
.main_content h1,
.main_content h2,
.main_content h3,
.main_content h4,
.main_content .large_txt,
.main_content .why2_mid_ttl,
.main_content .why2_card_ttl,
.main_content .why2_point_ttl,
.main_content .why2_point_lead,
.main_content .svc2_ttl,
.main_content .svc2_subttl,
.main_content .svc2_row_ttl,
.main_content .svc2_area_ttl,
.main_content .svc2_catch,
.main_content .top_why_catch,
.main_content .about2026_team_lead {
  font-feature-settings: "halt" 1;
}

/* ============================================
   下層ページカバーの斜め三角オーバーレイ（デザイン再現・CSS実装 2026-08-22）
   角度・濃さの調整は clip-path の %値 と rgba の透過度で
   ============================================ */
.lv1_cover {
  position: relative;
  overflow: hidden;
}

.lv1_cover::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.06);
  clip-path: polygon(0 0, 48.5% 0, 0 83%);
  pointer-events: none;
}

.lv1_cover .inner {
  position: relative;
  z-index: 1;
}

/* ============================================
   文字間の全体調整: 基準を0.15emに (2026-08-22)
   bodyの基準値(旧1px)を引き上げ。個別指定の無い箇所すべてに効く
   ============================================ */
body {
  letter-spacing: 0.14em;
}

/* ============================================
   GPI（世界平和指数）表 デザイン準拠修正 v2 (2026-08-22)
   見出し帯#efefef / 表エリア#fafafa / 罫線はすべて1px #d9d9d9 /
   番号は左パディング統一（強調行でも位置が揃う）/ 強調背景は余白入り
   ============================================ */
.why2_gpi_card {
  background: #fafafa;
  overflow-x: visible;
}

.why2_gpi_card .why2_card_ttl {
  background: #efefef;
}

.why2_gpi_tables {
  padding: 24px 5% 30px;
}

.why2_rank_table th,
.why2_rank_table td {
  border-bottom-color: #d9d9d9;
}

.why2_rank_table thead th {
  color: #000;
  border-bottom: 1px solid #d9d9d9;
}

.why2_rank_table td:first-child {
  text-align: left;
  width: 12%;
  padding-left: 12px;
}

.why2_rank_table tr.why2_rank_nz td,
.why2_rank_table tr.why2_rank_jp td {
  background: none;
  padding: 4px 0;
  border-bottom: 1px solid #d9d9d9;
}

.why2_rank_table tr.why2_rank_nz td:last-child,
.why2_rank_table tr.why2_rank_jp td:last-child {
  border-left: none;
  padding-left: 0;
}

.why2_rank_table tr.why2_rank_nz td span,
.why2_rank_table tr.why2_rank_jp td span {
  display: block;
  color: #fff;
  font-weight: 600;
  padding: 8px 4px;
}

.why2_rank_table tr.why2_rank_nz td:first-child span {
  background: #9fc764;
  text-align: left;
  padding-left: 10px;
  margin-right: 6px;
}

.why2_rank_table tr.why2_rank_nz td:last-child span {
  background: #9fc764;
  padding-left: 14px;
}

.why2_rank_table tr.why2_rank_jp td:first-child span {
  background: #bd3c1e;
  text-align: left;
  padding-left: 10px;
  margin-right: 6px;
}

.why2_rank_table tr.why2_rank_jp td:last-child span {
  background: #bd3c1e;
  padding-left: 14px;
}

/* GPI表 v3: COUNTRY列の右パディング / 強調バーの高さ揃え (2026-08-22) */
.why2_rank_table th:last-child,
.why2_rank_table td:last-child {
  padding-right: 14px;
}

.why2_rank_table tr.why2_rank_nz td span,
.why2_rank_table tr.why2_rank_jp td span {
  box-sizing: border-box;
  height: 42px;
  display: flex;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
}

.why2_rank_table tr.why2_rank_nz td:last-child span,
.why2_rank_table tr.why2_rank_jp td:last-child span {
  padding-right: 14px;
}

/* GPI表 v4: 番号色を本文と同色 / 強調行下のボーダー明示 / 余白+2px / カード角丸 (2026-08-22) */
.why2_gpi_card {
  border-radius: 10px;
  overflow: hidden;
}

.why2_rank_table td:first-child {
  color: #000;
}

.why2_rank_table tr.why2_rank_nz td,
.why2_rank_table tr.why2_rank_jp td {
  padding-top: 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid #d9d9d9;
}

/* GPI表 v5: scale(0.8)によるサブピクセル線消え対策で1.5px化 / 見出しは太字にしない (2026-08-22) */
.why2_rank_table th,
.why2_rank_table td,
.why2_rank_table thead th,
.why2_rank_table tr.why2_rank_nz td,
.why2_rank_table tr.why2_rank_jp td {
  border-bottom-width: 2px;
}

.why2_rank_table thead th {
  font-weight: 400;
}

/* GPI表 v7: RANK-COUNTRY間の間隔拡大 / COUNTRY見出しと国名の左揃え (2026-08-22) */
.why2_rank_table th:last-child,
.why2_rank_table td:last-child {
  padding-left: 28px;
}

/* GPI表 v8: 強調バー内の国名も通常行(28px)と左揃えに (2026-08-22) */
.why2_rank_table tr.why2_rank_nz td:last-child span,
.why2_rank_table tr.why2_rank_jp td:last-child span {
  padding-left: 28px;
}

/* ============================================
   OECD幸福度カード デザイン調整 (2026-08-22)
   見出し帯#efefef / グラフエリア#fafafa / 角丸10px / ラベル改行禁止
   ============================================ */
.why2_oecd_card {
  background: #fafafa;
  border-radius: 10px;
  overflow: hidden;
}

.why2_oecd_card .why2_card_ttl {
  background: #efefef;
  padding: 40px 4%;
}

.why2_oecd_label {
  white-space: nowrap;
}

/* OECDカード v2: バー角丸3px / 順位・ラベルの太字と下線解除 / 凡例の■とテキスト揃え (2026-08-22) */
.why2_oecd_bar_in {
  border-radius: 3px;
}

.why2_oecd_rank {
  font-weight: 400;
  border-bottom: none;
}

.why2_oecd_label {
  font-weight: 400;
}

.why2_oecd_legend {
  align-items: center;
}

/* OECDカード v3改: INCOME（収入）のみ1行表示、他のサブラベルは従来どおり改行 (2026-08-22) */
.why2_oecd_item:first-child .why2_oecd_label span {
  display: inline;
  margin-left: 0.5em;
}

/* PISAリスト調整: ▶を行の天地中央に / strongの太字解除 (2026-08-22) */
.why2_pisa_list li::before {
  top: 50%;
  margin-top: -6px;
}

.why2_pisa_list li strong {
  font-weight: 400;
}

/* OECDカード v4: ラベルとグラフエリアを上揃えに (2026-08-22) */
.why2_oecd_item {
  align-items: flex-start;
}

/* ABOUTピラミッド画像: 既存figureルールのグレー背景(#f9f9f9)を除去 (2026-08-22) */
.about_mission_container figure.ab2_pyramid_img {
  background: none;
}

/* VISIONセクション: テキストと図のバランスをデザイン準拠に (2026-08-22)
   図のfigureが共通ルール(width:100%,padding:97px)を受けて肥大し
   テキスト列が圧迫されていたのを、テキスト47% / 図48% に固定 */
.ab2_vision_cols .ab2_pyramid_img {
  width: 48%;
  padding: 0;
  margin: 0;
  background: none;
  flex-shrink: 0;
}

.ab2_vision_cols .ab2_pyramid_img img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 749px) {
  .ab2_vision_cols .ab2_pyramid_img {
    width: 100%;
    margin: 40px 0 24px;
  }
}
/* MEMBERプロフィールカード: テキストブロックを下揃え（写真の下端と揃える） (2026-08-22) */
.about2026_profile_card {
  align-items: flex-end;
}

/* 無料ご支援リストの▶を項目ごとに色分け（デザイン準拠: 赤・黄・緑・赤） (2026-08-22) */
.svc2_free ul li:nth-child(1)::before {
  color: #bd3c1e;
}

.svc2_free ul li:nth-child(2)::before {
  color: #f4c700;
}

.svc2_free ul li:nth-child(3)::before {
  color: #9fc764;
}

.svc2_free ul li:nth-child(4)::before {
  color: #bd3c1e;
}

/* 無料支援リストの▶の垂直位置調整: 1行目のテキスト中央に揃える (2026-08-22)
   li行高2.6(16px=41.6px)の中央20.8px、▶自身の行箱2.6(12px=31.2px)の中央15.6px → top 5px */
.svc2_free ul li::before {
  top: 5px;
}

@media screen and (max-width: 749px) {
  .svc2_free ul li::before {
    top: 3px;
  }
}
/* ご相談CTA: >>> は黒、テキストのみ赤（デザイン準拠） (2026-08-22) */
.svc2_cta {
  color: #000;
}

.svc2_cta .svc2_cta_link {
  color: #bb3a1b;
  transition: color 0.2s;
}

.svc2_cta:hover {
  color: #000;
}

.svc2_cta:hover .svc2_cta_link {
  color: #000;
}

/* 3色アンカーボタン: 高さ160px・中身は天地中央 (2026-08-22) */
.svc2_anchor a {
  height: 160px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 0;
  padding-bottom: 0;
}

/* 3サービス行: 画像とテキストを50%:50%バランスに（デザイン準拠、間隔4%） (2026-08-22)
   ※行直下のfigureに限定（アコーディオン内のステップ図・学校カードへ波及させない） */
.svc2_row > figure {
  width: 48%;
}

.svc2_row_body {
  width: 48%;
}

@media screen and (max-width: 749px) {
  .svc2_row figure,
  .svc2_row_body {
    width: 100%;
  }
}
/* ============================================================
   SERVICES一覧 アコーディオン展開（MOREでその場展開） (2026-08-22)
   プレフィックス: svc2_acc_
============================================================ */
/* 行内に全幅のアコーディオン領域を折り返して配置 */
.svc2_row {
  flex-wrap: wrap;
}

/* アコーディオン領域: 初期状態は非表示（JSのslideToggleで開閉） */
.svc2_acc {
  display: none;
  width: 100%;
  overflow: hidden;
}

.svc2_acc_body {
  padding-top: 90px;
}

.svc2_acc_body .svc2_section:last-child {
  margin-bottom: 0;
}

/* MOREボタン: aタグ→buttonタグ化に伴うUAスタイルのリセット */
button.svc2_more {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

/* CLOSE状態（展開中）: ∨を回転 */
.svc2_acc_toggle i {
  transition:
    0.3s,
    transform 0.3s;
}

.svc2_acc_toggle.svc2_acc_open i {
  transform: rotate(180deg);
}

@media screen and (max-width: 750px) {
  .svc2_acc_body {
    padding-top: 50px;
  }
}
/* アコーディオン内のステップ図アイコン: 行写真用の8:5トリミング(.svc2_row figure img)を打ち消し (2026-08-22) */
.svc2_row .svc2_step figure img {
  width: auto;
  height: auto;
  aspect-ratio: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

/* 学校紹介カード等、アコーディオン内のその他figureも8:5強制を解除（各自のルールに戻す） */
.svc2_row .svc2_acc figure img {
  aspect-ratio: auto;
}

.svc2_row .svc2_acc .svc2_school_photo img,
.svc2_row .svc2_acc .svc2_school figure img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ステップ図アイコンの中央寄せ / サブタイトル・中央テキストのサイズ調整 (2026-08-22) */
.svc2_row .svc2_step figure {
  justify-content: center;
}

.svc2_row .svc2_step figure img {
  margin: 0 auto;
}

.svc2_subttl {
  font-size: 30px;
}

.svc2_center_txt {
  font-size: 18px;
}

/* アコーディオン内figureの幅リセット: ステップ図=列幅100% / 学校カード=40% (2026-08-22) */
.svc2_row .svc2_step figure {
  width: 100%;
}

.svc2_row .svc2_acc .svc2_school figure {
  width: 45%;
}

@media screen and (max-width: 749px) {
  .svc2_row .svc2_acc .svc2_school figure {
    width: 100%;
  }
}
/* 学校カード: 画像45%化に伴いテキスト列を50%へ（間隔5%を確保） (2026-08-22) */
.svc2_row .svc2_acc .svc2_school_body {
  width: 50%;
}

@media screen and (max-width: 749px) {
  .svc2_row .svc2_acc .svc2_school_body {
    width: 100%;
  }
}
/* 学校紹介まわりのフォントサイズ調整 (2026-08-22) */
.svc2_area_ttl {
  font-size: 30px;
}

.svc2_school_body h4 {
  font-size: 25px;
}

.svc2_school_body ul li {
  font-size: 18px;
}

/* ============================================================
   フォントサイズ デザイン実測値合わせ (2026-08-22)
   Illustratorデータ（textonly_pc01-01 / pc01-02 / pc02 PDF実測、
   デザインpt = CSSpx の1:1換算）に基づく新規デザインエリアの
   font-sizeオーバーライド。既存ルールは編集せず末尾追記のみ。
   SP値（max-width:750px/749px内）を変えないため min-width:751px で括る。
   ユーザー手動指定値（svc2_subttl:30 / svc2_center_txt:18 /
   svc2_area_ttl:30 / svc2_school_body h4:25 / svc2_school_body ul li:18 /
   ab2_vision_txt p.large_txt:38!important）は変更していない。
   ============================================================ */
@media screen and (min-width: 751px) {
  /* ---- front-page.php ARTICLES改修部 ---- */
  /* カテゴリラベル「PRESS RELEASE」等: 実測18pt（旧14px） */
  .top_articles_wrap
    .top_article_container
    .top_articles_content
    article
    span.cat_label {
    font-size: 18px;
  }
  /* ---- front-page.php top_why_ ---- */
  /* 「あなたの未来に、世界という選択肢を。」: 実測45pt（旧30px） */
  .top_why_catch {
    font-size: 45px;
  }
  /* ---- page-why.php why2_ ---- */
  /* 本文段落: 実測18pt（旧16px。about_wrap p:18pxをwhy_wrap側で16pxに落としていたルールへの対抗） */
  .why_wrap .about_mission_container > p:not([class]) {
    font-size: 18px;
  }
  /* 「今後、重要性が増すスキル」「企業が海外経験者を評価する理由」: 実測20pt（旧19px） */
  .why2_wef_headcol h4 {
    font-size: 20px;
  }
  /* 「World Economic Forum Future of Jobs Reportより」: 実測15pt（旧13px） */
  .why2_wef_src {
    font-size: 15px;
  }
  /* 「分析的思考」「問題解決能力」等の比較ボックス: 実測25pt（旧20px） */
  .why2_wef_box {
    font-size: 25px;
  }
  /* 「データが示す「海外経験の価値」」等 h3: 実測35pt（旧34px） */
  .why_wrap .why2_h3 {
    font-size: 35px;
  }
  /* 「「分析的思考（問題解決能力）」…できる」等 中見出し: 実測30pt（旧26px） */
  .why_wrap .why2_mid_ttl {
    font-size: 30px;
  }
  /* 「世界トップクラスの安全性で、日本よりも安全！」等: 実測30pt（旧28px） */
  .why_wrap .why2_point_ttl {
    font-size: 30px;
  }
  /* 「※Institute for Economics＆Peaceより」「※OECDより」: 実測18pt（旧14px） */
  .why_wrap .why2_note {
    font-size: 18px;
  }
  /* カード見出し「「Global Peace Index」世界平和指数」: 実測18pt（旧17px） */
  .why2_card_ttl {
    font-size: 18px;
  }
  /* GPI表 国名（Iceland等）: 実測18pt（旧17px） */
  .why2_rank_table td:last-child {
    font-size: 18px;
  }
  /* GPI表 強調行（New Zealand 3位 / Japan 12位）: 実測 順位15pt・国名20pt（新規追加） */
  .why2_rank_table tr.why2_rank_nz td:first-child,
  .why2_rank_table tr.why2_rank_jp td:first-child {
    font-size: 15px;
  }
  .why2_rank_table tr.why2_rank_nz td:last-child,
  .why2_rank_table tr.why2_rank_jp td:last-child {
    font-size: 20px;
  }
  /* OECD項目名「INCOME」: 実測18pt（旧16px）/ 「（収入）」: 実測15pt（旧13px） */
  .why2_oecd_label {
    font-size: 18px;
  }
  .why2_oecd_label span {
    font-size: 15px;
  }
  /* OECD順位「5位」等: 実測20pt（旧15px） */
  .why2_oecd_rank {
    font-size: 20px;
  }
  /* 凡例「NEW ZEALAND / JAPAN」: 実測15pt（旧14px） */
  .why2_oecd_legend {
    font-size: 15px;
  }
  /* 選ばれる理由の番号「01」: 実測40pt（旧38px） */
  .why2_reason_num {
    font-size: 40px;
  }
  /* 「留学後のキャリアまで見据えた継続的な支援」等: 実測30pt（旧26px） */
  .why2_reason_body h4 {
    font-size: 30px;
  }
  /* 理由ボックス内リスト: 実測18pt（旧16px） */
  .why2_reason_body .why2_list li {
    font-size: 18px;
  }
  /* ---- page-about.php ab2_ / about2026_ ---- */
  /* 「TM HR Advisory & Coaching ANZ Limited 代表」: 実測20pt（旧18px） */
  .ab2_intro_photo figcaption span {
    font-size: 20px;
  }
  /* 「Aiko Yasumiba」: 実測20pt（旧18px） */
  .ab2_intro_photo figcaption span.about2026_en {
    font-size: 20px;
  }
  /* OUR TEAMリード「海外留学やキャリアの…ご支援します！」: 実測45pt（旧36px!important。
     既存が!importantのため対抗使用） */
  .about_wrap p.about2026_team_lead {
    font-size: 45px !important;
  }
  /* 「MEMBER」「OTHER STAFF」ラベル: 実測30pt（旧25px） */
  .about2026_team_label {
    font-size: 30px;
  }
  /* 「CEO」「PARTNER」「MEMBER」ロール: 実測20pt（旧16px） */
  .about_wrap .about2026_profile_card .about2026_profile_role {
    font-size: 20px;
  }
  /* 氏名「休場愛子」等: 実測25pt（旧28px）/ 英字「Aiko Yasumiba」: 実測20pt（旧16px） */
  .about_wrap p.about2026_profile_name {
    font-size: 25px;
  }
  .about_wrap p.about2026_profile_name .about2026_en {
    font-size: 20px;
  }
  /* プロフィール本文: 実測18pt（旧15px） */
  .about2026_profile_txt {
    font-size: 18px;
  }
  /* COMPANY表「会社名」等: 実測18pt（旧17px） */
  .about_wrap .about_company_wrap table th,
  .about_wrap .about_company_wrap table td {
    font-size: 18px;
  }
  /* ---- page-services.php + svc-detail-*.php svc2_ ---- */
  /* リード「ニュージーランドで長年の信頼と実績を持つ…」: 実測45pt（旧30px） */
  .svc2_lead {
    font-size: 45px;
  }
  /* 相関図アイコン下リスト「コンサルテーション」等: 実測13pt（旧12px） */
  .svc2_scheme_icons ul li {
    font-size: 13px;
  }
  /* 相関図下説明文「現地10年以上の留学支援と…」: 実測18pt（旧16px） */
  .svc2_scheme_txt p {
    font-size: 18px;
  }
  /* 無料サービス案内文・リスト: 実測18pt（旧16px） */
  .svc2_free > p {
    font-size: 18px;
  }
  .svc2_free ul li {
    font-size: 18px;
  }
  /* 「>>> ご相談はこちらから！」: 実測18pt（旧20px） */
  .svc2_cta {
    font-size: 18px;
  }
  /* アンカーボタン「STUDY ABROAD」: 実測30pt（旧22px）/ 「海外留学支援」: 実測15pt（旧12px）/
     矢印「>」: 実測16pt（旧13px） */
  .svc2_anchor a span {
    font-size: 30px;
  }
  .svc2_anchor a small {
    font-size: 15px;
  }
  .svc2_anchor a::after {
    font-size: 16px;
  }
  /* 行見出し「STUDY ABROAD」: 実測40pt（旧30px）/ 「海外留学支援」: 実測18pt（旧13px） */
  .svc2_row_ttl {
    font-size: 40px;
  }
  .svc2_row_ttl small {
    font-size: 18px;
  }
  /* キャッチ「英語力だけでなく、将来につながる…」: 実測30pt（旧25px） */
  .svc2_catch {
    font-size: 30px;
  }
  /* 行本文: 実測15pt（旧14px） */
  .svc2_row_txt {
    font-size: 15px;
  }
  /* 「MORE」「CLOSE」トグル: 実測18pt（旧13px） */
  .svc2_more span {
    font-size: 18px;
  }
  /* セクション見出し「CHALLENGES お困りごと」: 実測 英字40pt（旧38px）・和文18pt（旧15px） */
  .svc2_h3 {
    font-size: 18px;
  }
  .svc2_h3 span {
    font-size: 40px;
  }
  /* お困りごと吹き出し「英語を習得したい」等: 実測20pt（旧17px） */
  .svc2_problems p {
    font-size: 20px;
  }
  /* ステップ見出し「留学前」「個人向け（キャリアコーチング）」等: 実測21pt（旧19px） */
  .svc2_step h4 {
    font-size: 21px;
  }
  /* ステップ内リスト「カウンセリング」等: 実測15pt（旧14px） */
  .svc2_step ul li {
    font-size: 15px;
  }
  /* 「（個人向けの内容を、次のような形態で実施）」: 実測15pt（旧13px） */
  .svc2_step .svc2_step_note {
    font-size: 15px;
  }
  /* タブ「高校」「語学学校」「スポーツ」「アート」: 実測17pt（旧15px） */
  .svc2_tab_btn {
    font-size: 17px;
  }
  /* 料金表セル「よろずご相談・カウンセリング」等: 実測18pt（旧14px） */
  .svc2_price_table th,
  .svc2_price_table td {
    font-size: 18px;
  }
  /* 料金表ヘッダ「STANDARD」「PREMIUM」: 実測22pt（旧15px） */
  .svc2_price_table thead th {
    font-size: 22px;
  }
  /* GC料金表ヘッダ「個人向け」「団体向け」: 実測20pt（新規。上のthead 22pxを打ち消し） */
  .svc2_price_table.svc2_price_gc thead th {
    font-size: 20px;
  }
  /* 「どなたでも無料で対応します」: 実測13pt（旧11px） */
  .svc2_price_table tbody th small {
    font-size: 13px;
  }
  /* ○マークセル: 実測25pt（新規追加。¥100,000等の金額セルは実測22ptだが同クラスのため25pxに統一） */
  .svc2_price_table td.svc2_mark {
    font-size: 25px;
  }
  /* SP版PRICE注記「個別のプログラムや…別途ご相談ください。」: 実測20pt（旧15px） */
  .svc2_price_note p {
    font-size: 20px;
  }
  /* ---- page-contact.php / archive-faq.php ct2_ ---- */
  /* 「*全てに入力してください」: 実測15pt（旧14px） */
  .ct2_contact .contactform_container > p {
    font-size: 15px;
  }
  /* フォームラベル「お名前 *」等: 実測20pt（旧16px） */
  .ct2_contact .contactform_container table th {
    font-size: 20px;
  }
  .ct2_contact .contactform_container table th span {
    font-size: 20px;
  }
  /* 入力欄・セレクト内テキスト: 実測20pt（旧16px） */
  .ct2_contact .wpcf7 input[type="text"],
  .ct2_contact .wpcf7 input[type="email"],
  .ct2_contact .wpcf7 input[type="tel"],
  .ct2_contact .wpcf7 input[type="url"],
  .ct2_contact .wpcf7 input[type="number"],
  .ct2_contact .wpcf7 input[type="date"],
  .ct2_contact .wpcf7 textarea,
  .ct2_contact .wpcf7 select {
    font-size: 20px;
  }
  /* 「SEND」ボタン: 実測18pt（旧14px） */
  .ct2_contact .wpcf7 input[type="submit"] {
    font-size: 18px;
  }
  /* FLOWステップ見出し「お問い合わせ」等: 実測30pt（旧24px） */
  .contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item > div h3 {
    font-size: 30px;
  }
  /* FLOWステップ本文: 実測18pt（旧16px） */
  .contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item > div p {
    font-size: 18px;
  }
  /* FLOW内「CONTACT」リンク: 実測18pt（旧14px） */
  .contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item > div a {
    font-size: 18px;
  }
  /* FAQカテゴリ見出し「海外留学全体」等: 実測30pt（旧28px） */
  .faq_wrap.ct2_faq .accordion-container .accordion-title {
    font-size: 30px;
  }
}
/* ============================================
   角丸枠線の二重線・段差解消 (2026-08-22)
   scale(0.8)配下でborder+border-radiusの角のアーチと直線の描画位置が
   ずれるChrome描画問題への対策。外枠線をinset box-shadowで描画する
   （box-shadowは角丸パスに沿って一体で描画されるため滑らか）
   ============================================ */
/* WHY WEF対応図ボックス（赤・黄・緑） */
.why2_wef_box {
  border-color: transparent;
  box-shadow: inset 0 0 0 1.5px #bd3c1e;
}

.why2_wef_row--yellow .why2_wef_box {
  box-shadow: inset 0 0 0 1.5px #f4c700;
}

.why2_wef_row--green .why2_wef_box {
  box-shadow: inset 0 0 0 1.5px #9fc764;
}

/* PRICE料金表の外枠: セルの白背景に隠れないよう、セルより上の
   レイヤー（::after）にinset box-shadowで枠を描くオーバーレイ方式 */
.svc2_price_table,
.svc2_wrap .svc2_price_table:not(.svc2_price_gc),
.svc2_wrap .svc2_price_table.svc2_price_gc {
  border-color: transparent;
  position: relative;
}

.svc2_price_table::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px var(--svc2_tbl_bd); /* 2026-09-11 1.5px→1px 内枠と同じ太さに */
  pointer-events: none;
}

.svc2_price_note {
  border-color: transparent;
  box-shadow: inset 0 0 0 1.5px #efd25f;
}

/* 学校カード: テキストブロックを下揃え（画像の下端と揃える） (2026-08-22) */
.svc2_school {
  align-items: flex-end;
}

/* 学校カードの▷: 1行目テキストの天地中央に揃える (2026-08-22)
   li 18px×行高1.9=34.2pxの中央17.1px、▷(12px)の行箱22.8pxの中央11.4px → top 6px */
.svc2_school_body ul li::before {
  top: 6px;
}

@media screen and (max-width: 749px) {
  .svc2_school_body ul li::before {
    top: 2px;
  }
}
/* MOREトグル: クローン元solutionsと同様に行全幅の中央配置
   （閉時=コンテンツ下中央 / 開時=展開コンテンツの最下部に位置） (2026-08-22) */
.svc2_row > button.svc2_more {
  flex-basis: 100%;
  width: 100%;
  margin: 60px auto 0;
}

@media screen and (max-width: 749px) {
  .svc2_row > button.svc2_more {
    margin-top: 36px;
  }
}
/* 学校カードの下マージンを100pxに (2026-08-22) */
.svc2_school {
  margin-bottom: 100px;
}

/* 海外留学支援 料金表: 縞色をセクション別に (2026-08-22)
   留学前(ビザ/保険/目標設定)+価格(初期費用)=#fefcf4 / 留学中(ホームステイ先送迎/学校面談/定期レポート)=#fafcf8 */
.svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(3) td,
.svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(5) td,
.svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(7) td,
.svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(17) td {
  background: #fefcf4;
}

.svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(9) td,
.svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(11) td,
.svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(13) td {
  background: #fafcf8;
}

/* GLOBAL CAREERのご支援メニュー: アイコンを1.8倍に（84x76 → 151x137） (2026-08-22) */
.svc2_wrap .svc2_steps_gc .svc2_step figure img {
  max-width: 151px;
  max-height: 137px;
}

/* ============================================
   CONTACT 角丸枠線の二重線解消 (2026-08-23)
   scale(0.8)配下でborder+border-radiusの角のアーチと直線の
   描画位置がずれるChrome描画問題への対策。
   WHY WEFボックス・PRICE表と同様、枠線をinset box-shadowで描画
   ============================================ */
/* FLOWカード（黒枠） */
.contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item {
  border-color: transparent;
  box-shadow: inset 0 0 0 1.5px #000;
}

/* フォーム入力欄（通常時グレー枠） */
.ct2_contact .wpcf7 input[type="text"],
.ct2_contact .wpcf7 input[type="email"],
.ct2_contact .wpcf7 input[type="tel"],
.ct2_contact .wpcf7 input[type="url"],
.ct2_contact .wpcf7 input[type="number"],
.ct2_contact .wpcf7 input[type="date"],
.ct2_contact .wpcf7 textarea,
.ct2_contact .wpcf7 select {
  border-color: transparent;
  box-shadow: inset 0 0 0 1.5px #b3b3b3;
  transition: box-shadow 0.2s;
}

/* フォーカス時・記入後（黒枠） */
.ct2_contact .wpcf7 input[type="text"]:focus,
.ct2_contact .wpcf7 input[type="email"]:focus,
.ct2_contact .wpcf7 input[type="tel"]:focus,
.ct2_contact .wpcf7 input[type="url"]:focus,
.ct2_contact .wpcf7 input[type="number"]:focus,
.ct2_contact .wpcf7 input[type="date"]:focus,
.ct2_contact .wpcf7 textarea:focus,
.ct2_contact .wpcf7 select:focus,
.ct2_contact .wpcf7 input.ct2_filled,
.ct2_contact .wpcf7 textarea.ct2_filled,
.ct2_contact .wpcf7 select.ct2_filled {
  border-color: transparent;
  box-shadow: inset 0 0 0 1.5px #000;
}

/* ============================================
   ARTICLES一覧 角丸調整 (2026-08-23)
   カテゴリアンカーボタン: 5px / カテゴリラベル: トップと同じ10px
   ============================================ */
.articles_anchor_container,
.articles_anchor_container a {
  border-radius: 5px;
}

.articles_wrap .articles_list article span {
  border-radius: 10px;
}

/* ============================================
   ABOUT キービジュアル差し替え (2026-08-23)
   cover_about.jpg → getty_691610536.jpg
   ============================================ */
.lv1_cover.about {
  background: url("../images/about/getty_691610536.jpg") center/cover no-repeat;
}

/* ============================================
   SERVICES キービジュアル設置 (2026-08-23)
   ABOUTと同構造（.lv1_cover services）
   画像: getty_148624093.jpg / 下線: #9fc764
   ============================================ */
.lv1_cover.services {
  background: url("../images/services/getty_148624093.jpg") center/cover
    no-repeat;
}

.lv1_cover.services h1::after {
  background: #9fc764;
}

/* ============================================
   ヘッダーSNSアイコンの右位置調整 (2026-08-23)
   固定値(right:96px)だと画面幅で位置がずれるため、
   ヘッダーの右余白(5%)+ナビ文字の右パディング(10px)に追従させ、
   どの画面幅でもCONTACTの末尾「T」に右端が揃うようにする
   ============================================ */
.global_header .header_sns {
  right: calc(5% + 10px);
}

/* ============================================
   SP版フォントサイズをデザイン準拠に調整 (2026-08-23)
   0729-SP01-01/02/03.ai の実測値（SPアートボード375px幅・CSS px 1:1）
   ※フォーム入力欄はiOSズーム防止のため16pxを維持（デザインは14px）
   ============================================ */
@media screen and (max-width: 750px) {
  /* --- メニューオーバーレイ: リンク30 / サブ項目25 --- */
  .sp_navi .overlay > ul > li > a {
    font-size: 30px;
  }
  .sp_navi .overlay .accordion-container .accordion-title {
    font-size: 30px;
  }
  .sp_navi .overlay .accordion-container .accordion-title:before {
    font-size: 16px;
  }
  .sp_navi .overlay .accordion-container .accordion-content > li > a {
    font-size: 25px;
  }
  /* --- トップ --- */
  .main_cover .main_cover_item .text-area p {
    font-size: 8vw; /* 実測30px÷375px */
  }
  .top_why_wrap h2,
  .top_solutions_wrap h2,
  .top_case_wrap h2 {
    font-size: 35px; /* 実測35（ARTICLESのみ25=共通h2のまま） */
  }
  .top_articles_wrap .top_article_container .top_articles_ttl a {
    font-size: 15px;
  }
  .top_why_catch {
    font-size: 25px;
  }
  .top_case_wrap .case_comingsoon {
    font-size: 23px;
  }
  /* --- WHY --- */
  .why_wrap .why2_mid_ttl {
    font-size: 23px;
  }
  .why2_card_ttl {
    font-size: 20px;
  }
  .why_wrap .why2_point_ttl {
    font-size: 15px;
  }
  .why_wrap .why2_point_lead {
    font-size: 11px;
  }
  .why_wrap .why2_point_rank {
    font-size: 12px;
  }
  .why_wrap .about_mission_container > p:not([class]) {
    font-size: 12px;
  }
  .why2_list li,
  .why2_reason_body .why2_list li {
    font-size: 12px;
  }
  .why2_reason_num {
    font-size: 20px;
  }
  .why2_reason_body h4 {
    font-size: 15px;
  }
  .why2_wef_headcol h4 {
    font-size: 10px;
  }
  .why2_wef_src {
    font-size: 8px;
  }
  .why2_wef_box {
    font-size: 10px;
  }
  .about_wrap.why_wrap .why2_rank_table td:first-child {
    font-size: 8px;
  }
  .about_wrap.why_wrap .why2_rank_table td:last-child {
    font-size: 12px;
  }
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_nz td:first-child,
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_jp td:first-child {
    font-size: 10px;
  }
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_nz td:last-child,
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_jp td:last-child {
    font-size: 13px;
  }
  .why2_oecd_label {
    font-size: 10px;
  }
  .why2_oecd_label span {
    font-size: 8px;
  }
  .why2_oecd_rank {
    font-size: 10px;
  }
  .why2_oecd_legend {
    font-size: 8px;
  }
  /* --- ABOUT --- */
  .ab2_message_ttl {
    font-size: 13px;
  }
  .ab2_intro_photo figcaption span.ab2_cap_name {
    font-size: 12px;
  }
  .about2026_vmv_label {
    font-size: 12px;
  }
  .about2026_vmv_item:not(:first-child) .about2026_vmv_body p.large_txt {
    font-size: 12px !important;
  }
  .about_wrap p.about2026_team_lead {
    font-size: 25px !important;
  }
  .about2026_team_label {
    font-size: 15px;
  }
  .about_wrap .about2026_profile_card .about2026_profile_role {
    font-size: 12px;
    margin-bottom: 2px;
  }
  .about_wrap p.about2026_profile_name {
    font-size: 12px;
  }
  .about_wrap .about2026_staff_num {
    font-size: 12px;
  }
  /* --- SERVICES --- */
  .svc2_lead {
    font-size: 25px;
  }
  .svc2_scheme_label,
  .svc2_wrap .svc2_scheme_icons .svc2_scheme_label {
    font-size: 8px;
  }
  .svc2_scheme_icons ul li,
  .svc2_wrap .svc2_scheme_icons ul li {
    font-size: 8px;
  }
  .svc2_cta {
    font-size: 12px;
  }
  .svc2_anchor a span {
    font-size: 12px;
  }
  .svc2_anchor a small {
    font-size: 8px;
  }
  .svc2_row_ttl {
    font-size: 23px;
  }
  .svc2_catch {
    font-size: 15px;
  }
  .svc2_more span,
  .svc2_more i {
    font-size: 12px;
  }
  .svc2_nav a span {
    font-size: 12px;
  }
  .svc2_nav a small {
    font-size: 8px;
  }
  .svc2_ttl {
    font-size: 23px;
  }
  .svc2_problems p {
    font-size: 12px;
  }
  .svc2_area_ttl {
    font-size: 15px;
  }
  .svc2_soon span {
    font-size: 23px;
  }
  .svc2_case_btn {
    font-size: 12px;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) thead th {
    font-size: 12px;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) td.svc2_item {
    font-size: 10px;
  }
  .svc2_wrap .svc2_price_table td.svc2_mark {
    font-size: 18px;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody th small {
    font-size: 7px;
  }
  /* --- FAQ --- */
  .faq_wrap.ct2_faq .accordion-container .accordion-title {
    font-size: 18px;
  }
  .faq_wrap.ct2_faq .accordion-container .accordion-title:before {
    font-size: 16px;
  }
  /* --- CONTACT --- */
  .ct2_contact .contactform_container > p {
    font-size: 10px;
  }
  .contact_wrap .contact_flow_wrap .contact_flow_item span {
    font-size: 30px;
  }
  .contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item > div a {
    font-size: 12px;
  }
  /* --- PRIVACY POLICY --- */
  .privacy_lead,
  .privacy_wrap .ttl,
  .privacy_wrap p,
  .privacy_wrap ol li {
    font-size: 12px;
  }
}
/* ============================================
   ハンバーガーメニューの文字サイズを本番(tmhradvisory.com)に合わせる (2026-08-23)
   リンク28px / アコーディオン見出し28px / サブ項目22px
   （直前のSP調整30/30/25を上書き。矢印は従来の13pxに戻す）
   ============================================ */
@media screen and (max-width: 750px) {
  .sp_navi .overlay > ul > li > a {
    font-size: 28px;
  }
  .sp_navi .overlay .accordion-container .accordion-title {
    font-size: 28px;
  }
  .sp_navi .overlay .accordion-container .accordion-title:before {
    font-size: 13px;
  }
  .sp_navi .overlay .accordion-container .accordion-content > li > a {
    font-size: 22px;
  }
}
/* ============================================
   ハンバーガーメニューの字間・余白・位置を本番(tmhradvisory.com)に統一 (2026-08-23)
   本番＝クローン元の .overlay 基本スタイルと同値に戻す
   （文字サイズは前回対応済み。SNSアイコン行と下線色の割当はNZ版のまま）
   ============================================ */
@media screen and (max-width: 750px) {
  .sp_navi .overlay {
    padding: 20% 0;
  }
  .sp_navi .overlay > ul {
    padding: 0 14% 40px;
  }
  .sp_navi .overlay > ul > li {
    margin-bottom: 10px;
    letter-spacing: 0.1em;
  }
  .sp_navi .overlay > ul > li:last-of-type {
    margin: 60px 0 0;
  }
  .sp_navi .overlay > ul > li > a {
    letter-spacing: 0.1em;
    padding: 0;
  }
  .sp_navi .overlay .accordion-container .accordion-title {
    letter-spacing: 0.1em;
    padding: 0;
  }
  .sp_navi .overlay .accordion-container .accordion-content {
    padding: 28px 0;
  }
  .sp_navi .overlay .accordion-container .accordion-content > li {
    margin-bottom: 8px;
  }
  .sp_navi .overlay .accordion-container .accordion-content > li > a {
    letter-spacing: 0.1em;
  }
  /* 開いた項目の下線は本番と同じ1px（色の割当はNZ版のまま） */
  .sp_navi .overlay .accordion-container:nth-of-type(1) .accordion-title.open {
    border-bottom: 1px solid #be3c1e;
  }
  .sp_navi .overlay .accordion-container:nth-of-type(2) .accordion-title.open {
    border-bottom: 1px solid #f5c800;
  }
  .sp_navi .overlay .accordion-container:nth-of-type(3) .accordion-title.open {
    border-bottom: 1px solid #a0c864;
  }
  .sp_navi .overlay .accordion-container:nth-of-type(4) .accordion-title.open {
    border-bottom: 1px solid #be3c1e;
  }
  .sp_navi .overlay .accordion-container:nth-of-type(6) .accordion-title.open {
    border-bottom: 1px solid #f5c800;
  }
}
/* ============================================
   SPメニュー: CONTACT位置とLINEアイコンのずれ修正 (2026-08-23)
   本番の「最後の項目の上に60px」ルールが、NZ版では
   CONTACT（通常項目）とSNS行のLINEに当たってしまうため無効化。
   項目間隔は全項目10pxに統一し、SNS行の左右余白もメニュー文字と同じ14%に
   ============================================ */
@media screen and (max-width: 750px) {
  .sp_navi .overlay > ul > li:last-of-type {
    margin: 0 0 10px;
  }
  .sp_navi .overlay > ul > li.accordion-container {
    margin-bottom: 10px;
  }
  .sp_navi .overlay .sp2_menu_sns {
    padding-left: 14%;
    padding-right: 14%;
  }
  .sp_navi .overlay .sp2_menu_sns li:last-of-type {
    margin: 0;
  }
}
/* ============================================
   SPトップページ調整 (2026-08-23)
   WHY画像 高さ550px・上余白80px / SERVICESカード 高さ345px・MORE上余白80px
   ============================================ */
@media screen and (max-width: 750px) {
  .top_why_photo {
    margin-top: 80px;
  }
  .top_why_photo img {
    height: 550px;
  }
  .top_solutions_wrap .link_btn {
    margin-top: 80px;
  }
}
@media screen and (max-width: 700px) {
  .top_solutions_container .top_solutions_item {
    height: 345px;
  }
  .top_solutions_container .top_solutions_item figure {
    height: 100%;
  }
  .top_solutions_container .top_solutions_item figure img {
    width: 100%;
    height: 100%;
    -webkit-object-fit: cover;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
/* ============================================
   SP版 WHYページ調整 (2026-08-23)
   ・WEFボックスの高さを2行分に統一（SP改行はpage-why.php側でpc_none brを追加）
   ・GPI表をPCレイアウトのまま縮小（余白圧縮・折返し禁止）
   ・point_leadの下余白8px / 世界第3位の三角形の整列
   ・OECDカード見出しセンタリング / ラベルとグラフの2カラム化
   ・PISAリストの三角形を1行目センターに固定
   ============================================ */
@media screen and (max-width: 750px) {
  /* WEF対応図: 全ボックスを2行分の高さに統一 */
  .why2_wef_box {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 64px;
    padding-top: 8px;
    padding-bottom: 8px;
    box-sizing: border-box;
  }
  /* GPI: 「Global Peace Index」世界平和指数の下余白 */
  .about_wrap.why_wrap .why2_gpi .why2_point_lead {
    margin-bottom: 8px;
  }
  /* 世界第3位の三角形: サイズ縮小+垂直中央揃え */
  .why_wrap .why2_point_rank .why2_tri {
    border-top-width: 5px;
    border-bottom-width: 5px;
    border-left-width: 8px;
    margin-right: 10px;
    vertical-align: middle;
    position: relative;
    top: -2px;
  }
  /* GPI表: PC版レイアウトのまま縮小（パディング縮小・折返し禁止） */
  .about_wrap.why_wrap .why2_rank_table th,
  .about_wrap.why_wrap .why2_rank_table td {
    white-space: nowrap;
  }
  .about_wrap.why_wrap .why2_rank_table th:last-child,
  .about_wrap.why_wrap .why2_rank_table td:last-child {
    padding-left: 10px;
    padding-right: 4px;
  }
  .about_wrap.why_wrap .why2_rank_table td:first-child {
    padding-left: 0;
    text-align: center;
  }
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_nz td span,
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_jp td span {
    height: 30px;
  }
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_nz td:first-child span,
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_jp td:first-child span {
    padding-left: 0;
    padding-right: 0;
    display: inline-block;
    margin-right: 3px;
    text-align: center;
  }
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_nz td:last-child span,
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_jp td:last-child span {
    padding-left: 10px;
    padding-right: 4px;
  }
  /* OECDカード見出しセンタリング */
  .why2_oecd_card .why2_card_ttl {
    text-align: center;
  }
  /* OECD: ラベルとグラフを2カラム（横並び）に */
  .about_wrap.why_wrap .why2_oecd_item {
    flex-direction: row;
    align-items: center;
    gap: 0 10px;
  }
  .about_wrap.why_wrap .why2_oecd_label {
    width: 45%;
    flex-shrink: 0;
  }
  .about_wrap.why_wrap .why2_oecd_label span {
    display: block;
    margin-left: 0;
  }
  .about_wrap.why_wrap .why2_oecd_bars {
    flex: 1;
    width: auto;
    min-width: 0;
  }
  /* PISAリスト: 折返し時も三角形は1行目の中央に */
  .why2_pisa_list li::before {
    top: 7px;
    margin-top: 0;
  }
}
/* ============================================
   SP版 SERVICES相関図: TM HR Japanロゴ等を
   下のアイコンコンテンツと左揃えに (2026-08-23)
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_scheme_logos {
    justify-content: flex-start;
  }
}
/* ============================================
   SP版 SERVICES相関図ロゴ調整 (2026-08-23)
   ・日本旅行ロゴはSPでは横長版(logo_nippontravel_sp.jpg)に差し替え
   ・svc2_scheme_logosはSPでは縦並び（2段）
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_scheme_logos {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px 0;
  }
  .svc2_logo_nt_sp {
    width: 180px;
    height: auto;
    display: block;
  }
}
/* ============================================
   SP版 SERVICES相関図: ロゴ・アイコンを収まる幅いっぱいに拡大 (2026-08-23)
   （コンテンツ幅は約210px。テキストの折返しが出ない範囲で最大化）
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_logo_tmhr {
    width: 100%;
    max-width: 220px;
  }
  .svc2_wrap .svc2_logo_nt_sp {
    width: 100%;
    max-width: 225px;
  }
  .svc2_wrap .svc2_logo_gostudy {
    width: 140px;
  }
  .svc2_wrap .svc2_logo_anz {
    width: 200px;
  }
  .svc2_wrap .svc2_scheme_icons > div,
  .svc2_wrap .svc2_scheme_mid .svc2_scheme_icons > div {
    grid-template-columns: 80px minmax(0, 1fr);
  }
  .svc2_wrap .svc2_scheme_icons figure img {
    max-width: 76px;
    max-height: 66px;
  }
}
/* ============================================
   SP版 SERVICES相関図: 背景色をPCと統一 (2026-08-23)
   カード背景#fafafa / 国旗の帯（左カラム）#f0f0f0
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_scheme_col {
    background: #fafafa;
  }
  .svc2_wrap .svc2_scheme_flagarea {
    top: 0;
    bottom: 0;
    left: 0;
    height: auto;
    width: 86px;
    transform: none;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px 0 0 4px;
  }
  .svc2_wrap .svc2_scheme_mid .svc2_scheme_flagarea {
    display: none;
  }
}
/* ============================================
   SP版 SERVICESアンカーボタンの高さ35px (2026-08-23)
   （PC用の160px指定がSPにも効いていたため上書き）
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_anchor a {
    height: 35px;
  }
}
/* ============================================
   SP版 SERVICES: 行画像(.svc2_row > figure)をデザイン通り全幅表示 (2026-08-23)
   PC用の width:48% がSPにも効いて画像が縮んでいたのを修正
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_row > figure {
    width: 100%;
    margin-bottom: 24px;
  }
}
/* ============================================
   SP版 アコーディオン内の入れ子MORE廃止 (2026-08-23)
   学校紹介・料金表のSP限定開閉ブロック(sp2_expand)を
   常時全表示にし、内側のMOREボタンを非表示にする
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .sp2_expand .display_trigger {
    height: auto;
  }
  .svc2_wrap .sp2_expand .show_more {
    display: none;
  }
}
/* ============================================
   SP版 SERVICESアンカーボタン: テキストを1行表示に (2026-08-23)
   （ボタンはflex縦積みのため、SPでは横並びflexに変更）
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_anchor a {
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }
  .svc2_anchor a small {
    margin-top: 0;
    margin-left: 8px;
  }
}
/* ============================================
   SP版 SERVICES相関図: 国旗まわりの配色をPC版と統一 (2026-08-23)
   国旗エリア(帯)はカードと同じ#fafafa / 国旗の背景は#f0f0f0
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_scheme_flagarea {
    background: #fafafa;
  }
  .svc2_wrap .svc2_flag_jp {
    background: #f0f0f0;
  }
}
/* ============================================
   SP版 SERVICES相関図: 縦矢印の復旧 (2026-08-23)
   国旗帯に#fafafaを塗ったことで、下層(z-index:1)の矢印が
   隠れていたため、帯の背景は透過に戻す
   （カード自体が#fafafaなので見た目は同じ。国旗の下地#f0f0f0は維持）
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_scheme_flagarea {
    background: transparent;
  }
}
/* ============================================
   SP版 SERVICES相関図: NZ側の矢印の見切れ修正 (2026-08-23)
   矢印の下端がNZ国旗に重なって矢先が隠れていたため、
   国旗の少し上で止まるように下端位置を調整
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_scheme_arrows {
    bottom: 230px;
  }
}
/* ============================================
   SP版フォントサイズの優先復旧 (2026-08-23)
   PC向けに追加したサイズ指定（メディアクエリ無し）が
   後勝ちでSPにも効いていた4箇所を、SPデザインの値に戻す
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_subttl {
    font-size: 15px;
  }
  .svc2_center_txt {
    font-size: 12px;
  }
  .svc2_school_body h4 {
    font-size: 15px;
  }
  .svc2_school_body ul li {
    font-size: 12px;
  }
}
/* ============================================
   SP版 OUR SERVICESステップ間の三角矢印をアイコン列の中央に (2026-08-23)
   （margin:autoでカード全体の中央に寄っていたため、
     アイコン列(92px)の中央=左から46pxに合わせる。矢印幅24px）
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_arw {
    margin: 22px 0 22px 34px;
  }
}
/* ============================================
   SP版 ステップ間矢印をアイコン間の天地中央に (2026-08-23)
   spanがインラインのままで上下マージンが効いていなかったため
   display:blockにし、上下24pxの等マージンで中央配置
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_arw {
    display: block;
    margin: 24px 0 24px 34px;
  }
}
/* ============================================
   SP版 svc2_stepを1カラム化 (2026-08-23)
   横並びグリッド（アイコン｜テキスト）をやめて
   見出し→アイコン→テキストの縦積み・中央揃えに。
   矢印もカード中央に戻す
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_step {
    display: block;
  }
  .svc2_wrap .svc2_step h4 {
    text-align: center;
    margin-bottom: 16px;
  }
  .svc2_wrap .svc2_step figure {
    height: auto;
    margin: 0 0 16px;
  }
  .svc2_wrap .svc2_step ul {
    text-align: center;
  }
  .svc2_wrap .svc2_step .svc2_step_note {
    text-align: center;
  }
  .svc2_wrap .svc2_arw {
    margin: 24px auto;
  }
}
/* ============================================
   SP版 svc2_stepアイコンを半分のサイズに (2026-08-23)
   84x76 → 42x38（GC用の1.8倍指定もSPでは同サイズに統一）
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_step figure img,
  .svc2_wrap .svc2_steps_gc .svc2_step figure img {
    max-width: 42px;
    max-height: 38px;
  }
}
/* ============================================
   SP版 svc2_stepアイコンを1.5倍に (2026-08-23)
   42x38 → 63x57
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_step figure img,
  .svc2_wrap .svc2_steps_gc .svc2_step figure img {
    max-width: 63px;
    max-height: 57px;
  }
}
/* ============================================
   SP版 svc2_subttl / svc2_center_txt を左揃えに (2026-08-23)
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_subttl,
  .svc2_center_txt {
    text-align: left;
  }
}
/* ============================================
   SP版 svc2_stepのリストを左揃えに (2026-08-23)
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_step ul {
    text-align: left;
  }
}
/* ============================================
   SP版 svc2_step: アイコン左・リスト右の2カラムに (2026-08-23)
   見出しは上段中央のまま。矢印はアイコン列(76px)の中央に合わせる
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_step {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    -moz-column-gap: 16px;
    column-gap: 16px;
    align-items: center;
  }
  .svc2_wrap .svc2_step h4 {
    grid-column: 1/-1;
    text-align: center;
    margin-bottom: 16px;
  }
  .svc2_wrap .svc2_step figure {
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    height: auto;
    display: flex;
    justify-content: center;
  }
  .svc2_wrap .svc2_step ul {
    grid-column: 2;
    grid-row: 2;
    text-align: left;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step figure {
    grid-row: 2/4;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step .svc2_step_note {
    grid-column: 2;
    text-align: left;
  }
  .svc2_wrap .svc2_arw {
    margin: 24px 0 24px 26px;
  }
}
/* ============================================
   SP版 svc2_step: 見出し(h4)も右カラム（左揃え）に (2026-08-23)
   アイコンは左列で縦センター、右列は 見出し→リスト
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_step h4 {
    grid-column: 2;
    grid-row: 1;
    text-align: left;
    margin-bottom: 8px;
    align-self: end;
  }
  .svc2_wrap .svc2_step figure {
    grid-row: 1/3;
    align-self: center;
  }
  .svc2_wrap .svc2_step ul {
    grid-row: 2;
    align-self: start;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step h4 {
    grid-column: 2;
    grid-row: 1;
    text-align: left;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step figure {
    grid-row: 1/4;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step .svc2_step_note {
    grid-row: 2;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step ul {
    grid-row: 3;
  }
}
/* ============================================
   SP版 svc2_step: アイコン列とテキスト列を50%50%に (2026-08-23)
   矢印もアイコン列(左半分)の中央に追従
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_step {
    grid-template-columns: 1fr 1fr;
  }
  .svc2_wrap .svc2_arw {
    margin: 24px 0 24px calc(25% - 16px);
  }
}
/* ============================================
   SP版 GLOBAL CAREERのsvc2_stepは1カラムに (2026-08-23)
   見出し・アイコン・注記は中央 / リストは左揃えの縦積み
   ============================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_steps_gc .svc2_step {
    display: block;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step h4 {
    text-align: center;
    margin-bottom: 14px;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step figure {
    margin: 0 0 14px;
    display: flex;
    justify-content: center;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step .svc2_step_note {
    text-align: center;
    margin-bottom: 12px;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step ul {
    text-align: left;
  }
}
/* ============================================
   SP版 GPI表 強調行（New Zealand / Japan）の整列修正 (2026-08-23)
   ・番号の開始位置を通常行(01,02...)と揃える
   ・番号ブロックはセル幅いっぱいにし、国名ブロックとの隙間を3px程度に
   ・国名テキストの開始位置を通常行と揃える
   ============================================ */
@media screen and (max-width: 750px) {
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_nz td:first-child,
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_jp td:first-child {
    padding-left: 0;
    padding-right: 0;
  }
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_nz td:first-child span,
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_jp td:first-child span {
    width: 100%;
    box-sizing: border-box;
    padding-left: 0;
    margin-right: 0;
    justify-content: flex-start;
  }
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_nz td:last-child span,
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_jp td:last-child span {
    padding-left: 8px;
    padding-right: 4px;
    margin-left: -6px;
  }
}
/* ============================================
   ABOUT 氏名(ab2_cap_name)と英字(about2026_en)を横並びに (2026-08-23)
   ============================================ */
.ab2_intro_photo figcaption span.ab2_cap_name,
.ab2_intro_photo figcaption span.about2026_en {
  display: inline-block;
  vertical-align: baseline;
}

.ab2_intro_photo figcaption span.about2026_en {
  margin-left: 16px;
  margin-top: 0;
}

/* ============================================
   ユーザー編集の反映 (2026-08-23)
   style.css側に直接入っていたSP調整をscssにも保持
   （ABOUTロゴ高さ36px / 写真キャプション左揃え）
   ============================================ */
@media screen and (max-width: 750px) {
  .ab2_intro_logo {
    height: 36px;
  }
  .ab2_intro_photo figcaption {
    text-align: left;
  }
}
/* ============================================
   SP版 ABOUT: MESSAGE（見出し＋本文）を先に、写真を後に (2026-08-23)
   ============================================ */
@media screen and (max-width: 750px) {
  .ab2_intro_cols {
    display: flex;
    flex-direction: column;
  }
  .ab2_intro_txt {
    order: 1;
  }
  .ab2_message {
    order: 2;
  }
  .ab2_intro_photo {
    order: 3;
  }
}
/* ============================================
   SP版 ABOUT: ピラミッド画像下にVISION/MISSION/VALUEリストを追加 (2026-08-23)
   本番(tmhradvisory.com)のabout_vision_listと同表示・強調色は#a0c864
   （ユーザー編集の .ab2_intro_txt margin-bottom:80px もscssに保持）
   ============================================ */
@media screen and (max-width: 750px) {
  .ab2_intro_txt {
    margin-bottom: 80px;
  }
  .about_vision_list li:first-child p,
  .about_vision_list li:first-child span {
    color: #a0c864;
  }
}
/* ============================================
   SP版 ABOUT: プロフィール氏名のサイズ調整 (2026-08-23)
   日本語名20px / 英字12px
   ============================================ */
@media screen and (max-width: 750px) {
  .about_wrap p.about2026_profile_name {
    font-size: 20px;
  }
  .about_wrap p.about2026_profile_name .about2026_en {
    font-size: 12px;
  }
}
/* ============================================
   SP版 ABOUT: ab2_cap_name（休場愛子）も20pxに (2026-08-23)
   ============================================ */
@media screen and (max-width: 750px) {
  .ab2_intro_photo figcaption span.ab2_cap_name {
    font-size: 20px;
  }
} /*# sourceMappingURL=style.css.map */
/* ============================================
   SP版 フッターSNSアイコンを30pxに縮小・余白も調整 (2026-08-23)
   （PCは40px・間隔30px・下余白80pxのまま）
   ============================================ */
@media screen and (max-width: 750px) {
  .global_footer .footer_sns {
    gap: 0 22px;
    margin: 22px 0 60px;
  }
  .global_footer .footer_sns li img {
    width: 30px;
    height: 30px;
  }
}

/* ============================================
   学校紹介 最新版反映 (2026-09-02)
   ・写真なし校のカード（.svc2_school--nophoto）は本文を全幅に
   ・学校写真は縦横比3:2で統一表示（縦長写真対応）
   ============================================ */
.svc2_school--nophoto .svc2_school_body {
  width: 100%;
}

.svc2_row .svc2_acc .svc2_school figure img {
  aspect-ratio: 3 / 2;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ============================================
   svc2_area_ttl（AUCKLAND/CHRISTCHURCH等）の▶を
   テキストの天地中央に (2026-09-02)
   固定top値をやめ、テキスト域（padding-bottomを除く）全高の
   flexセンタリングにすることで、フォントサイズが変わってもずれない
   ============================================ */
.svc2_area_ttl::before {
  top: 0;
  bottom: 12px;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 750px) {
  .svc2_area_ttl::before {
    bottom: 8px;
  }
}

/* ============================================
   学校紹介: 写真なし校に差し替え用ダミーブロックを表示 (2026-09-02)
   写真あり校と同じ位置・サイズ(45%・3:2)のグレー枠を左側に置く。
   写真が届いたら<figure><img>を追加してsvc2_school--nophotoを外すだけで差し替え可能
   ============================================ */
.svc2_school--nophoto::before {
  content: "";
  display: block;
  width: 45%;
  aspect-ratio: 3 / 2;
  background: #efefef;
}

.svc2_school--nophoto .svc2_school_body {
  width: 50%;
}

@media screen and (max-width: 750px) {
  .svc2_school--nophoto::before {
    width: 100%;
    margin-bottom: 14px;
  }
  .svc2_school--nophoto .svc2_school_body {
    width: 100%;
  }
}
/* ============================================================
   0825_NZcheck 校正対応 (2026-09-02)
   デザイナー赤字指示（PC01〜26 / SP01〜26）の一括反映
   ============================================================ */

/* 【PC02】ヘッダーナビ: 選択時・ホバー時の下線を赤→黄→緑の3色循環に */
.global_header .head_nav_container nav > ul > li:nth-of-type(3n + 1):hover > a,
.global_header
  .head_nav_container
  nav
  > ul
  > li.select:nth-of-type(3n + 1)
  > a {
  border-bottom-color: #bd3c1e;
}

.global_header .head_nav_container nav > ul > li:nth-of-type(3n + 2):hover > a,
.global_header
  .head_nav_container
  nav
  > ul
  > li.select:nth-of-type(3n + 2)
  > a {
  border-bottom-color: #f4c700;
}

.global_header .head_nav_container nav > ul > li:nth-of-type(3n):hover > a,
.global_header .head_nav_container nav > ul > li.select:nth-of-type(3n) > a {
  border-bottom-color: #9fc764;
}

/* 【PC04】トップARTICLES: カテゴリラベルは通常黒・行ホバーで赤 */
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article
  span.cat_label[class*="cat_blog"] {
  background: #000;
}

.top_articles_wrap
  .top_article_container
  .top_articles_content
  article:hover
  span.cat_label,
.top_articles_wrap
  .top_article_container
  .top_articles_content
  article:hover
  span.cat_label[class*="cat_blog"] {
  background: #be3c1e;
}

/* 【PC05/PC26】黄色ボタンのマウスオンは「明るい（うすい）黄色」に */
.link_btn_yellow:hover {
  background: #f2de85;
}

.contact_wrap .contact_flow_wrap.ct2_flow .contact_flow_item > div a:hover {
  background: #f2de85;
}

/* 【PC06】トップページ セクション見出しを拡大（01-PC_J.aiプレビュー準拠） */
@media screen and (min-width: 751px) {
  .top_why_wrap h2,
  .top_solutions_wrap h2,
  .top_case_wrap h2 {
    font-size: 72px;
    letter-spacing: 0.08em;
    padding-bottom: 30px;
  }
  .top_why_wrap h2::after,
  .top_solutions_wrap h2::after,
  .top_case_wrap h2::after {
    width: 400px;
    height: 4px;
  }
}

/* 【PC07】CASEカードのジャンル（業界）表記［金融・教育］をトル */
.case_list_container article span.cat_name,
.case_content_outset p span.cat_name {
  display: none;
}

/* 【PC08/SP06】WHYアンカーボタン:
   通常時=グレー地+色付き"WHY" / マウスオン時のみ各色ベタ+白文字
   （SPはタップ後に:hoverが残って2つ赤くなるため hover:hover 限定） */
.why_anchor_container a.select,
.why_anchor_container a:hover {
  background: #efefef;
  color: #000;
}

.why_anchor_container a.select::after,
.why_anchor_container a:hover::after {
  color: #000;
}

.why_anchor_container a .why2_tab_en {
  color: #bd3c1e;
}

.why_anchor_container a .why2_tab_en--yellow {
  color: #f4c700;
}

.why_anchor_container a .why2_tab_en--green {
  color: #9fc764;
}

.why_anchor_container a.select .why2_tab_en,
.why_anchor_container a:hover .why2_tab_en {
  color: #bd3c1e;
}

.why_anchor_container a.select .why2_tab_en--yellow,
.why_anchor_container a:hover .why2_tab_en--yellow {
  color: #f4c700;
}

.why_anchor_container a.select .why2_tab_en--green,
.why_anchor_container a:hover .why2_tab_en--green {
  color: #9fc764;
}

@media (hover: hover) {
  .why_anchor_container a:nth-of-type(1):hover {
    background: #bd3c1e;
    color: #fff;
  }
  .why_anchor_container a:nth-of-type(2):hover {
    background: #f4c700;
    color: #fff;
  }
  .why_anchor_container a:nth-of-type(3):hover {
    background: #9fc764;
    color: #fff;
  }
  .why_anchor_container a:hover::after,
  .why_anchor_container a:hover .why2_tab_en,
  .why_anchor_container a:hover .why2_tab_en--yellow,
  .why_anchor_container a:hover .why2_tab_en--green {
    color: #fff;
  }
}

/* 【PC09/SP07】WHY WEF図: 青ベタ削除・枠色を一段明るく（テキスト色は維持） */
.why2_wef_headcol--left h4 span {
  background: none;
  padding: 0;
  width: auto;
  display: inline;
}

.why2_wef_box {
  box-shadow: inset 0 0 0 1.5px #d08a77;
}

.why2_wef_row--yellow .why2_wef_box {
  box-shadow: inset 0 0 0 1.5px #ecd47c;
}

.why2_wef_row--green .why2_wef_box {
  box-shadow: inset 0 0 0 1.5px #c3d9a0;
}

@media screen and (max-width: 750px) {
  /* SPは枠1pxに統一（太さが異なって見える問題の解消） */
  .why2_wef_box {
    box-shadow: inset 0 0 0 1px #d08a77;
  }
  .why2_wef_row--yellow .why2_wef_box {
    box-shadow: inset 0 0 0 1px #ecd47c;
  }
  .why2_wef_row--green .why2_wef_box {
    box-shadow: inset 0 0 0 1px #c3d9a0;
  }
}

/* 【PC10】ABOUT TMHRとは?のロゴを現サイトへのリンクに */
.ab2_intro_logo_link {
  display: inline-block;
  transition: 0.2s;
  /* #message(ab2_message)のアンカーオフセット用透明領域(padding-top:230px)が
     ロゴに被さりクリックできないため、前面に出す (2026-09-03) */
  position: relative;
  z-index: 1;
}

.ab2_intro_logo_link:hover {
  opacity: 0.7;
}

/* 【PC11】SERVICES相関図(PC): ロゴ・アイコンを拡大しバランス調整 */
@media screen and (min-width: 751px) {
  .svc2_scheme_logos {
    height: 140px;
  }
  .svc2_logo_tmhr {
    width: 300px;
  }
  .svc2_logo_nt {
    width: 120px;
  }
  .svc2_logo_gostudy {
    width: 170px;
  }
  .svc2_logo_anz {
    width: 230px;
  }
  .svc2_scheme_icons figure {
    height: 104px;
  }
  .svc2_scheme_icons figure img {
    max-width: 116px;
    max-height: 104px;
  }
}

/* 【PC13】一覧のMORE/CLOSE: MORE=色文字、CLOSE=薄い色・マウスオンで濃く */
.svc2_row .svc2_more span {
  color: var(--svc2_tx);
}

.svc2_row .svc2_acc_toggle.svc2_acc_open span {
  color: var(--svc2_pale);
}

.svc2_row .svc2_acc_toggle.svc2_acc_open:hover {
  opacity: 1;
}

.svc2_row .svc2_acc_toggle.svc2_acc_open:hover span {
  color: var(--svc2_tx);
}

/* 【PC14/PC22】ステップ図アイコン(PC)を拡大しバランス調整 */
@media screen and (min-width: 751px) {
  .svc2_step figure {
    height: 160px;
    margin: 0 0 45px;
  }
  .svc2_step figure img {
    max-width: 200px;
    max-height: 160px;
  }
}

/* 【PC15/SP19】セクション見出し(CHALLENGES等)の英字の文字間を詰める */
.svc2_h3 span {
  letter-spacing: 0.06em;
}

/* 【PC16】学校紹介タブ: 非選択タブのマウスオンも各色ベタに */
.svc2_tab_btn:hover {
  opacity: 1;
  background: var(--svc2_ac);
  color: #fff;
}

/* 【PC17】svc2_area_ttl(AUCKLAND等): 文字間を詰める */
.svc2_area_ttl {
  letter-spacing: 0.06em;
}

/* 【PC18】料金表: フォントを同ウェイト(500)に・文字間を詰める
   (2026-09-03 600→500へ変更。○印・GCカテゴリ列も統一) */
.svc2_price_table th,
.svc2_price_table td,
.svc2_price_table td.svc2_mark,
.svc2_price_table.svc2_price_gc tbody th {
  letter-spacing: 0.06em;
  font-weight: 500;
}

.svc2_price_table thead th {
  letter-spacing: 0.1em;
}

/* boldになっていた見出し行(STANDARD/PREMIUM)・カテゴリ列も500に (2026-09-03) */
.svc2_price_table thead th,
.svc2_price_table tbody th {
  font-weight: 500;
}

.svc2_price_table tbody th small {
  font-weight: 500;
}

/* 【PC19/PC20/PC21/SP18】濁っていた黄・緑のテキスト色をブランド色に統一 */
.svc2_yellow {
  --svc2_tx: #f4c700;
}

.svc2_green {
  --svc2_tx: #9fc764;
}

/* 【PC24】アコーディオン下端とCLOSEボタンの間隔を拡大 */
.svc2_acc_body {
  padding-bottom: 70px;
}

/* 【SP01】SPトップ: 見出し下線〜画像の間隔を前回サイトに合わせて狭く */
@media screen and (max-width: 750px) {
  .top_why_photo {
    margin-top: 40px;
  }
}

/* 【SP02】SPトップ: WHY画像を画面いっぱい（全幅）に */
@media screen and (max-width: 750px) {
  .top_why_photo {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
}

/* 【SP03】SPトップ: SERVICESカードを縦長に（前回サイトの矩形比1:1.23に合わせる）
   (2026-09-03) 旧max-height:300pxが残りfigureがカード全高にならず
   画像と帯の間に隙間が出ていたため、max-heightを解除 */
@media screen and (max-width: 700px) {
  .top_solutions_container .top_solutions_item {
    height: 400px;
  }
  .top_solutions_container .top_solutions_item figure {
    height: 100%;
    max-height: none;
  }
}

/* 【SP08】WHY h3（データが示す…）: サイズ・余白を全箇所統一 */
@media screen and (max-width: 750px) {
  .why_wrap .why2_h3 {
    font-size: 20px;
    padding-bottom: 12px;
    margin: 50px 0 40px;
  }
}

/* 【SP09】WHY/ABOUT 見出し(h2)の文字間をSPでは詰める（他共通） */
@media screen and (max-width: 750px) {
  .about_wrap h2 {
    letter-spacing: 1px;
  }
}

/* 【SP10】GPI表 強調行(New Zealand/Japan)の上下ズレ調整 */
@media screen and (max-width: 750px) {
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_nz td,
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_jp td {
    padding-top: 3px;
    padding-bottom: 3px;
    vertical-align: middle;
  }
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_nz td span,
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_jp td span {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}

/* 【SP11】WHY NZ: まとめ文（ニュージーランドは「安全性」…）を小さく */
@media screen and (max-width: 750px) {
  #why-nz .why2_mid_ttl {
    font-size: 15px;
  }
}

/* 【SP12】WHY TMHR: ポイント01/02/03間の余白を拡大 */
@media screen and (max-width: 750px) {
  .about_wrap.why_wrap .why2_reason + .why2_reason {
    margin-top: 80px;
  }
}

/* 【SP13】ABOUT 代表キャプションの文字間をSPでは詰める */
@media screen and (max-width: 750px) {
  .ab2_intro_photo figcaption span,
  .ab2_intro_photo figcaption .about2026_en {
    letter-spacing: 0.04em;
  }
}

/* 【SP14】ABOUT VISION(SP): キャッチ縮小＋表示順を前回サイトに合わせる
   （キャッチ → ピラミッド図 → VISION/MISSION/VALUEリスト → 本文） */
@media screen and (max-width: 750px) {
  .ab2_vision_cols {
    display: flex;
    flex-direction: column;
  }
  .ab2_vision_txt {
    display: contents;
  }
  .about_wrap .ab2_vision_txt p.large_txt {
    order: 1;
    font-size: 24px !important;
    margin-bottom: 26px !important;
  }
  .ab2_vision_cols .ab2_pyramid_img {
    order: 2;
    margin: 0 0 24px;
  }
  .ab2_vision_cols .about_vision_list {
    order: 3;
  }
  .ab2_vision_txt p:not(.large_txt) {
    order: 4;
    margin-top: 40px;
  }
}

/* 【SP15】ABOUT OUR TEAM: リード文の行間をWHYのlarge_txt(1.5)に統一
   (2026-09-03 既存のp.about2026_team_lead指定(行間2)に勝つようセレクタ強化) */
@media screen and (max-width: 750px) {
  .about_wrap p.large_txt.about2026_team_lead {
    line-height: 1.5 !important;
  }
}

/* 【SP15/SP21】▶がiOSで絵文字表示になるのを防止（テキスト表示指定） */
.why_arrow_list li::before,
.svc_free_list li::before,
.svc_area_ttl::before,
.about2026_team_label::before,
.svc2_free ul li::before,
.svc2_area_ttl::before {
  content: "▶\FE0E";
}

.svc_school ul li::before,
.svc2_school_body ul li::before {
  content: "▷\FE0E";
}

/* 【SP16】SERVICES相関図(SP): ロゴを縮小し全体のバランスをデザインに合わせる */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_logo_tmhr {
    max-width: 190px;
  }
  .svc2_wrap .svc2_logo_nt_sp {
    max-width: 150px;
  }
  .svc2_wrap .svc2_logo_gostudy {
    width: 105px;
  }
  .svc2_wrap .svc2_logo_anz {
    width: 150px;
  }
}

/* 【SP17】無料ご支援サービスの「など」を三角の左位置に単独行で表示 */
.svc2_free_etc {
  font-size: 16px;
  line-height: 2.6;
  letter-spacing: 0.1em;
  margin: 0;
}

@media screen and (max-width: 750px) {
  .svc2_free_etc {
    font-size: 12px;
    line-height: 2.2;
  }
  /* リンク・アンカーボタン前後の余白を拡大 */
  .svc2_cta {
    margin-bottom: 90px;
  }
  .svc2_anchor {
    margin-bottom: 110px;
  }
}

/* 【SP19】アコーディオン内 冒頭〜CHALLENGESの余白を拡大 */
@media screen and (max-width: 750px) {
  .svc2_acc_body {
    padding-top: 90px;
  }
}

/* 【SP20】ステップ図(SP): 見出しを（留学前）表記に・アイコン拡大 */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_steps:not(.svc2_steps_gc) .svc2_step h4::before {
    content: "（";
  }
  .svc2_wrap .svc2_steps:not(.svc2_steps_gc) .svc2_step h4::after {
    content: "）";
  }
  .svc2_wrap .svc2_step figure img,
  .svc2_wrap .svc2_steps_gc .svc2_step figure img {
    max-width: 96px;
    max-height: 86px;
  }
}

/* 【SP21】学校紹介(SP): タブ前後の余白を拡大 */
@media screen and (max-width: 750px) {
  .svc2_center_txt {
    margin-bottom: 50px;
  }
  .svc2_tab_btns {
    margin-bottom: 70px;
  }
}

/* 【SP22】料金表(SP): 見出し行に縦罫線を追加・カテゴリ帯の文字色を赤に統一 */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) thead th:nth-child(2),
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) thead th:nth-child(3) {
    border-left: 1px solid var(--svc2_tbl_bd);
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(3) th,
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(8) th,
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody tr:nth-child(17) th {
    color: #bb3a1b;
  }
}

/* 【SP23】GLOBAL CAREERステップ図(SP): 他と同様のアイコン左・テキスト右の
   2カラムに（デザインカンプ準拠。以前の1カラム指定から変更） */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_steps_gc .svc2_step {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 16px;
    column-gap: 16px;
    align-items: center;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step h4 {
    grid-column: 1/-1;
    grid-row: 1;
    text-align: center;
    margin-bottom: 16px;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step figure {
    grid-column: 1;
    grid-row: 2/4;
    margin: 0;
    display: flex;
    justify-content: center;
    align-self: center;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step .svc2_step_note {
    grid-column: 2;
    grid-row: auto;
    text-align: left;
    margin-bottom: 8px;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step ul {
    grid-column: 2;
    grid-row: auto;
    text-align: left;
  }
}

/* 【SP24】GLOBAL CAREER料金表(SP): 個人向け帯の配色をデザインに合わせる */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_price_table.svc2_price_gc thead th.svc2_gc_hd_l {
    background: #fdf8ec;
  }
}

/* 【SP24補足】GC料金表(SP) 個人向け帯の文字色もブランド緑に */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_price_table.svc2_price_gc thead th.svc2_gc_hd_l {
    color: #9fc764;
  }
}

/* ============================================
   ページ先頭ではメニューホバー帯を不透過の白に (2026-09-02)
   スクロール後は従来どおり rgba(255,255,255,0.95) の透過帯。
   at_top クラスは footer.php のスクロール監視JSが付与
   ============================================ */
.global_header.at_top .head_nav_container nav > ul > li:hover > ul::after,
.global_header.at_top.nav_hover nav > ul > li > div::after {
  background: #fff;
  /* scale(0.8)の丸め誤差でヘッダー下端に1pxの線が出るため、
     帯を6px上へ食い込ませて隙間を塞ぐ（白×白なので見た目の変化なし） */
  top: 150px;
  height: calc(var(--hover-menu-height, 100px) + 6px);
}

/* ============================================
   ナビホバー時に下線が一瞬黒く見える問題の解消 (2026-09-03)
   下線をホバー時に「追加」する方式だと、境界色の初期値が
   currentColor(黒)のためtransition開始時に黒が見える。
   常時透明の下線を敷いておき、色だけを変化させる
   ============================================ */
.global_header .head_nav_container nav > ul > li > a {
  border-bottom: 2px solid transparent;
}

/* ============================================
   SERVICES相関図の左右矢印調整 (2026-09-03)
   ・矢印2本のグループを国旗画像の天地センターに配置
     （flagarea: padding-top40px + 高さ130px の範囲でflexセンタリング）
   ・scale(0.8)の丸めで下の線だけ細く見えるため、線の太さを1.5pxに統一
   ============================================ */
@media screen and (min-width: 751px) {
  .svc2_scheme_arrows {
    top: 40px;
    height: 130px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .svc2_scheme_arrows span {
    margin: 15px 0;
    height: 1.5px;
  }
  .svc2_scheme_arrows span::after {
    top: -3.75px;
  }
}

/* ============================================
   WHY WEF図: 黄・緑の枠線の太さを赤と統一 (2026-09-03)
   赤はborder-color:transparent化済みだったが、黄・緑は
   行別指定(border-color:#f4c700/#9fc764)が残り、実線1px＋
   box-shadow1pxの二重描画で太く濃く見えていたため透明化
   ============================================ */
.why2_wef_row--yellow .why2_wef_box,
.why2_wef_row--green .why2_wef_box {
  border-color: transparent;
}

/* ============================================
   SP版 WHY: h3直下のリード文(why2_mid_ttl)を
   why2_point_ttl（世界トップクラスの安全性…）と同レベルの見出しに統一 (2026-09-03)
   ============================================ */
@media screen and (max-width: 750px) {
  .why_wrap .why2_mid_ttl {
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 24px;
  }
}

/* ============================================
   SP版 GPI表 強調行の上下ズレ最終調整 (2026-09-03)
   固定height:30pxの強調ブロックが行高を押し広げ、罫線と
   ずれて見えていたため、ブロック26px＋上下パディング4pxで
   通常行(約36px)と同じ行高に揃え、罫線間の天地センターに配置
   ============================================ */
@media screen and (max-width: 750px) {
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_nz td,
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_jp td {
    padding-top: 4px;
    padding-bottom: 4px;
    vertical-align: middle;
  }
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_nz td span,
  .about_wrap.why_wrap .why2_rank_table tr.why2_rank_jp td span {
    height: 26px;
  }
}

/* ============================================
   CONTACT お問い合わせの種類（カスタムセレクト）の角丸 (2026-09-03)
   入力欄と同じ角R10px。開いた選択肢リストも下側のみ角丸に
   ============================================ */
.ct2_contact .select-selected {
  border-radius: 10px;
}

.ct2_contact .select-items {
  border-radius: 10px;
  overflow: hidden;
}

/* ============================================================
   0904チェックバック対応 (2026-09-05)
   デザイナー赤字指示（PC-00〜26 / SP-01〜24）の一括反映
   ============================================================ */

/* 【PC-00】トップスライダー: Whyリンクとアクティブバーを3色循環に */
.fade_slider .slick-slide:nth-child(3n + 1) .link_txt {
  color: #bd3c1e;
}

.fade_slider .slick-slide:nth-child(3n + 2) .link_txt {
  color: #f4c700;
}

.fade_slider .slick-slide:nth-child(3n) .link_txt {
  color: #9fc764;
}

.fade_slider .slick-slide:nth-child(3n + 2) a:hover .link_txt {
  color: #e6ce66;
}

.fade_slider .slick-slide:nth-child(3n) a:hover .link_txt {
  color: #b9d18e;
}

.fade_slider .slick-dots li:nth-child(3n + 1).slick-active button {
  background: #bd3c1e;
}

.fade_slider .slick-dots li:nth-child(3n + 2).slick-active button {
  background: #f4c700;
}

.fade_slider .slick-dots li:nth-child(3n).slick-active button {
  background: #9fc764;
}

/* 【PC-01】ページ先頭のメニューホバー帯: 現サイトと同じ「やや透け」に */
.global_header.at_top .head_nav_container nav > ul > li:hover > ul::after,
.global_header.at_top.nav_hover nav > ul > li > div::after {
  background: rgba(255, 255, 255, 0.95);
}

/* 【PC-02/SP-01】TOPサブリンク（WHY TOP/ABOUT TOP/SERVICES TOP）を各色に */
/* 2026-09-11 PC-01/PC-15: TOPリンクの常時色付けを廃止し、
   サブリンクはホバー時のみ位置順の3色循環で色付け */
.global_header .head_nav_container .open_menu li:nth-child(3n + 1) a:hover {
  color: #bd3c1e;
}

.global_header .head_nav_container .open_menu li:nth-child(3n + 2) a:hover {
  color: #f4c700;
}

.global_header .head_nav_container .open_menu li:nth-child(3n) a:hover {
  color: #9fc764;
}

.sp_navi .overlay > ul > li:nth-of-type(2) .accordion-content li:first-child a {
  color: #bd3c1e;
}

.sp_navi .overlay > ul > li:nth-of-type(3) .accordion-content li:first-child a {
  color: #f4c700;
}

.sp_navi .overlay > ul > li:nth-of-type(4) .accordion-content li:first-child a {
  color: #9fc764;
}

/* 【SP-01】SPメニュー: 開いたカテゴリ名の下線を3色循環で表示
   （既存の.accordion-container:nth-of-type()指定に勝つよう同形の強いセレクタで上書き） */
.sp_navi .overlay .accordion-title,
.sp_navi .overlay .accordion-container .accordion-title {
  border-bottom: 2px solid transparent;
  display: inline-block;
}

.sp_navi .overlay .accordion-container:nth-of-type(2) .accordion-title.open,
.sp_navi .overlay .accordion-container:nth-of-type(5) .accordion-title.open {
  border-bottom: 2px solid #bd3c1e;
  color: #bd3c1e; /* 2026-09-11 SP-02 開いた項目名も各色に */
}

.sp_navi .overlay .accordion-container:nth-of-type(3) .accordion-title.open {
  border-bottom: 2px solid #f4c700;
  color: #f4c700;
}

.sp_navi .overlay .accordion-container:nth-of-type(4) .accordion-title.open,
.sp_navi .overlay .accordion-container:nth-of-type(7) .accordion-title.open {
  border-bottom: 2px solid #9fc764;
  color: #9fc764;
}

/* 2026-09-11 SP-01: FAQ（通常リンク）はタップで黄色に */
@media screen and (max-width: 750px) {
  .sp_navi .overlay > ul > li:nth-of-type(6) > a:active {
    color: #f4c700;
  }
}

/* 【PC-03】トップページ: セクション間の余白を拡大 */
@media screen and (min-width: 751px) {
  .top_solutions_wrap {
    padding-top: 100px;
  }
  .top_case_wrap {
    padding: 120px 0; /* 2026-09-12 ご指定により120pxに変更（PC） */
  }
}

/* 【PC-04/PC-04+/SP-03】WEF図: 枠を太く(2px)・各色それぞれ明るい薄色に */
.why2_wef_box {
  box-shadow: inset 0 0 0 2px #dba392;
}

.why2_wef_row--yellow .why2_wef_box {
  box-shadow: inset 0 0 0 2px #eed789;
}

.why2_wef_row--green .why2_wef_box {
  box-shadow: inset 0 0 0 2px #cbdfa8;
}

@media screen and (max-width: 750px) {
  .why2_wef_box {
    box-shadow: inset 0 0 0 2px #dba392;
  }
  .why2_wef_row--yellow .why2_wef_box {
    box-shadow: inset 0 0 0 2px #eed789;
  }
  .why2_wef_row--green .why2_wef_box {
    box-shadow: inset 0 0 0 2px #cbdfa8;
  }
  /* 【SP-03】矢印: 線を細く・矢先と線の白い隙間を解消
     (2026-09-09 追記: 矢印を短く flex-basis 24px→14px) */
  .why2_wef_arrow {
    height: 1.5px;
    flex-basis: 14px;
  }
  .why2_wef_arrow::before,
  .why2_wef_arrow::after {
    border-top-width: 4px;
    border-bottom-width: 4px;
  }
  .why2_wef_arrow::before {
    left: -5px;
    border-right-width: 7px;
  }
  .why2_wef_arrow::after {
    right: -5px;
    border-left-width: 7px;
  }
}

/* 【PC-05/PC-24/SP-08】ABOUTアンカー: 通常グレー+色文字 / オン時のみ各色ベタ */
.about_anchor_container:not(.why_anchor_container) a,
.about_anchor_container:not(.why_anchor_container) a.select,
.about_anchor_container:not(.why_anchor_container) a:hover {
  background: #efefef;
}

.about_anchor_container:not(.why_anchor_container) a:nth-of-type(3n + 1),
.about_anchor_container:not(.why_anchor_container) a.select:nth-of-type(3n + 1) {
  color: #bd3c1e;
}

.about_anchor_container:not(.why_anchor_container) a:nth-of-type(3n + 2),
.about_anchor_container:not(.why_anchor_container) a.select:nth-of-type(3n + 2) {
  color: #f4c700;
}

.about_anchor_container:not(.why_anchor_container) a:nth-of-type(3n),
.about_anchor_container:not(.why_anchor_container) a.select:nth-of-type(3n) {
  color: #9fc764;
}

.about_anchor_container:not(.why_anchor_container) a::after,
.about_anchor_container:not(.why_anchor_container) a.select::after {
  color: inherit;
}

@media (hover: hover) {
  .about_anchor_container:not(.why_anchor_container) a:nth-of-type(3n + 1):hover {
    background: #bd3c1e;
    color: #fff;
  }
  .about_anchor_container:not(.why_anchor_container) a:nth-of-type(3n + 2):hover {
    background: #f4c700;
    color: #fff;
  }
  .about_anchor_container:not(.why_anchor_container) a:nth-of-type(3n):hover {
    background: #9fc764;
    color: #fff;
  }
  .about_anchor_container:not(.why_anchor_container) a:hover::after {
    color: #fff;
  }
}

/* 【SP-02/SP-08】アンカーボタン: タップ時（:active）にも各色ベタに */
.about_anchor_container:not(.why_anchor_container) a:nth-of-type(3n + 1):active {
  background: #bd3c1e;
  color: #fff;
}

.about_anchor_container:not(.why_anchor_container) a:nth-of-type(3n + 2):active {
  background: #f4c700;
  color: #fff;
}

.about_anchor_container:not(.why_anchor_container) a:nth-of-type(3n):active {
  background: #9fc764;
  color: #fff;
}

.about_anchor_container:not(.why_anchor_container) a:active::after {
  color: #fff;
}

.why_anchor_container a:nth-of-type(1):active {
  background: #bd3c1e;
  color: #fff;
}

.why_anchor_container a:nth-of-type(2):active {
  background: #f4c700;
  color: #fff;
}

.why_anchor_container a:nth-of-type(3):active {
  background: #9fc764;
  color: #fff;
}

.why_anchor_container a:active::after,
.why_anchor_container a:active .why2_tab_en,
.why_anchor_container a:active .why2_tab_en--yellow,
.why_anchor_container a:active .why2_tab_en--green {
  color: #fff;
}

/* 【PC-06/SP-10】見出し(h2)の下線: 太さを3pxに統一（WHY/ABOUT共通） */
.about_wrap h2::after,
.company_wrap h2::after,
#why-abroad h2:after,
#why-nz h2:after,
#why-tmhr h2:after {
  height: 3px;
}

/* 【SP-05】SP: h2の下線をテキストが収まる長さまで伸ばす（他共通） */
@media screen and (max-width: 750px) {
  .about_wrap h2,
  .company_wrap h2 {
    display: table;
  }
  .about_wrap h2::after,
  .company_wrap h2::after {
    width: 100%;
    min-width: 180px;
  }
}

/* 【PC-07/SP-11】OUR TEAMリード文: 行間・下余白を調整 */
.about_wrap p.large_txt.about2026_team_lead {
  line-height: 1.6 !important;
}

@media screen and (min-width: 751px) {
  .about_wrap .about2026_team_lead {
    margin-bottom: 160px !important; /* 2026-09-09 120px→160pxに変更 */
  }
}

@media screen and (max-width: 750px) {
  .about_wrap p.large_txt.about2026_team_lead {
    line-height: 1.8 !important;
  }
}

/* 【PC-08】代表キャプション: 名前の下に英字を右揃えで積む */
.ab2_intro_photo figcaption .about2026_en,
.ab2_intro_photo figcaption span.about2026_en {
  display: block;
  margin-left: 0;
  margin-top: 2px;
}

/* 【SP-12】プロフィール名の英字: MEMBER程度まで文字間を詰める */
.about2026_profile_name .about2026_en {
  letter-spacing: 0.1em;
}

/* 【SP-09】SP: VISION/MISSION/VALUEリストを太字に */
@media screen and (max-width: 750px) {
  .about_vision_list li span,
  .about_vision_list li p {
    font-weight: 600;
  }
}

/* 【SP-11】MEMBER/OTHER STAFF/AUCKLAND等のラベル下線: 細く・短く（共通ルール） */
@media screen and (max-width: 750px) {
  .about_wrap .about2026_team_label::after {
    width: 170px;
    height: 1px;
    margin-top: 10px;
  }
  .svc2_area_ttl {
    min-width: 0;
    padding-right: 24px;
    border-bottom-width: 1px;
  }
}

/* 【PC-10】ABOUTキービジュアルの下線を黄色に */
.lv1_cover.about h1::after {
  background: #f4c700;
}

/* 【PC-11/PC-25】SERVICESキービジュアル: 最終レイアウトの見え方に寄せる */
.lv1_cover.services {
  background-position: center 68%;
}

/* 【PC-21】トップWHY写真: 翼が見える位置にトリミング */
.top_why_photo img {
  -o-object-position: center 28%;
  object-position: center 28%;
}

/* 【PC-22】WHY NZ写真: 海を外して草原メインのトリミングに */
#why-nz .why_photo img {
  -o-object-position: center 78%;
  object-position: center 78%;
}

/* 【PC-23】WHY TMHR ポイント画像: カンプの縦横比(16:10)に統一 */
.why2_reason_img img {
  aspect-ratio: 16 / 10;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

/* 【PC-12】相関図(PC): 国旗・TM HR Japanロゴを大きく、日本旅行ロゴ・アイコンを小さく */
@media screen and (min-width: 751px) {
  .svc2_flag_jp {
    width: 190px;
    height: 127px;
  }
  .svc2_flag_jp::after {
    width: 66px;
    height: 66px;
    margin: -33px 0 0 -33px;
  }
  .svc2_flag_nz {
    width: 190px;
  }
  .svc2_scheme_flagarea {
    height: 150px;
  }
  .svc2_scheme_arrows {
    height: 150px;
  }
  .svc2_logo_tmhr {
    width: 330px;
  }
  .svc2_logo_nt {
    width: 100px;
  }
  .svc2_scheme_icons figure {
    height: 84px;
  }
  .svc2_scheme_icons figure img {
    max-width: 94px;
    max-height: 84px;
  }
}

/* 【SP-13】相関図(SP): アイコンをもう少し小さくバランス調整 */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_scheme_icons > div,
  .svc2_wrap .svc2_scheme_mid .svc2_scheme_icons > div {
    grid-template-columns: 66px minmax(0, 1fr);
  }
  .svc2_wrap .svc2_scheme_icons figure img {
    max-width: 60px;
    max-height: 54px;
  }
}

/* 【PC-13】アンカー用の空div（#svc2_sa等）がボタンに被さり
   ホバー・クリックを妨げていたため、空のアンカーdivは素通しに */
div[id]:empty {
  pointer-events: none;
}

/* 【PC-14/SP-18】学校名: 文字間をAUCKLANDと同等に・下の「-」を太いバーに */
.svc2_school_body h4 {
  letter-spacing: 0.06em;
}

.svc2_school_body h4::after {
  content: "";
  width: 8px; /* 2026-09-12 PC-07 幅を短く 16px→8px */
  height: 3px;
  background: var(--svc2_ac);
  margin-top: 16px; /* 2026-09-12 余白を元(16px/20px)に戻す */
  margin-bottom: 20px;
}

/* 【PC-15/SP-19/SP-22】料金表: テキストを一段太く(600)（0904デザイナー指示で500→600へ） */
.svc2_price_table th,
.svc2_price_table td,
.svc2_price_table td.svc2_item,
.svc2_price_table td.svc2_mark,
.svc2_price_table thead th,
.svc2_price_table tbody th,
.svc2_price_table tbody th small,
.svc2_price_table.svc2_price_gc tbody th,
.svc2_price_table.svc2_price_gc td.svc2_gc_ask {
  font-weight: 600;
}

/* 【PC-18/SP-22】GC料金表: 基本料金セルを左上揃えに */
.svc2_price_table.svc2_price_gc tbody th {
  vertical-align: top;
}

@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_price_table.svc2_price_gc tbody th {
    align-items: flex-start;
  }
}

/* 【PC-18/PC-24関連】表下端とCLOSEボタンの間隔をさらに拡大 */
.svc2_acc_body {
  padding-bottom: 120px;
}

/* 【PC-17/SP-21】GCステップ図: アイコンを大きくバランス調整 */
@media screen and (min-width: 751px) {
  .svc2_steps_gc .svc2_step figure {
    height: 230px; /* 2026-09-09 190px→230pxにさらに拡大 */
  }
  /* 2026-09-09 デザインに合わせて左右で個別サイズに */
  .svc2_steps_gc .svc2_step:nth-child(1) figure img {
    max-width: 151px;
    max-height: 167px;
    transform: translateY(8px); /* 2026-09-09 緑アイコンを8px下げ */
  }
  .svc2_steps_gc .svc2_step:nth-child(2) figure img {
    max-width: 221px;
    max-height: 207px;
  }
}

@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_steps_gc .svc2_step {
    grid-template-columns: 112px minmax(0, 1fr);
    -moz-column-gap: 12px;
    column-gap: 12px;
  }
  .svc2_wrap .svc2_steps_gc .svc2_step figure img {
    max-width: 108px;
    max-height: 96px;
  }
}

/* 【PC-19】お問い合わせフォーム: ラベルを入力枠の天地センターに（内容欄は上揃え） */
@media screen and (min-width: 751px) {
  .ct2_contact .contactform_container table th {
    vertical-align: middle;
    padding-top: 26px;
  }
  .ct2_contact .contactform_container table tr:has(textarea) th {
    vertical-align: top;
    padding-top: 40px;
  }
}

/* 【PC-20】トップSERVICESカード(PC): カンプの縦長比率(3:4)に */
@media screen and (min-width: 751px) {
  .top_solutions_container .top_solutions_item figure {
    height: auto;
    max-height: none;
    aspect-ratio: 894 / 1101; /* 2026-09-11 PC-12 支給画像の比率のまま表示（トリミングなし） */
  }
  .top_solutions_container .top_solutions_item figure img {
    height: 100%;
  }
}

/* 【PC-26】SERVICES一覧の行画像: カンプの3:2トリミングに */
@media screen and (min-width: 751px) {
  .svc2_row > figure img {
    aspect-ratio: 3 / 2;
  }
}

/* 【SP-06】OECDグラフ(SP): 行間・項目間を詰めてカンプに近づける */
@media screen and (max-width: 750px) {
  .about_wrap.why_wrap .why2_oecd_grid {
    gap: 22px 0;
  }
  .about_wrap.why_wrap .why2_oecd_item {
    gap: 4px 10px;
  }
  /* 2026-09-09 旧テーマの p{line-height:23px} 系に負けないよう
     強いセレクタで項目名・注記とも行間を詰める */
  .about_wrap.why_wrap .why2_oecd_label {
    line-height: 1.3;
  }
  .about_wrap.why_wrap .why2_oecd_label span,
  .about_wrap.why_wrap .why2_oecd_item:first-child .why2_oecd_label span {
    display: block;
    margin-left: 0;
    line-height: 1.3;
    margin-top: 3px;
  }
  /* 2026-09-09 デザイン指示: 短い注記（収入・健康）は英語名の横に
     1行表示、長い注記は2段目のまま */
  .about_wrap.why_wrap .why2_oecd_item:nth-child(1) .why2_oecd_label span,
  .about_wrap.why_wrap .why2_oecd_item:nth-child(4) .why2_oecd_label span {
    display: inline;
    margin-left: 0.4em;
    margin-top: 0;
  }
}

/* 【SP-07】PISAリスト(SP): 見出しとリストを通常の行間に */
@media screen and (max-width: 750px) {
  .why_wrap .why2_list li {
    line-height: 2;
    margin-bottom: 4px;
  }
  .about_wrap.why_wrap .why2_point:has(.why2_list) .why2_point_lead {
    margin-bottom: 6px;
  }
}

/* 【SP-14】SP: ご相談リンクとアンカーボタンの間をさらに拡大 */
@media screen and (max-width: 750px) {
  .svc2_cta {
    margin-bottom: 200px; /* 2026-09-09 150px→200px */
  }
}

/* 【SP-15】SP: MOREボタンと下の区切り線の間隔を拡大 */
@media screen and (max-width: 750px) {
  .svc2_row > .svc2_more,
  .svc2_row > button.svc2_more {
    margin-bottom: 40px;
  }
}

/* 【SP-16】SP: アコーディオン冒頭〜CHALLENGESの余白をさらに拡大 */
@media screen and (max-width: 750px) {
  .svc2_acc_body {
    padding-top: 120px;
  }
}

/* 【SP-17】CHALLENGESボックス(SP): 枠の大きさを統一 */
@media screen and (max-width: 750px) {
  .svc2_problems > div {
    min-height: 120px;
  }
}

/* 【SP-19/SP-22】料金表(SP): 罫線を細く・金額の文字間を詰める */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc),
  .svc2_wrap .svc2_price_table.svc2_price_gc {
    border-width: 1px /* 2026-09-12 端数px由来の太さムラ解消 */;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) th,
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) td {
    border-top-width: 1px;
    letter-spacing: 0.02em;
  }
  /* 2026-09-09 見出し行(thead th)は既存の0.14em指定が強く
     字間詰めが効いていなかったため個別に上書き */
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) thead th {
    letter-spacing: 0.02em;
  }
  /* 2026-09-09 【SP-19】セクション見出し帯（無料サービス等）を
     テーブル全幅に＋高さを「無料サービス」帯（2行分・54.4px）に統一。
     tbody内のth＝見出し帯として一括指定（行番号に依存しない） */
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) tbody th {
    grid-column: 1 / -1;
    min-height: 54.4px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) td.svc2_mark {
    border-left-width: 1px;
  }
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) thead th:nth-child(2),
  .svc2_wrap .svc2_price_table:not(.svc2_price_gc) thead th:nth-child(3) {
    border-left-width: 1px;
  }
  .svc2_wrap .svc2_price_table.svc2_price_gc th,
  .svc2_wrap .svc2_price_table.svc2_price_gc td {
    letter-spacing: 0.02em;
  }
  .svc2_wrap .svc2_price_table.svc2_price_gc tbody th,
  .svc2_wrap .svc2_price_table.svc2_price_gc thead th.svc2_gc_hd_r,
  .svc2_wrap .svc2_price_table.svc2_price_gc td.svc2_gc_ask {
    border-top-width: 1px;
  }
  /* 【SP-22】GC料金表: 見出し帯の高さを広く */
  .svc2_wrap .svc2_price_table.svc2_price_gc thead th.svc2_gc_hd_l,
  .svc2_wrap .svc2_price_table.svc2_price_gc thead th.svc2_gc_hd_r {
    padding-top: 16px;
    padding-bottom: 16px;
  }
}

/* 【SP-24】お問い合わせ(SP): ※注記下のアンダーバー復活・入力枠を細く */
@media screen and (max-width: 750px) {
  .ct2_contact .contactform_container > p {
    border-bottom: 1px solid #000;
    padding-bottom: 10px;
  }
  .ct2_contact .wpcf7 input[type="text"],
  .ct2_contact .wpcf7 input[type="email"],
  .ct2_contact .wpcf7 input[type="tel"],
  .ct2_contact .wpcf7 input[type="url"],
  .ct2_contact .wpcf7 input[type="number"],
  .ct2_contact .wpcf7 input[type="date"],
  .ct2_contact .wpcf7 textarea,
  .ct2_contact .wpcf7 select {
    box-shadow: inset 0 0 0 1px #b3b3b3;
  }
  .ct2_contact .wpcf7 input[type="text"]:focus,
  .ct2_contact .wpcf7 input[type="email"]:focus,
  .ct2_contact .wpcf7 input[type="tel"]:focus,
  .ct2_contact .wpcf7 input[type="url"]:focus,
  .ct2_contact .wpcf7 input[type="number"]:focus,
  .ct2_contact .wpcf7 input[type="date"]:focus,
  .ct2_contact .wpcf7 textarea:focus,
  .ct2_contact .wpcf7 select:focus,
  .ct2_contact .wpcf7 input.ct2_filled,
  .ct2_contact .wpcf7 textarea.ct2_filled,
  .ct2_contact .wpcf7 select.ct2_filled {
    box-shadow: inset 0 0 0 1px #000;
  }
}

/* ============================================================
   0904チェックバック追対応 (2026-09-09)
   【PC-04】WEF図: パネル背景(#fffbf1)をもう少し明るく
   ============================================================ */
.why2_wef {
  background: #fffdf7;
}

/* ============================================================
   0904チェックバック追対応 (2026-09-09)
   【PC-12】相関図の矢印: scale(0.8)で矢頭が潰れるため
   デザインに合わせて線2px・矢頭16pxに拡大し、
   国旗と矢印の間に30pxの余白、矢印同士の間隔も拡大
   ============================================================ */
@media screen and (min-width: 751px) {
  .svc2_scheme_arrows {
    left: calc(27% + 30px);
    right: calc(27% + 30px);
  }
  .svc2_scheme_arrows span {
    height: 2px;
    margin: 20px 0;
  }
  .svc2_scheme_arrows span::after {
    border-width: 8px 0 8px 16px;
    top: -7px;
  }
}

/* ============================================================
   0904チェックバック追対応 (2026-09-09)
   【PC-13】SERVICESアンカーボタン: 次セクションの.inner
   （アンカー用ネガティブマージンの透明領域）がボタン下部に
   被さりクリックできなかったため、ボタン側を前面に
   ============================================================ */
.svc2_anchor,
.svc2_anchor_container {
  position: relative;
  z-index: 2;
}

/* ============================================================
   0904チェックバック追対応 (2026-09-09)
   【PC-18】GLOBAL CAREERの表下〜CLOSEの余白: 他セクションは
   最終ブロックのmargin-bottom:190pxが効くがGCだけ:last-childで
   0にリセットされ狭かったため、他と同じ余白（190px+120px）に統一
   ============================================================ */
.svc2_acc .svc2_acc_body > .svc2_section:last-child {
  margin-bottom: 190px;
}

/* ============================================================
   0904チェックバック追対応 (2026-09-09)
   トップSERVICES: スポーツカードの写真をデザインの
   トリミング位置（立っている選手が左に入る）に調整
   ============================================================ */
@media screen and (min-width: 751px) {
  .top_solutions_container .top_solutions_item:nth-of-type(2) figure img {
    -o-object-position: 22% 22%;
    object-position: 22% 22%;
  }
}

/* ============================================================
   デザイン画像差し替え一式 (2026-09-09)
   イラレ書き出し画像（2xフォルダ納品分）への差し替え。
   ・カバー3種（ABOUT/SERVICES/WHY）を新画像に＋SP専用画像
   ・トリミングが画像側で確定したため、旧object-position調整を
     センターに戻す（top_why / why-nz / トップスポーツカード）
   ============================================================ */
.lv1_cover.about {
  background: url("../images/about/about_cover.jpg") center/cover no-repeat;
}

.lv1_cover.services {
  background: url("../images/services/service_cover.jpg") center/cover no-repeat;
}

.lv1_cover.why {
  background: url("../images/why/why_cover.jpg") center/cover no-repeat;
}

@media screen and (max-width: 750px) {
  .lv1_cover.about {
    background-image: url("../images/about/about_cover_sp.jpg");
  }
  .lv1_cover.services {
    background-image: url("../images/services/service_cover_sp.jpg");
  }
  .lv1_cover.why {
    background-image: url("../images/why/why_cover_sp.jpg");
  }
}

.top_why_photo img {
  -o-object-position: center;
  object-position: center;
}

#why-nz .why_photo img {
  -o-object-position: center;
  object-position: center;
}

@media screen and (min-width: 751px) {
  .top_solutions_container .top_solutions_item:nth-of-type(2) figure img {
    -o-object-position: center;
    object-position: center;
  }
}

/* ============================================================
   0904チェックバック追対応 (2026-09-09)
   SP: プロフィール写真の max-width:320px を解除して全幅表示に
   ============================================================ */
@media screen and (max-width: 750px) {
  .about_wrap .about2026_profile_photo {
    max-width: none;
  }
}

/* ============================================================
   相関図の画像化 (2026-09-09)
   svc2_scheme（HTML組みの相関図）をイラレ書き出し画像に差し替え。
   PC: scheme.jpg / SP: scheme_sp.jpg（pictureで出し分け）
   ============================================================ */
.svc2_scheme_img {
  margin: 0 0 50px;
}

.svc2_scheme_img img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 750px) {
  .svc2_scheme_img {
    margin-bottom: 40px;
  }
}

/* ============================================================
   GCステップ図リスト調整 (2026-09-09)
   SP: 文字サイズを9pxに・「○」のぶら下げインデントで
   折り返し行が○の下に入り込まないように
   ============================================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_step ul li {
    font-size: 9px;
    line-height: 1.9;
  }
  .svc2_wrap .svc2_step ul.svc2_circle_list li {
    padding-left: 12px; /* 2026-09-09 ○のmargin縮小に合わせ18px→12px */
  }
  .svc2_wrap .svc2_step ul.svc2_circle_list li strong {
    text-indent: -12px;
  }
  /* 2026-09-09 注記（個人向けの内容を〜）も9pxに統一 */
  .svc2_wrap .svc2_steps_gc .svc2_step .svc2_step_note {
    font-size: 9px;
  }
}

/* ============================================================
   料金表の外枠 (2026-09-11)
   外枠（inset box-shadowリング）を内枠の細い線に合わせる。
   SPは罫線0.5pxに合わせて外枠も0.5pxに
   ============================================================ */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_price_table::after {
    box-shadow: inset 0 0 0 1px var(--svc2_tbl_bd);
  }
}

/* ============================================================
   0909チェックバック対応 (2026-09-11)
   デザイナー赤字指示（PC-01〜16 / SP-01〜15）の一括反映 その1
   ============================================================ */

/* 【PC-02】トップ: WHY上の余白をSERVICES上と同じに拡大 */
@media screen and (min-width: 751px) {
  .top_why_wrap {
    margin-top: 360px;
  }
}

/* 【PC-03】CASE 0件時のTO BE UPDATED: 帯を高く・テキストを大きくセンターに */
@media screen and (min-width: 751px) {
  .top_case_wrap .case_comingsoon {
    font-size: 38px;
    padding: 150px 0;
  }
}

/* 【PC-04】WHYカバーの下線をブランド赤に統一 */
.lv1_cover.why h1::after {
  background: #bd3c1e;
}

/* 【SP-04】WEF図(SP): 文字が枠に付いて見えるためバランス調整 */
@media screen and (max-width: 750px) {
  .why2_wef_box {
    font-size: 12px;
    letter-spacing: 0.08em;
    padding: 22px 8px;
  }
}

/* 【SP-06】OECDグラフ(SP): グレー枠を狭く・ラベルをグラフ上揃え・
   バーを細く・凡例の余白を広く */
@media screen and (max-width: 750px) {
  .why2_oecd_card .why2_card_ttl {
    padding: 24px 5%; /* 2026-09-12 上下24pxに */
  }
  .about_wrap.why_wrap .why2_oecd_grid {
    padding: 22px 4% 26px;
  }
  .about_wrap.why_wrap .why2_oecd_item {
    align-items: flex-start;
  }
  .about_wrap.why_wrap .why2_oecd_label {
    margin-top: -2px;
  }
  .why2_oecd_bar_in {
    height: 11px;
  }
  .why2_oecd_legend {
    margin-top: 12px;
  }
}

/* 【PC-08】SERVICES エリア見出し(AUCKLAND等)の下線を学校画像と同じ幅(40%)に
   (2026-09-12 全幅→画像幅に修正) */
@media screen and (min-width: 751px) {
  .svc2_area_ttl {
    display: block;
    min-width: 0;
    width: 45%; /* 2026-09-12 40%→45% */
    padding-right: 0;
  }
}

/* 【PC-09】学校紹介リスト: 英数字だけ太く見えるためウェイトを他に合わせる */
.svc2_school_body ul li {
  font-weight: 400;
}

/* 【SP-11】学校カード間のスペースを狭く（エリアの切り替わりは現状維持） */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_school {
    margin-bottom: 48px; /* 2026-09-12 32px→48px */
  }
  .svc2_wrap .svc2_school:last-child {
    margin-bottom: 100px;
  }
}

/* 【SP-09】OUR TEAMリード文をSPはセンター揃えに */
@media screen and (max-width: 750px) {
  .about_wrap p.large_txt.about2026_team_lead {
    text-align: center;
  }
}

/* 【SP-13】CASE/ARTICLESのフィルタボタン: SPは角丸に */
@media screen and (max-width: 750px) {
  .case_anchor_container a,
  .articles_anchor_container a {
    border-radius: 8px;
  }
}

/* 【SP-13】ARTICLESフィルタ: 選択・タップ時にカテゴリ色
   (ANNOUNCEMENT赤 / BLOG黄 / MEDIA緑 / PRESS RELEASE赤) */
.articles_anchor_container a[class*="anno"]:hover,
.articles_anchor_container a[class*="anno"].select,
.articles_anchor_container a[class*="anno"]:active {
  background: #be3c1e;
  color: #fff;
}

.articles_anchor_container a[class^="blog"]:hover,
.articles_anchor_container a[class^="blog"].select,
.articles_anchor_container a[class^="blog"]:active {
  background: #f5c800;
  color: #fff;
}

.articles_anchor_container a[class^="media"]:hover,
.articles_anchor_container a[class^="media"].select,
.articles_anchor_container a[class^="media"]:active {
  background: #a0c864;
  color: #fff;
}

.articles_anchor_container a[class^="press"]:hover,
.articles_anchor_container a[class^="press"].select,
.articles_anchor_container a[class^="press"]:active {
  background: #be3c1e;
  color: #fff;
}

/* CASEフィルタもタップ時に選択時と同じ色（SPの:active） */
.case_anchor_container a:active {
  background: #000;
  color: #fff;
}

.case_anchor_container a[class^="studyabroad"]:active {
  background: #be3c1e;
}

.case_anchor_container a[class^="globalcareer"]:active {
  background: #a0c864;
}

.case_anchor_container a[class^="sportsart"]:active {
  background: #f5c800;
}

/* 【PC-06】SERVICES: ご相談リンク〜アンカーボタン〜区切り線の余白を拡大 */
@media screen and (min-width: 751px) {
  .svc2_free {
    margin-bottom: 60px; /* 2026-09-12 140px→60px */
  }
  .svc2_anchor {
    margin-bottom: 200px;
  }
}

/* ============================================================
   0909チェックバック対応 (2026-09-11) その2: メンバー写真の最終トリミング反映
   【PC-13/SP-15】画像自体を最終レイアウトのトリミングで書き出し直したため、
   CSS側の強制アスペクト比（300/404・165/200）を解除し画像本来の比率で表示
   ============================================================ */
.about_wrap .ab2_intro_photo figure img {
  aspect-ratio: auto;
}

.about_wrap .about2026_profile_photo img:not(.about2026_gostudy_logo) {
  aspect-ratio: auto;
}

/* 【OUR TEAM】PCリード文: デザインの5行改行に合わせ page-about.php に<br>追加。
   1行目が幅ギリギリで折り返すことがあるため字間を微調整 (2026-09-11) */
@media screen and (min-width: 751px) {
  .about_wrap p.large_txt.about2026_team_lead {
    letter-spacing: 0.12em;
  }
}

/* 【トップ】SERVICES(top_solutions_wrap)下の余白を拡大 260px→360px (2026-09-12)
   SPは既存の指定（450px以下 margin:150px 0）を維持するためPCのみ */
@media screen and (min-width: 751px) {
  .top_solutions_wrap {
    margin-bottom: 360px;
  }
}

/* 2026-09-12 SP-01: SPメニューの「TOP」リンクは常に赤 */
@media screen and (max-width: 750px) {
  .sp_navi .overlay > ul > li:nth-of-type(1) > a {
    color: #bd3c1e;
  }
}

/* ============================================================
   0909チェックバック SP再点検対応 (2026-09-12)
   ============================================================ */
@media screen and (max-width: 750px) {
  /* 【SP-02】SPメニュー: アコーディオン内のTOP以外の項目もタップで各色に */
  .sp_navi .overlay > ul > li:nth-of-type(2) .accordion-content li a:active,
  .sp_navi .overlay > ul > li:nth-of-type(5) .accordion-content li a:active {
    color: #bd3c1e;
  }
  .sp_navi .overlay > ul > li:nth-of-type(3) .accordion-content li a:active {
    color: #f4c700;
  }
  .sp_navi .overlay > ul > li:nth-of-type(4) .accordion-content li a:active,
  .sp_navi .overlay > ul > li:nth-of-type(7) .accordion-content li a:active {
    color: #9fc764;
  }

  /* 【SP-03】WHYページのアンカーボタン: タップでそれぞれの色に */
  .why_anchor_container a:nth-child(1):hover,
  .why_anchor_container a:nth-child(1):active {
    background: #bd3c1e;
    color: #fff;
  }
  .why_anchor_container a:nth-child(2):hover,
  .why_anchor_container a:nth-child(2):active {
    background: #f4c700;
    color: #fff;
  }
  .why_anchor_container a:nth-child(3):hover,
  .why_anchor_container a:nth-child(3):active {
    background: #9fc764;
    color: #fff;
  }
  .why_anchor_container a:hover .why2_tab_en,
  .why_anchor_container a:active .why2_tab_en {
    color: #fff;
  }
  .why_anchor_container a:active::after {
    color: #fff;
  }

  /* 【SP-07】ABOUTページのアンカーボタン: タップでそれぞれの色に */
  .ab2_anchor a:nth-child(1):hover,
  .ab2_anchor a:nth-child(1):active {
    background: #bd3c1e;
    color: #fff;
  }
  .ab2_anchor a:nth-child(2):hover,
  .ab2_anchor a:nth-child(2):active {
    background: #f4c700;
    color: #fff;
  }
  .ab2_anchor a:nth-child(3):hover,
  .ab2_anchor a:nth-child(3):active {
    background: #9fc764;
    color: #fff;
  }
  .ab2_anchor a:nth-child(4):hover,
  .ab2_anchor a:nth-child(4):active {
    background: #bd3c1e;
    color: #fff;
  }
  .ab2_anchor a:active::after {
    color: #fff;
  }

  /* 【SP-10】学校名下線とリストの間隔をSPでは詰める（PCはPC-07指示の16px/20px） */
  .svc2_school_body h4::after {
    margin-top: 6px;
    margin-bottom: 12px;
  }
}

/* 【SP-12】GC料金表(SP): リスト項目セルの罫線だけ1pxのままで
   太さが揃っていなかったため統一 (2026-09-12、その後1pxに) */
@media screen and (max-width: 750px) {
  .svc2_wrap .svc2_price_table.svc2_price_gc td.svc2_item {
    border-top-width: 1px;
    border-left-width: 1px;
  }
}

/* 【SP-04追】WEF図(SP): 矢印とブロックの間隔をもう少し開ける 5px→10px (2026-09-12) */
@media screen and (max-width: 750px) {
  .why2_wef_arrow {
    margin: 0 10px;
  }
}

/* 【SP-06追】OECDグラフ(SP): バーの下余白を詰める 10px→4px (2026-09-12) */
@media screen and (max-width: 750px) {
  .why2_oecd_bar {
    margin-bottom: 4px;
  }
}

/* 【SP-06追】カード見出し共通(SP): OECDに合わせ上下24pxに (2026-09-12) */
@media screen and (max-width: 750px) {
  .why2_card_ttl {
    padding-top: 24px;
    padding-bottom: 24px;
  }
}

/* 【SP-04追2】WEF図(SP): 左ブロックが2行のとき右ブロックの高さも揃える
   （行をstretchにし、ブロック内テキストは上下センター） 2026-09-12 */
@media screen and (max-width: 750px) {
  .why2_wef_row {
    align-items: stretch;
  }
  .why2_wef_row .why2_wef_box {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .why2_wef_row .why2_wef_arrow {
    align-self: center;
  }
}

/* 【追加】CASE一覧ページ: 記事未公開時のTO BE UPDATED表示（トップと同デザイン） 2026-09-12 */
.case_list_wrap .case_comingsoon {
  width: 100%;
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 600;
  color: #999;
  font-size: 38px;
  letter-spacing: 4px;
  padding: 100px 0 160px;
}

@media screen and (max-width: 750px) {
  .case_list_wrap .case_comingsoon {
    font-size: 23px;
    letter-spacing: 2px;
    padding: 50px 0 80px;
  }
}

/* 【SP追加】ABOUT代表キャプション: SPでは英語名を日本語名の横に並べる (2026-09-12) */
@media screen and (max-width: 750px) {
  .ab2_intro_photo figcaption .about2026_en,
  .ab2_intro_photo figcaption span.about2026_en {
    display: inline;
    margin-left: 0.6em;
    margin-top: 0;
  }
}

/* 【SP追加】CASE/ARTICLESフィルタボタン: 2行ラベルの行は1行ボタンも同じ高さに揃え、
   テキストは上下センター (2026-09-12) */
@media screen and (max-width: 750px) {
  .case_anchor_container,
  .articles_anchor_container {
    align-items: stretch;
  }
  .case_anchor_container a,
  .articles_anchor_container a {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
