@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: 1.6;
    font-size: 14px;
    font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    color: #333;
}

ol,ul,li,dl,dt,dd {
    list-style: none;
    margin: 0;
    padding: 0;
}

a {
    color: #0020D8;
    text-decoration: none;
}

a:visited {
    color: #004498;
}

img {
    vertical-align: bottom;
    border: none;
}

#wrapper {
    overflow: hidden;
    width: 100%;
}

a:hover img {
    filter: alpha(opacity=50);
    opacity: 0.5;
}

body {
}

main {
    background: #FFF;
}

/*---------------------------------------------------------------------------------------------*/
/* 固定するのは「position: fixed;」です。 */
#header-fix {
    width: 100%;
    height: auto;
    position: fixed;
    z-index: 999;
}

/* スクロールする場所：固定ナビゲーションの高さ＋余白をpadding-topに指定したりします。 */
#content {
    padding: 100px 0 0 0;
    margin-bottom: 70px;
}

/*---------------------------------------------------------------------------------------------*/
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: 15px 0px 15px 0px;
    position: relative;
    text-align: center;
}

h2.tit p {
    font-size: 200%;
    color: #FFEF00;
}

/*---------------------------------------------------------------------------------------------*/
header {
    width: 100%;
    overflow: hidden;
    margin: 0px auto;
    padding: 0px 0px;
    background: #0B318E;
    box-shadow: 0px 6px 6px -4px #808080;
    -moz-box-shadow: 0px 6px 6px -4px #808080;
    -webkit-box-shadow: 0px 6px 6px -4px #808080;
}

header .inner {
    width: 1100px;
    overflow: hidden;
    margin: 0px auto;
}

header .logo {
    padding-top: 5px;
    float: left;
}

header .right {
    float: left;
}

header .right .txt {
    color: #FFEF00;
    width: 360px;
    padding: 0% 4%;
    text-align: center;
}

header .right .txt .tel {
    color: #FFEF00;
    font-size: 210%;
}

header .right .txt .tel span.fa {
    color: #FFEF00;
    margin-right: 5px;
}

header h1 {
    font-size: 80%;
    margin-bottom: 5px;
    color: #FFF;
}

header h1 span {
    font-size: 100%;
}

/*-main--------------------------------------------------------------------------------------------*/
/*-nav--------------------------------------------------------------------------------------------*/
nav {
    /* box-shadow */
}

nav ul {
    width: 550px;
    float: right;
    border-left: 1px solid #B1B1B1;
    margin: 0px auto;
    display: flex;
    /*横並び*/
    align-items: top;
    /*天地センター*/
    flex-wrap: wrap;
    justify-content: space-between;
}

nav ul li {
    width: 99px;
    padding: 0px 5px;
    text-align: center;
    border-right: 1px solid #B1B1B1;
}

nav ul li img {
}

nav ul li.now {
    border-bottom: 7px solid #FFF100;
}

/*---------------------------------------------------------------------------------------------*/
.main {
    width: 100%;
    overflow: hidden;
    background: #E70A1B;
    padding-top: 20px;
    padding-bottom: 120px;
    text-align: center;
    z-index: 200;
}

.main .inner {
    width: 1110px;
    overflow: hidden;
    text-align: center;
    margin: 0px auto;
}

.top-img {
    width: 100%;
    background: url(../images/back-gray.png);
    z-index: 1000;
    padding-bottom: 40px;
}

.top-img .inner {
    width: 1000px;
    text-align: center;
    margin: 0px auto;
}

.top-img .inner img {
    overflow: visible;
    margin-top: -80px;
}

.main-img {
    overflow: hidden;
    margin-bottom: 40px;
}

/*-bnr--------------------------------------------------------------------------------------------*/
.bnr {
    width: 100%;
    margin-bottom: 30px;
    background: #FFF;
    text-align: center;
}

.bnr2 {
    width: 100%;
    text-align: center;
    margin: 0 auto 50px auto;
}

.bnr .inner {
    width: 1100px;
    margin: 0px auto;
    padding: 40px 0% 40px 0%;
    display: flex;
    /*横並び*/
    align-items: top;
    /*天地センター*/
    flex-wrap: wrap;
    text-align: center;
    justify-content: center;
}



.bnr .inner p img {
    width: 100%;
}

ul.bnr {
    width: 100%;
    margin: 0px auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-around;
}

ul.bnr li {
    width: calc(100% / 2 - 20px);
    text-align: center;
}

/* ul.bnr li{
	width: 50%;
	text-align: center;
} */
ul.bnr li img {
    width: 95%;
}

section.ad {
    width: 60%;
    margin: 0px auto;
}

section.ad img {
    width: 80%;
    filter: drop-shadow(0px 10px 6px rgba(0,0,0,0.3));
}

/*intro---------------------------------------------------------------------------*/
.intro {
    width: 100%;
    background: #FFF;
    text-align: center;
}

.intro .inner {
    width: 900px;
    margin: 0px auto;
    padding:40px 0px;
    display: flex;
    /*横並び*/
    align-items: center;
    /*天地センター*/
    flex-wrap: wrap;
    justify-content: center;
}

.intro .inner .left {
    width: 35%;
}

.intro .inner .left img {
    width: 100%;
}

.intro .inner .right {
    width: 63%;
    padding-left: 2%;
    text-align: left;
    line-height: 210%;
}

/*point--------------------------------------------------------------------------------*/
.point {
    margin-bottom: 40px;
}

.point ul {
    width: 1100px;
    margin: 0px auto;
    display: flex;
    /*横並び*/
    align-items: top;
    /*天地センター*/
    flex-wrap: wrap;
    justify-content: space-between;
}

.point li {
    width: 32%;
    text-align: center;
    background: url(../images/point01-back.png) no-repeat;
    background-size: cover;
    border-radius: 15px;
    margin-bottom: 20px;
}

.point li a p {
    color: #FFF;
    text-align: left;
    padding: 0px 40px 0px 30px;
    font-size: 68%;
    min-height: 90px;
}

.point li a {
    border-radius: 15px;
    padding: 7% 5px;
    display: block;
    background : rgba(9, 37, 107, 0.95);
    color: #FFF;
    font-size: 145%;
    display: block;
    position: relative;
}

.point li a:hover {
    background : rgba(255, 255, 255, 0.74);
    color: #222;
}

.point li a:hover span,.point li a:hover p {
    color: #222;
}

.point li a span {
    color: #FFEF00;
    font-size: 130%;
}

.point li img {
    width: 100%;
}

.point li a:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 15px;
    height: 15px;
    margin: -4px 0 0 0;
    border-top: solid 4px #FFF;
    border-right: solid 4px #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*----------------------------------------------*/
.course-top-table {
    width: 1100px;
    margin: 0px auto;
    margin-bottom: 60px;
}

.course-top-table ul {
    display: flex;
    /*横並び*/
    align-items: top;
    /*天地センター*/
/*    flex-wrap: wrap; */
    justify-content: space-between;
}

.course-top-table li img {
    width: 100%;
}

.course-list {
    width: 1100px;
    margin: 0px auto;
    margin-bottom: 60px;
}

.course-list ul {
    display: flex;
    /*横並び*/
    align-items: top;
    /*天地センター*/
    flex-wrap: wrap;
    gap: 10px;
}

.course-list li {
    width: calc(100% / 4 - 10px);
}

.course-list li img {
    width: 100%;
}

.top-course-list {
    width: 1100px;
    margin: 0px auto;
    margin-bottom: 60px;
}

.top-course-list ul {
    display: flex;
    /*横並び*/
    align-items: top;
    /*天地センター*/
    flex-wrap: wrap;
    justify-content: space-between;
}

.top-course-list li {
    width: 32%;
}

.top-course-list li img {
    width: 100%;
}

.menu-list {
    width: 1100px;
    margin: 0px auto;
    margin-bottom: 60px;
}

.menu-list ul {
    display: flex;
    /*横並び*/
    align-items: top;
    /*天地センター*/
    flex-wrap: wrap;
    justify-content: space-between;
}

.menu-list li {
    width: 45%;
}

.menu-list li img {
    width: 100%;
}

/*.works---------------------------------------------------------------------------------------------------*/
.works {
    margin: 0px auto;
    margin-bottom: 60px;
}

.works ul {
    width: 1100px;
    margin: 0px auto;
    display: flex;
    /*横並び*/
    align-items: top;
    /*天地センター*/
    flex-wrap: wrap;
    justify-content: space-between;
}

.works li {
    width: 16%;
}

.works li img {
    width: 96%;
}

.works .btn {
    text-align: center;
    margin: 0px auto;
}

.works .btn a {
    padding: 5px 40px;
    border: 3px solid #0B318E;
    border-radius: 30px;
    font-size: 150%;
    color: #4D4D4D;
}

.works .btn a:hover {
    background: #FFEF00;
}

/*message------------------------------------------------------------------------------------------*/
.message .photo {
    width: 280px;
    float: left;
}

.message .txt {
    width: 680px;
    float: right;
}

.message .txt p {
    line-height: 210%;
}

/*shop-list-----------------------------------------------------*/
.shop {
    background: #F0FAFB;
}

.shop-list .inner {
    width: 1110px;
    margin: 0px auto;
    padding: 20px 0px;
}

h3.shop-list {
    margin-bottom: 10px;
    padding: 5px 0px;
    font-size: 180%;
    border-top: 1px solid #0B318E;
    border-bottom: 1px solid #0B318E;
    color: #0B318E;
    text-align: center;
    background: #FFF;
    clear: both;
}

.shop-block {
    width: 100%;
    margin: 0px auto;
    overflow: hidden;
    clear: both;
    margin-bottom: 50px;
}

.shop-block .map {
    width: 700px;
    float: right;
}

.shop-block .txt {
    width: 350px;
    float: left;
}

.shop-block .txt img {
    width: 100%;
    margin-bottom: 10px;
}

.shop-block .txt .reserve {
    font-size: 110%;
    color: #EE0003;
}

.shop-block .txt .reserve a {
    font-size: 140%;
    color: #EE0003;
    text-decoration: underline;
}

table.shop {
    margin: 0px 0px 10px 0px;
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0px;
}

table.shop th,table.shop td {
    padding: 8px 8px 8px 8px;
    line-height: 18px;
    vertical-align: middle;
    border-bottom: 1px solid #BBB;
    text-align: left;
    font-size: 100%;
    font-weight: normal;
    color: #000000;
    background: #FFF;
}

table.shop th {
    width: 130px;
}

table.shop td span.red {
    font-size: 120%;
    color: #FF0004;
}

ul.shop {
    margin-bottom: 10px;
}

ul.shop li {
    font-size: 130%;
}

ul.shop li.reserve {
    font-size: 120%;
    color: #FF0004;
}

ul.shop li.reserve a {
    font-size: 135%;
    color: #FF0004;
}

/*-footer--------------------------------------------------------------------------------------------*/
footer {
    clear: both;
    width: 100%;
    padding: 30px 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%;
    float: left;
    text-align: center;
    overflow: hidden;
}

footer .inner div.footer-logo p {
    color: #FFF;
    font-size: 80%;
    margin-bottom: 10px;
}

footer .inner div.footer-logo p.btn a {
    width: 90%;
    display: block;
    background: #FEEB32;
    border-radius: 10px;
    padding: 15px;
    color: #222;
    font-size: 160%;
}

footer .inner div.footer-logo img {
    width: 90%;
}

footer .inner div.txt {
    width: 55%;
    float: right;
    text-align: left;
    display: flex;
    /*横並び*/
    align-items: top;
    /*天地センター*/
    flex-wrap: wrap;
    justify-content: space-between;
}

footer .inner div.txt ul {
    width: 50%;
}

footer .inner div.txt ul li {
    color: #FFF;
    margin-bottom: 10px;
}

footer .inner div.txt ul li span {
    color: #FFF;
    margin-right: 10px;
}

footer .inner div.txt ul li a {
    color: #FFF;
}

footer .inner div.copy {
    width: 100%;
    float: right;
    text-align: center;
    font-size: 85%;
    overflow: hidden;
    color: #FFF;
}

.copy {
    width: 100%;
    padding: 15px 0px;
    text-align: center;
    background: #444C59;
    font-size: 85%;
    color: #FFF;
}

/*-footer-nav--------------------------------------------------------------------------------------------*/
.footer-nav {
    width: 100%;
    background: #FFF;
}

.footer-nav ul {
    width: 100%;
    margin: 0px auto;
    padding: 10px 0%;
    display: flex;
    /*横並び*/
    align-items: top;
    /*天地センター*/
    flex-wrap: wrap;
    justify-content: center;
}

.footer-nav ul li {
    border-right: 1px solid #B6B6B6;
    padding: 0px 10px;
}

.footer-nav ul li:last-child {
    border-right: none;
}

/*---------------------------------------------------------------------------------------------*/
.center {
    margin: 0px auto;
    text-align: center;
}

.img {
    margin: 0px auto;
    margin-bottom: 60px;
    text-align: center;
}

.footer_area {
    display: none;
}
.foot_bnr .inner {
    width: 950px;
    margin: 0px auto;
    padding: 40px 0% 64px 0%;
}
.foot_bnr .inner ul{
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    text-align: center;
    justify-content: space-evenly;
}
.foot_bnr .inner ul li{
    width: calc(100% / 3 - 20px);
    margin-bottom:20px;
}
.foot_bnr .inner ul li img{
    width: 100%;
}
@media screen and (min-width: 640px) {
    .sp-img, ul.sp-img {
        display:none;
    }
}
.size_btn a{
    width: 35%;
    display: block;
    margin: 0px auto;
    margin-bottom: 20px;
    padding: 15px;
    border-radius: 10px;
    border: 1px solid #ffffff;
    font-size: 170%;
    font-weight:bold;
    color: #faef25;
    box-shadow: 0px 5px 8px -4px #777777;
    background: linear-gradient(0deg, #0b318d 0%, #0b318d 49%, #6d89cd 95%);
    position:relative;
}

.size_btn02 a{
    width: 85%;
    display: block;
    margin: 0px auto;
    margin-bottom: 20px;
    padding: 15px;
    border-radius: 10px;
    border: 1px solid #ffffff;
    font-size: 140%;
    font-weight:bold;
    color: #faef25;
    box-shadow: 0px 5px 8px -4px #777777;
    background: linear-gradient(0deg, #0b318d 0%, #0b318d 49%, #6d89cd 95%);
    position:relative;
}
.size_btn a::after,
.size_btn02 a::after{
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto;
}
.size_btn a:hover,
.size_btn02 a:hover{
        color: #0b318d;
    top:4px;
    text-decoration:none;
    box-shadow: 0px 5px 3px -4px #777777;
    background: linear-gradient(0deg, rgba(255,246,0,1) 0%, rgba(255,242,0,1) 49%, rgba(255,190,0,1) 95%);
}
.size_btn a:hover::after,
.size_btn02 a:hover::after {
        border-right: 3px solid #0b318d;
    border-bottom: 3px solid #0b318d;
}
