@charset "UTF-8";
/* CSS Document */

/* Reset -------------------------------------------- */

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, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none outside none;}
table {border-collapse: collapse;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

html {overflow-y: scroll;}
body{
font:80%/1.5 Arial,"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
color:#000;
-webkit-text-size-adjust: 100%;
background:#fff;
}
html>/**/body {}
* + html body {font-family: "メイリオ","Meiryo";}

object, embed	{vertical-align: top;}
/*hr, legend	{display: none;}*/
legend	{display: none;}
img {-ms-interpolation-mode: bicubic; }
li	{list-style-type: none;}
p, dd, blockquote {text-align: justify;text-justify: inter-ideograph;}
a	{overflow: hidden;outline: none;}

strong {font-weight: bold;}
sub, sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}

/* -------------------------------------------- */


/* Style -------------------------------------------- */

body {
	color: #000;
	font-size: 16px;
	line-height: 1.7;
	background-color: #1d2cab;
}

a{
	margin: 0;
	padding: 0;
	text-decoration: none;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-size: 100%;
	color: #000;
	transition: all 0.2s linear;
}

ul.asterisk li{
	padding-left: 1em;
	text-indent: -1em;
}
table th.nowrap{
	white-space: nowrap;
}



/* --------------------------------------------------
  Page Header
-------------------------------------------------- */

header.page {
	width: 100%;
	height: 200px;

	position: relative;
	z-index: 100;
	
	background-color: #1d2cab;
}
header.page .title{
	width: 100%;
	height: 100px;
	position: relative;	
}
header.page .menu{
	width: 100%;
	max-width: 1152px;
	margin: 0 auto;
}


header.page #logo{
	width: 90%;
	max-width: 270px;
	
	margin: 0 auto;
	padding: 22px 0 0;
	
	line-height: 0;
}
header.page #logo img{
	width: 100%;
	height: auto;
}


/* --------------------------------------------------
  Content
-------------------------------------------------- */

#content{
	width: 100%;
	position: relative;
	z-index: 10;
}






/* --------------------------------------------------
  Home, common
-------------------------------------------------- */


#homeMain{
	width: 100%;
	background-color: #1d2cab;

	position: relative;
	z-index: 10;
	
	padding-bottom: 20px;
}


#homeMainImage{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	
	position: relative;
	z-index: 20;
}
#homeMainImage .imageArea{
	width: 100%;
	display: block;

	position: relative;
	z-index: 30;
	overflow: hidden;
		
	line-height: 0;
    
    background-color: #0a135d;
}
#homeMainImage .imageArea:before{
	content:"";
	display: block;
	padding-top: 55%;
}
#homeMainImage .imageArea .cover{
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 500;
}
#homeMainImage .imageArea img{
	display: block;
	width: 100%;
	height: auto;

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

ul#mainSlide li{
    display: none;
}

.loader {
    position: absolute;
    top: calc(50% - 32px);
    left: calc(50% - 32px);
    width: 64px;
    height: 64px;
}
.loader div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    box-sizing: border-box;
    opacity: .8;
}
.one {
    border-top: 1px solid #8fb259;
    animation: rotate-left 1s linear infinite;
}
.two {
    border-right: 1px solid #cccc52;
    animation: rotate-right 1s linear infinite;
}
.three {
    border-bottom: 1px solid #ffd933;
    animation: rotate-right 1s linear infinite;
}
.four {
    border-left: 1px solid #ff7f00;
    animation: rotate-right 1s linear infinite;
}
@keyframes rotate-left {
    0% {
        transform: rotate(360deg);
    }
    100% {
        transform: rotate(0deg);
    }
}
@keyframes rotate-right {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

#homeMain .copy{
	width: 90%;
	margin: 0 auto;
	
	font-family: "nakayoshi","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	font-size: 30px;
	color: #fff;
	line-height: 1.3;
	letter-spacing: 0.1em;
	
	text-align: center;
	
	margin-bottom: 25px;
}
#homeMain .copy br.ww{
	display: none;
}


#homeMain .address{
	width: 95%;
	max-width: 1200px;
	margin: 0 auto;
	
	position: relative;
	z-index: 50;
	
	text-align: center;
}
#homeMain .address img{
	width: 254px;
	height: auto;
	
	line-height: 0;
	
	position: absolute;
	left: 0;
	top: -180px;
}




#pickup{
	width: 100%;
	text-align: center;
	
	z-index: 100;
}

#pickup p{
	display: inline-block;
	max-width: 80%;
	
	background-color: #172389;
	background-image: url(img/arrow_linkBtn_r.png);
	background-size: 18px auto;
	background-repeat: no-repeat;
	background-position: right 25px center;
	
	border-radius: 30px;

	transition: all 0.2s linear;
}
#pickup p:hover{
	background-color: #091264;
}
#pickup p a{
	display: block;
	font-size: 13px;
	color: #fff;
	
	padding: 0px 80px 10px 20px;
}
#pickup p a > span{
	display: block;
	white-space: nowrap;
	overflow: hidden;
	
	padding-bottom: 10px;
}
#pickup p a > span:before {
    content: url(./img/icon_pickup.png);
    margin: 10px;
    position: relative;
    top: 12px;
}
#pickup p a > span >span.date{
	font-size: 14px;
	font-weight: bold;
	padding-right: 14px;
}


#pickup2{
    box-sizing: border-box;
	width: 100%;
    position: relative;
	z-index: 100;
    
    padding: 0 5% 10px;
    
    display: flex;
    justify-content: center;
}
#pickup2 ul{
    box-sizing: border-box;
    
    width: auto;
	max-width: 700px;
    margin: 0 auto;
	
	background-color: #172389;
	border-radius: 30px;
    
    padding: 25px 30px 10px;
}
#pickup2 ul li{
    padding-bottom: 2px;
    position: relative;
    padding-left: 24px;
}
#pickup2 ul li::before{
    content: "";
    position: absolute;
    left: 0;
    top: 1px;
    width: 18px;
    height: 18px;
    
	background-image: url("img/icon_pickup2.png");
	background-size: 20px auto;
	background-repeat: no-repeat;
	background-position: right center;
}
#pickup2 ul li:nth-child(3n)::before{
	background-image: url("img/icon_pickup2b.png");
}
#pickup2 ul li:nth-child(3n+1)::before{
	background-image: url("img/icon_pickup2c.png");
}
#pickup2 ul li a{
	display: inline-block;
	font-size: 14px;
	color: #fff;
    line-height: 1.5;
}
#pickup2 ul li a:hover{
    text-decoration: underline;
}
#pickup2 ul li a .title{
    position: relative;
    padding-right: 16px;
}
#pickup2 ul li a .title::after{
    content: "";
    position: absolute;
    right: 0;
    bottom: 1px;
    width: 12px;
    height: 12px;
    
	background-image: url(img/arrow_linkBtn_r.png);
	background-size: 12px auto;
	background-repeat: no-repeat;
	background-position: right center;
}



#pickup3{
    box-sizing: border-box;
	width: 100%;
    position: relative;
	z-index: 100;
    
    padding: 0 5% 10px;
    
    display: flex;
    justify-content: center;
}
#pickup3 ul{
    box-sizing: border-box;
    
    width: auto;
	max-width: 700px;
    margin: 0 auto;
	
	background-color: #172389;
	border-radius: 30px;
    
    padding: 25px 30px 10px;
}
#pickup3 ul li{
    padding-bottom: 4px;
    position: relative;
    padding-left: 28px;
}
#pickup3 ul li::before{
    content: "";
    position: absolute;
    left: 0;
    top: 1px;
    width: 22px;
    height: 22px;
    
	background-image: url("img/icon_pickup2.png");
	background-size: 24px auto;
	background-repeat: no-repeat;
	background-position: right center;
}
#pickup3 ul li:nth-child(3n)::before{
	background-image: url("img/icon_pickup2b.png");
}
#pickup3 ul li:nth-child(3n+1)::before{
	background-image: url("img/icon_pickup2c.png");
}
#pickup3 ul li a{
	display: inline-block;
	font-size: 18px;
	color: #fff;
    line-height: 1.5;
}
#pickup3 ul li a:hover{
    text-decoration: underline;
}
#pickup3 ul li a .title{
    position: relative;
    padding-right: 16px;
}
#pickup3 ul li a .title::after{
    content: "";
    position: absolute;
    right: 0;
    bottom: 1px;
    width: 16px;
    height: 16px;
    
	background-image: url(img/arrow_linkBtn_r.png);
	background-size: 16px auto;
	background-repeat: no-repeat;
	background-position: right center;
}




h2.cmn,
h1.article{
	width: 100%;
	text-align: center;
}
h2.cmn span,
h1.article span{
	display: inline-block;
	box-sizing: border-box;
	min-height: 60px;
	padding-top: 10px;
	margin: 0 auto 30px;
	
	font-size: 30px;
	font-family: "nakayoshi","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #0a1575;
	line-height: 1.3;
	letter-spacing: 0.1em;
	
	text-align: left;
	padding-left: 62px;
	
	background-image: url(img/icon_h2_common.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 50px auto;
	
}


h3.cmn{
	width: 100%;
}
h3.cmn span{
	display: inline-block;
	box-sizing: border-box;
	min-height: 48px;
	padding-top: 8px;
	margin: 0 auto 25px;
	
	font-size: 22px;
	font-family: "nakayoshi","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #0a1575;
	line-height: 1.3;
	letter-spacing: 0.1em;
	
	text-align: left;
	padding-left: 52px;
	
	background-image: url(img/icon_h3_common.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 40px auto;
	
}



h2.cmn.preNavi{
	text-align: right;
}
h2.cmn.preNavi span{
	background-image: url(img/icon_h2_preNavi.png);
	margin-bottom: 0;
}



#preNavi{
	width: 100%;
	background-color: #e5e8ff;
	
	padding: 30px 0 10px;
}
#preNavi .content{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: center;
	align-items: center;
}
#preNavi .title{
	width: 27%;
	padding-left: 2%;
}
#preNavi .list{
	width: 70%;
}
#preNavi ul{
	width: 95%;
	margin: 0 auto;

	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
#preNavi ul li{
	width: 20%;
	padding: 0 2% 10px;
/*	min-width: 180px;*/

}
#preNavi ul li a{
	color: #0a1575;
}
#preNavi ul li a.photo{
	display: block;
	
	width: 100%;
	height: auto;
	position: relative;
	
	border-radius: 50%;
	
	line-height: 0;
	transition: all 0s linear;

	z-index: 50;
	
	border: 9px solid #c5caf1;
	
	margin-bottom: 1em;
}
#preNavi ul li a.photo:before{
	content: "";
	display: block;
	padding-top: 100%;
}
#preNavi ul li a.photo img{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	
	width: 100%;
	height: auto;
	
	text-align: center;
	
	transition: all 0.3s linear;
	
	z-index: 10;
}
#preNavi ul li a.photo img:hover{
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-o-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2);
}

#preNavi li .title{
	display: block;
	width: 100%;
	font-size: 16px;
	line-height: 1.2;
	
	font-weight: bold;

	text-align: center;

}
#preNavi li .title .desc{
	font-size: 12px;
	font-weight: normal;
	line-height: 1.0;
}



h2.cmn.preNavi2{
}
h2.cmn.preNavi2 span{
	background-image: url(img/icon_h2_preNavi.png);
	margin-bottom: 0;
    
    margin-bottom: 30px;
}

#preNavi2{
	width: 100%;
	background-color: #e5e8ff;
	
	padding: 30px 0 35px;
}
#preNavi2 p.lead{
    width: 90%;
    margin: 0 auto;
    text-align: center;
    
    font-size: 15px;
    line-height: 1.7;
    
    margin-bottom: 15px;
}
#preNavi2 .line{
    text-align: center;
    width: 95%;
    max-width: 780px;
    margin: 0 auto;
    
    margin-bottom: 20px;
}
#preNavi2 .line .inner{
    display: inline-block;
    padding: 15px 20px 5px;
    background-color: #fff;
    border-radius: 20px;
}
#preNavi2 .line h3{
    font-size: 17px;
    line-height: 1.3;
    color: #00800b;
    margin-bottom: 5px;
}
#preNavi2 .line p{
    font-size: 15px;
    line-height: 1.7;
    text-align: center;
    margin-bottom: 10px;
}

#preNavi2 table{
    box-sizing: border-box;
    width: 99%;
    max-width: 950px;
    margin: 0 auto;

    position: relative;
    z-index: 90;

    border-bottom: 1px solid #aaa;
}
#preNavi2 table tr{
    box-sizing: border-box;
    position: relative;
    z-index: 95;
}
#preNavi2 table tr.y3{
    z-index: 94;
}
#preNavi2 table tr.top{
    border-bottom: 1px solid #aaa;
}
#preNavi2 table th.category{
    box-sizing: border-box;
    width: 27%;
    text-align: center;
    padding: 10px 0;
    font-size: 16px;
    color: #666;
    font-weight: bold;
    line-height: 1.0;
    white-space: nowrap;
    background-color: #ced3fa;
    border-top: 1px solid #aaa;
}
#preNavi2 table th.age{
    box-sizing: border-box;
    width: 10%;
    text-align: center;
    padding: 10px 15px;
    font-size: 16px;
    color: #000;
    font-weight: bold;
    line-height: 1.0;
    white-space: nowrap;
    border-top: 1px solid #fff;
    border-left: 1px solid #ccc;
    border-right: 1px solid #aaa;
    position: relative;
    
    vertical-align: middle;
    height: 110px;
}
#preNavi2 table tr:nth-child(2) th.age{
    border-top: none;
}
#preNavi2 table th.age.a0{
    background-color: #f6f399;
    
    padding-top: 50px;
}
#preNavi2 table th.age.a0::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 49px;
    border-bottom: 1px solid #fff;
    background-color: #f1f2f6;
}
#preNavi2 table th.age.a1{
    background-color: #d8e480;
}
#preNavi2 table th.age.a2{
    background-color: #8dc76d;
}
#preNavi2 table th.age.a3{
    background-color: #0ba95f;
    height: 90px;
}

#preNavi2 table td{
    font-size: 16px;
    border-top: 1px solid #eee;
    border-right: 1px solid #ccc;
    
    background-color: #fff;
    
    position: relative;
    z-index: 100;
}
#preNavi2 table tr:nth-child(2) td{
    border-top: none;
}

#preNavi2 table td .content{
    box-sizing: border-box;
    width: 100%;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: space-between;
    
	transition: all 0.2s linear;
}

#preNavi2 table td.hirobababy{
    border-top: none;
    position: relative;
    z-index: 110;
}
#preNavi2 table td.hirobapetit{
    border-top: none;
    position: relative;
    z-index: 110;
}
#preNavi2 table td.hiroba{
    border-top: none;
    position: relative;
    z-index: 110;
}

#preNavi2 table td.hirobababy .content{
    height: 180px;
    
    position: relative;
    padding: 10px 15px 5px;
    
    margin-top: 50px;
    
    background-color: #fce9f2;
}
#preNavi2 table td.hirobababy .content:hover{
    background-color: #fadcea;
}
#preNavi2 table td.hirobapetit .content{
    height: 180px;
    
    position: relative;
    padding: 10px 15px 5px;
    
    background-color: #fef0d7;
}
#preNavi2 table td.hirobapetit .content:hover{
    background-color: #fae0b1;
}
#preNavi2 table td.hiroba .content{
    height: 240px;
    
    position: absolute;
    left: 0;
    top: 0;
    z-index: 120;
    padding: 10px 15px 5px;
    
    background-color: #e0efd5;    
}
#preNavi2 table td.hiroba .content:hover{
    background-color: #c7ebad;
}
#preNavi2 table td.tamago{
    border-top: none;
}
#preNavi2 table td.hiyoko{
    border-top: none;
}
#preNavi2 table td.usagi{
    border-top: none;
}
#preNavi2 table td.tamago .content{
    height: 180px;
    
    position: relative;
    padding: 10px 15px 5px;
    
    background-color: #fffbc4;    
}
#preNavi2 table td.tamago .content:hover{
    background-color: #fbf492;
}
#preNavi2 table td.hiyoko .content{
    height: 180px;
    
    position: relative;
    padding: 10px 15px 5px;
    
    background-color: #fff799;    
}
#preNavi2 table td.hiyoko .content:hover{
    background-color: #faee5f;
}
#preNavi2 table td.usagi .content{
    height: 180px;
    
    position: relative;
    padding: 10px 15px 5px;
    
    background-color: #fce9f1;    
}
#preNavi2 table td.usagi .content:hover{
    background-color: #f9d2e2;
}

#preNavi2 table td.hirobababy .content::before,
#preNavi2 table td.tamago .content::before,
#preNavi2 table td.usagi .content::before{
    content: "";
    display: block;
    width: 100%;
    height: 62px;
    position: absolute;
    left: 0;
    top: -52px;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 56px auto;
    
}
#preNavi2 table td.hirobababy .content::before{
    background-image: url("img/icon_prenavi_neko.png");
}
#preNavi2 table td.tamago .content::before{
    background-image: url("img/icon_prenavi_hiyoko.png");
}
#preNavi2 table td.usagi .content::before{
    background-image: url("img/icon_prenavi_usagi.png");
}

#preNavi2 table td .content .text{
    display: block;
    width: 100%;
}
#preNavi2 table td .content .link{
    display: block;
    width: 100%;
}

#preNavi2 table td .title{
    display: block;
    margin-top: 5px;

    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;

    text-align: center;
    margin-bottom: 15px;
}
#preNavi2 table td.hirobababy .title{
    color: #dd1574;
}
#preNavi2 table td.hirobapetit .title{
    color: #d18600;
}
#preNavi2 table td.hiroba .title{
    color: #52c200;
}
#preNavi2 table td.tamago .title{
    color: #9c9205;
}
#preNavi2 table td.hiyoko .title{
    color: #877c00;
}
#preNavi2 table td.usagi .title{
    color: #c40254;
}
#preNavi2 table td .desc{
    display: block;

    font-size: 15px;
    line-height: 1.5;

    text-align: center;
    margin-bottom: 10px;
}



#preNavi2 table td.hagaki{
    width: 10%;
}
#preNavi2 table td.hagaki .content{
	box-sizing: border-box;
    height: 680px;

/*	
	padding-right: 20px;
    padding-left: 20px;
*/

    background-color: #d3edfb;
	
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-align: center;
    
    position: absolute;
    left: 0;
    top: 0;
    
    font-size: 18px;
    color: #0071ae;
    font-weight: bold;
    letter-spacing: 0.1em;
    
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    
}
#preNavi2 table td.hagaki .content:hover{
    background-color: #bae4fa;
}
#preNavi2 table td .content .textV{

}
#preNavi2 table td .content .linkV{
    box-sizing: border-box;
    display: block;
    width: 100%;
    
    padding: 0 10px 8px;
    
    writing-mode: horizontal-tb;
    
    position: absolute;
    left: 0;
    bottom: 0;
    
}
_::-webkit-full-page-media, _:future, :root #preNavi2 table td .content .linkV {
    left: 20px;
}


#preNavi2 table td .content .btn{
    box-sizing: border-box;
	display: block;
    
	padding: 8px 30px 8px 10px;
    margin-bottom: 8px;
	color: #fff;
	font-size: 14px;
    font-weight: bold;
	line-height: 1.0;
    
    text-align: center;
    
	background-color: #2f9cf8;
	background-image: url(img/icon_link_wc.png);
	background-repeat: no-repeat;
	background-position: right 8px top 6px;
	border-radius: 5px;
    
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    
    transition: all 0.2s linear;
}
#preNavi2 table td .content .btn2{
    box-sizing: border-box;
	display: block;
    
	padding: 8px 10px 30px 10px;
    margin-bottom: 8px;
	color: #fff;
	font-size: 14px;
    font-weight: bold;
	line-height: 1.0;
    
    text-align: center;
    
	background-color: #2f9cf8;
	background-image: url(img/icon_link_wc.png);
	background-repeat: no-repeat;
	background-position: center bottom 6px;
	border-radius: 5px;
    
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    
    transition: all 0.2s linear;
}
#preNavi2 table td .content:hover .btn,
#preNavi2 table td .content:hover .btn2{
    box-shadow: none;
}





#preNavi2 .entry {
    margin-top: 12px;
    padding-top: 65px;
    
    background-image: url("img/arrow_prenavi.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 81px auto;
}
#preNavi2 .entry .text{
    box-sizing: border-box;
    width: 90%;
    margin: 0 auto;
    max-width: 950px;
    background-color: #1d2cab;
    
    padding: 15px 20px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 1.0;
    border-radius: 25px;

    margin-bottom: 35px;
}
#preNavi2 .entry .link{
    width: 90%;
    margin: 0 auto;
    max-width: 250px;
}
#preNavi2 .entry .link a{
    box-sizing: border-box;
	display: block;
    
	padding: 10px 30px 10px 30px;
    margin-bottom: 8px;
	color: #fff;
	font-size: 15px;
    font-weight: bold;
	line-height: 1.0;
    
    text-align: center;
    
	background-color: #2f9cf8;
	background-image: url(img/icon_link_wc.png);
	background-repeat: no-repeat;
	background-position: right 8px top 8px;
	border-radius: 5px;
    
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
}
#preNavi2 .entry .link a:hover{
    box-shadow: none;
}








h2.cmn.news,
h1.article{

}
h2.cmn.news span,
h1.article span{

	padding-top: 15px;
	background-image: url(img/icon_h2_news.png);
	margin-bottom: 0;
}
#newsIndex{

	width: 100%;
	padding: 25px 0 20px;
	
	position: relative;
	z-index: 20;
	
	background-color: #fff;
}
#newsIndex.sub{
	padding: 25px 0 70px;
}

#newsIndex .title{
	width: 100%;
	max-width: 820px;
	margin: 0 auto;

	padding-bottom: 20px;
	border-bottom: 2px solid #c5caf1;
	margin-bottom: 25px;
	
	position: relative;
}
#newsIndex .title .linkToList{
	position: absolute;
	right: 0;
	bottom: 30px;
}
#newsIndex .content{
	width: 90%;
	margin: 0 auto;
	
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#newsIndex table{
    max-width: 640px;
}

#newsIndex table th{
	font-size: 14px;
	line-height: 1.5;
	font-weight: bold;
	white-space: nowrap;
	
	padding: 0 20px 10px 0;
}
#newsIndex table td{
	font-size: 14px;
	line-height: 1.5;
	
	padding: 0 0 10px 0;
}
#newsIndex table td a{
    display: block;
	color: #2f9cf8;
}
#newsIndex table td a:hover{
	text-decoration: underline;
}


#newsIndex table.fsl th{
	font-size: 17px;
}
#newsIndex table.fsl td{
	font-size: 17px;
}



#newsIndex .c2{
    width: 90%;
    margin: 0 auto;
    max-width: 950PX;
    
    display: flex;
    flex-wrap: wrap;
/*    justify-content: space-between;*/
    justify-content: center;
    
}
#newsIndex .c2 .blogC,
#newsIndex .c2 .newsC{
/*    width: 48%;*/
    width: 100%;
    
}

h2.cmn.blog span,
h1.article.blog span{

	padding-top: 15px;
	background-image: url(img/icon_h2_blog.png);
	margin-bottom: 0;
}
#newsIndex table.v2{
    width: 100%;
   
    margin-bottom: 20px;
}
#newsIndex table.blog{
    margin-top: -10px;
}
#newsIndex table.blog th{
    box-sizing: border-box;
	line-height: 0;
    
    width: 80px;
	
	padding: 8px 20px 8px 0;

    vertical-align: top;
    border-bottom: 1px solid #c5caf1;
}
#newsIndex table.blog th img{
    display: block;
    width: 100%;
    height: auto;
}
#newsIndex table.blog td{
	font-size: 14px;
	line-height: 1.5;
	
	padding: 8px 0 8px 0;
    border-bottom: 1px solid #c5caf1;
}
#newsIndex table.blog td a{
    height: 100%;
}
#newsIndex table.blog td .date{
    display: inline-block;
	font-weight: bold;
	white-space: nowrap;
    
    color: #000;    
}
#newsIndex table.blog td .category{
    display: inline-block;
	white-space: nowrap;
    
    color: #fff;
	background-color: #172389;
	
	line-height: 1.0;
	padding: 2px 5px;
	border-radius: 3px;

	margin-left: 8px;
}
#newsIndex table.blog td .blogtitle{
    display: block;
	margin-top: 5px;
}





article.news{

	width: 100%;
	padding: 25px 0 70px;
	
	position: relative;
	z-index: 20;
	
	background-color: #fff;
}

article.news .title{
	width: 100%;
	max-width: 820px;
	margin: 0 auto;

	padding-bottom: 20px;
	border-bottom: 2px solid #c5caf1;
	margin-bottom: 15px;
	
	position: relative;
}
article.news .content{
	width: 90%;
	margin: 0 auto;
	
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
}
article.news .date{
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
	
	font-size: 14px;
	line-height: 1.6;
	
	text-align: right;

	padding-bottom: 25px;
}
article.news .bodyText{
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	
	font-size: 16px;
	line-height: 1.6;
	
	padding-bottom: 50px;
}
article.news .bodyText a{
    color: #2f9cf8;
    text-decoration: underline;
}
article.news .bodyText a:hover{
    text-decoration: none;
}
article.news .backToList{
	width: 100%;
	max-width: 820px;
	margin: 0 auto;
	
	text-align: center;
	
	border-top: 2px solid #c5caf1;
	padding-top: 20px;
	padding-bottom: 30px;
}



.blogWr{
	width: 100%;
	background-color: #fff;
}
.blogContent{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;

	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	
}
.blogMain{
	width: 82%;
}
.blogSub{
	width: 18%;
	
	padding-top: 100px;
/*	background-color: #eee;*/

}
.blogMain #newsIndex{
	width: 95%;
}
article.news.blog .title{
	width: 90%;
	max-width: none;
}
article.news.blog .date{
	max-width: none;
}
article.news.blog .bodyText{
	max-width: none;
}
article.news.blog .bodyText img{
	max-width: 100%;
	height:auto;
}
article.news.blog .backToList{
	max-width: none;
}

.blogSub h3{
	box-sizing: border-box;
	width: 100%;
	padding: 5px 10px;
	
	font-size: 16px;
	line-heigh: 1.3;
	
	background-color: #e5e8ff;
	
	margin-bottom: 5px;
}
.blogSub ul.category{
	width: 100%;
}
.blogSub ul.category li{
	box-sizing: border-box;
	width: 100%;
	
	border-bottom: 1px solid #c5caf1;
}
.blogSub ul.category li a{
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding: 8px 10px;
	
	font-size: 15px;
	line-height: 1.3;
}
.blogSub ul.category li a:hover{
	background-color: #e5e8ff;
}




.cmnLinkBtn{
	display: inline-block;
}
.cmnLinkBtn a{
	display: block;
	padding: 8px 30px 8px 10px;
	color: #fff;
	font-size: 14px;
	line-height: 1.0;
	background-color: #2f9cf8;
	background-image: url(img/icon_link_wc.png);
	background-repeat: no-repeat;
	background-position: right 8px top 6px;
	border-radius: 5px;
}
.cmnLinkBtn.back a{
	padding: 8px 10px 8px 30px;
	background-image: url(img/icon_link_wc_l.png);
	background-position: left 8px top 6px;
}




h2.cmn.instagram span{

	padding-top: 15px;
	background-image: url(img/icon_h2_instagram.png);
	margin-bottom: 0;
}
#homeInstagram{
	width: 100%;
	padding: 30px 0 50px;
	
	background-color: #fff;
}
#homeInstagram .feedBox{
	width: 90%;
	max-width: 1150px;
	margin: 0 auto;
    padding-top: 30px;
}




h2.cmn.recommend span{

	padding-top: 15px;
	background-image: url(img/icon_h2_recommend.png);
	margin-bottom: 0;
}
#homeRecommend{
	width: 100%;
	padding: 30px 0 20px;
	
	background-color: #f4f5ff;
}

#homeRecommend ul{
	width: 90%;
	max-width: 1150px;
	margin: 30px auto 0;

	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}
#homeRecommend li{
	width: 32%;
	
	padding-bottom: 10px;
}
#homeRecommend li a{
	display: block;
	width: 100%;
	font-size: 14px;
	line-height: 1.3;
	
	padding-bottom: 20px;
}
#homeRecommend li a:hover{
	color: #666;
}
#homeRecommend li .link{
	display: block;
	position: relative;

	width: 100%;
	overflow:hidden;
	
	line-height: 0;
	
	border-radius: 10px;

}
#homeRecommend li .link:before {
	content:"";
	display: block;
	padding-top: 50%;
}

#homeRecommend li .link img{
	display: block;
	width: 100%;
	height: auto;

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;

	transition: all 0.3s linear;
}
#homeRecommend li .link img:hover{
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}



#homeReSub{
	width: 100%;
	padding: 30px 0 0;
	
	background-color: #e8eaff;
}
#homeReSub ul{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;

	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
#homeReSub ul li{
	width: 20%;
	padding: 0 2% 10px;
/*	min-width: 180px;*/

}
#homeReSub ul li a{
	color: #0a1575;
}
#homeReSub ul li a.photo{
	display: block;
	
	width: 100%;
	height: auto;
	position: relative;
	
	border-radius: 50%;
	
	line-height: 0;
	transition: all 0s linear;

	z-index: 50;
	
	border: 9px solid #c5caf1;
	
	margin-bottom: 1em;
}
#homeReSub ul li a.photo:before{
	content: "";
	display: block;
	padding-top: 100%;
}
#homeReSub ul li a.photo img{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	
	width: 100%;
	height: auto;
	
	text-align: center;
	
	transition: all 0.3s linear;
	
	z-index: 10;
}
#homeReSub ul li a.photo img:hover{
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-o-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2);
}

#homeReSub li .title{
	display: block;
	width: 100%;
	font-size: 16px;
	line-height: 1.2;
	
	font-weight: bold;

	text-align: center;
	
	margin-bottom: 20px;

}
#homeReSub li .title .desc{
	font-size: 12px;
	font-weight: normal;
	line-height: 1.0;
}




#homeAbout{
	width: 100%;
	padding: 50px 0 60px;
	
	background-color: #fff;
}

#homeAbout ul{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;

}
#homeAbout ul li{
	width: 100%;
	
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	align-content: center;
}
#homeAbout ul li:nth-child(2n+1){
	flex-direction: row-reverse;
}
#homeAbout ul li .image{
	width: 37%;
	line-height: 0;
}
#homeAbout ul li .image img{
	width: 100%;
	height: auto;
}
#homeAbout ul li .text{
	width: 63%;
	
	padding: 20px 0;
}

#homeAbout ul li .text p{
	font-size: 16px;
	font-family: "nakayoshi","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.5;
	letter-spacing: 0.1em;
	
	color: #666;

	padding: 0 20px 0 52px;	
}










/* --------------------------------------------------
  Sub
-------------------------------------------------- */



#subMain{
	width: 100%;
/*	background-color: #1d2cab;*/

	position: relative;
	z-index: 10;
	
}


#subMainImage{
	width: 100%;
/*	max-width: 1200px;
	margin: 0 auto;*/
	
	position: relative;
	z-index: 20;
}
#subMainImage .imageArea{
	width: 100%;
	display: block;

	position: relative;
	z-index: 30;
	overflow: hidden;
		
	line-height: 0;
}
#subMainImage .imageArea:before{
	content:"";
	display: block;
	padding-top: 23%;
}
#subMainImage .imageArea .cover{
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 500;
}
#subMainImage .imageArea img{
	display: block;
	width: 100%;
	height: auto;

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}



#subMainTitle{
	width: 100%;
/*	max-width: 1200px;
	margin: 0 auto;*/
	
	position: relative;
	z-index: 20;
}
#subMainTitle .imageArea{
	width: 100%;
	display: block;

	position: relative;
	z-index: 30;
	overflow: hidden;
		
	line-height: 0;
	
	
	background-color: #ccd1fb;
}
#subMainTitle .imageArea:before{
	content:"";
	display: block;
	padding-top: 12%;
}
#subMainTitle .imageArea .cover{
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 500;
}
#subMainTitle .imageArea img{
	display: block;
	width: 100%;
	height: auto;

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}



#subMain #subCatTitle{
	width: 100%;
	height: 90%;
	
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 200;
	
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
}
#subMain #subMainTitle #subCatTitle{
	height: 80%;
}
#subMain #subCatTitle span{
	display: block;
	
	font-size: 36px;
	color: #fff;
	
	font-family: "nakayoshi","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	
	letter-spacing: 0.1em;
	
	text-shadow: 0px 0px 12px rgba(0, 0, 0, 0.8);
}
#subMain #subMainTitle #subCatTitle span{
	color: #0a1575;
	text-shadow: none;
}
#subMain #subMainTitle.dbl #subCatTitle span{
	font-size: 30px;
	text-align: center;
	line-height:1.3;
}






#subIndex{

	width: 100%;
	padding: 60px 0 40px;
	background-color: #e5e8ff;
	
	position: relative;
	z-index: 20;
}

#subIndex ul{
	width: 95%;
	max-width: 1150px;
	margin: 0 auto;

	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
/*	align-items: flex-start;*/
	justify-content: space-between;
}
#subIndex li{
	width: 30%;
	
	margin-bottom: 70px;
	
	background-color: #1d2cab;
	
	border-radius: 10px;
}
#subIndex li.br{
	background: none;
}
#subIndex li a{
	display: block;
	width: 100%;
	font-size: 14px;
	line-height: 1.3;
	
	color: #fff;
}
#subIndex li .photo{
	display: block;
	position: relative;

	width: 100%;
	overflow:hidden;
	
	line-height: 0;

	border-radius: 10px 10px 0 0;
}
#subIndex li .photo:before {
	content:"";
	display: block;
	padding-top: 60%;
}

#subIndex li .photo img{
	display: block;
	width: 100%;
	height: auto;

	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;

	transition: all 0.3s linear;
}
#subIndex li .photo img:hover{
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}
#subIndex li .text{
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 20px 25px;

	font-size: 18px;
	line-height: 1.3;
}
#subIndex li .text .desc{
	font-size: 14px;
}




#subPage{
	width: 100%;
	padding: 0 0 10px;
	background-color: #f9f4ee;
	
	position: relative;
	z-index: 10;
}



#subPage h1{
	width: 100%;
	text-align: center;
	
	padding: 40px 0;
	background-color: #e5e8ff;
}
#subPage h1 span{
	display: inline-block;
	box-sizing: border-box;
	min-height: 60px;
	padding-top: 10px;
	margin: 0 auto;
	
	font-size: 30px;
	font-family: "nakayoshi","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #0a1575;
	line-height: 1.3;
	letter-spacing: 0.2em;
	
	text-align: left;
	padding-left: 62px;
	
	background-image: url(img/icon_sub_h1_common.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 50px auto;
	
}


.subSectionTitle{
	width: 100%;
	padding: 25px 0 25px;
    margin: -40px 0 50px;
    
    border-top: 3px solid #a8d8e5;
/*    border-bottom: 2px solid #a8d8e5;*/
    
    background-color: #bce2ec;
    background-image: url("img/bg_subSectionTitle.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% auto;
}
.subSectionTitle .title{
    width: 90%;
    margin: 0 auto;
    text-align: center;

	font-size: 26px;
	font-family: "nakayoshi","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #036c87;
	line-height: 1.3;
	letter-spacing: 0.1em;
}




#subPage > section.sub{
	width: 100%;
	padding: 40px 0 50px;
}
#subPage > section.sub:nth-child(2n){
	background-color: #f4f5ff;
}
#subPage > section.sub:nth-child(2n+1){
	background-color: #fff;
}
#subPage > section.sub:last-child{
	padding-bottom: 70px;
}

#subPage > section.sub .sBody{
	width: 90%;
	max-width: 900px;
	margin: 0 auto;
	
	font-size: 15px;
}
#subPage > section.sub .sBody .content{
	padding-left: 52px;
}
#subPage > section.sub .sBody .content.hiroba{
	padding-top: 40px;
	padding-right: 52px;
	padding-bottom: 40px;
	background-color: #f4f5ff;
	border-radius: 30px;
}
#subPage > section.sub .sBody .formLink{
	display: block;
	text-align: center;
	
	padding: 20px 0;
}
#subPage > section.sub .sBody .formLink a{
	display: inline-block;

	padding: 20px 60px 20px 40px;
	text-align: center;
	color: #fff;
	font-size: 18px;
	line-height: 1.0;
	background-color: #2f9cf8;
	background-image: url(img/icon_link_wc.png);
	background-repeat: no-repeat;
	background-position: right 20px center;
	border-radius: 30px;
	
	box-shadow: 0 1px 12px rgba(0,0,0,0.3);
}
#subPage > section.sub .sBody .formLink a:hover{
	box-shadow: none;
}



#subPage > section.sub h2{
	width: 100%;
}
#subPage > section.sub h2 span{
	display: inline-block;
	box-sizing: border-box;
	min-height: 48px;
	padding-top: 8px;
	margin: 0 auto 25px;
	
	font-size: 22px;
	font-family: "nakayoshi","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #0a1575;
	line-height: 1.3;
	letter-spacing: 0.1em;
	
	text-align: left;
	padding-left: 52px;
	
	background-image: url(img/icon_sub_h2_common.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 40px auto;
	
}

#subPage > section.sub h2.qa span{
	background-image: url(img/icon_h2_qa.png);
}
#subPage > section.sub h2.recruit span{
	background-image: url(img/icon_h2_qa.png);
	font-size: 18px;

	background-size: 30px auto;
	background-position: 12px top;
	margin-bottom: 5px;
}


#subPage p{
	font-size: 15px;
	line-height: 1.7;
}
#subPage p.center{
	text-align: center;
}



#subPage h3{
	font-size: 18px;

	color: #1d2cab;
	
	line-height: 1.3;
	
	margin-bottom: 10px;
}





#subPage .rImg{
	width: 100%;

	display: flex;
	justify-content: space-between;
}
#subPage .rImg .text{
	width: 63%;
}
#subPage .rImg .text.w2{
	width: 56%;
}
#subPage .rImg .text.w3{
	width: 48%;
}
#subPage .rImg .text.w4{
	width: 78%;
}
#subPage .rImg .text p.lead{
	width: 100%;
}
#subPage .rImg .image{
	width: 33%;
}
#subPage .rImg .image.w2{
	width: 40%;
}
#subPage .rImg .image.w3{
	width: 48%;
}
#subPage .rImg .image.w4{
	width: 18%;
}
#subPage .rImg .image img{
	width: 100%;
	height: auto;
	
	border-radius: 10px;
}
#subPage .rImg .image.lead{
	margin-bottom: 70px;
}



ul.normal{
	list-style-type: disc;
	padding-left: 1em;
}
ul.normal li{
	list-style-type: disc;

}
ul.normalc{
	padding-left: 1.5em;
}
ul.normalc li{
	list-style-image: url(img/listMarker.png);
}
a.normal{
	color: #2f9cf8;
	text-decoration: underline;
}
a.normal:hover{
	text-decoration: none;
}


ul.n1c,
ul.n2c,
ul.n3c,
ul.n4c,
ul.n5c{
	width: 100%;
	
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
ul.n1c li{
	width: 100%;
	
	margin-bottom: 25px;
}
ul.n2c li{
	width: 48%;
	
	margin-bottom: 25px;
}
ul.n2c.staff li:nth-child(2n+1){
	width: 28%;
}
ul.n2c.staff li:nth-child(2n){
	width: 68%;
}
ul.n3c li{
	width: 31%;
	
	margin-bottom: 25px;
}
ul.n4c li{
	width: 24%;
	
	margin-bottom: 15px;
}
ul.n5c li{
	width: 19%;
	
	margin-bottom: 15px;
}
ul.n1c li .photo,
ul.n2c li .photo,
ul.n3c li .photo,
ul.n4c li .photo,
ul.n5c li .photo{
	width: 100%;
	
	line-height: 0;
	text-align: center;
}
ul.n1c li .photo img,
ul.n2c li .photo img,
ul.n3c li .photo img,
ul.n4c li .photo img,
ul.n5c li .photo img{
	width: 100%;
	height: auto;
	
	border-radius: 8px;
}
ul.n1c.buscourse li .photo img{
	max-width: 640px;
}
ul.n2c.staff li:nth-child(2n+1) .photo img{
	max-width: 250px;
}
ul.n1c li .caption,
ul.n2c li .caption,
ul.n3c li .caption,
ul.n4c li .caption,
ul.n5c li .caption{
	width: 100%;
	
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
	
	margin: 5px 0 0;
}


.cmnBtn{
    width: 90%;
    margin: 0 auto;
    max-width: 250px;
}
.cmnBtn a{
    box-sizing: border-box;
	display: block;
    
	padding: 10px 30px 10px 30px;
    margin-bottom: 8px;
	color: #fff;
	font-size: 15px;
    font-weight: bold;
	line-height: 1.0;
    
    text-align: center;
    
	background-color: #2f9cf8;
	background-image: url(img/icon_link_wc.png);
	background-repeat: no-repeat;
	background-position: right 8px top 8px;
	border-radius: 5px;
    
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
}
.cmnBtn a:hover{
    box-shadow: none;
}
.cmnBtn.wide{
    max-width: 300px;
}
.cmnBtn.back a{
	background-image: url(img/icon_link_wc_l.png);
	background-position: left 8px top 8px;
}




.timetable{
	width: 100%;
	max-width: 640px;
	margin: 0 auto 15px;
	
	position: relative;

	background-color: #fff;
	border: 8px solid #e5e8ff;
	border-radius: 20px;

}
#subPage p.ttnote{
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	
	font-size: 14px;
}
.timetable table{
	box-sizing: border-box;
	width: 100%;
	
	margin: 50px 0;
}
.timetable table tr{
	
	vertical-align: top;
}
.timetable table tr:nth-child(2n){
}
.timetable table th{
	width: 20%;
	padding: 2px 0 4px 10%;
	
	font-size: 16px;
	line-height: 2.0;
	
	color: #1d2cab;
	font-weight: bold;
	
	text-align: right;
}
.timetable table th.gr{
	font-size: 18px;
	background-color: #97e0e0;
	
	text-align: left;
	line-height: 1.0;
	padding-left: 25px;
}
.timetable table td{
	padding: 2px 25px;
	
	font-size: 16px;
	line-height: 2.0;
}

.timetable p.note{
	font-size: 15px;
}

.timetable ul.photos{
	position: absolute;
	right: 50px;
	top: 50px;
	
	width: 45%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	
	align-items: flex-start;
	align-content: flex-start;
}
.timetable ul.photos li{
	width: 48%;
	margin-right: 2%;
	
	margin-bottom: 40px;
	
	position: relative;
	
	text-align: right;
	
}
.timetable ul.photos li:nth-child(2n){
	text-align: left;
}
.timetable ul.photos li img{
	width: 110%;
	height: auto;
	
	border-radius: 50%;
}
.timetable ul.photos li:nth-child(2n) img{

	position: absolute;
	margin-top: 70%;
}


.ttColumn{
	box-sizing: border-box;
	
	width: 90%;
	max-width: 640px;
	margin: 0 auto 15px;
	
	padding: 25px 5%;
	
	position: relative;

	background-color: #fff;
	border-radius: 20px;
}
.ttColumn h3{
	font-size: 18px;
	font-weight: bold;
	color: #1d2cab;
	
	line-height: 1.3;
	
	margin-bottom: 10px;
}
.ttColumn table{
	width: 100%;
	
	border-top: 2px solid #c5caf1;
}
.ttColumn table th{
	
	padding: 8px 30px 8px 10px;
	
	font-size: 16px;
	font-weight: bold;
	color: #1d2cab;
	line-height: 1.5;

	white-space: nowrap;

	border-bottom: 2px solid #c5caf1;
}
.ttColumn table td{
	
	padding: 8px 10px 8px 0;
	
	font-size: 16px;
	line-height: 1.5;

	border-bottom: 2px solid #c5caf1;
}


.mottoImage{
	width: 100%;
	margin: 0 auto;
	
	margin-top: -20px;
}
.taegetImage{
	width: 100%;
	margin: 0 auto;
}
.mottoImage .ww,
.taegetImage .ww{
	display: block;
	width: 100%;
}
.mottoImage .nw,
.taegetImage .nw{
	display: none;
	width: 100%;
}
.mottoImage img,
.taegetImage img{
	width: 100%;
	height: auto;
}

.annualEvents{
	width: 100%;
	position: relative;
}
.annualEvents ul.events{
	width: 100%;

	margin-bottom: 10px;
}
.annualEvents ul.events li{
	box-sizing: border-box;
	
	width: 100%;
	padding: 24px 36px;
	
	font-size: 15px;
	font-weight: bold;
	line-height: 2.0;
	
	min-height: 10em;
}
.annualEvents ul.events li table th{
	padding-right: 1em;
	font-weight: bold;
}
.annualEvents ul.events li table th,
.annualEvents ul.events li table td{
}
.annualEvents ul.events li.spring{
	background-color: #ffe5f0;
}
.annualEvents ul.events li.summer{
	background-color: #d5fac7;
}
.annualEvents ul.events li.fall{
	background-color: #fde1d0;
}
.annualEvents ul.events li.winter{
	background-color: #dcf3ff;
}
.annualEvents ul.events li.other{
	background-color: #fff;
	min-height: auto;
	
	font-weight: normal;
}
.annualEvents ul.events li .note{
	font-weight: normal;
}

.annualEvents ul.photos{
	position: absolute;
	right: 0;
	top: 30px;
	
	width: 50%;
	display: flex;
	flex-wrap: wrap;
	
	align-items: flex-start;
	align-content: flex-start;
}
.annualEvents ul.photos li{
	width: 45%;
	margin-right: 5%;
	
	margin-bottom: 10px;
	
	position: relative;
}
.annualEvents ul.photos li img{
	width: 100%;
	height: auto;
	
	border-radius: 8px;
}
.annualEvents ul.photos li:nth-child(2n) img{

	position: absolute;
	margin-top: 25%;
}


.pageColumn{
	box-sizing: border-box;
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	
	background-color: #fff;
	
	border: 10px solid #daddf4;
	padding: 20px 25px;
	
	border-radius: 15px;

}
.pageColumn h2{
	width: 100%;
	
	font-size: 19px;
	font-weight: bold;
	line-height: 1.3;

	border-bottom: 1px solid #c5caf1;
	
	padding-bottom: 8px;
	
	margin-bottom: 15px;
}
.pageColumn p{
	font-size: 15px;
}



table.common{
	box-sizing: border-box;
	width: 100%;
	
	border: 10px solid #daddf4;
	background-color: #fff;

	border-radius: 15px;
}
table.common th{
	border-top: 1px solid #c5caf1;
	background-color: #eef0f8;
	
	font-size: 15px;
	font-weight: bold;
	line-height: 1.6;
	
	padding: 8px 12px;
}
table.common.c02 th,
table.common th.c02,
table.common td.c02{
	background-color: #f2ebe2;
}
table.common th.nw{
	white-space: nowrap;
}
table.common td{
	border-top: 1px solid #c5caf1;
	
	font-size: 15px;
	line-height: 1.6;

	padding: 8px 12px;
}
table.common th.center,
table.common td.center{
	text-align: center;
	vertical-align: middle;
}
table.common tr:first-child th,
table.common tr:first-child td{
	border-top: none;
}
table.common.schedule th.month{
	box-sizing: border-box;
	width: 10%;
	padding: 0 20px;
	text-align: right;
	white-space: nowrap;
}
table.common.schedule td.day{
	box-sizing: border-box;
	width: 12%;
	padding: 0 20px;
	text-align: right;
	white-space: nowrap;
}

table.common table.sub{
}
table.common table.sub th{
	border-top: none;
	background-color: transparent;
	
	font-size: 15px;
	font-weight: normal;
	line-height: 1.6;
	
	padding: 0 8px 5px;
}
table.common table.sub td{
	border-top: none;
	
	font-size: 15px;
	line-height: 1.6;

	padding: 0 8px 5px;
}

table.common.nodeco{
    border: none;
    width: auto;
}
table.common.nodeco th{
	border-top: none;
	background-color: transparent;
	font-weight: bold;
	padding: 0 16px 8px 0;
}
table.common.nodeco td{
	border-top: none;
	padding: 0 0 8px;
}


table.common.entryclass tr.typeName th{
    text-align: center;
    border-right: 1px solid #c5caf1;
}
table.common.entryclass tr th:first-child{
    width: 16%;
    border-right: none;
}
table.common.entryclass tr.typeName th:first-child{
    background-color: #e5e8f5;
}
table.common.entryclass tr th.note{
    background-color: transparent;
}
table.common.entryclass tr td{
    width: 42%;
    border-right: 1px solid #c5caf1;
}

table.common.entryclass table.sub th{
    width: auto;
    white-space: nowrap;
    text-align: right;
    padding-left: 0;
    padding-right: 16px;
    border-right: none;
    background-color: transparent;
}
table.common.entryclass table.sub td{
    width: auto;
    padding-left: 0;
    padding-bottom: 0;
    border-right: none;
}

#entryclassTableNoteB{
	display: block;
    box-sizing: border-box;
    width: 100%;
    margin-top: 10px;
    padding-left: 58%;
}


.entryClassNote{
    box-sizing: border-box;
    width: 100%;
    padding: 13px 20px 10px;
    border: 2px solid #c5caf1;
    border-radius: 10px;
    
    margin: 10px 0 0;
}

.entryClassTab{
    display: none;
}



.accessMap{
	width: 100%;
	height: 400px;
}
.courseMap{
	width: 100%;
	height: 600px;
}
.accessMap iframe,
.courseMap iframe{
	width: 100% !important;
	height: 100% !important;
}



.memberAlbum ul{
	width: 100%;

	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.memberAlbum ul li{
	width: 32%;
	margin-bottom: 10px;
}
.memberAlbum ul li a{
	display: block;
	width: 84%;
	padding: 15px 8%;
	
	color: #0a1575;
	font-weight: bold;
	font-size: 15px;
	background-color: #bfdcf5;

	border-radius: 10px;
}
.memberAlbum ul li a:hover{
	background-color: #a3cbee;
}

.memberPhoto ul{
	width: 100%;
	
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.memberPhoto ul li{
	width: 32%;
	line-height: 0;
	margin-bottom: 10px;
}
.memberPhoto ul li img{
	width: 100%;
	height: auto;
	
	border-radius: 8px;
}
.memberPhoto .caption{
	display: none;
}


















table.preInfo{
	box-sizing: border-box;
	width: 100%;
	
	border: 10px solid #e9e6e1;
	background-color: #fff;

}
table.preInfo th{
	font-size: 15px;
	font-weight: bold;
	line-height: 1.6;
	
	padding: 3px 20px;
}
table.preInfo th.nw{
	white-space: nowrap;
}
table.preInfo td{
	font-size: 15px;
	line-height: 1.6;

	padding: 3px 20px 3px 0;
}
table.preInfo tr:first-child th,
table.preInfo tr:first-child td{
	padding-top: 18px;
}
table.preInfo tr:last-child th,
table.preInfo tr:last-child td{
	padding-bottom: 18px;
}




table.preInfo2{
	box-sizing: border-box;
	width: 100%;
	
	border: 10px solid #e9e6e1;
	background-color: #fff;

}
table.preInfo2 th{
	border-top: 1px solid #cfbcb0;
	background-color: #f3f1ed;
	
	font-size: 15px;
	font-weight: bold;
	line-height: 1.6;
	
	padding: 8px 12px;
}
table.preInfo2.c02 th,
table.preInfo2 th.c02,
table.preInfo2 td.c02{
	background-color: #f2ebe2;
}
table.preInfo2 th.nw{
	white-space: nowrap;
}
table.preInfo2 td{
	border-top: 1px solid #cfbcb0;
	
	font-size: 15px;
	line-height: 1.6;

	padding: 8px 12px;
}
table.preInfo2 th.center,
table.preInfo2 td.center{
	text-align: center;
	vertical-align: middle;
}
table.preInfo2 tr:first-child th,
table.preInfo2 tr:first-child td{
	border-top: none;
}




#hagakiBody,
.hagakiBody{
	display: none;
	
	width: 90%;
	margin: 0 auto;
	padding: 5%;
	font-size: 15px;
	line-height: 1.6;
	
	background-color: #fff;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	border-radius: 25px;
}
#hagakiBody h1,
#hagakiBody h2,
#hagakiBody h3,
.hagakiBody h1,
.hagakiBody h2,
.hagakiBody h3{
	width: 100%;
	text-align: center;
	font-weight: bold;
	font-size: 22px;
	line-height: 1.3;
	
	margin-top: 10px;
	
	margin-bottom: 1em;
}
#hagakiBody p,
.hagakiBody p{
	margin-bottom: 1.0em;
}
#hagakiBody .number,
.hagakiBody .number{
	width: 100%;
	text-align: right;
	font-weight: bold;
}




ul.flow{
	width: 100%;
}
ul.flow li{
	width: 100%;
	
	padding-bottom: 70px;
	
	background-image: url(img/bg_flow_arrow.png);
	background-repeat: no-repeat;
	background-position: center bottom 20px;
}
ul.flow li .text{
	width: 100%;
	
	background-color: #fff;
	border-radius: 15px;

	display: flex;
	align-items: center;
	align-content: center;
}
ul.flow li .text .stepNo{
	box-sizing: border-box;
	width: 24%;
	padding: 18px 18px;
	
	font-size: 40px;
	color: #cfbcb0;
	line-height: 1.0;
}
ul.flow li .text .content{
	box-sizing: border-box;
	width: 76%;
	padding: 12px 18px 12px 0;
	
	font-size: 16px;
	line-height: 1.8;
}
ul.flow li.goal{
	width: 100%;
	
	padding-bottom: 0;
	
	background-image: none;
}
ul.flow li.goal .text{
	background-color: #f4e9da;
}





.uniformDsp{
	width: 100%;
	
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.uniformDsp .r1,
.uniformDsp .r2{
	width: 49%;

	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.uniformDsp .r1 .subDsp,
.uniformDsp .r2 .subDsp{
	width: 48%;
}
.uniformDsp .image{
	width: 100%;
}
.uniformDsp .image img{
	width: 100%;
	height: auto;
}





section.pageBody h2.voice{
	box-sizing: border-box;
	width: 100%;
	height: 100px;
	
	background-color: transparent;
	border-left: none;
	padding: 0;
	
	margin-bottom: 10px;
	
	display: flex;
	align-items: center;
	align-content: center;
	
	position: relative;
	z-index: 100;
}
section.pageBody h2.voice span{
	box-sizing: border-box;
	display: block;
	width: 98%;
	margin-left: 2%;
	
	font-size: 20px;
	line-height: 1.3;
	
	font-weight: bold;

	background-color: #fff;
	padding: 12px 20px 12px 100px;
	
	border-radius: 20px;
}
section.pageBody h2.voice .icon{
	width: 100px;

	position: absolute;
	left: 0;
	top: 0;
	z-index: 110;
}
section.pageBody h2.voice .icon img{
	width: 100%;
	height: auto;
}

.voiceBody{
	box-sizing: border-box;
	width: 90%;
	margin-left: 10%;
	
	border: 5px solid #f4e9da;
	border-radius: 20px;
	background-color: #fff;
	
	padding: 25px 30px;
	
	font-size: 16px;
}
.voiceBody ul{
	list-style-type: disc;
	padding-left: 1em;
}
.voiceBody ul li{
	list-style-type: disc;
}






section.pageBody h2.gSP{
	box-sizing: border-box;
	width: 100%;
	
	font-size: 24px;
	line-height: 1.3;
	
	background-color: transparent;
	border-left: none;
	padding: 0;
	
	display: flex;
	align-items: flex-end;
	
	border-bottom: 1px solid #cfbcb0;
	margin-bottom: 20px;
}
section.pageBody h2.gSP .no{
	font-size: 72px;
	padding-right: 20px;
	line-height: 1.0;
	
	color: #cfbcb0;
}
section.pageBody h2.gSP .title{
	font-size: 24px;
	line-height: 1.3;
	
	padding-bottom: 8px;
}
.gSPcontent{
	box-sizing: border-box;
	width: 100%;
	padding-left: 9%;
	
	margin-bottom: 30px;
	
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.gSPcontent p{
	width: 66%;
	font-size: 16px;
	line-height: 1.8;
}
.gSPcontent .image{
	width: 30%;
}
.gSPcontent .image img{
	width: 100%;
	height: auto;
}




table.outline{
	width: 100%;
	
	border-top: 1px solid #cfbcb0;
}
table.outline th{

	font-size: 16px;
	line-height: 1.5;
	
	white-space: nowrap;

	padding: 15px 50px;

	border-bottom: 1px solid #cfbcb0;
}
table.outline td{

	font-size: 16px;
	line-height: 1.5;
	
	padding: 15px 0;

	border-bottom: 1px solid #cfbcb0;
}


.facilityDsp{
	width: 100%;
}
.facilityDsp .mapArea{
	width: 100%;
	display: block;
	position: relative;
	z-index: 120;
	overflow: hidden;
	
	line-height: 0;
}
.facilityDsp .mapArea:before{
	content:"";
	display: block;
	padding-top: 75%;
}
.facilityDsp .mapArea iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}




ul.download{
	width: 50%;
	max-width: 300px;
	margin: 0 auto;
}
ul.download li{
	font-size: 15px;
	
	padding-bottom: 10px;
}
ul.download li a{
	color: #452c0a;
	text-decoration: underline;
}
ul.download li.lunch{
	text-align: center;
}




.linkBtn{
	display: inline-block;

	background-color: #a37e58;
	background-image: url(img/arrow_linkBtn_r.png);
	background-size: 43px auto;
	background-repeat: no-repeat;
	background-position: right 4px bottom 4px;
	
	border-radius: 5px;

	transition: all 0.2s linear;
}
.linkBtn.c02{
	background-color: #755c3b;
}
.linkBtn:hover{
	background-color: #452c0a;
}
.linkBtn a{
	display: block;
	font-size: 15px;
	color: #fff;
	
	line-height: 2.0;
	
	padding: 10px 25px 10px 25px;
}


.careersBtn{
	width: 100%;
    text-align: center;
    
    margin-bottom: 60px;
}
.careersBtn a{
    display: inline-block;
    
    padding: 18px 100px;
    
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    line-height: 1.0;
    
    background-color: #c4143b;

    border-radius: 10px;
}
.careersBtn a:hover{
    opacity: 0.7;
}




p.form{
	font-size: 15px;
	line-height: 1.7;
}
dl.form{
	width: 100%;
	border-bottom: 1px dotted #666;
	float: left;
	
	font-size: 15px;
}
dl.form dt, dl.form dd{
}
dl.form dt{
	clear: both;
	border-top: 1px dotted #666;
	padding: 1% 2%;
	width: 21%;
	float: left;
	font-weight: bold;
}
dl.form dd{
	border-top: 1px dotted #666;
	padding: 1% 2%;
	width: 71%;
	float: left;
}


dl.form input[type="text"],
dl.form input[type="password"]{
	height: 25px;
	font-size: 14px;
	margin-bottom: 3px;
}
dl.form select{
	height: 25px;
	font-size: 14px;
	margin-bottom: 3px;
}

dl.form input[type="text"].name{ width: 150px;}
dl.form input[type="text"].zip{ width: 100px;}
dl.form input[type="text"].address{ width: 280px;}
dl.form input[type="text"].tel{ width: 150px;}
dl.form textarea{ width: 95%; height: 8em; font-size: 14px;}
dl.form input[type="text"].email{ width: 200px;}

form input[type="button"],
form input[type="submit"]{


	background: none;

	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;

	margin: 5px 0;
	padding: 5px 20px;
	font-size: 16px;
	color: #fff;
	background-color: #2d3dc8;
	cursor: pointer;
	border: 5px solid #1d2cac;
	border-radius: 5px;
}


dl.form .notice{
	margin: 5px 0;
	padding: 5px 10px;
	background-color: #e4ecff;
	font-size: 13px;
}
dl.form .notice a:link,
dl.form .notice a:visited{
	color: #1954dc;
	text-decoration: underline;
}
dl.form .notice a:hover,
dl.form .notice a:active{
	color: #1954dc;
	text-decoration: none;
}


.formButton{
	clear: both;
	width: 100%;
	padding: 10px 0;
	text-align: center;
}
.error-fp{
	font-weight: bold;
	color: #e00;
	margin-bottom: 20px;
}



.youtube{
    width: 100%;
	margin: 0 auto;
	max-width: 800px;
    
    overflow: hidden;

	position: relative;
	margin-bottom: 20px;
}
.youtube::before{
    content: "";
    display: block;
    padding-top: 56.25%;
}
.youtube iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}





/* --------------------------------------------------
  Page Footer
-------------------------------------------------- */

footer.page{
	width: 100%;
	
	padding-top: 30px;
	background-image: url(img/bg_ftop.png);
	background-repeat: repeat-x;
	background-position: center top;
	background-size: 104px auto;
	
	margin-top: -30px;
	
	position: relative;
	z-index: 800;
}

footer.page .content{
	width: 100%;
	
	padding: 45px 0 15px;
	
	display: flex;
	flex-wrap: wrap;
/*	justify-content: space-between;*/
	justify-content: center;

	background-color: #1d2cac;
}


footer.page .ftNavi{
/*	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
*/	
	
	display: none;
}
footer.page .ftNavi ul{
	padding: 0 1%;
}
footer.page .ftNavi ul li{
	width: 100%;
	
	margin-bottom: 5px;
}
footer.page .ftNavi ul li a{
	display: block;
	
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	
	white-space: nowrap;
}
footer.page .ftNavi ul li.catname{
		padding-bottom: 8px;
}
footer.page .ftNavi ul li.catname a{
	font-size: 18px;
}



footer.page .info{
	display: flex;
	flex-wrap: nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
}
footer.page .logo{
	width: 180px;
	line-height: 0;
	
	padding: 0 25px 30px;
}
footer.page .logo img{
	width: 100%;
	height: auto;
}
footer.page .address{
	
	font-size: 13px;
	line-height: 1.5;
	color: #fff;
	
	white-space: nowrap;
	
	padding: 5px 25px 30px;
}
footer.page .address .map{
    margin-top: 10px;
}

footer.page .copyright{
	width: 100%;
	font-size: 11px;
	color: #fff;
	text-align: center;
	padding: 25px 0 25px;
	
	background-color: #000c71;
}




/* --------------------------------------------------
  Common
-------------------------------------------------- */

.pageTop {
	position: fixed;
	bottom: 40px;
	right: 10px;
	
	width: 60px;
	
	z-index: 1100;
}
.pageTop img{
	width: 100%;
	height: auto;
}


.ivmvel{
	opacity: 0.0;
	filter: alpha(opacity=0);
	-webkit-transform: translate(0, 20px); 
	transform: translate(0, 20px); 
	transition: all 0.4s ease;
}
.ivmv{
	opacity: 1.0;
	filter: alpha(opacity=100);
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0); 
}


.wp-pagenavi {
	clear: both;
	text-align: center;
	
	padding: 10px 0 30px;
}

.wp-pagenavi a, .wp-pagenavi span {
	text-decoration: none;
	border: 2px solid #c5caf1;
	padding: 4px 6px;
	margin: 2px;

	line-height: 2.5;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
	border-color: #1d2cac;
}

.wp-pagenavi span.current {
    font-weight: bold;
	background-color: #1d2cac;
	color: #fff;
}




/* Common Navigation
------------------------------------------------------------*/
@media only screen and (min-width: 900px){


#commonNavi{
	width: 100%;
	position: relative;
	z-index: 100;
}

ul.naviHd{
	display: none;
}

ul#headerNavi{

	position: absolute;
	z-index: 110;
	right: 0;
	top: -88px;
	
}
ul#headerNavi li{
	display: inline-block;
	padding: 0 5px;
}
ul#headerNavi li a{

	width: 80px;
	height: 80px;

	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: center;

	background-repeat: no-repeat;
	background-position: center center;
	background-image: url(img/bg_hnavi.png);
	background-size: 100% auto;

}
ul#headerNavi li a .icon{
	display: block;
	width: 100%;
	text-align: center;
	line-height: 0;
	
	padding-bottom: 5px;
}
ul#headerNavi li a .icon img{
	width: auto;
	height: 28px;
}
ul#headerNavi li a .label{
	display: block;
	width: 100%;
	text-align: center;
	line-height: 1.0;
	
	font-size: 11px;
	color: #0a1575;
}
ul#headerNavi li a .label br.ww{
}
ul#headerNavi li a:hover{
	opacity: 0.8;
}


ul#headerNavi.v2{

	right: 10px;
	top: -78px;

    display: flex;
    justify-content: flex-end;
    align-items: center;
    align-content: center;
}
ul#headerNavi.v2 li{
    display: block;
	padding: 0 5px;
    
}
ul#headerNavi.v2 li a{
	width: 65px;
	height: 65px;
}
ul#headerNavi.v2 li a .icon{
    margin-top: -10px;
    position: relative;
}
ul#headerNavi.v2 li a .icon img{
	height: 30px;
}
ul#headerNavi.v2 li.twLink{
    order: 1;
}
ul#headerNavi.v2 li.igLink{
    order: 2;
    
    padding-right: 18px;
}
ul#headerNavi.v2 li.blogLink{
    order: 3;
}
ul#headerNavi.v2 li.newsLink{
    order: 4;
}
ul#headerNavi.v2 li.sm{
/*	width: 40px;*/
	width: 48px;

    margin: 0 5px 0 0;
}
ul#headerNavi.v2 li.sm a{
    background-image: none;    
}
ul#headerNavi.v2 li.sm a .icon{
    margin-top: 5px;
    
}
ul#headerNavi.v2 li.sm a .icon img{
/*	height: 40px;*/
	height: 65px;
}
ul#headerNavi.v2 li.sm a .label{
    display: none;
}

ul#floatNavi{
    box-sizing: border-box;
	position: fixed;
	z-index: 120;
	right: 0;
	top: 200px;
        
    width: 60px;
    background-color: rgba(255, 255, 255, 0.8);
    
    border: 3px solid #98a0e4;
    border-right: none;
    border-radius: 10px 0 0 10px;
    
	transition: all 0.2s linear;
}
ul#floatNavi li{
    box-sizing: border-box;
    width: 100%;
}
ul#floatNavi li a{
    box-sizing: border-box;
    display: block;
    padding: 45px 5px 8px;
    
    border-top: 1px solid #020e72;
    
    background-repeat: no-repeat;
    background-position: center top 4px;
    background-size: 40px auto;
    
    text-align: center;
    font-size: 12px;
    line-height: 1.1;
    color: #020e72;
}
ul#floatNavi li:first-child a{
    border-top: none;
}
ul#floatNavi li.contact a{
    background-image: url("img/icon_flnavi_contact.png");
    border-radius: 8px 0 0 0;
}
ul#floatNavi li.hagaki a{
    background-image: url("img/icon_flnavi_hagaki.png");
    border-radius: 0 0 0 8px;
}
ul#floatNavi li.line a{
    background-image: url("img/icon_flnavi_line.png");
    border-radius: 0 0 0 8px;
}

ul#floatNavi li a:hover{
    /*
    color: #fff;
    */
    background-color: #e5e8ff;
    
    font-weight: bold;
    
    background-position: center top 0px;
    background-size: 48px auto;
}
ul#floatNavi li br.ww{
}


	

ul#globalNavi{
	width: 83%;
	margin: 0 auto;
	
	position: relative;
	z-index: 200;

	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-around;
}
ul#globalNavi > li{
	width: 18%;
	height: 100px;

	font-size: 15px;
	
	position: relative;
}
ul#globalNavi > li > a{

	width: 100%;
	height: 100%;

	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: center;

	background-repeat: no-repeat;
	background-position: center center;
	background-image: url(img/bg_gnavi_on.png);
	background-size: auto 0;
}
ul#globalNavi > li > a > .icon{
	display: block;
	width: 100%;
	text-align: center;
	line-height: 0;
	
	padding-bottom: 5px;
}
ul#globalNavi > li > a > .icon img{
	width: auto;
	height: 50px;
}
ul#globalNavi > li > a > .label{
	display: block;
	width: 100%;
	text-align: center;
	line-height: 1.1;
	color: #fff;
	white-space: nowrap;
}

ul#globalNavi > li > a:hover,
ul#globalNavi > li.current > a{
	background-size: auto 100%;
}



ul#globalNavi ul.sub{
	box-sizing: border-box;

	width: 100%;
	height: auto;

	position: absolute;
	z-index: 1200;
	
	top: 90px;
	left: 0;
	line-height: 0;
	
	padding: 10px 0;

	background-color: #1226d2;
	text-align: center;
	
	border-radius: 10px;
	
	display: none;
}

ul#globalNavi ul.sub li{
	width: 100%;
}
ul#globalNavi ul.sub li a{
	display: block;
	line-height: 1.3;
	font-size: 15px;
	color: #fff;
	
	padding: 15px 5px;
	margin: 0 5px;
}
ul#globalNavi ul.sub li a:hover{
	background-color: #001bff;	
}




}




/* Common Navigation Responsive Structure
---------------------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width:899px){

#commonNavi {
	display: none;
}
	

#menuOverlay {
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.6);
	display: none;
	position: fixed;
	z-index: 9997;
}

#switchBtnArea {
	width: 100%;

	position: relative;
}

#switchBtnArea #switchBtn {
	top: 12px;
	right: 12px;
	width: 50px;
	height: 50px;
	display: block;
/*	background: #18d6c6;*/
	
/*	border: 1px solid #fff;*/
	
	position: fixed;

	z-index: 9998;
	
	background-color: #2d3fdb;
	
	border-radius: 2px;
}

#switchBtnArea #switchBtn span {
	left: 27%;
	width: 46%;
	height: 2px;
	display: block;
	position: absolute;
	background-color: #fff;
	border-radius: 5px;
	transition: all 0.2s linear;
}
#switchBtnArea #switchBtn span:nth-of-type(1) {
	top: 17px;
	-webkit-transform: rotate(0);
	transform: rotate(0);
}
#switchBtnArea #switchBtn span:nth-of-type(2) {
	top: 24px;
	-webkit-transform: scale(1);
	transform: scale(1);
}
#switchBtnArea #switchBtn span:nth-of-type(3) {
	bottom: 17px;
	-webkit-transform: rotate(0);
	transform: rotate(0);
}

#switchBtnArea #switchBtn.btnClose {
/*	background: transparent;*/
	background-color: #2d3fdb;
}
#switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
	top: 24px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	background-color: #fff;
}
#switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
	-webkit-transform: scale(0);
	transform: scale(0);
}
#switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
	bottom: 24px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	background-color: #fff;
}

#rwdMenuWrap {
	top: 0;
	right: -100%;
	width: 100%;
	height: 100%;
	background-color: #1d2cab;
	overflow: auto;
	position: fixed;
	z-index: 9997;
}


#rwdMenuWrap ul.naviHd{
    width: 100%;
    height: 75px;
	border-bottom: 1px solid #99a0d9;
    
}
#rwdMenuWrap ul.naviHd li{
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 0;

    display: flex;
    justify-content: center;
    align-items: center;
}
#rwdMenuWrap ul.naviHd li a{
    display: inline-block;
}
#rwdMenuWrap ul.naviHd li a img{
    width: 180px;
    height: auto;
}



#rwdMenuWrap ul#headerNavi{
	width: 100%;

	display: block;
	
	padding: 20px 0;
}

#rwdMenuWrap ul#headerNavi li{
	font-size: 14px;
	white-space: nowrap;
	
	text-align: center;
	
	padding: 4px 0;
	margin-bottom: 5px;
}
#rwdMenuWrap ul#headerNavi li a{
	line-height: 1.0;
	
	width: 80%;
	margin: 0 auto;
	
	padding: 10px 6px;
	border-radius: 5px;
	
	background-color: #fff;
	
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	align-content: center;
}
#rwdMenuWrap ul#headerNavi li a .icon{
	display: block;
	width: 30px;
	line-height: 0;
	
	padding-right: 10px;
}
#rwdMenuWrap ul#headerNavi li a .icon img{
	width: 100%;
	height: auto;
}
#rwdMenuWrap ul#headerNavi li a .label{
	display: block;
	line-height: 1.0;
	
	font-size: 14px;
	color: #0a1575;
}
#rwdMenuWrap ul#headerNavi li a .label br.ww{
	display: none;
}
#rwdMenuWrap ul#headerNavi li a:hover{
	opacity: 0.7;
}



#rwdMenuWrap ul#headerNavi.v2{
    box-sizing: border-box;
	width: 95%;
    margin: 0 auto;

	padding: 10px 0 20px;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#rwdMenuWrap ul#headerNavi.v2 li{
    
    display: block;
    width: 50%;

    font-size: 14px;
	white-space: nowrap;
	
	text-align: center;
	
	padding: 4px 0;
	margin-bottom: 5px;
}

#rwdMenuWrap ul#headerNavi.v2 li.twLink{
    order: 3;
}
#rwdMenuWrap ul#headerNavi.v2 li.igLink{
    order: 4;
    
    position: absolute;
    top: 70px;
    left: -72px;
    z-index: 130;
}
#rwdMenuWrap ul#headerNavi.v2 li.blogLink{
    order: 1;
}
#rwdMenuWrap ul#headerNavi.v2 li.newsLink{
    order: 2;
}

#rwdMenuWrap ul#headerNavi.v2 li a{
	line-height: 1.0;
	
	width: 90%;
	margin: 0 auto;
	
	padding: 8px 6px;
	border-radius: 5px;
	
	background-color: #fff;
	
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	align-content: center;
}
#rwdMenuWrap ul#headerNavi.v2 li a .icon{
	display: block;
	width: 40px;
	line-height: 0;
	
	padding-right: 10px;
}
#rwdMenuWrap ul#headerNavi.v2 li a .icon img{
	width: 100%;
	height: auto;
}
#rwdMenuWrap ul#headerNavi.v2 li a .label{
	display: block;
	line-height: 1.0;
    
    padding-left: 5px;
	
	font-size: 16px;
	color: #0a1575;
}
#rwdMenuWrap ul#headerNavi.v2 li.twLink a{
    width: 50px;
    float: right;
    margin-right: 5px;
    background-color: transparent;
}
#rwdMenuWrap ul#headerNavi.v2 li.igLink a{
    width: 40px;
/*    float: left;
    margin-left: 5px;*/
	margin: 0 auto;
	
    background-color: transparent;
}
#rwdMenuWrap ul#headerNavi.v2 li.twLink a .icon,
#rwdMenuWrap ul#headerNavi.v2 li.igLink a .icon{
    width: 50px;
    padding-right: 0;
}

#rwdMenuWrap ul#headerNavi.v2 li a .label br.ww{
	display: none;
}





#rwdMenuWrap ul#floatNavi{
    box-sizing: border-box;
	position: absolute;
	z-index: 120;
	left: 0;
	top: 75px;
        
    width: 100%;
    
    padding: 5px 0;
        
    display: flex;
    justify-content: center;
}
#rwdMenuWrap ul#floatNavi li{
    box-sizing: border-box;
    padding: 0 5px;
    
    text-align: center;
    
}
#rwdMenuWrap ul#floatNavi li a{
    display: inline-block;
    height: 40px;
    
    box-sizing: border-box;
    padding:  14px 10px 14px 45px;
    
    font-size: 12px;
    line-height: 1.0;
    color: #000c75;
    
    background-color: #b8c0ff;
    border-radius: 10px;
    
    position: relative;
}
#rwdMenuWrap ul#floatNavi li a::before{
    content: "";
    display: block;
    position: absolute;
    left: 3px;
    top: 0px;
    width: 45px;
    height: 50px;
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 40px auto;
}
#rwdMenuWrap ul#floatNavi li.contact{
	margin-left: 23px;
}
#rwdMenuWrap ul#floatNavi li.contact a::before{
    background-image: url("img/icon_flnavi_contact.png");
    border-radius: 8px 0 0 0;
}
#rwdMenuWrap ul#floatNavi li.hagaki a::before{
    background-image: url("img/icon_flnavi_hagaki.png");
    border-radius: 0 0 0 8px;
}
#rwdMenuWrap ul#floatNavi li.line a::before{
    background-image: url("img/icon_flnavi_line.png");
    border-radius: 0 0 0 8px;
}
#rwdMenuWrap ul#floatNavi li a .ww{
    display: none;
}



#rwdMenuWrap ul#globalNavi {
	width: 100%;
/*	padding: 75px 0 0;*/
    margin-top: 50px;
	
	border-top: 1px solid #99a0d9;

    display: flex;
    flex-wrap: wrap;
}
#rwdMenuWrap ul#globalNavi > li {
    box-sizing: border-box;
	width: 50%;
	height: auto;
	border-bottom: 1px solid #99a0d9;
    
    padding: 5px 5px 2px;
	
	display: block;
}
#rwdMenuWrap ul#globalNavi > li:nth-child(2n+1) {
	border-right: 1px solid #99a0d9;
}
/*
#rwdMenuWrap ul#globalNavi > li:first-child {
	border-top: 1px solid #99a0d9;
}
*/
#rwdMenuWrap ul#globalNavi > li > a {
	padding: 6px 10px;
	text-align: left;
	position: relative;
	
	color: #fff;
	
	font-size: 16px;
	
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	align-content: center;
    
    background-color: #0d187c;
    border-radius: 10px;
}

/*
#rwdMenuWrap ul#globalNavi > li > a:after {
	content: '';
	margin-top: -4px;
	top: 50%;
	right: 15px;
	width: 8px;
	height: 8px;
	color: #888;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	display: block;
	position: absolute;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
*/

#rwdMenuWrap ul#globalNavi > li > a > .icon{
	display: block;
	width: 50px;
	padding-right: 10px;
	
	line-height: 0;
}
#rwdMenuWrap ul#globalNavi > li > a > .icon img{
	width: 100%;
	height: auto;
}
#rwdMenuWrap ul#globalNavi > li > a > .label{
	display: block;
	line-height: 1.1;
	color: #fff;
}



#rwdMenuWrap ul#globalNavi ul.sub{
}
#rwdMenuWrap ul#globalNavi ul.sub li{
    box-sizing: border-box;
	width: 100%;
	display: block;
	line-height: 0;
    
    padding: 2px 0 2px 0;
}
ul#globalNavi ul.sub li a{
    box-sizing: border-box;
	display: block;
	line-height: 1.3;
	font-size: 15px;
	
	position: relative;
	
	color: #fff;
	
	padding: 12px 20px 12px 20px;
    
    background-color: #3141c8;
    border-radius: 2px;
}
ul#globalNavi ul.sub li .ww{
    display: none;
}
/*
#rwdMenuWrap ul#globalNavi ul.sub li a:after {
	content: '';
	margin-top: -4px;
	top: 50%;
	right: 15px;
	width: 6px;
	height: 6px;
	color: #888;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	display: block;
	position: absolute;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
*/





}








/* Responsive Structure
---------------------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 899px){


header.page {
	width: 100%;
	height: 75px;

	position: fixed;
	z-index: 100;
	
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: space-between;
}
header.page .title{
	width: 100%;
	height: auto;
	position: relative;
}
header.page .menu{
	display: none;
}


header.page #logo{
	
	width: 70%;
	max-width: 180px;

	padding: 17px 0 0;
}
header.page #logo img{
	width: 100%;
	height: auto;
}






#content{
	padding-top: 75px;
}




#homeMain{
	padding-bottom: 10px;
}

#homeMainImage{
	margin-bottom: 10px;
}

#homeMain .copy{
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: 0.1em;
	
	margin-bottom: 15px;
}
#homeMain .copy br.ww{
	display: block;
}


#homeMain .address img{
	width: 90%;
	max-width: 220px;
	height: auto;
		
	position: relative;
	left: 0;
	top: 0;
	
	margin-bottom: 8px;
}


#pickup{
}

#pickup p{	
	background-size: 16px auto;
	background-position: right 15px center;
	
	border-radius: 20px;
}
#pickup p a{
	font-size: 12px;
	
	padding: 15px 50px 10px 20px;
}
#pickup p a > span{
	white-space: normal;
	overflow: auto;
	
	padding-bottom: 10px;
}
#pickup p a > span:before {
    content: "";
	margin: 0px;
}
#pickup p a > span >span.date{
	font-size: 13px;
	padding-right: 0;
	padding-bottom: 3px;
	
	display: block;
}


#pickup2 ul{
    padding: 25px 25px 10px;
}
#pickup2 ul li{
    padding-bottom: 8px;
}
#pickup2 ul li a{
	font-size: 13px;
}

#pickup3 ul{
    padding: 25px 25px 10px;
}
#pickup3 ul li{
    padding-bottom: 12px;
}
#pickup3 ul li a{
	font-size: 16px;
}




h2.cmn span,
h1.article span{
	min-height: 40px;
	padding-top: 6px;
	margin: 0 auto 20px;
	
	font-size: 22px;
	line-height: 1.3;
	letter-spacing: 0.1em;
	
	text-align: left;
	padding-left: 40px;
	
	background-size: auto 40px;
	
}


h3.cmn span{
	min-height: 36px;
	padding-top: 6px;
	margin: 0 auto 15px;
	
	font-size: 15px;
	line-height: 1.3;
	letter-spacing: 0.1em;
	
	text-align: left;
	padding-left: 38px;
	
	background-size: auto 36px;
	
}



h2.cmn.preNavi{
	text-align: center;
}


#preNavi{

	padding: 30px 0 10px;
}
#preNavi .content{
}
#preNavi .title{
	width: 100%;
	padding-left: 0;
	
	margin-bottom: 20px;
}
#preNavi .list{
	width: 100%;
}
#preNavi ul{
	width: 90%;
}
#preNavi ul li{
	width: 20%;
	padding: 0 2% 10px;
}
#preNavi li .title{
	font-size: 13px;
	line-height: 1.2;
	
}
#preNavi li .title .desc{
	font-size: 11px;
	line-height: 1.0;
}


#preNavi2 p.lead{
    font-size: 13px;
    line-height: 1.7;
}

#preNavi2 .line h3{
    font-size: 15px;
}
#preNavi2 .line p{
    font-size: 13px;
}





#newsIndex{
	padding: 30px 0 20px;
}

#newsIndex .title{
	padding-bottom: 10px;
	border-bottom: 2px solid #c5caf1;
	margin-bottom: 20px;
}
#newsIndex .title .linkToList{
	position: absolute;
	right: 10px;
	bottom: 20px;
}
#newsIndex .content{
	width: 90%;
	margin: 0 auto;
	
	flex-wrap: nowrap;
}
#newsIndex table{
}
#newsIndex table th{
	font-size: 13px;
	line-height: 1.5;
	font-weight: bold;
	white-space: nowrap;
	
	padding: 0 15px 8px 0;
}
#newsIndex table td{
	font-size: 13px;
	line-height: 1.5;
	
	padding: 0 0 8px 0;
}
#newsIndex .c2 .blogC,
#newsIndex .c2 .newsC{
    width: 100%;
    
}
#newsIndex table.v2{
    width: 100%;
    max-width: 600px;
    margin-bottom: 40px;
}

#newsIndex table.fsl th{
	font-size: 16px;
}
#newsIndex table.fsl td{
	font-size: 16px;
}

article.news{
	padding: 25px 0 50px;
}

article.news .title{
	width: 90%;

	padding-bottom: 0px;
	border-bottom: 2px solid #c5caf1;
	margin-bottom: 10px;
}
article.news .content{
	width: 90%;
	margin: 0 auto;
	
	flex-wrap: wrap;
}
article.news .date{
	font-size: 13px;
}
article.news .bodyText{
	font-size: 14px;
	line-height: 1.6;
	
	padding-bottom: 40px;
}
article.news .backToList{
	padding-bottom: 25px;
}


.blogMain{
	width: 100%;
}
.blogSub{
	width: 100%;
	
	padding-top: 0px;
/*	background-color: #eee;*/

	padding-bottom: 100px;

}

.blogMain #newsIndex{
	width: 100%;
}

.blogSub h3{
	width: 90%;
	margin: 0 auto;
	max-width: 600px;
}
.blogSub ul.category{
	width: 90%;
	margin: 0 auto;
	max-width: 600px;
}



.cmnLinkBtn a{
	padding: 6px 30px 6px 8px;
	font-size: 13px;
	background-position: right 8px top 4px;
}
.cmnLinkBtn.back a{
	padding: 6px 8px 6px 30px;
	background-position: left 8px top 4px;
}


#homeRecommend{
	padding: 20px 0 10px;
}

#homeReSub .list{
	width: 100%;
}
#homeReSub ul{
	width: 90%;
}
#homeReSub ul li{
	width: 20%;
	padding: 0 2% 10px;
}
#homeReSub li .title{
	font-size: 13px;
	line-height: 1.2;
	
}
#homeReSub li .title .desc{
	font-size: 11px;
	line-height: 1.0;
}




#homeAbout{
	padding: 40px 0 50px;
}

#homeAbout ul li .text{
	padding: 15px 0;
}

#homeAbout ul li .text p{
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.1em;
	
	padding: 0 15px 0 40px;
	
}



#subMainTitle .imageArea:before{
	padding-top: 16%;
}
#subMainTitle.dbl .imageArea:before{
	padding-top: 18%;
}

#subMain #subCatTitle span{
	font-size: 24px;

	text-shadow: 0px 0px 12px rgba(0, 0, 0, 0.8);
}
#subMain #subMainTitle #subCatTitle{
	height: 80%;
}
#subMain #subMainTitle #subCatTitle span{
	text-shadow: none;
}
#subMain #subMainTitle.dbl #subCatTitle span{
	font-size: 22px;
}





#subIndex{
	padding: 60px 0 40px;
}

#subIndex ul{
	width: 90%;
}
#subIndex li{
	width: 47%;
	
	margin-bottom: 40px;
}
#subIndex li .photo:before {
	padding-top: 60%;
}
#subIndex li .text{
	padding: 15px 20px;

	font-size: 18px;
	line-height: 1.3;
}
#subIndex li .text .desc{
	font-size: 13px;
}





#subPage{
	padding: 0 0 20px;
}


#subPage h1{
	padding: 20px 0 30px;
}
#subPage h1 span{
	min-height: 40px;
	padding-top: 6px;
	margin: 0 auto;
	
	font-size: 22px;
	line-height: 1.3;
	letter-spacing: 0.1em;
	
	text-align: left;
	padding-left: 40px;
	
	background-size: auto 40px;
	
}



.subSectionTitle{
	padding: 20px 0 20px;
    margin: -40px 0 30px;
}
.subSectionTitle .title{
	font-size: 18px;
}


#subPage > section.sub{
	padding: 30px 0 40px;
}
#subPage > section.sub:last-child{
	padding-bottom: 70px;
}
#subPage > section.sub .sBody{
	font-size: 13px;
}
#subPage > section.sub .sBody .content{
	padding-left: 38px;
}
#subPage > section.sub .sBody .content.hiroba{
	padding-top: 30px;
	padding-right: 38px;
	padding-bottom: 20px;
}
#subPage > section.sub .sBody .formLink a{
	padding: 18px 50px 18px 30px;
	font-size: 16px;
	background-position: right 20px center;
	border-radius: 30px;
}


#subPage > section.sub h2{
}
#subPage > section.sub h2 span{
	min-height: 36px;
	padding-top: 6px;
	margin: 0 auto 15px;
	
	font-size: 15px;
	line-height: 1.3;
	letter-spacing: 0.1em;
	
	text-align: left;
	padding-left: 38px;
	
	background-size: auto 36px;
	
}
#subPage > section.sub h2.recruit span{
	font-size: 14px;

	background-size: auto 30px;
	background-position: left top;
	margin-bottom: 5px;
}


#subPage p{
	font-size: 13px;
	line-height: 1.7;
}


#subPage h3{
	font-size: 14px;
	
	margin-bottom: 10px;
}
section.pageBody h3{
	font-size: 15px;
	line-height: 1.3;
	
	padding-bottom: 6px;
	
	margin-bottom: 10px;
}
section.pageBody h4{
	font-size: 14px;
	
	margin-bottom: 7px;
}

section.pageBody p{
	font-size: 13px;
}
section.pageBody ul.normal{
	font-size: 13px;
}

ul.n1c li,
ul.n2c li,
ul.n3c li{
	margin-bottom: 15px;
}

ul.n1c li .photo,
ul.n2c li .photo,
ul.n3c li .photo,
ul.n4c li .photo,
ul.n5c li .photo{
	margin-bottom: 10px;
}
ul.n1c li .caption,
ul.n2c li .caption,
ul.n3c li .caption,
ul.n4c li .caption,
ul.n5c li .caption{
	font-size: 13px;
	line-height: 1.4;

	margin-bottom: 10px;
}


.pageColumn{
	width: 100%;
	
	border: 10px solid #daddf4;
	padding: 20px 25px;

}
.pageColumn h2{
	
	font-size: 16px;
	
	padding-bottom: 6px;
	
	margin-bottom: 12px;
}
.pageColumn p{
	font-size: 13px;
}


table.common{
	border: 10px solid #daddf4;
}
table.common th{
	font-size: 13px;
	font-weight: bold;
	line-height: 1.6;
	
	padding: 6px 10px;
}
table.common td{
	font-size: 13px;
	line-height: 1.6;

	padding: 6px 10px;
}
table.common table.sub{
}
table.common table.sub th{
	display: block;
	width: 100%;
	
	font-size: 13px;
	font-weight: bold;
	line-height: 1.6;
	
	padding: 0 6px 2px;
}
table.common table.sub td{
	display: block;
	width: 100%;
	
	font-size: 13px;
	line-height: 1.6;

	padding: 0 6px 15px;
}
table.common table.sub tr:last-child td{
	padding-bottom: 0;
}


table.common.entryclass table.sub th{
    font-weight: normal;
}
table.common.entryclass table.sub tr th{
    width: auto;
    display: table-cell;
}
table.common.entryclass table.sub tr td{
    width: auto;
    display: table-cell;
}





table.preInfo{
	border: 10px solid #e9e6e1;
}
table.preInfo th{
	font-size: 13px;
	font-weight: bold;
	line-height: 1.6;
	
	padding: 3px 20px;
}
table.preInfo td{
	font-size: 13px;
	line-height: 1.6;

	padding: 3px 20px 3px 0;
}
table.preInfo tr:first-child th,
table.preInfo tr:first-child td{
	padding-top: 18px;
}
table.preInfo tr:last-child th,
table.preInfo tr:last-child td{
	padding-bottom: 18px;
}



table.preInfo2{
	border: 10px solid #e9e6e1;
}
table.preInfo2 th{
	font-size: 13px;
	font-weight: bold;
	line-height: 1.6;
	
	padding: 6px 10px;
}
table.preInfo2 td{
	font-size: 13px;
	line-height: 1.6;

	padding: 6px 10px;
}



ul.flow{
	width: 100%;
}
ul.flow li{
	width: 100%;
	
	padding-bottom: 70px;
	
	background-position: center bottom 20px;
}
ul.flow li .text{
	border-radius: 10px;
}
ul.flow li .text .stepNo{
	width: 24%;
	padding: 12px 12px;
	
	font-size: 30px;
}
ul.flow li .text .content{
	width: 76%;
	padding: 8px 12px 8px 0;
	
	font-size: 14px;
	line-height: 1.8;
}



section.pageBody h2.voice{
	height: 60px;
	
	margin-bottom: 5px;

}
section.pageBody h2.voice span{
	width: 98%;
	margin-left: 2%;
	
	font-size: 15px;
	line-height: 1.3;
	
	font-weight: bold;

	padding: 10px 15px 10px 60px;
	
	border-radius: 15px;
}
section.pageBody h2.voice .icon{
	width: 60px;
}

.voiceBody{
	box-sizing: border-box;
	width: 100%;
	margin-left: 0;
	
	border: 5px solid #f4e9da;
	border-radius: 15px;
	background-color: #fff;
	
	padding: 20px 25px;
	
	font-size: 13px;
}




section.pageBody h2.gSP{
	
	font-size: 17px;
	line-height: 1.3;
	
	border-bottom: 1px solid #cfbcb0;
	margin-bottom: 10px;
}
section.pageBody h2.gSP .no{
	font-size: 50px;
	padding-right: 10px;
	line-height: 1.0;
}
section.pageBody h2.gSP .title{
	font-size: 17px;
	line-height: 1.3;
	
	padding-bottom: 2px;
}
.gSPcontent p{
	font-size: 13px;
	line-height: 1.8;
}




table.outline{
	border-top: 1px solid #cfbcb0;
}
table.outline th{

	font-size: 13px;
	line-height: 1.5;
	
	padding: 12px 30px;

	border-bottom: 1px solid #cfbcb0;
}
table.outline td{

	font-size: 13px;
	line-height: 1.5;
	
	padding: 12px 0;

	border-bottom: 1px solid #cfbcb0;
}






.articlePage{
}
.articlePage .mainArea{
	width: 100%;
	margin-right: 0;
	
}
.articlePage .navArea{
	width: 100%;
}
.articlePage .navArea h2{
    font-size: 15px;

	margin-bottom: 10px;
    padding: 6px 10px;

}
.articlePage .navArea nav ul{
	margin: 5px 0 30px 10px;
}
.articlePage .navArea nav ul li{
	font-size: 13px;
	margin-bottom: 5px;
}






ul.download li{
	font-size: 13px;
}



.linkBtn a{
	font-size: 13px;

	padding: 10px 25px 10px 25px;
}


.careersBtn{
    margin-bottom: 50px;
}
.careersBtn a{
    padding: 16px 80px;
    
    font-size: 16px;

    border-radius: 10px;
}


dl.form dt{
	padding: 3% 2% 3%;
	width: 100%;
	float: none;
}
dl.form dd{
	border-top: none;
	padding: 1% 2% 3%;
	width: 100%;
	float: none;
}




footer.page .info{
	flex-direction: column;
	align-content: center;
	align-items: center;
}


footer.page .ftNavi{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	
	
	margin-top: 20px;

	padding-top: 10px;
}
footer.page .ftNavi ul{
	box-sizing: border-box;
	width: 30%;
	
	margin: 0 1.5%;
	padding: 20px 20px;
	
	background-color: #2c3bba;
	border-radius: 10px;
	
	margin-bottom: 20px;
}
footer.page .ftNavi ul li{
	width: 100%;
	
	margin-bottom: 10px;
}
footer.page .ftNavi ul li a{
	display: block;
	
	color: #fff;
	font-size: 13px;
	line-height: 1.3;
	
	white-space: normal;
}
footer.page .ftNavi ul li.catname a{
	font-size: 15px;
}

footer.page .address .map{
    text-align: center;
}



.wp-pagenavi {	
	padding: 2px 0 20px;
}

.wp-pagenavi a, .wp-pagenavi span {
	font-size: 14px;

	border: 2px solid #c5caf1;
	padding: 4px 6px;
	margin: 4px;
}


}





/* ---------------------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 699px){


#preNavi ul li{
	width: 40%;
	padding: 0 4% 10px;
}

#preNavi2 p.lead{
/*    text-align: left;*/

    margin-bottom: 15px;
}

/*
#preNavi2 .line .inner{
    text-align: left;
}
#preNavi2 .line p{
    text-align: left;
}
*/


#preNavi2 table th.category{
    font-size: 15px;
}
#preNavi2 table th.age{
    font-size: 15px;
    height: 110px;
}
#preNavi2 table th.age.a0{
    padding-top: 40px;
}
#preNavi2 table th.age.a0::before{
    height: 39px;
}

#preNavi2 table td{
    font-size: 15px;
}


#preNavi2 table td.hirobababy .content{
    height: 180px;
    padding: 10px 10px 5px;
    margin-top: 40px;
}
#preNavi2 table td.hirobapetit .content{
    height: 180px;
    padding: 10px 10px 5px;
}
#preNavi2 table td.hiroba .content{
    height: 240px;
    padding: 10px 10px 5px;
}
#preNavi2 table td.tamago .content{
    height: 180px;
    padding: 10px 10px 5px;
}
#preNavi2 table td.hiyoko .content{
    height: 180px;
    padding: 10px 10px 5px;
}
#preNavi2 table td.usagi .content{
    height: 180px;
    padding: 10px 10px 5px;
}
#preNavi2 table td.hirobababy .content::before,
#preNavi2 table td.tamago .content::before,
#preNavi2 table td.usagi .content::before{
    height: 58px;
    top: -48px;
    background-size: 50px auto;
    
}

#preNavi2 table td .title{
    margin-top: 3px;
    font-size: 14px;
    margin-bottom: 5px;
}
#preNavi2 table td .desc{
    font-size: 12px;
    margin-bottom: 8px;
}

#preNavi2 table td.hagaki{
    width: 10%;
}
#preNavi2 table td.hagaki .content{
    height: 670px;

    font-size: 16px;
}
#preNavi2 table td .content .linkV{
    box-sizing: border-box;
    display: block;
    width: 100%;
    
    padding: 0 5px 8px;
    
}


#preNavi2 table td .content .btn{
	padding: 8px 30px 8px 10px;
    margin-bottom: 5px;
	font-size: 13px;
    text-align: center;
    
	background-position: right 8px top 6px;
	border-radius: 5px;
    
    box-shadow: 0 0 8px rgba(0,0,0,0.5);
}
#preNavi2 table td .content .btn2{
	padding: 8px 10px 30px 10px;
    margin-bottom: 5px;
	font-size: 13px;
    text-align: center;

    background-position: center bottom 6px;
	border-radius: 5px;
    
    box-shadow: 0 0 8px rgba(0,0,0,0.5);
}




#preNavi2 .entry {
    margin-top: 12px;
    padding-top: 65px;
    
    background-image: url("img/arrow_prenavi.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 81px auto;
}
#preNavi2 .entry .text{
    box-sizing: border-box;
    width: 90%;
    margin: 0 auto;
    max-width: 950px;
    background-color: #1d2cab;
    
    padding: 15px 20px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 1.0;
    border-radius: 25px;

    margin-bottom: 35px;
}
#preNavi2 .entry .link{
    width: 90%;
    margin: 0 auto;
    max-width: 250px;
}
#preNavi2 .entry .link a{
    box-sizing: border-box;
	display: block;
    
	padding: 10px 30px 10px 30px;
    margin-bottom: 8px;
	color: #fff;
	font-size: 15px;
    font-weight: bold;
	line-height: 1.0;
    
    text-align: center;
    
	background-color: #2f9cf8;
	background-image: url(img/icon_link_wc.png);
	background-repeat: no-repeat;
	background-position: right 8px top 8px;
	border-radius: 5px;
    
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
}
#preNavi2 .entry .link a:hover{
    box-shadow: none;
}






#homeReSub ul li{
	width: 40%;
	padding: 0 4% 10px;
}


#homeRecommend{
	padding: 25px 0 10px;
}

#homeRecommend ul{
	margin-top: 25px;
}
#homeRecommend li{
	width: 100%;
	
	padding-bottom: 10px;
}
#homeRecommend li a{
	font-size: 12px;
}

#homeRecommend li .title{
	font-size: 15px;
	line-height: 1.3;
	
	padding-bottom: 10px;
}


#homeAbout{
	padding: 40px 0 50px;
}

#homeAbout ul{
}
#homeAbout ul li{
}
#homeAbout ul li:nth-child(2n+1){
	flex-direction: row;
}
#homeAbout ul li .image{
	width: 90%;
	margin: 0 auto;
}
#homeAbout ul li .text{
	width: 100%;
	
	padding: 15px 0;
}

#homeAbout ul li .text p{
	padding: 0 15px 0 40px;
	
}



#subPage .rImg{
	flex-wrap: wrap;
}
#subPage .rImg .text{
	width: 100%;
	
	margin-bottom: 20px;
}
#subPage .rImg .text.w2{
	width: 100%;
}
#subPage .rImg .text.w3{
	width: 100%;
}
#subPage .rImg .text.w4{
	width: 100%;
}
#subPage .rImg .image{
	width: 100%;
}
#subPage .rImg .image.w2{
	width: 100%;
}
#subPage .rImg .image.w3{
	width: 100%;
}
#subPage .rImg .image.w4{
	width: 100%;
	text-align: center;
}
#subPage .rImg .image.w4 img{
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 280px;
	height: auto;
}
#subPage .rImg .image.lead{
	margin-bottom: 40px;
}



table.common.entryclass.usagiTypeA tr td,
table.common.entryclass.usagiTypeB tr td{
    width: 84%;
}
table.common.entryclass.usagiTypeA tr.typeName th:nth-child(3),
table.common.entryclass.usagiTypeA tr td:nth-child(3){
    display: none;
}
table.common.entryclass.usagiTypeB tr.typeName th:nth-child(2),
table.common.entryclass.usagiTypeB tr td:nth-child(2){
    display: none;
}
table.common.entryclass table.sub tr th{
    font-weight: bold;
    text-align: left;
    padding-top: 10px;
}
table.common.entryclass table.sub tr:first-child th{
    padding-top: 0;
}
table.common.entryclass.usagiTypeA table.sub tr th,
table.common.entryclass.usagiTypeB table.sub tr th{
    display: block;
    width: 100%;
}
table.common.entryclass.usagiTypeA table.sub tr td,
table.common.entryclass.usagiTypeB table.sub tr td{
    display: inline-block;
    width: auto;
    padding-right: 10px;
}

#entryclassTableNoteB{
    padding-left: 8.2em;
}
#entryclassTableNoteB.usagiTypeA{
    display: none;
}

.entryClassTab{
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding-left: 8.2em;
}
.entryClassTab ul{
    display: flex;
}
.entryClassTab ul li{
    width: 50%;
    display: flex;
    align-items: flex-end;
}
.entryClassTab ul li button{
    box-sizing: border-box;
    border: none;
    width: 100%;
    cursor: pointer;
    
    text-align: center;
    padding: 15px 0;
    
    font-size: 14px;
    font-weight: bold;
    line-height: 1.0;
    color: #2f9cf8;
    
    border-radius: 25px 25px 0 0;
    background-color: #e3e9ef;
    
    position: relative;
}
.entryClassTab ul li button::after{
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    bottom: 2px;
    
    background: #2f9cf8;
    height: calc(tan(60deg) * 10px / 2);
    width: 10px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.entryClassTab ul li button::before{
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 100%;
    height: 10px;
    background-color: #2f9cf8;
    opacity: 0.6;
}

.entryClassTab ul li button.active{
    cursor: auto;
    background-color: #2f9cf8;
    color: #fff;
}
.entryClassTab ul li button.active::after{
    display: none;
}




#subPage p.ttnote{
	font-size: 12px;
}
.timetable table{
	margin: 30px 0 20px;
}
.timetable table th{
	width: 32%;
	padding: 6px 0 8px 3%;
	
	font-size: 14px;
	line-height: 2.0;
	
}
.timetable table td{
	padding: 6px 20px;
	
	font-size: 14px;
	line-height: 2.0;
}
.timetable p.note{
	font-size: 13px;
}

.timetable ul.photos{
	position: relative;
	right: auto;
	top: 0;
	
	width: 90%;
	
	margin: 10px auto 0;

	justify-content: space-between;
}
.timetable ul.photos li{
	width: 32%;
	margin-right: 0;
	
	margin-bottom: 5px;
}
.timetable ul.photos li img{
	width: 100%;
}
.timetable ul.photos li:nth-child(2n) img{

	position: relative;
	margin-top: 0;
}


.ttColumn{
	
	padding: 25px 5%;
	
}
.ttColumn h3{
	font-size: 16px;
	
	margin-bottom: 10px;
}
.ttColumn table{
}
.ttColumn table th{
	
	padding: 8px 30px 8px 10px;
	
	font-size: 14px;

	white-space: nowrap;
}
.ttColumn table td{
	
	padding: 8px 10px 8px 0;
	
	font-size: 14px;

	border-bottom: 2px solid #c5caf1;
}









.annualEvents{
}
.annualEvents ul.events{
	margin-bottom: 10px;
}
.annualEvents ul.events li{
	padding: 18px 30px;
	
	font-size: 13px;
	
	min-height: 10em;
}

.annualEvents ul.photos{
	position: relative;
	right: auto;
	top: 0;
	
	margin-top: 10px;
	
	width: 100%;

	justify-content: space-between;
}
.annualEvents ul.photos li{
	width: 32%;
	margin-right: 0;
	
	margin-bottom: 5px;
}
.annualEvents ul.photos li:nth-child(2n) img{

	position: relative;
	margin-top: 0;
}



.gSPcontent p{
	width: 100%;
	
	margin-bottom: 10px;
}
.gSPcontent .image{
	width: 100%;
}



#hagakiBody,
.hagakiBody{
	width: 90%;
	margin: 0 auto;
	padding: 5%;
	font-size: 13px;
	line-height: 1.6;
	
	background-color: #fff;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	border-radius: 25px;
}
#hagakiBody h1,
#hagakiBody h2,
#hagakiBody h3,
.hagakiBody h1,
.hagakiBody h2,
.hagakiBody h3{
	width: 100%;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	line-height: 1.3;
	
	margin-top: 10px;
}





ul.flow li .text .stepNo{
	width: 30%;
}
ul.flow li .text .content{
	width: 70%;
}





}





/* ---------------------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 499px){



#preNavi2 table td .content .btn{
	padding: 8px 30px 8px 10px;
    margin-bottom: 5px;
	font-size: 13px;
    
	background-position: right 8px top 6px;
}
#preNavi2 table td .content .btn2{
	padding: 8px 8px 30px 8px;
    margin-bottom: 5px;
	font-size: 13px;

    background-position: center bottom 6px;
}
#preNavi2 table td .content .btn .label,
#preNavi2 table td .content .btn2 .label{
    font-size: 0;
}
#preNavi2 table td .content .btn .label::before,
#preNavi2 table td .content .btn2 .label::before{
    font-size: 13px;
    content: "詳細";
}



#subIndex{
	padding: 50px 0 40px;
}
#subIndex li{
	width: 100%;
	
	margin-bottom: 40px;
}

#subPage > section.sub .sBody .content{
	padding-left: 0;
}
#subPage > section.sub .sBody .content.hiroba{
	padding: 30px 20px;
}



#subMainTitle.dbl .imageArea:before{
	padding-top: 24%;
}




ul.n1c li .photo,
ul.n2c li .photo,
ul.n3c li .photo,
ul.n4c li .photo,
ul.n5c li .photo{
	margin-bottom: 5px;
}
ul.n2c li{
	width: 100%;

	margin-bottom: 5px;
}
ul.n2c.staff li:nth-child(2n),
ul.n2c.staff li:nth-child(2n+1){
	width: 100%;

	margin-bottom: 5px;
}
ul.n3c li{
	width: 100%;

	margin-bottom: 5px;
}
ul.n4c li{
	width: 100%;

	margin-bottom: 5px;
}
ul.n5c li{
	width: 100%;

	margin-bottom: 5px;
}

.mottoImage{
	margin-top: -20px;
	
	max-width: 300px;
}
.mottoImage .ww,
.taegetImage .ww{
	display: none;
	width: 100%;
}
.mottoImage .nw,
.taegetImage .nw{
	display: block;
	width: 100%;
}

.memberAlbum ul li{
	width: 48%;
	margin-bottom: 10px;
}
.memberPhoto ul li{
	width: 48%;

	margin-bottom: 10px;
}


.careersBtn{
    margin-bottom: 40px;
}
.careersBtn a{
    padding: 15px 60px;
    
    font-size: 15px;

    border-radius: 10px;
}



footer.page .ftNavi{
	justify-content: flex-start;
}
footer.page .ftNavi ul{
	width: 48%;
	margin: 0 1%;
		
	margin-bottom: 10px;
}











.pageTop {
	bottom: 80px;
	right: 10px;
	
	width: 40px;
}


}









