@charset "UTF-8";

/* CSS Document */
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
figure,
nav,
footer,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-weight: normal;
    line-height: 2.5;
    font-size: 14px;
    font-family: acumin-pro, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

body {
    background: #ffffff;
}

ol,
ul,
li,
dl,
dt,
dd {
    list-style: none;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

img {
    width: 100%;
    vertical-align: bottom;
    border: none;
    clear: both;
    float: none;
}

iframe {
    vertical-align: bottom;
}

#wrapper {
    overflow: hidden;
    width: 100%;
}

a:hover img {
    filter: alpha(opacity=50);
    opacity: 0.5;
}

p.txt {
    font-size: 110%;
    line-height: 200%;
}

p {
    text-align: justify;
    text-justify: inter-ideograph;
}

.center {
    text-align: center;
}

.sp_img {
    display: none;
}

/*--bnr-----------------------------------------------------------*/
section.bnr {
    width: 800px;
    margin: 0px auto;
    padding: 50px 0px;
    text-align: center;
}

section.bnr img {
    width: 100%;
}

/*--btn-----------------------------------------------------------*/
.btn a {
    width: 360px;
    margin: 0px auto;
    border-radius: 10px;
    border: 3px solid #0b318e;
    padding: 20px 9px;
    background: #fff;
    font-size: 180%;
    color: #0b318e;
    text-align: center;
    line-height: 1;
    position: relative;
    display: block;
    padding-right: 10px;
}

.btn a::after {
    position: absolute;
    top: 50%;
    right: 20px;
    display: block;
    content: '';
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 2px solid #0b318e;
    border-right: 2px solid #0b318e;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.btn a:hover {
    color: #0b318e;
    background: #ffff00;
    text-decoration: none;
}

/*-------------------------------------------------------------*/
h2.tit::after {
    border-left: 36px solid rgba(0, 0, 0, 0);
    border-right: 36px solid rgba(0, 0, 0, 0);
    border-top: 36px solid #0B318E;
    bottom: -36px;
    content: "";
    height: 0;
    left: 50%;
    margin-left: -36px;
    position: absolute;
    width: 0;
}

h2.tit {
    background: #0B318E;
    margin-bottom: 60px;
    padding: 30px 0px 30px 0px;
    position: relative;
    text-align: center;
}

h2.tit p {
    font-size: 300%;
    line-height: 1;
    color: #FFEF00;
    text-align: center;
}

/*---------------------------------------------------------------------------------------------*/
header {
    width: 100%;
    overflow: hidden;
    margin: 0px auto;
    padding: 10px 0px;
    background: #0B318E;
    border-bottom: 1px solid #fff;
}

header h1 {
    width: 1100px;
    margin: 0px auto 5px auto;
    text-align: left;
    font-size: 95%;
    line-height: 1;
    color: #FFF;
}

header .inner {
    width: 1180px;
    overflow: hidden;
    margin: 0px auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

header .logo {
    width: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
}

header .logo img {
    width: 210px !important;
    margin: 0 8px 0 0;
}

header .logo span {
    background: #fff;
    padding: 3px 10px;
    color: #0b318e;
    font-size: 195%;
    line-height: 1;
    border-radius: 5px;
    display: initial;
    font-weight: bold;
}

header .right .txt {
    padding: 0% 0%;
    text-align: center;
}

header .right .txt .tel {
    margin-bottom: 5px;
    color: #FFEF00;
    font-size: 320%;
    font-family: 'Barlow', sans-serif;
    line-height: 1;
    text-align: center;
}

header .right .txt .hour {
    text-align: center;
    color: #fff;
    font-size: 90%;
    line-height: 1.3;
}

header .right .txt .hour span {
    color: inherit;
    font-size: 80%;
    line-height: 1.3;
}

header .right .txt .tel span.fa {
    color: #FFEF00;
    margin-right: 5px;
    font-size: 65%;
    transform-origin: top left;
    transform: rotate(-35deg) translateX(-30%);
}

/*main_img------------------------------*/
.main_img {
    padding: 40px 0px;
    text-align: center;
    position: relative;
}

.main_img img {
    width: 600px;
}

.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: 37%;
    background-position: left 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: 35%;
    background-position: right -85px center;
}


/*booth------------------------------*/
.booth {
    background: #0b318e;
}

.booth .inner {
    width: 1200px;
    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: 60px 0px;
    width: 600px;
    margin-right: auto;
}

.booth .inner .booth_box h3 {
    margin-bottom: 10px;
}

.booth p {
    margin-bottom: 20px;
    color: #fff;
    font-size: 140%;
    line-height: 1.8;
    text-align: center;
}

/*staff------------------------------*/
.staff {
    padding: 60px;
    background: url(../images/staff_back.png) no-repeat #EEF5FD;
    background-size: 20%;
    /* 画像掲載したらコメントアウト外す */
    /* background-size: 25%; */
    /* background-position: left 340px; */
}

.staff .inner {
    width: 1000px;
    margin: 0px auto;
}

.staff .inner .staff_box {
    width: 650px;
    margin-left: auto;
}

.staff .inner .staff_box h3 {
    margin-bottom: 10px;
}

.staff .inner .staff_box p {
    width: 90%;
    margin: 0px auto;
    margin-bottom: 30px;
    font-size: 120%;
    line-height: 1.8;
}

.staff .staff_list {
    width: 80%;
    margin: 0px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: flex-start;
}

.staff .staff_list li {
    width: calc(100% / 3 - 10px);
}

.staff .staff_list li img {
    height: 150px;
    object-fit: cover;
}

.staff .inner .staff_box .staff_list li p {
    padding-top: 10px;
    font-size: 90%;
    line-height: 1.4;
    text-align: center;
    color: #0b318e;
    font-weight: bold;
}

/*----------------------------------------------*/
.course-top-table {
    width: 1200px;
    margin: 0px auto;
    margin-bottom: 60px;
}

.course-top-table ul {
    display: flex;
    align-items: top;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.course-top-table li img {
    width: 100%;
}

.course-list {
    width: 1100px;
    margin: 0px auto;
    margin-bottom: 60px;
}

/*course------------------------------*/
.course_text {
    padding: 60px 0px;
    position: relative;
}

.course_text::after {
    content: "";
    display: block;
    width: 100%;
    height: 81%;
    position: absolute;
    top: 88px;
    left: 0;
    z-index: -1;
    background: #0b318e;

}

.course_text {
    background: url(../images/course_text_back.png) no-repeat;
    background-size: 450px;
    background-position: right 130px;
}

.course_text .inner {
    width: 1000px;
    margin: 0px auto;
}

.course_text .inner h3 {
    width: 720px;
}

.course_text .inner h3 img {
    width: 100%;
}

.course_text .inner p {
    width: 760px;
    color: #fff;
    font-size: 140%;
    line-height: 210%;
}

.course {
    background: #EEF5FD;
    padding: 70px 0px;
}

.course h2 {
    width: 500px;
    margin: 0px auto;
    margin-bottom: 30px;
}

ul.top-course-list {
    width: 1000px;
    margin: 0px auto;
}

ul.top-course-list li {
    margin-bottom: 50px;
    background: #fff;
}

/*.works-------------------------------------------------*/
.works {
    padding: 0px 0 60px 0px;
    background: #EEF5FD;
    background-size: contain;
    background-position: left center;
}

.works ul {
    width: 1100px;
    margin: 0px auto;
    display: flex;
    /*横並び*/
    align-items: top;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 40px;
}

.works li {
    width: calc(100% / 6 - 10px);
    margin-bottom: 10px;
    margin-right: 10px;
    height: 140px;
}

.works li:nth-child(6n) {
    margin-right: 0px;
}

.works li img {
    width: 100%;
    height: 140px;
    border: 1px solid #fff;
    object-fit: cover;
}

/*shop---------------------------------------------*/
p.payment {
    padding: 30px 0px;
    text-align: center;
}

p.payment img {
    width: 800px;
}

p.line{
    padding: 30px 0px;
    text-align: center;
}

.shop {
    background: #F0FAFA;
    padding-bottom: 60px;
}

.shop-list .inner {
    width: 1100px;
    margin: 0px auto;
}

.shop-list .inner p.intro_text {
    width: 940px;
    margin: 0px auto;
    margin-bottom: 30px;
    color: #0b318e;
    font-size: 170%;
    text-align: center;
    line-height: 2.2;
}

.shop-list .inner iframe {
    margin-bottom: 40px;
}

.shop-block {
    width: 100%;
    margin: 0px auto;
    padding: 40px 0px;
    display: flex;
    align-items: top;
    flex-wrap: wrap;
    justify-content: space-between;
}

.shop-block .right {
    width: 48%;
}

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

.shop-block .right ul li img {
    width: 100%;
}

.shop-block .left {
    width: 60%;
}

.shop-block .left img {
    width: 100%;
}

table.shop {
    margin: 0px 0px 10px 0px;
    width: 100%;
    text-align: center;
    border: 1px solid #4B575C;
    border-collapse: collapse;
    border-spacing: 0px;
}

table.shop {
    margin: 0px 0px 30px 0px;
    width: 100%;
    text-align: center;
    border: 1px solid #BBB;
    border-collapse: collapse;
    border-spacing: 0px;
    background: #FFF;
}

table.shop th,
table.shop td {
    padding: 12px 8px 12px 8px;
    line-height: 1;
    vertical-align: middle;
    border: 1px solid #BBB;
    text-align: left;
    font-size: 120%;
    font-weight: normal;
}

table.shop th {
    width: 170px;
    background: #F3F4F4;
    color: #333;
}

table.shop td a {
    font-size: 150%;
    line-height: 1;
    color: #FF0004;
}

/*servicelist-------------------------------------------*/
.servicelist {
    background: #E4F1F9;
    padding-bottom: 60px;
}

.servicelist dl {
    width: 780px;
    margin: 0px auto;
    margin-bottom: 20px;
    padding: 15px 25px;
    background: #fff;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
    border-radius: 10px;
}

.servicelist dl dt {
    width: calc(20% - 20px);
    padding-right: 20px;
}

.servicelist dl dd {
    width: 80%;
    font-size: 150%;
    line-height: 180%;
    color: #0B318E;
    font-weight: bold;
}

/*voice----------------------------------------------------------------*/
section.voice {
    width: 100%;
    margin: 0px auto;
    padding: 0px 0px 80px 0px;
    background: #F9FBFB;
    text-align: center;
}

section.voice .inner {
    width: 1000px;
    margin: 0px auto;
}

section.voice h3 {
    padding: 30px;
    background: url(../images/voice_back.png) no-repeat;
    background-size: 25%;
    background-position: right center;
}

section.voice h3 p {
    width: 1000px;
    margin: 0px auto;
    font-size: 280%;
    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: 380px;
}

section.voice p.lead {
    font-size: 130%;
    line-height: 180%;
    margin-bottom: 20px;
}

.voice_block {
    width: 1000px;
    margin: 0px auto;
    margin-bottom: 60px;
}

.voice_q {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-bottom: 10px;
    justify-content: space-between;
    line-height: 1;
}

.voice_a {
    margin-bottom: 10px;
    padding: 20px 20px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    background: #F9F7C5;
}

.voice_a.staff {
    background: #E0EDF4;
    flex-flow: row-reverse;
}

div.voice_block .voice_q .left {
    width: 90px;
    font-size: 200%;
    line-height: 1;
}

div.voice_block .voice_q .right {
    width: calc(100% - 100px - 0px);
    text-align: left;
}

div.voice_block .voice_q .right h4 {
    padding-left: 10px;
    font-size: 205%;
    line-height: 1;
    text-align: left;
    color: #006fb8;
    font-weight: bold;
}

div.voice_block .voice_q .right h4 span {
    font-size: 190%;
    line-height: 1;
}

div.voice_block .voice_q .right p {
    font-size: 115%;
    line-height: 1.8;
}

div.voice_block .voice_a .icon {
    width: 100px;
    font-size: 200%;
}

div.voice_block .voice_a .text {
    width: calc(100% - 120px - 0px);
    padding: 10px 0px 0px 0px;
    text-align: left;
}

div.voice_block .voice_a .text p {
    font-size: 145%;
    line-height: 1.8;
}

/*beginner----------------------------------------------------------------*/
.beginner {
    background: #FFF;
    margin-top: -50p;
}

.beginner .inner {
    width: 1100px;
    margin: 0px auto;
    display: flex;
    align-items: center;
}

.beginner .inner .text {
    width: 810px;
}

.beginner .inner .text p {
    margin-bottom: 10px;
    font-size: 120%;
    line-height: 1.8;
}

.beginner .inner .text img {
    width: 90%;
}

.beginner .inner .img {
    margin-top: -60px;
}

/*faq----------------------------------------------------------------*/
section.faq {
    width: 100%;
    margin: 0px auto;
    padding: 0px 0px 80px 0px;
    background: #F9FBFB;
    text-align: center;
}

.faq_block {
    width: 1000px;
    margin: 0px auto;
    margin-bottom: 20px;
}

.faq_q {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 10px;
    border: 1px solid #0071B9;
    background: #fff;
    justify-content: space-between;
    line-height: 1;
}

.faq_a {
    padding: 20px 10px;
    display: flex;
    align-items: top;
    flex-wrap: wrap;
    justify-content: space-between;
}

div.faq_block .faq_q .left {
    width: 30px;
    padding: 5px;
    font-size: 200%;
    line-height: 1;
    text-align: center;
    color: #ffffff;
    background: #0071B9;
}

div.faq_block .faq_a .left {
    width: 30px;
    height: 30px;
    padding: 5px;
    font-size: 200%;
    line-height: 1;
    text-align: center;
    color: #fff;
    background: #E96100;
}

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: 160%;
    line-height: 1;
    text-align: left;
    color: #006fb8;
    font-weight: bold;
}

div.faq_block .faq_a .right {
    padding: 10px 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;
    color: #E96100;
    font-weight: bold;
}

section.faq .btn-slide {
    width: 748px;
    height: 80px;
    margin: 60px auto 0;
    font-size: 1.375rem
}

/*-footer--------------------------------------------------------------------------------------------*/
footer {
    clear: both;
    width: 100%;
    padding: 10px 0px;
    text-align: center;
    background: #0B318E;
}

footer .inner {
    width: 1100px;
    margin: 0px auto;
    text-align: center;
    color: #FFF;
    overflow: hidden;
}

footer .inner div.footer-logo {
    width: 40%;
    margin: 0px auto;
    text-align: center;
    overflow: hidden;
}

footer .inner div.footer-logo p {
    padding: 10px 0px;
    color: #FFF;
    font-size: 120%;
    line-height: 100%;
    text-align: center;
}

footer .inner div.footer-logo p img {
    width: 180px
}

footer .inner div.copy {
    width: 100%;
    float: right;
    text-align: center;
    font-size: 85%;
    overflow: hidden;
    color: #FFF;
}

.copy {
    width: 100%;
    padding: 10px 0px;
    text-align: center;
    background: #444C59;
    font-size: 85%;
    color: #FFF;
}

/*info-page----------------------------------------------------------------------------------------------------------------------------*/
.info-page {
    width: 100%;
    background: #D9EBF9;
    overflow: hidden;
}

.info-page .inner {
    width: 1146px;
    margin: 0px auto;
    padding: 20px 0px;
    overflow: hidden;
}

.info-page .inner div.txt {
    width: 780px;
    padding: 20px 20px 20px 20px;
    color: #333;
    font-size: 120%;
    line-height: 240%;
    background: #FFF;
    float: left;
}

.info-page .inner div.txt img {
    width: 60%;
    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: right;
    width: 260px;
    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;
}

/*form----------------------------------------------------------------------------------------------------------------------------*/
.form_note {
    color: #b0b0b0;
    text-align: center;
    font-size: 1rem;
}

.thanks-txt .inner {
    width: 900px;
    margin: 0px auto;
    padding: 40px 0px;
}
.thanks-txt .inner p {
    margin: 0px auto;
    padding: 10px;
    border: 2px solid #FF0004;
    font-size: 120%;
    line-height: 210%;
    background: #FFF;
}

/*--------------------------------------------------------------------------------*/
.popup {
    position: fixed;
    right: 0;
    top: 30%;
    z-index: 3000;
}

.popup_list {
    align-items: flex-end;
    display: flex;
    flex-direction: column
}

.popup_list li {
    height: 20%;
    margin-bottom: 10px;
    width: 100%
}

.popup_list li a i {
    font-size: 120%;
    padding-bottom: 10px;
    color: #fff;
}

.popup_list li a {
       align-items: center;
    background: #ff1d25;
    border: 2px solid #fff;
    border-radius: 15px 0 0 15px;
    color: #ff0;
    display: inline-flex
;
    font-size: 170%;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1px;
    justify-content: center;
    padding: 15px 15px 20px;
    text-orientation: upright;
    writing-mode: vertical-lr;
}

.popup_list li:last-child {
    margin-bottom: 0
}

.popup_list li a:hover {
    background: #ff700a;
}

/*--------------------------------------------------------------------------------*/
.now_3 {
    margin: 20px auto 50px;
    max-width: 700px;
}

.bnr .now_3 {
    margin: 70px auto 0;
}