body {
    font-size: 16px;
    margin: 0 auto;
    font-family: "Noto sans JP";
    font-weight: 600;
    overflow-x: hidden;
}

.sp,.tb {
    display: none;
}

.pc {
    display: block;
}


header {
  display: flex;
  align-items: center;
  padding: 10px 20px;
  position: relative;
  z-index:999;
  position: fixed;
  width: calc(100% - 80px);
  background: #fff;
}

header.scrolled {
  background-color: #fff;
}

.w-main {
    max-width: 1000px;
    margin: 0 auto;
}

a {
    text-decoration: none;
    color: #282828;
}


/* font-family */

.outfit_exbold {
    font-family: "Outfit", sans-serif;
    font-weight: 800;
}

.outfit_bold {
    font-family: "Outfit", sans-serif;
    font-weight: 700;
}

.outfit_semibold {
    font-family: "Outfit", sans-serif;
    font-weight: 600;
}

.outfit_regular {
    font-family: "Outfit", sans-serif;
    font-weight: 400;
}

/* font-size */

h1 {
    font-size: 4.5rem;
}

.sub_title {
    font-size: 2rem;
} 

/* color */
.text_red {
    color: #f10903;
}

.text_white {
    color: #fff;
}

.text_black {
    color: #282828;
}


/* letter-spacing */
.letter_spacing_8 {
    letter-spacing: 0.3rem;
}

.letter_spacing_4 {
    letter-spacing: 0.64px;
}

.letter_spacing_2 {
    letter-spacing: 0.4px;
}


/* 下線デザイン */
.under_line_black {
    border-bottom: 1px solid #282828;
}


.grid {
    display: grid;
}

.grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2列 */
}

.grid-3col {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; /* 3列 */
}

.grid-4col {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr; /* 4列 */
}


/* 赤矢印デザイン */
.arrow-red {
    position: relative;
    width: 10px;           /* 全体の長さ調整 */
    height: 2px;          /* 棒の太さ（調整可能） */
    background: #f10903;   /* 棒の色 */
    border-radius: 6px;
}

/* 矢印部分（→ 右矢） */
.arrow-red::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 8px;
    height: 8px;
    border-top: 2px solid #f10903;
    border-right: 2px solid #f10903;
    transform: translateY(-50%) rotate(45deg);
    border-radius: 2px;
}

/* 左の短いバー（–） */
.arrow-red::before {
    content: "";
    position: absolute;
    left: -5px;     /* 位置調整 */
    top: 50%;
    width: 3px;     /* 長さ */
    height: 2px;     /* 太さ */
    background: #f10903;
    transform: translateY(-50%);
    border-radius: 3px;
}

/* 白矢印デザイン */
.arrow-white {
    position: relative;
    width: 10px;           /* 全体の長さ調整 */
    height: 2px;          /* 棒の太さ（調整可能） */
    background: #fff;   /* 棒の色 */
    border-radius: 6px;
}

/* 矢印部分（→ 右矢） */
.arrow-white::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateY(-50%) rotate(45deg);
    border-radius: 2px;
}

/* 左の短いバー（–） */
.arrow-white::before {
    content: "";
    position: absolute;
    left: -5px;     /* 位置調整 */
    top: 50%;
    width: 3px;     /* 長さ */
    height: 2px;     /* 太さ */
    background: #fff;
    transform: translateY(-50%);
    border-radius: 3px;
}


/* header デザイン */
header {
    padding: 0 40px;
}

header img {
        width: 100%;
    height: 50px;
    object-fit: contain;
}

.global-nav {
  padding-left: 64px;
  margin-right: auto;
}
.nav.white a {
  color: #fff !important;
}

.global-nav a:hover {
	opacity: 0.5;
}

.global-nav .dropdown_menu a:hover {
	opacity: 1;
}

.global-nav .dropdown_menu a:hover p {
	opacity: 0.7;
}

.nav-list {
    display: flex;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-list li {
  list-style: none;
}

.nav-list li a {
    text-decoration: none;
    color: #333;
    font-size: 14px;
    line-height: 74px;
    display: flex;
    align-items: center;

}

.down-red {
    width: 0;
    height: 0;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 5px solid #f10903;
    margin: 6px;
}

/* ▼ ドロップダウン ▼ */
.has-dropdown {
    position: static;
}

.has-dropdown:hover .down-red {
	transform: rotate(60deg);
}

.dropdown {
    position: absolute;
    top: 95%;
    left: 50%;
    transform: translatex(-50%);
    list-style: none;
    background: #282828;
    padding: 40px 0;
    display: none;
    width: 100vw;
    z-index: 10;
}

.dropdown li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 246px;
    color: #fff;
    white-space: nowrap;
    line-height: 14px;

}

.dropdown li img {
    width: 4%;
}

.dropdown li a p {
    margin: 0;
}

.dropdown li:nth-child(3) a,
.dropdown li:nth-child(4) a {
    padding: 24px 0;
}
.dropdown li:nth-child(5) a,
.dropdown li:nth-child(6) a {
padding: 0px 0 24px 0;
}

.has-dropdown:hover .dropdown {
    display: block;
}

.dropdown_menu {
  width: 60%;
  display: grid;
  gap: 10px;
  margin: 0 auto;
  grid-template-columns: repeat(2, 1fr);
}

.header_contact {
    background: #282828;
    border-radius: 50px;
}

.header_contact:hover {
	opacity: 0.9;
}

.header_contact a {
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    width: 135px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}




/* footer デザイン */
footer {
    padding: 80px 48px;
}

.footer_top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 40px;
    border-bottom: 1px solid #dcdcdc;
}

.footer_company_nav_part {
    display: flex;
    align-items: flex-start;
    gap: 80px;
    font-weight: bold;
    font-size: 14px;
}

.footer_company_info_area img {
    padding-bottom: 32px;
}

.footer_company_info_area p {
    margin: 0;
    font-size: 12px;
    line-height: 20px;
}

.footer_company_info_area .footer_company_location {
    font-weight: 700;
}

.footer_nav_area {
    display: flex;
    align-items: flex-start;
    gap: 80px;
}

.footer_nav_area li {
    list-style: none;
    padding-bottom: 24px;
}

.footer_nav_area li:last-child {
    padding-bottom: 0;
}

.footer_nav_area ul {
    margin: 0;
    padding: 0;
}

.footer_nav_area a:hover {
	opacity: 0.5;
}

.footer_mark_area {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.footer_mark_area > img {
    width: 100px;
    height: 100px;
}

.footer_mark_box img {
    width: 200px;
    height: 80px;
}

.footer_mark_box p {
    margin: 0;
    padding-top: 8px;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
}

.footer_bottom {
    padding-top: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
}

.footer_policy_part {
    display: flex;
    align-items: center;
    gap: 24px;
}

.footer_weight_light {
	font-weight: 500;
}


/* HOME ページ */
.home .w-main {
	max-width: 1200px;
}

.home_top {
    position: relative;
}

.home_top_back {
    position: relative;
    width: 100%;
    height: calc(100vh - 74px);
}

.home_top_back > img {
    /*width: 100%;
    height: calc(100vh - 75px);*/
    position: absolute;
    /*top: -10%;
    right: 0;*/
    z-index: -1;
}

.home_top_back_1 img {
    width: 54.8%;
    position: absolute;
    /*top: 15.5vw;
    right: 7.6vw;*/
    z-index: -2;
	top: 24.5vw;
	right: 5.6vw;
}

.home_top_back_2 img {
    width: 61.5404%;
    position: absolute;
    /*top: -6vw;
    right: 20.8vw;*/
    z-index:-2;
	top: 5vw;
	right: 20.8vw;
}

.home_top_back_3 img {
    width: 21.704%;
    position: absolute;
    /*top: 7.8vw;
    right: 0;*/
    z-index: -3;
	top: 18.8vw;
	right: 0;
}

.home_top_back_4 img {
    width: 54.8%;
    position: absolute;
    /*top: 3.4vw;
    right: 14.8vw;*/
    z-index: -2;
	top: 14.4vw;
	right: 14.8vw;
}

.home_top_back_5 img {
    width: 54.8%;
    position: absolute;
    /*top: -7.3vw;
    right: 23.5vw;*/
    z-index: -2;
	top: 4.3vw;
	right: 24vw;
}

/*.home_top_back_6 video {
    position: absolute;
    top: -7.2vw;
    right: 14.7vw;
    width: 63.69741%;
    z-index: -1;
}*/


.home_top h1 {
    /* background: #000; */
    color: #fff;
    display: inline-block;
    margin: 5px 0;
    line-height: 1;
}

.home_top h1 > div {
    padding: 8px 16px 15px;
}

.home_top_subtitle {
    font-size: 2.25rem;
    opacity: 0.5;
    margin: 30px 0;
}

.home_top_titlebox {
    position: absolute;
    top: 50%;
    left: 6%;
    transform: translateY(-50%);
}

.home_top_title {
    width: 1000px;
}

.home_top_title h1 {
    letter-spacing: 0.3rem;
}

.scroll_down {
    position: absolute;
    top: 70%;
    right: 3%;
}

.scroll_down p {
    writing-mode: vertical-rl;
    white-space: nowrap;
}

.home_philosophy_area {
    margin-top: 50px;
    padding: 100px 0;
    position: relative;
}

.home_philosophy_bg_blur {
    /* position: relative; */
    width: 100%;
    overflow: hidden;
}

.home_philosophy_bg_blur::before {
    content: "";
	width: 712px;
	height: 712px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url("https://tre-pro.co.jp/wp-content/uploads/back_circle-e1766972898328.png");
    background-size: contain;
	background-repeat: no-repeat;
    background-position: center;
    filter: blur(60px); /* ← ぼかし量 */
    transform: scale(0.9); /* ぼかしで端が欠けるのを防止 */
    z-index: -1;
    opacity: 0.4;
	animation: rotate 10s linear infinite;
}

@keyframes rotate {
  from {
    transform: translate(-50%, -50%) rotate(0deg) scale(1);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg) scale(1);
  }
}

.home_philosophy_content {
    text-align: center;
    border-bottom: 1px solid #8C8C8C;
}

.home_philosophy_content p {
    font-weight: 800;
    line-height: 65px;
}

.home_philosophy_more_button {
    margin: 80px 0;
}

.home_philosophy_more_button .more_button {
    justify-content: center;
}

.more_button {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #282828;
}

.more_button p {
    font-weight: bold;
    line-height: 32px;
    padding: 0 16px;
    font-size: 18px;
}

.more_button_arrow_circle {
    border: 2px solid #DCDCDC;
    border-radius: 50%;
    width: 80px;
    height: 80px;
	position: relative;
}

.more_button_arrow_circle::after {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid #e60012;
  clip-path: circle(50% at 50% 50%);
  opacity: 0;
  transform: rotate(0deg);
}

.home_link_area .home_link_box a:hover .more_button_arrow_circle::after {
	opacity: 1;
	animation: drawCircle 1.2s linear forwards;
	border: 2px solid #fff;
	width: 80px;
    height: 80px;
    top: -2px;
    left: -2px;
}

.home_philosophy_more_button .more_button_arrow_circle::after {
	width: 80px;
    height: 80px;
}

.home_link_area .home_link_box,
.home_sns_marketing_content_area .more_button_arrow_circle,
.home_news_part .more_button_arrow_circle,
.home_staff_area .more_button_arrow_circle,
.training_business_area .more_button_arrow_circle,
.staff_list_box .more_button_arrow_circle,
.service_area .home_service_box .more_button_arrow_circle {
	position: relative;
}

.article_list_area .more_button_arrow_circle::after {
	content: none;
}

.more_button_arrow_circle:hover::after {
  opacity: 1;
  animation: drawCircle 0.3s linear forwards;
}

.more_button:hover .more_button_arrow_circle::after {
  opacity: 1;
  animation: drawCircle 0.3s ease-out forwards;
}


@keyframes drawCircle {
  0% { clip-path: polygon(50% 50%, 100% 50%, 100% 50%); }
  2.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 55%); }
  5% { clip-path: polygon(50% 50%, 100% 50%, 100% 60%); }
  7.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 65%); }
  10% { clip-path: polygon(50% 50%, 100% 50%, 100% 70%); }
  12.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 75%); }
  15% { clip-path: polygon(50% 50%, 100% 50%, 100% 80%); }
  17.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 85%); }
  20% { clip-path: polygon(50% 50%, 100% 50%, 100% 90%); }
  22.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 95%); }
  25% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 95% 100%); }
  27.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 85% 100%); }
  30% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 75% 100%); }
  32.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 65% 100%); }
  35% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 55% 100%); }
  37.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 45% 100%); }
  40% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 35% 100%); }
  42.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 25% 100%); }
  45% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 15% 100%); }
  47.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 5% 100%); }
  50% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 95%); }
  52.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 85%); }
  55% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 75%); }
  57.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 65%); }
  60% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 55%); }
  62.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 45%); }
  65% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 35%); }
  67.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 25%); }
  70% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 15%); }
  72.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 5%); }
  75% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 0%, 5% 0%); }
  77.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 0%, 15% 0%); }
  80% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 0%, 25% 0%); }
  82.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 0%, 35% 0%); }
  85% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 0%, 45% 0%); }
  87.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 0%, 55% 0%); }
  90% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 0%, 65% 0%); }
  92.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 0%, 75% 0%); }
  95% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 0%, 85% 0%); }
  97.5% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 0%, 95% 0%); }
  100% { clip-path: polygon(50% 50%, 100% 50%, 100% 100%, 0% 100%, 0% 0%, 100% 0%, 100% 50%); }
}


.more_button_arrow_circle .arrow-red {
    top: 50%;
    left: 48%;
}

.home_philosophy_performance {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.home_philosophy_performance_box {
    padding-top: 40px;
}

.home_philosophy_performance_operation {
    border-right: 1px solid #8C8C8C;
    padding-right: 80px;
	width: 340px;
}

.home_philosophy_performance_SNS {
    padding-left: 80px;
}

.home_philosophy_performance_operation > .letter_spacing_2 > .home_small_text,
.home_philosophy_performance_SNS > .letter_spacing_2 > .home_small_text {
    font-size: 2rem;
}

.home_philosophy_performance_box p {
    margin: 0;
    font-size: 20px;
}

.home_philosophy_performance_box p:nth-child(2) {
    font-size: 4.5rem;
    font-weight: bold;
}

.checkbox-icon {
    width: 24.93px;
    height: 24.93px;
    /* background-color: #ededed; */
    border: 1px solid #c6c6c6;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.checkbox-icon::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 22px;
    border: solid #f10903;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
    top: -7px;
    right: -2px;
    border-radius: 2px;
}

.checkbox-icon-container {
    padding-top: 3px;
    display: flex;
    gap: 30px;
    align-items: center;
}

.home_sns_marketing {
    padding: 120px 0;
    background: #ededed;
    overflow: hidden;
}

.big_title {
    color: #fff;
    font-size: 6.5rem;
    line-height: 6rem;
}

.big_title p {
    margin: 0;
}

.red_subtitle {
    color: #f10903;
    font-size: 1rem;
    display: flex;
    align-items: center;
    font-weight: bold;
}

.red_subtitle::before {
    content: '';
    width: 8px;
    height: 9px;
    border-radius: 50%;
    background: #f10903;
    margin-right: 8px;
}

.sub_header {
    font-weight: bold;
    font-size: 2.25rem;
}

.sub_header p {
    margin: 30px 0;
}

.home_sns_marketing_list {
    padding-bottom: 40px;
}

.home_sns_marketing_list li {
    display: flex;
    align-items: center;
    text-decoration: none;
    padding-bottom: 24px;
}

.home_sns_marketing_list li:last-child {
    padding-bottom: 0;
}

.home_sns_marketing_list li:nth-child(2),
.home_sns_marketing_list li:last-child {
    align-items: flex-start;
}

.home_sns_marketing_list li p {
    padding-left: 20px;
    margin: 0;
    line-height: 32px;
}

.home_sns_marketing_area {
    display: flex;
    gap: 80px;
    align-items: center;
}

.home_sns_marketing_movie_area {
    width: 50%;
    height: 100vh;
    /* background: url("/static/images/home_sns_marketing_movie_bg_color.png");
    background-repeat: no-repeat; */
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.home_sns_marketing_movie_area::before {
    content: '';
    width: 100%;
    height: 100%;
    background: url("https://trend-produce.workspace-server.com/wp-content/uploads/home_sns_marketing_movie_bg_color.png");
    background-repeat: no-repeat;
    position: absolute;
    top: 5%;
    left: 0;
    z-index: -1;
}
.home_sns_marketing_movie_area::after {
    content: '';
    width: 100%;
    height: 100%;
    background: url("https://trend-produce.workspace-server.com/wp-content/uploads/home_sns_marketing_movie_bg_white.png");
    background-repeat: no-repeat;
    position: absolute;
    top: 8%;
    right: -50%;
    z-index: -2;
}

.home_sns_marketing_movie {
    color: #fff;
    border-radius: 40px;
    width: 300px;
    height: 540px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.home_sns_marketing_movie video {
width:100%;
border-radius: 20px;
}
.home_news_part {
    padding: 120px 0;
    display: flex;
    gap: 40px;
}

.news_title_part .big_title {
    color: #ededed;
}

.news_title_part .sub_header {
    margin-top: 50px;
    font-size: 1.5rem;
}

.news_article_part {
    border-top: 1px solid #dcdcdc;
    width: 55%;
}

.news_article_content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 10px;
}

.news_article_content p {
    padding-right: 10px;
}

.news_article {
    padding: 15px 0;
    border-bottom: 1px solid #dcdcdc;
}

.news_article p {
    margin: 0;
}

.news_article a:hover .news_article_content p {
	color: #f10903;
}

.home_news_article_more {
    padding-top: 25px;
    display: flex;
    justify-content: right;
}

.home_news_article_more .more_button_arrow_circle {
    margin-right: 0;
    width: 48px;
    height: 48px;
}

.home_news_article_more .more_button_arrow_circle .arrow-red {
    left: 45%;
}

.home_news_article_more p {
    font-size: 15px;
    line-height: 24px;
}

.home_service_area {
    padding: 120px 0;
    background: #ededed;
    text-align: center;
}

.home_service_area .red_subtitle {
    justify-content: center;
}

.home_service_content {
    padding: 50px 0;
}

.home_service_box_wrapper {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 16px;
}

.home_service_box {
    background: #fff;
    border-radius: 16px;
    padding: 40px 30px;
    width: 390px;
    height: 420px;
    position: relative;
}

.home_service_box p {
    font-size: 14px;
}

.home_service_box img {
    width: 128px;
    height: 128px;
	object-fit: contain;
    padding-bottom: 24px;
}

.home_service_box .home_service_box_title  {
    font-weight: bold;
    font-size: 1.5rem;
    margin: 0;
}

.home_service_box_label {
    background: #000;
    color: #fff;
    display: inline-block;
    font-size: 14px;
    padding: 2px 24px;
    border-radius: 4px;
    margin-top: 24px;
    margin-bottom: 0;
    position: relative;
}

.home_service_box_wrapper:nth-child(1) .home_service_box:nth-child(1) .home_service_box_label,
.home_service_box_wrapper:nth-child(1) .home_service_box:nth-child(2) .home_service_box_label,
.home_service_box_wrapper:nth-child(1) .home_service_box:nth-child(3) .home_service_box_label{
    margin-top: 0px;
}
.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(1) .home_service_box_label{
    margin-top: 0px;
}
.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(2) .home_service_box_label{
    margin-top: 0px;
}
.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(3) .home_service_box_label{
    margin-top: 35px;
}
.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(4) .home_service_box_label{
    margin-top: 55px;
}
.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(1) .home_service_box_performance p:nth-child(2),
.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(3) .home_service_box_performance p:nth-child(2) {
    padding-bottom: 20px;
}

.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(2) .home_service_box_performance p:nth-child(2) {
    padding-left: 1em;
    text-indent: -1em;
}

.home_service_box_label::after {
    content: '';
    width: 248px;
    height: 1px;
    border-top: 1px solid #dcdcdc;
    position: absolute;
    top: 50%;
    left: 77px;
    transform: translateY(-50%);
}

.home_service_box_wrapper:nth-child(2) .home_service_box_label::after {
    width: 150px;
}

.home_service_box_more .more_button_arrow_circle {
    width: 36px;
    height: 36px;
    border: 1px solid #DCDCDC;
}

.home_service_box_more .more_button_arrow_circle .arrow-red {
    width: 8px;
}

.home_service_box_more .more_button_arrow_circle .arrow-red::after {
    width: 6px;
    height: 6px;
}

.home_service_box_performance {
    text-align: left;
}

.home_service_box:nth-child(5) .home_service_box_performance p:nth-child(2) {
    text-indent: -0.8rem;
    margin-left: 0.8rem;
}

.home_service_box_more .more_button {
    justify-content: end;
}
.home_service_box_more {
    position: absolute;
    right: 20px;
    bottom: 20px;
}

.box_ribbon::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 16px 0 0 0;
    width: 98px;
    height: 98px;
    background: linear-gradient(95deg, #EF8934 0%, #F10903 58%);
    clip-path: polygon(0 0, 100% 0, 0 100%);
}

.box_ribbon_number {
    position: absolute;
    top: 15px;
    left: 15px;
    color: white;
    font-size: 28px;
    z-index: 1;
}

.home_service_link_wrapper {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
}

.home_service_link_box a {
    position: relative;
    display: block;
    width: 592px;
    height: 138px;
}

.home_service_link_box a:hover img {
	opacity: 0.6;
}

.home_service_link_box_content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    width: 396px;
    height: 68px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

.home_service_link_box:nth-child(2) .home_service_link_box_content {
    width: 356px;
}

.home_service_link_text p {
    margin: 0;
    font-size: 15px;
}

.home_service_link_text p:nth-child(1) {
    font-size: 2.25rem;
    font-weight: bold;
    margin-left: -2px;
}

.home_staff_area {
    padding: 120px 0;
}

.home_staff_area .big_title {
    color: #dcdcdc;
    text-align: center;
}

.home_staff_area .red_subtitle {
    justify-content: center;
}

.home_staff_slide_part {
    display: flex;
    align-items: center;
    gap: 40px;
    padding: 40px 0;
    width: 100%;
    margin: 0 auto;
}

.home_staff_slide_container {
    overflow: hidden;
    width: 100%;
}

.home_staff_slide_wrapper {
    display: flex;
    gap: 40px;
    transition: transform 0.5s ease;
}

/* 矢印ボタンの基本スタイル */
.arrow-nav {
    cursor: pointer;
    transition: transform 0.3s, opacity 0.3s;
    flex-shrink: 0;
}

.arrow-nav:hover {
    transform: scale(1.1);
}

.arrow-nav:active {
    transform: scale(0.95);
}

/* 矢印の表示制御 */
.arrow-nav {
    display: none;
}

.reverse_arrow_circle {
    width: 64px;
    height: 64px;
}

.reverse_arrow_circle .reverse-arrow {
    left: 40%;
}

.reverse-arrow {
    transform: rotate(180deg);
}

.home_staff_slide_wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    padding-left: calc((423px + 40px)* 3);
}

.home_staff_slide_part .more_button_arrow_circle {
    margin-right: 0;
    width: 64px;
    height: 64px;
}

.home_staff_slide_box {
    box-shadow: 0 0 16px 0 #ededed;
    border-radius: 24px;
    padding: 24px 32px 40px;
    max-height: 700px;
    width: 400px;
    margin: 10px 0;
}

.home_staff_slide_box img {
    margin: 0 auto;
    display: block;
    width: auto;
    height: 300px;
}

.home_staff_slide_box p {
    margin: 0;
	text-align: left;
}

.home_staff_slide_name_box {
    display: flex;
    align-items: end;
    padding: 20px 0 24px;
    width: 360px;
}

.home_staff_slide_position {
    font-size: 15px;
}

.home_staff_slide_name_en {
    font-size: 12px;
}

.home_staff_slide_name {
    font-weight: 900;
    font-size: 1.5rem;
    line-height: 1.2;
    padding-right: 20px;
}

.home_staff_slide_content {
    font-size: 15px;
}

.home_staff_more .more_button {
    justify-content: center;
}

.home_staff_more .more_button p {
    font-size: 15px;
}

.home_staff_more .more_button_arrow_circle {
    width: 48px;
    height: 48px;
}

.home_staff_more .more_button_arrow_circle .arrow-red {
    left: 45%;
}

/* スライダーコンテナ */
.slider_container {
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    width: 75%;
}

/* スライダーラッパー */
.slider_wrapper {
    display: flex;
    transition: transform 0.5s ease;
    gap: 30px;
}

/* トランジションなし（瞬間移動用） */
.slider_wrapper.no-transition {
    transition: none;
}

/* 各スタッフカード */
.staff_slide {
    min-width: 45%;
    padding: 0 15px;
    flex-shrink: 0;
}

.staff_card {
    padding: 30px;
    border-radius: 8px;
    text-align: center;
    transition: transform 0.3s, box-shadow 0.3s;
}

/* 矢印ボタン */
.arrow_button {
    background-color: #fff;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.arrow_button:disabled {
    background-color: #fff;
    cursor: not-allowed;
    transform: scale(1);
}

.home_staff_slide_part .more_button_arrow_circle .arrow-red {
    top: 0;
    left: 6%;
}

.home_staff_slide_part .reverse_arrow_circle .reverse-arrow {
    left: -5%;
}

.text-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: max-height 0.3s ease;
  text-align: left;
}

.course-description-wrapper {
	text-align: right;
}

.toggle-btn {
	border: none;
	background-color: #fff;
	margin-top: 10px;
	outline: none;
}

.toggle-btn:hover {
	cursor: pointer; 
}
.toggle-btn:focus {
  outline: none;
}


.home_flow_area {
    padding: 120px 0;
    background-color: #ededed;
}

.home_flow_wrapper {
    display: flex;
    padding-top: 48px;
    gap: 50px;
    position: relative;
}

.home_flow_red_line {
    position: absolute;
    width: 1000px;
    height: 4px;
    background-color: #f10903;
    top: 37%;
    left: 50%;
    transform: translatex(-50%);
    z-index: 1;
}

.home_flow_box {
    width: 200px;
    height: 370px;
    z-index: 2;
}

.home_flow_box p {
    margin: 0;
}

.home_flow_image {
    background-color: #fff;
    border-radius: 100px;
    min-width: 200px;
    min-height: 200px;
    text-align: center;
    box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.08);
}

.home_flow_image p {
    background: linear-gradient(to right, #ef8934 0%, #f10903 53%, #fe4a9d 98%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 2rem;
    display: inline-block;
    margin: 20px 0 0;
}

.home_flow_image img {
    width: 80px;
    height: 80px;
    margin: 16px auto 0;
    display: block;
}

.home_flow_box_title {
    font-weight: bold;
    font-size: 1.5rem;
    text-align: center;
    padding: 16px 0;
    line-height: 1;
}

.home_flow_content {
    font-size: 15px;
    line-height: 24px;
}

.home_blog_area {
    padding: 120px 0 160px;
}

.home_blog_area .big_title {
    color: #dcdcdc;
}

.home_blog_wrapper {
    display: flex;
    align-items: flex-start;
    padding-top: 48px;
    gap: 38px;
}

.home_blog_box {
    width: 348px;
    height: 492px;
}

.home_blog_box p {
    margin: 0;
}

.home_blog_box_title {
    font-weight: 600;
    font-size: 2rem;
    padding-bottom: 24px;
}

.home_blog_box img {
    width: 348px;
    height: 196px;
}

.home_blog_box_category_date {
    display: flex;
    align-items: center;
    font-size: 14px;
    padding-top: 24px;
}

.home_blog_box .home_blog_box_category {
    display: inline-block;
    background-color: #f10903;
    color: #fff;
    border-radius: 4px;
    padding: 2px 20px;
    margin-right: 8px;
}

.home_blog_box_subtitle {
    font-weight: bold;
    padding: 16px 0;
    line-height: 24px;
}

.home_blog_box_content {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* 2行まで表示 */
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 14px;
    line-height: 22px;
}

.home_blog_box_more {
    padding-top: 24px;
}

.home_blog_box_more .more_button {
    justify-content: end;
}

.home_blog_box_more .more_button p {
    font-size: 15px;
}

.home_blog_box_more .more_button_arrow_circle {
    width: 48px;
    height: 48px;
}

.home_blog_box_more .more_button_arrow_circle .arrow-red {
    left: 45%;
}

.home_blog_line {
    width: 1px;
    height: 530px;
    background-color: #dcdcdc;
}

.home_link_area {
    display: flex;
}

.home_link_box {
	width: 100%;
}

.home_link_box a {
    background: #282828;
    color: #fff;
    padding: 48px 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.home_link_box a:hover {
	background: #636363;
}

.home_link_box:nth-child(1) {
    border-right: 1px solid #fff;
}

.home_link_box p {
    margin: 0;
    font-weight: bold;
}

.home_link_big_font {
    font-size: 3rem;
}

.home_link_area .arrow-white {
    top: 50%;
    left: 48%;
}


/* 記事一覧　ページ */
.article_list_area {
    padding: 120px 0;
}

.article_list_area .news_article_part {
    margin: 80px 0;
    width: 100%;
}

.article_list_area .news_article {
/*     display: none; */
}

.article_list_area .news_article.active {
    display: block;
}

.article_list_area .news_article_part {
    border-top: none;
}

.article_list_area .news_article:nth-child(10n) {
    border-bottom: none;
}

.article_list_area .pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.article_list_area .pagination button {
    border: none;
    background-color: #fff;
}

.article_list_area .more_button_arrow_circle {
    width: 54px;
    height: 54px;
    background-color: #282828;
}

.article_list_area .arrow-white {
    top: 50%;
    transform: translateY(-50%);
    left: 45%;
}

.article_list_area button:disabled .more_button_arrow_circle {
    background-color: #fff;
} 

.article_list_area button:disabled .arrow-white::after {
    border-color: #dcdcdc;
}

.article_list_area button:disabled .arrow-white,
.article_list_area button:disabled .arrow-white::before {
    background: #dcdcdc;
}

.article_list_area .prev-btn .arrow-white {
    transform: rotate(180deg);
    left: 39%;
}

.article_list_area .page-numbers {
    display: none;
}


/* 記事ページ */
.article_detail_area {
    padding: 80px 0 20px;
    font-weight: 500;
} 

.article_title p {
    font-size: 2.5rem;
    margin: 10px 0;
    line-height: 54px;
}

.article_date p {
    font-size: 20px;
    margin: 0;
}

.article_content {
    margin: 60px 0 80px;
}
.article_content .size_10 {
width:10%;
}
.article_content .size_20 {
width:20%;
}
.article_content .size_30 {
width:30%;
}
.article_content .size_40 {
width:40%;
}
.article_content .size_50 {
width:50%;
}
.article_content .size_60 {
width:60%;
}
.article_content .size_70 {
width:70%;
}
.article_content .size_80 {
width:80%;
}
.article_content .size_90 {
width:90%;
}
.article_detail_area img {
    width: 100%;
	height: auto;
	object-fit: cover;
}


/* 研修事業ページ */
.training_business_area {
    padding: 120px 0 0;
}

.training_business_part {
    padding: 120px 0;
    margin-top: 120px;
    background-color: #f5f5f5;
}

.training_business_title p {
    font-size: 53px;
    margin: 0;
}

.training_business_explanation p {
    line-height: 24px;
}

.training_business_type_wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 60px;
}

.training_business_type_box {
    background-color: #fff;
    width: calc(320px - 64px);
    height: calc(353px - 40px);
    border-radius: 24px;
    padding: 20px 32px;
    position: relative;
}

.training_business_type_title {
    font-size: 24px;
    text-align: center;
    margin-bottom: 15px;
    font-weight: bold;
}

.training_business_type_content {
    line-height: 24px;
}

.training_business_type_box .more_button {
    position: absolute;
    bottom: 20px;
    right: 32px;
}

.training_business_type_box .more_button_arrow_circle {
    width: 38px;
    height: 38px;
}

.training_business_type_box .more_button_arrow_circle .arrow-red {
    left: 45%;
}

/* AI/DX研修ページ */
.training_category .training_business_type_box {
    width: auto;
    height: auto;
	padding: 30px 60px 30px 45px;
	border-radius: 16px;
    margin-top: 60px;
	display: inline-block;
    position: relative;
    z-index: 20;
}

.training_category .training_business_type_box ul {
    padding-left: 0;
    margin: 5px 0 0;
}

.training_category .training_business_type_box ul li {
    list-style: none;
    position: relative;
    padding-bottom: 10px;
    padding-left: 15px;
}

.training_category .training_business_type_box ul li::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50px;
    position: absolute;
    top: 28%;
    left: 0; 
    background-color: #dcdcdc;
}

.training_category_images {
    position: relative;
    top: -300px;
}

.training_category_images > img {
    position: absolute;
    right: -2%;
}

.skew_box {
    display:inline-block;
    width: 300px;
    height: 377px;
    transform: skew(-45deg);
    overflow: hidden;
    position: absolute;
    right: 14%;
    top: -45px;
    z-index: 10;
}

.skew_image {
    object-position: 50% 50%;
    object-fit: cover;
    transform: skew(45deg) translate(-26%, -37%);
}

.appeal_area {
    padding: 200px 0 220px;
	overflow: hidden;
}

.appeal_wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 19px;
    margin-top: 40px;
}
.appeal_wrapper > .home_service_box {
height: 220px;
}

.appeal_box {
    box-shadow: 0 0 16px 0 #ededed;
    min-height: calc(280px - 60px);
}

.appeal_box .home_service_box_title {
    padding: 15px 0;
    text-align: center;
    line-height: 36px;
	font-size: 24px;
}

.appeal_box p {
    font-size: 16px;
    line-height: 24px;
    padding: 0;
}

.appeal_content_wrapper {
    padding-top: 200px;
    position: relative;
}


.appeal_content_images > img {
    position: absolute;
    top: 20%;
    left: -35%;
}

.appeal_content_images .skew_box {
    height: 420px;
    right: auto;
    left: -8%;
    top: 40%;
}

.appeal_content_part {
    width: 51%;
    margin-left: auto;
    margin-right: 0;
}

.appeal_content_part .training_business_title p {
	font-size: 40px;
	line-height: 54px;
}

.appeal_content_text {
    padding-top: 10px;
}

.appeal_content_text p {
    margin: 20px 0;
    line-height: 24px;
}

.appeal_content_cost {
    padding-top: 10px;
    font-size: 20px;
	line-height: 32px;
    font-weight: 900;
}

.appeal_content_cost::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50px;
    display: inline-block;
    background-color: #282828;
    margin-right: 8px;
    margin-bottom: 3px;
}

.appeal_skew_image {
    transform: skew(45deg) translate(-27%, -25%) scale(0.9);
    filter: saturate(0.4) brightness(1.05);
}


/* contact */
.contact_area {
    padding: 120px 0;
    background-color: #f5f5f5;
}

.contact_area .big_title {
    text-align: center;
    color: #dcdcdc;
	margin-bottom: 100px;
}

.contact_form {
    width: 75%;
    margin: 40px auto 0;
    font-size: 18px;
    font-weight: bold;
}

.form_name {
    display: flex;
    align-items: center;
    gap: 40px;
}

.form_name > div {
    width: 100%;
}

.contact_form .grid label {
    padding-bottom: 10px;
    padding-left: 15px;
}

.form-company {
    font-size: 12px;
    padding-left: 20px;
}

.contact_details {
    padding-left: 15px;
    display: flex;
    gap: 60px;
}

.form_privacy_policy {
    padding-left: 15px;
}

.contact_details p {
    margin-top: 10px;
}

.contact_form .grid,
.contact_details,
.form_privacy_policy {
    margin-bottom: 30px;
}

.contact_form .form_name input[type="text"] {
    width: 85%;
}

.contact_form input[type="text"],
.contact_form input[type="email"],
.contact_form input[type="tel"] {
    border: none;
    padding: 20px 30px;
    border-radius: 50px;
    width: 93%;
    margin-top: 10px;
}

.contact_form input[type="text"]:focus-visible,
.contact_form input[type="email"]:focus-visible,
.contact_form input[type="tel"]:focus-visible {
    outline: none;
}

.contact_form fieldset {
    border: none;
}

.contact_form .grid > p {
    margin: 0;
}

.radio-group label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 5px;
    cursor: pointer;
    padding: 10px 0;
    border-radius: 4px;
    transition: background-color 0.3s
}

.radio-group input[type="radio"] {
    appearance: none;
    width: 20px;
    height: 20px;
    background-color: #fff;
    border-radius: 50%;
    cursor: pointer;
    position: relative;
    transition: all 0.3s;
	margin: 3px 0 0;
}

.radio-group input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #f10903;
}

.submit-btn-orange {
    border: none;
    background: linear-gradient(95deg, #EF8934 0%, #F10903 58%);
    padding: 18px 60px 18px 85px;
    letter-spacing: 1em;
    border-radius: 20px;
    color: #fff;
    font-family: "Noto Sans JP";
    font-size: 24px;
    font-weight: bold;
    display: block;
    margin: 40px auto 0;
}

.contact_title_area {
    padding: 100px 0;
}

.contact_page {
    padding: 80px 0 120px;
}

.contact_page .wpcf7-list-item {
	margin: 0;
}

.thanks_text {
text-align: center;
}
/* SNS研修 */
.sns .training_category .training_business_type_box {
    position: relative;
    z-index: 20;
	padding-right: 30px;
}

.sns .appeal_area {
	padding-bottom: 200px;	
}

.sns .training_category .skew_image {
    width: 676px;
    height: 377px;
    transform: skew(45deg) translate(-37%, -7%) scale(1.4);
}

.sns .appeal_box {
    min-height: calc(400px - 60px);
}

.sns .appeal_box:nth-child(1) p:nth-child(3) {
    margin-top: 50px;
}

.sns .appeal_skew_image {
    transform: skew(45deg) translate(-33%, 27%) scale(1.6);
    filter: saturate(0.4) brightness(1.05);
}

.sns .appeal_content_images > img {
	top: 28%;
}

.sns .appeal_content_images .skew_box {
	top: 50%;
}


/* セキュリティ研修 */
.security .home_service_box {
	padding: 40px 25px;
}

.security .skew_image {
    transform: skew(45deg) translate(-18%, -26%) scale(0.75);
}

.security .appeal_content_images {
    top: -590px;
}

.security .appeal_wrapper > .home_service_box {
	height: 280px;
}

.security .appeal_skew_image {
    transform: skew(45deg) translate(-31%, 12%) scale(1.3);
    filter: saturate(0.4) brightness(1.05);
}

.security .appeal_content_images > img {
	top: 15%;
}

.security .appeal_content_images .skew_box {
	top: 30%;
}


/* 事業概要ページ */
.service_area {
    padding-top: 120px;
}

.service_category_part {
    padding: 120px 0;
    margin-top: 120px;
    background-color: #f5f5f5;
}

.service_area .home_service_box {
    width: 90%;
	padding: 30px;
	height: auto;
    max-height: none;
    box-shadow: 0 0 16px 0 #dcdcdc;
}

.service_category_box {
    display: flex;
    gap: 20px;
}

.service_category_images {
	width: 25%;
    border-right: 1px solid #dcdcdc;
    padding-right: 10px;
    text-align: center;
}

.service_category_images img {
    width: 80%;
    height: auto;
    margin: 110px auto 40px;
}

.service_area .home_service_box:nth-child(3) .service_category_content ul.grid-2col {
	gap: 0 17px;
}

.service_area .home_service_box:nth-child(1) .service_category_content ul,
.service_area .home_service_box:nth-child(7) .service_category_content ul {
	padding-bottom: 0px;
	margin-bottom: 0px;
}

.service_area .home_service_box:nth-child(6) .service_category_images img {
    width: 90%;
    margin-bottom: 30px;
}
.service_area .home_service_box:nth-child(7) .service_category_images img {
    width: 90%;
    margin-bottom: 30px;
}
.service_area .home_service_box:nth-child(8) .service_category_images img {
    width: 75%;
    margin-bottom: 20px;
}

.service_area .home_service_box:nth-child(3) .service_category_content .service_category_tab {
	margin-bottom: 0px;
}

.service_area .home_service_box:nth-child(3) .service_category_images img {
	margin-top: 130px;
}

.service_category_images .more_button {
    display: block;
}

.service_category_images .more_button_arrow_circle {
    margin: 0 auto;
}

.service_category_images .more_button p {
    margin: 0;
    font-weight: 800;
	padding: 0;
}

.service_area .service_category_content p {
    font-size: 15px;
    margin: 10px 0;
}

.service_area .service_category_content .service_category_content_tittle {
    font-size: 22px;
    margin: 0;
    font-weight: bold;
}

.service_area .service_category_content .service_category_content_subtitle {
    font-size: 13px;
    color: #f10903;
    margin: 0;
}

.service_area .service_category_content .service_category_tab {
    display: inline-block;
    background-color: #282828;
    color: #fff;
    border-radius: 4px;
    padding: 0 20px;
    margin: 30px 0 0;
}

.service_area .home_service_box:nth-child(2) .service_category_content .service_category_tab {
    margin-top: 14px;
}

.service_category_content ul {
    margin: 5px 0;
    padding-left: 15px;
}

.service_category_content li {
    list-style: none;
    position: relative;
}

.service_category_content li::before {
    content: '';
    width: 8px;
    height: 8px;
    background-color: #dcdcdc;
    border-radius: 50px;
    position: absolute;
    top: 36%;
    left: -5%;
}

.service_category_content {
    position: relative;
    width: 68%;
}

.service_category_content p:last-child {
    position: relative;
    bottom: 0;
    font-weight: 800;
}

.service_category_content .grid-2col li::before {
    left: -10%;
}

.service_category_part > .grid-2col {
    gap: 40px;
}

.service_category_box .more_button_arrow_circle .arrow-red {
    left: 46%;
}

.service_area .home_service_box_more {
	position: static;
}



/* スタッフ一覧ページ */
.staff_list_area {
    padding: 100px 0;
}

.staff_list_headline {
    font-size: 30px;
    font-weight: bold;
    padding: 60px 0 10px;
}

.staff_list_wrapper.grid-4col {
    gap: 20px;
}

.staff_list_box {
    box-shadow: 0 0 16px 0 #dcdcdc;
    border-radius: 20px;
    text-align: center;
    padding: 20px;
    font-weight: bold;
}

.staff_list_box img {
    width: 168px;
    height: auto;
}

.staff_list_box p {
    margin: 0;
}

.staff_list_box .staff_list_name {
    font-size: 30px;
    font-weight: 900;
    margin: 10px;
}

.staff_list_name_en {
    font-size: 12px;
}

.staff_list_box .more_button {
    justify-content: end;
}

.staff_list_box .more_button_arrow_circle {
    width: 38px;
    height: 38px;
}

.staff_list_box .more_button_arrow_circle .arrow-red {
    left: 47%;
    width: 9px;
}


/* スタッフ詳細ページ */
.staff_info_card {
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 60px 60px;
    box-shadow: 0 0 16px 0 #dcdcdc;
    border-radius: 20px;
    gap: 40px;
    margin: 80px 0 60px;
}

.staff_image img {
 width:100%;
}

.staff_info_content {
    width: 50%;
}

.staff_position {
    font-size: 18px;
    margin: 0;
}

.staff_name {
    font-size: 37px;
    font-weight: 900;
    margin: 10px 0;
}

.staff_name_en {
    margin: 0;
	font-size: 14px;
}

.staff_info {
    padding-bottom: 50px;
    border-bottom: 1px solid #dcdcdc;
}

.staff_info_specialty {
    padding-top: 20px;
}

.staff_info_specialty .staff_info_specialty_title {
    font-size: 20px;
    font-weight: 800;
}

.staff_info_specialty p:last-child {
    line-height: 28px;
}

.staff_profile p {
    line-height: 32px;
}

.staff_profile h2 {
    font-size: 30px;
    font-weight: 900;
    margin: 20px 0;
}

.staff_profile .staff_career,
.staff_profile .staff_project {
    padding-bottom: 20px;
}


/* 理念ページ */
.our_vision_area {
    padding: 100px 0;
}

.our_vision_headerline {
    display: block;
    padding: 60px 0 30px;
    position: relative;
    z-index: 2;
}

.our_vision_headerline p {
    display: inline-block;
    background-color: #282828;
    font-size: 47px;
    font-weight: 900;
    margin: 10px 0 0;
    padding: 0 20px 5px;
}

.our_vision_title_text p {
    font-size: 33px;
    font-weight: 800;
    margin: 0;
	position: relative;
    z-index: 999;
}

.our_vision_area .title_part {
    position: relative;
}

.our_vision_title_image {
    position: absolute;
    top: -30%;
    right: 0%;
    z-index: 1;
}

.our_vision_part {
    padding: 100px 0;
    background-color: #f5f5f5;
    text-align: center;
    position: relative;
}

.our_vision_part p {
    font-size: 18px;
    font-weight: 800;
    line-height: 48px;
    margin: 0;
}

.our_vision_part p:nth-child(2) {
    margin: 40px 0;
}

.our_vision_part > img {
    position: absolute;
    bottom: -20%;
    left: 0%;
}
.ceo_message {
display: flex;
align-items: center;
justify-content:center;
gap: 30px;
}
.ceo_message_text {
max-width: 70%;
}
.ceo_message_img {
max-width: 30%;
}
.ceo_message_img > p {
margin: 0 !important;
    line-height: 1.4;
    font-size: 16px;
}
.ceo_message_img img {
width: 100%;
}

/* 会社概要ページ */
.company_area {
    padding: 100px 0 0;
}

.history_part {
    background-color: #f5f5f5;
    padding: 100px 0;
    margin-top: 100px;
}

.history_box {
    display: flex;
    align-items: flex-start;
    position: relative;
}

.history_box:nth-child(1) {
    margin-bottom: 30px;
}

.history_box:nth-child(2),
.history_box:nth-child(3),
.history_box:nth-child(4) {
    margin-bottom: 70px;
}

.history_box::before {
    content: '';
    position: absolute;
    bottom: -10%;
    left: 8.7%;
    width: 1px;
    height: 70px;
    background-color: #dcdcdc;
    z-index: 1;
}

.history_box:nth-child(2)::before,
.history_box:nth-child(3)::before,
.history_box:nth-child(4)::before {
    bottom: -85%;
    height: 50px;
}

.history_box:last-child::before {
    display: none;
}

.history_year {
    width: 250px;
}

.history_year p {
    font-size: 70px;
    line-height: 1;
    margin: 0;
}

.history_content p {
    font-size: 16px;
    line-height: 34px;
}

.company_profile_part {
    padding: 120px 0;
}

.company_profile_part table {
    border-top: 1px solid #dcdcdc;
	border-collapse: collapse;
}

.company_profile_part table th,
.company_profile_part table td {
    padding: 30px 0;
    border-bottom: 1px solid #dcdcdc;
}

.company_profile_part table th {
    width: 250px;
    text-align: left;
    font-weight: 500;
    border-right: 1px solid #dcdcdc;
    padding-left: 40px;
    font-size: 18px;
    line-height: 40px;
}

.company_profile_part table td {
    padding-left: 80px;
    padding-right: 100px;
    line-height: 34px;
}

.company_profile_part table td img {
    padding-right: 20px;
	object-fit: contain;
}

.company_profile_part table tr:last-child td{
    padding: 0 40px 0 80px;
}


/* アクセス */
.access_map {
text-align: center;
}
.access_area .title_part {
    text-align: center;
    padding-bottom: 40px;
}

.access_location_part {
    padding: 80px 0 120px;
    text-align: center;
}

.access_location {
    width: 50%;
    margin: 0 auto;
    border-bottom: 1px solid #dcdcdc;
    padding: 30px 0;
}

.access_location:first-child {
    padding-top: 0;
}

.access_location:last-child {
    border-bottom: none;
}

.access_location_branch {
    font-size: 30px;
    font-weight: 700;
    margin: 0;
}

.access_location_address {
    line-height: 40px;
    margin: 5px 0 0;
}


/* プライバシーポリシーページ */
.privacy_policy_area {
    padding: 100px 0 20px;
}

.privacy_policy_content {
    padding-bottom: 120px;
}

.privacy_policy_content h2 {
    font-size: 30px;
    font-weight: 900;
    margin: 60px 0 20px;
}

.privacy_policy_content p {
    font-size: 15px;
    line-height: 30px;
}

.privacy_policy_content table {
	border: 1px solid #282828;
	border-collapse: collapse;
}

.privacy_policy_content th {
	border-right: 1px solid #282828;
	text-align: left;
	width: 35%;
}

.privacy_policy_content th,
.privacy_policy_content td {
	border-bottom: 1px solid #282828;
	padding: 10px;
}

.privacy_policy_content tr:last-child th,
.privacy_policy_content tr:last-child td {
	border-bottom: none;
}


/* システム・アプリ開発事業 */
.service_list_part {
    padding-top: 60px;
}

.service_list_part div {
    margin-bottom: 40px;
}

.service_list_part div:last-child {
    margin-bottom: 0;
}

.service_list_part h2 {
    background-color: #000;
    display: inline-block;
    padding: 5px 10px 7px;
    font-size: 25px;
    line-height: 32px;
    margin: 0;
}

.service_list_part p {
    font-size: 17px;
    line-height: 28px;
    padding-left: 15px;
	margin-top: 10px;
}

.achievements_area {
    padding: 120px 0;
}

.achievements_title_part {
    text-align: center;
    padding-bottom: 60px;
}

.achievements_title_part p {
    margin: 5px 0 0;
    font-weight: 600;
}

.achievements_title_part .achievements_title {
    font-size: 50px;
    margin: 0;
}

.achievements_content {
    gap: 40px;
    padding-bottom: 100px;
}

.achievements_box img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    box-shadow: 0 0 16px 0 #dcdcdc;
}

.achievements_box p {
    text-align: center;
    line-height: 30px;
}

.achievements_box .achievements_company_name {
    font-size: 30px;
	font-weight: 800;
    line-height: 40px;
    margin: 15px 0 0;
}

.achievements_other_area {
    padding: 30px 0;
    background-color: #f5f5f5;
}

.achievements_other {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.achievements_other > p {
    font-size: 24px;
    font-weight: 600;
    display: flex;
    align-items: center;
}

.achievements_other .achievements_other_number {
    font-size: 50px;
    padding: 0 5px;
}

.achievements_other .more_button p {
    font-size: 15px;
}

.achievements_other .more_button_arrow_circle {
    background-color: #fff;
}


/* DX事業ページ */
.digital_transformation {
    display: flex;
    align-items: center;
    gap: 80px;
    padding-top: 60px;
}

.digital_transformation img {
    width: 55%;
}

.digital_transformation p {
    font-size: 15px;
    line-height: 35px;
}

.dx_merits_content {
    display: flex;
    align-items: flex-start;
    gap: 68px;
    text-align: center;
    position: relative;
}

.dx_merits_content::before {
    content: '';
    position: absolute;
    top: 22%;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 3px;
    background-color: #f10903;
    z-index: 1;
}

.dx_merits_box {
    position: relative;
    z-index: 3;
}

.dx_merits_box p {
    font-size: 15px;
    line-height: 30px;
    text-align: left;
}

.dx_merits_box .dx_merits_title {
    font-size: 26px;
    font-weight: 800;
    line-height: 40px;
    margin: 20px 0;
    text-align: center;
}

.dx_service {
    padding: 100px 0;
}

.dx_service_content {
    gap: 20px;
}

.dx_service_box {
    border-right: 1px solid #dcdcdc;
    padding-right: 20px;
    text-align: center;
    margin-bottom: 40px;
}

.dx_service_box:nth-child(3n) {
    border-right: none;
}

.dx_service_box img {
    width: 100%;
    height: auto;
}

.dx_service_box p {
    margin: 0;
}

.dx_service_box .dx_service_title {
    font-size: 30px;
    font-weight: 800;
    margin: 5px 0;
}

.dx_cost_part {
    position: relative;
    padding-bottom: 200px;
}

.dx_cost_part h2 {
    text-align: center;
    font-weight: 800;
    margin: 0;
}

.dx_cost_part > h2 {
	font-size: 30px;
}

.dx_cost_content_part {
    width: 45%;
    margin-left: auto;
    margin-top: 40px;
}

.dx_cost_content_part ul {
    padding-left: 0;
	margin-top: 20px;
}

.dx_cost_content_part ul li {
    list-style: none;
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
}

.dx_cost_content_part ul li::before {
    content: '';
    width: 8px;
    height: 7px;
    border-radius: 50px;
    position: absolute;
    top: 36%;
    left: 5px; 
    background-color: #dcdcdc;
}

.dx_cost_content_image .skew_box {
    top: 22%;
    left: 17%;
    right: auto;
    height: 420px;
}

.dx_cost_content_image .skew_image {
    transform: skew(45deg) translate(-18%, -35%);
}

.dx_cost_content_image > img {
    position: absolute;
    left: -16%;
    top: -12%;
}

.dx_estimate .achievements_other {
    justify-content: center;
}


/* インターネット広告 */
.service_top_content {
    position: relative;
    padding-bottom: 40px;
}

.service_top_content p {
    font-size: 25px;
    font-weight: 600;
    line-height: 42px;
}

.tre-pro .service_top_content p {
	font-size: 27px;
	line-height: 46px;
}

.tre-pro .service_top_sticker {
    width: 170px;
    height: 170px;
    text-align: center;
    background-color: #fff;
    display: inline-block;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 28%;
}

.tre-pro .service_top_sticker p {
	line-height: 36px;
	padding-top: 5px;
	font-size: 24px;
}

.tre-pro .service_list_part p {
	padding-left: 0;
}

.service_top_sticker_number {
    font-size: 50px;
}



/* 404 */
.not-page {
    padding: 100px 0;
}


/* 特定商取引法に基づく表示 */
.commercial_transaction_area table th {
    text-align: center;
    padding: 30px 40px;
}

.commercial_transaction_area td a {
    border-bottom: 1px solid #282828;
}

.commercial_transaction_area .company_profile_part table tr:last-child td {
    padding: 30px 100px 30px 80px; 
}


/* 行動指針 */
.value_area {
    padding-top: 120px;
}

.value_content_part {
    background-color: #f5f5f5;
    padding: 120px 0;
    margin-top: 100px;
}

.value_content_title h2 {
    display: inline-block;
    font-size: 64px;
    font-weight: 800;
    line-height: 64px;
    padding: 10px 0 10px 0;
    margin-top: 0;
    margin-bottom: 5px;
    /* background-color: #282828; */
    color: #fff;
    margin-right: 150px;
}

.value_content_title h2 > div {
	padding: 8px 16px 15px;
}
.value_content_box p {
    font-size: 40px;
    line-height: 50px;
    margin: 20px 0 60px;
    opacity: 0.5;
}

.value_content_box .value_content_text {
    font-size: 26px;
    line-height: 56px;
    margin: 0;
    opacity: 1;
	    position: relative;
    z-index: 999;
}

.value_content_box {
    position: relative;
}

.value_content_image {
    position: absolute;
}

.value_content_box:nth-child(1) .value_content_image {
    top: -10%;
    right: 0;
}
.value_content_box:nth-child(2) .value_content_image {
    top: 7%;
    left: 0;
}
.value_content_box:nth-child(3) .value_content_image {
    top: -45%;
    right: 0;
}

.value_content_box:nth-child(2) {
    padding: 200px;
}

.value_content_box:nth-child(2) .value_content_wrapper {
    margin-left: 250px;
    position: relative;
    z-index:5;
}


/* パンくずリスト */
.breadcrumb {
  padding: 15px 0;
  margin-bottom: 40px;
}

.breadcrumb_list {
  display: flex;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
}

.breadcrumb_item {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #666;
}

.breadcrumb_item a {
  color: #666;
  text-decoration: none;
  transition: color 0.3s ease;
}

.breadcrumb_item a:hover {
  color: #000;
  text-decoration: underline;
}

.breadcrumb_item span {
  color: #333;
  font-weight: 500;
}

/* 区切り文字（>） */
.breadcrumb_item:not(:last-child)::after {
  content: ">";
  margin: 0 10px;
  color: #999;
  font-size: 12px;
}



.home_skew_box_left {
    top: 4.3vw;
    right: 41.4vw;
    height: 524px;
    width: 324px;
	z-index: 0;
}

.home_skew_box_left .skew_image {
	transform: skew(45deg) translate(-26.2%, -35.4%) scale(0.8);
}

.home_skew_box_right {
	height: 523px;
    top: 14.4vw;
    right: 32vw;
    width: 294px;
	z-index: 0;
}

.home_skew_box_right .skew_image {
    transform: skew(45deg) translate(-30.65%, -42.45%) scale(0.8);
}

/*blog*/
#toc_container {
    border: none;
    background: none;
    margin: 6rem 0;
    padding: 0 !important;
    width: 100% !important;
}
#toc_container > p.toc_title + ul.toc_list ul,
#toc_container > p.toc_title + ul.toc_list + ul.toc_list {
    border: none;
    padding: 0;
}
#toc_container ul ul {
    margin-left: 1.5em;
}
#toc_container > p.toc_title {
    background: #000;
    color: #fff;
	text-align: center;
    font-weight: 700;
}
#toc_container a {
    text-decoration: none;
    text-shadow: none;
}
#toc_container span.toc_toggle {
    font-weight: 400;
    font-size: 90%;
}
#toc_container span.toc_toggle a {
color: #fff;
}
#toc_container > p.toc_title + ul.toc_list ul > li > a, 
#toc_container > p.toc_title + ul.toc_list + ul.toc_list > li > a {
    display: block;
    margin: 0.2em 0;
	font-weight: 400;
}
#toc_container > p.toc_title + ul.toc_list > li > a {
    display: block;
    font-weight: bold;
}
#toc_container.no_bullets li, 
#toc_container.no_bullets ul, 
#toc_container.no_bullets ul li, 
.toc_widget_list.no_bullets, 
.toc_widget_list.no_bullets li {
    background: 0 0;
    list-style-type: none;
    list-style: none;
}
   
#toc_container > p.toc_title + ul.toc_list {
    background: #F4F4F4;
    border: 1px solid #777;
    padding: 1em 1.5em;
}
.article_content h2 {
    position: relative;
    margin: 4rem 0 1rem;
    padding: 0.7em 0;
    font-size: 2.2rem;
    font-weight: bold;
}
.article_content ul, 
.article_content ol, 
.article_content dl {
    margin: 1em 0;
    background: #F4F4F4;
    border: 1px solid #777;
    padding: 0.5em 1.5em;
	list-style:none;
}
.article_content ul > li, 
.article_content ol > li, 
.article_content dl > li {
    position: relative;
    margin: 0.2em 0;
    padding-left: 1em;
    line-height: 1.4;
}
.article_content h3 {
    margin: 1.5em 0 1em;
    font-size: 2rem;
    font-weight: bold;
}
.article_content ul > li::before, 
.article_content ol > li::before, 
.article_content dl > li::before {
    position: absolute;
    top: 0.7em;
    left: 0;
}
.article_content .wp-block-list > li::before {
    content: "";
    top: 0.4em;
    width: 0.6em;
    height: 0.6em;
    border-radius: 50%;
    background: #000;
}
h3.wp-block-heading {
    border-bottom: solid 3px #000;
}
.wp-block-table td, 
.wp-block-table th {
    border: 1px solid;
    padding: .5em;
}
.wp-block-table table {
    border-collapse: collapse;
    width: 100%;
}
.wp-block-table .has-fixed-layout td, 
.wp-block-table .has-fixed-layout th {
    word-break: break-word;
}
.wp-block-table .has-fixed-layout td a {
color: var(--wp--preset--color--vivid-cyan-blue) !important;
}
.wp-block-table .has-fixed-layout {
    table-layout: fixed;
    width: 100%;
}
tbody {
{
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
}
@media screen and (min-width: 1200px) {
 #toc_container > p.toc_title + ul.toc_list {
        padding: 2em;
    }
	    .article_content ul, 
		.article_content ol, 
		.article_content dl {
        padding: 2em;
    }
	.article_content h2 {
        font-size: 2.5rem;
    }
	.article_content h3 {
        font-size: 1.8rem;
		font-weight: 400;
    }
}



/* ============================
   タブレット用 768px〜1199px
============================ */
@media screen and (max-width: 1199px) {
    body {
        font-size: 16px;
    }

    .pc,.sp {
        display: none;
    }
    
    .tb {
        display: block;
    }

    .w-main {
        max-width: 616px;
    }


    /* header */
    header {
        height: 80px;
    }

    .header_contact {
        margin-left: auto;
        margin-right: 40px;
    }

    .hamburger-menu-wrapper {
        position: relative;
    }

    .hamburger-menu-icon {
        width: 40px;
        height: 30px;
        top: 20px;
        left: 20px;
        cursor: pointer;
        z-index: 50;
        display: inline-block;
    }

    #menu-toggle:checked + .hamburger-menu-icon {
        z-index: 50;
        color: #fff;
        position: relative;
        top: 3px;
        right: 24px;
    }

    .hamburger-menu-icon span:nth-child(1),
    .hamburger-menu-icon span:nth-child(2) {
        display: block;
        height: 2px;
        width: 36px;
        margin: 0 0 5px;
        background: #333;
        border-radius: 2px;
        transition: 0.4s;
    }

    .hamburger-menu-open {
        display: none;
    }

    #menu-toggle:checked + .hamburger-menu-icon span:nth-child(1),
    #menu-toggle:checked + .hamburger-menu-icon span:nth-child(2) {
        background: #fff;
    }

    #menu-toggle:checked + .hamburger-menu-icon .hamburger-menu-close {
        display: none;
    }

    #menu-toggle:checked + .hamburger-menu-icon .hamburger-menu-open {
        display: block;
    }

    .hamburger-menu-icon span:nth-child(1) {
        margin-bottom: 7px;
    }

    /* ハンバーガーがXに変形 */
    #menu-toggle:checked + .hamburger-menu-icon span:nth-child(1) {
        transform: translateY(4px) rotate(20deg);
    }
    #menu-toggle:checked + .hamburger-menu-icon span:nth-child(2) {
        transform: translateY(-5px) rotate(-20deg);
    }

    /* メニュー本体（左から出す） */
    .hamburger-menu {
        position: fixed;
        top: 0;
        left: -100%; /* ← 初期位置を左へ */
        width: 100%;
        height: auto;
        background: #282828;
        transition: left 0.4s ease;
        z-index: 40;
    }

    #menu-toggle:checked ~ .hamburger-menu {
        left: 0; /* ← 開いたときは左0へ */
    }

    .hamburger-menu ul {
        list-style: none;
        padding: 0 0;
        margin: 100px 0 0;
        border-top: 1px solid #666666;
    }

    .hamburger-menu-business-content ul {
        border: none;
        margin: 0;
        padding: 0px 0 20px 48px;
    }

    .hamburger-menu li {
        margin: 0;
        border-bottom: 1px solid #666666;
    }

    .hamburger-menu li a {
        padding: 20px 40px;
    }

    .hamburger-menu-business-content li {
        padding: 0 0 16px;
        border-bottom: none;
    }

    .hamburger-menu-business-content li a {
        padding: 0;
    }

    .hamburger-menu-business-content li:last-child {
        padding-bottom: 0;
    }

    .hamburger-menu a {
        text-decoration: none;
        color: #fff;
        font-size: 18px;
        font-weight: bold;
        transition: color 0.3s;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .hamburger-menu p {
        margin: 0;
    }

    .hamburger-menu-business p {
        color: #fff;
        font-weight: bold;
        font-size: 18px;
    }

    .hamburger-menu .header_contact {
        padding: 20px 40px;
        margin: 0 auto;
        justify-content: center;
        display: flex;
    }

    .hamburger-menu .header_contact a {
        background: #fff;
        border-radius: 50px;
        padding: 12px 0;
        width: 340px;
        color: #282828;
        justify-content: center;
    }

    .footer_nav_area {
        width: 321px;
        margin: 0 auto 40px;
        gap: 45px;
    }

    .footer_nav_area li a {
        font-size: 13px;
    }

    .footer_mark_area {
        width: 312px;
        margin: 0 auto;
    }


    /* footer */
    .footer_top,
    .footer_company_nav_part {
        display: block;
    }

    .footer_company_info_area {
        width: 312px;
        margin: 0 auto 48px;
    }

    .footer_company_info_area img {
        width: 312px;
    }


    /* home ページ */
    .home_top {
        padding: 64px 0 0;
    }

    .home_top_titlebox {
        top: 64px;
        transform: translateY(0);
        left: 0;
        padding-left: 40px;
		padding-top: 60px;
    }

    .home_top_title {
        width: 700px;
    }

    .home_top_back {
        height: 805px;
        padding-top: 354px;
    }

    .home_top_back_1 img {
        top: 62.2vw;
        right: 8vw;
    }
	
	.home_top_back_2 img {
		top: 39vw;
        right: 20vw;
	}
	
	.home_top_back_3 img {
		top: 54vw;
    	right: 0;
	}
	
	.home_top_back_4 img {
		top: 49.6vw;
        right: 14.8vw;
	}
	
	.home_top_back_5 img {
		top: 39vw;
        right: 23.7vw;
	}
	
	.home_top_back_6 img {
		top: 39vw;
        right: 14.8vw;
	}
	
	.home_skew_box_left {
		top: 34.4%;
		right: 41.3%;
		width: 202px;
		height: 363px;
	}
	
	.home_skew_box_right {
		top: 43.8%;
		right: 32.4%;
		width: 201px;
		height: 361px;
	}
	
	.home_skew_box_right .skew_image {
		transform: skew(45deg) translate(-28.6%, -40.5%) scale(0.8);
	}

    .home_top h1 {
        font-size: 3.5rem;
    }

    .home_top_subtitle {
        margin: 16px 0;
    }

    .scroll_down p {
        font-size: 12px;
    }

    .home_philosophy_bg_blur::before {
        transform: scale(1);
    }

    .home_philosophy_area {
        margin-top: 0;
        padding: 120px 0 80px;
    }

    .home_philosophy_content p {
        margin: 0;
    }

    .home_philosophy_more_button {
        margin: 32px 0;
    }

    .sub_title {
        font-size: 1.37rem;
    }

    .home_philosophy_content p {
        line-height: 50px;
    }

    .home_philosophy_performance {
        display: block;
    }

    .home_philosophy_performance_operation {
        border-right: none;
        padding-right: 0;
    }

    .home_philosophy_performance_SNS {
        padding-left: 0;
        padding-top: 24px;
    }

    .home_philosophy_performance_box p:nth-child(2) {
        font-size: 4.5rem;
    }

    .home_sns_marketing {
        padding: 80px 0;
    }

    .home_sns_marketing_area {
        display: block;
    }
	
	.home_sns_marketing .more_button {
		display: flex;
	}

    .big_title {
        font-size: 4.5rem;
        line-height: 4rem;
    }

    .home_sns_marketing_movie_area {
        width: 420px;
        height: 747px;
        margin: 0 auto;
    }

    .home_news_area {
        padding: 80px 0;
        display: block;
    }

    .news_article_part {
        width: 100%;
        margin-top: 40px;
    }

    .home_service_area {
        padding: 80px 0;
    }

    .home_service_box_wrapper {
        display: block;
        padding-bottom: 0;
    }

    .home_service_box {
        width: calc(100% - 64px);
        margin-bottom: 16px;
        padding: 32px;
		height: 100%;
    }

    .home_service_box_wrapper:nth-child(1) .home_service_box:nth-child(1) .home_service_box_label,
    .home_service_box_wrapper:nth-child(1) .home_service_box:nth-child(2) .home_service_box_label,
	.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(1) .home_service_box_label,
	.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(2) .home_service_box_label,
	.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(3) .home_service_box_label,
	.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(4) .home_service_box_label {
        margin-top: 24px;
    }

    .home_service_box_label::after,
	.home_service_box_wrapper:nth-child(2) .home_service_box_label::after {
        width: 472px;
        left: 78px;
    }

    .home_service_link_wrapper {
        display: block;
    }

    .home_service_link_box {
        padding-top: 24px;
    }

    .home_service_link_box a {
        width: 100%;
    }

    .home_service_link_box img {
        width: 100%;
    }

    .home_staff_area {
        padding: 80px 0;
    }

    .home_staff_slide_part {
        width: 100%;
        gap: 15px;
    }

    .home_staff_slide_box {
        width: 400px;
    }

    .slider_wrapper {
        gap:30px;
    }

    .home_flow_area {
        padding: 80px 0;
        text-align: center;
    }

    .home_flow_area .red_subtitle {
        justify-content: center;
    }

    .home_flow_wrapper {
        display: block;
    }

    .home_flow_box {
        display: flex;
        align-items: center;
        width: 100%;
        height: 200px;
        gap: 32px;
        margin-bottom: 40px;
        z-index: 2;
        position: relative;
    }

    .home_flow_box:last-child {
        margin-bottom: 0;
    }

    .home_flow_box div:nth-child(2) {
        text-align: left;
    }

    .home_flow_red_line {
        top: 50%;
        left: 16.5%;
        transform: translateY(-50%) rotate(0deg);
        height: 80%;
        width: 4px;
    }

    .home_flow_box_title {
        text-align: left;
    }

    .home_blog_area {
        padding: 80px 0;
        margin-bottom: 80px;
    }

    .home_blog_area .big_title {
        text-align: center;
    }

    .home_blog_area .red_subtitle {
        justify-content: center;
    }

    .home_blog_wrapper {
        display: block;
    }

    .home_blog_box {
        width: 100%;
        height: 620px;
    }

    .home_blog_box img {
        width: 616px;
        height: 348px;
    }

    .home_blog_box_subtitle {
        font-size: 18px;
    }

    .home_blog_line {
        height: 1px;
        width: 100%;
        margin: 82px 0 41px;
    }

    .home_link_area {
        display: block;
    }

    .home_link_box {
        position: relative;
        z-index: 2;
    }

    .home_link_box:nth-child(1) {
        border-right: none;
        border-bottom: 1px solid #fff;
    }

    .home_link_box p:nth-child(2) {
        font-size: 18px;
    }
	
	.more_button_arrow_circle::after {
		content: none;
	}


    /* 記事一覧ページ */
    .article_list_area {
        padding: 80px 0;
    }

    .article_list_area .news_article_part {
        margin: 40px 0;
    }

    /* 記事ページ */
    .article_detail_area {
        padding-top: 40px;
    }

    .article_title p {
        font-size: 2rem;
    }

    .article_date p {
        font-size: 18px;
    }


    /* 研修事業ページ */
    .training_business_area {
        padding: 80px 0 0;
    }

    .training_business_part {
        padding: 80px 0;
        margin-top: 80px;
		overflow: hidden;
    }

    .training_business_type_wrapper {
        display: block;
    }

    .training_business_type_box {
        width: calc(100% - 60px);
        height: calc(311px - 40px);
        margin-bottom: 40px;
        padding: 20px 30px;
    }

    .training_business_title p {
        font-size: 35px;
    }

    .appeal_wrapper {
        display: block;
    }

    .appeal_wrapper .home_service_box {
        margin-bottom: 30px;
    }

    .training_category_images {
        top: -330px;
    }

    .training_category_images .skew_box {
        right: 17%;
    }

    .appeal_content_part {
        width: 80%;
        position: relative;
        z-index: 20;
        margin-left: 0;
    }

    .appeal_content_images > img {
        left: auto;
        right: -90%;
        top: 15%;
    }

    .appeal_content_images .skew_box {
        left: auto;
        right: -50%;
        top: 40%;
    }

    .contact_title_area {
        padding: 80px 0;
    }

    .contact_area {
        padding: 80px 0;
    }

    .contact_form {
        width: 100%;
    }

    .contact_form {
        margin-top: 0;
    }


    .sns .training_category .training_business_type_box {
        width: auto;
        height: auto;
        padding: 20px 30px;
    }

    .sns .appeal_box {
        min-height: auto;
    }

    .sns .appeal_box:nth-child(1) p:nth-child(3) {
        margin-top: 0;
    }

    .sns .appeal_content_images > img {
        top: 5%;
    }

    .security .appeal_box,
	.security .appeal_wrapper > .home_service_box{
        min-height: auto;
		height: auto;
    }

    .security .appeal_content_images > img {
        top: 25%;
    }

    .security .appeal_content_images .skew_box {
        top: 45%;
    }


    /* 事業概要 */
    .service_area {
        padding: 80px 0 0;
    }

    .service_category_part {
        padding: 80px 0;
        margin-top: 80px;
    }

    .service_category_part > .grid-2col {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .service_area .home_service_box:nth-child(2) .service_category_content .service_category_tab,
    .service_area .home_service_box:nth-child(4) .service_category_content .service_category_tab {
        margin-top: 30px;
    }


    /* スタッフ */
    .staff_list_area {
        padding: 80px 0;
    }

    .staff_list_headline {
        padding-top: 20px;
    }

    .staff_list_wrapper.grid-4col {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .staff_info_card {
        display: block;
        margin-top: 80px;
        padding: 40px 60px;
    }

    .staff_image {
        width: 60%;
        margin: 0 auto;
    }

    .staff_image img {
        width: 100%;
        height: auto;
    }

    .staff_info_content {
        width: 100%;
    }

    .staff_position {
        font-size: 16px;
    }

    .staff_name {
        font-size: 30px;
        line-height: 30px;
    }

    .staff_info {
        padding-bottom: 40px;
    }

    .staff_info_specialty {
        padding-top: 10px;
    }


    /* 理念 */
    .our_vision_area {
        padding: 80px 0 0;
    }

    .our_vision_headerline p {
        margin-top: 5px;
    }

    .our_vision_title_text p {
        position: relative;
        z-index: 5;
    }

    .our_vision_title_image {
        top: -5%;
    }

    .our_vision_part {
        padding-bottom: 100px;
    }

    .our_vision_part img {
        z-index: 1;
        bottom: -22%;
    }


    /* 会社概要 */
    .company_area {
        padding: 80px 0 0;
    }
    
    .history_part {
        padding: 80px 0;
        margin-top: 80px;
    }

    .history_content p {
        margin: 0;
    }
    
    .history_box {
        gap: 30px;
    }
    
    .history_box:nth-child(1) {
        gap: 60px;
    }

    .history_year {
        width: 170px;
    }

    .history_box::before {
        left: 14%;
    }

    .history_box:nth-child(1)::before {
        height: 115px;
    }

    .history_box:nth-child(3) .history_content p,
    .history_box:nth-child(4) .history_content p {
        margin-top: 15px;
    }

    .company_profile_part table td {
        padding-right: 0;
        padding-left: 30px;
    }

    .company_profile_part table th {
        padding-left: 0px;
    }

    .company_profile_part table tr:last-child td {
        display: flex;
        padding: 30px;
    }
    
    .company_profile_part {
        padding: 80px 0 120px;
    }

    .access_location {
        width: 100%;
    }

    .access_location_part {
        padding: 60px 0 80px;
    }


    /* プライバシーポリシー */
    .privacy_policy_area {
        padding: 80px 0 0;
    }

    .privacy_policy_content {
        padding-bottom: 80px;
    }

    .privacy_policy_content h2 {
        margin-top: 40px;
    }


    /* 事業 */
    .service_list_part {
        padding-top: 40px;
    }

    .service_list_part p {
        line-height: 26px;
		font-weight: 800;
    }

    .achievements_area {
        padding: 80px 0;
    }

    .achievements_content {
        padding-bottom: 80px;
    }

    .achievements_other {
        display: block;
    }

    .achievements_other.w-main {
        max-width: 680px;
        text-align: center;
    }

    .achievements_other .more_button {
        justify-content: center;
    }

    .digital_transformation {
        display: block;
        padding-top: 40px;
        text-align: center;
    }

    .digital_transformation img {
        border: none;
    }

    .digital_transformation p {
        line-height: 30px;
        text-align: left;
    }

    .dx_merits_content {
        display: block;
    }

    .dx_merits_content::before {
        top: 50%;
        left: 18%;
        transform: translateY(-50%) rotate(0deg);
        width: 3px;
        height: 80%
    }

    .dx_merits_box {
        display: flex;
        gap: 60px;
        margin-bottom: 40px;
    }

    .dx_merits_box img {
        width: 100%;
        height: 100%;
    }

    .dx_service .grid-3col {
        grid-template-columns: 1.06fr 1fr;
		gap: 10px;
    }
	.dx_service_box {
	padding-right: 0;
	}
	.dx_service_box:nth-child(1n),
	.dx_service_box:nth-child(3n),
	.dx_service_box:nth-child(5n) {
        border-right: 1px solid #dcdcdc;
		padding-right: 10px;
    }

    .dx_service_box:nth-child(2n) {
        border-right: none;
		padding-right: 0;
    }

    .dx_cost_part {
        padding-bottom: 80px
    }

    .dx_cost_part h2 {
        position: relative;
        z-index: 10;
    }

    .dx_cost_content_part {
        width: 100%;
        margin-top: 500px;
    }
	.dx_cost_content_part ul li {
	margin-bottom: 5px;
	}

    .dx_cost_content_image > img {
        width: 70%;
        top: -20%;
    }

    .dx_cost_content_image .skew_box {
        top: 5%;
        left: 31%;
    }


    /* インターネット広告 */
    .service_top_content > p {
        margin: 0;
    }

    .service_top_sticker {
        right: -5%;
    }


    /* 行動指針 */
    .value_area {
        padding-top: 80px;
		overflow-x: hidden;
    }

    .value_content_part {
        padding: 80px 0;
        margin-top: 80px;
    }

    .value_content_title h2 {
        font-size: 50px;
        line-height: 50px;
        padding-left: 20px;
        margin-right: 0;
    }
	
	.value_content_box {
	margin-bottom: 50px;
	}

    .value_content_box p {
        margin: 20px 0 50px;
    }

    .value_content_box .value_content_text {
        line-height: 45px;
    }


    .value_content_box:nth-child(1) .value_content_image {
        top: -26%;
        right: -21%;
		overflow: hidden;
    }
    .value_content_box:nth-child(2) .value_content_image {
        top: -3%;
        left: 0;
    }
    .value_content_box:nth-child(3) .value_content_image {
        top: -25%;
        right: -18%;
    }

    .value_content_box:nth-child(3) .value_content_image img {
        width: 80%;
    }

    .value_content_box:nth-child(2) {
        padding: 100px 0;
    }

    .value_content_box:nth-child(2) .value_content_wrapper {
        margin-left: auto;
    }

    .value_content_wrapper {
        position: relative;
        z-index:5;
    }
	
	
	.home .w-main {
		max-width: 616px;
	}
	
	.home_news_part {
		padding: 0;
		display: block;
	}
	
	.tre-pro .service_top_sticker {
		right: -10%;
	}


	.service_area .home_service_box {
		height: auto;
	}






}

/* ============================
   スマホ用 〜767px
============================ */
@media screen and (max-width: 767px) {
    .pc,.tb {
        display: none;
    }
    
    .sp {
        display: block;
    }
	
	html {
	  overflow-x: hidden;
	  width: 100%;
	}

	body {
	  overflow-x: hidden;
	  width: 100%;
	  position: relative;
	  margin: 0;
	  padding: 0;
	}

    .w-main {
        width: 90%;
    }
	
	.letter_spacing_2 {
		letter-spacing: 0.3px;
	}

    /* header */
    header {
        padding: 0 20px;
		justify-content: space-between;
		width: calc(100% - 40px);
    }
    
    .hamburger-menu-wrapper {
        margin-left: auto;
    }

    #menu-toggle:checked + .hamburger-menu-icon {
        margin-right: 20px;
    }

    .hamburger-menu {
        width: 100%;
    }
	
	#menu-toggle:checked ~ .hamburger-menu {
		overflow-y: scroll;
	}

	.hamburger-menu > ul {
		margin-top: 70px;
	}
	
	.hamburger-menu {
	  position: fixed;
	  top: 0;
	  right: -100%;
	  width: 100vw;
	  height: 100vh;
	  transition: right 0.3s;
	  z-index: 40;
	  overflow-y: auto;
	  overflow-x: hidden;
	  -webkit-overflow-scrolling: touch;
	}
	
	.header_logo {
		margin-right: auto;
		margin-left: 0;
		text-align: left;
	}

    /* footer */
    footer {
        padding: 80px 24px 30px;
    }

    .footer_company_info_area,
    .footer_nav_area {
        width: 100%;
    }

    .footer_company_info_area a {
        display: flex;
        justify-content: center;
    }
	
	.footer_company_info_area p {
		font-weight: 500;
	}

    .footer_bottom {
		padding-top: 10px;
        display: block;
        text-align: center;
    }

    .footer_policy_part {
        justify-content: center;
    }


    /* home ページ */
    .home_top h1 {
        font-size: 2.25rem;
		margin: 0 0 5px;
    }
	
	.home_top h1 > div {
		padding: 5px 6px 8px;
	}

    .home_top_titlebox {
        padding-left: 15px;
    }

    .home_top_subtitle {
        font-size: 1.5rem;
    }

    .home_top_title {
        width: auto;
    }

    .home_top {
        padding-top: 120px;
		overflow: hidden;
    }

    .home_top h1 {
        padding-right: 0;
        font-size: 2rem;
    }

    .home_top_back {
        height: 316px;
        padding-top: 200px;
    }

    .home_top_back_1 img {
		width: 72.8%;
        top: 66vw;
        right: 9.1vw;
    }
	
	.home_top_back_2 img {
		width: 79.5404%;
		top: 41.5vw;
        right: 20vw;
	}
	
	.home_top_back_3 img {
		width: 39.704%;
		top: 57vw;
    	right: 0;
	}
	
	.home_top_back_4 img {
		width: 72.8%;
		top: 55.6vw;
        right: 14.8vw;
	}
	
	.home_top_back_5 img {
		width: 72.8%;
		top: 41.4vw;
        right: 26.6vw;
	}
	
	.home_top_back_6 img {
		width: 84.69741%;
		top: 41.4vw;
        right: 14.8vw;
	}
	
	.home_skew_box_left {
        right: 50vw;
        width: 113px;
        height: 201px;
    }
	
	.home_skew_box_right {
        top: 55.6vw;
        right: 38.4vw;
        width: 112px;
        height: 201px;
    }
	
	.home_skew_box_right .skew_image {
        transform: skew(45deg) translate(-27.53%, -38.25%) scale(0.8);
    }

    .home_philosophy_area {
        padding: 0 0 48px;
		overflow:hidden;
    }
	
	.home_philosophy_area .w-main {
		width: 96%;
	}
	
	.home_philosophy_content {
		border: none;
	}

    .home_philosophy_content p {
        font-size: 14px;
        line-height: 22px;
    }

    .more_button_arrow_circle {
        width: 48px;
        height: 48px;
    }
	
	.home_philosophy_performance {
		width: 95%;
		margin: 0 auto;
		border-top: 1px solid #8c8c8c;
	}

    .home_philosophy_performance_box p {
        font-size: 15px;
    }

    .home_philosophy_performance_box p:nth-child(2) {
        font-size: 40px;
    }
	.home_philosophy_performance_operation > .letter_spacing_2 > .home_small_text, 
	.home_philosophy_performance_SNS > .letter_spacing_2 > .home_small_text {
    font-size: 1.6rem;
}

    .home_sns_marketing {
        padding: 48px 0;
		overflow:hidden;
    }

    .home_sns_marketing_movie_area {
        width: 100%;
    }

    .home_sns_marketing_movie_area::before {
        margin-left: -6%;
        background-size: 110% 100%;
		padding: 20px;
		width: 102%;
    }

    .home_sns_marketing_movie {
        margin-left: 0;
    }

    .big_title {
        font-size: 56px;
        line-height: 56px;
    }

    .red_subtitle {
        font-size: 12px;
    }
	
	.red_subtitle p {
		margin: 5px 0;
	}

    .sub_header {
        font-size: 22px;
        line-height: 32px;
    }

    .sub_header p {
        margin: 24px 0;
    }

    .home_sns_marketing_list {
        padding-bottom: 0;
    }

    .home_sns_marketing_list li {
        align-items: flex-start;
    }

    .home_sns_marketing_list li p {
        font-size: 14px;
        line-height: 25px;
        padding-left: 16px;
    }

    .home_sns_marketing .more_button {
        justify-content: center;
		margin-top: 25px;
    }

    .more_button p {
        font-size: 14px;
    }
	
	.service_category_images .more_button p {
		padding-right: 15px;
	}
	
	.home_news_area {
		padding: 48px 0;
		overflow:hidden;
	}
	
	.home_news_part {
		display: block;
	}

    .news_title_part .sub_header {
        margin-top: 32px;
    }

    .news_title_part .sub_header {
        font-size: 20px;
    }

    .news_article_content p {
        padding-right: 16px;
        font-size: 14px;
    }
	
	.news_article_content {
		padding-top: 0;
	}

    .home_service_area {
        padding: 48px 0;
		overflow:hidden;
    }

    .home_service_content {
        padding: 40px 0 0;
    }
	
	.home_service_box {
		padding-bottom: 60px;
	}

    .home_service_box .home_service_box_title {
        font-size: 20px;
    }
	
	.home_service_box_label {
		margin-top: 5px;
	}
	
	.home_service_box_wrapper:nth-child(1) .home_service_box:nth-child(1) .home_service_box_label,
	.home_service_box_wrapper:nth-child(1) .home_service_box:nth-child(2) .home_service_box_label {
		margin-top: 5px;
	}
	.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(1) .home_service_box_label,
	.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(2) .home_service_box_label,
	.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(3) .home_service_box_label,
	.home_service_box_wrapper:nth-child(2) .home_service_box:nth-child(4) .home_service_box_label {
	margin-top: 5px;
	}

    .home_service_box_label::after,
	.home_service_box_wrapper:nth-child(2) .home_service_box_label::after{
        width: 57vw;
		left: 77px;
    }
	
	.home_service_box_more .more_button_arrow_circle {
		width: 42px;
		height: 42px;
	}

    .home_service_link_box a {
        height: auto;
    }

    .home_service_link_box_content {
        width: 100%;
        justify-content: end;
        gap: 20px;
    }

    .home_service_link_text p:nth-child(1) {
        font-size: 1.8rem;
    }

    .home_staff_area {
        padding: 50px 0;
		overflow:hidden;
    }

    .home_staff_slide_part .more_button_arrow_circle {
        width: 40px;
        height: 40px;
		position: absolute;
		z-index:999;
		top: 25%;
    }
	.home_staff_slide_part .arrow-left-1 {
	left: 10px;
	}
	.home_staff_slide_part .arrow-right-1 {
	right: 10px;
	}

    .home_staff_slide_part .more_button_arrow_circle .arrow-red {
        left: 15%;
    }

    .home_staff_slide_part .reverse_arrow_circle .reverse-arrow {
        left: 0;
    }

    .home_staff_slide_box img {
        width: 100%;
        height: 240px;
		object-fit: contain;
    }

    .home_staff_slide_box {
        width: 350px;
        height: auto;
        max-height: none;
        padding: 24px 20px 30px;
    }

    .home_staff_slide_wrapper {
        padding-left: calc((320px + 35px) * 3);
    }

    .home_staff_slide_part {
        width: 110%;
        margin-left: -5%;
        gap: 4px;
        padding: 40px 0 20px;
		position:relative;
    }

    .home_staff_slide_name_box {
        width: 268px;
    }

    .home_staff_slide_name {
        font-size: 24px;
        padding-right: 10px;
    }

    .home_staff_slide_content {
        height: auto;
        font-size: 14px;
    }
	
	.slider_container {
	width: 100%;
	}

    .home_flow_area {
        padding: 48px 0 80px;
		overflow:hidden;
    }

    .home_flow_image {
	    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.04);
        min-width: 120px;
        min-height: 120px;
    }

    .home_flow_image p {
        font-size: 24px;
        margin-top: 15px;
    }

    .home_flow_image img {
        width: 56px;
        height: 56px;
        margin: 5px 31px 10px auto;
    }

    .home_flow_box {
        gap: 16px;
        height: 120px;
    }

    .home_flow_red_line {
        left: 15.3%;
    }

    .home_flow_box_title {
        font-size: 20px;
        padding-top: 0;
		font-weight: 600;
    }

    .home_flow_content {
        font-size: 14px;
        line-height: 22px;
    }

    .home_blog_area {
        padding: 48px 0;
        margin-bottom: 48px;
		overflow:hidden;
    }

    .home_blog_box {
        height: 512px;
    }

    .home_blog_box img {
        width: 100%;
        height: auto;
    }

    .home_blog_box_subtitle {
        font-size: 16px;
    }

    .home_link_box {
        width: 100%;
    }

    .home_link_big_font {
        font-size: 36px;
    }
	
	.home_link_box a {
		padding: 30px 45px;
	}


    /* 記事一覧ページ */
    .article_list_area {
        padding: 100px 0 48px;
    }

    .article_list_area .news_article_part {
        margin: 30px 0;
    }

    /* 記事ページ */
    .article_detail_area {
        padding-top: 30px;
    }

    .article_content {
        margin: 40px 0;
    }

    .article_title p {
        font-size: 1.4rem;
        line-height: 2rem;
    }

    .article_date p {
        font-size: 18px;
    }


    /* 研修事業ページ */
    .training_business_area {
		overflow: hidden;
        padding: 100px 0 0;
    }

    .training_business_part {
        padding: 48px 0;
        margin-top: 48px;
    }

    .training_business_area .big_title {
        font-size: 50px;
    }

    .training_business_title p {
        font-size: 38px;
		line-height: 40px;
	}

    .training_business_type_wrapper {
        padding-top: 40px;
    }

    .training_business_type_box {
        margin-bottom: 20px;
    }

    .training_business_type_box .more_button {
        bottom: 15px;
    }

    .training_category .training_business_type_box {
        width: calc(100% - 40px);
        padding: 20px 20px;
    }

    .training_business_part.training_category {
        padding-bottom: 200px;
    }

    .training_category_images > img {
        width: 110%;
        right: -15%;
    }

    .training_category_images {
        top: -70px;
    }

    .training_category_images .skew_box {
        width: 180px;
        height: 224px;
        right: 10%;
    }

    .appeal_area {
        padding: 100px 0 80px;
    }

    .appeal_wrapper .home_service_box {
        position: relative;
        z-index: 20;
		padding-top: 20px;
		padding-bottom: 20px;
    }
	
	.appeal_wrapper .home_service_box {
		height: auto;
	}

    .appeal_content_wrapper {
        padding-top: 270px;
    }
	
	.appeal_box .home_service_box_title {
	font-size: 22px;
	}

    .appeal_content_images > img {
        width: 110%;
        right: -20%;
        top: -15%;
    }

    .appeal_content_images .skew_box {
        height: 240px;
        width: 200px;
        top: -10%;
        right: 0;
    }

    .appeal_skew_image {
        transform: skew(45deg) translate(-24%, -36%) scale(0.5);
    }

    .appeal_content_part {
        width: 100%;
    }

    
    .form_name {
        display: block;
    }

    .contact_title_area {
        padding: 100px 0 48px;
    }
    
    .contact_area {
        padding-top: 48px;
    }
	.contact_area .big_title {
	margin-bottom: 50px;
	}

    .contact_details {
        gap: 10px;
		flex-direction: column;
    }
	
	.contact_form input[type="text"], 
	.contact_form input[type="email"], 
	.contact_form input[type="tel"] {
		width: 85%;
	}
	.form_privacy_policy {
	padding:0;
	}
	.submit-btn-orange {
	padding: 12px 40px 12px 65px;
	border-radius: 13px;
	font-size: 20px;
	}

    .ai_dx.training_category .training_business_type_box ul li:nth-child(2)::before {
        top: 17%;
    }

    .sns .training_category .training_business_type_box ul li:nth-child(1)::before,
    .sns .training_category .training_business_type_box ul li:nth-child(3)::before,
    .sns .training_category .training_business_type_box ul li:nth-child(4)::before {
        top: 17%;
    }

    .security .training_category .training_business_type_box ul li:nth-child(1)::before,
    .security .training_category .training_business_type_box ul li:nth-child(5)::before {
        top: 17%;
    }

    .sns .appeal_content_images > img {
        top: -25%;
    }

    .sns .appeal_content_images .skew_box {
        top: -15%;
    }

    .security .training_category .training_business_type_box {
        height: auto;
    }

    .security .appeal_content_images > img {
        top: -15%;
    }

    .security .appeal_content_images .skew_box {
        top: -10%;
    }


    /* 事業概要 */
    .service_area {
        padding: 100px 0 0;
    }

    .service_category_part {
        padding: 48px 0 80px;
        margin-top: 48px;
    }

    .service_area .home_service_box {
        max-height: none;
        height: auto;
        width: calc(100% - 40px);
        margin: 0 auto;
        padding: 32px 20px;
    }

    .service_category_box {
        display: block;
        padding: 40px 0;
    }

    .service_category_images {
        padding: 0;
        border-right: none;
		width: 100%;
    }
    
    .service_category_images img {
        width: 128px;
    height: 128px;
    object-fit: contain;
        margin: 0 auto;
        padding-bottom: 0;
    }
	.service_area .home_service_box:nth-child(3) .service_category_images img {
	margin-top: 0;
	}

    .service_area .home_service_box:nth-child(6) .service_category_images img,
    .service_area .home_service_box:nth-child(8) .service_category_images img {
        margin-bottom: 0;
		width: 128px;
        height: 128px;
        object-fit: contain;
    }
	.service_area .home_service_box:nth-child(7) .service_category_images img {
	width: 150px;
	object-fit: contain;
	margin-bottom: 0;
	}

    .service_category_content {
        width: 100%;
        border-top: 1px solid #dcdcdc;
        padding: 20px 0 0;
        margin-top: 20px;
    }

    .service_area .service_category_content .service_category_tab {
        margin-top: 10px;
    }

    .service_area .home_service_box:nth-child(2) .service_category_content ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 5px;
        padding-left: 8px;
		margin-bottom:0;
		padding-bottom: 0;
    }

    .service_area .home_service_box:nth-child(1) .service_category_content ul li,
    .service_area .home_service_box:nth-child(2) .service_category_content ul li,
    .service_area .home_service_box:nth-child(3) .service_category_content ul li {
        padding-left: 5px;
    }
	
	.service_area .home_service_box:nth-child(1) .service_category_content li::before {
		left: -3%;
	}

    .service_area .home_service_box:nth-child(3) .service_category_content ul li:before {
        left: -3%;
        top: 36%;
    }
	
	.service_area .home_service_box:nth-child(1) .service_category_content ul li:nth-child(3):before,
	.service_area .home_service_box:nth-child(3) .service_category_content ul li:nth-child(2):before {
		top: 19%;
	}

    .service_category_content p:last-child {
        position: static;
        padding-top: 3px;
    }

    .service_category_images .more_button {
        display: flex;
        flex-direction: row-reverse;
    }

    .service_area .home_service_box_more {
        position: absolute;
        bottom: 25px;
        right: 24px;
    }
	.service_area .service_category_content .service_category_content_subtitle {
	letter-spacing: -0.2px;
	}


    /* スタッフ */
    .staff_list_area {
        padding: 100px 0 80px;
    }

    .staff_list_wrapper.grid-4col {
        gap: 10px;
    }

    .staff_list_headline p {
        margin: 0;
        font-size: 24px;
    }

    .staff_list_box .staff_list_name {
        margin: 10px 0;
        font-size: 24px;
    }

    .staff_list_box img {
        width: 132px;
    }

    .staff_list_box p {
        font-size: 15px;
    }

    .staff_list_box {
        padding: 20px 0;
    }

    .staff_list_box .more_button {
        margin-right: 20px;
        margin-top: 10px;
    }

    .staff_info_card {
        margin-top: 40px;
        padding: 20px 40px;
    }

    .staff_name_en {
        font-size: 14px;
    }

    .staff_info {
        padding-bottom: 30px;
    }

    .staff_profile h2 {
        font-size: 24px;
        line-height: 24px;
        margin: 15px 0;
    }
    
    .our_vision_area {
        padding: 100px 0 0;
    }

    .our_vision_headerline {
        padding: 30px 0 20px;
    }

    .our_vision_headerline p {
        font-size: 28px;
    }

    .our_vision_title_text p {
        font-size: 24px;
    }

    .our_vision_title_image {
        top: 10%;
    }

    .our_vision_title_image img {
        width: 100%;
    }

    .our_vision_part p {
        font-size: 15px;
        line-height: 34px;
    }
    
    .our_vision_part .w-main {
        width: 92%;
    }

    .our_vision_part img {
        bottom: -45%;
        left: -28%;
    }

    /* 会社概要 */
    .company_area {
        padding: 100px 0 0;
    }

    .history_part {
        padding: 60px 0;
        margin-top: 48px;
    }
	
	.company_profile_part {
		padding-bottom: 20px;
	}
    
    .history_box:nth-child(1) {
        gap: 40px;
    }

    .history_box:nth-child(2),
    .history_box:nth-child(3),
    .history_box:nth-child(4) {
    margin-bottom: 40px;
    }

    .history_box:nth-child(1)::before {
        height: 150px;
		bottom: -16%;
    }

    .history_box:nth-child(2)::before {
        height: 65px;
        bottom: -50%;
    }
     
    .history_box:nth-child(3)::before,
    .history_box:nth-child(4)::before {
        bottom: -70%;
        height: 40px;
    } 

    .history_year {
        width: 100px;
    }

    .history_year p {
        font-size: 42px;
    }

    .history_content p {
        font-size: 15px;
        line-height: 1.6;
    }

    .history_box:nth-child(3) .history_content p, 
    .history_box:nth-child(4) .history_content p {
        margin-top: 0;
    }

    .company_profile_part table tr {
        display: grid;
    }

    .company_profile_part table th {
        border: none;
        width: 80%;
        font-size: 18px;
        padding: 15px 15px 0;
    }

    .company_profile_part table td {
        padding-left: 0;
        font-size: 15px;
        line-height: 1.6;
        padding: 0 15px 20px;
    }

    .company_profile_part table tr:last-child td {
        padding: 0 10px 20px;
        justify-content: space-between;
    }
	.company_profile_part table td img {
	padding-right:0;
	}

    .access_location_part {
        padding-bottom: 60px;
    }
	
	.access_area {
		padding-top: 100px;
	}
	
	 /* 代表メッセージ */
	.ceo_message {
	flex-direction: column;
	}
	.ceo_message_text,
	.ceo_message_img {
	max-width:100%;
	}


    /* プライバシーポリシー */
    .privacy_policy_area {
        padding: 48px 0 0;
    }

    .privacy_policy_content h2 {
        margin-bottom: 15px;
        font-size: 25px;
        line-height: 38px;
    }
    

    /* 事業 */
    .development .training_business_part.training_category {
        padding-bottom: 48px;
    }

    .achievements_area {
        padding: 48px 0;
    }

    .background-text-2line h2:not(:first-child) {
        margin-top: 5px;
    }

    .achievements_title_part .achievements_title {
        font-size: 38px;
    }
	
	.achievements_title_part .text_red {
		font-size: 12px;
	}

    .achievements_area .grid-2col {
        grid-template-columns: 1fr;
    }

    .achievements_title_part {
        padding-bottom: 40px;
    }

    .achievements_other > p {
        display: block;
        line-height: 40px;
    }

    .digital_transformation {
        padding-top: 20px;
    }

    .digital_transformation img {
        width: 80%;
    }

    .dx_merits_box img {
        width: 100px; 
        height: 100px;
    }

    .dx_merits_box {
        gap: 20px;
    }

    .dx_merits_box .dx_merits_title {
        font-size: 20px;
        line-height: 30px;
        margin: 0 0 10px;
    }

    .dx_merits_box p {
		line-height: 1.6;
        margin: 0;
    }
	
	.dx_merits {
		position: relative;
	}

    .dx_merits_content::before {
        height: 70%;
		left: 13%;
    }

    .dx_service {
        padding: 48px 0;
    }

    .dx_cost_part {
        padding-bottom: 48px;
    }

    .dx_cost_content_part {
        margin-top: 330px;
    }

    .dx_cost_content_image > img {
        width: 100%;
        top: -2%;
        left: -35%;
    }

    .dx_cost_content_image .skew_box {
        width: 188px;
        height: 210px;
        top: 14%;
        left: 32%;
    }
	
	.achievements_other > p {
		font-weight: 800;
		font-size: 22px;
	}
	
	.digital_transformation p {
		line-height: 1.6;
	}


    /* インターネット広告事業 */
    .tre-pro .service_top_content p {
        font-size: 18px;
        line-height: 30px;
		font-weight: bold;
		padding: 0;
    }

    .service_top_sticker p {
        line-height: 24px;
        padding-top: 7px;
    }

    .service_top_sticker_number {
        font-size: 40px;
    }

   .tre-pro .service_top_sticker {
        width: 130px;
        height: 130px;
        right: 7%;
        top: -15px;
    }

    /* 特定商取引に基づく表示 */
    .commercial_transaction_area table th {
        text-align: left;
        padding-bottom: 10px;
    }


        /* 行動指針 */
    .value_area {
        padding-top: 80px;
    }

    .value_content_part {
        padding: 120px 0 80px;
        margin-top: -80px;
    }

    .value_content_title h2 {
        font-size: 30px;
        line-height: 30px;
        padding-left: 10px;
        margin-right: 0;
    }

    .value_content_box p {
        margin: 20px 0 50px;
		font-size: 24px;
        line-height: 1.3;
    }

    .value_content_box .value_content_text {
        line-height: 1.6;
        font-size: 16px;
    }


    .value_content_box:nth-child(1) .value_content_image {
        top: -26%;
        right: -21%;
    }
    .value_content_box:nth-child(2) .value_content_image {
        top: -3%;
        left: 0;
    }
    .value_content_box:nth-child(3) .value_content_image {
        top: -25%;
        right: 0;
		text-align: right;
    }

    .value_content_box:nth-child(1) .value_content_image img,
    .value_content_box:nth-child(2) .value_content_image img {
        width: 80%;
    }

    .value_content_box:nth-child(2) {
        padding: 0;
    }
	
	.commercial_transaction_area .company_profile_part table tr:last-child td {
		padding: 0 15px 20px;
	}

	/* パンくずリスト */
	 .breadcrumb {
		padding: 12px 0;
		margin-bottom: 30px;
	  }

	  .breadcrumb_item {
		font-size: 12px;
	  }

	  .breadcrumb_item:not(:last-child)::after {
		margin: 0 8px;
	  }



}