@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,200,300,400,500,600,700');

/* !HTML5 elements
---------------------------------------------------------- */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
{ display: block;}

body, div, p,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre,
form, input, textarea,
table, th, td{ 
margin:0px; 
padding:0px; 
}
body{
font-size: 110%;
text-align: left;
color: #333;
font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3" , "Hiragino Kaku Gothic ProN," , "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ' , Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
-webkit-text-size-adjust: 100%;
    line-height: 1.5;
}
a:link, a:visited, a:hover, a:active {
	color: #333;
    text-decoration: none;
}
ul, .no_style_li {
    list-style-type: none;
}
.dic_li{
    list-style-type: disc;
}
.dic_li li{
    margin-left: 20px;
}
ul li:not(:last-child){
    margin-bottom: 10px
}
img{
    border:0px;
    margin: 0 auto;
    padding: 0;
    width: auto;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    display: block;
}
iframe {
    border: 0;
    overflow: hidden;
}
table{
    border-collapse:collapse;
    width: 100%;
    border: 1px solid #bfbfbf;
    background-color: #fff;
}
tr{
    border-bottom: 1px solid #bfbfbf;
}
tr:last-child{
    border-bottom: 0;
}
th, td {
    display: block;
    padding: 20px 10px;
    text-align: center;
}
th {
    color: #333;
    font-weight: bold;
    background-color: #e1f2fa;
    border-bottom: 1px solid #bfbfbf;
}

            /* 【スマートフォン用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                th, td {
                    display: table-cell;
                }
                th, td {
                    border-bottom: 0;
                }
            }
p{
    line-height: 1.5;
}

/* レイアウト
------------------------------------*/
.inner {
	width: 96%;
	margin: 0 auto;
}
#main{
    overflow: hidden;
}
.cassette {
	padding: 0 0 80px;
}
.cassette:last-of-type {
	padding-bottom: 120px;
}
#c01{
    padding-top: 80px;
}
#pankuzu {
	padding: 10px 0;
}
#menu {
	float: left;
	display: block;
}
.columnRight {
    display: block;
    float: right;
}
.columnLeft {
    display: block;
    float: left;
}
.link_txt:link, .link_txt:hover, .link_txt:active, .link_txt:visited{
    color: #ea6a98;
    text-decoration: underline;
}
.flex01{
    display: block;
}
.flex_box01, .flex_box02, .flex_box03{
    width: 100%;
    margin: 0 0 30px;
}
.flex_box01:last-child, .flex_box02:last-child, .flex_box03:last-child{
    margin: 0;
}
.txt_center{
    text-align: center;
}

        /* 【タブレット用のスタイル記述】 */
        @media screen and (min-width: 760px) {
            .flex01{
                display: flex;
                justify-content: space-between;
            }
            .flex_box01{
                width: 100%;
                margin: 0 30px 0 0;
            }
            .flex_box02{
                width: 32%;
                margin: 0 30px 0 0;
            }
            .flex_box03{
                width: 23%;
                margin: 0 30px 0 0;
            }
            .flex_box01:last-child, .flex_box02:last-child, .flex_box03:last-child {
                margin: 0;
            }
        }
        /* 【PC用のスタイル記述】 */
        @media screen and (min-width: 1200px) {
            .inner {
                width: 100%;
                max-width: 1200px;
            }
        }


 /*----------------------------------------------------
	margin set
----------------------------------------------------*/
.mgt5 { margin-top: 5px!important;}
.mgt10 { margin-top: 10px!important;}
.mgt15 { margin-top: 15px!important;}
.mgt20 { margin-top: 20px!important;}
.mgt25 { margin-top: 25px!important;}
.mgt30 { margin-top: 30px!important;}
.mgt35 { margin-top: 35px!important;}
.mgt40 { margin-top: 40px!important;}

.mgb5 { margin-bottom: 5px!important;}
.mgb10 { margin-bottom: 10px!important;}
.mgb15 { margin-bottom: 15px!important;}
.mgb20 { margin-bottom: 20px!important;}
.mgb25 { margin-bottom: 25px!important;}
.mgb30 { margin-bottom: 30px!important;}
.mgb35 { margin-bottom: 35px!important;}
.mgb40 { margin-bottom: 40px!important;}
.mgb50 { margin-bottom: 50px!important;}
.mgb60 { margin-bottom: 60px!important;}


/* responsive
------------------------------------*/
.pcTab, .pc, .tab { display: none;}
.sp, .tabSp { display: block;}

            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .pc, .sp { display: none;}
                .tab, .pcTab, .tabSp { display: block;}
            }
            /* 【PC用のスタイル記述】 */
            @media screen and (min-width: 960px) {
                .sp, .tab, .tabSp { display: none;}
                .pcTab, .pc { display: block;}
            }


/* header
------------------------------------*/
#header{
    background-color: #fff;
    box-shadow: 0 0 15px rgba(0,0,0,0.2);
    padding: 20px 0;
    position: relative;
    z-index: 1;
}
#header .h_box h1{
    margin: 0 0 0 20px;
    max-width: 250px;
}
#header .h_box h1 img{
    margin: 0;
}

/* 【スマートフォン用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                
            }

            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 960px) {
                #header{
                    padding: 0;
                }
                #header .h_box{
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                }
                #header .h_box h1{
                    max-width: 100%;
                }
            }


/* footer
------------------------------------*/
#footer {
    background-color: #f2efe7;
    position: relative;
    padding: 80px 0 30px;
}
#pagetop {
	position: absolute;
	right: 20px;
	top: -60px;
	z-index: 1;
}
#footer .copyright {
    text-align: center;
    font-size: 80%;
}
#footer .f_nav{
    display: none;
}
#footer .f_info {
    margin: 0 0 30px;
}
#footer .f_info .f_logo{
    display: block;
    margin: 0 0 10px;
    font-size: 140%;
    font-weight: bold;
    color: #f00;
}
#footer .f_info .access_li {
    margin: 40px 0 0;
}
#footer .f_info .access_li li:first-child{
    margin: 0 0 30px;
}


            /* 【スマートフォン用のスタイル記述】 */
            @media screen and (min-width: 760px) {
            }
            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 960px) {
                #footer .f_nav, #footer .f_nav .course_box:first-child .dic_li{
                    display: flex;
                    justify-content: space-between;
                }
                #footer .f_nav{
                    margin: 0 0 60px;
                }
                #footer .f_nav .course_box:first-child .dic_li{
                    flex-wrap: wrap;
                }
                #footer .f_nav .dic_li li{
                    width: 43%;
                }
                #footer .f_nav .no_style_li li{
                    width: 100%;
                }
                #footer .f_nav .course_box:first-child{
                    width: 48%;
                }
                #footer .f_nav .course_box:not(:first-child){
                    width: 30%;
                    margin: 0 0 0 30px;
                }
                #footer .f_nav .dic_li .gakka_ttl{
                    display: inline-block;
                    margin: 5px 0;
                    font-weight: bold;
                }
                #footer .course_box .course_ttl{
                    border-bottom: 2px solid #ff0000;
                    position: relative;
                    padding: 10px 0;
                    margin: 0 0 10px;
                }
                #footer .course_box .course_ttl a, #footer .course_box .course_ttl a:link,
                #footer .course_box .course_ttl a:active, #footer .course_box .course_ttl a:hover{
                    color: #ff0000;
                }
                #footer .course_box .course_ttl::after{
                    position: absolute;
                    color: #ff0000;
                    font-family: "Font Awesome 5 Free";
                    content: "\f138";
                    top: 50%;
                    transform: translateY(-50%);
                    right: 0;
                    font-weight: bold;
                }
            }



/* commonLayout
------------------------------------*/
.commonLayout .h2Wrap{
    padding: 40px 0;
    font-size: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position-x: 70%;
}
.commonLayout .h2Wrap h2{
    font-weight: 500;
}
.commonLayout h3{
    font-size: 170%;
    font-weight: 500;
    border-bottom: 2px solid;
    padding: 0 0 10px;
    margin: 0 0 30px;
}
.commonLayout .icon_li .btn{
    display: block;
    width: 100%;
    text-align: center;
    max-width: 160px;
    padding: 5px 0;
    border: 1px solid;
    border-radius: 50px;
    font-size: 85%;
}
.commonLayout .g_box{
    background-color: #f2efe7;
    padding: 40px 20px;
    max-width: 720px;
    width: 80%;
}
.commonLayout p{
    line-height: 1.8;
}
.commonLayout .couse_li, .commonLayout .koza_li li {
    border-bottom: 1px solid #c9c9c9;
    padding: 10px 0;
}
.commonLayout .couse_li .icon_li{
    display: flex;
    justify-content: space-between;
}
.commonLayout .couse_li .icon_li li{
    width: 48%;
}
.commonLayout .couse_li .couse_ttl{
    margin: 0 0 10px;
}
.commonLayout .koza_li .flex01 time{
    display: block;
    margin: 0 0 10px;
    color: #ff8400;
}
.commonLayout .couse_li time{
    margin: 0 0 10px;
    display: block;
    color: #ff8400;
}
.commonLayout .koza_li .btn01{
    margin: 10px 0;
    padding: 5px 0;
    max-width: 160px;
    font-size: 90%;
}
.commonLayout .koza_li .btn01 span{
    padding: 0;
}
.commonLayout .koza_li .btn01 span::after{
    content: none;
}

            /* 【スマートフォン用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .commonLayout .koza_li .btn01{
                    font-size: 100%;
                }
                .commonLayout .h2Wrap{
                    padding: 70px 0;
                    font-size: 170%;
                    background-position: center center;
                }
                .commonLayout .g_box{
                    padding: 40px;
                }
                .commonLayout .g_wrap .btn01 {
                    margin-top: 0;
                    margin-right: 0;
                    margin-left: 40px;
                }
                .commonLayout .g_wrap {
                    align-items: center;
                }
                .commonLayout .couse_li{
                    display: flex;
                    justify-content: space-between;
                }
                .commonLayout .couse_li time{
                    width: 18%;
                    margin: 0 10px 0 0;
                }
                .commonLayout .couse_li p{
                    width: 54%;
                }
                .commonLayout .couse_li .icon_li{
                    width: 28%;
                    justify-content: flex-end;
                }
                .commonLayout .couse_li .icon_li li:last-child{
                    margin: 0 0 0 10px;
                }
                .commonLayout .couse_li .couse_ttl{
                    margin: 0;
                }
                .commonLayout .koza_li .flex01 {
                    justify-content: flex-start;
                    align-items: center;
                }
                .commonLayout .koza_li .flex01 time{
                    width: 18%;
                    min-width: 80px;
                    margin: 0 10px 0 0;
                }
                .commonLayout .koza_li .flex01 .ttl{
                    width: 60%;
                }
                .commonLayout .koza_li .btn01{
                    margin: 0 0 0 10px;
                    width: 20%;
                }
            }
            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 960px) {
                .commonLayout .h2Wrap{
                    padding: 100px 0;
                }
                .commonLayout .icon_li .btn{
                    font-size: 100%;
                }
                .commonLayout .couse_li time{
                    width: 13%;
                    margin: 0 10px 0 0;
                }
                .commonLayout .couse_li p{
                    width: 58%;
                }
                .commonLayout .koza_li .flex01 time{
                    width: 15%;
                }
                .commonLayout .koza_li .flex01 .ttl{
                    width: 84%;
                }
            }


/* common
------------------------------------*/
.txtRed {
    color: #EA0000;
}
.btn01 {
    display: block;
    width: 100%;
    text-align: center;
    padding: 15px 0;
    border: 1px solid #ff0000;
    border-radius: 50px;
    max-width: 300px;
    margin: 40px auto 0;
    font-size: 105%;
}
.btn01 span{
    position: relative;
    color: #ff0000;
    padding: 0 30px 0 0;
}
.btn01 span::after{
    position: absolute;
    font-family: "Font Awesome 5 Free";
    content: "\f138";
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    font-weight: bold;
}


            /* 【スマートフォン用のスタイル記述】 */
            @media screen and (min-width: 760px) {
            }
            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 960px) {
            }


/* spNavi
------------------------------------*/
#gNavi {
    display: none;
}
#spNavi {
	display: block;
    position: relative;
}
.drawer-btn {
	position: absolute;
	z-index: 10;
	top: -60px;
    right: 20px;
    font-size: 230%;
}
.drawer-btn a:link,
.drawer-btn a:visited {
	color: #f00;
}
drawer-btn a.current {
	opacity: 0.3;
}
.drawer-btn a img {
	height: 33px;
}
.pull-down-list {
	display: block;
    position: absolute;
    width: 100%;
    top: 20px;
    z-index: 999;
}
.pull-down-inner {
	width: 100%;
	position: relative;
	padding: 15px;
	box-sizing: border-box;
	background-color: #607d8b;
}
.pull-down-list li:not(:last-child){
    margin-bottom: 0;
}
.pull-down-list li a {
	display: block;
	width: 100%;
	position: relative;
	padding: 10px 15px;
	box-sizing: border-box;
	text-decoration: none;
	color: #212121;
	line-height: 2em;
}
.pull-down-list li a:after {
	font-family: 'Font Awesome 5 Free';
	content: "\f054";
	color: #212121;
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -1em;
    font-weight: bold;
}
.pull-down-list li:nth-child(odd) {
	background: #fef8e4;
}
.pull-down-list li:nth-child(even) {
	background: #fff;
}

            /* 【スマートフォン用のスタイル記述】 */
            @media screen and (min-width: 760px) {
            }
            @media only screen and (min-width: 960px) {
                #gNavi {
                    display: block;
                }
                #spNavi {
                    display: none;
                }
                .pull-down-list {
                    display: none;
                }
                #gNavi {
                    width: 70%;
                }
                #gNavi ul.flex01{
                    justify-content: flex-end;
                }
                #gNavi li{
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    line-height: 1.2;
                    font-size: 115%
                }
                #gNavi li a{
                    display: block;
                    text-align: center;
                    padding: 0 20px;
                }
                #gNavi li:not(:last-child) a{
                    position: relative;
                }
                #gNavi li:not(:last-child){
                    margin: 20px 0;
                }
                #gNavi li:nth-child(1) a::after, #gNavi li:nth-child(2) a::after,
                #gNavi li:nth-child(3) a::after{
                    position: absolute;
                    content: '';
                    top: 50%;
                    transform: translateY(-50%);
                    width: 1px;
                    right: 0;
                    height: 60px;
                    background-color: #c9c9c9;
                }
                #gNavi .contact_btn{
                    background-color: #ff0000;
                    padding: 0;
                    text-align: center;
                }
                #gNavi .contact_btn a{
                    display: block;
                    padding: 30px 20px;
                }
                #gNavi .contact_btn a, #gNavi .contact_btn a:link, #gNavi .contact_btn a:active,
                #gNavi .contact_btn a:checked, #gNavi .contact_btn a:hover{
                    color: #fff;
                }
                #gNavi li:nth-child(1) a, #gNavi li:nth-child(1) a:link, #gNavi li:nth-child(1) a:active,
                #gNavi li:nth-child(1) a:checked, #gNavi li:nth-child(1) a:hover{
                    color: #509d57;
                }
                #gNavi li:nth-child(2) a, #gNavi li:nth-child(2) a:link, #gNavi li:nth-child(2) a:active,
                #gNavi li:nth-child(2) a:checked, #gNavi li:nth-child(2) a:hover{
                    color: #ff7800;
                }
                #gNavi li:nth-child(3) a, #gNavi li:nth-child(3) a:link, #gNavi li:nth-child(3) a:active,
                #gNavi li:nth-child(3) a:checked, #gNavi li:nth-child(3) a:hover{
                    color: #9d3285;
                }
            }


/* WordPressデフォルト
------------------------------------*/
.aligncenter {
    display: block;
    margin: 0 auto;
}
.alignright { float: right; }
.alignleft { float: left; }


/* pager
------------------------------------*/
.commonLayout .navigation {
	margin: 60px auto 0;
    text-align: center;
}
.commonLayout .wp-paginate .current, .commonLayout .wp-paginate a{
    padding: 15px;
}
.commonLayout .wp-paginate .current{
    background-color: #ff0000;
    border-color: #ff0000;
}
.commonLayout .wp-paginate a{
    color: #ff0000;
    background-color: #fff;
    border-color: #ff0000;
}
.commonLayout .wp-paginate a:hover, .commonLayout .wp-paginate a:active{
    color: #ff0000;
    background-color: #fff2f2;
}


            /* 【スマートフォン用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .commonLayout .navigation {
                    margin: 0 auto;
                    text-align: center;
                }
            }


/* clearfix
------------------------------------*/

.clearfix:after {
content: ".";
display: block;
clear: both;
height: 0;
visibility: hidden;
overflow:hidden;
}

.clearfix {
display: inline-block;
}

/* exlude MacIE5 \*/
* html .clearfix {
height: 1%
}

.clearfix {
display:block;
}
/* end MacIE5 */