@charset "UTF-8";
@media screen and (max-width: 1120px) {
  * {
    margin: 0;
    padding: 0;
  }

  :root {
    --color01: #1e7f4b;
    --color01B: rgba(45, 146, 91, 0.1);
    --color02: #003590;
    --color03: #996600;
    --level04: #99cccc;
    --level03: #00cccc;
    --level02: #669999;
    --level01: #339999;
  }

  html {
    font-size: 62.5%;
  }

  body {
    color: #000;
    margin: 0;
    padding: 0;
    font-family: "Noto Sans JP", sans-serif;
    width: 100%;
    webkit-text-size-adjust: 100%;
  }

  img {
    border: 0;
    margin: 0;
    vertical-align: bottom;
    width: 100%;
    height: auto;
    overflow: hidden;
    position: relative;
  }

  table,
  tr,
  td {
    border-collapse: collapse;
  }

  ul {
    list-style-type: none;
  }

  a,
  a img,
  button {
    transition: 0.3s ease-in-out;
  }

  a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
  }

  .kaso_header li a {
    color: #333 !important;
  }

  ul.bogo-language-switcher li a {
    text-decoration: none;
  }

  .clear {
    clear: both;
  }

  .clearfix:after {
    content: "";
    display: block;
    clear: both;
  }

  .sp_none {
    display: none;
  }

  .ff_pop {
    font-family: "Poppins", sans-serif;
  }

  #style01 {
    width: 100%;
  }

  .ul_style {
    padding-top: 64px;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　ヘッダー ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .sp {
    display: block;
  }

  header {
    position: fixed;
    top: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 0 3vw;
    z-index: 10000;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
  }

  .top_header {
    transform: translateX(-50%);
    top: 10px;
    left: 50%;
  }

  .kaso_header {
    background: #fff;
  }

  .header01 {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    padding: 7px;
    border-radius: 7px;
    background: #fff;
    font-size: 1.4rem;
    height: 64px;
  }

  .header01 h1 {
    font-size: 1.4rem;
  }

  .header01 h1 img {
    width: auto;
    height: 32px;
    margin-top: 1px;
  }

  .sp_menu_button {
    cursor: pointer;
    position: relative;
    width: 30px;
    height: 30px;
    background: var(--color01);
  }

  .sp_menu_button span {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 2px;
    background: #fff;
    transition: 0.3s ease-in-out;
  }

  .sp_menu_button span:nth-child(1) {
    top: 25%;
  }

  .sp_menu_button span:nth-child(2) {
    top: 50%;
  }

  .sp_menu_button span:nth-child(3) {
    top: 75%;
  }

  .sp_menu_button.active span:nth-child(1) {
    top: 50%;
    transform: translate(-50%, -50%) rotateZ(45deg);
  }

  .sp_menu_button.active span:nth-child(2) {
    opacity: 0;
  }

  .sp_menu_button.active span:nth-child(3) {
    top: 50%;
    transform: translate(-50%, -50%) rotateZ(-45deg);
  }

  .header01 nav {
    position: absolute;
    top: 110%;
    left: 0;
    display: none;
    box-sizing: border-box;
    width: 100%;
    padding: 2vw 2vw 3vw 2vw;
    border-radius: 0 0 2vw 2vw;
    background: #fff;
    z-index: 10000;
    text-align: left;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
  }

  .kaso_header .header01 nav {
    top: 100%;
  }

  .h01_menu_list01>li {
    margin-bottom: 3vw;
    font-size: 1.8rem;
    font-weight: 700;
  }

  .h01_list01_item {
    margin-bottom: 0.5vw;
    color: #333;
  }

  .header01_list02 {
    padding-left: 1em;
    font-size: 1.6rem;
  }

  .header01_list02>li {
    margin-right: 3vw;
  }

  .h01_menu_list01>li a,
  .header01_list02 a {
    position: relative;
    display: inline-block;
    padding-left: 0.7em;
    color: var(--color01);
    text-decoration: none;
  }

  .h01_menu_list01>li a:after,
  .header01_list02 a:after {
    position: absolute;
    top: 0.8em;
    left: 0;
    transform: translateY(-50%);
    content: "";
    border-left: 0.5em var(--color01) solid;
    border-top: 0.3em transparent solid;
    border-bottom: 0.3em transparent solid;
  }

  .h01_menu01:not(:last-child) {
    margin-bottom: 1vw;
  }

  .h01_menu01 a {
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    height: 10vw;
    border-radius: 20px;
    color: #fff;
    text-decoration: none;
    line-height: 1;
  }

  .h01_menu01.con a {
    border: 1px var(--color01) solid;
    background: var(--color01);
  }

  .h01_menu01.con a:hover {
    background: #fff;
    color: var(--color01);
  }

  .h01_menu01.exp a {
    border: 1px var(--color02) solid;
    background: var(--color02);
  }

  .h01_menu01.exp a:hover {
    background: #fff;
    color: var(--color02);
  }

  .h01_menu01 a svg {
    margin-top: 3px;
    margin-right: 6px;
    fill: #fff;
    transition: 0.3s ease-in-out;
  }

  .h01_menu01.con a:hover svg {
    fill: var(--color01);
  }

  .h01_menu01.exp a:hover svg {
    fill: var(--color02);
  }

  .header02 {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 7px;
    font-size: 1.2rem;
    font-weight: 700;
  }

  .kaso_header .header02 {
    padding-bottom: 7px;
    margin-top: 0;
  }

  .h01_menu01 {
    display: none;
  }

  .h02_menu_list {
    display: flex;
    align-items: center;
  }

  .h02_menu_list li {
    margin-right: 3vw;
    color: #fff;
  }

  .h02_menu_list li a {
    color: #fff;
    text-decoration: none;
  }

  .top_header .h02_menu_list li a {
    text-shadow: 0 0 3px #333;
  }

  .kaso_header .header02 a {
    color: #000;
  }

  .h02_menu_list li a:hover {
    text-decoration: underline;
  }

  .h02_menu_sns {
    display: flex;
    align-items: center;
    position: absolute;
    top: 22px;
    right: 124px;
  }

  .h02_menu_sns li:not(last-child) {
    margin-right: 11px;
  }

  .h02_menu_sns img {
    width: 20px;
  }

  .top_bnr_area ul {
    margin-bottom: 60px;
  }

  .top_bnr_area ul li {
    width: 80%;
    margin: 0 auto;
    margin-bottom: 20px;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　フッター ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  footer {
    padding: 15vw 3vw 0;
    background: url("../images/footer_bg.jpg") center bottom/auto 547.5px repeat-X;
    text-align: left;
  }

  .footer01 {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 5vw;
  }

  .footer_logo,
  .footer_sns {
    display: flex;
    align-items: center;
  }

  .footer_logo {
    padding-top: 5vw;
    justify-content: center;
  }

  .footer_logo li:nth-child(1) {
    width: auto;
    height: 28px;
    margin-right: 22px;
  }

  .footer_logo li:nth-child(2) {
    width: auto;
    height: 28px;
  }

  .footer_logo img,
  .footer_sns img {
    width: 100%;
  }

  .footer_logo img {
    width: auto;
    height: 28px;
  }

  .footer_sns li {
    width: 8vw;
    margin-left: 3vw;
  }

  .footer02 {
    padding: 0 3vw 5vw;
    border-bottom: 1px rgba(0, 53, 144, 0.3) solid;
    margin: 0 auto;
  }

  .f02_list01 {
    margin-bottom: 3vw;
    font-size: 1.3rem;
    columns: 2;
  }

  .f02_list01:after {
    content: "";
    display: block;
    clear: both;
  }

  .f02_list01>li {
    width: 48%;
    padding-top: 3vw;
    margin-bottom: 2%;
    break-inside: avoid;
  }

  .f02_list01_item01 {
    margin-bottom: 2vw;
    font-weight: 700;
  }

  .f02_list01_item01 a {
    color: #000;
  }

  .f02_list01_item01 a:hover {
    text-decoration: none;
  }

  .f02_list02>li {
    position: relative;
    padding-left: 0.75em;
  }

  .f02_list02>li:not(:last-child) {
    margin-bottom: 1vw;
  }

  .f02_list02>li:before {
    position: absolute;
    left: 0;
    content: "-";
  }

  .f02_list02>li.no_icon:before {
    display: none;
  }

  .f02_list02>li.no_icon span {
    font-weight: bold;
  }

  .f02_list02>li a {
    color: #000;
    text-decoration: underline;
  }

  .f02_list02>li a:hover {
    text-decoration: none;
  }

  .f02_list03 {
    margin-top: 1vw;
  }

  .f02_list03>li {
    position: relative;
    padding-left: 0.75em;
  }

  .f02_list03>li:not(:last-child) {
    margin-bottom: 1vw;
  }

  .f02_list03>li:before {
    position: absolute;
    left: 0;
    content: "-";
  }

  .footer_copy {
    padding: 5vw 3vw 5vw;
    color: #666;
    font-size: 1.3rem;
    font-weight: 500;
    text-align: center;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　index ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .main_img {
    position: relative;
    height: auto;
    /*margin-bottom: 180px;*/
    margin-bottom: 50px;
  }

  .slick-slide img {
    display: block;
    width: 100%;
    height: auto;
  }

  .main_img_cacth {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 95%;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    white-space: nowrap;
  }

  .index_en .main_img_cacth {
    top: 64%;
    font-size: 2rem;
    white-space: normal;
  }

  .main_img_link {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
  }

  .main_img_link a {
    position: relative;
    display: block;
    width: 90vw;
    height: 15vw;
    border-radius: 5vw;
    background: #fff;
    box-shadow: 0 0 30px rgba(30, 123, 73, 0.38);
    text-decoration: none;
  }

  .main_img_link img {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60%;
  }

  .main_img_link a:hover img {
    opacity: 1;
  }

  .main_img_link div {
    position: absolute;
    top: 50%;
    left: 25%;
    transform: translateY(-50%);
    color: var(--color01);
    font-size: 1.4rem;
    font-weight: 700;
  }

  .index_en .main_img_link div {
    padding-right: 40px;
  }

  .main_img_link span {
    position: absolute;
    top: 50%;
    right: 3vw;
    transform: translateY(-50%);
    width: 6vw;
    height: 6vw;
    border: 1px var(--color01) solid;
    border-radius: 22px;
    background: var(--color01);
    transition: 0.3s ease-in-out;
  }

  .main_img_link a:hover span {
    background: #fff;
  }

  .main_img_link a span:after {
    position: absolute;
    top: 50%;
    left: 48%;
    transform: translate(-50%, -50%) rotateZ(-45deg);
    content: "";
    width: 1vw;
    height: 1vw;
    border-right: 2px #fff solid;
    border-bottom: 2px #fff solid;
  }

  .main_img_link a:hover span:after {
    border-color: var(--color01);
  }

  .index_section01 {
    margin-bottom: 12vw;
  }

  .is_subtitle01 {
    color: var(--color01);
    font-size: 1.3rem;
    text-align: center;
    letter-spacing: 0.08em;
  }

  .is_title01 {
    font-size: 2rem;
    text-align: center;
    letter-spacing: 0.08em;
  }

  .is01_box01_wrap {
    padding: 0 3vw;
    margin-top: 14vw;
  }

  .is01_box01:not(:last-child) {
    margin-bottom: 8vw;
  }

  .is01_box01_data {
    margin-bottom: 5vw;
  }

  .is01_count {
    position: relative;
    padding-left: 22vw;
    margin-bottom: 1vw;
    color: var(--color01);
    font-size: 1.3rem;
    letter-spacing: 0.08em;
  }

  .is01_count:before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    content: "";
    width: 20vw;
    height: 2px;
    background: var(--color01);
  }

  .is01_title {
    margin-bottom: 2vw;
    color: var(--color01);
    font-size: 2rem;
    letter-spacing: 0.02em;
  }

  .is01_text01 {
    margin-bottom: 4vw;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
  }

  .is_link_design a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    height: 14vw;
    border: 1px var(--color01) solid;
    border-radius: 7vw;
    background: var(--color01);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    text-decoration: none;
  }

  .is_link_design a:hover {
    background: #fff;
    color: var(--color01);
  }

  .is_link_design a span {
    position: absolute;
    top: 50%;
    right: 2vw;
    transform: translateY(-50%);
    width: 10vw;
    height: 10vw;
    border-radius: 5vw;
    background: #fff;
    transition: 0.3s ease-in-out;
  }

  .is_link_design a:hover span {
    background: var(--color01);
  }

  .is_link_design a span:after {
    position: absolute;
    top: 50%;
    left: 48%;
    transform: translate(-50%, -50%) rotateZ(-45deg);
    content: "";
    width: 1.6vw;
    height: 1.6vw;
    border-right: 2px var(--color01) solid;
    border-bottom: 2px var(--color01) solid;
  }

  .is_link_design a:hover span:after {
    border-color: #fff;
  }

  .is01_link a {
    box-shadow: 5px 5px 15px #d9e6e6;
  }

  .is01_box01_img {
    border-radius: 3vw;
    overflow: hidden;
  }

  .is01_box01_circle {
    display: none;
  }

  .is01_box01_img img {
    width: 100%;
  }

  .index_section02 {
    margin-bottom: 9vw;
  }

  .is02_box {
    padding: 0 3vw;
    margin-top: 5vw;
  }

  .is02_box_img01 {
    border-radius: 3vw;
    overflow: hidden;
  }

  .is02_box_img01 img {
    width: 100%;
  }

  .is02_box01 {
    display: flex;
    flex-wrap: wrap;
    margin: -5vw auto 0;
  }

  .is02_list01 {
    display: flex;
    width: 96%;
    border-radius: 3vw 3vw 0 0;
    margin: 0 auto 3vw;
    overflow: hidden;
  }

  .is02_list01 li {
    width: calc(100% / 2);
    height: 10vw;
    background: #fff;
    cursor: pointer;
  }

  .is02_list01 li div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: var(--color01);
    opacity: 0.8;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 700;
    transition: 0.3s ease-in-out;
    text-align: center;
  }

  .is02_list01 li.active div {
    opacity: 1;
  }

  .is02_list01 li div span {
    font-size: 0.7rem;
    font-weight: 400;
  }

  .is02_list02 {}

  .is02_box01_program {
    display: none;
    box-sizing: border-box;
    width: 100%;
    padding: 0 3vw;
  }

  .is02_box01_program.show {
    display: block;
  }

  .is02_box_img02 {
    width: 80%;
    border-radius: 3vw;
    margin: 0 auto 6vw;
    overflow: hidden;
    flex-shrink: 0;
  }

  .is02_box_img02 img {
    width: 100%;
  }

  .is02_catch {
    margin-bottom: 2vw;
    font-size: 2rem;
    font-weight: 700;
  }

  .is02_title {
    color: var(--color01);
    font-size: 1.4rem;
    font-weight: 700;
  }

  .is02_day {
    margin-bottom: 3vw;
    color: var(--color01);
    font-size: 1.1rem;
    font-weight: 700;
  }

  .is02_text {
    margin-bottom: 4vw;
    font-size: 1.4rem;
    font-weight: 500;
  }

  .is02_attr {
    margin-bottom: 4vw;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
  }

  .is02_attr ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 700;
  }

  .is02_attr li {
    padding: 1vw 2vw;
    border: 1px var(--color01) solid;
    border-radius: 5vw;
    margin: 0 1vw 1vw 0;
    color: var(--color01);
  }

  .is02_link a {
    margin-left: auto;
    box-shadow: 5px 5px 15px #d9e6e6;
  }

  .index_section03 {
    padding-bottom: 14vw;
  }

  .is03_box {
    padding: 0 3vw;
    margin: 8vw auto 0;
  }

  .is03_list01 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5vw;
  }

  .is03_list01 li {
    position: relative;
    width: 30vw;
    height: 40vw;
    border-radius: 3vw;
    overflow: hidden;
    cursor: pointer;
    transition: 0.3s ease-in-out;
  }

  .is03_list01 li.active {
    box-shadow: 0 0 30px rgba(45, 146, 91, 0.38);
  }

  .is03_list01 li img {
    height: 40vw;
  }

  .is03_list01 li:nth-child(1) img {
    position: absolute;
    right: -46vw;
    width: 100vw;
  }

  .is03_list01 li:nth-child(2) img {
    position: absolute;
    right: -53vw;
    width: 100vw;
  }

  .is03_list01 li:nth-child(3) img {
    position: absolute;
    right: -16vw;
    width: 100vw;
  }

  .is03_list01_box {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 0 0 10vw 3vw;
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    letter-spacing: 0.08em;
  }

  .is03_list01 li.active .is03_list01_box {
    background: rgba(45, 146, 91, 0.4);
  }

  .is03_title01 {
    font-size: 0.8rem;
  }

  .is03_title02 {
    font-size: 1.2rem;
  }

  .is03_list01_box span {
    position: absolute;
    left: 50%;
    bottom: 2vw;
    transform: translateX(-50%);
    width: 8vw;
    height: 8vw;
    border-radius: 50%;
    background: #fff;
    transition: 0.3s ease-in-out;
  }

  .is03_list01_box span:after {
    position: absolute;
    top: 50%;
    left: 48%;
    transform: translate(-50%, -50%) rotateZ(45deg);
    content: "";
    width: 5px;
    height: 5px;
    border-right: 2px var(--color01) solid;
    border-bottom: 2px var(--color01) solid;
  }

  .is03_list02 {
    position: relative;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 8vw 6vw;
    border-radius: 3vw;
    box-shadow: 0 0 30px rgba(45, 146, 91, 0.38);
  }

  .is03_list02_tri {
    display: none;
  }

  .is03_list02>ul {
    display: flex;
    align-items: center;
  }

  .is03_list02>ul>li {
    display: none;
  }

  .is03_list02>ul>li.show {
    display: block;
  }

  .is03_text {
    margin-bottom: 3vw;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.02em;
  }

  .is03_text p:not(:last-child) {
    margin-bottom: 1em;
  }

  .is03_img {
    display: flex;
    justify-content: center;
  }

  .is03_img li {
    width: 48%;
    border-radius: 3vw;
    overflow: hidden;
  }

  .is03_img li:not(:last-child) {
    margin-right: 4%;
  }

  .is03_img li img {
    width: 100%;
  }

  .is03_img_single {
    display: flex;
    justify-content: space-between;
  }

  .is03_img_single li {
    width: 100%;
    border-radius: 3vw;
    overflow: hidden;
  }

  .is03_img_single li img {
    width: 100%;
  }

  .index_section04 {
    padding: 8vw 3vw;
    background: rgba(45, 146, 91, 0.1);
  }

  .index_section04 .news_list {
    margin-top: 6vw;
    margin-bottom: 9vw;
  }

  .news_list li:not(:last-child) {
    margin-bottom: 3vw;
  }

  .news_list li a {
    position: relative;
    display: block;
    padding-right: 25px;
    text-decoration: none;
  }

  .news_list01 {
    display: flex;
    align-items: center;
    margin-bottom: 1vw;
  }

  .news_list_date {
    margin-right: 2vw;
    color: #999;
    font-size: 1rem;
    font-weight: 700;
  }

  .news_list_cate {
    width: 75px;
    padding: 4px 0 5px;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
  }

  .news_en .news_main .news_list_cate {
    width: 150px;
  }

  .cate_color1 {
    background: var(--color03);
  }

  .cate_color2 {
    background: var(--color01);
  }

  .cate_color3 {
    background: var(--color02);
  }

  .cate_color4 {
    background: #b70a00;
  }

  .cate_color5 {
    background: #ffa54d;
  }

  .news_list02 {
    color: #333;
    font-size: 1.4rem;
    font-weight: 700;
  }

  .news_list li a:hover .news_list02 {
    color: var(--color01);
  }

  .news_list li a span {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }

  .news_list li a span img {
    width: 21px;
  }

  .index_banner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .index_banner li {
    width: 48%;
    margin: 0 2% 2% 0;
  }

  .index_banner li:nth-child(even) {
    margin-right: 0;
  }

  .index_banner li img {
    width: 100%;
  }

  .index_section05 {
    padding: 6vw 3vw 7vw;
    background: var(--color01);
    color: #fff;
  }

  .index_section05 .is_subtitle01 {
    margin-bottom: 2vw;
    color: #fff;
  }

  .is05_link01 {
    margin: 5vw 0;
  }

  .is05_link01.is_link_design a {
    padding: 0 14vw;
    font-size: 1.2rem;
    border-color: #fff;
  }

  .is05_box>div {
    font-weight: 500;
  }

  .is05_box_l {
    margin-bottom: 5vw;
  }

  .is05_phone {
    width: 302px;
    margin-bottom: 2vw;
  }

  .is05_phone img {
    width: 100%;
  }

  .is05_phone_rt {
    margin-bottom: 5vw;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
  }

  .is05_map {
    margin-bottom: 5vw;
  }

  .is05_map iframe {
    width: 100%;
  }

  .is05_address {
    margin-bottom: 5vw;
    font-size: 1.4rem;
    font-style: normal;
    letter-spacing: 0.02em;
  }

  .is05_link02.is_link_design a {
    border-color: #fff;
  }

  .is05_box_r dl {
    margin-bottom: 2vw;
  }

  .is05_box_r dt {
    margin-bottom: 1vw;
    font-size: 1.3rem;
    letter-spacing: 0.02em;
  }

  .is05_box_r dd input,
  .is05_box_r dd textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 2vw;
    border: none;
    border-radius: 2vw;
    background: #fff;
    font-size: 1.4rem;
  }

  .is05_box_r dd textarea {
    min-height: 10em;
    resize: vertical;
  }

  .is05_box_r dd .error {
    margin-top: 1vw;
  }

  .is05_box_r dd .error span {
    color: #fff33e;
    font-weight: bold;
  }

  .is05_box_r dd .error img {
    width: 15px;
    margin-right: 5px;
    font-size: 1.3rem;
  }

  .is05_form_button {
    margin-top: 4vw;
    text-align: center;
  }

  .is05_form_button button {
    box-sizing: border-box;
    width: 170px;
    height: 32px;
    border: 1px #fff33e solid;
    border-radius: 16px;
    background: #fff33e;
    color: var(--color01);
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    cursor: pointer;
  }

  .is05_form_button button:hover {
    background: #fff;
  }

  .is05_form_button button img {
    width: 16px;
    margin-right: 5px;
  }

  .is05_form_button input {
    box-sizing: border-box;
    width: 167px;
    height: 54px;
    border: 1px #fff33e solid;
    border-radius: 27px;
    background: #fff33e;
    color: var(--color01);
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    cursor: pointer;
  }

  .top-mv-bg ul.slick-dots {
    cursor: pointer;
    text-align: center;
    width: 100%;
    margin-top: 30px;
  }

  ul.slick-dots li {
    cursor: pointer;
    display: inline-block;
    width: 80px;
    text-align: center;
    padding: 0 10px;
  }

  ul.slick-dots li button {
    cursor: pointer;
    display: block;
    width: 60px;
    height: 3px;
    text-indent: -88888px;
    border: none;
    border-radius: 0;
    background-color: #e5e5e5;
    padding: 0;
  }

  ul.slick-dots li.slick-active button {
    background-color: #000;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　受講生の声と現在の活躍 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .ul_title01 {
    padding: 4vw 3vw;
    background: var(--color01);
  }

  .ul_title01 h1 {
    color: #fff;
    font-size: 2rem;
  }

  .ul_title01.single h2 {
    color: #fff;
    font-size: 2rem;
  }

  .ul_wrap {
    padding: 8vw 0 12vw;
  }

  .ul_title02 {
    padding-bottom: 1vw;
    border-bottom: 2px var(--color01) solid;
    margin-bottom: 3vw;
    color: var(--color01);
    font-size: 2rem;
    font-weight: 700;
  }

  .comments_text01 {
    padding: 0 3vw;
    margin-bottom: 8vw;
    font-size: 2rem;
    font-weight: bold;
  }

  .com_list01 {
    padding: 0 3vw;
  }

  .com_list01>li {
    padding: 6vw 3vw;
    border-radius: 3vw;
    box-shadow: 0 0 10px rgba(45, 146, 91, 0.38);
    font-size: 1.6rem;
  }

  .com_list01>li:not(:last-child) {
    margin-bottom: 10vw;
  }

  .com_list01_prof {
    margin-bottom: 4vw;
    text-align: center;
  }

  .com_list01_img {
    margin-bottom: 2vw;
  }

  .com_list01_name {
    font-weight: bold;
  }

  .com_list01_country {
    margin-bottom: 2vw;
    font-size: 1.4rem;
  }

  .com_list01_course span {
    display: inline-block;
    padding: 5px 10px 8px;
    color: #fff;
    line-height: 1;
  }

  .com_list01_course .c_color01 {
    background: var(--color01);
  }

  .com_list01_course .c_color02 {
    background: var(--color02);
  }

  .com_list01_course .c_color03 {
    background: var(--color03);
  }

  .com_list01_comment {
    line-height: 1.8;
  }

  .com_list01_text01:not(:last-child),
  .com_list01_morelink {
    margin-bottom: 3vw;
  }

  .com_list01_morelink {
    text-align: center;
  }

  .com_list01_faq+.com_list01_morelink {
    margin-top: 3vw;
  }

  .com_list01_morelink span {
    display: inline-block;
    padding: 1vw 6vw 2vw;
    border-radius: 6vw;
    color: #fff;
    line-height: 1;
    background: var(--color01);
    cursor: pointer;
  }

  .com_list01_more {
    display: none;
  }

  .com_list01_text02 a {
    color: var(--color01);
    text-decoration: none;
  }

  .com_list01_text02 a:hover {
    text-decoration: underline;
  }

  .com_list01_moreimg {
    margin-top: 2vw;
    text-align: center;
  }

  .com_list01_moreimg img {
    max-width: 100%;
  }

  .com_list01_faq {
    width: 100%;
    padding: 3vw 0;
  }

  .com_list01_faq:not(:last-child) {
    border-bottom: 1px #ccc solid;
  }

  .com_list01_faq dt {
    position: relative;
    padding-left: 2em;
    color: var(--color01);
    cursor: pointer;
  }

  .com_list01_faq dt span {
    position: absolute;
    top: 3px;
    left: 0;
    width: 15px;
    height: 15px;
    padding: 2px 5px 8px;
    border-radius: 50%;
    background: var(--color01);
    color: #fff;
    font-weight: bold;
    line-height: 1;
    text-align: center;
  }

  .com_list01_faq dd {
    display: none;
    padding: 3vw 0 0 2em;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　交通アクセス ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .map_section01 {
    margin-bottom: 4vw;
  }

  .map_section_box {
    padding: 0 3vw;
    font-size: 1.6rem;
  }

  .map_section_box address {
    margin-bottom: 1.5em;
    font-style: normal;
  }

  .map_text {
    margin-bottom: 1vw;
  }

  .map_img img {
    width: 100%;
  }

  .map_img img:not(:last-child) {
    margin-bottom: 1vw;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　沿革 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .base_tb {
    margin: 0 3vw;
    font-size: 1.4rem;
  }

  .base_tb th {
    padding: 5px;
    border: 1px #333 solid;
    background: var(--color01);
    color: #fff;
  }

  .history_section01 .base_tb th {
    white-space: nowrap;
  }

  .base_tb td {
    padding: 5px;
    border: 1px #aaa solid;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　所長メッセージ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .message_section_box {
    margin: 0 3vw;
    font-size: 1.6rem;
  }

  .message_text {
    margin-bottom: 5vw;
  }

  .message_text p:first-letter {
    padding-left: 1em;
  }

  .message_text p:not(:last-child) {
    margin-bottom: 1.5em;
  }

  .message_prof_box {
    padding: 6vw 3vw;
    border-radius: 3vw;
    background: #fff;
    box-shadow: 0 0 10px rgba(45, 146, 91, 0.38);
  }

  .message_prof {
    margin-bottom: 4vw;
  }

  .message_prof01 {
    padding-bottom: 2vw;
    border-bottom: 1px var(--color01) solid;
    margin-bottom: 2vw;
    font-weight: bold;
  }

  .message_img {
    text-align: center;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　IECとは ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .iec_section_box {
    margin: 0 3vw;
    font-size: 1.4rem;
  }

  .iec_text01 {
    margin-bottom: 8vw;
  }

  .iec_flex {
    margin-bottom: 6vw;
  }

  .iec_flex_l {
    margin-bottom: 4vw;
  }

  .iec_flex_l h3 {
    margin-bottom: 2vw;
  }

  .iec_flex_l span {
    position: relative;
    display: inline-block;
    padding: 2px 30px 6px 30px;
    background: var(--color02);
    color: #fff;
    font-size: 1.4rem;
  }

  .iec_flex_l span:before {
    position: absolute;
    top: 50%;
    left: 10px;
    content: "▲";
    transform: translateY(-50%) rotateZ(90deg);
    font-size: 1rem;
  }

  .iec_flex_r {
    text-align: center;
  }

  .iec_flex_r>img {
    box-shadow: 0 3px 6px #999;
  }

  .iec_flex_r>img:not(:last-child) {
    margin-bottom: 2vw;
  }

  .iec_flex_r.logo img {
    width: 100%;
  }

  .iec_text02:not(:last-child) {
    margin-bottom: 4vw;
  }

  .iec_text03 {
    margin-bottom: 4vw;
  }

  .iec_banner {
    margin-top: -2vw;
  }

  .iec_banner img {
    width: 100%;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　レギュラープログラム ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .reg_section01,
  .reg_section02,
  .reg_section03 {
    margin-bottom: 10vw;
  }

  .reg_section_box {
    margin: 0 3vw;
    font-size: 1.4rem;
  }

  .reg_text01 {
    margin-bottom: 8vw;
  }

  .reg_section01_flex:not(:last-child) {
    margin-bottom: 6vw;
  }

  .reg_section01_flex>div:not(:last-child) {
    margin-bottom: 4vw;
  }

  .pro_tb {
    width: 100%;
  }

  .pro_tb:not(:last-child) {}

  .pro_tb th {
    padding: 10px;
    border: 1px #333 solid;
    color: #fff;
    text-align: left;
  }

  .reg_tb th {
    background: var(--color01);
  }

  .part_tb th {
    background: var(--color03);
  }

  .pro_tb td {
    padding: 10px;
    border: 1px #aaa solid;
  }

  .reg_tb td.point {
    background: rgba(45, 146, 91, 0.1);
    text-align: center;
  }

  .pro_tb td ul {
    margin-left: 1.2em;
    list-style-type: disc;
  }

  .pro_tb td ol {
    margin-left: 1.2em;
  }

  .pro_tb_a {
    font-size: 1.8rem;
    font-weight: bold;
  }

  .reg_link_button01:not(:last-child) {
    margin-bottom: 2vw;
  }

  .reg_link_button01 a {
    position: relative;
    display: inline-block;
    padding: 5px 40px 5px 20px;
    border: 1px var(--color01) solid;
    border-radius: 20px;
    background: var(--color01);
    color: #fff;
    text-decoration: none;
  }

  .reg_link_button01 a:hover {
    background: #fff;
    color: var(--color01);
  }

  .reg_link_button01 a span {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    color: var(--color01);
    transition: 0.3s ease-in-out;
  }

  .reg_link_button01 a:hover span {
    background: var(--color01);
    color: #fff;
  }

  .reg_link_button01 a span:before {
    position: absolute;
    top: 50%;
    left: 45%;
    transform: translate(-50%, -50%) rotateZ(-45deg);
    content: "";
    width: 4px;
    height: 4px;
    border-right: 1px var(--color01) solid;
    border-bottom: 1px var(--color01) solid;
  }

  .reg_link_button01 a:hover span:before {
    border-color: #fff;
  }

  .gakki_img {
    margin-bottom: 2vw;
  }

  .gakki_img img {
    width: 100%;
  }

  .gakki_list {
    padding-left: 1em;
    list-style-type: disc;
  }

  .reg_section03_table {
    margin-bottom: 6vw;
  }

  .list_tb,
  .list_tb tbody,
  .list_tb tr,
  .list_tb th,
  .list_tb td {
    /*display: block;*/
  }

  .list_tb tr:not(:last-child) {
    margin-bottom: 2vw;
  }

  .list_tb td {
    padding: 10px 5px;
    text-align: right;
  }

  .list_tb td:not(:first-child) {
    border-top: none;
  }

  .list_tb td::before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
  }

  .list_tb thead {}

  .pro_title {
    margin-bottom: 2vw;
  }

  .reg_section03_link {}

  .reg_section03_link>a {
    display: block;
    box-sizing: border-box;
    padding: 15px;
    border: 1px var(--color01) solid;
    border-radius: 50px;
    background: var(--color01);
    color: #fff;
    text-align: center;
    text-decoration: none;
  }

  .reg_section03_link>a:not(:last-child) {
    margin-bottom: 2vw;
  }

  .reg_section03_link>a:hover {
    background: #fff;
    color: var(--color01);
  }

  .reg_section03_link>a h4 {
    margin-bottom: 2px;
  }

  .reg_section04_flex {
    margin-bottom: 5vw;
  }

  .reg_section04_img {
    margin-bottom: 3vw;
  }

  .reg_section04_img img {
    width: 100%;
  }

  .reg_section04_data dl:not(:last-child) {
    margin-bottom: 1em;
  }

  .reg_section04_data dt {
    font-weight: bold;
  }

  .reg_section04_img02,
  .reg_section04_text:not(:last-child) {
    margin-bottom: 2vw;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　レギュラープログラム コース概要 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .reg_check {
    display: flex;
    margin-bottom: 3vw;
  }

  .reg_check li {
    position: relative;
    padding-left: 20px;
    margin-right: 20px;
    color: #d91d33;
    font-size: 1.4rem;
  }

  .reg_check li:before {
    position: absolute;
    top: 3px;
    left: 2px;
    transform: rotateZ(45deg);
    content: "";
    width: 6px;
    height: 10px;
    border-right: 2px #d91d33 solid;
    border-bottom: 2px #d91d33 solid;
  }

  .reg_navi {}

  .reg_navi li {
    margin-bottom: 1vw;
  }

  .reg_navi li a {
    position: relative;
    display: block;
    padding: 7px 20px;
    border: 1px var(--color01) solid;
    border-radius: 20px;
    background: var(--color01);
    color: #fff;
    font-weight: bold;
    font-size: 1.4rem;
    text-align: center;
    text-decoration: none;
  }

  .reg_navi li a:hover {
    background: #fff;
    color: var(--color01);
  }

  .reg_navi li a:after {
    position: absolute;
    top: 53%;
    right: 14px;
    transform: translatey(-50%);
    content: "";
    border-left: 6px transparent solid;
    border-right: 6px transparent solid;
    border-top: 8px #fff solid;
  }

  .reg_navi li a:hover:after {
    border-top-color: var(--color01);
  }

  .reg_navi02 {}

  .reg_navi02 li {
    padding: 3px 10px;
  }

  .reg_navi02 li:not(:last-child) {
    border-bottom: 1px #ccc solid;
  }

  .reg_navi02 li a {
    color: var(--color01);
    text-decoration: none;
  }

  .reg_navi02 li a:hover {
    text-decoration: underline;
  }

  .reg_app1_flex {
    margin-bottom: 4vw;
  }

  .reg_app1_img {
    margin-bottom: 3vw;
  }

  .reg_app1_img img {
    width: 100%;
  }

  .reg_app1_data h3 {
    margin-bottom: 2vw;
  }

  .reg_app1_box01 {
    padding: 3vw;
    margin-bottom: 3vw;
    background: var(--color01B);
  }

  .reg_app1_flex_text {
    margin-bottom: 1vw;
  }

  .reg_app1_text01 {
    margin-bottom: 2vw;
  }

  .reg_app1_data .color {
    color: #d91d33;
  }

  .reg_app1_ol {
    padding-left: 1.5em;
    margin-bottom: 3vw;
  }

  .reg_app1_flex02 {
    padding: 3vw;
    background: var(--color01B);
  }

  .reg_app1_flex02:not(:last-child) {
    margin-bottom: 5vw;
  }

  .reg_app1_flex02_text {
    margin-bottom: 3vw;
    font-size: 2rem;
    font-weight: bold;
  }

  .reg_app1_flex02_l {
    margin-bottom: 5vw;
  }

  .reg_app1_flex02_l:after {
    content: "";
    clear: both;
  }

  .reg_app1_text02 {
    margin-bottom: 2vw;
  }

  .reg_app1_flex02_r {
    font-size: 1.6rem;
  }

  .reg_app1_flex02_dl {
    box-sizing: border-box;
    padding: 3vw;
    margin-bottom: 2vw;
    background: #fff;
  }

  .reg_app1_flex02_dl h3 {
    margin-bottom: 1vw;
    font-size: 1.4rem;
    text-align: center;
  }

  .dl_shoshiki {
    margin-bottom: 2vw;
    color: var(--color01);
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
  }

  .reg_app1_flex02_dl .dl_list li:not(:last-child) {
    margin-bottom: 2vw;
  }

  .reg_app1_flex02_dl .dl_list li a {
    padding: 2vw 4vw;
    border-radius: 10vw;
    font-size: 1.4rem;
  }

  .document_dl:not(:last-child) {
    margin-right: 3vw;
  }

  .document_dl dt {
    margin-bottom: 2vw;
  }

  .document_dl dt h3 {
    color: var(--color01);
  }

  .document_dd01 {
    margin-bottom: 3vw;
  }

  .document_dd02 {
    margin-bottom: 3vw;
    font-size: 1.4rem;
  }

  .document_dd02 h4 {
    margin-bottom: 1vw;
  }

  .reg_app1_contact {
    padding: 3vw;
    margin-bottom: 3vw;
    background: var(--color01B);
  }

  .reg_app1_contact_text {
    margin-bottom: 2vw;
    font-size: 1.8rem;
  }

  .reg_back {
    font-size: 1.4rem;
  }

  .app02_text01 {
    margin-bottom: 3vw;
  }

  .app02_text02 {
    margin-bottom: 2vw;
  }

  .app02_text03 {
    margin-bottom: 3vw;
    color: #666;
    font-size: 1.4rem;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　パートタイムプログラム ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .part_tb th {
    background: var(--color03);
  }

  .part_wrap .reg_link_button01 a {
    border-color: var(--color03);
    background: var(--color03);
  }

  .part_wrap .reg_link_button01 a:hover {
    background: #fff;
    color: var(--color03);
  }

  .part_wrap .reg_link_button01 a:hover span {
    background: var(--color03);
  }

  .part_wrap .reg_link_button01 span:before {
    border-color: var(--color03);
  }

  .part_wrap .ul_title02 {
    border-color: var(--color03);
    color: var(--color03);
  }

  .part_wrap .reg_section03_link a {
    border-color: var(--color03);
    background: var(--color03);
  }

  .part_wrap .reg_section03_link a:hover {
    background: #fff;
    color: var(--color03);
  }

  .part_flex01_l {
    margin-bottom: 8vw;
  }

  .part_level_list li {
    display: flex;
  }

  .part_level_list li:not(:last-child) {
    margin-bottom: 2vw;
  }

  .part_level_list01 {
    width: 90px;
    flex-shrink: 0;
  }

  .part_level_list01 span {
    display: inline-block;
    box-sizing: border-box;
    width: 100%;
    padding: 1px 2px 3px;
    border-radius: 30px;
    color: #fff;
    font-weight: bold;
    text-align: center;
  }

  .part_level_list01 .level04 {
    background: var(--level04);
  }

  .part_level_list01 .level03 {
    background: var(--level03);
  }

  .part_level_list01 .level02 {
    background: var(--level02);
  }

  .part_level_list01 .level01 {
    background: var(--level01);
  }

  .part_level_list02 {
    margin-left: 10px;
  }

  .part_flex01_r {
    box-sizing: border-box;
    padding: 6vw 3vw;
    border-radius: 3vw;
    box-shadow: 0 0 10px rgba(153, 102, 0, 0.38);
  }

  .part_level_text {
    margin-bottom: 4vw;
  }

  .part_diffi {
    display: none;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　プライベートレッスン ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .pri_wrap .ul_title02 {
    border-color: var(--color02);
    color: var(--color02);
  }

  .pri_wrap .reg_section03_link a {
    border-color: var(--color02);
    background: var(--color02);
  }

  .ri_wrap .reg_section03_link a:hover {
    background: #fff;
    color: var(--color02);
  }

  .pri_tb th {
    background: var(--color02);
    border-color: #000;
  }

  .pri_ol_list01 {
    padding-left: 1.5em;
    margin-bottom: 5vw;
  }

  .pri_dl01 {
    display: flex;
    width: 100%;
  }

  .pri_dl01 dt {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    padding: 5px 10px;
    border: 1px #000 solid;
    border-radius: 50px 0 0 50px;
    background: var(--color02);
    color: #fff;
    font-weight: bold;
    flex-shrink: 0;
  }

  .pri_dl01 dd {
    width: 100%;
    padding: 5px 15px;
    border: 1px #aaa solid;
    border-radius: 0 50px 50px 0;
  }

  .pri_ul_list01 {
    padding-left: 1.5em;
    list-style-type: disc;
  }

  .pri_flex {
    padding: 6vw 3vw;
    background: #d1e0ff;
  }

  .pri_flex_l {
    padding: 4vw;
    margin-bottom: 4vw;
    background: #fff;
  }

  .pri_flex_l h3 {
    margin-bottom: 4vw;
    text-align: center;
  }

  .dl_list li:not(:last-child) {
    margin-bottom: 4vw;
  }

  .dl_list li a {
    display: flex;
    justify-content: center;
    padding: 1vw 4vw;
    border-radius: 4vw;
    font-weight: bold;
    text-decoration: none;
  }

  .dl_list_pdf a {
    border: 1px #df5656 solid;
    color: #df5656;
  }

  .dl_list_excel a {
    border: 1px #1ecc2d solid;
    color: #1ecc2d;
  }

  .dl_list_word a {
    border: 1px #3942c2 solid;
    color: #3942c2;
  }

  .dl_list li a:hover {
    opacity: 0.7;
  }

  .dl_list li a img {
    width: 20px;
    margin-right: 3vw;
  }

  .pri_flex_text {
    margin-bottom: 3vw;
  }

  .pri_contact {}

  .pri_tel {
    padding-left: 30px;
    margin-bottom: 3vw;
    background: url("../images/program/pri_phone_icon.png") left 5px/22px no-repeat;
    font-size: 2rem;
    font-weight: bold;
  }

  .pri_contact01 {
    padding-left: 30px;
    background: url("../images/program/pri_mail_icon.png") left 5px/22px no-repeat;
    font-size: 2rem;
    font-weight: bold;
  }

  .pri_contact01 a {
    text-decoration: none;
  }

  .pri_contact01 a:hover {
    text-decoration: underline;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　パンフレットダウンロード ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .pdl_section01 {
    font-size: 1.6rem;
  }

  .pdl_section_box {
    padding: 0 3vw;
  }

  .pdl_section_text01 {
    margin-bottom: 4vw;
  }

  .pdl_section_flex01 {
    margin-bottom: 6vw;
  }

  .pdl_section_text02 {
    margin-bottom: 3vw;
  }

  .pdl_section_img01 {
    border: 1px #999 solid;
  }

  .pdl_section_img01 img {
    width: 100%;
  }

  .pdl_section_box01:not(:last-child) {
    margin-bottom: 6vw;
  }

  .pdl_section_flex02 {
    display: flex;
  }

  .pdl_section_img02 {
    margin-right: 3vw;
  }

  .pdl_section_button {
    margin-bottom: 3vw;
  }

  .pdl_section_button li:not(:last-child) {
    margin-bottom: 2vw;
  }

  .pdl_section_button li a {
    display: inline-block;
    box-sizing: border-box;
    width: 100%;
    padding: 5px;
    border: 1px var(--color01) solid;
    border-radius: 5vw;
    background: var(--color01);
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
  }

  .pdl_section_button li a:hover {
    background: #fff;
    color: var(--color01);
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　法人日本語研修 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .corp_section01,
  .corp_section02,
  .corp_section03 {
    margin-bottom: 10vw;
  }

  .corp_section_box {
    margin: 0 3vw;
    font-size: 1.4rem;
  }

  .corp_text01 {
    margin-bottom: 5vw;
  }

  .corp_text01 a {
    color: var(--color01);
    text-decoration: none;
  }

  .corp_text01 a:hover {
    text-decoration: underline;
  }

  .corp_achievement_box {
    padding: 7vw 0;
  }

  .corp_achievement_box:not(:last-child) {
    border-bottom: 2px #ccc dashed;
  }

  .corp_achievement_box h3 {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 5vw;
  }

  .corp_achievement_box h3 span {
    display: inline-block;
    padding: 2vw 6vw;
    background: var(--color01);
    color: #fff;
    box-shadow: 2vw 2vw 0 #105b33;
  }

  .corp_achievement_list01,
  .corp_achievement_list02 {
    display: flex;
    flex-wrap: wrap;
  }

  .corp_achievement_list01:not(:last-child) {
    margin-bottom: 10vw;
  }

  .corp_achievement_list01 li,
  .corp_achievement_list02 li {
    width: 48%;
    margin: 0 4% 4% 0;
  }

  .corp_achievement_list02 li {
    position: relative;
    box-sizing: border-box;
    margin-bottom: 2%;
    padding-left: 1.1em;
  }

  .corp_achievement_list02 li:before {
    position: absolute;
    left: 0;
    content: "・";
  }

  .corp_achievement_list01 li:nth-child(even),
  .corp_achievement_list02 li:nth-child(even) {
    margin-right: 0;
  }

  .corp_achievement_list01 li:nth-last-child(-n + 2),
  .corp_achievement_list02 li:nth-last-child(-n + 2) {
    margin-bottom: 0;
  }

  .corp_achievement_logo {
    text-align: center;
  }

  .corp_achievement_logo img {
    max-width: 100%;
  }

  .corp_case_box {
    border: 2px var(--color01) solid;
    border-radius: 5vw;
    overflow: hidden;
  }

  .corp_case_box:not(:last-child) {
    margin-bottom: 6vw;
  }

  .corp_case_box h3 {
    padding: 2vw 4vw;
    background: var(--color01);
    color: #fff;
    font-size: 1.8rem;
  }

  .corp_case_box01 {
    padding: 2vw 3vw;
  }

  .corp_case_box01 dl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .corp_case_box01 dt {
    box-sizing: border-box;
    width: 50px;
    padding: 2vw;
    background: var(--color01B);
  }

  .corp_case_box01 dd {
    box-sizing: border-box;
    width: calc(50% - 50px);
    padding: 2vw;
  }

  .corp_eng .corp_case_box01 dt,
  .corp_eng .corp_case_box01 dd {
    width: 50%;
  }

  .corp_case_box01 dt:not(:last-of-type),
  .corp_case_box01 dd:not(:last-of-type) {
    margin-bottom: 2vw;
  }

  .corp_case_img {
    margin-top: 4vw;
    text-align: center;
  }

  .corp_case_img img {
    max-width: 100%;
  }

  .corp_contact {
    padding: 3vw;
    background: var(--color01B);
  }

  .corp_contact a {
    color: var(--color01);
  }

  .corp_flex02>ul {
    margin-bottom: 0;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　よくある質問 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .faq_section01 {
    margin-bottom: 10vw;
  }

  .faq_section_box {
    margin: 0 3vw;
    font-size: 1.4rem;
  }

  .faq_dl_box {
    margin-bottom: 5vw;
  }

  .faq_dl_box:nth-last-child(-n + 2) {
    margin-bottom: 0;
  }

  .faq_dl dt {
    position: relative;
    padding: 10px 40px 10px 40px;
    margin-bottom: 10px;
    background: var(--color01B);
  }

  .faq_dl dt:before {
    position: absolute;
    top: 5px;
    left: 5px;
    content: "Q";
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    padding-top: 3px;
    border-radius: 50%;
    background: var(--color01);
    color: #fff;
    font-weight: bold;
    text-align: center;
  }

  .faq_dl dt:after {
    position: absolute;
    top: 53%;
    right: 14px;
    transform: translatey(-50%);
    content: "";
    border-left: 6px transparent solid;
    border-right: 6px transparent solid;
    border-top: 8px var(--color01) solid;
    transition: 0.3s ease-in-out;
  }

  .faq_dl dt.active:after {
    top: 50%;
    transform: translatey(-50%) rotateZ(180deg);
  }

  .faq_dl dd {
    display: none;
    padding: 0 10px 20px;
    border-bottom: 1px #ccc solid;
  }

  .faq_dl dd:not(:last-child) {
    margin-bottom: 20px;
  }

  .faq_dl ul {
    padding-left: 1.5em;
    list-style-type: disc;
  }

  .faq_dl_text01:not(:last-child),
  .faq_dl ul:not(:last-child) {
    margin-bottom: 4vw;
  }

  .faq_dl ul li:not(:last-child) {
    margin-bottom: 1vw;
  }

  .faq_dl .reg_link_button01:not(:last-child) {
    margin-bottom: 2vw;
  }

  .faq_dl dd>a,
  .faq_dl dd li>a {
    color: var(--color01);
    text-decoration: none;
  }

  .faq_dl dd>a:hover,
  .faq_dl dd li>a:hover {
    text-decoration: underline;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　体験受講について ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .trial_section01 {
    margin-bottom: 10vw;
  }

  .trial_section_box {
    margin: 0 3vw;
    font-size: 1.4rem;
  }

  .trial_list {
    padding-left: 1.5em;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　お知らせ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .news_section_box {
    margin: 0 3vw;
    font-size: 1.4rem;
  }

  .news_main {
    margin-bottom: 8vw;
  }

  .pager {
    display: flex;
    justify-content: center;
    margin-top: 6vw;
  }

  .pager li:not(:last-child) {
    margin-right: 1vw;
  }

  .pager a {
    color: var(--color01);
    text-decoration: none;
  }

  .pager a:hover {
    text-decoration: underline;
  }

  .news_side {
    display: flex;
  }

  .news_side_box {
    box-sizing: border-box;
    width: 100%;
    border: 2px var(--color01) solid;
    border-radius: 5vw;
    overflow: hidden;
  }

  .news_side_box:not(:last-child) {
    margin-right: 3vw;
  }

  .news_side_box h3 {
    padding: 1vw 2vw;
    background: var(--color01);
    color: #fff;
  }

  .news_side_list {
    padding: 1vw 2vw 2vw;
  }

  .news_side_list li {
    padding: 1vw;
  }

  .news_side_list li:not(:last-child) {
    border-bottom: 1px #ccc dotted;
  }

  .news_side_list li a {
    color: var(--color01);
    text-decoration: none;
  }

  .news_side_list li a:hover {
    text-decoration: underline;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　お知らせ詳細 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .news_detail_dc {
    display: flex;
    align-items: center;
    margin-bottom: 2vw;
  }

  .news_detail_date {
    color: #999;
    margin-right: 2vw;
  }

  .news_detail_cate {
    width: 100px;
    padding: 6px 10px;
    color: #fff;
    text-align: center;
    line-height: 1;
  }

  .news_en .news_detail_cate {
    width: 190px;
  }

  .news_detail_title {
    padding-bottom: 1vw;
    border-bottom: 2px var(--color01) solid;
    margin-bottom: 4vw;
    color: var(--color01);
  }

  .news_datail_subject {
    padding-bottom: 4vw;
    border-bottom: 1px #aaa dotted;
  }

  .news_datail_subject img {
    max-width: 100%;
    height: auto;
    margin: 1em 0;
  }

  .page {
    /*
    text-align: center;
    margin: 80px 0;
		*/
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　このサイトについて ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .about_section_box {
    margin: 0 3vw;
    font-size: 1.4rem;
  }

  .about_section_text01 {
    margin-bottom: 5vw;
  }

  .about_section_text02 {
    margin-bottom: 2vw;
  }

  .about_section_list {
    padding-left: 1.5em;
    list-style-type: disc;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　個人情報保護の取り扱いについて ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .ii_section_list {
    padding-left: 1.5em;
  }

  .ii_section_list ul {
    padding-left: 1em;
    list-style-type: disc;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　採用情報／Job Opportunities ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .rec_section_box {
    margin: 0 3vw;
    font-size: 1.4rem;
  }

  .rec_section_box a {
    color: var(--color01);
    text-decoration: none;
  }

  .rec_section_box a:hover {
    text-decoration: underline;
  }

  .rec_text01:not(:last-child) {
    margin-bottom: 6vw;
  }

  .rec_dl {
    border-bottom: 1px #ccc solid;
    margin-bottom: 6vw;
  }

  .rec_dl dt {
    float: left;
    box-sizing: border-box;
    width: 80px;
    padding: 2vw 0;
    border-top: 1px #ccc solid;
  }

  .rec_dl dd {
    box-sizing: border-box;
    width: calc(100% - 80px);
    padding: 2vw 0;
    margin-left: 80px;
    border-top: 1px #ccc solid;
  }

  .rec_section_box ul {
    padding-left: 1em;
    list-style-type: disc;
  }

  .rec_flex01 {
    margin-bottom: 6vw;
  }

  .rec_flex01>div:not(:last-child) {
    margin-bottom: 4vw;
  }

  .rec_flex01 h3 {
    margin-bottom: 2vw;
    font-size: 2rem;
  }

  .rec_flex01 ul,
  .rec_text02 {
    margin-bottom: 3vw;
  }

  .rec_flex01 ol {
    padding-left: 1em;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　受講相談予約・お問い合わせフォーム ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .contact_section_box {
    margin: 0 3vw;
    font-size: 1.4rem;
  }

  .contact_box01 {
    margin-bottom: 6vw;
  }

  .contact_en_text01 {
    margin-bottom: 4vw;
    text-align: center;
  }

  .contact_box01 .mand2 {
    color: #d91d33;
    font-size: 2rem;
    font-weight: bold;
  }

  .pdt1 {
    padding-top: 12px;
  }

  .contact_box01 dt {
    padding: 3vw;
    margin-bottom: 2vw;
    background: var(--color01B);
  }

  .contact_box01 ruby {}

  .contact_box01 rt {}

  .contact_box01 dt .mand {
    display: inline-block;
    padding: 1vw 2vw;
    border-radius: 30px;
    margin-left: 2vw;
    background: #d91d33;
    color: #fff;
    line-height: 1;
  }

  .contact_box01 dt .mand2 {
    margin-left: 2vw;
  }

  .contact_box01 dd {
    display: flex;
    padding: 3vw;
    margin-bottom: 2vw;
  }

  .contact_box01 dd .input_name {
    width: 50%;
  }

  .contact_box01 dd .input_name:not(:last-child),
  .contact_box01 dd .radio_label:not(:last-child) {
    margin-right: 3vw;
  }

  .contact_box01 dd .radio_label {
    display: inline-block;
  }

  .contact_box01 dd .radio_label input {
    margin-right: 2vw;
  }

  .contact_box01 dd input[type="text"],
  .contact_box01 dd input[type="tel"],
  .contact_box01 dd input[type="email"],
  .contact_box01 dd textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 2vw;
    border: 1px #666 solid;
    font-size: 1.4rem;
  }

  .contact_box01 dd select {
    box-sizing: border-box;
    width: 100%;
    padding: 2vw;
    border: 1px #666 solid;
    border-radius: 0;
    background: #fff;
    font-size: 1.4rem;
  }

  .contact_box01 dd textarea {
    min-height: 10em;
    resize: vertical;
  }

  .contact_text01 {
    margin-bottom: 2vw;
  }

  .dd_fw {
    flex-wrap: wrap;
  }

  .input_width01,
  .input_width02 {
    width: 100%;
  }

  .input_width01 {
    margin-bottom: 20px;
  }

  .input_group {
    display: flex;
    margin-bottom: 15px;
  }

  .input_group select {
    width: 100%;
  }

  .input_group span {
    padding: 0;
    /* border: 1px #666 solid; */
    border-left: none;
    white-space: nowrap;
  }

  .con_cor_list01 {
    width: 100%;
  }

  .con_cor_list01>li {
    padding: 2vw;
  }

  .con_cor_list01>li:not(:last-child) {
    border-bottom: 1px #ccc dashed;
  }

  .con_cor_list02 {
    padding-top: 0;
    padding-left: 4vw;
  }

  .con_cor_list02 label {
    padding-top: 12px;
  }

  .wid100 {
    width: 100%;
  }

  .con_flex {
    display: flex;
  }

  .radio_label+.con_flex {
    margin-top: 2vw;
  }

  dt .sp_dt_flex {
    display: flex;
  }

  dt .sp_dt_flex .pdt1 {
    padding-top: 0;
  }

  dd.sp_dd_block {
    display: block;
  }

  .contact_button {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .contact_button button,
  .contact_button a {
    padding: 5px 10px;
    border: 1px var(--color01) solid;
    border-radius: 50px;
    margin: 0 10px;
    background: var(--color01);
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    text-decoration: none;
  }

  .contact_button button:hover,
  .contact_button a:hover {
    background: #fff;
    color: var(--color01);
  }

  .contact_button .back {
    border-color: #333;
    background: #333;
  }

  .contact_button .back:hover {
    background: #fff;
    color: #333;
  }

  .contact_policy {
    padding: 3vw;
    margin-top: 6vw;
    border: 1px var(--color01) solid;
  }

  .contact_policy h3 {
    margin-bottom: 2vw;
  }

  .con_po_flex_l {
    margin-bottom: 4vw;
  }

  .contact_policy_text {
    margin-bottom: 3vw;
  }

  .contact_done_text {
    margin-bottom: 8vw;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　日本語研修所が選ばれる理由 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .reason_section01,
  .reason_section02,
  .reason_section03,
  .reason_section04 {
    margin-bottom: 10vw;
  }

  .reason_section_box {
    margin: 0 3vw;
    font-size: 1.4rem;
  }

  .reason_section_box a {
    color: var(--color01);
    text-decoration: none;
  }

  .reason_section_box a:hover {
    text-decoration: underline;
  }

  .reason_text01:not(:last-child) {
    margin-bottom: 6vw;
  }

  .reason_list01 {
    padding-left: 1.5em;
    list-style-type: disc;
  }

  .reason_list01:not(:last-child) {
    margin-bottom: 3vw;
  }

  .reason_img01 {
    text-align: center;
  }

  .reason_img02 {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .reason_img02.sp_no_flex {
    display: block;
  }

  .reason_img02>div:not(:last-child) {
    margin-right: 3vw;
  }

  .reason_img02.sp_no_flex>div:not(:last-child) {
    margin-right: 0;
    margin-bottom: 3vw;
  }

  .reason_img01 img,
  .reason_img02 img {
    max-width: 100%;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　日米会話学院　概要 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .overview_wrap {
    padding-bottom: 0;
  }

  .overview_wrap section {
    padding: 8vw 0;
  }

  .overview_wrap section:nth-of-type(even) {
    background: var(--color01B);
  }

  .overview_box01 {
    margin: 0 3vw 5vw;
  }

  .ul_title03 {
    margin-bottom: 4vw;
    color: var(--color01);
    font-size: 3rem;
    text-align: center;
  }

  .ul_title03 span {
    position: relative;
    display: inline-block;
    padding: 0 5vw;
  }

  .ul_title03 span:before,
  .ul_title03 span:after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    width: 4vw;
    height: 2px;
    background: var(--color01);
  }

  .ul_title03 span:before {
    left: 0;
  }

  .ul_title03 span:after {
    right: 0;
  }

  /* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■　プログラムの紹介 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

  .program_wrap section:not(:last-child) {
    margin-bottom: 10vw;
  }

  .program_section_box {
    margin: 0 3vw;
    font-size: 1.4rem;
    overflow: hidden;
    position: relative;
  }

  .program_list01 li:not(:last-child) {
    margin-bottom: 6vw;
  }

  .program_list01 li h3 {
    padding: 2vw 4vw;
    margin-bottom: 2vw;
    color: #fff;
    font-size: 1.8rem;
  }

  .program_list01_reg h3 {
    background: var(--color01);
  }

  .program_list01_part h3 {
    background: var(--color03);
  }

  .program_list01_pri h3 {
    background: var(--color02);
  }

  .program_list01_text {
    margin-bottom: 4vw;
    font-size: 1.6rem;
  }

  .program_list01_link a {
    position: relative;
    display: inline-block;
    padding: 5px 40px 5px 20px;
    border-radius: 20px;
    color: #fff;
    text-decoration: none;
  }

  .program_list01_reg .program_list01_link a {
    border: 1px var(--color01) solid;
    background: var(--color01);
  }

  .program_list01_part .program_list01_link a {
    border: 1px var(--color03) solid;
    background: var(--color03);
  }

  .program_list01_pri .program_list01_link a {
    border: 1px var(--color02) solid;
    background: var(--color02);
  }

  .program_list01_link a:hover {
    background: #fff;
  }

  .program_list01_reg .program_list01_link a:hover {
    color: var(--color01);
  }

  .program_list01_part .program_list01_link a:hover {
    color: var(--color03);
  }

  .program_list01_pri .program_list01_link a:hover {
    color: var(--color02);
  }

  .program_list01_link a span {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    transition: 0.3s ease-in-out;
  }

  .program_list01_reg .program_list01_link a:hover span {
    background: var(--color01);
  }

  .program_list01_part .program_list01_link a:hover span {
    background: var(--color03);
  }

  .program_list01_pri .program_list01_link a:hover span {
    background: var(--color02);
  }

  .program_list01_link a span:before {
    position: absolute;
    top: 50%;
    left: 45%;
    transform: translate(-50%, -50%) rotateZ(-45deg);
    content: "";
    width: 4px;
    height: 4px;
  }

  .program_list01_reg .program_list01_link a span:before {
    border-right: 1px var(--color01) solid;
    border-bottom: 1px var(--color01) solid;
  }

  .program_list01_part .program_list01_link a span:before {
    border-right: 1px var(--color03) solid;
    border-bottom: 1px var(--color03) solid;
  }

  .program_list01_pri .program_list01_link a span:before {
    border-right: 1px var(--color02) solid;
    border-bottom: 1px var(--color02) solid;
  }

  .program_list01_link a:hover span:before {
    border-color: #fff;
  }

  .program_text01 {
    margin-bottom: 6vw;
  }

  .program_text01 a {
    color: var(--color01);
    text-decoration: none;
  }

  .program_text01 a:hover {
    text-decoration: underline;
  }

  .program_text01+.pro_tb {
    margin-bottom: 6vw;
  }

  .program_section_box .reg_tb a {
    color: var(--color01);
    text-decoration: none;
  }

  .program_section_box .reg_tb a:hover {
    text-decoration: underline;
  }

  .program_h3 {
    margin-bottom: 3vw;
  }

  .program_h3 span {
    display: inline-block;
    padding: 2px 20px 6px;
    line-height: 1;
  }

  .program_h3.reg_h3 span {
    border: 2px var(--color01) solid;
    color: var(--color01);
  }

  .program_h3.part_h3 span {
    border: 2px var(--color03) solid;
    color: var(--color03);
  }

  .program_h3.pri_h3 span {
    border: 2px var(--color02) solid;
    color: var(--color02);
  }

  .program_h3+.base_tb {
    margin-bottom: 6vw;
  }

  .program_text02 {
    margin-bottom: 4vw;
  }

  .program_dl01 {
    margin-bottom: 6vw;
  }

  .program_dl01 dt {
    font-weight: bold;
    margin-bottom: 2vw;
  }

  .program_dl01 dd {
    margin-bottom: 3vw;
  }

  .program_img01 {
    margin-bottom: 6vw;
  }

  .program_img01 img {
    width: 100%;
  }

  .program_dl02 {}

  .program_dl02 dt {
    display: flex;
    padding: 2vw 3vw;
    margin-bottom: 3vw;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
  }

  .bg_level01 {
    background: #399;
  }

  .bg_level02 {
    background: #0cc;
  }

  .bg_level03 {
    background: #9cc;
  }

  .program_dl02 dt>div:first-child {
    flex-shrink: 0;
  }

  .program_dl02 dd {
    padding: 3vw;
    border: 2px solid;
  }

  .bg_level01+dd {
    border-color: #399;
  }

  .bg_level02+dd {
    border-color: #0cc;
  }

  .bg_level03+dd {
    border-color: #9cc;
  }

  .program_dl02 dd:not(:last-child) {
    margin-bottom: 6vw;
  }

  .program_dl02_list01 {
    padding-left: 1em;
    margin-bottom: 3vw;
    list-style-type: disc;
  }

  .program_dl02 dd h4 {
    margin-bottom: 2vw;
  }

  .program_dl02_list02 {
    margin-bottom: 4vw;
    flex-shrink: 0;
  }

  .program_dl02_list02 li:not(:last-child) {
    margin-bottom: 2vw;
  }

  .program_dl02_list02 li a {
    display: inline-block;
    padding: 2px 15px 5px;
    border: 1px var(--color01) solid;
    border-radius: 30px;
    background: var(--color01);
    color: #fff;
    font-size: 1.3rem;
    text-decoration: none;
  }

  .program_dl02_list02 li a:hover {
    background: #fff;
    color: var(--color01);
  }

  .program_dl02_comment {
    color: #666;
    font-size: 1.2rem;
  }

  .program_dl02_list03 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .program_dl02_list03 li:not(:last-child) {
    margin: 0 1vw;
  }

  .program_dl02_list03 li img {
    width: 150px;
  }

  .program_dl02_list03 .program_dl02_comment {
    width: 100%;
  }

  .program_text03 {
    margin-top: 2vw;
  }

  .program_text03 a {
    color: var(--color01);
    font-weight: bold;
    text-decoration: none;
  }

  .program_text03 a:hover {
    text-decoration: underline;
  }

  .program_section_reg:not(:last-child) {
    margin-bottom: 7vw;
  }

  .program_section_reg .reg_section_box:not(:last-child) {
    margin-bottom: 6vw;
  }

  .program_section_reg .reg_section_box>h4 {
    margin-bottom: 3vw;
    font-size: 2rem;
    line-height: 1;
  }

  .program_section05 .ul_title02 {
    color: var(--color03);
    border-color: var(--color03);
  }

  .program_part_pdf {
    margin-top: 5vw;
  }

  .program_part_pdf>li {
    margin-bottom: 1.4em;
  }

  .program_part_pdf>li a {
    display: inline-block;
    padding: 2px 20px 5px;
    border: 1px var(--color03) solid;
    border-radius: 30px;
    background: var(--color03);
    color: #fff;
    text-decoration: none;
  }

  .program_part_pdf>li a:hover {
    background: #fff;
    color: var(--color03);
  }

  .program_part_cam {
    margin: 3vw 0;
  }

  .program_part_cam01 {
    color: #d91d33;
    font-size: 1.6rem;
    font-weight: bold;
  }

  .program_part_cam02 {
    margin-top: 0.8em;
    text-align: center;
  }

  .program_part_cam02 img {
    width: 200px;
  }

  .program_part_pdf ul {
    padding-left: 2em;
    list-style-type: disc;
    font-size: 1.4rem;
  }

  .program_part_policy01 {}

  .program_part_policy02 a {
    color: var(--color01);
    text-decoration: none;
  }

  .program_part_policy02 a:hover {
    text-decoration: underline;
  }

  .program_section06 .ul_title02 {
    color: var(--color02);
    border-color: var(--color02);
  }

  .pri_title span {
    display: inline-block;
    padding: 2px 20px 6px;
    border: 2px var(--color02) solid;
    color: var(--color02);
    line-height: 1;
  }

  .news_more01 a {
    width: 250px;
    margin: 0 auto 100px auto;
    color: #fff;
    display: block;
    background: var(--color01);
    padding: 10px;
    text-align: center;
    font-size: 18px;
    border-radius: 10px;
    border: 1px var(--color01) solid;
    text-decoration: none;
  }

  .news_more01 a:hover {
    color: var(--color01);
    display: block;
    background-color: #fff;
    border: 1px var(--color01) solid;
  }

  .voice_mv01 {
    width: 100%;
  }

  .voice_mv01 iframe {
    width: 100%;
    height: 15em;
  }

  .banner202310 {
    width: 100%;
    margin: 0 auto 3em auto;
  }

  .banner202310 img {
    width: 100%;
  }

  .header_gengo01 {
    width: 100%;
    margin: 0 auto;
  }

  .header_gengo02 {
    text-align: right;
  }

  .header_gengo02 select {
    font-size: 16px;
  }

  .header_gengo_kaso01 {
    width: 100%;
    margin: 0 auto;
  }

  .header_gengo_kaso02 {
    text-align: right;
  }

  .header_gengo_kaso02 select {
    font-size: 16px;
  }

  .top_main_image01 {
    position: absolute;
    bottom: -20px;
    width: 100%;
  }

  .top_main_image02 {
    width: 90%;
    margin: 0 auto;
  }

  .top_main_image02 img {
    width: 100%;
  }

  .top_main_image02 a:hover {
    opacity: 1;
  }

  .camp_banner01 {
    width: 80%;
    margin: 0 auto;
  }

  .camp_banner01 a {
    display: block;
    background-color: #ff6600;
    color: #ffffff;
    border-radius: 10px;
    padding: 15px 2em;
    text-align: left;
    text-decoration: none;
    background-image: url("./img/camp_icon01.png");
    background-repeat: no-repeat;
    background-position: right center;
  }

  .camp_banner02 {
    font-size: 1.5em;
    line-height: 1;
    font-weight: bold;
  }

  .camp_banner03 {
    font-size: 4em;
    font-weight: bold;
    line-height: 1;
  }

  .camp_banner03 span {
    font-size: 0.7em;
    font-weight: bold;
    line-height: 1;
  }

  .single .ul_title01 h2 {
    width: 1120px;
    margin: 0 auto;
    color: #fff;
    font-size: 3rem;
  }

  .voice_mv01_movie {
    margin-top: 30px;
  }

  .support_gallery {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .support_gallery img {
    overflow: hidden;
    position: relative;
    width: 49%;
    height: auto;
    margin-bottom: 2%;
  }

  .com_list01_course {
    overflow: hidden;
    position: relative;
    margin-top: 15px;
    white-space: normal;
  }

  .com_list01_hr {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 1px;
    background: #c5c5c5;
    margin-top: 20px;
  }

  .com_list01_key {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 10px 0 0 0;
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--color01);
  }

  .com_list01_value {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    padding: 0 0 10px 0;
    font-size: 1.4rem;
    font-weight: normal;
    border-bottom: solid 1px #c5c5c5;
    box-sizing: border-box;
  }

  .support_contents_title {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 50px;
    background-color: #edf4f0;
    color: var(--color01);
    line-height: 49px;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 0 20px;
    margin-bottom: 30px;
  }

  .support_contents_description {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 50px;
  }

  .support_contents_description p {
    line-height: 1.75;
  }

  .support_contents_description small {
    font-size: 1.3rem;
    line-height: 2;
  }

  .support_description {
    font-size: 1.8rem;
  }

  .com_list01_img {
    /* margin-bottom: 5px; */
    margin-bottom: 20px;
  }

  .com_list01_img img {
    border-radius: 20px;
  }

  .gtranslate_wrapper {
    top: 21.5px !important;
    right: 70px !important;
  }

  a.notranslate span {
    font-size: 14px !important;
  }

  a.notranslate span {
    font-size: 8px !important;
  }

  .gtranslate_wrapper {
    top: 21.5px !important;
    right: 70px !important;
  }

  .conversation h2 {
    font-size: 2rem !important;
  }

  .biz_conversations h2 {
    font-size: 2rem !important;
  }

  .jlpt h2 {
    font-size: 2rem !important;
  }

  .conversation h3 {
    font-size: 1.5rem !important;
    margin-top: 39px !important;
  }

  .biz_conversations h3 {
    font-size: 1.4rem !important;
    margin-top: 39px !important;
  }

  .jlpt h3 {
    font-size: 1.4rem !important;
    margin-top: 39px !important;
  }

  .table_of_item h2 {
    height: 39px !important;
    color: #ffffff !important;
    font-size: 1.4rem !important;
  }

  .table_of_item ul li {
    font-size: 1.4rem !important;
  }
}

@media screen and (max-width: 970px) {
  .table_of_contents {
    width: 100% !important;
    height: auto !important;
    gap: 22px !important;
    flex-direction: column !important;
  }
}

@media screen and (max-width: 539px) {
  .gt_white_content {
    width: 340px !important;
    height: auto !important;
    margin: -180px 0 0 -186px !important;
  }

  .gt_white_content .gt_languages {
    max-height: auto;
  }

  .gtranslate_wrapper {
    top: 21.5px !important;
    right: 55px !important;
  }

  .h02_menu_sns {
    display: flex;
    align-items: center;
    position: absolute;
    top: 22px;
    right: 109px;
  }
}

@media screen and (max-width: 499px) {
  .detail-table tr {
    overflow: hidden !important;
    position: relative !important;
    width: auto !important;
    display: block;
  }

  .detail-table th {
    overflow: hidden !important;
    position: relative !important;
    width: auto !important;
    display: block;
    border-top: none !important;
    border-bottom: none !important;
  }

  .detail-table td {
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
    display: block;
  }

  .header01 h1 img {
    width: auto;
    height: 24px;
    margin-top: 1px;
  }
}

@media screen and (max-width: 399px) {
  .footer_logo img {
    width: auto;
    height: 22px;
  }

  .header01 h1 img {
    width: auto;
    height: 20px;
  }
}