@charset "utf-8";
@import url(https://fonts.google.com/specimen/M+PLUS+Rounded+1c?subset=japanese#standard-styles);
body {
margin: 0;
padding: 0;
font-size: 16px;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-weight: 300;
color: #333;
box-sizing: border-box;
text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-moz-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-o-text-size-adjust: 100%;
}
header, section, footer {
width: 100%;
float: left;
}
section { padding: 65px 0;}
section.odd { background: red;}
.cont {
width: 100%;
max-width: 960px;
margin: 0 auto;
overflow-x: hidden;
}
.cont-small { width: 100%; max-width: 992px; margin: auto; color: #808080}
.cont-big { width: 100%; max-width: 1400px; margin: auto;}
* { box-sizing: border-box;}
img { max-width: 100%; height: auto;}
a { text-decoration: none; color: inherit;}
a:hover { color: inherit; text-decoration: none;}
a:visited, a:active { text-decoration: none;}
.vtc-almd {
display: inline-block;
vertical-align: middle;
float: none;
}
.pc-show {}
.sp-show { display: none !important;}
.head { width: 100%; background: red; font-size: 0; z-index: 2; position: fixed;}
.head h1 { font-size: 12px; line-height: 160%; padding: 2px 0px 10px 0px; color: #EFEFEF;}
.logo { padding: 0px;}
.logo img { max-height: 100px; width:70%;}
.tel { width: 30%; display: none; vertical-align: middle; font-size: 14px; padding: 0 10px; font-family: 'M PLUS Rounded 1c', sans-serif;
font-weight: 300;}
.tel a { color: #000; display: inline-block; vertical-align: middle; margin: 0 10px;}
.tel-num { font-size: 22px;}
.tel i { font-size: 24px; color: #000; display: block;}
.menu-page { display: inline-block; vertical-align: middle; font-size: 0px;}
.menu-page li { display: inline-block;}
.menu-page a { display: inline-block; padding: 10px 30px; background: #fff; font-size: 14px; margin-left: 15px;}
.menu-page a:hover { color: #333;}
.menu-page .menu-text-en { padding-right: 0;}
.menu-sp { display: none; vertical-align: middle; padding: 15px 10px; font-size: 14px; background: yellow; margin-left: 15px;}
.menu-sp a { display: inline-block; vertical-align: middle; text-align: center; margin: 0 10px; outline: none; text-decoration: none;}
.menu-sp a.menu-click i { font-size: 24px; color: #fff; display: block;}
.menu-click-text { font-size: 12px;}
.menu { width: 100%; display: inline-block; vertical-align: middle;}
.menu ul { text-align: right; }
.menu ul li { font-size: 11px; display: inline-block; position: relative;}
.menu ul li a { /*padding: 20px 15px;*/padding: 25px 15px; display: inline-block; text-align: center; color: inherit;}
.menu ul li a.active , .menu ul li a:hover,.menu ul li a:hover { /*background: #808080;*/ color: #000; background:#d9e367;}
.menu-text-en { display: block; width: auto; font-size: 18px; font-weight: bold;  font-family: 'M PLUS Rounded 1c', sans-serif;
font-weight: 300;}
.slide { position: relative; margin-top: 64px; }
.slide-slick img { object-fit: cover; width: 100%; height:810px !important;}
.slick-dots { bottom: 10px;}
.slick-dots li button:before { font-size: 16px;}
.slick-dotted.slick-slider { margin-bottom: 0;}
.slide-scroll { position: absolute; bottom: 0; left: 0; width: 100%; background: red; text-align: center;}
.slide-scroll a { display: inline-block; width: 100%; padding: 15px; color: #000000; font-family: 'M PLUS Rounded 1c', sans-serif; background-color: #efefef;}
.clickid { position: absolute;}
.title { font-size: 52px; position: relative;
font-family: 'M PLUS Rounded 1c', sans-serif;
}
.title-small { font-size: 14px; display: block; font-weight: normal;}
.title-center { text-align: center;}
.title-left { text-align: left;}
.content { font-size: 14px; line-height: 160%; }
.text { font-size: 14px; line-height: 160%;}
.text p { font-size: 14px; line-height: 160%;}
.photo { margin-top: 20px;}
.photo:first-child { margin-top:0;}
.photo a { display: inline-block;}
.footer { background: yellow; padding: 50px 0;}
.logo-ft { text-align: center; padding: 0 10px;}
.tel-ft { display: inline-block; vertical-align: middle; font-size: 14px; padding: 0 10px; text-align: center; width: 100%; margin-top: 30px; font-family: 'M PLUS Rounded 1c', sans-serif;}
.tel-ft-num { font-size: 22px;}
.copyright { background: url(../images/bg01.png);; color: #fff;}
.copyright-about { font-size: 14px; line-height: 200%; padding:40px 10px; text-align: left; border-bottom: 1px solid #fff;}
.copyright-about p { line-height: 200%;}
.copyright-text { font-size: 12px; text-align: center; line-height: 160%; padding: 15px; font-family: 'M PLUS Rounded 1c', sans-serif;}
.br_show { display: none;}
/* Banner */
.banner_ct {
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
text-align: center;
margin-top: 110px;
}
.overlay_banner {
background: rgba(0, 0, 0, 0.15);
padding: 56px 0 52px 0;
}
.banner_ct h2 {
color: #FFF;
font-size: 22px;
margin: 0;
}
.banner_ct_en {
display: inline-block;
min-width: 200px;
border-top: 1px solid #fff;
color: #FFF;
font-size: 10px;
font-weight: normal;
margin: 10px 0 0 0;
padding: 12px 0 0 0;
text-transform: uppercase;
}

.pc-o { display: block !important; }
.sp-o { display: none !important; }
 
@media only screen and (max-width: 750px) {
    .pc-o { display: none !important; }
    .sp-o { display: block !important; }
}


/* End banner */
/* Breadcrumb */
.breadcrumb_ct {
background-color: #FFF;
margin: 0;
font-size: 12px;
padding: 5px 0;
margin-top: 5px;
}
.breadcrumb_ct .bc_ft {
display: inline-block;
background-image: url(../../assets/images/icon_home.png);
background-position: left 45%;
background-repeat: no-repeat;
background-size: 16px 16px;
padding-left: 22px;
color: #333;
}
/* End breadcrumb */
/* Table-------------------------- */
.table-style1 table {
width: 100%;
}
.table-style1 {
width: 100%;
}
.table-style1 tr td {
background-color: #f5f5f5;
border: 1px solid #FFF;
font-size: 14px;
padding: 20px 20px;
}
.table-style1 tr td:first-child {
	width: 20%;
	max-width: 250px;
	background-color: #d9e367;
	border: 1px solid #FFF;
	font-size: 14px;
	line-height: 160%;
	font-weight: bold;
	white-space: nowrap;
}
/* End table------------------------ */
/* Layout----------------- */
.layout-column-img {
text-align: center;
margin-bottom: 20px;
}
.row-title { display: inline-block; width: 100%;}
.no-cte { display: inline-block; width: 100%;}
/* End layout------------------- */
/* Google map--------------- */
.row-map iframe {
width: 100%;
float: left;
height: 300px;
border: 0 !important;
}
/* End google map------------------ */
/* Contact--------------------- */
.contact-form-st1 {
width: 100%;
}
.contact-form-st1 tr td {
background-color: #F6F6F6;
border: 1px solid #FFF;
font-size: 13px;
padding: 20px 20px;
}
.contact-form-st1 tr td:first-child {
width: 30%;
max-width: 250px;
background-color: #f7f9de;
border: 1px solid #FFF;
font-size: 13px;
font-weight: bold;
white-space: nowrap;
vertical-align: middle;
}
.contact-form-st1 tr td .form-group {
margin-bottom: 0;
}
.contact-form-st1 tr td input[type=text],
.contact-form-st1 tr td textarea {
width: 100%;
float: left;
border: none;
border-radius: 0;
border: 1px #E6E6E6 solid;
padding: 10px;
box-shadow: none;
}
.contact-form-st1 tr td input[type=text] {
height: 37px;
}
.contact-form-st1 tr td textarea {
height: 140px;
resize: none;
}
.contact-form-st1 tr td select {
width: 100%;
box-shadow: none !important;
border-radius: 0;
}
.contact-form-st1 tr.tr_btn td,
.contact-form-st1 tr.agree_check td {
text-align: center;
background: none;
}
.btn_submit {
/* background-color: #111; */
border-color: #111;
color: #FFF;
padding: 6px 30px;
box-shadow: none;
border: 0;
width: 120px;
}
.btn_reset {
background-color: #f7f9de;
border-color: #ccc;
padding: 10px 20px;
color: #000;
box-shadow: none;
border: 0;
width: 120px;
}
.contact-note {
float: right;
display: inline-block;
width: 44px;
height: 20px;
line-height: 17px;
background-color: #e6eb94;
color: #000;
font-size: 10px;
font-weight: normal;
text-align: center;
margin: 0 0 0 10px;
}
/* End contact-------------- */
/* Service page child-------------- */
.service_item_p {
margin-bottom: 20px;
}
.service_image_p {
padding-bottom: 20px;
}
.service_title_p {
width: 100%;
float: left;
padding-bottom: 10px;
font-size: 16px;
font-weight: bold;
text-align: left;
line-height: 160%;
}
.service_des_p {
width: 100%;
float: left;
font-size: 14px;
line-height: 24px;
text-align: left;
}
.service_btn_p {
width: 100%;
float: left;
text-align: center;
padding-top: 15px;
}
.service_btn_p a {
display: block;
padding: 10px 10px;
text-align: center;
margin: 0 auto;
color: #fff;
background: #000;
}
.service_btn_p a:hover {
-webkit-transition: 0.33s ease-in-out;
-moz-transition: 0.33s ease-in-out;
-o-transition: 0.33s ease-in-out;
transition: 0.33s ease-in-out;
}
/* End service page child-------------- */
/* Gallery-------------- */
.gallery_item {
margin-bottom: 30px;
}
/* End gallery-------------- */
/* Gallery 02-------------- */
.gallery_item_p {
margin-bottom: 30px;
text-align: center;
}
.gallery_text_p {
padding-top: 10px;
display: block;
}
/* End gallery 02-------------- */
/* FAQ-------------- */
.row_faq .panel-heading {
padding: 0;
border: 0;
}
.row_faq .panel-title>a,
.row_faq .panel-title>a:active {
display: block;
padding: 15px;
color: #555;
font-size: 16px;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 1px;
word-spacing: 3px;
text-decoration: none;
}
.row_faq .panel-heading a:before {
font-family: 'FontAwesome';
content: "\f078";
float: right;
transition: all 0.5s;
}
.row_faq .panel-heading.active a:before {
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
transform: rotate(180deg);
}
.row_faq .panel-heading a p {
padding-right: 30px;
}
.row_faq .panel-heading {
display: table;
}
.row_faq .icon_question {
font-size: 16px;
display: table-cell;
padding: 15px;
width: 60px;
}
.row_faq .panel-title {
display: table-cell;
vertical-align: middle;
line-height: 160%;
text-align: left;
width: 95%;
}
.row_faq .panel-title p {
margin: 0 !important;
}
.row_faq .icon_answer {
border-top: 1px solid #ddd;
font-size: 16px;
display: table-cell;
padding: 15px;
vertical-align: top;
width: 60px;
}
.row_faq .txt_answer {
width: 95%;
display: table-cell;
}
/* End faq-------------- */
/* Instagram-------------- */
#instagram_p {
margin: 0;
padding: 0;
overflow: hidden;
width: 100%;
float: left;
}
#instagram_p li {
list-style: none;
float: left;
padding: 1px 1px;
width: 12.49%;
border-collapse: collapse;
}
#instagram_p li a {
display: block;
}
#instagram_p li a:hover {
opacity: 0.5;
}
#instagram_p li a img {
width: 100% !important;
max-width: inherit;
}
/* End instagram-------------- */
/* Blog-------------- */
.row_blog {
width: 100%;
float: left;
}
.row_blog iframe{
width: 100%;
float: left;
height: 350px;
border: 0;
}
.top-title {
    color:#000;
}
.top-title .title-small {
    color: #2fa37e;
}
.title-left{
    color: #83406c;
}
/*
/* End blog-------------- */

/* Css T */

.lh-160 p,.layout-column-txt p{
    line-height: 160%;
}
.lh-180 p{
    line-height: 180%;
}
.fs-16 p {
    font-size: 16px;
}
.service_title_p {
    font-size: 16px;
}
.fl-r {
    float: right;
}
.top-txt-cl p {
    color: #444;
}
.top-bg-1 {
    background: url(../images/bg01.png);
}
.top-span {
    font-weight: bold;
    font-size: 20px;
    color: #cfd385;
}
.top-txt-cl strong {
    font-size: 18px;
    color: #1a906a;
}
.service-ct {
    text-align: center;
}
.service_title_p {
    color: #1a906a;
}
.clearning-cl-bl {
    color: #333;
}
.phone {
    color: #7f3d68;
    font-size: 16px;
}
.tr_btn #btn_submit {
    padding: 10px 20px;
    background: #e6eb94;
    color: #000;
    margin-right: 20px;
}
.br-show-sp {
    display: none;
}
.clear {
    clear: both;
}
.flex-rows{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }
.flex-rows-center {
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
  .ow {
      width: 100%;
      overflow: hidden;
  }
 .service-text,.service-img {
     margin-top: 10px;
 }
 .service-tt span {
     font-size: 18px;
     font-weight: bold;
 }
 .top-tt span {
     font-size: 18px;
     color: #1a906a;
     font-weight: bold;
     margin-bottom: 20px;
     display: block;
 }
 .top-ser-p span.top-img-tt {
     display: block;
     font-size: 16px;
     font-weight: bold;
     text-align: center;
     margin-top: 15px;
 }
 .top-ser-p span.top-img-txt {
    display: block;
    font-style: 14px;
    text-align: center;
    color: #333;
    margin-top: 10px;
 }
 .service-text p {
     text-align: left;
 }
 .flex-rows-height {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch 
 }

 .download-icon {
    font-size: 18px;
    margin-right: 10px;
 }

  .download-icon a:hover {
    color: blue;
 }

.tbl-style-2 table {
    width: 100%;
}

.tbl-style-2 tr td {
    padding: 10px 0;
    border-bottom: 1px dotted #CCC;
    width: 120px;
}

.tbl-style-2 tr td:nth-child(2) {
    padding: 10px 0 10px 10px;
    width: calc(100% - 120px);
}

.kf-rate-box {
    display: inline-block;
    border: 1px solid #DDD;
    box-shadow: 0 0 10px #eee;
    padding: 20px 0;
    margin: 0 15px;
    border-top: 5px solid #ba75ae;
}

.kf-slide-txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 15px 20px;
    font-size: 28px;
    background-color: #ffffffbb;
    text-align: center;
    white-space: nowrap;
}

.kf-slide-txt span {
    font-size: 40px;
    display: block;
}

.kf-hovmenu {
    width: 100%;
    height: 50px;
    background-color: #f1e6fa;
    color: #000;
    text-align: center;
    font-size: 20px;
    max-height: 0;
    transition: max-height 0.5s ease;
}

.kf-hovmenu-txt {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 50px;
    bottom: -50px;
    opacity: 0;
    overflow: hidden;
    transition: opacity 0.5s ease;
    padding: 16px 0 0;
    color: #000;
    white-space: nowrap;
}

.kf-hovmenu.active {
    max-height: 100px;
}

.kf-hovmenu-txt.active {
    opacity: 1;
}

.top-tt span {
    font-size: 24px;
    color: #cfd385;
    font-weight: bold;
    margin-bottom: 20px;
    display: block;
}

.row-news {
    height: auto;
    overflow: auto;
}

.news-item {
    font-size: 14px;
    width: 100%;
    float: left;
    padding: 10px 10px 10px 20px;
    border-bottom: 1px dotted #ccc;
    color: #000;
}

.news-date {
    font-weight: bold;
    padding-right: 15px;
    color: #000;
}

.list-posts .post {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px dotted #000;
}

caption {
    margin-bottom: 10px;
    margin-top: 20px;
}

.info-title {
    font-size: 20px;
    font-weight: bold;
}

.wp-block-calendar table th {
    text-align: center;
}

.date {
    margin-bottom: 10px;
}

.list-posts .post-single {
    margin-bottom: 30px;
    padding-bottom: 15px;
}

li.cat-item.cat-item-1 {
    margin-top: 20px;
}

.pwi-sh {
	position: relative;
    color: #000;
    line-height: 140%;
    padding: 5px 15px;
    background: #d9e367;
    border-left: solid 2em #000;

}

.pwi-sh:before {
	    font-family: FontAwesome;
    content: "\f001";
    position: absolute;
    padding: 0;
    color: white;
    font-weight: normal;
    left: -32px;
    top: 50%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);

}

.pwi-profile-sh {
  position: relative;
  overflow: hidden;
  padding: 1.5rem 2rem 1.5rem 130px;
  word-break: break-all;
  border-top: 3px solid #000;
  border-radius: 12px 0 0 0;
}

.pwi-profile-sh span {
  font-size: 40px;
  font-size: 4rem;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  padding: 3px 20px;
  color: #fff;
  border-radius: 10px 0 20px 10px;
  background: #000;
}

.concert-txt {
    border: 1px solid #ddd;
    margin: 20px 0;
    padding: 10px;
    box-shadow: 0 0 10px #eee;
    line-height: 1.8em;
    word-break: break-word;
}

.pwi-profile {
    position: relative;
    overflow: hidden;
}

.pwi-profile-img {
    position: absolute;
    width: 100%;
    height: auto;
    left: -15px;
}

.pwi-profile-display {
    display: flex;
}

.mgt-20-sp {
    margin-top: unset;
}

.con-btn {
    padding: 0px 10px;
    background-color: #d9e367;
    border-radius: 10px !important;
    margin: 0 5px;
}

.lst-bullet {
    padding-left: 10px;
}

.lst-bullet li {
    list-style-type: disc;
    list-style-position: outside;
}

.wi-cal-latest-post {
	font-weight: bold;
	color: #d9e367!important;
}

.wp-block-calendar a {
    font-weight: bold;
/*     color: #6c7133; */
	color: #d9e367;
}


/* End Css T */
@media screen and (max-width:1480px) {
    .menu-text-en {
        font-size: 14px;
/*         font-weight: bold; */
    }
    .menu ul li {
        font-size: 11px;
    }
}
    
@media screen and (max-width:1200px) {
.tel { width: 100%; text-align: right; padding: 5px 0;}
.menu-sp { display: inline-block;}
.menu ul { display: none; position: fixed; top: 53px; left: 0; width: 100%;}
.menu ul li { width: 100%;}
.menu ul li a { padding: 10px; width: 100%; text-align: left;}
.logo { padding: 0;}
.tel a { margin:  0 5px;}
.vtc-almd {float: left;}
.slide { margin-top: 54px;}
.slide-slick img {
    height: 55vw !important;
}
}
@media screen and (max-width:992px) {
.slide-slick img {
    height: 55vw!important;
}
.menu-page { margin-top: 10px;}

    .pwi-profile-img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
        left: -15px;
    }
}
@media screen and (max-width:768px) {
    /* css t */
    body {
        font-size: 14px;
        }
        .fs-16 p {
            font-size: 14px;
        }
    .head h1 {
        font-size: 12px;
        line-height: 160%;
        padding: 2px 0px 2px 0px;
        color: #EFEFEF;
    }
    .service_image_p img {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    .banner_ct {
        margin-top: 53px;
    }
    .br-show-sp {
        display: block;
    }
    .head .tel {
        display: none;
    }
    .img-mb-sp{
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    .title-style39::before {
        left: -25px;
    }
    .cont-small .top-img:nth-child(3) img.img-mb-sp{
        margin-bottom: 0px;
    }
    .cont-small .top-img:last-child img.img-mb-sp{
        margin-bottom: 0px;
    }
    .fl-r {
        margin-bottom: 10px;
    }
    .serbox .service-ct:last-child {
        margin-top: 40px;
    }
    .service-tt span {
        font-size: 16px;
        font-weight: bold;
    }
    .top-tt span {
        font-size: 18px;
        color: #d0d48c;
        font-weight: bold;
        margin-bottom: 10px;
        display: block;
    }
    .top-img {
        margin-bottom: 20px;
    }
    .top-img:last-child,.top-img:last-child(2) {
        margin-bottom: 0px;
    }
    .top-ser-p span.top-img-txt {
        margin-top: 5px;
    }
    .top-ser-p span.top-img-tt {
        margin-top: 10px;
		font-size: 11px;
    }
    .col-sm-12 {
        width: 100%;
        float: left;
    }
    /* End css t */
    .tr_btn #btn_submit {
        padding: 10px 20px;
        background: #e6eb94;
        margin-right: 20px;
    }
.pc-show { display: none !important;}
.sp-show { display: inline-block !important;}
.head > div { position: static;}
.head h1 { font-size: 11px;}
.title { font-size: 24px; position: relative;
font-family: 'Oswald';
}
.title-small { font-size: 12px;padding-top: 10px; display: block; font-weight: normal;}
.title-center { text-align: center;}
.title-left { text-align: left;}
.menu-page { display: none;}
.br_show { display: inline-block;}
section { padding: 30px 0; width: 100vw; overflow-x: hidden;}
.text { margin-top: 20px;}
.photo { margin-top: 20px;}
.row-title .f-24 { font-size: 16px;}
.mgt-30 { margin-top: 20px;}
.footer { padding: 20px 0;}
.tel-ft { margin-top: 15px;}
.copyright-about { line-height: 160%;}
.table-style1 tr td { width: 100%; float: left; padding: 10px;}
.table-style1 tr td:first-child { width: 100%; float: left; max-width: 100%; padding: 10px;}
.banner_ct { padding: 50px 0;}
.overlay_banner { padding: 20px 0;}
/* Contact--------------------- */
.contact-form-st1 tr td:first-child {
width: 100%;
max-width: 100%;
float: left;
}
.contact-form-st1 tr td {
width: 100%;
float: left;
padding: 10px 5px;
}
.contact-form-st1 tr td input[type=text] {
height: auto;
padding: 5px;
}
/* End Contact--------------------- */
/*FAQ*/
.row_faq .icon_question, .row_faq .icon_answer { width: 30px; font-size: 14px;}
.row_faq .panel-title>a, .row_faq .panel-title>a:active { font-size: 14px;}
/*END FAQ*/
.col-sp-pd0 { padding: 0;}

.tbl-style-2 tr td {
    width: unset;
}

.tbl-style-2 tr td:nth-child(2) {
    width: unset;
}

.tbl-style-2 tr td:first-child {
    white-space: nowrap;
}

.price-box {
    width: 100%;
    min-height: unset;
}

}

.fc-theme {
	color: #e6eb94;
}

.f-20-pc-f-14-sp {
	font-size: 20px;
}

.hide-pc {
	display: block;
}

.hide-sp {
	display: none;
}

.btn-contact {
    background: rgba(217, 227, 103, 1);
    color: #000;    
/*     box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25); */
    margin: 10px;
    padding: 15px 15px 12px!important;
}

.btn-contact .menu-text-en {
    font-weight: 800;
}

.btn-contact img {
    width: 24px;
    height: 24px;
	vertical-align: top;
}

.btn-contact.btn-contact2 {
    font-weight: 700;
}

.slider-item {
    position: relative;
}

.slider-text {
    position: absolute;
    width: 100%;
    bottom: 30%;
    left: 70%;
    transform: translateX(-50%);
    color: #fff;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    text-align: center;
}

.txt-slider1 {
    font-size: 20px;
    font-weight: 500;
}

.txt-slider1 span {
    color: rgba(96, 180, 205, 1);
}

.txt-slider2 {
    font-size: 48px;
    font-weight: 400;
    text-align: center;
}

.btn-contact2 {
    position: relative;
    padding: 20px 60px!important;
}

.btn-contact2::after {
    content: url(../images/arrow_right.png);
    position: absolute;
    right: 25px;
    top: 56%;
    transform: translateY(-50%);
}

.btn-contact2:hover {
    color: #000;
}

.title-en {
    font-size: 28px;
    font-weight: 800;
    color: rgba(189, 197, 39, 1);
    text-align: center;
}

.title-jp {
    color: rgba(51, 51, 51, 1);
    font-size: 16px;
    font-weight: 500;
    text-align: center;
}

#information {
    padding: 80px 0;
    background: url(../images/bg-info.png);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;  
    margin-top: -10px; 
}


.info-wrapper {
    background: rgba(255, 255, 255, 0.5);
    padding: 40px 40px;
    margin-top: 40px;
}

.info-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;      
    box-sizing: border-box;
    margin-bottom: 20px;
}

.info-item:last-child {
    margin-bottom: 0;
}

.info-item a{
	display: flex;
	width: 100%;
}

.info-date {
    text-align: right;
    box-sizing: border-box;
    width: 20%;
    font-size: 18px;
    font-weight: 400;
}

.info-title2 {
    text-align: left;
    box-sizing: border-box;
    width: 80%;
    padding-left: 80px;
    font-size: 20px;
    font-weight: 500;
}

.btn-detail {
    background: rgba(217, 227, 103, 1);
    color: #000;    
    box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
    margin: 10px;
    padding: 15px 15px 12px!important;
}

.btn-detail img {
    width: 24px;
    height: 24px;
}

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

.mgt-40 {
    margin-top: 40px;
}

.mgt-60 {
    margin-top: 60px;
}

.mgt-80 {
    margin-top: 80px;
}

.pdt-120 {
    padding-top: 120px;
}

.greeting-text {
    color: rgba(51, 51, 51, 1);
}

.greeting-text h4 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 25px;
}

.txt-sign {
    text-align: right;
    margin-bottom: 40px;
}

.txt-name {
    font-size: 21px;
}

.yt-video {
    margin: 0 15px;
}

#feature {
    padding: 80px 0;
    background: url(../images/bg-feature.png);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;     
}

.feature-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 30px;    
    box-sizing: border-box;
}

.feature-item {
    width: calc((100% - 2 * 30px) / 3);
    box-sizing: border-box;
    padding: 15px;
    background: #fff;
    box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
    height: 280px;
}

.feature-img {
    margin: 0 auto 20px;
    display: block;
    text-align: center;
}

.feature-title {    
    font-weight: 800;
    font-size: 16px;
    color: rgba(51, 51, 51, 1);
    margin-bottom: 10px;
    text-align: center;
    margin-bottom: 20px;
}

.feature-desc {
    color: rgba(51, 51, 51, 1);
}

.feature-banner {
    text-align: center;
}

.feature-banner img {
    max-width: 100%;
}

.course-title {
    font-size: 20px;
    font-weight: 800;
    color: rgba(51, 51, 51, 1);  
    margin-bottom: 20px;
}

.course-desc {   
    color: rgba(51, 51, 51, 1);    
}

#access {
    padding: 80px 0;
    background: url(../images/bg-access.png);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;     
}

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

.access-wrap {
    color: rgba(51, 51, 51, 1); 
    display: flex;   
    align-items: center;
}

.access-title {
    font-size: 20px;
    font-weight: 500;
    color: rgba(51, 51, 51, 1);
    margin-bottom: 10px;
}

.access-desc1 {
    color: rgba(51, 51, 51, 1);
    margin-bottom: 20px;
}

.access-desc1 {
    color: rgba(51, 51, 51, 1);
}

.blog-img img {
    max-width: 100%;
    height: 200px;
    width: 100%;
    object-fit: cover;
}

.blog-title {
    color: rgba(51, 51, 51, 1);
    font-size: 20px;
    font-weight: 500;
    margin: 20px 0 10px;
    display: block;
}

.blog-date {
    display: block;
    color: rgba(51, 51, 51, 1);   
}

.course-wrapper {
    display: flex;
    align-items: center;
}

#course2 {
    padding-top: 0;
}

.table-price-wrapper {
    width: 80%;
    margin: 0 auto;
}

table.tbl-price {
    width: 100%;
    border-collapse: collapse;
}

table.tbl-price th,
table.tbl-price td {
    border-bottom: 1px solid rgba(186, 186, 186, 1);
    padding: 15px;
}

table.tbl-price th:first-child {
    padding-left: 40px;
}

.table-note {
    margin-top: 20px;
}

#access .btn-detail {
    font-weight: 700;
}

.pc-only {
	display: block;
}

#greeting .cont, #course .cont, #access .cont, #blog .cont {
	overflow-x: unset;
}

span.wpcf7-form-control.wpcf7-radio.radio-control {
    vertical-align: middle;
}

@media screen and (max-width:991px) {
	#greeting .row {
		display: flex;
	}
	
	#course .row {
		display: flex;
	}
	
	#access .col-md-4 {
		width: calc(100% / 3);
	}

	#access .row.mgt-40 {
		display: flex;
	}

	#greeting .col-md-12 {
		margin: 10px 0 0;
	}

	#access .col-md-12 {
		margin: 10px 0 0;
	}

	#blog .col-md-12 {
		margin: 10px 0 0;
	}
}

@media screen and (max-width:767px) {
	
	.pc-only {
		display: none;
	}
	
	.logo img {
		width:unset;
	}
	
	.pwi-sh:before {
		left: -33px;
	}
	.hide-sp {
		display: block;
	}
	
	.hide-pc {
		display: none;
	}
	
	.f-20-pc-f-14-sp {
		font-size: 14px;
	}

    .mgt-20-sp {
        margin-top: 20px;
    }

    .pwi-profile-display {
        display: unset; 
    }

    .pwi-profile-img {
        position: unset; 
        width: unset;
        height: unset; 
        left: unset; 
    }

    .prc-add-info {
        margin: 0 0 10px 0;
        border-bottom: 1px dotted #AAA;
        padding: 0 0 10px 0;
    }

    .kf-slide-txt {
        font-size: 20px;
    }

    .kf-slide-txt span {
        font-size: 30px;
    }

    .slide-slick img {
    	height: calc(100vh - 50px) !important;
		object-position: -450px !important;
    }

    .slider-text {
        left: 50%;
    }
	
	.btn-contact.btn-contact2 {
		font-weight: 700;
	}
	
	.feature-wrapper {
		display: block;
	}

	.feature-item {
		width: calc(100% - 20px);
		margin: 0 10px 10px;
	}

	.course-intro-text {
		margin: 0 10px;
	}

	.course-text {
		margin: 20px 10px 0;
	}

	.course-img {
		margin: 0 10px;
	}
	
	.greeting-text {
		width: calc(100% - 20px);
		margin: 20px 10px;
	}

	.btn-detail {
		text-align: center;
		display: block;
	}
	
	.row.mgt-80.access-wrap {
		display: block;
	}

	.access-img {
		width: calc(100% - 20px);
		margin: 0 0 10px 0;
	}
	
	#blog .cont {
		margin: 0 10px;
		width: calc(100% - 20px);
	}
	
	.info-wrapper {
		padding: 15px 10px;
		margin: 40px 10px;
	}
	
	.course-img {
		margin: 0 10px;
	}

	#access .col-md-4 {
		margin: 0 10px;
		width: 100%;
	}

	#access .col-md-8 {
		width: 100%;
		margin: 0 10px;
	}
	
	.txt-slider2 {
		font-size: 44px;
	}
	
	#course2 .course-wrapper {
		display: block;
	}
	
	.table-price-wrapper {
		width: 90%;
	}
	
	 #greeting .row {
        display: block;
    }
	
	 #course .row {
        display: block;
    }
	
	 #access .row.mgt-40 {
        display: block;
    }
	
	.blog-title {
		margin: 30px 0 10px;
	}
	
	.row.mgt-80.mrg-adj {
		margin: 40px -15px;
	}

	#blog .row.mgt-80.mrg-adj {
		margin: 0 -15px;
	}

	#access {
		padding: 60px 0 0;
	}

	#course {
		padding: 60px 0 0;
	}

	#video {
		padding: 0;
	}
	
	#access .btn-detail {
		margin: 0 0 40px;
	}

	#access .row.mgt-60 {
		margin: 40px 0;
	}
	
	.row.mgt-80.mrg-adj-sp {
		margin: 20px 0 40px 0;
	}
	
	.slider-item.item0 img {
		object-position: -180px!important;
	}

}

@media screen and (max-width:376px) {
    .txt-slider1 {
        font-size: 18px;
    }

    .txt-slider2 {
        font-size: 42px
    }
	
	.slide-slick img {
        object-position: -308px !important;
    }
	
	.slider-item.item0 img {
    	object-position: -120px!important;
	}
}