@charset "utf-8";

@media print, screen and (min-width: 768px) {
  body {
    min-width: 1000px;
  }
  .pcnone {
    display: none;
  }
  .flex {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .flex--alignCenter {
    align-items: center;
  }
  .flex::after {
    display: table;
    clear: both;
    content: "";
  }
  .fl {
    font-size: 1.8rem !important;
    line-height: 1.6 !important;
  }
  .fm {
    font-size: 1.6rem !important;
    line-height: 1.6 !important;
  }
  .fm2 {
    font-size: 1.5rem !important;
    line-height: 1.9 !important;
  }
  .fs {
    font-size: 1.2rem !important;
    line-height: 1.3 !important;
    font-weight: normal;
  }
  .indent2     {
    margin-left: 1.7rem;
    text-indent: -1.95rem;
  }
  .bgWhite {
    background-color: #fff;
  }
  .bgYellow {
    background-color: #ffffcf;
  }
  .bgGreen {
    background-color: #F5FFEB;
  }
  .bgPink {
    background-color: #FFEDEF;
  }

/* header base
---------------------------------------------*/
  #header {
    width: 100%;
    height: 580px;
    padding: 3rem;
  }
  #nav-bar {
    width: 900px;
    margin: 0 auto;
    border-radius: 100vh;
    background: rgba(253, 253, 253, 0.9);
  }
  #nav-bar::after {
    display: table;
    clear: both;
    content: '';
  }
  #logo {
    width: 310px;
    padding: 15px 15px 13px;
    float: left;
  }
  #h-hometitle h1 {
    width: 900px;
    height: 120px;
    text-align: center;
    margin: 270px auto 0;
  }
  #h-pagetitle h1 {
    width: 900px;
    height: 40px;
    text-align: left;
    margin: 17px auto 0;
  }
  #h-pagetitle02 {
    width: 900px;
    text-align: right;
    margin: 17px auto 0;
    font-size: 1.2rem;
    color: #fff;
  }
  #h-pagetitle02 h1 {
    width: 400px;
    height: 40px;
  }
  #h-pagetitle02::after {
    display: table;
    clear: both;
    content: "";
  }
  .h-home {
    background: url(../img/index/topimage.jpg) center/cover no-repeat;
  }
  .h-home h1 {
    background: url(../img/index/h-title.png) center top no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
  }
  .h-significance {
    background: url(../img/significance/top_significance.jpg) center/cover no-repeat;
  }
  .h-significance h1 {
    background: url(../img/significance/title-significance.png) left top no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
  }
  .h-type {
    background: url(../img/type/top_type.jpg) center/cover no-repeat;
  }
  .h-type h1 {
    background: url(../img/type/title-program.png) left top no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
  }
  .h-country {
    background: url(../img/country/top_country.jpg) 50% top no-repeat;
  }
  .h-country h1 {
    background: url(../img/country/title-country.png) left top no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
  }
  .h-case {
    background: url(../img/case/top_case.jpg) center/cover no-repeat;
  }
  .h-case h1 {
    background: url(../img/case/title-case.png) left top no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
  }
  .h-download {
    background: url(../img/download/top_download.jpg) center/cover no-repeat;
  }
  .h-download h1 {
    background: url(../img/download/title-download.png) left top no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
  }
  .h-link {
    background: url(../img/link/top_link.jpg) center/cover no-repeat;
  }
  .h-link h1 {
    background: url(../img/link/title-link.png) left top no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
  }
  .h-sitepolicy {
    background: url(../img/top_sitepolicy.jpg) center/cover no-repeat;
  }
  .h-sitepolicy h1 {
    background: url(../img/title-sitepolicy.png) left top no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
  }

  /* navigation base
---------------------------------------------*/
  #navigation {
    width: 580px;
    float: right;
    padding: 15px;
  }
  #navigation nav {
    text-align: center;
  }
  #navigation nav ul {
    list-style: none;
    display: flex;
    justify-content: center;
  }
  #navigation nav ul ul {
    display: block;
  }
  #navigation nav ul li {
    position: relative;
  }
  #navigation nav ul li a {
    display: block;
    text-decoration: none;
    color: #231815;
    padding: 20px 35px;
    transition: all .3s;
    font-size: 1.5rem;
    font-weight: bold;
  }
  #navigation nav ul li a:hover {
    color: #2794ff;
  }
  #navigation nav li.has-child ul {
    position: absolute;
    left: -70px;
    top: 52px;
    z-index: 4;
    background: rgba(0, 153, 204, 0.9);
    width: 260px;
    border-radius: 10px;
    padding: 10px 0;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
  }
  #navigation nav li.has-child ul::after {
    bottom: 100%;
    left: 50%;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-bottom-color: rgba(0, 153, 204, 0.9);
    border-width: 10px;
    margin-left: -10px;
  }
  #navigation nav li.has-child:hover>ul,
  #navigation nav li.has-child ul li:hover>ul,
  #navigation nav li.has-child:active>ul,
  #navigation nav li.has-child ul li:active>ul {
    visibility: visible;
    opacity: 1;
  }
  #navigation nav li.has-child ul li a {
    color: #fff;
    font-size: 1.4rem;
    font-weight: normal;
    display: block;
    text-align: left;
    padding: 5px 20px;
  }
  #navigation nav li.has-child ul li a:hover {
    text-decoration: underline;
  }
  #navigation nav li.has-child ul li a::before {
    content: url(../img/arrow.png);
    position: relative;
    bottom: -0.16em;
    margin-right: 0.3em;
  }
  #navigation::after {
    display: table;
    clear: both;
    content: '';
  }

  /* home
---------------------------------------------*/
.top-00 {
    margin-top: -3.6rem;
    padding: 3rem 0 1rem;
    width: 100%;
    background: #f4f0eb;
  }
  .top-01 {
    width: 100%;
    height: 490px;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5vw), 0 100%);
    background: #fff url(../img/index/01.jpg) calc(50% - 250px) 1em no-repeat;
  }
  .top-02 {
    margin-top: -5vw;
    width: 100%;
    height: 520px;
    clip-path: polygon(0 calc(0% + 5vw), 100% 0, 100% 100%, 0 calc(100% - 5vw));
    background: #ffa7a8 url(../img/index/02.jpg) calc(50% + 300px) 1em no-repeat;
  }
  .top-03 {
    margin-top: -5vw;
    width: 100%;
    height: 490px;
    clip-path: polygon(0 0, 100% calc(0% + 5vw), 100% calc(100% - 5vw), 0 100%);
    background: #ffd86d url(../img/index/03.png) calc(50% - 350px) 5em no-repeat;
  }
  .top-04 {
    margin-top: -5vw;
    width: 100%;
    height: 490px;
    clip-path: polygon(0 calc(0% + 5vw), 100% 0, 100% 100%, 0 calc(100% - 5vw));
    background: #8cc96d url(../img/index/04.jpg) calc(50% + 400px) -7em no-repeat;
  }
  .top-05 {
    margin-top: -5vw;
    width: 100%;
    height: 410px;
    clip-path: polygon(0 0, 100% calc(0% + 5vw), 100% 100%, 0 100%);
    background: #507946;
  }
  .top-06 {
    width: 100%;
    background: rgb(11, 49, 136);
    background: linear-gradient(90deg, rgba(11, 49, 136, 1) 0%, rgba(0, 223, 215, 1) 100%);
  }
  .topslant_in {
    position: relative;
    max-width: 900px;
    margin: 0px auto;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.9;
  }
  .topslant_in02 {
    position: relative;
    max-width: 1280px;
    margin: 0px auto;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.9;
  }
  .top-01_title {
    position: absolute;
    width: 680px;
    top: 58px;
    right: 0;
  }
  .top-01_box {
    position: absolute;
    width: 621px;
    top: 145px;
    right: 0;
    color: #3dadff;
  }
  .top-01_box_Area {
    width: 100%;
    margin-top: 3rem;
    background: url(../img/index/01_en.png) left center no-repeat;
  }
  .top-01_box_Area a {
    float: right;
  }
  .top-01_box_Area:after {
    display: table;
    clear: both;
    content: '';
  }
  .top-02_title {
    position: absolute;
    width: 700px;
    top: 128px;
    left: 20px;
  }
  .top-02_box {
    position: absolute;
    width: 850px;
    top: 265px;
    left: 20px;
    color: #fff;
  }
  .top-02_box p {
    display: block;
    float: right;
    width: 445px;
  }
  .top-02_box_Area {
    float: left;
    width: 330px;
    height: 140px;
    background: url(../img/index/02_en.png) center bottom no-repeat;
  }
  .top-02_box:after {
    display: table;
    clear: both;
    content: '';
  }
  .top-03_title {
    position: absolute;
    width: 825px;
    top: 80px;
    left: 50px;
  }
  .top-03_box {
    position: absolute;
    width: 825px;
    top: 185px;
    left: 50px;
    color: #000;
  }
  .top-03_box p {
    display: block;
    float: left;
    width: 435px;
  }
  .top-03_box_Area {
    float: right;
    width: 330px;
    background: url(../img/index/03_en.png) right 38px top no-repeat;
  }
  .top-03_btn {
    margin-top: 6rem;
  }
  .top-03_box_Area:after {
    display: table;
    clear: both;
    content: '';
  }
  .top-04_title {
    position: absolute;
    width: 485px;
    top: 103px;
    right: 205px;
  }
  .top-04_box {
    position: absolute;
    width: 753px;
    top: 205px;
    left: 38px;
    color: #fff;
  }
  .top-04_box p {
    display: block;
    float: right;
    width: 360px;
  }
  .top-04_box_Area {
    float: left;
    width: 330px;
    background: url(../img/index/04_en.png) left 47px top no-repeat;
  }
  .top-04_btn {
    margin-top: 6rem;
  }
  .top-04_box_Area:after {
    display: table;
    clear: both;
    content: '';
  }
  .top-05_box {
    position: absolute;
    width: 535px;
    height: 130px;
    top: 157px;
    left: 180px;
    color: #fff;
  }
  .top-05_box_Area {
    width: 100%;
    display: -webkit-flex;
    display: flex;
  }
  .top-05_box_Area .link {
    padding-right: 8rem;
    text-align: left;
  }
  .top-05_box_Area .download {
    font-size: 1.4rem;
    font-weight: normal;
    text-align: center;
  }
  .top-05_box_Area:after {
    display: table;
    clear: both;
    content: '';
  }
  .top-06_title {
    width: 100%;
    padding: 60px 0;
    text-align: center;
    color: #fff;
    font-size: 50px;
    font-weight: bold;
    letter-spacing: 0.1em;
  }
  .top-06_box {
    width: 100%;
    height: 680px;
    background: url(../img/index/06.png) calc(50% + 300px) top no-repeat;
  }
  .top-06_box_Area {
    position: absolute;
    width: 500px;
    height: 550px;
    top: 250px;
    left: 0;
    background: #fff;
    color: #0b75ba;
    letter-spacing: 0.1em;
  }
  .top-06_box_Area h3 {
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
  }
  .top-06_box_Area_in {
    padding: 45px 50px 0 108px;
  }
  .top-06_btn {
    position: absolute;
    width: 400px;
    height: 70px;
    top: 720px;
    left: 220px;
  }
  .top-06:after {
    display: table;
    clear: both;
    content: '';
  }


  /* contents
---------------------------------------------*/
  main {
    clear: both;
    text-align: justify;
    text-justify: inter-ideograph;
    text-align: left;
    padding-top: 3.6rem;
  }
  .cont_box {
    width: 900px;
    margin: auto;
    padding-bottom: 2rem;
  }
  .cont_box--country {
    padding-block: 50px;
  }
  .cont_box::after {
    display: table;
    clear: both;
    content: "";
  }
  .cont_box p {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.9;
    padding-bottom: 3.2rem;
  }

  /* significance
---------------------------------------------*/
  .cont-significance h2 {
    padding-bottom: 3.2rem;
  }
  .cont-significance h3 {
    padding-bottom: 2rem;
    font-size: 3.3rem;
    line-height: 1.3;
    font-weight: bold;
    color: #4e84f6;
  }
  .cont-significance h4 {
    padding-bottom: 1rem;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.6;
  }
  .cont-significance .bottom_image {
    width: 100%;
    height: 540px;
    background: url(../img/significance/bottom_significance.jpg) center/cover no-repeat;
  }
  .cont-significance .disc li {
    position: relative;
    list-style-type: none !important;
    margin-bottom: 1rem;
    padding-left: 1.4em;
    text-indent: -1.4em;
    line-height: 1.5;
    font-size: 1.5rem;
    font-weight: bold;
    vertical-align: middle;
  }
  .cont-significance .disc li:before {
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 10px;
    height: 10px;
    background: #4e84f6;
    border-radius: 50%;
    margin-right: .7em;
  }
  .cont-significance .disc_r {
    margin: 5rem auto 0;
    text-align: right;
  }
  .cont-significance .cblist {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 830px;
    margin: 0px auto;
  }
  .cont-significance .cblist li {
    flex: 0 0 48%;
    margin-bottom: 1.5rem;
    margin-right: 1.5rem;
    overflow: hidden;
    _zoom: 1;
    background: #6999ff;
    color: #fff;
    border-radius: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 1.5rem;
    text-align: center;
  }
  .cblist>li:nth-child(2n) {
    margin-right: 0;
  }


  /* program
---------------------------------------------*/
  .cont-type {
    background: linear-gradient(180deg, #ffefff 0px, #ffefff 78px, #fff9ff 78px, #fff9ff 100%);
  }
  .cont-type h2 {
    padding-bottom: 3.2rem;
  }
  .cont-type h3 {
    padding-bottom: 2rem;
    font-size: 3.3rem;
    line-height: 1.3;
    font-weight: bold;
    color: #a25992;
  }
  .cont-type h4 {
    padding-bottom: 1rem;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    color: #d64a76;
  }
  .cont-type h5 {
    padding-bottom: .7rem;
    font-size: 2.8rem;
    line-height: 1.5;
    font-weight: bold;
    color: #944367;
  }
  .cont-type h6 {
    padding-bottom: .7rem;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
  }
  .cont-type .ss {
    padding-bottom: .7rem;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
  }
  .cont-type .borbox {
    padding: 1rem 2rem;
    margin-bottom: .8rem;
    background: #fff;
    border: 2px #ffb5cc solid;
    border-radius: 1.5rem;
  }
  .cont-type .bottom_image {
    width: 100%;
    height: 540px;
    background: url(../img/type/bottom_type.jpg) center/cover no-repeat;
  }
  .cont-type .disc li, .cont-type .disc02 li {
    position: relative;
    list-style-type: none !important;
    margin-bottom: 1rem;
    padding-left: 1.4em;
    text-indent: -1.4em;
    line-height: 1.5;
    font-size: 1.5rem;
    font-weight: bold;
    vertical-align: middle;
  }
  .cont-type .disc li:before {
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 10px;
    height: 10px;
    background: #ff88dd;
    border-radius: 50%;
    margin-right: .7em;
  }
  .cont-type .disc02 li:before {
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 10px;
    height: 10px;
    background: #000;
    border-radius: 50%;
    margin-right: .7em;
  }
  .cont-type .disc02 {
    margin-bottom: 3rem;
  }
  .cont-type .program_Column {
    margin: 3rem 0;
  }
  .cont-type .program_Column li {
    text-align: center;
    padding: 0 1rem;
  }
  .cont-type .program_Column li>div {
    padding: 5rem 0;
    margin-bottom: .8rem;
    background: #fff;
    border: 2px #ffb5cc solid;
    border-radius: 50%;
  }
  .cont-type .program_Column li>div p {
    padding: 0 0 1.5rem;
    font-size: 1.8rem;
  }

  /* case
---------------------------------------------*/
  .cont-case {
    background: linear-gradient(180deg, #ebf5d2 0px, #ebf5d2 78px, #f5ffeb 78px, #f5ffeb 100%);
  }
  .cont-case h2 {
    padding-bottom: 3.2rem;
  }
  .cont-case h3 {
    padding-bottom: 3.5rem;
    font-size: 3.3rem;
    line-height: 1.3;
    font-weight: bold;
    color: #4e84f6;
  }
  .cont-case h4 {
    padding-bottom: .5rem;
    font-size: 2.4rem;
    line-height: 1.3;
    font-weight: bold;
    color: #3d84ff;
  }
  .cont-case .indexbox {
    max-width: 652px;
    padding: 2rem;
    margin-bottom: .8rem;
    background: #ffffee;
    border: 2px #bf9792 solid;
  }
  .cont-case .indexbox div {
    font-size: 1.7rem;
    font-weight: bold;
    margin-bottom: 2rem;
    text-align: center;
    letter-spacing: .7em;
  }
  .cont-case .indexbox li {
    position: relative;
    list-style-type: none !important;
    margin-bottom: 1rem;
    line-height: 1.5;
    font-size: 1.4rem;
    font-weight: bold;
    vertical-align: middle;
  }
  .cont-case .indexbox li a {
    color: #000;
    text-decoration: none;
  }
  .cont-case .indexbox li a:hover {
    color: #000;
    text-decoration: underline;
  }
  .cont-case .borbox {
    width: 100%;
    background: #fff;
    border: 1px #69a6ff solid;
    text-align: center;
  }
  .cont-case .borbox .b01 {
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #69a6ff;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    padding: .7rem;
  }
  .cont-case .borbox .b02 {
    min-height: 50px;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    font-weight: normal;
    padding: .7rem;
    line-height: 1;
  }
  .cont-case .borbox02 {
    padding: 2rem;
    margin-bottom: .8rem;
    background: #6fc9f3;
    border-radius: 1.5rem;
  }
  .cont-case .borbox02 h5 {
    font-size: 2.4rem;
    font-weight: bold;
    color: #fff;
    padding-bottom: 1.7rem;
  }
  .cont-case .Square li {
    position: relative;
    list-style-type: none !important;
    margin-bottom: 1rem;
    padding-left: 1.2em;
    text-indent: -.55em;
    line-height: 1.5;
    font-size: 1.4rem;
  }
  .cont-case .Square li:before {
    display: inline-block;
    vertical-align: middle;
    content: '◆';
    margin-right: .15em;
  }
  .cont-case .borbox02 img {
    margin-left: 4rem;
  }

  /* country
---------------------------------------------*/
  .h-country .h-mapbtn {
    width: 992px;
    position: relative;
    top: 17px;
    left: -42px;
    margin: 0 auto;
  }
  .h-country .h-mapbtn_sp {
    display: none;
  }
  .cont-country {
    background: linear-gradient(180deg, #fff0ae 0px, #fff0ae 78px, #ffffcf 78px, #ffffcf 100%);
    overflow: hidden;
  }
  .cont-country h2 {
    padding-bottom: 3rem;
  }
  .cont-country h3 {
    width: 100vw;
    padding: .15em 0;
    margin-left: calc(50% - 50vw);
    font-size:4.6rem;
    line-height: 1.3;
    font-weight: bold;
    color: #fff;
    text-align: center;
    background-color: #2462ae;
  }
  .cont-country h4 {
    position: relative;
    padding-bottom: 1.5rem;
    padding-left: 1.5em;
    font-size: 2.6rem;
    line-height: 1.3;
    font-weight: bold;
    color: #2462ae;
  }
  .country__box {
    counter-increment: h4_num;
  }
  .country__box h4::before {
    content: counter(h4_num);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 1.2em;
    height: 1.2em;
    border-radius: 50%;
    line-height: 1;
    color: #fff;
    background-color: #2462ae;
  }
  .country__box p {
    font-size: 1.6rem;
  }
  .country__box .table01 {
    font-size: 1.6rem;
  }
  .country__box .table01 th {
    width: 105px;
    -moz-text-align-last: justify;
    text-align-last: justify;
    text-justify:inter-ideograph;
  }
  .cont-country h5 {
    padding-bottom: .5rem;
    font-size: 2rem;
    line-height: 1.3;
    font-weight: bold;
  }
  .cont-country p.n_font {
    padding-bottom: 2rem;
    font-weight: normal;
    line-height: 1.5;
  }
  .cont-country .indexbox {
    width: 550px;
    padding: 2rem;
    margin-bottom: .8rem;
    background: #ffffee;
    border: 2px #bf9792 solid;
  }
  .cont-country .indexbox div {
    margin-bottom: .7em;
    font-size: 2.2rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: .5em;
    color: #2462ae;
  }
  .cont-country .indexbox {
    counter-reset: index_num;
  }
  .cont-country .indexbox li {
    position: relative;
    list-style-type: none !important;
    padding-left: 1.5em;
    margin-bottom: 1rem;
    line-height: 1.5;
    font-size: 2rem;
    font-weight: bold;
    vertical-align: middle;
  }
  .cont-country .indexbox li::before {
    counter-increment: index_num;
    content: counter(index_num);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: .15em;
    left: 0;
    width: 1.2em;
    height: 1.2em;
    border-radius: 50%;
    line-height: 1;
    color: #fff;
    background-color: #2462ae;
  }
  .cont-country .indexbox li a {
    color: #000;
    text-decoration: none;
  }
  .cont-country .indexbox li a:hover {
    color: #000;
    text-decoration: underline;
  }
  .cont-country .map_image {
    margin-left: 2em;
    text-align: center;
    width: 280px;
  }
  .cont-country .map_image02 {
    margin-left: 1rem;
    text-align: center;
    width: 350px;
  }
  .cont-country .map_image02.map_image--india {
    width: 500px;
  }
  .cont-country .map_image02.map_image--india02 {
    width: 350px;
  }
  .cont-country .map_image.map_image--philippines {
    width: 400px;
  }
  .cont-country .map_image.map_image--philippines02 {
    width: 280px;
  }
  .cont-country .flex .img_a {
    margin-left: 3rem;
  }
  .cont-country .flex .img_b {
    margin-left: 2rem;
  }
  .mt- {
    margin-top: -1rem;
  }
  .cont-country .cont-country-nav {
    max-width: 909px;
    margin: 0 auto 68px;
  }
  .cont-country .cont-country-nav__list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  .cont-country .cont-country-nav__listItem {
    width: 210px;
    height: 50px;
  }
  .cont-country .cont-country-nav__listLink {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 100%;
    height: 100%;
    border-radius: 40px;
    font-size: 2.1rem;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    background-color: #2462ae;
    transition: opacity .3s;
  }
  .cont-country .cont-country-nav__listLink:hover {
    opacity: .8;
  }

  /* */
  .table01 {
    width: 585px;
    font-size: 1.5rem;
    line-height: 1.9;
  }
  .table01 th {
    width: 90px;
    font-weight: bold;
  }
  .table01 td {
    font-weight: bold;
  }
  .table_n {
    width: 100%;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .cont-country .point_8 {
    width: 575px;
    clear: both;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .cont-country .point_8 ul {
    flex: 0 0 49%;
  }
  .cont-country .point_8 ul>li {
    margin-bottom: 2rem;
    font-size: 2.1rem;
    font-weight: bold;
  }
  .cont-country .point_8 h5 {
    padding-bottom: 3rem;
    font-size: 2.4rem;
    line-height: 1.3;
    font-weight: bold;
  }
  .cont-country .point02 {
    width: 575px;
    margin-top: 1em;
  }
  .cont-country .point02 ul {
    counter-reset: point_num;
    padding: 1.2em;
    margin: 0 auto;
  }
  .cont-country .point02 ul>li {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
    padding-left: 1.1em;
    text-indent: -1.1em;
  }
  .cont-country .point02 ul>li:not(:last-child) {
    margin-bottom: .6em;
  }
  .cont-country .point02 ul>li::before {
    counter-increment: point_num;
    content: counter(point_num)".";
    padding-right: .3em;
  }
  .cont-country .point02 h5 {
    padding: .15em 0;
    font-size: 2.2rem;
    line-height: 1.3;
    font-weight: bold;
    color: #000;
  }
  .cont-country .point02__inner {
    /* border: 1px solid #6691c6; */
  }
  .cont-country .imgline_hawaii {
    width: 100%;
    height: 300px;
    background: url(../img/country/hawaii/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_guam {
    width: 100%;
    height: 300px;
    background: url(../img/country/guam/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_usa {
    width: 100%;
    height: 300px;
    background: url(../img/country/usa/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_canada {
    width: 100%;
    height: 300px;
    background: url(../img/country/canada/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_uk {
    width: 100%;
    height: 300px;
    background: url(../img/country/uk/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_chaina {
    width: 100%;
    height: 300px;
    background: url(../img/country/chaina/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_taiwan {
    width: 100%;
    height: 300px;
    background: url(../img/country/taiwan/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_korea {
    width: 100%;
    height: 300px;
    background: url(../img/country/korea/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_singapore {
    width: 100%;
    height: 300px;
    background: url(../img/country/singapore/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_vietnam {
    width: 100%;
    height: 300px;
    background: url(../img/country/vietnam/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_malaysia {
    width: 100%;
    height: 300px;
    background: url(../img/country/malaysia/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_australia {
    width: 100%;
    height: 300px;
    background: url(../img/country/australia/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_india {
    width: 100%;
    height: 300px;
    background: url(../img/country/india/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_brunei {
    width: 100%;
    height: 300px;
    background: url(../img/country/brunei/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_philippines {
    width: 100%;
    height: 300px;
    background: url(../img/country/philippines/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_cambodia {
    width: 100%;
    height: 300px;
    background: url(../img/country/cambodia/imgline.png) center/cover no-repeat;
  }
  .cont-country .imgline_finland {
    width: 100%;
    height: 300px;
    background: url(../img/country/finland/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_indonesia {
    width: 100%;
    height: 300px;
    background: url(../img/country/indonesia/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_thailand {
    width: 100%;
    height: 300px;
    background: url(../img/country/thailand/imgline.png) center/cover no-repeat;
  }
  .cont-country .imgline_laos {
    width: 100%;
    height: 300px;
    background: url(../img/country/laos/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_germany {
    width: 100%;
    height: 300px;
    background: url(../img/country/germany/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_mongolia {
    width: 100%;
    height: 300px;
    background: url(../img/country/mongolia/imgline.jpg) center/cover no-repeat;
  }
  .cont-country .imgline_czech {
    width: 100%;
    height: 300px;
    background: url(../img/country/czech/imgline.jpg) center/cover no-repeat;
  }





  .cont-country .borbox02 {
    padding: 2rem;
    margin-bottom: 2rem;
    background: #6fc9f3;
    border-radius: 1.5rem;
  }
  .cont-country .borbox02 p {
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1.5;
    padding-bottom: 1rem !important;
  }
  .cont-country .borbox02 h5 {
    font-size: 2.4rem;
    font-weight: bold;
    color: #fff;
    padding-bottom: 1.7rem;
  }
  .cont-country .borbox02 h6 {
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
    padding-bottom: 1.7rem;
  }
  .cont-country .tenlist {
    padding-bottom: .5rem;
  }
  .cont-country .tenlist li {
    position: relative;
    list-style-type: none !important;
    margin-bottom: .5rem;
    padding-left: 1.2em;
    text-indent: -.55em;
    line-height: 1.2;
    font-size: 1.4rem;
  }
  .cont-country .tenlist li:before {
    display: inline-block;
    vertical-align: middle;
    content: '・';
    margin-right: .15em;
  }
  .cont-country .movtext {
    width: 670px;
    padding: 3.2rem 1rem;
    font-size: 1.5rem;
    font-weight: bold;
    border-top: 1px #000 solid;
    border-bottom: 1px #000 solid;
  }
  .cont-country .movtext a {
    color: #000;
    text-decoration: none;
  }
  .cont-country .spacing {
    letter-spacing: .1em;
  }
  .cont-country .spacing- {
    letter-spacing: -.05em;
  }
  .width_01 {
    width: 545px;
  }
  .mb_c01 {
    margin-bottom: 4rem;
  }

  /* other page
---------------------------------------------*/
  .cont-other {
    background: linear-gradient(180deg, #f0f0f0 0px, #f0f0f0 78px, #fff 78px, #fff 100%);
  }
  .cont-other h2 {
    padding: 1rem 0 3.5rem;
    font-size: 4.3rem;
    line-height: 1.3;
    font-weight: bold;
    text-align: center;
  }
  .cont-other h3 {
    padding: 1rem;
    margin-bottom: 2rem;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    background: #5fa6ff;
    text-align: center;
  }
  .caption {
    margin-bottom: 4rem;
    font-size: 2.2rem;
    font-weight: bold;
    color: #646464;
    text-align: center;
  }
  .cont-other p {
    font-size: 1.5rem;
    font-weight: normal;
    line-height: 1.5;
    padding-bottom: 3.2rem;
  }
  .cont-other table {
    width: 100%;
    font-size: 1.3rem;
    font-weight: normal;
    line-height: 1.6;
  }
  .cont-other table td, .cont-other table th {
      padding: 1.5rem;
    }
  .cont-other table tr:nth-child(even) { 
    background-color:#F0F0F6; 
  }
  .country-link-table td:nth-child(1){
    width: 16%;
  }
  .country-link-table td:nth-child(2) {
    width: 27%;
  }

  /* Column
---------------------------------------------*/
  .c2box {
    clear: both;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .c2box>li {
    flex: 0 0 48%;
    margin-bottom: 2%;
    margin-right: 2%;
    overflow: hidden;
    _zoom: 1;
  }
  .c2box--download li {
    margin-bottom: 5%;
  }
  .c2box--download li img {
    max-width: 330px;
  }
  .c2box>li:nth-child(2n) {
    margin-right: 0;
  }
  .c2box::after {
    display: table;
    clear: both;
    content: "";
  }
  .c3box {
    clear: both;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .c3box>li {
    flex: 0 0 32%;
    margin-bottom: 2%;
    margin-right: 2%;
    overflow: hidden;
    _zoom: 1;
  }
  .c3box>li:nth-child(3n) {
    margin-right: 0;
  }
  .c3box::after {
    display: table;
    clear: both;
    content: "";
  }
  .c4box {
    clear: both;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .c4box>li {
    flex: 1 0 23.5%;
    margin-bottom: 2%;
    margin-right: 2%;
    overflow: hidden;
    _zoom: 1;
  }
  .c4box>li:nth-child(4n) {
    margin-right: 0;
  }
  .c4box::after {
    display: table;
    clear: both;
    content: "";
  }
  .Area_01 {
    width: 100%;
    background: #edfff8;
  }
  .bar01 {
    text-align: center;
    padding: 1rem 0 4rem;
    margin: 1rem 0 1rem;
    font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
    font-weight: bold;
  }
  .bar02 {
    text-align: left;
    position: relative;
    padding: 0.75em 1em 0.75em 2em;
    border: 1px solid #ccc;
    border-top: 3px solid #cd5c5c;
    background: -webkit-linear-gradient(top, #fff 0%, #f0f0f0 100%);
    background: linear-gradient(to bottom, #fff 0%, #f0f0f0 100%);
    box-shadow: 0 -1px 0 rgba(255, 255, 255, 1) inset;
  }
  .bar02::after {
    position: absolute;
    top: 0.8em;
    left: 0.6em;
    z-index: 2;
    content: "";
    width: 20px;
    height: 20px;
    border: 6px solid #cd5c5c;
    border-radius: 100%;
  }
  .bar03 {
    position: relative;
    width: 100%;
    text-align: left;
    padding: 1.3rem 1.3rem .9rem 1.3rem;
  }
  .bar03::after {
    position: absolute;
    top: 0.3em;
    left: 0;
    content: "";
    width: 6px;
    height: -webkit-calc(100% - 0.5em);
    height: calc(100% - 0.5em);
    background-color: #cd5c5c;
    border-radius: 4px;
  }
  .title_icon01 {
    padding-top: 55px;
    background: url(../img/icon01.png) no-repeat top center;
    background-size: 50px;
    font-size: 1.1rem;
  }
  .title_icon02 {
    padding-top: 60px;
    background: url(../img/icon02.png) no-repeat top center;
    background-size: 140px;
    font-size: 1.1rem;
  }
  .title_icon03 {
    padding-top: 55px;
    background: url(../img/icon03.png) no-repeat top center;
    background-size: 80px;
    font-size: 1.1rem;
  }

  /* button
---------------------------------------------*/
  a.btn01 {
    width: 320px;
    display: block;
    font-size: 1.7rem;
    position: relative;
    padding: 1.5rem 5rem 1.5rem 4rem;
    color: #fff !important;
    border-radius: 100vh;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    outline: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  a.btn01:before {
    font-family: 'Font Awesome 5 Free';
    font-size: 1.6rem;
    line-height: 1;
    position: absolute;
    top: calc(50% - .8rem);
    right: 2.5rem;
    margin: 0;
    padding: 0;
    content: '\f054';
  }
  a.btn02 {
    width: 220px;
    display: block;
    font-size: 1.7rem;
    position: relative;
    padding: 3rem 1rem;
    color: #fff !important;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    border: 2px #fff solid;
    outline: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  a.btn02:hover {
    background-color: #75d27e;
    text-decoration: none;
  }
  a.btn-c01 {
    background-color: #00aeff;
  }
  a.btn-c01:hover {
    color: #fff !important;
    background-color: #0087c5;
    text-decoration: none;
  }
  a.btn-c02 {
    background-color: #ff5c57;
  }
  a.btn-c02:hover {
    color: #fff !important;
    background-color: #c54844;
    text-decoration: none;
  }
  a.btn-c03 {
    background-color: #ff8b57;
  }
  a.btn-c03:hover {
    color: #fff !important;
    background-color: #bb6740;
    text-decoration: none;
  }
  a.btn-c04 {
    background-color: #5dd47c;
  }
  a.btn-c04:hover {
    color: #fff !important;
    background-color: #357947;
    text-decoration: none;
  }
  .btn-c2b {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center;
    width: 70%;
    margin: auto;
  }
  .btn-c2b li {
    flex: 1 0 50%;
    text-align: center;
  }

  /* footer
---------------------------------------------*/
  .footer {
    color: #fff;
    text-align: center;
    background: #0b75ba;
    padding: 4rem 0;
  }
  .footer_in {
    width: 900px;
    margin: 0 auto;
  }
  .footer_in a {
    color: #fff;
    font-size: 1.4rem;
  }
  .footer_in p {
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.7;
    padding: 1.5rem 0;
  }
  .copyright {
    font-size: 1.2rem;
    padding-top: 1rem;
  }

  /* float_banner
---------------------------------------------*/
  #float_btn {
    width: 146px;
    height: auto;
    text-align: left;
    position: fixed;
    top: 50%;
    right: 0;
    z-index: 100;
  }
  #float_btn li {
    padding-bottom: 12px;
  }
  a.f_btn {
    width: 146px;
    display: block;
    font-size: 12px;
    line-height: 1.3;
    position: relative;
    padding: 10px 10px 7px;
    color: #fff !important;
    font-weight: bold;
    text-align: left;
    text-decoration: none;
    outline: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  a.f_btn:before {
    font-family: 'Font Awesome 5 Free';
    position: absolute;
    top: calc(50% - .5rem);
    right: 1.5rem;
    margin: 0;
    padding: 0;
    content: '\f054';
  }
  a.btn-c05 {
    background-color: #9fbed9;
  }
  a.btn-c05:hover {
    background-color: #6e8497;
    text-decoration: none;
  }
  a.btn-c06 {
    background-color: #5fa6ff;
  }
  a.btn-c06:hover {
    background-color: #4c85ca;
    text-decoration: none;
  }
  a.btn-c07 {
    background-color: #437ac2;
  }
  a.btn-c07:hover {
    background-color: #31598f;
    text-decoration: none;
  }

    /* program
---------------------------------------------*/
  .program {
    background: linear-gradient(180deg, #EBF5D2 0px, #EBF5D2 78px, #F5FFEB 78px, #F5FFEB 100%);
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  }
  .program-nav__list {
    flex-direction: row !important;
    justify-content: space-between !important;
  }
  .program-nav__listItem {
    width: calc((100% - 60px) / 2) !important;
  }
  .program-nav__listItem a {
    padding: 19px !important;
    display: block;
    text-decoration: none;
    color: #2462AE;
    font-size: 18px !important;
    line-height: 1.4;
  }
  .program-nav__listItem:last-child a {
    line-height: 1;
  }
  .program__indexbox {
    padding: 24px 36px 40px !important;
    width: 100% !important;
  }
  .program__indexbox__wrap {
    margin-top: 80px !important;
  }
  .program__indexboxIndex {
    margin-bottom: 18px !important;
    font-size: 1.6rem !important;
  }
  h3.program__indexbox__listItemTtl {
    margin-top: 0px;
    margin-bottom: 18px !important;
    font-size: 26px !important;
  }
  .program__indexbox__listItemTtl--green {
    color: #81C000 !important;
  }
  .program__indexbox__listItemTtl--pink {
    margin-top: 44px !important;
    color: #EB5288 !important;
  }
  .program__indexbox__listItemTtl--blue {
    margin-top: 44px !important;
    color: #23ADBF !important;
  }

  .program__indexbox__listItemTtl--yellow {
	margin-top: 44px !important;
	color: #23ADBF !important;
}


.program__indexbox__listItem__listItem {
  align-items: center !important;
  gap: 12px;
  flex-direction: row !important;
}

  .program__indexbox__listItem__listItem:nth-child(n+2) {
    margin-top: 18px !important;
  }

  .program__indexbox__listItem__listItemCountry {
    font-size: 16px !important;
    width: auto;
    flex: 0 0 110px;
  }

  .program__indexbox__listItem__listItemTxt {
    margin-top: 0rem !important;
    font-size: 18px !important;
  }

  .program__indexbox__listItem__listItemTxtMini {
    font-size: 14px !important;
  }

  .program__conutBox__inner {
    padding-block: 90px !important;
  }

  .program__conutBoxTtl {
    margin-top: 24px !important;
    font-size: 26px !important;
  }

  .program__conutBoxTtlConut {
    padding: 0 !important;
    font-size: 28px !important;
  }

  p.program__conutBoxCategory {
    font-size: 28px !important;
    line-height: 1.5 !important;
  }

  .program__conutBoxLead {
    margin-top: 26px !important;
    margin-bottom: 40px !important;
    font-size: 18px !important;
  }

  h4.program__conutBoxSubTtl {
    padding-bottom: 1.5rem !important;
    margin-bottom: 16px !important;
    font-size: 26px !important;
  }

  .program__conutBoxSubTtl:nth-child(n+6) {
    margin-top: 46px !important;
  }

  .program__conutBoxTxt {
    font-size: 16px !important;
  }

  .program__conutBox__scheduleBox {
    gap:0 20px !important;
    justify-content: space-between;
    flex-direction: row !important;
    margin-top: 30px !important;
  }

  h5.program__conutBox__scheduleBoxCourceTtl {
    margin-bottom: 2rem !important;
    font-size: 20px;

  }

  .program__conutBox__scheduleBox__list {
    margin-top: -12px !important;
    width: 100%;
  }

  .program__conutBox__scheduleBox__listItemDate {
    margin-left: 10px !important;
    font-size: 18px !important;
    min-height: 88px !important;
  }

  .program__conutBox__scheduleBox__listItemDate::before {
    width: 70px !important;
    height: 70px !important;
  }

  .program__conutBox__scheduleBox__listItemDateBox {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70px !important;
    height: 70px !important;
    border-radius: 100px;
  }

  .program__conutBox__scheduleBox__listItemDateBox::after {
    bottom: 130%;
    height: 130px !important;
  }

  .program__conutBox__scheduleBox__listItemDateBox--ex::after {
    bottom: -170% !important;
  }


  .program__conutBox__scheduleBox__listItemDateBoxTxt {
    padding: 0 !important;
    color: #fff;
    font-size: 18px !important;
  }

  p.program__conutBox__scheduleBox__listItemDateBoxTxt--mini {
    font-size: 16px !important;
  }

  .program__conutBox__scheduleBox__listItemDateBox--long::after {
    bottom: -150% !important;
  }

  .program__conutBox__scheduleBox__listItemDateBox--moreLong::after  {
	  bottom: -150% !important;
  }

  .program__conutBox__scheduleBox__listItem {
    display: flex;
    justify-content: space-between;
  }

  .program__conutBox__scheduleBox__listItem:nth-child(n+2) {
    margin-top: 20px !important;
  }

  .program__conutBox__scheduleBox__listItemTxt {
    font-size: 18px !important;
    line-height: 1.5 !important;
  }

  .program__conutBox__scheduleBox__listItemTxt__wrap {
    width: calc( 100% - 68px ) !important;
  }

  .program__conutBox__scheduleBox__listItemTxt--nowrap {
    white-space: nowrap;
  }

  .program__conutBox__scheduleBox__listItemImg {
    max-width: 318px !important;
  }

  .program__conutBox__scheduleBox__listItemImg--taiwan {
    width: 134px;
  }

  .program__conutBox__scheduleBox__listItemImgFigcaption {
    font-size: 14px !important;
  }

  .program__conutBox__scheduleBox__listItemImg__wrap {
    width: 50% !important;
  }

  .program__conutBox__pointBox {
    margin-top: 40px !important;
    padding: 30px 38px !important;

  }

  p.program__conutBox__pointBox__yellowBox {
    font-size: 16px !important;
  }

  .program__conutBox__pointBox__inner {
    gap: 20px !important;
    flex-direction: row !important;
    margin-top: 22px !important;
  }

  .program__conutBox__pointBox__inner--philippinesGermany {
    flex-direction: column !important;
  }

  .program__conutBox__pointBox__block {
    max-width: 466px !important ;
  }

  .program__conutBox__pointBox__block--w100 {
    max-width: 100% !important ;
  }

  .program__conutBox__pointBox__blockTtl {
    max-width: 340px !important;
  }



  .program__conutBox__pointBox__blockTtl::before {
    display: none !important;
  }

  .program__conutBox__pointBox__blockSubTtl {
    font-size: 26px !important;
    text-align: left !important;
  }

  .program__conutBox__pointBox__blockSubTtl--india::after {
    top: -2px !important;
    width: 72px !important;
    height: 70px !important;
  }

  .program__conutBox__pointBox__blockTxt {
    margin-top: 16px !important;
  }

  .program__conutBox__pointBox__block--philippinesGermany {
    max-width: 100% !important;
  }

  .program__conutBox__pointBoxImg {
    max-width: 334px !important;
  }

  .program__conutBox__pointBoxImg__twoWrap {
    flex: 0 0 400px;
  }

  .program__conutBox__pointBoxImgFigcaption {
    font-size: 14px !important;
  }

  .program__conutBox__pointBoxImgFigcaption--malaysia {
    white-space: nowrap;
  }

  .program__conutBox__pointBoxImg--malaysia {
	margin-top: 1em;
  max-width: 100% !important;
  }

  .program__conutBox__btnList {
    flex-direction: row !important;
    margin-top: 80px !important;
    flex-wrap: wrap;
    justify-content: center;
  }

  .program__conutBox__btnListItem {
    width: calc((100% - 60px) / 2) !important;
  }

  .program__conutBox__btnListItem a {
    padding: 16px !important;
    font-size: 18px !important;
  }
  .pcOnly {
    display: block !important;
  }

  .spOnly {
    display: none !important;
  }

  p.cont-country__desc {
    margin-bottom: 2em !important;
    font-size: 15px !important;
  }
}

@media screen and (max-width:1000px) {
    .cont-country h3 {
      width: 100%;
      margin-left: 0;
    }
  }
