@charset "UTF-8";
@media all and (min-width: 769px) {
  #container #contents .support_page:not(.detail_page) h1.en_jp_title {
    margin: 0;
  }
  #container #contents .about {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  #container #contents .about .text_area {
    width: 50%;
    padding: 5%;
  }
  #container #contents .about .text_area h2 {
    margin-bottom: var(--s20_42);
  }
  #container #contents .about .text_area h2 .br {
    font-size: var(--s20_42);
    font-weight: bold;
    line-height: 1.25;
  }
  #container #contents .about .text_area .text {
    padding-left: 5%;
  }
  #container #contents .about .text_area .text .br {
    font-size: var(--s14_16);
  }
  #container #contents .about .img_area {
    width: 50%;
  }
  #container #contents .support_list .en_jp_title {
    margin-top: 0;
  }
  #container #contents .support_list .count_row {
    margin-bottom: var(--s16_24);
  }
  #container #contents .support_list .count_row .normal {
    font-size: var(--s14_16);
  }
  #container #contents .support_list .count_row .big {
    font-size: var(--s16_24);
    font-weight: 500;
    line-height: 1;
  }
  #container #contents .support_list .count_row .big .num {
    font-size: var(--s20_32);
    font-weight: 500;
    line-height: 1;
  }
  #container #contents .support_list .list_area {
    display: flex;
    flex-flow: wrap;
    grid-gap: var(--s16_32) var(--s16_24);
    margin-bottom: var(--s16_32);
  }
  #container #contents .support_list .list_area .support_box {
    width: calc(25% - var(--s16_24) * 3 / 4);
  }
  #container #contents .support_list .list_area .support_box a {
    border: var(--s1_3) solid #000;
    display: flex;
    flex-direction: column-reverse;
  }
  #container #contents .support_list .list_area .support_box a .text_area {
    border-top: var(--s1_3) solid #000;
  }
  #container #contents .support_list .list_area .support_box a .text_area .tit_row {
    padding: var(--s8_16);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.85)), url(/images/common/bg_grid.svg) center/min(20%, 100px) repeat, #fff;
    border-bottom: var(--s1_3) solid #000;
  }
  #container #contents .support_list .list_area .support_box a .text_area .tit_row .category_row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    grid-gap: var(--s8_16);
    margin-bottom: var(--s4_8);
  }
  #container #contents .support_list .list_area .support_box a .text_area .tit_row .category_row .category {
    padding: var(--s4_8) var(--s8_16);
    color: #fff;
    font-size: var(--s12_14);
    line-height: 1.125;
    border-radius: 100px;
    border: 1px solid #000;
  }
  #container #contents .support_list .list_area .support_box a .text_area .tit_row .category_row .category.sup {
    background-color: var(--blue01);
  }
  #container #contents .support_list .list_area .support_box a .text_area .tit_row .category_row .category.type {
    background-color: var(--green01);
  }
  #container #contents .support_list .list_area .support_box a .text_area .tit_row .title {
    font-size: var(--s18_22);
    font-weight: 500;
  }
  #container #contents .support_list .list_area .support_box a .text_area .user_info {
    padding: var(--s8_16);
    padding-bottom: 0;
    padding-right: 0;
  }
  #container #contents .support_list .list_area .support_box a .text_area .user_info .br {
    font-size: var(--s14_16);
    padding-right: var(--s8_16);
  }
  #container #contents .support_list .list_area .support_box a .text_area .user_info .arrow {
    width: var(--s32_48);
    aspect-ratio: 1/1;
    background-color: var(--mainblack);
    margin-left: auto;
    position: relative;
    z-index: 1;
    transition: all 0.5s;
  }
  #container #contents .support_list .list_area .support_box a .text_area .user_info .arrow::after {
    content: "";
    display: inline-block;
    width: 30%;
    aspect-ratio: 1/1.15;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
            clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-30%, -50%);
  }
  #container #contents .support_list .list_area .support_box a figure {
    width: 100%;
    aspect-ratio: 533/415;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #container #contents .support_list .list_area .support_box a figure img {
    max-width: unset;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #container #contents .support_list .list_area .support_box a:hover .text_area .user_info .arrow {
    background-color: var(--orange01);
  }
  #container #contents .support_detail .border_tit {
    font-size: var(--s20_32);
    font-weight: 500;
    display: flex;
    align-items: center;
    grid-gap: var(--s8_16);
    margin-bottom: 0.5em;
  }
  #container #contents .support_detail .border_tit::before {
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 2px;
    background-color: var(--mainblack);
  }
  #container #contents .support_detail .common_area {
    margin-bottom: var(--s32_80);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    grid-gap: var(--s24_42) var(--s16_32);
  }
  #container #contents .support_detail .common_area .title_row {
    width: 100%;
    order: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    grid-gap: var(--s6_10) var(--s16_24);
    padding: var(--s12_16) var(--s16_24);
    position: relative;
  }
  #container #contents .support_detail .common_area .title_row::before, #container #contents .support_detail .common_area .title_row::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), url(/images/common/bg_grid.svg) center/10% repeat, #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #container #contents .support_detail .common_area .title_row::after {
    z-index: -2;
    background: var(--blue01);
    top: var(--s4_8);
    left: var(--s4_8);
  }
  #container #contents .support_detail .common_area .title_row .category {
    background-color: var(--green01);
    padding: var(--s4_8) var(--s8_16);
    color: #fff;
    font-size: var(--s14_16);
    line-height: 1.125;
  }
  #container #contents .support_detail .common_area .title_row .title {
    font-size: var(--s18_24);
    font-weight: 500;
    line-height: 1.125;
  }
  #container #contents .support_detail .common_area .text_area {
    width: calc(52% - var(--s16_32));
    order: 3;
    padding: var(--s16_40) 0 0;
  }
  #container #contents .support_detail .common_area .text_area .cahtc {
    font-size: var(--s16_20);
    font-weight: 500;
    margin-bottom: var(--s20_32);
  }
  #container #contents .support_detail .common_area .text_area .text {
    padding-left: 1em;
    font-size: var(--s14_16);
  }
  #container #contents .support_detail .common_area .image_area {
    width: 42%;
    order: 2;
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--s16_24) var(--s8_16);
  }
  #container #contents .support_detail .common_area .image_area figure {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 3/2;
  }
  #container #contents .support_detail .common_area .image_area figure.main_img {
    width: 100%;
  }
  #container #contents .support_detail .common_area .image_area figure.sub_img {
    width: calc(33.3333333333% - var(--s8_16) * 2 / 3);
  }
  #container #contents .support_detail .info_are {
    margin-bottom: var(--s32_80);
  }
  #container #contents .support_detail .info_are .info_list {
    border: 1px solid var(--mainblack);
    padding: var(--s8_24) var(--s8_24);
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--s8_32) var(--s16_32);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), url(/images/common/bg_grid.svg) center/10% repeat, #fff;
  }
  #container #contents .support_detail .info_are .info_list .row {
    width: calc(50% - var(--s16_32) / 2);
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    border-bottom: 1px solid var(--orange01);
  }
  #container #contents .support_detail .info_are .info_list .row dt {
    font-size: var(--s14_18);
    font-weight: bold;
    color: #fff;
    padding: var(--s3_6) 1em;
    width: calc(var(--s14_18) * 6);
    background-color: var(--orange01);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #container #contents .support_detail .info_are .info_list .row dd {
    width: calc(100% - var(--s14_18) * 6);
    padding: var(--s3_6) 1em;
  }
  #container #contents .support_detail .info_are .info_list .row dd .sns_icon img {
    height: var(--s20_32);
    width: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
  #container #contents .support_detail .info_are .info_list .row.sns dd {
    display: flex;
    grid-gap: var(--s8_16);
  }
  #container #contents .support_detail .message_area {
    margin-bottom: var(--s32_80);
  }
  #container #contents .support_detail .message_area .message_box {
    background-color: var(--blue03);
    padding: var(--s8_24) var(--s8_24);
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    grid-gap: var(--s8_16) var(--s16_32);
  }
  #container #contents .support_detail .message_area .message_box .profile {
    width: calc(35% - var(--s16_32) / 2);
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    grid-gap: var(--s8_16) var(--s16_24);
    flex-direction: row-reverse;
  }
  #container #contents .support_detail .message_area .message_box .profile .text_area {
    width: 70%;
  }
  #container #contents .support_detail .message_area .message_box .profile .text_area span {
    font-size: var(--s14_16);
    display: block;
  }
  #container #contents .support_detail .message_area .message_box .profile .text_area span.school {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0 1rem;
  }
  #container #contents .support_detail .message_area .message_box .profile .icon_img {
    width: calc(30% - var(--s16_24));
    aspect-ratio: 1/1;
    overflow: hidden;
  }
  #container #contents .support_detail .message_area .message_box .profile .icon_img img {
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  #container #contents .support_detail .message_area .message_box .message_text {
    width: calc(65% - var(--s16_32) / 2);
    padding: var(--s8_16) var(--s8_32);
    background-color: #fff;
    font-size: var(--s14_16);
  }
}
@media all and (max-width: 1080px) {
  #container #contents .support_list .list_area .support_box {
    width: calc(33.3333333333% - var(--s16_24) * 2 / 3);
  }
  #container #contents .support_detail .info_are .info_list .row {
    width: 100%;
  }
  #container #contents .support_detail .message_area .message_box .profile {
    width: 100%;
  }
  #container #contents .support_detail .message_area .message_box .message_text {
    width: 100%;
  }
}
@media all and (max-width: 980px) {
  #container #contents .about {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  #container #contents .about .text_area {
    width: 100%;
  }
  #container #contents .about .img_area {
    width: 100%;
    margin: 0 auto var(--s16_32);
    max-width: 750px;
  }
}
/* ----------------------------------------------
  PAD以下設定
  ------------------------------------------------*/
@media all and (max-width: 768px) {
  #container #contents .support_page:not(.detail_page) h1.en_jp_title {
    margin: 0;
  }
  #container #contents .about {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  #container #contents .about .text_area {
    width: 100%;
    padding: 5%;
  }
  #container #contents .about .text_area h2 {
    margin-bottom: var(--s20_42);
  }
  #container #contents .about .text_area h2 .br {
    font-size: var(--s20_42);
    font-weight: bold;
    line-height: 1.25;
    display: inline;
  }
  #container #contents .about .text_area .text {
    padding-left: 5%;
  }
  #container #contents .about .text_area .text .br {
    font-size: var(--s14_16);
  }
  #container #contents .about .img_area {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
  }
  #container #contents .about .img_area img {
    height: 100%;
    max-width: unset;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #container #contents .about .img_area::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0.85;
    position: absolute;
    top: 0;
    left: 0;
  }
  #container #contents .support_list .en_jp_title {
    margin-top: 0;
  }
  #container #contents .support_list .count_row {
    margin-bottom: var(--s16_24);
  }
  #container #contents .support_list .count_row .normal {
    font-size: var(--s14_16);
  }
  #container #contents .support_list .count_row .big {
    font-size: var(--s16_24);
    font-weight: 500;
    line-height: 1;
  }
  #container #contents .support_list .count_row .big .num {
    font-size: var(--s20_32);
    font-weight: 500;
    line-height: 1;
  }
  #container #contents .support_list .list_area {
    display: flex;
    flex-flow: wrap;
    grid-gap: var(--s16_32) var(--s16_24);
    margin-bottom: var(--s16_32);
  }
  #container #contents .support_list .list_area .support_box {
    width: calc(50% - var(--s16_24) / 2);
  }
  #container #contents .support_list .list_area .support_box a {
    border: var(--s1_3) solid #000;
    display: flex;
    flex-direction: column-reverse;
  }
  #container #contents .support_list .list_area .support_box a .text_area {
    border-top: var(--s1_3) solid #000;
  }
  #container #contents .support_list .list_area .support_box a .text_area .tit_row {
    padding: var(--s8_16);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.85)), url(/images/common/bg_grid.svg) center/min(20%, 100px) repeat, #fff;
    border-bottom: var(--s1_3) solid #000;
  }
  #container #contents .support_list .list_area .support_box a .text_area .tit_row .category_row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    grid-gap: var(--s8_16);
    margin-bottom: var(--s4_8);
  }
  #container #contents .support_list .list_area .support_box a .text_area .tit_row .category_row .category {
    padding: var(--s4_8) var(--s8_16);
    color: #fff;
    font-size: var(--s12_14);
    line-height: 1.125;
    border-radius: 100px;
    border: 1px solid #000;
  }
  #container #contents .support_list .list_area .support_box a .text_area .tit_row .category_row .category.sup {
    background-color: var(--blue01);
  }
  #container #contents .support_list .list_area .support_box a .text_area .tit_row .category_row .category.type {
    background-color: var(--green01);
  }
  #container #contents .support_list .list_area .support_box a .text_area .tit_row .title {
    font-size: var(--s18_22);
    font-weight: 500;
  }
  #container #contents .support_list .list_area .support_box a .text_area .user_info {
    padding: var(--s8_16);
    padding-bottom: 0;
    padding-right: 0;
  }
  #container #contents .support_list .list_area .support_box a .text_area .user_info .br {
    font-size: var(--s14_16);
    padding-right: var(--s8_16);
  }
  #container #contents .support_list .list_area .support_box a .text_area .user_info .arrow {
    width: var(--s32_48);
    aspect-ratio: 1/1;
    background-color: var(--mainblack);
    margin-left: auto;
    position: relative;
    z-index: 1;
    transition: all 0.5s;
  }
  #container #contents .support_list .list_area .support_box a .text_area .user_info .arrow::after {
    content: "";
    display: inline-block;
    width: 30%;
    aspect-ratio: 1/1.15;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
            clip-path: polygon(0 0, 0% 100%, 100% 50%);
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-30%, -50%);
  }
  #container #contents .support_list .list_area .support_box a figure {
    width: 100%;
    aspect-ratio: 533/415;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #container #contents .support_list .list_area .support_box a figure img {
    max-width: unset;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #container #contents .support_list .list_area .support_box a:hover .text_area .user_info .arrow {
    background-color: var(--orange01);
  }
  #container #contents .support_detail .border_tit {
    font-size: var(--s20_32);
    font-weight: 500;
    display: flex;
    align-items: center;
    grid-gap: var(--s8_16);
    margin-bottom: 0.5em;
  }
  #container #contents .support_detail .border_tit::before {
    content: "";
    display: inline-block;
    width: 1.5em;
    height: 2px;
    background-color: var(--mainblack);
  }
  #container #contents .support_detail .common_area {
    margin-bottom: var(--s32_80);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    grid-gap: var(--s24_42) var(--s16_32);
  }
  #container #contents .support_detail .common_area .title_row {
    width: 100%;
    order: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    grid-gap: var(--s6_10) var(--s16_24);
    padding: var(--s12_16) var(--s16_24);
    position: relative;
  }
  #container #contents .support_detail .common_area .title_row::before, #container #contents .support_detail .common_area .title_row::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), url(/images/common/bg_grid.svg) center/10% repeat, #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #container #contents .support_detail .common_area .title_row::after {
    z-index: -2;
    background: var(--blue01);
    top: var(--s4_8);
    left: var(--s4_8);
  }
  #container #contents .support_detail .common_area .title_row .category {
    background-color: var(--green01);
    padding: var(--s4_8) var(--s8_16);
    color: #fff;
    font-size: var(--s14_16);
    line-height: 1.125;
  }
  #container #contents .support_detail .common_area .title_row .title {
    font-size: var(--s18_24);
    font-weight: 500;
    line-height: 1.125;
  }
  #container #contents .support_detail .common_area .text_area {
    width: 100%;
    order: 3;
    padding: var(--s16_40) 0 0;
  }
  #container #contents .support_detail .common_area .text_area .cahtc {
    font-size: var(--s16_20);
    font-weight: 500;
    margin-bottom: var(--s20_32);
  }
  #container #contents .support_detail .common_area .text_area .text {
    padding-left: 1em;
    font-size: var(--s14_16);
  }
  #container #contents .support_detail .common_area .image_area {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    order: 2;
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--s16_24) var(--s8_16);
  }
  #container #contents .support_detail .common_area .image_area figure {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 3/2;
  }
  #container #contents .support_detail .common_area .image_area figure.main_img {
    width: 100%;
  }
  #container #contents .support_detail .common_area .image_area figure.sub_img {
    width: calc(33.3333333333% - var(--s8_16) * 2 / 3);
  }
  #container #contents .support_detail .info_are {
    margin-bottom: var(--s32_80);
  }
  #container #contents .support_detail .info_are .info_list {
    border: 1px solid var(--mainblack);
    padding: var(--s8_24) var(--s8_24);
    display: flex;
    flex-wrap: wrap;
    grid-gap: var(--s8_32) var(--s16_32);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), url(/images/common/bg_grid.svg) center/10% repeat, #fff;
  }
  #container #contents .support_detail .info_are .info_list .row {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    border-bottom: 1px solid var(--orange01);
  }
  #container #contents .support_detail .info_are .info_list .row dt {
    font-size: var(--s14_18);
    font-weight: bold;
    color: #fff;
    padding: var(--s3_6) 1em;
    width: calc(var(--s14_18) * 6);
    background-color: var(--orange01);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #container #contents .support_detail .info_are .info_list .row dd {
    width: calc(100% - var(--s14_18) * 6);
    padding: var(--s3_6) 1em;
  }
  #container #contents .support_detail .info_are .info_list .row dd .sns_icon img {
    height: var(--s20_32);
    width: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
  #container #contents .support_detail .info_are .info_list .row.sns dd {
    display: flex;
    grid-gap: var(--s8_16);
  }
  #container #contents .support_detail .message_area {
    margin-bottom: var(--s32_80);
  }
  #container #contents .support_detail .message_area .message_box {
    background-color: var(--blue03);
    padding: var(--s8_24) var(--s8_24);
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    grid-gap: var(--s8_16) var(--s16_32);
  }
  #container #contents .support_detail .message_area .message_box .profile {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    grid-gap: var(--s8_16) var(--s16_24);
    flex-direction: row-reverse;
  }
  #container #contents .support_detail .message_area .message_box .profile .text_area {
    width: 70%;
  }
  #container #contents .support_detail .message_area .message_box .profile .text_area span {
    font-size: var(--s14_16);
    display: block;
  }
  #container #contents .support_detail .message_area .message_box .profile .text_area span.school {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0 1rem;
  }
  #container #contents .support_detail .message_area .message_box .profile .icon_img {
    width: calc(30% - var(--s16_24));
    aspect-ratio: 1/1;
    overflow: hidden;
  }
  #container #contents .support_detail .message_area .message_box .profile .icon_img img {
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  #container #contents .support_detail .message_area .message_box .message_text {
    width: 100%;
    padding: var(--s8_16) var(--s8_32);
    background-color: #fff;
    font-size: var(--s14_16);
  }
}
@media all and (max-width: 520px) {
  #container #contents .support_list .list_area .support_box {
    width: 100%;
  }
  #container #contents .support_detail .info_are .info_list .row dt {
    width: 100%;
  }
  #container #contents .support_detail .info_are .info_list .row dd {
    width: 100%;
  }
}