.top_fv_area{
    padding-top: 10rem;
    position: relative;
    overflow-x: hidden;
}
.top_sub_copy{
    padding-top: clamp(8.125rem, 5.620rem + 5.213vw, 11.875rem);;
    padding-bottom: 8.125rem;
    line-height: 1.75;
    letter-spacing: 0.1em;
    text-align: center;
    font-family: "SourceHanSansJP-bold";
}

/* 見出し要素スタイリング */
section > h2{
    text-align: center;
    color: #008d3f;
    position: relative;
    font-family: "myriad-variable",sans-serif;
    font-variation-settings: 'wght' 700, 'wdth' 100;
    margin-bottom: 8rem;
}
section > h2::after{
    min-width: 75rem;
    background: linear-gradient(to right,
    #008d3f 0rem,
    #008d3f 6.25rem,
    #f08208 6.25rem,
    #f08208 18.75rem,
    #008d3f 18.75rem,
    #008d3f 120rem
    );
    bottom: -1.875rem;
}
section > h2 > span{
    display: block;
    color: #231815;
    padding-top: 1.875rem;
}
section > h2 + p{
    font-family: "SourceHanSansJP-bold";
    color: #008d3f;
    line-height: 1.5;
    padding: 0 1rem;
    margin-bottom: 3.75rem;
}
.top_detail_button{
    position: relative;
    width: 100%;
    text-align: right;
    display: block;
    margin-bottom: 7.5rem;
}
.top_detail_button:hover{
    filter: brightness(1.2);
}
.top_detail_button > img{
    max-width: 41.875rem;
    width: 100%;
    display: inline-block;
    vertical-align: bottom;
}
.top_detail_button > p,
.recruit_flex > p{
    position: absolute;
    padding: 1.25rem;
    padding-right: 3rem;
    background-color: #008d3f;
    color: #fff;
    z-index: 10;
    font-weight: bold;
    text-wrap-mode: nowrap;
}
.top_detail_button > p{
    right: 39rem;
    bottom: 2.8125rem;
}
.recruit_flex > p{
    position: static;
    transform: translateX(1.75rem);
}
.top_detail_button > p::after,
.recruit_flex > p::after{
    content: '';
    position: absolute;
    right: -1.3125rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 1.375rem solid #008d3f;
}
.top_detail_button > p::after{
    border-top: 2rem solid transparent;
    border-bottom: 2rem solid transparent;
}
.recruit_flex > p::after{
    border-top: 2.35rem solid transparent;
    border-bottom: 2.35rem solid transparent;
}
.top_kitarabo_area{
    position: relative;
    margin: 0 calc(50% - 50vw);
    width: 100dvw;
}
.top_kitarabo_area > img:last-of-type{
    position: absolute;
    right: 2.25rem;
    bottom: 2.25rem;
    width: 27.5rem;
}

.top_news_flex {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4列 */
  gap: 0 1rem;
  padding: 0 0.875rem;
  padding-bottom: 2.8125rem;
  border-bottom: 0.02205rem solid #9fa0a0;
}
.top_news_flex > article {
  max-width: 16.9375rem;
}
.top_news_flex figure{
    margin-bottom: 0.625rem;
}
.top_news_flex a:hover{
    filter: brightness(1.3);
}
.top_news_flex time {
  font-size: var(--font-xs);
  font-family: "SourceHanSansJP-bold";
  color: #008d3f;
}
.top_news_flex h3 {
  line-height: 1.68;
  font-weight: normal;
  margin-top: 0.3125rem;
  margin-bottom: 1.875rem;
}
.top_news_flex p {
  text-align: right;
  padding-right: 1em;
}
.top_pagination{
    position: relative;
    margin-bottom: 10rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 3.125rem;
}
.top_pagination_next,
.top_pagination_prev{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.top_pagination_next span,
.top_pagination_prev span{
    position: relative;
    width: 3.125rem;
    height: 3.125rem;
    background-color: #008d3f;
    border-radius: 50%;
    display: inline-block;
}
.top_pagination_next span{
    margin-right: 0.5rem;
}
.top_pagination_prev span{
    margin-left: 0.5rem;
}
.top_pagination_next span::before,
.top_pagination_prev span::before{
    position: absolute;
    content: '';
    height: 0.125rem;
    width: 1rem;
    border-radius: 999px;
    background-color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.top_pagination_next span::after,
.top_pagination_prev span::after{
    position: absolute;
    content: '';
    height: 0.71875rem;
    width: 0.71875rem;
    border-left: 0.125rem #fff solid;
    border-top: 0.125rem #fff solid;
    top: 50%;
    left: 50%;
}
.top_pagination_next span::after{
    transform: translate(-50%, -50%) rotate(-45deg);
}
.top_pagination_prev span::after{
    transform: translate(-50%, -50%) rotate(135deg);
}
.top_pagination a:hover{
    opacity: .6;
}
.top_pagination_next:hover,
.top_pagination_prev:hover{
    transform: scale(105%);
}

.recruit_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 0.02205rem solid #008d3f;
    background-image: url(../images/recruit_bg.webp);
    border-radius: 1.25rem;
    position: relative;
}
.recruit_flex:hover{
    opacity: .6;
}
.recruit_title_flex{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4.03125rem 2.5rem;
}
.recruit_title_flex > img{
    width: 8.125rem;
    margin-top: -2.03125rem;
}
footer{
    position: relative;
}
.foot_video_wrapper {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.foot_video_wrapper > video {
  width: 100%;
  height: auto;
  display: block;
}
.foot_video_gradient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to bottom, rgba(255,255,255,1), rgba(255,255,255,0));
  pointer-events: none;
}

/* business */
.business_fv_area,
.information_fv_area,
.about_fv_area,
.privacy_policy_fv_area,
.contact_fv_area,
.recruit_fv_area,
.recruit_Mid-Career_fv_area,
.news_fv_area{
    width: 100%;
    height: 700px;
    background: url(../images/business_overview.webp);
    background-size: cover;
    position: relative;
    overflow: hidden;
    margin-top: 10rem;
}
.business_fv_area > div,
.information_fv_area > div,
.about_fv_area > div,
.privacy_policy_fv_area > div,
.contact_fv_area > div,
.recruit_fv_area > div,
.recruit_Mid-Career_fv_area > div,
.news_fv_area > div{
    position: absolute;
    left: 50%;
    bottom: -10rem;
    transform: translateX(-50%);
    width: 35rem;
    height: 35rem;
    border-radius: 999px;
    background-color: #0000004d;
    border: 1px #fff solid;
}
.business_fv_area h1,
.information_fv_area h1,
.about_fv_area h1,
.privacy_policy_fv_area h1,
.contact_fv_area h1,
.recruit_fv_area h1,
.recruit_Mid-Career_fv_area h1,
.news_fv_area h1{
    position: absolute;
    top: calc(50% - 3.125rem);
    left: 50%;
    text-align: center;
    transform: translate(-50%, -50%);
    color: #fff;
    width: max-content;
}
.business_fv_area h1 > span,
.information_fv_area h1 > span,
.about_fv_area h1 > span,
.privacy_policy_fv_area > span,
.contact_fv_area span,
.recruit_fv_area span,
.recruit_Mid-Career_fv_area span,
.news_fv_area span{
    font-size: 4.375rem;
    line-height: 1;
    display: inline-block;
    margin-bottom: 1.25rem;
}
.business_policy{
    text-align: center;
}
.business_policy ul{
    max-width: 36rem;
    margin: 0 auto;
    text-align: left;
}
.business_policy li{
    font-size: var(--font-md);
    margin-bottom: 2.5rem;
    position: relative;
}
.business_policy li:last-of-type{
    margin-bottom: 0;
}
.business_policy li::before{
    content: '';
    position: absolute;
    left: -2.25rem; 
    top: 50%;
    transform: translateY(-50%);
    width: 1.875rem;
    background: url(../images/business_check.webp);
    height: 1.25rem;
    background-size: cover;
}
.business_model p{
    max-width: 54.375rem;
    margin: 0 auto;
    letter-spacing: 0;
    color: #000;
    font-family:"SourceHanSansJP", sans-serif;
}
.head_now_page::before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-bottom: 30px solid #008d3f;
}
.business_domains{
    text-align: left;
}
.business_domains > p:last-of-type{
    padding: 0 1rem;
}
.business_domains_flex{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6.25rem 3.4375rem;
    padding: 0 1rem;
    margin-top: 12.5rem;
}
.business_domains_flex img{
    margin: 0 auto;
    height: 5.625rem;
    margin-bottom: 2.5rem;
}
.business_domains_flex h3{
    font-size: 1.125rem;
    line-height: 1.166;
    letter-spacing: 0.1em;
    margin-bottom: 1.5625rem;
}
.development_experience_flex{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6.25rem 3.4375rem;
    padding: 0 1rem;
    margin-top: 12.5rem;
}
.development_experience_flex h3{
    font-size: 1.125rem;
    margin: 1.4375rem 0;
}
.development_experience_flex p{
    line-height: 2;
}
.development_experience_flex > article:last-of-type h3{
    margin-top: 0;
}
.development_experience_flex > article:last-of-type li{
    margin-bottom: 1rem;
}

/* information */
.information_fv_area{
    background: url(../images/information.webp);
    background-size: cover;
}
.information_fv_area h1{
    top: 50%;
}
.information h3{
    font-size: 4.375rem;
    letter-spacing: 0;
    font-family: "SourceHanSansJP-bold";
    margin-bottom: 3.25rem;
}
.information h3 > span{
    font-family: "SourceHanSansJP", sans-serif;
    letter-spacing: 0.1em;
}
.information p{
    line-height: 1.5;
}

.about_us table{
    width: 100%;
    border-collapse: collapse;
}
.about_us tr{
    border-bottom: 1px solid #969696;
}
.about_us th{
    padding-left: 5.625rem;
    width: 11.875rem;
    text-align: left;
    font-weight: normal;
    box-sizing: content-box;
}
.about_us td{
    line-height: 2;
    padding: 1.3125rem 0;
}
.about_us td > span{
    display: block;
}
.about_us td > div{
    display: flex;
}
.about_us td > div > span:first-of-type{
    width: 20rem;
}
.about_us > article p{
    background-color: #e6e6e6;
    width: 24.6875rem;
    height: 2.5rem;
    line-height: 2.5rem;
    text-align: center;
    margin: 0 auto;
    position: relative;
}
.about_us > article p.structure_before_long::before{
    position: absolute;
    content: '';
    width: 0.0625rem;
    height: 2.5rem;
    background-color: #969696;
    right: 50%;
    transform: translateX(50%);
    top: 2.5rem;
}
.about_us > article p.structure_right_position{
    width: 11.09375rem;
    transform: translateX(20.390625rem);
}
.about_us > article p.structure_right_position::after{
    position: absolute;
    content: '';
    width: 14.84375rem;
    height: 0.0625rem;
    background-color: #969696;
    bottom: 50%;
    transform: translateY(50%);
    left: -14.84375rem;
}
.about_us > article p.structure_darkgray{
    background-color: #c9caca;
}
.about_us > article p.structure_before{
    margin-bottom: 1.25rem;
}
.about_us > article p.structure_before::before{
    position: absolute;
    content: '';
    width: 0.0625rem;
    height: 1.25rem;
    background-color: #969696;
    right: 50%;
    transform: translateX(50%);
    top: 2.5rem;
}
.about_us > article div.structure_flex{
    display: flex;
    justify-content: space-between;
    width: 51.875rem;
    margin: 0 auto;
    margin-top: 1.25rem;
}
.about_us > article div.structure_flex:first-of-type{
    position: relative;
    margin-top: 2.5rem;
}
.about_us > article div.structure_flex:first-of-type::before{
    position: absolute;
    content: '';
    width: 27.1875rem;
    height: 0.0625rem;
    background-color: #969696;
    right: 50%;
    transform: translateX(50%);
    top: -1.25rem;
}
.about_us > article div.structure_flex:first-of-type > p::before{
    position: absolute;
    content: '';
    width: 0.0625rem;
    height: 1.25rem;
    background-color: #969696;
    right: 50%;
    transform: translateX(50%);
    top: -1.25rem;
}
.about_us > article div.structure_flex > p{
    margin: 0;
}
.about_us > article div.structure_flex_leftdell > p:first-of-type{
    background-color: transparent;
}
.about_us > article div.structure_flex_mini > p{
    background-color: transparent;
    height: auto;
    line-height: 1.5;
}

.history table{
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-md);
}
.history tr{
    border-bottom: 1px solid #969696;
}
.history tr:first-of-type{
    border-top: 1px solid #969696;
}
.history th{
    padding-left: 5.625rem;
    width: 11.875rem;
    text-align: left;
    font-weight: normal;
    box-sizing: content-box;
}
.history th > span{
    font-size: 0.625rem;
}
.history td{
    line-height: 2;
    padding: 1.3125rem 0;
}

.corporate_group > img{
    width: 19.375rem;
    margin: 0 auto;
    margin-bottom: 5.4375rem;
}
.corporate_group > article{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 74px;
    padding: 1.3125rem 1.875rem;
    border-bottom: 1px solid #969696;
    box-sizing: content-box;
    transition: all .6s ease;
}
.corporate_group > article:first-of-type{
    border-top: 1px solid #969696;
}
.corporate_group figure{
    width: 11.875rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.corporate_group .image_caption{
    width: 36rem;
}
.corporate_group_isb > figure > img,
.corporate_group_computer > figure > img{
    height: 3.25rem;
    display: inline-block;
}
.corporate_group_takes > figure > img{
    height: 3.125rem;
    display: inline-block;
}
.corporate_group_smc > figure > img{
    height: 3.8125rem;
    display: inline-block;
}
.corporate_group_knox > figure > img{
    height: 2.75rem;
    display: inline-block;
}
.corporate_group_art > figure > img{
    height: 1.875rem;
    display: inline-block;
}
.corporate_group_art_service > figure > img{
    height: 2.875rem;
    display: inline-block;
}
.corporate_group_ivc > figure > img{
    height: 4.625rem;
    display: inline-block;
}
.corporate_group_ambc > figure > img{
    height: 2.5rem;
    display: inline-block;
}
.corporate_group > article h3{
    font-size: var(--font-md);
}
.corporate_group > article a{
    font-size: var(--font-md);
    letter-spacing: 0;
}
.corporate_group > article:has(a:hover){
    opacity: .5 ;
}
.corporate_group > article > a > img{
    width: 0.9375rem;
    height: 0.875rem;
    display: inline-block;
    margin-left: 0.4875rem;
}

.isb_group {
    /*padding-top: 18.125rem;*/
    padding-bottom: 32.625rem;
}
.isb_group > p{
    color: #000;
    text-align: center;
    margin-bottom: 0;
}
.isb_group > section{
    text-align: center;
}
.isb_group > section:nth-of-type(1){
    padding-bottom: 18.875rem;
    border-bottom: 1px solid #969696;
}
.isb_group > section:nth-of-type(1) > h3 {
    color: #f08208;
    letter-spacing: 0.1em;
    line-height: 1.75;
}
.isb_mission_vision{
    background-color: #f7f8f8;
    padding: 2.5rem;
    padding-left: 37.0625rem;
    text-align: left;
    position: relative;
    margin: 0 auto;
    margin-top: 10.625rem;
    max-width: 63.375rem;
    width: 100%;   
}
.isb_mission_vision h4{
    font-size: 1.3125rem;
    line-height: 2.8571428571428571428571428571429;
}
.isb_mission_vision p{
    line-height: 2;
}
.isb_mission_vision > img{
    position: absolute;
    top: calc(50% + 65px);
    transform: translateY(-50%);
    left: 0;
    width: 37.0625rem;
}
.isb_group > section:nth-of-type(2){
    margin-top: 2.125rem;
}
.isb_group > section:nth-of-type(n+2){
    text-align: left;
}
.isb_group > section:nth-of-type(n+2) img{
    display: inline-block;
    height: 3.75rem;
    margin-right: 1.3125rem;
    max-width: none;
}
.isb_group > section:nth-of-type(n+2) h3{
    font-size: 4.375rem;
    line-height: 1.2571428571428571428571428571429;
    font-family: "myriad-variable",sans-serif;
    font-variation-settings: 'wght' 700, 'wdth' 100;
    color: #3e3a39;
}
.isb_group > section:nth-of-type(n+2) p{
    padding-left: 5.0625rem;
    line-height: 2;
    margin-bottom: 2.375rem;
}
.isb_group > section:nth-of-type(5) {
    padding-left: 5.0625rem;
    display: flex;
    justify-content: space-between;
}
.isb_group > section:nth-of-type(5) img{
    margin: 0 0.48625rem;
    width: 3.226875rem;
    height: auto;
}
.isb_group > section:nth-of-type(5) > div > div{
    display: flex;
    align-items: flex-start;
    margin-top: 2.125rem;
}
.isb_group > section:nth-of-type(5) > div > div:nth-of-type(2) img{
    width: 4.2rem;
    height: auto;
    margin: 0;
}
.isb_group > section:nth-of-type(5) h4{
    white-space: nowrap;
    margin-right: 1.6875rem;
    margin-left: 0.75rem;
}
.isb_group > section:nth-of-type(5) p{
    max-width: 47.75rem;
    width: 100%;
    padding-left: 0;
    margin: 0;
}
.isb_group_link_button {
    position: relative;
    display: block;
    width: auto;
    max-width: 480px;
    margin: 3em auto 0 auto;
    padding: 1.0em 2.25em 1.0em 1.25em;
    background-color: #008d3f;
    color: #fff;
    font-size: var(--font-ll);
    font-weight: 700;
    text-align: left;
    line-height: 1.5;
}
.isb_group_link_button::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.25em;
    margin: auto 0;
    display: block;
    width: 0.75em;
    height: 0.75em;
    border: solid 2px #fff;
    border-width: 2px 2px 0 0;
    transform: rotate(45deg);
}

.information_security > section > h3{
    margin-bottom: 1.25rem;
    margin-top: 6.125rem;
}
.information_security > section:nth-of-type(1) > a img{
    display: inline-block;
    width: 0.9375rem;
    margin-top: 0;
    margin-left: 0.5rem;
}
.information_security > section:nth-of-type(2) a.pdf-link {
    background-color: #ff0000;
    color: #fff;
    display: inline-block;
    padding: 0.2rem 0.5625rem;
    margin: 0.4rem 0 0 0;
}
.information_security > section:nth-of-type(2) a.pdf-link:hover {
    opacity: .6;
}
.information_security > section:nth-of-type(3) > p{
    margin-bottom: 6.875rem;
}
.information_security > section:nth-of-type(3) section{
    padding: 0 1.25rem;
}
.information_security > section:nth-of-type(3) h4{
    margin-bottom: 0.625rem;
}
.information_security > section:nth-of-type(3) > section:last-of-type h4{
    margin-top: 2.875rem;
}
.information_security > section:nth-of-type(3) table{
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-md);
}
.information_security > section:nth-of-type(3) tr{
    border-bottom: 1px solid #969696;
}
.information_security > section:nth-of-type(3) tr:first-of-type{
    border-top: 1px solid #969696;
}
.information_security > section:nth-of-type(3) th{
    padding-left: 5.625rem;
    width: 11.875rem;
    text-align: left;
    font-weight: normal;
    box-sizing: content-box;
}
.information_security > section:nth-of-type(3) td{
    line-height: 2;
    padding: 1.3125rem 0;
}

.access > div{
    display: flex;
    justify-content: space-between;
    margin-top: 5.875rem;
    padding-bottom: 4.375rem;
}
.access iframe{
    width: 400px;
    height: 250px;
}
.access > div:first-of-type h3{
    padding-top: 0;
}
.access p{
    margin-top: 1.3125rem;
    line-height: 2;
}
.access > div{
    border-bottom: 1px solid #969696;
}

.news_fv_area{
    background: url(../images/news.webp);
    background-size: cover;
    background-position-x: center;
}
.news_fv_area h1{
    top: 50%;
}
.news > img{
    width: 100%;
    margin-top: 18.75rem;
}
.news_contents{
    padding: 0 3.4375rem;
}
.news_contents time{
    color: #008d3f;
}
.news_contents h2{
    padding-top: 2.5rem;
}
.news_contents p{
    padding-top: 3.75rem;
    line-height: 2;
}
.news_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2rem;
    border-bottom: 1px solid #969696;
}
.news_flex:hover{
    opacity: .6;
}
.news_flex:first-of-type{
    border-top: 1px solid #969696;
}
.news_flex > time{
    color: #008d3f;
    font-family: 'SourceHanSansJP-bold';
    width: 8.5rem;
}
.news_flex > h3{
    font-family: 'SourceHanSansJP';
    font-weight: normal;
    width: 53.125rem;
    white-space: nowrap;
    overflow: hidden; 
    text-overflow: ellipsis; 
    max-width: 53.125rem; 
}
.news_flex > p{
    font-size: 0.625rem;
}


.about_fv_area{
    background: url(../images/about.webp);
    background-size: cover;
    background-position-x: center;
}
.about_fv_area h1{
    top: 50%;
}
.about h2{
    color: #231815;
}
.about h3{
    font-size: 1.75rem;
    margin-bottom: 1.625rem;
}
.about section{
    margin-bottom: 5.875rem;
}

.privacy_policy_fv_area{
    background: url(../images/privacypolicy.webp);
    background-size: cover;
    background-position-x: center;
}
.privacy_policy_fv_area h1{
    top: 50%;
}
.privacy_policy h3{
    font-size: 1.75rem;
    margin-bottom: 1.5rem;
}
.privacy_policy > section > p{
    margin-bottom: 6.25rem;
}
.privacy_policy > section:last-of-type > p{
    line-height: 2;
}
.privacy_policy > section:last-of-type > p:last-of-type{
    text-align: right;
}

.contact_fv_area{
    background: url(../images/contact.webp);
    background-size: cover;
    background-position-x: center;
}
.contact_fv_area h1{
    top: 50%;
}
.contact > p{
    margin-bottom: 7.125rem;
    color: #231815;
}
form{
    max-width: 62.5rem;
    margin: 0 auto;
}
.form_flex{
    display: flex;
    align-items: center;
    margin-bottom: 2.5rem;
}
.form_flex h3{
    font-size: var(--font-md);
    width: 8.75rem;
}
.form_flex span{
    background-color: #ff0000;
    font-size: 0.8125rem;
    color: #fff;
    padding: 0.125rem 0.3125rem;
    border-radius: 0.3125rem;
    margin-right: 3.125rem;
}
.form_flex > label > p{
    display: inline-block;
}
.form_flex > label{
    display: flex;
    height: 3.75rem;
    align-items: center;
}
.form_flex > label:nth-of-type(2){
    margin-left: 1.5rem;
}
.form_flex .spacer{
    width: 5.375rem;
    background-color: transparent;
    margin: 0   ;
}
form input,
form select,
form textarea{
    margin-left: 0.625rem;
    width: 20.625rem;
    border: #c8c8c8 solid 1px;
    padding: 1.125rem;
    height: 100%;
}
.form_flex label:only-of-type > input,
.form_flex label:only-of-type > select,
.form_flex label:only-of-type > textarea{
    width: 45.625rem;
}
.form_flex label:only-of-type > textarea{
    height: 16.25rem;
}
.form_flex label.textarea_label{
    height: auto;
}
.form_flex > label.privacy_policy_label{
    width: 45.625rem;
    height: auto;
    align-items: center;
    flex-direction: column;
    margin-left: 0.625rem;
}
.form_flex > label.privacy_policy_label > div{
    margin-top: 1rem;
}
.form_flex > label.privacy_policy_label > div > input{
    vertical-align: sub;
}
.form_flex > label.privacy_policy_label > div > p{
    display: inline-block;
}
iframe{
    width: 100%;
    height: 18.75rem;
    border: #c8c8c8 solid 1px;
}
.form_flex > label.privacy_policy_label > iframe {
    height: 10rem;
}

.form_flex label.privacy_policy_label img{
    display: inline-block;
    width: 1.625rem;
    margin-right: 0.625rem;
}
.form_flex label.privacy_policy_label > a{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-right: 5.75rem;
}
.form_flex label.privacy_policy_label > a:hover{
    opacity: .6;
}
.form_flex label.privacy_policy_label input{
    width: clamp(0.5rem, 0.235rem + 1.413vw, 1.206rem);
    height: clamp(0.5rem, 0.235rem + 1.413vw, 1.206rem);
    border: #c8c8c8 solid 1px;
    border-radius: 10px;
    margin-right: 0.4375rem;
}
input[name='confirm']{
    width: 100%;
    height: 4.625rem;
    color: #fff;
    font-size: 1.3125rem;
    margin-left: 0;
    background-color: #008d3f;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    display: block;
    margin: 0 auto;
}
.form_flex span.text_br_786span {
    background-color: transparent;
    font-size: inherit;
    padding: 0;
    margin-right: 0;
}
.confirm input[type='submit']{
    width: 100%;
    background-color: #f08208;
    color: #fff;
    margin: 0;
    display: block;
    margin: 0 auto;
}
.confirm input[type='button']{
    width: 100%;
    background-color: transparent;
    border: none;
    margin-top: 1rem;
    display: block;
    margin: 0 auto;
}

.thanks > p:first-of-type{
    color: #231815;
    text-align: center;
}
.thanks > a{
    width: 90%;
    height: 74px;
    border: 1px #231815 solid;
    font-size: 18px;
    line-height: 74px;
    text-align: center;
    display: block;
    margin: 0 auto;
    margin-top: 110px;
}

.recruit_fv_area{
    background: url(../images/recruit.webp);
    background-size: cover;
    background-position-x: center;
}
.recruit_fv_area h1{
    top: 50%;
}
.recruit_fv_area > p{
    font-family: 'SourceHanSansJP-bold';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 7.5rem;
    width: max-content;
    letter-spacing: 0.1em;
    text-shadow:
        -2px -2px 0 #fff,
        0   -2px 0 #fff,
        2px -2px 0 #fff,
        -2px  0   0 #fff,
        2px  0   0 #fff,
        -2px  2px 0 #fff,
        0    2px 0 #fff,
        2px  2px 0 #fff,
        0    0   4px #fff;
}
.recruit_fv_area > p span {
    opacity: 0;
    display: inline-block;
    animation: fadeIn 0.5s forwards;
}
@keyframes fadeIn {
    to {
    opacity: 1;
    }
}
.recruit > p{
    font-size: 1.75rem;
    font-family: 'SourceHanSansJP-bold';
    color: #231815;
    letter-spacing: 0;
    padding: 0;
    text-align: center;
}
.recruit > img{
    margin-bottom: 6.25rem;
}
.recruit .flow_text{
    color: #008d3f;
    font-size: var(--font-xl);
    margin-top: 2.125rem    ;
}
.recruit > img:last-of-type{
    width: 26.75rem;
    margin: 0 auto;
    margin-top: 4.375rem;
}

.recruit_work > p{
    text-align: center;
    color: #231815;
}
.recruit_work_flex{
    display: flex;
    justify-content: center;
}
.recruit_work_flex > div{
    flex: 1;
    padding: 0 1.34375rem;
}
.recruit_work_flex > div:first-of-type{
    padding-left: 0;
}
.recruit_work_flex > div:last-of-type{
    padding-right: 0;
}
.recruit_work_flex img{
    display: inline-block;
    height: 11.5rem;
    transform: translateY(0.75rem);
}
.recruit_work_flex > div:nth-of-type(1) > h3 > img{
    margin-right: -2.25rem;
}
.recruit_work_flex > div:nth-of-type(2) > h3 > img{
    margin-right: -2.25rem;
}
.recruit_work_flex > div:nth-of-type(3) > h3 > img{
    margin-right: -1.25rem;
}
.recruit_work_flex p{
    margin-top: 2.625rem;
    line-height: 2;
}

.recruit_interview{
    text-align: center;
}
.recruit_interview > p{
    color: #231815;
}
.recruit_interview_flex,
.recruit_interview_flex > div:first-of-type{
    display: flex;
}
.recruit_interview_flex{
    align-items: flex-start;
    border-bottom: dashed 1px #000;
    padding-bottom: 2.125rem;
    padding-top: 2.875rem;
}
.recruit_interview_flex:last-of-type{
    border: none;
    padding-bottom: 0;
}
.recruit_interview_flex:first-of-type{
    padding-top: 0;
}
.recruit_interview_flex > div:first-of-type{
    align-items: flex-end;
    padding-right: 5rem;
}
.recruit_interview_flex > div:first-of-type > img{
    width: 7.625rem;
    margin-right: 1.875rem;
}
.recruit_interview_flex > div:first-of-type > p{
    text-align: left;
}
.recruit_interview_flex > div:last-of-type > p > img{
    display: inline-block;
    width: 2.8rem;
    margin-right: 1rem;
}
.recruit_interview_flex > div:last-of-type{
    flex: 1;
}
.recruit_interview_flex > div:last-of-type > p{
    text-align: left;
    margin-bottom: 2.6875rem;
    display: flex;
    align-items: flex-end;
    line-height: 2;
}
.recruit_interview_flex > div:last-of-type > p:nth-of-type(even){
    margin-bottom: 3.25rem;
}
.recruit_interview_flex > div:last-of-type > p.many_text{
    align-items: flex-start;
}

.recruit_office > p{
    font-size: 1.75rem;
    color: #231815;
    text-wrap-mode: nowrap;
}
.recruit_office > div{
    margin-bottom: 2.625rem;
}
.recruit_office > div > p{
    font-family: 'SourceHanSansJP-bold';
    text-align: center;
}
.recruit_office > div > p:last-of-type{
    color: #008d3f;
}
.office_images_grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-bottom: 11.25rem;
}
.office_images_grid img{
    cursor: pointer;
    transition: all ease .6s;
}
.office_images_grid img:hover{
    filter: brightness(1.2);
}

.recruit_button{
    display: flex;
    justify-content: space-evenly;
    align-items: flex-start;
    position: relative;
    padding-bottom: 12.5rem;
    margin-top: 12.25rem;
}
.recruit_button > div{
    position: absolute;
    width: 100dvw;
    height: 21.0625rem;
    background: url(../images/recruit_button_bg.webp);
    background-size: cover;
    z-index: -1;
    top: 210px;
}
.recruit_button > a{
    position: relative;
    display: block;
}
.recruit_button > a:hover{
    filter: brightness(1.3);
}
.recruit_button > a > img{
    width: 32.8125rem;
    display: inline-block;
}
.recruit_button > a:last-of-type{
    transform: translateY(0.55015625rem);
    padding-bottom: 0.55015625rem;
    position: relative;
}
.recruit_button > a > p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.75rem;
    text-align: center;
    font-family: 'SourceHanSansJP-bold';
    line-height: 1.6071428571428571428571428571429;
    width: max-content;
}
.recruit_button > a:first-of-type > p{
    color: #008d3f;
}
.recruit_button > a:last-of-type > p{
    top: calc(50% - 1.38rem);
    color: #ed6c00;
}
.recruit_button > a:last-of-type > img:last-of-type{
    position: absolute;
    right: -6.875rem;
    top: 0;
    width: 15.3266rem;
}
.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.8);
  justify-content: center;
  align-items: center;
}
.modal-content {
  margin: auto;
  display: block;
  width: 50%;
  max-width: 90%;
  max-height: 80%;
  position: relative;
}
.modal-content img{
  width: 100%;
}
.close {
  position: absolute;
  top: 10px;
  left: 10px;
  line-height: 1;
  color: #fff;
  font-size: 46px;
  font-weight: bold;
  cursor: pointer;
  transition: 0.3s;
}
.close:hover {
  color: #bbb;
}
.arrow {
  position: absolute;
  top: 50%;
  font-size: 60px;
  color: #fff;
  padding: 10px;
  cursor: pointer;
  user-select: none;
  z-index: 10000;
  transition: 0.3s;
}
.arrow:hover {
  color: #bbb;
}
.arrow.left {
  left: 10px;
  transform: translateY(-50%);
}
.arrow.right {
  right: 10px;
  transform: translateY(-50%);
}

.recruit_fv_area.recruit_new h1{
    top: calc(50% - 3.125rem);
}
.new_graduate_recruitment h2,
.new_graduate_recruitment_flow h2{
    font-size: 3.125rem;
    color: #231815;
}
.new_graduate_recruitment p{
    font-size: 1.75rem;
    color: #231815;
}
.new_graduate_recruitment > div{
    width: 100dvw;
    margin: 0 calc(50% - 50dvw);
}
.new_graduate_recruitment img{
    width: 89rem;
    margin: 0 auto;
}
.new_graduate_recruitment table{
    width: 100%;
    border-collapse: collapse;
}
.new_graduate_recruitment tr{
    border-bottom: 1px solid #969696;
}
.new_graduate_recruitment th{
    padding-left: 5.625rem;
    width: 11.875rem;
    text-align: left;
    font-weight: normal;
    box-sizing: content-box;
    font-size: var(--font-base);
}
.new_graduate_recruitment td{
    line-height: 2;
    padding: 1.3125rem 0;
    font-size: var(--font-base);
}
.new_graduate_recruitment td > p{
    font-size: var(--font-base);
}
.new_graduate_recruitment .new_flex_td{
    display: flex;
}
.new_graduate_recruitment .new_flex_td > p:first-of-type{
    margin-right: 1em;
}

.new_graduate_recruitment_flow > div{
    display: flex;
    margin-bottom: 7.5rem;
}
.new_graduate_recruitment_flow > div > h3{
    width: 33.75rem;
}
.new_graduate_recruitment_flow > div > h3 > span{
    font-family: "myriad-variable",sans-serif;
    font-variation-settings: 'wght' 700, 'wdth' 100;
    color: #008d3f;
    margin-right: 2.8125rem;
}
.new_graduate_recruitment_flow > div > p{
    width: 20.3125rem;
}
.new_graduate_recruitment_flow > div > p > a{
    width: 15rem;
    margin-bottom: 1.125rem;
}
.new_graduate_recruitment_flow > div > p > a:hover{
    opacity: .6;
}
.new_graduate_recruitment_flow > div > div{
    flex: 1;
    text-align: right;
}
.new_graduate_recruitment_flow > div > div > img{
    display: inline-block;
}
.new_graduate_recruitment_flow > div:nth-of-type(1) > div > img{
    width: 8.5625rem;
}
.new_graduate_recruitment_flow > div:nth-of-type(2) > div > img{
    width: 13.125rem;
}
.new_graduate_recruitment_flow > div:nth-of-type(3) > div > img{
    width: 12.1875rem;
}
.new_graduate_recruitment_flow > div:nth-of-type(4) > div > img{
    width: 10.14373125rem;
}
.new_graduate_recruitment_flow > div:nth-of-type(5) > div > img{
    width: 7.75rem;
}
.new_graduate_recruitment_flow > div:last-of-type {
    margin-bottom: 0;
}
/*.new_graduate_recruitment_flow > div:last-of-type{
    width: 30.2751rem;
    height: 5.6875rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f08208;
    color: #fff;
    margin: 0 auto;
    font-family: 'SourceHanSansJP-bold';
    border-radius: 999px;
}*/

.new_graduate_recruitment_faq > p{
    text-align: center;
    color: #231815;
}
.new_graduate_recruitment_faq > div > p{
    display: flex;
    align-items: flex-end;
    margin-bottom: 2.8125rem;
}
.new_graduate_recruitment_faq > div > p:nth-of-type(odd){
    position: relative;
    cursor: pointer;
}
.new_graduate_recruitment_faq > div > p:nth-of-type(odd)::before{
    position: absolute;
    content: '';
    right: 0;
    top: 0;
    width: 3.5rem;
    height: 3.5rem;
    background-color: #c9caca;
    border-radius: 10px;
    transition: all ease .4s;
}
.new_graduate_recruitment_faq > div > p:nth-of-type(odd):hover::before{
    background-color: #b3b3b3;
}
.new_graduate_recruitment_faq > div > p:nth-of-type(odd)::after{
    position: absolute;
    content: '▼';
    right: 0;
    top: 0;
    width: 3.5rem;
    height: 3.5rem;
    color: #efefef;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all ease .6s;
}
.new_graduate_recruitment_faq > div > p:nth-of-type(odd).active::after{
    transform: rotate(180deg);
}
.new_graduate_recruitment_faq > div > p:nth-of-type(even){
    margin-bottom: 6.25rem;
    transition: all ease .6s;
    height: auto;
    opacity: 1;
}
.new_graduate_recruitment_faq > div > p:nth-of-type(even).del{
    height:0;
    margin: 0;
    opacity: 0;
}
.new_graduate_recruitment_faq > div > p.many_text{
    align-items: flex-start;
}
.new_graduate_recruitment_faq > div > p > img{
    width: 2.8rem;
    margin-right: 2rem;
}

.recruit_Mid-Career_fv_area{
    background: url(../images/Mid-Career.webp);
    background-size: cover;
    background-position-x: center;
}
.mid_career h2{
    color: #231815;
    font-size: 3.125rem;
}
.mid_career p{
    color: #231815;
    font-size: 1.75rem;
    margin-bottom: 9rem;
}
.mid_career img{
    max-width: 28.3125rem;
    width: 100%;
    margin: 0 auto;
}   
.mid_career + .new_graduate_recruitment tbody > tr:first-of-type{
    border-top: 1px solid #969696;
}

.mid_career_contact > p{
    font-size: var(--font-md);
    width: max-content;
    margin: 0 auto;
    line-height: 2;
}
.mid_career_contact_button {
    position: relative;
    display: block;
    width: auto;
    max-width: 320px;
    margin: 2em auto 0 auto;
    padding: 1.0em 2.25em 1.0em 1.25em;
    background-color: #008d3f;
    color: #fff;
    font-size: var(--font-ll);
    font-weight: 700;
    text-align: left;
    line-height: 1.5;
}
.mid_career_contact_button::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.25em;
    margin: auto 0;
    display: block;
    width: 0.75em;
    height: 0.75em;
    border: solid 2px #fff;
    border-width: 2px 2px 0 0;
    transform: rotate(45deg);
}

.confirm > p{
    text-align: center;
}

.pagination {
  margin-top: 2rem;
  text-align: center;
}
.pagination .page-numbers {
  display: inline-block;
  margin: 0 5px;
  padding: 0.5rem 1rem;
  border: 1px solid #ccc;
  color: #333;
  text-decoration: none;
}
.pagination .current {
  background-color: #333;
  color: #fff;
  font-weight: bold;
}
.fv_area_br_ver h1{
    top:calc(50% - 3.125rem);
}

#newsSingle{
    padding-top: 6.125rem;
}
.other_page_iframe h2{
    padding-top: .5rem;
}
.other_page_iframe > .privacy_policy {
    padding-top: 2rem!important;
}

@media screen and (max-width:1285px){
    .recruit_flex {
        width: 92%;
        margin: 0 auto;
    }
    .corporate_group > article a {
        font-size: var(--font-xs);
    }
    .corporate_group > article > a > img {
    width: 0.625rem;
    height: auto;
    margin-left: 0.1875rem;
    }
    .corporate_group > article h3,
    .corporate_group > article p {
    font-size: var(--font-base);
    }
    .corporate_group figure {
    width: 9.875rem;
    }
    .isb_mission_vision h4 {
    line-height: 2;
    }
    .isb_group > section:nth-of-type(5) > div > div {
    margin-top: 1rem;
    }
    .recruit_fv_area > p,
    .recruit_fv_area span{
        font-size: var(--font-4xl);
        letter-spacing: 0.04em;
    }
    .delete_span{
        display: none;
    }
    .recruit_office > p {
    text-wrap-mode:wrap;
    }
    .recruit_office > div > p:last-of-type {
    font-size: var(--font-xll);
    }
    .new_graduate_recruitment_flow > div > h3 {
        width: 29rem;
    font-size: var(--font-3xl);
    }
    .new_graduate_recruitment_faq > p {
        font-size: 2.2rem;
    }
    form input, form select, form textarea {
        width: 18rem;
    }
    .form_flex label:only-of-type > input, .form_flex label:only-of-type > select, .form_flex label:only-of-type > textarea,.form_flex > label.privacy_policy_label {
    width: 40.025rem;
    }
    .form_flex label.privacy_policy_label input {
    width: 1.20625rem;
    height: 1.20625rem;
    }
}

@media screen and (max-width:980px){
    header > div.hamburger_menu{
        opacity: 0;
        visibility: hidden;
        background-color: #fff;
        transition: all .6s ease;
        margin-top: 10rem;
        height: calc(100dvh - 10rem);
        pointer-events: none;
        overflow-y: scroll;
        transform: translateY(-1rem);
    }
    
    header::after{
        z-index: 3;
    }
    header > div.hamburger_menu.active{
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: all;
    }
    header nav{
        height: auto;
        display: block;
        font-size: var(--font-xll);
        padding: 5rem;
        padding-top: 2rem;
    }
    header nav > ul{
        display: block;
    }
    header nav > ul > li{
        display: block;
    }
    header nav > ul > li > a {
        display: none;
    }
    header nav > ul > li:last-of-type > a {
        padding: 0;
        border: none;
        display: block;
    }
    header > .hamburger_button{
        display: block;
        position: absolute;
        width: 110px;
        height: 110px;
        right: 2rem;
        top: 50%;
        transform: translateY(-50%);
    }
    header > .hamburger_button > span{
        display: inline-block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 60%;
        height: .4rem;
        background-color: #008d3f;
        transition: all ease .6s;
    }
    header > .hamburger_button > span:first-of-type{
        top: calc(50% - 1rem);
    }
    header > .hamburger_button > span:last-of-type{
        top: calc(50% + 1rem);
    }
    header > .hamburger_button.active > span:nth-of-type(2){
        opacity: 0;
    }
    header > .hamburger_button.active > span:first-of-type{
        transform: translate(-50%, -50%) rotate(45deg);
        top: 50%;
    }
    header > .hamburger_button.active > span:last-of-type{
        transform: translate(-50%, -50%) rotate(-45deg);
        top: 50%;
    }
    header .dropdown{
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        position: static;
        min-width:auto;
        background: transparent;
        color: #000;
        padding: 0;
        z-index: 100;
    }
    header .arrow-up {
        display: none;
    }
    .head_square{
        display: inline-block;
    }
    header .dropdown > ul > li{
        padding-bottom: 3rem;
    }
    header .dropdown > ul > li:not(:first-of-type) {
        padding-left: 2em;
    }
    header .dropdown > ul > li:first-of-type,
    body > header > div.hamburger_menu.active > nav > ul > li:nth-child(4){
        padding-top: 3rem;
    }
    header .dropdown > ul > li:last-of-type{
        border-bottom: 1px dashed #231815;
    }
    header .dropdown > ul > li > a{
        display: block;
    }
    .top_sub_copy{
        font-size: var(--font-xll);
    }
    section > h2 + p.font-3xl {
        font-size: var(--font-2xl);
    }
    .top_detail_button > p, .recruit_flex > p {
        font-size: var(--font-xl);
    }
    .top_detail_button > p {
    right: 32rem;
    }
    .top_detail_button > p::after,
    .recruit_flex > p::after  {
    border-top: 2rem solid transparent;
    border-bottom: 2rem solid transparent;
    }
    .top_kitarabo_area > img:last-of-type {
    width: 12.5rem;
    }
    section > h2 {
    margin-bottom: 6rem;
    font-size: var(--font-3xl);
    }
    footer nav > ul > li > a {
        margin-right: clamp(2rem, -14.311rem + 33.161vw, 6rem);;
    }
    footer > section {
        padding: 2.75rem 4rem;
    }
    .foot_info_flex {
    margin-top: 1.4375rem;
    }
    .foot_video_wrapper > video {
        height: 570px;
        object-fit: cover;
    }
    .information h3 {
    font-size: 3.5rem;
    }
    .information h3 > span {
    font-size: var(--font-xll);
    }
    .about_us td > div {
        flex-direction: column;
    }
    .about_us > article div.structure_flex {
        width: 46rem;
    }    
    .about_us > article p {
        width: 20rem;
    }
    .about_us > article p.structure_right_position {
        transform: translateX(17rem);
    }
    .about_us > article p.structure_right_position::after {
        width: 11.4375rem;
        left: -11.4375rem;
    }
    .about_us > article div.structure_flex:first-of-type::before {
       width: 26rem;
    }
    .corporate_group > article a {
        text-wrap-mode: nowrap;
    }
    .corporate_group > article h3, .corporate_group > article p {
        line-height: 1.2;
    }
    .isb_group > section:nth-of-type(1) > h3 {
        font-size: var(--font-3xl);
    }
    .isb_mission_vision > img {
    top: 33.125rem;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 33rem;
    }
    .isb_mission_vision {
        padding-left: 0;
        padding-bottom: 20rem;
    }
    .access iframe{
        width: 290px;
    }
    section > h2 + p.font-xll {
        font-size: var(--font-xl);
    }
    .business_domains_flex {
        gap: 4.25rem 1.5rem;
    }
    .development_experience_flex {
        gap: 4.25rem 1.5rem;
        margin-top: 6rem;
    }
    .development_experience_flex h3 {
        line-height: 1.5;
    }
    .recruit_fv_area > p, .recruit_fv_area span {
        font-size: var(--font-3xl);
        letter-spacing: 0.04em;
    }
    .text_nowrap_span{
        text-wrap-mode: nowrap;
    }
    .sp_add_br{
        display: block;
    }
    .recruit_work_flex img {
    transform: translateY(-1rem);
}
    .modal-content {
        width: 80%;
    }
    .recruit_button > a > p {
    font-size: 1.5rem;
    }    
    .new_graduate_recruitment th {
        padding-left: 1rem;
        width: 9rem;
    }
    .new_graduate_recruitment td,.new_graduate_recruitment td > p{
        font-size: var(--font-sm);
    }
    form input, form select, form textarea {
        width: 12rem;
    }
    .form_flex label:only-of-type > input, .form_flex label:only-of-type > select, .form_flex label:only-of-type > textarea,.form_flex > label.privacy_policy_label {
        width: 28.025rem;
    }
    .form_flex label.privacy_policy_label > a {
        margin-right: 1rem;
        flex-direction: column;
    }
    .form_flex > label > p {
        font-size: var(--font-xs);
    }
    .form_flex label.privacy_policy_label img {
        margin-right: 0;
        margin-bottom: 0.625rem;
    }
    .background_video {
    top: clamp(47.5rem, -47.594rem + 198.113vw, 73.75rem);
    right: clamp(14.375rem, -28.644rem + 89.623vw, 26.25rem);
    }
    .background_video_other{
    top:1280px;
    }
    .background_video video {
        width: clamp(37.5rem, 3.538rem + 70.755vw, 46.875rem);
        height: clamp(26.875rem, -0.295rem + 56.604vw, 34.375rem);
        object-fit: cover;
    }
    header::after, .top_fv_area::after, section > h2::after, .business_fv_area::after, .information_fv_area::after, .about_fv_area::after, .privacy_policy_fv_area::after, .contact_fv_area::after, .recruit_fv_area::after, .recruit_Mid-Career_fv_area::after, .news_fv_area::after {
        min-width: auto;
        background: linear-gradient(to right,
                    #008d3f 0rem,
                    #008d3f 10rem,
                    #f08208 10rem,
                    #f08208 20rem,
                    #008d3f 20rem,
                    #008d3f 60rem
                        );
    }
    .news_flex {
        display: flex;
        flex-wrap: wrap;
    }
    .news_flex > h3{
        margin-bottom: 1rem;
    }
    .news_flex > p {
        font-size: 0.75rem;
    }
    .other_page_iframe h2{
        padding-top: .5rem;
    }
    .other_page_iframe .privacy_policy {
        padding-top: .5rem;
    }
}

@media screen and (max-width:786px){
    .container {
    padding: 0 0.625rem;
    }
    header {
        height: 7rem;
    }
    header h1 svg {
        height: 5rem;
    }
    header > .hamburger_button {
        width: 80px;
        height: 80px;
    }
    .top_fv_area {
        padding-top: 7rem;
    }
    .top_fv_area > video {
        height: clamp(17.5rem, 5.080rem + 66.239vw, 36.875rem);
        object-fit: cover;
    }
    header > div.hamburger_menu {
        margin-top: 7rem;
        height: calc(100dvh - 7rem);
    }
    header nav {
        font-size: var(--font-md);
        padding: 3rem;
        padding-top: 2rem;
    }
    header .dropdown > ul > li:first-of-type, body > header > div.hamburger_menu.active > nav > ul > li:nth-child(4) {
        padding-top: 1.5rem;
    }
    header .dropdown > ul > li {
        padding-bottom: 1.5rem;
    }
    .top_sub_copy {
        padding-top: 5rem;
        font-size: clamp(1.25rem, 0.449rem + 4.274vw, 2.5rem);
        letter-spacing: 0;
    }
    .text_nowrap_786span{
        text-wrap-mode: nowrap;
    }
    .text_br_786span{
        display: none;
    }
    section > h2 {
        margin-bottom: 4rem;
        font-size: clamp(2rem, 0.878rem + 5.983vw, 3.75rem);
    }
    section > h2 > span.font-xl {
        font-size: clamp(1.188rem, 0.667rem + 2.778vw, 2rem);
        padding-top: 1rem;
    }
    header > .hamburger_button > span {
        height: .3rem;
        left: auto;
        right: 0;
        transform: translate(0, -50%);
    }
    header > .hamburger_button > span:first-of-type {
        top: calc(50% - .8rem);
    }
    header > .hamburger_button > span:last-of-type {
        top: calc(50% + .8rem);
    }
    header > .hamburger_button.active > span:last-of-type {
        transform: translate(0, -50%) rotate(-45deg);
    }
    header > .hamburger_button.active > span:first-of-type {
        transform: translate(0, -50%) rotate(45deg);
    }
    section > h2 + p.font-3xl {
        font-size: clamp(1.313rem, 0.471rem + 4.487vw, 2.625rem);
    }
    .top_detail_button > p, .recruit_flex > p {
        font-size: clamp(1rem, 0.599rem + 2.137vw, 1.625rem);
        padding: clamp(0.8rem, 0.031rem + 4.103vw, 1.5rem);
        padding-right: clamp(1rem, -0.923rem + 10.256vw, 4rem);
    }
    .top_detail_button > p {
        right: clamp(10rem, -1.538rem + 61.538vw, 28rem);
        bottom: .8rem;
    }
    .top_detail_button > p::after, .recruit_flex > p::after {
        border-top: clamp(1.3rem, 0.330rem + 5.171vw, 2.3125rem) solid transparent;
        border-bottom: clamp(1.3rem, 0.330rem + 5.171vw, 2.3125rem) solid transparent;
        right: -1rem;
        border-left: 1rem solid #008d3f;
    }
    .top_kitarabo_area > img:last-of-type {
        right: 1rem;
        bottom: 1rem;
        width: 7rem;
    }
    .top_detail_button {
        margin-bottom: 4rem;
    }
    .top_kitarabo_area {
        margin-bottom: 4rem;
    }
    .top_news_flex {
        grid-template-columns: repeat(2, 1fr);
        gap: 0 2rem;
    }
    .top_news_flex > article{
        margin-bottom: 2rem;
        max-width: none;
    }
    .top_news_flex > article img{
        width: 100%;
    }
    .top_pagination > a:nth-of-type(2){
        position: absolute;
        left: 50%;
        bottom: -50px;
        transform: translateX(-50%);
    }
    .recruit_flex > p {
        transform: translate(0,6rem);
    }
    .foot_video_wrapper > video {
        height: 750px;
    }
    footer nav > ul.font-md {
    flex-wrap: wrap;
    font-size: 0.875rem;
    }
    footer > section {
        width: 93%;
        padding: 1.5rem 2rem;
    }
    footer li {
        width: 240px;
    }
    .foot_info_flex {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .foot_info_flex svg {
        width: 6rem;
    }
    .foot_info_text {
        margin-left: 0;
    }
    .foot_info_flex {
        margin-top: 3.4375rem;
    }
    footer nav > ul > li:nth-of-type(1){
        margin-bottom: 2rem;
    }
    footer nav > ul > li:nth-of-type(2){
        margin-bottom: 2rem;
    }
    .foot_info_text dt{
        text-wrap-mode: nowrap;
    }
    .foot_video_wrapper{
        background-color: #ddd;
        height: 630px;
    }
    .foot_video_wrapper > video {
        display: none;
    }
    .background_video{
        display: none;
    }
    .business_fv_area, .information_fv_area, .about_fv_area, .privacy_policy_fv_area, .contact_fv_area, .recruit_fv_area, .recruit_Mid-Career_fv_area, .news_fv_area {
        margin-top: 7rem;
        height: 450px;
        background-position: center;
    }
    .information h3 {
        font-size: 2.2rem;
        word-break: break-word;
    }
    .information h3 > span {
        font-size: var(--font-ll);
    }
    .about_us > article div.structure_flex {
        width: 30rem;
    }
    .about_us > article p {
        width: 14rem;
    }
    .about_us > article p.structure_right_position {
        transform: translateX(11rem);
    }
    .about_us > article p.structure_right_position {
    width: 6.09375rem;
    }
    .about_us > article p.structure_right_position::after {
        width: 8rem;
        left: -8rem;
    }
    .about_us > article div.structure_flex:first-of-type::before {
        width: 16rem;
    }
    .other_page_container h2 {
        word-break: break-all;
        padding-top: 6rem;
        font-size: var(--font-2xl);
    }
    .other_page_iframe h2{
        padding-top: .5rem;
    }
    .other_page_iframe .privacy_policy {
        padding-top: .5rem;
    }
    .new_graduate_recruitment p {
        font-size: 1rem;
    }
    .new_graduate_recruitment > div {
        width: 100dvw;
        margin: 0 calc(50% - 50dvw);
        transform: scale(1.3);
    }
    .isb_mission_vision > img {
        width: 24rem;
    }
    .isb_group > section:nth-of-type(5) {
        flex-direction: column;
    }
    .isb_group > section:nth-of-type(5) > div > div {
        flex-direction: column;
    }
    .isb_group > section:nth-of-type(5) h4 {
        margin: 1rem 0;
    }
    .isb_group > section:nth-of-type(5) p {
        margin-bottom: 2rem;
    }
    .history th {
        padding-left: 0;
        width: auto;
    }
    .access > div {
        flex-direction: column;
    }
    .access iframe {
        margin-top: 2rem;
        width: 100%;
    }
    .business_policy ul {
        padding-left: 2.5rem;
    }
    .business_domains_flex {
        grid-template-columns: repeat(2, 1fr);
    }
    .development_experience_flex {
        grid-template-columns: repeat(2, 1fr);
    }
    #animatedText{
        top: 5.5rem;
    }
    #animatedText span{
        font-size: 2.375rem;
    }
    .recruit_work_flex {
        flex-direction: column;
    }
    .recruit_work_flex img {
        transform: translateY(0);
    }
    .recruit_work_flex > div:first-of-type {
        padding-left: 1.34375rem;
    }
    .recruit_work_flex > div{
        padding-bottom: 2rem;
    }
    .recruit_interview_flex, .recruit_interview_flex > div:first-of-type {
        flex-direction: column;
        align-items: center;
    }
    .recruit_interview_flex > div:first-of-type > img {
    margin-right:0;
}
    .recruit_interview_flex > div:first-of-type{
        padding: 0;
        margin-bottom: 2rem;
    }
    
    .office_images_grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .modal-content {
        width: 90%;
    }
    .recruit_button {
        flex-direction: column;
        align-items: center;
    }
    body > main > div.container.other_page_container > section:nth-child(2) > table > tbody > tr:nth-child(2) > td > p:nth-child(1){
        display: none;
    }
    .new_graduate_recruitment_faq > div > p {
        padding-right: 4.375rem;
    }
    .form_flex {
            flex-direction: column;
    }
    .form_flex h3 {
        width: auto;
        margin-bottom: 1rem;
    }
    .form_flex span {
        margin: 0;
        margin-bottom: 1rem;
    }
    form input, form select, form textarea,
    .form_flex > label {
        width: 100%;
        max-width: 28.025rem;
        flex-direction: column;
        margin-bottom: 1.5rem;
        margin-left: 0;
    }
    select[name='contactKinds']{
        height: 3.75rem;
    }
    .form_flex > label:nth-of-type(2) {
        margin-left: 0;
    }
    .form_flex label.privacy_policy_label > a {
        flex-direction: row;
        margin-bottom: 1rem;
    }
    .form_flex > label.privacy_policy_label{
        flex-direction: column;
        height: auto;

    }
    .form_flex label.privacy_policy_label img {
        margin-right: 1rem;
        margin-bottom: 0;
    }
    input[name='confim'] {
        max-width: none;
    }
    .form_flex label:only-of-type > input, .form_flex label:only-of-type > select, .form_flex label:only-of-type > textarea,.form_flex > label.privacy_policy_label {
        width: 100%;
        max-width: 28.025rem;
        margin-left: 0;
    }
    .form_flex label.privacy_policy_label input {
    margin-right: 0;
    transform: scale(80%);
}
    .corporate_group > article {
        height: auto;
        flex-direction: column;
        padding: 1.3125rem 0;
    }
    .corporate_group .image_caption {
        width: auto;
        margin: 1rem 0;
    }
    .news > img {
        margin-top: 4.75rem;
    }
    .news_contents {
        margin-top: 1.125rem;
        padding: 0 1rem;
    }
    .news_contents h2 {
        padding-top: 2rem;
    }
    .news_contents p {
        padding-top: 2rem;
    }

}
@media screen and (max-width:585px){
    .foot_video_wrapper {
        height: 940px;
    }
    footer nav > ul > li:nth-of-type(1),
    footer nav > ul > li:nth-of-type(2),
    footer nav > ul > li:nth-of-type(3){
        margin-bottom: 1rem;
    }
    .flex_dl {
        flex-wrap: wrap;
    }
    .foot_copyright_flex{
        flex-wrap: wrap;
        justify-content: center;
    }
    .foot_copyright_flex > div{
        padding-bottom: 1rem;
    }
    .foot_copyright_container {
        padding: 0.4375rem 1rem;
    }
    footer > section {
        bottom: 7.25rem;
    }
    footer li {
        width: 100%;
    }
    .top_news_flex time {
        font-size: 0.625rem;
    }
    .top_news_flex p {
        font-size: var(--font-sm);
    }
    .top_news_flex h3 {
        font-size: var(--font-sm);
        margin-bottom: 1rem;
    }
    .top_news_flex {
        gap: 0 1rem;
    }
    .recruit_flex > p {
        font-size: var(--font-sm);
        padding: 0.8rem;
        transform: none;
        position: relative;
        margin-left: auto;
    }
    .recruit_flex > p::after {
        border-top: 1.2375rem solid transparent;
        border-bottom: 1.2375rem solid transparent;
    }
    .recruit_flex {
        flex-wrap: wrap;
    }
    .recruit_title_flex h2{
        font-size: var(--font-2xl);
    }
    .business_fv_area h1 > span, .information_fv_area h1 > span, .about_fv_area h1 > span, .privacy_policy_fv_area > span, .contact_fv_area span, .recruit_fv_area span, .recruit_Mid-Career_fv_area span, .news_fv_area span {
    font-size: 3rem;
}
.business_fv_area h1, .information_fv_area h1, .about_fv_area h1, .privacy_policy_fv_area h1, .contact_fv_area h1, .recruit_fv_area h1, .recruit_Mid-Career_fv_area h1, .news_fv_area h1{
    font-size: var(--font-xll);
}

.business_fv_area > div, .information_fv_area > div, .about_fv_area > div, .privacy_policy_fv_area > div, .contact_fv_area > div, .recruit_fv_area > div, .recruit_Mid-Career_fv_area > div, .news_fv_area > div{
    width: 25rem;    
    height: 25rem;
    bottom: -5rem;
}
table,
table tbody,
table tr,
table th,
table td{
    display: block;
}
.about_us th {
    padding-left: 0;
    padding-top:1.3125rem;
}
.about_us table {
    padding: 0 2rem;
}
.other_page_container h2 {
    padding-top: 6rem;
    word-break: break-word;
}
    header::after, .top_fv_area::after, section > h2::after, .business_fv_area::after, .information_fv_area::after, .about_fv_area::after, .privacy_policy_fv_area::after, .contact_fv_area::after, .recruit_fv_area::after, .recruit_Mid-Career_fv_area::after, .news_fv_area::after {
        min-width: auto;
        background: linear-gradient(to right,
                    #008d3f 0rem,
                    #008d3f 5rem,
                    #f08208 5rem,
                    #f08208 13rem,
                    #008d3f 13rem,
                    #008d3f 30rem
                        );
    }
    .about_us article{
        overflow-x: scroll;
    }
    .isb_group > section:nth-of-type(1) > h3 {
        font-size: var(--font-xll);
    }
    .isb_mission_vision {
        margin-top: 31.625rem;
    }
    .isb_mission_vision{
        padding: 1rem;
    }
    .isb_mission_vision > img {
        top: -15rem;
    }
    .isb_group > section:nth-of-type(1) {
    padding-bottom: 30rem;
}
    .isb_group > section:nth-of-type(1) {
        padding-bottom: 0;
    }
    .isb_group_link_button {
        max-width: 320px;
        font-size: var(--font-md);
    }

    .information_security > section:nth-of-type(3) th {
        padding-left: 0;
        width: auto;
        padding-top: 1.3125rem;
    }
    .history th {
        padding-top: 1.3125rem;
    }    
    .access > div {
        margin-top: 2rem;
    }
    .business_fv_area h1{
        top: 50%;
    }
    .business_domains_flex {
        grid-template-columns: repeat(1, 1fr);
        margin-top: 7.5rem;
    }
    .development_experience_flex {
        grid-template-columns: repeat(1, 1fr);
        margin-top: 7.5rem;
    }
    #animatedText span{
        font-size: clamp(1.5rem, -0.122rem + 6.829vw, 2.375rem);;
    }
    .recruit > p {
        font-size: 1.2rem;
        font-family: 'SourceHanSansJP-bold';
        color: #231815;
        letter-spacing: 0;
        padding: 0;
        text-align: center;
    }
    .recruit .flow_text,
    .recruit_work > p  {
        font-size: var(--font-sm);
    }
    section > h2 + p.font-2xl{
        font-size: var(--font-ll);
    }
    .recruit_fv_area.recruit_new h1 {
        top: 50%;
    }
    .new_graduate_recruitment th {
        padding-left: 0;
        width: auto;
        padding-top: 1.3125rem;
    }
    .new_graduate_recruitment_flow > div {
        flex-direction: column;
    }
    .new_graduate_recruitment_flow > div > p {
        width: auto;
        margin-top: 2rem;
    }
    .new_graduate_recruitment_flow > div > h3 {
        width: auto;
        font-size: var(--font-2xl);
    }
    .new_graduate_recruitment_flow > div:last-of-type {
        width: 19rem;
        height: 4rem;
        font-size: var(--font-2xl);
    }
    .recruit_Mid-Career_fv_area h1{
        top: 50%;
    }
    .mid_career p {
        font-size: 1rem;
        margin-bottom: 3rem;
    }
        .other_page_container h2 {
        word-break: break-all;
        padding-top: 6rem;
        font-size: var(--font-xll);
    }
    .mid_career_contact > p {
    width: auto;
    }

    .mid_career_contact_button {
        max-width: 240px;
        font-size: var(--font-md);
    }

    .other_page_iframe h2{
        padding-top: .5rem;
    }
    .other_page_iframe .privacy_policy {
        padding-top: .5rem;
    }
    .form_flex > label.privacy_policy_label > div > p {
        font-size: 0.875rem;
    }
}
@media screen and (max-width:380px) {
    .top_news_flex {
        grid-template-columns: repeat(1, 1fr);
            justify-items: center;
    }
    .top_pagination_next, .top_pagination_prev {
        display: none;
    }
    .top_pagination > a:nth-of-type(2) {
        bottom: 0px;
        text-wrap-mode: nowrap;
    }
    .recruit_title_flex {
        flex-wrap: wrap;
    }
    .information h3 {
        font-size: 2rem;
    }
    header::after, .top_fv_area::after, section > h2::after, .business_fv_area::after, .information_fv_area::after, .about_fv_area::after, .privacy_policy_fv_area::after, .contact_fv_area::after, .recruit_fv_area::after, .recruit_Mid-Career_fv_area::after, .news_fv_area::after {
        min-width: auto;
        background: linear-gradient(to right,
                    #008d3f 0rem,
                    #008d3f 2rem,
                    #f08208 2rem,
                    #f08208 10rem,
                    #008d3f 10rem,
                    #008d3f 20rem
                        );
    }
    .about_us > article p.structure_right_position {
        transform: translateX(5rem);
    }
    .about_us > article p.structure_right_position::after {
        width: 2rem;
        left: -2rem;
    }    
    .about_us > article p {
        margin-bottom: 1rem;
    }
    .about_us > article p.structure_before_long::before {
        height: 4.5rem; 
    }
    .corporate_group > img {
        width: 9.375rem;
        margin-bottom: 2.4375rem;
    }
    .corporate_group > article {
        height: auto;
        flex-direction: column;
        padding: 1.3125rem 0;
    }
    .corporate_group .image_caption {
        width: auto;
        margin: 1rem 0;
    }
    .corporate_group > article h3, .corporate_group > article p {
        word-break: break-all;
    }
    #animatedText span{
        font-size:clamp(1.188rem, 0.016rem + 6.25vw, 1.5rem); ;
    }
    .recruit_button > a > p {
        font-size: 1rem;
    }
    .recruit_button > div {
        height: 30rem;
        top: 190px;
    }
    .new_graduate_recruitment_flow > div > h3 {
        width: 29rem;
        font-size: var(--font-xll);
        word-break: break-all;
    }
    .new_graduate_recruitment_flow > div:last-of-type {
        width: 14rem;
        height: 3rem;
        font-size: var(--font-xll);
    }
    .new_graduate_recruitment_faq > div > p:nth-of-type(odd)::before {
        content: none;
    }
    .new_graduate_recruitment_faq > div > p:nth-of-type(odd)::after {
        content: none;
    }
    .new_graduate_recruitment_faq > div > p {
        padding-right: 0;
    }
    .other_page_iframe h2{
        padding-top: .5rem;
    }
    .other_page_iframe .privacy_policy {
        padding-top: .5rem;
    }
    .form_flex > label.privacy_policy_label > div > p {
        font-size: 0.6875rem;
    }
}






.contact__policy {
    height: 160px;
    border: solid 1px #c8c8c8;
    overflow: auto;
    padding: 12px 16px;
}
.contact__policy dl+dl {
    margin-top: 1em;
}
.contact__policy dl dt {
    font-weight: bold;
}
.contact__policy dl dd {
    text-indent: 1em;
}