@charset "UTF-8";
@media print, screen and (min-width: 1120px) {
  * {
    border: 0;
    margin: 0;
    outline: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    font: inherit;
    font-family: inherit;
    font-size: 100%;
    font-style: inherit;
    font-weight: inherit;
    text-decoration: none;
    vertical-align: baseline;
  }

  :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 {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    border: 0;
    margin: 0;
    vertical-align: bottom;
  }

  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);
  }

  .clear {
    clear: both;
  }

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

  .pc_none {
    display: none;
  }

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

  #style01 {
    position: relative;
    width: 100%;
  }

  .ul_style {
    padding-top: 134px;
  }

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

	.sp {
		display: none;
	}

  header {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    z-index: 10000;
		box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
  }
  .top_header {
    top: 50px;
  }
  .kaso_header {
    top: 0;
    background: #fff;
  }
  .kaso_header li a {
    color: #333;
  }
  .header01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    width: auto;
    height: auto;
    padding: 0 30px;
    margin: 0 auto;
    border-radius: 34px;
    background: #fff;
    font-size: 1.2rem;
  }

  .header01 h1 img {
    width: 165px;
  }

 .header01.en_header h1 img {
    overflow: hidden;
    position: absolute;
    width: auto;
    height: 45px;
    top: calc(50% + 1px);
    left: 30px;
    transform: translateY(-50%) translateX(0%);
    -webkit- transform: translateY(-50%) translateX(0%);
  }

  .sp_menu_button {
    display: none;
  }

  .header01 nav {
    display: flex;
    align-items: center;
  }

  .h01_menu_list01 {
    display: flex;
    margin-right: 55px;
  }

  .en_header .h01_menu_list01 {
    margin-right: 0;
  }

  .h01_menu_list01 > li {
    position: relative;
    padding: 15px 0;
    font-size: 1.4rem;
    font-weight: 700;
  }

  .h01_menu_list01 > li:not(:last-child) {
    margin-right: 45px;
  }

  .en_header .h01_menu_list01 > li:not(:last-child) {
    margin-right: 20px;
  }

  .h01_list01_item {
    position: relative;
    padding-right: 18px;
    color: #333;
  }
  .h01_list01_item a {
    color: #333;
    text-decoration: none;
  }

  .h01_list01_item:after {
    position: absolute;
    top: 45%;
    right: 2px;
    transform: translateY(-50%) rotateZ(45deg);
    content: "";
    width: 7px;
    height: 7px;
    border-right: 2px #333 solid;
    border-bottom: 2px #333 solid;
  }

  .header01_list02 {
    position: absolute;
    left: 50%;
    top: 80%;
    transform: translateX(-50%);
    padding: 22px 50px 32px 26px;
    border: 1px #707070 solid;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.9);
    transition: 0.3s ease-in-out;
    white-space: nowrap;
    visibility: hidden;
    opacity: 0;
    z-index: 10000;
		text-align: left;
  }

  .h01_menu_list01 > li:hover .header01_list02 {
    top: 100%;
    opacity: 1;
    visibility: visible;
  }

  .header01_list02 li:not(:last-child) {
    margin-bottom: 1em;
  }

  .h01_menu_list01 > li a,
  .header01_list02 a {
    position: relative;
    color: #333;
    text-decoration: none;
  }

  .h01_menu_list01 > li a:after,
  .header01_list02 a:after {
    position: absolute;
    left: 0;
    bottom: -2px;
    content: "";
    width: 0;
    height: 2px;
    background: #333;
    transition: 0.1s ease-in-out;
  }

  .h01_menu_list01 > li a:hover:after,
  .header01_list02 a:hover:after {
    width: 100%;
  }

  .h01_menu01:not(:last-child) {
    margin-right: 10px;
  }

	.h01_menu01 a {
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: auto;
    min-width: 150px;
    padding: 0 15px;
    height: 40px;
    border-radius: 20px;
    color: #fff;
    text-decoration: none;
    line-height: 1;
    font-size: 1.2rem;
  }

  .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-right: 5px;
    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;
    width: auto;
    justify-content: flex-end;
    align-items: center;
    margin: 0 30px;
    font-weight: 700;
  }

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

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

  .h02_menu_list li {
    margin-right: 30px;
    color: #fff;
    font-size: 1.6rem;
  }

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

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

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

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

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

  .h02_menu_sns img {
    width: 25px;
  }

  .top_bnr_area {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    margin-top: -3px;
    padding: 15px 15px 0 15px;
  }

  .top_bnr_area ul {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    margin: 0 auto;
    margin-bottom: 60px;
    gap: 15px;
  }
  .top_bnr_area ul li{
    width: calc(100% / 3 - 15px);
    margin-bottom: 20px;
  }

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

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

  .footer_box {
    max-width: 1440px;
    margin: 0 auto;
  }

  .footer01 {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 1000px;
    margin: 0 auto 50px;
  }

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

  .footer_logo {
    padding-top: 33px;
    justify-content: center;
  }

  .footer_logo li:nth-child(1) {
    margin-right: 44px;
  }

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

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

  .footer_sns li {
    width: 28px;
    margin-left: 15px;
  }

  .footer02 {
    box-sizing: border-box;
    width: 1200px;
    padding: 0 100px 50px;
    border-bottom: 1px rgba(0, 53, 144, 0.3) solid;
    margin: 0 auto;
  }

  .f02_list01 {
    display: flex;
		flex-wrap: wrap;
    font-size: 1.3rem;
  }

  .f02_list01 > li {
    margin-right: 75px;
		margin-bottom: 35px;
  }

  .f02_list01_item01 {
    margin-bottom: 10px;
    font-weight: 700;
  }

  .f02_list01_item01 a {
    color: #000;
    text-decoration: none;
  }

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

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

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

  .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: none;
  }

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

  .f02_list03 {
    margin-top: 10px;
  }

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

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

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

  .footer_copy {
    padding: 22px 0 27px;
    color: #666;
    font-size: 1.3rem;
    font-weight: 500;
    text-align: center;
  }

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

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

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

  .main_img_cacth {
    position: absolute;
    left: 50%;
    bottom: 155px;
    transform: translateX(-50%);
    color: #fff;
    font-size: 5rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
  }

  .index_en .main_img_cacth {
    min-width: 705px;
  }

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

  .main_img_link a {
    position: relative;
    display: block;
    width: 725px;
    height: 120px;
    border-radius: 25px;
    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: 392px;
  }

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

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

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

  .main_img_link span {
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    width: 43px;
    height: 43px;
    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: 5px;
    height: 5px;
    border-right: 2px #fff solid;
    border-bottom: 2px #fff solid;
  }

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

  .index_section01 {
    background: url("../images/is01_bg.png") center top/1484px no-repeat;
    margin-bottom: 125px;
  }

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

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

  .is01_box01_wrap {
    margin-top: 140px;
  }

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

  .is01_box01:not(:last-child) {
    margin-bottom: 100px;
  }

  .is01_box01:nth-child(even) {
    flex-direction: row-reverse;
  }

  .is01_box01_data {
    width: 405px;
  }

  .is01_box01:nth-child(odd) .is01_box01_data {
    padding-left: 190px;
    margin-right: 65px;
  }

  .is01_box01:nth-child(even) .is01_box01_data {
    padding-right: 190px;
    margin-left: 65px;
  }

  .is01_count {
    position: relative;
    padding-left: 110px;
    margin-bottom: 30px;
    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: 100px;
    height: 2px;
    background: var(--color01);
  }

  .is01_title {
    margin-bottom: 30px;
    color: var(--color01);
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: 0.02em;
  }

  .is01_text01 {
    margin-bottom: 60px;
    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: 260px;
    height: 62px;
    border: 1px var(--color01) solid;
    border-radius: 31px;
    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: 12px;
    transform: translateY(-50%);
    width: 43px;
    height: 43px;
    border-radius: 22px;
    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: 5px;
    height: 5px;
    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 rgba(30, 123, 73, 0.38);
  }

  .is01_box01_img {
    position: relative;
    width: 720px;
    border-radius: 30px;
    overflow: hidden;
  }

  .is01_box01_circle {
    display: none;
    position: absolute;
    top: 10px;
    left: 70px;
    width: 171px;
  }

  .is01_box01_img img {
    width: 100%;
  }

  .index_section02 {
    margin-bottom: 90px;
  }

  .is02_box {
    width: 1200px;
    margin: 50px auto 0;
  }

  .is02_box_img01 {
    border-radius: 25px;
    overflow: hidden;
  }

  .is02_box_img01 img {
    width: 100%;
  }

  .is02_box01 {
    display: flex;
    flex-wrap: wrap;
    width: 970px;
    border-radius: 30px 30px 0 0;
    margin: -30px auto 0;
    overflow: hidden;
  }

  .is02_list01 {
    display: flex;
    width: 100%;
    margin-bottom: 30px;
  }

  .is02_list01 li {
    width: calc(100% / 2);
    height: 65px;
    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: 1.6rem;
    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: 1.4rem;
    font-weight: 400;
  }

  .is02_list02 {
  }

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

  .is02_box01_program.show {
    display: flex;
  }

  .is02_box_img02 {
    width: 320px;
    border-radius: 24px;
    margin-right: 27px;
    overflow: hidden;
    flex-shrink: 0;
  }

  .is02_box_img02 img {
    width: 100%;
  }

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

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

  .is02_day {
    margin-bottom: 10px;
    color: var(--color01);
    font-size: 1.3rem;
    font-weight: 700;
  }

  .is02_text {
    margin-bottom: 18px;
    font-size: 1.6rem;
    font-weight: 500;
  }

  .is02_attr {
    display: flex;
    align-items: center;
    margin-bottom: 33px;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
  }

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

  .is02_attr li {
    padding: 1px 7px 5px;
    border: 1px var(--color01) solid;
    border-radius: 10px;
    margin-right: 5px;
    color: var(--color01);
  }

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

  .index_section03 {
    background: url("../images/is03_bg.png") center top/1784.5px no-repeat;
    padding-bottom: 145px;
  }

  .is03_box {
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    width: 1000px;
    padding: 0 15px;
    margin: 60px auto 0;
  }

  .is03_list01 {
    width: 455px;
  }

  .is03_list01 li {
    position: relative;
    width: 435px;
    height: 130px;
    border-radius: 25px;
    overflow: hidden;
    cursor: pointer;
    transition: 0.3s ease-in-out;
  }

  .is03_list01 li:not(:last-child) {
    margin-bottom: 20px;
  }

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

  .is03_list01 li img {
    width: 100%;
  }

  .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 40px;
    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: 1.3rem;
  }

  .is03_title02 {
    font-size: 3rem;
  }

  .is03_list01_box span {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 43px;
    height: 43px;
    border-radius: 22px;
    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;
    width: 485px;
    padding: 0 25px 0 30px;
    border-radius: 34px;
    box-shadow: 0 0 30px rgba(45, 146, 91, 0.38);
  }

  .is03_list02_tri {
    position: absolute;
    top: -11px;
    right: 4px;
    width: 89px;
  }

  .is03_list02_tri img {
    width: 100%;
  }

  .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: 35px;
    font-size: 1.8rem;
    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: 205px;
    border-radius: 24px;
    overflow: hidden;
  }

  .is03_img li:not(:last-child) {
    margin-right: 20px;
  }

  .is03_img li img {
    width: 100%;
  }

  .is03_img_single {
  }

  .is03_img_single li {
    width: 430px;
    border-radius: 24px;
    overflow: hidden;
  }

  .is03_img_single li img {
    width: 100%;
  }

  .index_section04 {
    padding: 45px 0 50px;
    background: rgba(45, 146, 91, 0.1);
  }

  .news_list {
    width: 590px;
    margin: 0 auto;
  }

  .index_section04 .news_list {
    margin-top: 75px;
    margin-bottom: 30px;
  }

  .news_list li:not(:last-child) {
    margin-bottom: 20px;
  }

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

  .news_list01 {
    display: flex;
    align-items: center;
    margin-bottom: 6px;
  }

  .news_list_date {
    margin-right: 10px;
    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;
  }

  .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;
    justify-content: center;
    align-items: center;
    width: 1200px;
    margin: 0 auto;
  }

  .index_banner li {
    width: 220px;
    margin: 10px calc(100px / 4) 10px 0;
    text-align: center;
  }

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

  .index_banner li a {
    display: inline-block;
    background: #fff;
  }

  .index_banner li img {
    max-width: 100%;
  }

  .index_section05 {
    padding: 45px 0 65px;
    background: var(--color01);
    color: #fff;
  }

  .index_section05 .is_subtitle01 {
    margin-bottom: 10px;
    color: #fff;
  }

  .is05_link01 {
    margin: 60px 0;
  }

  .is05_link01.is_link_design a {
    width: 570px;
    margin: 0 auto;
    border-color: #fff;
  }

  .is05_box {
    display: flex;
    justify-content: space-between;
    width: 1000px;
    margin: 0 auto;
  }

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

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

  .is05_phone img {
    width: 100%;
  }

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

  .is05_map {
    margin-bottom: 30px;
  }

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

  .is05_link02.is_link_design a {
    box-sizing: border-box;
    width: 350px;
    padding: 0 60px;
    border-color: #fff;
  }

  .is05_box_r dl {
    margin-bottom: 40px;
  }

  .is05_box_r dt {
    margin-bottom: 5px;
    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: 14px 15px;
    border: none;
    border-radius: 5px;
    background: #fff;
    font-size: 1.4rem;
  }

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

  .is05_box_r dd .error {
    margin-top: 4px;
  }

  .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 {
    text-align: center;
  }
  .g-recaptcha {
    margin: 0 0 50px 0;
  }
  .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;
    font-size: 14px;
  }
  .is05_form_button button {
    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;
  }

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

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

	.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: 20px 0;
    background: var(--color01);
  }

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

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

  .ul_wrap {
    padding: 80px 0 120px;
  }

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

  .comments_text01 {
    width: 1120px;
    margin: 0 auto 40px;
    font-size: 2.4rem;
    font-weight: bold;
  }

  .com_list01 {
    width: 1120px;
    margin: 0 auto;
  }

  .com_list01 > li {
    display: flex;
    padding: 30px;
    border-radius: 34px;
    box-shadow: 0 0 30px rgba(45, 146, 91, 0.38);
    font-size: 1.6rem;
  }

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

  .com_list01_prof {
    width: 140px;
    margin-right: 20px;
    flex-shrink: 0;
  }

  .com_list01_prof_support {
    width: 245px;
    margin-right: 50px;
    flex-shrink: 0; 
  }

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

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

  .com_list01_name {
    font-weight: bold;
  }

  .com_list01_country {
    margin-bottom: 5px;
    font-size: 1.4rem;
  }

  .com_list01_course span {
    display: inline-block;
    padding: 6px 10px 7px;
    color: #fff;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    width: auto;
    font-size: 14px;
    text-align: center;
  }

  .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 {
    width: 100%;
    line-height: 1.8;
  }

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

  .com_list01_morelink span {
    display: inline-block;
    padding: 5px 20px 8px;
    border-radius: 20px;
    color: #fff;
    line-height: 1;
    background: var(--color01);
    cursor: pointer;
  }

  .com_list01_faq + .com_list01_morelink {
    margin-top: 20px;
  }

  .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: 10px;
  }

  .com_list01_faq {
    padding: 10px 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: 25px;
    height: 25px;
    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: 10px 0 0 2em;
  }

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

  .map_section01 {
    margin-bottom: 80px;
  }

  .map_section_box {
    width: 950px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

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

  .map_text {
    margin-bottom: 5px;
  }

  .map_img {
    display: flex;
    margin-top: 30px;
  }

  .map_section01 .map_img {
    justify-content: center;
  }

  .map_section02 .map_img {
    justify-content: space-between;
  }

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

  .base_tb {
    width: 800px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .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 {
    width: 1120px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .message_text {
    margin-bottom: 60px;
  }

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

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

  .message_prof_box {
    display: flex;
    padding: 30px;
    border-radius: 34px;
    background: #fff;
    box-shadow: 0 0 30px rgba(45, 146, 91, 0.38);
  }

  .message_prof {
    margin-right: 20px;
  }

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

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

  .iec_section_box {
    width: 1120px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .iec_text01 {
    margin-bottom: 50px;
  }

  .iec_flex {
    display: flex;
    margin-bottom: 40px;
  }

  .iec_flex_l {
    margin-right: 30px;
  }

  .iec_flex_l h3 {
    margin-bottom: 10px;
  }

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

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

  .iec_flex_r {
    width: 330px;
    flex-shrink: 0;
  }

  .iec_flex_r.logo {
    text-align: center;
  }

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

  .iec_flex_r.logo img {
    width: 200px;
  }

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

  .iec_text02:not(:last-child) {
    margin-bottom: 30px;
  }

  .iec_text03 {
    margin-bottom: 30px;
  }

  .iec_banner {
    margin-top: -20px;
  }

  .iec_banner img {
    width: 340px;
  }

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

  .reg_section01,
  .reg_section02,
  .reg_section03 {
    margin-bottom: 50px;
  }

  .reg_section_box {
    width: 1120px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .reg_text01 {
    margin-bottom: 40px;
  }

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

  .reg_section01_flex:not(:last-child) {
    margin-bottom: 30px;
  }

  .reg_section01_flex > div {
    width: 520px;
  }

  .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);
  }

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

  .reg_tb td.point {
    background: var(--color01B);
  }

  .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: 20px;
  }

  .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;
    transition: 0.3s ease-in-out;
  }

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

  .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 {
    display: flex;
    margin-bottom: 20px;
  }

  .gakki_img div {
    width: 50%;
  }

  .gakki_img img {
    width: 100%;
  }

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

  .reg_section03_table {
    margin-bottom: 40px;
  }

  .pro_title {
    margin-bottom: 10px;
  }

  .reg_section03_link {
    display: flex;
    justify-content: space-between;
    padding: 0 50px;
  }

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

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

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

  .reg_section04_flex {
    display: flex;
    margin-bottom: 30px;
  }

  .reg_section04_img {
    width: 35%;
    margin-right: 30px;
    flex-shrink: 0;
  }

  .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: 20px;
  }

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

  .reg_section04_flex02 > ul {
    box-sizing: border-box;
    width: 48%;
  }

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

  .reg_point {
    margin-bottom: 30px;
    color: #d91d33;
    font-size: 2rem;
  }

  .reg_check {
    display: flex;
    margin-bottom: 30px;
  }

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

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

  .reg_navi {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .reg_navi li {
    width: max-content;
    min-width: 200px;
  }

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

  .reg_navi li:last-child {
    min-width: 170px;
  }
  .reg_navi li:last-child a {
    margin-right: 0;
  }

  .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 {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .reg_navi02 li {
    padding: 0 10px;
  }

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

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

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

  .reg_app1_flex {
    display: flex;
    margin-bottom: 40px;
  }

  .reg_app1_img {
    margin-right: 30px;
    width: 100%;
    max-width: 550px;
    min-width: 550px;
  }

  .reg_app1_data h3 {
    margin-bottom: 5px;
    font-weight: 700;
  }

  .reg_app1_box01 {
    padding: 20px;
    margin-bottom: 20px;
    background: var(--color01B);
  }

  .reg_app1_flex_text {
    margin-bottom: 10px;
  }

  .reg_app1_text01 {
    margin-bottom: 20px;
  }

  .reg_app1_data .color {
    color: #d91d33;
  }

  .reg_app1_ol {
    padding-left: 1.5em;
    margin-bottom: 30px;
  }

  .reg_app1_flex02 {
    display: flex;
    flex-wrap: wrap;
    padding: 30px;
    background: var(--color01B);
  }

  .reg_app1_flex02:not(:last-child) {
    margin-bottom: 50px;
  }

  .reg_app1_flex02_text {
    width: 100%;
    margin-bottom: 30px;
    font-size: 2.4rem;
    font-weight: bold;
  }

  .reg_app1_flex02_l {
    width: 350px;
    margin-right: 30px;
    flex-shrink: 0;
  }

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

  .reg_app1_text02 {
    margin-bottom: 10px;
  }

  .reg_app1_flex02_dl {
    box-sizing: border-box;
    width: 170px;
    padding: 20px 10px;
    margin-bottom: 10px;
    background: #fff;
  }

  .reg_app1_flex02_dl:nth-of-type(odd) {
    float: left;
  }

  .reg_app1_flex02_dl:nth-of-type(even) {
    float: right;
  }

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

  .dl_shoshiki {
    margin-bottom: 10px;
    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: 10px;
  }

  .reg_app1_flex02_dl .dl_list li a {
    padding: 5px 15px;
    font-size: 1.4rem;
  }

  .reg_app1_flex02_r {
    /*display: flex;
	width: calc(100% - 380px);*/
  }

  .document_dl {
    width: 100%;
  }

  .document_dl:not(:last-child) {
    margin-right: 20px;
  }

  .document_dl dt {
    margin-bottom: 10px;
  }

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

  .document_dd01 {
    margin-bottom: 20px;
  }

  .document_dd02 {
    margin-bottom: 20px;
    font-size: 1.4rem;
  }

  .document_dd02 h4 {
    margin-bottom: 5px;
    font-weight: 700;
  }

  .reg_app1_contact {
    padding: 30px;
    margin-bottom: 30px;
    background: var(--color01B);
  }

  .reg_app1_contact_text {
    margin-bottom: 20px;
    font-size: 1.8rem;
  }

  .reg_back {
    width: 1120px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .app02_text01 {
    margin-bottom: 30px;
  }

  .app02_text02 {
    margin-bottom: 20px;
  }

  .app02_text03 {
    margin-bottom: 30px;
    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 {
    display: flex;
    justify-content: space-between;
  }

  .part_flex01_l {
    width: 370px;
  }

  .part_level_list li {
    display: flex;
  }

  .part_level_list li:not(:last-child) {
    margin-bottom: 5px;
  }

  .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;
    width: 700px;
    padding: 30px;
    border-radius: 34px;
    box-shadow: 0 0 30px rgba(153, 102, 0, 0.38);
  }

  .part_level_text {
    margin-bottom: 20px;
  }

  .part_diffi {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 100px;
    margin-left: 20px;
    flex-shrink: 0;
  }

  .part_diffi01 {
    box-sizing: border-box;
    width: 100%;
    padding: 1px 2px 3px;
    border-radius: 30px;
    background: var(--color02);
    color: #fff;
    font-weight: bold;
    text-align: center;
  }

  .part_diffi02 {
    position: relative;
    height: 50%;
    width: 4px;
    background: var(--color02);
  }

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

  .part_diffi02:before {
    bottom: 100%;
    border-bottom: 8px var(--color02) solid;
  }

  .part_diffi02:after {
    top: 100%;
    border-top: 8px var(--color02) solid;
  }

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

  .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: 30px;
  }

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

  .pri_dl01 dt {
    width: 100px;
    padding: 10px;
    border: 1px #000 solid;
    border-radius: 30px 0 0 30px;
    background: var(--color02);
    color: #fff;
    font-weight: bold;
    text-align: center;
    flex-shrink: 0;
  }

  .pri_dl01 dd {
    width: 100%;
    padding: 10px 20px;
    border: 1px #aaa solid;
    border-radius: 0 30px 30px 0;
  }

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

  .pri_flex {
    display: flex;
    padding: 30px;
    background: #d1e0ff;
  }

  .pri_flex_l {
    padding: 20px 20px;
    background: #fff;
  }

  .pri_flex_l h3 {
    margin-bottom: 20px;
    text-align: center;
  }

  .dl_list li:not(:last-child) {
    margin-bottom: 20px;
  }

  .dl_list li a {
    display: flex;
    padding: 5px 20px;
    border-radius: 20px;
    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: 10px;
  }

  .pri_flex_r {
    margin-left: 100px;
  }

  .pri_flex_text {
    margin-bottom: 30px;
  }

  .pri_contact {
    display: flex;
  }

  .pri_tel {
    padding-left: 34px;
    background: url("../images/program/pri_phone_icon.png") left 5px/28px no-repeat;
    font-size: 2.4rem;
    font-weight: bold;
  }

  .pri_contact .pri_tel {
    margin-right: 30px;
  }

  .pri_contact01 {
    padding-left: 34px;
    background: url("../images/program/pri_mail_icon.png") left 5px/28px no-repeat;
    font-size: 2.4rem;
    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 {
    width: 1120px;
    margin: 0 auto;
  }

  .pdl_section_text01 {
    margin-bottom: 30px;
    font-size: 1.8rem;
  }

  .pdl_section_flex01 {
    display: flex;
    margin-bottom: 50px;
  }

  .pdl_section_text02 {
    margin-right: 30px;
  }

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

  .pdl_section_box01:not(:last-child) {
    margin-bottom: 50px;
  }

  .pdl_section_flex02 {
    display: flex;
  }

  .pdl_section_img02 {
    margin-right: 40px;
  }

  .pdl_section_button {
    display: flex;
    margin-bottom: 30px;
  }

  .pdl_section_button li:not(:last-child) {
    margin-right: 20px;
  }

  .pdl_section_button li a {
    display: inline-block;
    width: 250px;
    padding: 5px;
    border: 1px var(--color01) solid;
    border-radius: 30px;
    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: 70px;
  }

  .corp_section_box {
    width: 1120px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .corp_text01 {
    margin-bottom: 50px;
  }

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

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

  .corp_achievement_box {
    padding: 25px 0;
  }

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

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

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

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

  .corp_achievement_list01:not(:last-child) {
    margin-bottom: 40px;
  }

  .corp_achievement_list01 li {
    width: 200px;
    margin: 0 30px 30px 0;
    text-align: center;
  }

  .corp_achievement_list01 li:nth-child(5n) {
    margin-right: 0;
  }

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

  .corp_achievement_logo {
  }

  .corp_achievement_logo img {
    width: 100%;
  }

  .corp_achievement_list02 li {
    position: relative;
    box-sizing: border-box;
    width: 350px;
    padding-left: 1.1em;
    margin: 0 35px 20px 0;
  }

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

  .corp_achievement_list02 li:nth-child(3n) {
    margin-right: 0;
  }

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

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

  .corp_case_box {
    width: 550px;
    border: 2px var(--color01) solid;
    border-radius: 34px;
    margin-bottom: 30px;
    overflow: hidden;
  }

  .corp_case_box h3 {
    box-sizing: border-box;
    width: 100%;
    padding: 5px 30px;
    background: var(--color01);
    color: #fff;
    font-size: 2rem;
  }

  .corp_case_box01 {
    padding: 20px 25px;
  }

  .corp_case_box01 dl {
    display: flex;
    flex-wrap: wrap;
  }

  .corp_case_box01 dt {
    box-sizing: border-box;
    width: 15%;
    padding: 10px 20px;
    background: var(--color01B);
  }

  .corp_case_box01 dd {
    box-sizing: border-box;
    width: 35%;
    padding: 10px 20px;
  }

  .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: 10px;
  }

  .corp_case_img {
    margin-top: 30px;
    text-align: center;
  }

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

  /*
.corp_flex01{
	display: flex;
	justify-content: space-between;
}

.corp_flex01 > div{
	width: 550px;
}

.corp_text02{
	margin-bottom: 30px;
}

.corp_dl{
	padding: 20px 0;
	border-top: 1px #ccc solid;

}

.corp_dl dt{
	display: flex;
	margin-bottom: 10px;
}

.corp_dl dt h3{
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	height: 40px;
	padding: 5px 35px 5px 10px;
	background: var(--color01);
	color: #fff;
}

.corp_dl dt h3:after{
	position: absolute;
	top :0;
	right: 0;
	content: "";
	border-top: 20px transparent solid;
	border-bottom: 20px transparent solid;
	border-right: 20px #fff solid;
}

.corp_list01{
	padding-left: 1.5em;
	margin-bottom: 30px;
	list-style-type: disc;
}



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

.corp_img01 img{
	height: 84px;
}



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

.corp_flex02 > ul:not(:last-child){
	margin-right: 20px;
}
*/

  .corp_contact {
    padding: 30px;
    background: var(--color01B);
  }

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

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

  .faq_section01 {
    margin-bottom: 70px;
  }

  .faq_section_box {
    width: 1120px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .faq_section_box .reg_navi {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .faq_section_box .reg_navi li {
    width: 270px;
    margin: 0 13px 13px 0;
  }

  .faq_section_box .reg_navi li:nth-child(4n) {
    margin-right: 0;
  }

  .faq_section02 .faq_section_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .faq_dl_box {
    width: 550px;
    margin-bottom: 50px;
  }

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

  .faq_dl {
  }

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

  .faq_dl dt:before {
    position: absolute;
    left: 5px;
    content: "Q";
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    padding-top: 2px;
    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: 20px;
  }

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

  .faq_dl .reg_link_button01:not(:last-child) {
    margin-bottom: 10px;
  }

  .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: 70px;
  }

  .trial_section_box {
    width: 1120px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .trial_list {
    padding-left: 1.5em;
  }

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

  .news_section_box {
    display: flex;
    justify-content: space-between;
    width: 1120px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .news_main {
    width: 100%;
  }

  .news_main .news_list {
    width: auto;
    margin: 0;
    font-size: 1.6rem;
  }

  .news_main .news_list_date {
    font-size: 1.2rem;
  }

  .news_main .news_list_cate {
    display: block;
    width: auto;
    min-width: 90px;
    font-size: 1.3rem;
    padding: 5px 8px 7px 8px !important;
  }

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

  .news_main .news_list02 {
    font-size: 1.6rem;
  }

  .pager {
    display: flex;
    justify-content: center;
    margin-top: 50px;
  }

  .pager li:not(:last-child) {
    margin-right: 10px;
  }

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

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

  .news_side {
    width: 200px;
    margin-left: 50px;
  }

  .news_side_box {
    border: 2px var(--color01) solid;
    border-radius: 30px;
    overflow: hidden;
  }

  .news_side_box:not(:last-child) {
    margin-bottom: 30px;
  }

  .news_side_box h3 {
    padding: 5px 10px;
    background: var(--color01);
    color: #fff;
  }

  .news_side_list {
    padding: 5px 10px 10px;
  }

  .news_side_list li {
    padding: 5px;
  }

  .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: 10px;
  }

  .news_detail_date {
    color: #999;
    margin-right: 10px;
  }

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

  .news_en .news_detail_cate {
    width: 200px;
  }

  .news_detail_title {
    padding-bottom: 18px;
    border-bottom: 2px var(--color01) solid;
    margin-bottom: 36px;
    color: var(--color01);
    font-size: 2.4rem;
    font-weight: 700;
  }

  .news_datail_subject {
    padding-bottom: 30px;
    border-bottom: 1px #aaa dotted;
  }
  .news_datail_subject img {
    max-width: 100%;
    height: auto;
    margin: 20px 0 !important;
  }

  .news_datail_subject a {
  }

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

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

  .about_section_box {
    width: 1120px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .about_section_text01 {
    margin-bottom: 50px;
  }

  .about_section_text02 {
    margin-bottom: 20px;
  }

  .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 {
    width: 1120px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .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: 50px;
  }

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

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

  .rec_dl dd {
    box-sizing: border-box;
    width: 90%;
    padding: 10px 0;
    margin-left: 10%;
    border-top: 1px #ccc solid;
  }

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

  .rec_flex01 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
  }

  .rec_flex01 > div {
    width: 550px;
  }

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

  .rec_flex01 ul,
  .rec_text02 {
    margin-bottom: 20px;
  }

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

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

  .contact_section_box {
    width: 1120px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .contact_box01 {
    margin-bottom: 50px;
  }

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

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

  .contact_box01 dl {
    display: flex;
    flex-wrap: wrap;
  }

  .pdt1 {
    padding-top: 15px;
  }

  .contact_box01 dt {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 300px;
    padding: 20px 10px;
    margin-bottom: 10px;
    background: var(--color01B);
  }

  .contact_box01 ruby {
  }

  .contact_box01 rt {
  }

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

  .contact_box01 dt .mand2 {
    margin-left: 10px;
  }

  .contact_box01 dd {
    display: flex;
    box-sizing: border-box;
    width: calc(100% - 300px);
    padding: 20px 10px;
    margin-bottom: 10px;
  }

  .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: 20px;
  }

  .contact_box01 dd .radio_label {
    display: flex;
    align-items: center;
  }

  .contact_box01 dd .radio_label.no_flex,
  .contact_box01 dd.dd_fw .radio_label,
  .contact_box01 dd .con_cor_list01 .radio_label {
    display: block;
  }

  .contact_box01 dd .radio_label input {
    margin-right: 10px;
  }

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

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

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

  .contact_text01 {
    margin-bottom: 10px;
  }

  .dd_fw {
    flex-wrap: wrap;
    align-items: baseline;
  }

  .input_width01 {
    box-sizing: border-box;
    width: calc(100% / 3);
    padding: 0 20px 0 0;
  }

  .input_width02 {
    box-sizing: border-box;
    width: 50%;
    padding: 0 20px 0 0;
  }

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

  .input_group select {
    width: 100%;
  }

  .input_group span {
    /*
    padding: 10px;
    border-left: none;
    white-space: nowrap;
    */
  }

  .con_cor_list01 {
    width: 100%;
  }

  .con_cor_list01 > li {
    padding: 10px;
  }

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

  .con_cor_list02 {
    padding-left: 30px;
  }

  .wid100 {
    width: 100%;
  }

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

  .radio_label + .con_flex {
    margin-top: 10px;
  }

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

  .contact_button button,
  .contact_button a {
    width: 200px;
    padding: 5px 10px;
    border: 1px var(--color01) solid;
    border-radius: 50px;
    margin: 0 20px;
    background: var(--color01);
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    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: 20px;
    margin-top: 60px;
    border: 1px var(--color01) solid;
  }

  .contact_policy h3 {
    margin-bottom: 10px;
  }

  .contact_policy_flex {
    display: flex;
  }

  .con_po_flex_l {
    margin-right: 20px;
  }

  .contact_policy_text {
    margin-bottom: 30px;
  }

  .contact_done_text {
    margin-bottom: 80px;
  }

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

  .reason_section01,
  .reason_section02,
  .reason_section03,
  .reason_section04 {
    margin-bottom: 70px;
  }

  .reason_section_box {
    width: 1120px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .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: 50px;
  }

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

  .reason_list01:not(:last-child) {
    margin-bottom: 30px;
  }

  .reason_img01 {
    text-align: center;
  }

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

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

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

  .reason_img02_width01 img {
    width: 300px;
  }

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

  .overview_wrap {
    padding-bottom: 0;
  }

  .overview_wrap section {
    padding: 60px 0;
  }

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

  .overview_box01 {
    width: 1120px;
    margin: 0 auto 40px;
  }

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

  .ul_title03 span {
    position: relative;
    display: inline-block;
    padding: 0 60px;
  }

  .ul_title03 span:before,
  .ul_title03 span:after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    width: 50px;
    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: 70px;
  }

  .program_section_box {
    overflow: hidden;
    position: relative;
    width: 1120px;
    margin: 0 auto;
    font-size: 1.6rem;
  }

  .program_list01 {
  }

  .program_list01 li:not(:last-child) {
    margin-bottom: 40px;
  }

  .program_list01 li h3 {
    padding: 5px 10px;
    margin-bottom: 5px;
    color: #fff;
    font-size: 2rem;
  }

  .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: 20px;
    font-size: 1.8rem;
  }

  .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: 40px;
  }

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

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

  .program_text01 + .pro_tb {
    margin-bottom: 40px;
  }

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

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

  .program_section_box {
    padding: 55px 0 110px 0;
  }

  .program_h3 {
    margin-bottom: 10px;
  }

  .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: 40px;
  }

  .program_text02 {
    margin-bottom: 20px;
  }

  .program_dl01 {
    margin-bottom: 40px;
  }

  .program_dl01 dt {
    font-weight: bold;
    margin-bottom: 5px;
  }

  .program_dl01 dd {
    margin-bottom: 10px;
  }

  .program_img01 {
    padding: 0 60px;
    margin-bottom: 40px;
  }

  .program_img01 img {
    width: 100%;
  }

  .program_dl02 {
  }

  .program_dl02 dt {
    display: flex;
    padding: 5px 10px;
    margin-bottom: 10px;
    color: #fff;
    font-size: 1.8rem;
    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: 20px;
    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: 40px;
  }

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

  .program_dl02 dd h4 {
    margin-bottom: 5px;
  }

  .program_dl02_flex {
    display: flex;
  }

  .program_dl02_list02 {
    margin-right: 20px;
    flex-shrink: 0;
  }

  .program_dl02_list02 li:not(:last-child) {
    margin-bottom: 5px;
  }

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

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

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

  .program_dl02_list03 {
    display: flex;
    flex-wrap: wrap;
  }

  .program_dl02_list03 li:not(:last-child) {
    margin-right: 10px;
  }

  .program_dl02_list03 li img {
    width: 150px;
  }

  .program_dl02_list03 .program_dl02_comment {
    width: 100%;
  }

  .program_text03 {
    margin-top: 20px;
  }

  .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: 50px;
  }

  .program_section_reg .reg_section_box:not(:last-child) {
    margin-bottom: 40px;
  }

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

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

  .program_part_pdf {
    margin-top: 20px;
  }

  .program_part_pdf > li {
    margin-bottom: 1.4em;
    width: 45%;
    float: left;
  }

  .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;
    margin: 0 0 10px 0;
  }

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

  .program_part_cam {
    margin: 10px 0;
  }

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

  .program_part_cam02 {
    margin-top: 1em;
  }

  .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: 560px;
    height: 315px;
  }
  .voice_mv01 iframe {
    width: 560px;
    height: 315px;
  }

  .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: 70px;
    background-color: #edf4f0;
    color: var(--color01);
    line-height: 68px;
    font-size: 2.4rem;
    font-weight: bold;
    padding: 0 30px;
    margin-bottom: 50px;
  }

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

  .support_contents_description p {
    line-height: 1.75;
  }

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

  .support_description {
    font-size: 2.0rem;
  }

  .banner202310 {
    width: 725px;
    margin: 0 auto 50px auto;
  }

  .header_gengo01 {
    width: 1120px;
    margin: 0 auto;
    height: 20px;
  }
  .header_gengo02 {
    width: 200px;
    position: relative;
    top: -30px;
    left: 950px;
  }
  .header_gengo02 select {
    font-size: 16px;
    padding: 5px;
  }
  .header_gengo_kaso01 {
    width: 1120px;
    margin: 0 auto;
    height: 20px;
  }
  .header_gengo_kaso02 {
    width: 210px;
    position: relative;
    top: 5px;
    left: 950px;
  }
  .header_gengo_kaso02 select {
    font-size: 16px;
    padding: 2px 5px;
    border: 1px #000 solid;
  }
  .header_gengo03 {
    width: 200px;
    position: relative;
    top: -30px;
    left: 950px;
  }
  .header_gengo03 select {
    background: #fff;
    border-radius: 20px;
    position: relative;
    z-index: 1;
    font-size: 16px;
    padding: 10px;
    appearance: none;
  }
  .header_gengo03 option {
    background: #000;
    color: #fff;
    padding: 5px 0;
    line-height: 2;
  }
  .header_gengo03 option:hover {
    background: #000;
  }
  .top_main_image01 {
    position: absolute;
    bottom: -20px;
    width: 100%;
  }
  .top_main_image02 {
    width: 724px;
    margin: 0 auto;
  }

  .top_main_image02 a:hover {
    opacity: 1;
  }
  .camp_banner01 {
    width: 724px;
    height: 120px;
    margin: 0 auto;
    font-family: "Noto Sans JP", sans-serif;
  }
  .camp_banner01 a {
    display: block;
    background-color: #ff6600;
    color: #ffffff;
    border-radius: 10px;
    padding: 15px 0;
    text-align: center;
    text-decoration: none;
    background-image: url("../images/camp_icon01.png");
    background-repeat: no-repeat;
    background-position: right center;
  }
  .camp_banner02 {
    font-size: 22px;
    line-height: 1;
    font-weight: bold;
  }
  .camp_banner03 {
    font-size: 80px;
    font-weight: bold;
    line-height: 1;
  }
  .camp_banner03 span {
    font-size: 50px;
    font-weight: bold;
    line-height: 1;
  }
  .table_link_text01 {
    text-align: right;
    margin: 0 0 30px 0;
  }
  .table_link_text01 a {
    color: var(--color01);
  }
  .heading,
  .heading a {
    color: var(--color01) !important;
  }
  .gt_white_content {
    width: 480px;
    height: auto !important;
    margin: -180px 0 0 -258px;
  }
}
