@charset "UTF-8"; /* CSS Document */
.sp-img {
    display: none;
}

.pc-img {
    display: block;
}
@media screen and (max-width: 960px) {
img {
        width: 100%;
}
.sp-img{
    display:block !important;
}

.pc-img {
    display: none !important
}
h2.tit {
    margin-bottom: 60px;
    padding: 15px 0px 15px 0px;
}
h2.tit p {
    font-size: 200%;
    line-height: 1.5;
}

/*--bnr-----------------------------------------------------------*/
section.bnr {
    width: 90%;
    padding: 20px 0px;
}
section.bnr p{
    margin-bottom:20px;
}
/*--btn-----------------------------------------------------------*/
.btn a {
    width: 75%;
}


/*---------------------------------------------------------------------------------------------*/
header {
    width: 100%;
  }

header h1 {
    width: 90%;
    text-align: center;
}
header .inner {
    width: 90%;
}
header .logo img {
    width: 60%;
}
header .logo {
    width: 100%;
    text-align: center;
}

header .logo span {
    font-size: 110%;
    line-height: 1;
    padding: 5px 5px;
}

/*main_img------------------------------*/
.main_img {
    padding: 40px 0px;
    text-align:center;
    position: relative;
}
.main_img img{
    width: 70%;
}
.main_img::after {
    content: "";
    display: block;
    width:100%;
    height: 100%;
    position: absolute;
    top: 40px;
    left: 0;
    z-index: -1;
    background: url(../images/main_back_left.png) no-repeat;
    background-size: 87%;
    background-position: -160px center;
}
.main_img::before {
    content: "";
    display: block;
    width:100%;
    height: 100%;
    top: 40px;
    left: 0;
    position: absolute;
    z-index: -1;
    background: url(../images/main_back_right.png) no-repeat;
    background-size: 59%;
    background-position: 270px 35px;
}

/*booth------------------------------*/

.booth .inner {
    width:100%;
    margin: 0px auto;
    background: #0b318e;
    /* background: url(../images/booth_back.png) no-repeat #0b318e; */
    background-size: contain;
    background-position: right center;
}
.booth .inner .booth_box {
    padding: 0px 0px 30px 0px;
    width:100%;
    margin-right: auto;
}
.booth .inner .booth_box h3{
    margin-bottom: 0px;
    background: #ff0;
}
.booth p {
    margin-bottom: 0px;
    padding: 20px 10px;
    color: #fff;
    font-size: 115%;
    line-height: 1.8;
    text-align: center;
}

/*staff------------------------------*/
.staff {
    padding: 30px;
    background: #EEF5FD;
}

.staff .inner {
    width:100%;
    margin: 0px auto;
}

.staff .inner .staff_box {
    width:100%;
    margin-left: auto;
}

.staff .inner .staff_box h3 {
    margin-bottom: 10px;
}

.staff .inner .staff_box p {
    width: 100%;
    margin-bottom: 30px;
    font-size: 120%;
    line-height: 1.8;
}

.staff .staff_list {
    width: 100%;
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}

.staff .staff_list li {
    width: calc(100% / 2 - 10px);
}
.staff .staff_list li img{
    height: auto;
    object-fit: cover;
}

.staff .inner .staff_box .staff_list li p {
    padding-top: 10px;
    font-size: 80%;
    line-height: 1.4;
}

/*course------------------------------*/
.course_text {
    padding: 60px 0px;
}

.course_text::after {
    content: "";
    display: block;
    width: 100%;
    height: 90%;
    position: absolute;
    top: 80px;
    left: 0;
    z-index: -1;
}

.course_text {
    background: url(../images/sp_course_text_back.png) no-repeat;
    background-size: 60%;
    background-position: right -10px;
    padding: 120px 0px 30px 0px;
}

.course_text .inner {
    width: 90%;
    margin: 0px auto;
}

.course_text .inner h3 {
    width: 100%;
}

.course_text .inner h3 img {
    width: 100%;
}

.course_text .inner p {
    width: 90%;
    margin: 0px auto;
    font-size: 120%;
    line-height: 210%;
}

.course {
    padding: 30px 0px;
}

.course h2 {
    width: 70%;
    margin: 0px auto;
    margin-bottom: 10px;
}

ul.top-course-list {
    width: 100%;
    margin: 0px auto;
}

ul.top-course-list li {
    width: 90%;
    margin: 0px auto;
    margin-bottom: 50px;
}


/*.works-------------------------------------------------*/
.works {
    padding: 0px 0 60px 0px;
    background: #EEF5FD;
}

.works ul {
    width: 90%;
    margin: 0px auto;
    display: flex;
    /*横並び*/
    align-items: top;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 40px;
}

.works li {
    width: calc(100% / 3 - 10px);
    margin-bottom: 10px;
    margin-right: 10px;
}

.works li:nth-child(6n) {
    margin-right: 10px;
}

.works li img {
    width: 100%;
    border: 1px solid #fff;
}
/*info-page----------------------------------------------------------------------------------------------------------------------------*/
.info-page{
	width: 100%;
}
.info-page .inner{
	width: 90%;
	margin: 0px auto;
	padding: 20px 0px;
}
.info-page .inner div.txt{
	width: calc(100% - 40px);
	padding: 20px 20px 20px 20px;
	font-size: 120%;
	line-height: 240%;
	float: none;
}
.info-page .inner div.txt img{
	width: 90%;
	float: none;
	margin-bottom:20px;
}
.info-page .inner div.txt dl{
padding: 5px 0px;
margin:0px auto;
display:flex;/*横並び*/
align-items:top;/*天地センター*/
flex-wrap:wrap;
justify-content:flex-start;
}
.info-page .inner div.txt dl dt{
	width: 120px;
}
.info-page .inner .category{
	float: none;
	width: 100%;
	background: #FFF;
}

.info-page .inner .category h3{
	padding: 10px 10px;
	background: #0A3799;
	color: #FFF;
	font-size: 120%;
}
.info-page .inner .category ul li a{
	width: 100%;
	display: block;
	padding: 15px 10px;
	background: #FFF;
	color: #222;
	font-size: 120%;
}

.info-page .inner .category ul li a:hover{
	background: #EEE;
	color: #222;
}

.info-page .inner .category ul li.now a{
	background: #EEE;
	color: #222;
}

/*shop---------------------------------------------*/
p.payment {
    padding: 10px 10px;
    text-align: center;
}

p.payment img {
    width: 100%;
}

p.line {
    padding: 10px 10px;
    text-align: center;
}

p.line img {
    width: 100%;
}


.shop {
    padding-bottom: 60px;
}

.shop-list .inner {
    width: 100%;
}

.shop-list .inner p.intro_text {
    margin-bottom: 30px;
    font-size: 100%;
    line-height: 2.2;
    width: 90%;
    margin: 0px auto;
    margin-bottom: 30px;
}

.shop-list .inner iframe {
    margin-bottom: 40px;
}

.shop-block {
    width: 90%;
    display: flex;
}

.shop-block .right {
    width: 100%;
}

.shop-block .right ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}

.shop-block .right ul li {
    width: 50%;
}

.shop-block .right ul li img {
    width: 100%;
}

.shop-block .left {
    width: 100%;
}

.shop-block .left img {
    width: 100%;
}

table.shop {
    margin: 0px 0px 10px 0px;
    width: 100%;
}

table.shop {
    margin: 0px 0px 30px 0px;
    width: 100%;
}

table.shop th,table.shop td {
    display:block;
width:calc(100% - 30px);
    padding: 10px 15px 10px 15px;
    line-height: 18px;
    vertical-align: middle;
    border:none;
}

table.shop td span.red {
    font-size: 150%;
}

table.shop td.reserve {
    font-size: 140%;
}

/*servicelist-------------------------------------------*/
.servicelist {
    padding-bottom: 60px;
}

.servicelist dl {
    width: calc(90% - 20px);
    margin: 0px auto;
    margin-bottom: 20px;
    padding: 15px 10px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
    border-radius: 10px;
}

.servicelist dl dt {
    width: calc(30% - 20px);
    padding-right: 20px;
}
.servicelist dl dt img{
    width:100%;
 }
.servicelist dl dd {
    width: 70%;
    font-size: 100%;
    line-height: 180%;
}

/*voice----------------------------------------------------------------*/
section.voice {
    width: 100%;
    margin: 0px auto;
    padding: 0px 0px 80px 0px;
}

section.voice .inner {
    width: 100%;
    margin: 0px auto;
}

section.voice h3 {
    padding: 30px 10px;
    background:none;
}

section.voice h3 p{
	width:100%;
	margin:0px auto;
	font-size:180%;
    line-height: 140%;
	color:#0b318e;
    font-weight: bold;
}
section.voice h3 p span{
	font-size:140%;
    line-height: inherit;
	color:inherit;
    font-weight: inherit;
}
section.voice h3 img {
    width: 100%;
	margin-bottom:10px;
}

section.voice p.lead {
    font-size: 130%;
    line-height: 180%;
    margin-bottom: 20px;
}

.voice_block {
    width: 90%;
    margin: 0px auto;
    margin-bottom: 60px;
}
.voice_block:last-child {
    margin-bottom: 0px;
}
.voice_q {
    display: block;
    align-items: center;
    margin-bottom: 10px;
    justify-content: space-between;
    line-height: 1;
    flex-direction: column;
}

.voice_a {
    margin-bottom: 10px;
    padding: 20px 20px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}

.voice_a.staff {
    flex-flow: column;
}

div.voice_block .voice_q .left {
    width: 20%;
    margin:0px auto;
    font-size: 200%;
    line-height: 1;
    margin-bottom: 10px;
}

div.voice_block .voice_q .right {
    width: calc(100% - 0px - 0px);
    text-align: left;
}

div.voice_block .voice_q .right h4 {
    padding-left: 0px;
    font-size: 150%;
    line-height: 2.2;
    text-align: left;
    color: #006fb8;
    font-weight: bold;
}

div.voice_block .voice_q .right h4 span {
    font-size: 170%;
    line-height: 1;
}

div.voice_block .voice_q .right p {
    font-size: 115%;
    line-height: 1.8;
}

div.voice_block .voice_a .icon {
    width: 100%;
    font-size: 200%;
}
div.voice_block .voice_a .icon img{
    width: 30%;
    font-size: 200%;
}
div.voice_block .voice_a .text {
    width: calc(100% - 0px - 0px);
    padding: 10px 0px 0px 0px;
    text-align: left;
}

div.voice_block .voice_a .text p {
    font-size: 125%;
    line-height: 1.8;
}

/*beginner----------------------------------------------------------------*/
.beginner{
    padding: 20px 0px  0px;
}

.beginner .inner {
    width: 90%;
    margin: 0px auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.beginner .inner .text {
    width: 100%;
}

.beginner .inner .text p {
    margin-bottom: 10px;
    font-size: 120%;
    line-height: 1.8;
}
.beginner .inner .text img {
    width: 100%;
}
.beginner .inner .img {
    width: 100%;
    text-align: right;
    margin: 0px auto;
}
.beginner .inner .img img{
    width: 60%;
}
/*faq----------------------------------------------------------------*/
section.faq {
    width: 100%;
    margin: 0px auto;
    padding: 0px 0px 80px 0px;
    background: #F9FBFB;
    text-align: center;
}

.faq_block {
    width: 90%;
    margin: 0px auto;
    margin-bottom: 20px;
}

.faq_q {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 10px;
    justify-content: space-between;
    line-height: 1;
}

.faq_a {
    padding: 20px 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

div.faq_block .faq_q .left {
    width: 30px;
    padding: 5px;
    font-size: 200%;
    line-height: 1;

}

div.faq_block .faq_a .left {
    width: 30px;
    height: 30px;
    padding: 5px;
    font-size: 200%;
    line-height: 1;

}

div.faq_block .faq_q .right,div.faq_block .faq_a .right {
    width: calc(100% - 50px - 0px);
    text-align: left;
}

div.faq_block .faq_q .right h4 {
    font-size: 130%;
    line-height: 1.43;
}

div.faq_block .faq_a .right {
    padding: 0px 0px 0px 0px;
}

div.faq_block .faq_a .right p {
    font-size: 115%;
    line-height: 1.8;
}

div.faq_block .faq_a .right h4 {
    margin-bottom: 10px;
    font-size: 160%;
    line-height: 1.5;
}

section.faq .btn-slide {
    width: 100%;
    height: 80px;
    margin: 60px auto 0;
    font-size: 1.375rem
}

/*-footer--------------------------------------------------------------------------------------------*/
footer {
    clear: both;
    width: 100%;
    padding: 10px 0px;
    text-align: center;
}

footer .inner {
    width: 90%;
    margin: 0px auto;
    text-align: center;
    overflow: hidden;
}

footer .inner div.footer-logo {
    width: 80%;
    margin: 0px auto;
    text-align: center;
    overflow: hidden;
}

footer .inner div.footer-logo p {
    padding: 10px 0px;
    font-size: 120%;
    line-height: 100%;
    text-align: center;
}

footer .inner div.footer-logo p img {
    width: 100%;
}

footer .inner div.copy {
    width: 100%;
    float: right;
    text-align: center;
    font-size: 85%;
    overflow: hidden;

}

.copy {
    width: 100%;
    padding: 5px 0px;
    padding-bottom:90px;
    text-align: center;
 }
   /*---------------------------------------------*/
 /*---------------------------------------------*/
 /*---------------------------------------------*/
 .footer_area {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
	padding:10px 10px 0px;
	background:#ffffffed;
    z-index: 9990;
    display: block;
}

.footer_area p a{
	text-align:center;
	padding:5px;
	background:#ff1d25;
	display:block;
	color:#fffd05;
	font-size:180%;
	line-height:1;
	font-weight:bold;
	position:relative;
    margin-bottom: 10px;
}
.footer_area p a::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    -webkit-transform: rotate(-135deg);
    border-right: 3px solid #fffd05;
    border-bottom: 3px solid #fffd05;
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto;
}


.footer_area_text{
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    line-height: 30px;
    margin: 0;
    padding: 0 !important;
    height: 30px;
}
.footer_area_text span{
    font-weight: bold;
    font-size: 24px;
    color: #ed0039;
    line-height: 30px;
}
.footer_area ul {
    position: relative;
    margin: 0px auto 5px;
    display: flex;
    align-items: top;
    flex-wrap: wrap;
    justify-content: space-between;
    height: 70px !important;
}

.footer_area ul li.line{
    width: 70px;

}
.footer_area ul li.line img{
    width: 80%;
}

.footer_area ul li.tel, .footer_area ul li.reserve{
    width: calc((100% - 70px)/2 - 1%);
    height: auto;
    display: block;
    height: 70px !important;
}

.footer_area ul li.tel a img,.footer_area ul li.reserve a img{
    width: 30px !important;
    height: auto;
    margin: 0 10px 0 0;
}
/* .footer_area ul li.reserve {
    width: 49%;
    height: auto;
    display: block;
} */

.footer_area ul li a {
    display:flex;
    justify-content: center;
    flex-flow: row nowrap;
    align-content: center;
    align-items: center;
    position: relative;
    color: #FFF;
    font-size: 120%;
	line-height: 1.3;
    background: #0d76bb;
	position:relative;
	border-radius: 5px;
    height: 60px !important;
    font-weight: bold;
    text-align: center;
    line-height: 1.2em !important;
}

.footer_area ul li a::after {
    position: absolute;
    top: 29px;
    right: 15px;
    display: block;
    content: '';
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: top;
}

.footer_area ul li:nth-child(1) a::after{
    content: none;
}

.footer_area ul li.line a{
    background: #00b900;
}
	
.footer_area ul li.reserve a {
    background: #E96100;
}

.footer_area ul li a span {
    padding-right: 5px;
    color: #fff;
    font-size: 120%;
}


/*form----------------------------------------------------------------------------------------------------------------------------*/
.form_note {
    color: #b0b0b0;
    text-align: center;
    font-size: 0.6rem;
    line-height: 1.5;
}

.thanks-txt .inner {
    width: 90%;
}

.thanks-txt .inner p {
    border: none;
}

header .inner .logo a{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row nowrap;
}
header .logo img {
    width: 40% !important;
    margin:5px auto 10px;
}

}

@media screen and (max-width: 400px) {
    .footer_area ul li a::after{
        content: none;
    }
}

