@charset "utf-8";

/* common
-------------------------------------*/

* {
	margin: 0px;
	padding: 0px;
}

body {
	line-height:140%;
	line-height:1.5em;

}
@media screen and (min-width: 620px) {
.brsp{ display:none!important; }
}
a img {
	border: 0px;
	vertical-align:bottom;
}
img{
	vertical-align:bottom;
	height: auto;
}
a,area{outline: none;}

a{text-decoration: none;}

option {
	padding: 0 5px 0 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* title
-------------------------------------*/
h1, h2, h3, h4, h5, h6 {
    margin-top: 0px;
}

/* character setting
-------------------------------------*/
strong {
	font-weight: 800;
}

em {
	font-style: normal;
}

address {
	font-style: normal;
}

/* list
-------------------------------------*/
ul{
	list-style-type: none;
}
ol {
	padding:0 10px 8px 20px;
}
ol li {
	padding:0 0 8px 0px;
}

/* table
-------------------------------------*/
table,
th,
td {
	padding:3px;
    vertical-align: middle!important;
}

caption {
	text-align: left;
}

/* align
-------------------------------------*/
.alnleft {
	text-align: left;
}

.alncenter {
	text-align: center;
}

.alnright {
	text-align: right;
}


/* font-size
-------------------------------------*/
.txtxxsmall { font-size: xx-small}
.txtxsmall { font-size: x-small}
.txtsmall { font-size: small}
.txtsmaller { font-size: smaller}
.txtxxlarge { font-size: xx-large}
.txtxlarge { font-size: x-large}
.txtlarge { font-size: large}
.txtlarger { font-size: larger}
.txtmed { font-size: medium}
.txt09 { font-size: 9px;}
.txt10 { font-size: 10px;}
.txt11 { font-size: 11px;}
.txt12 { font-size: 12px;}
.txt13 { font-size: 13px;}
.txt14 { font-size: 14px;}
.txt15 { font-size: 15px;}
.txt16 { font-size: 16px;}
.txt17 { font-size: 17px;}
.txt18 { font-size: 18px;}
.txt19 { font-size: 19px;}
.txt20 { font-size: 20px;}
.txt21 { font-size: 21px;}
.txt22 { font-size: 22px;}
.txt23 { font-size: 23px;}
.txt24 { font-size: 24px;}
.txt25 { font-size: 25px;}
.txt26 { font-size: 26px;}
.txt70{font-size:70%;}
.txt80{font-size:80%;}
.txt90{font-size:90%;}
.txt110{font-size:110%;}
.txt120{font-size:120%;}
.txt130{font-size:130%;}
.txt140{font-size:140%;}
.txt150{font-size:150%;}

/* color
-------------------------------------*/
.clrred { color: #da423e;}
.clrblue { color: #279ab3;}
.clryellow { color: #ddb410;}
.clrorange { color: #fe501a;}
.clrorange2 { color: #F39219;}
.clrgreen { color: #4eb890;}
.clrpink { color: #FF999C;}
.clrbrown { color: #a87c1c;}
.clrwhite { color: #FFF;}
.clr333 { color: #333;}
.clr666 { color: #666;}
.clr999 { color: #999;}
.clrCCC { color: #CCC;}
.clrpurple { color: #800042;}

.clrkeiei {
	color:#103c70;
}
.clrjinbun {
	color:#9e0a0f;
}
.clrshinri {
	color:#9e0a0f;
}
.clrkyouiku {
	color:#6a3f76;
}
.clrsports {
	color:#109359;
}
.clrkanri {
	color:#de702d;
}

/* background
-------------------------------------*/
.bg01 { background: #F8FBFD;}
.bg02 { background: #f2f2f2;}
.bg03 { background: #DEF0FB;}
.bg04 { background: #FEF9E9;}
.bg05 { background: #D3F1A0;}
.bg06 { background: #f8d9d8;}
.bg07 { background: #A0A9F1;}
.bg08 { background: #e50112; color:#fff;}
.bg09 { background: #FDE297;}
.bg10 { background: #EFEFEF;}
.bg11 { background: #F4F4F4;}
.bg12 { background: #EEEEDC;}
.bg13 { background: #F6F6EE;}
.bg14 { background: #776655;}
.bg15 { background: #EDF3FE;}
.bg16 { background: #F9F9F9;}
.bg17 { background: #7161C4;}
.bg18 { background: #2ABE0F; color:#fff;}
.bg19 { background: #FF0B0B;}
.bg20 { background: #FFB82B;}
.bg21 { background: #7CA20A;}
.bgfff { background: #FFF;}
.bgccc { background: #ccc;}

.bgkeiei {
	 background:#103c70;
}
.bgjinbun {
	 background:#9e0a0f;
}
.bgshinri {
	 background:#9e0a0f;
}
.bgkyouiku {
	 background:#6a3f76;
}
.bgsports {
	 background:#109359;
}
.bgkanri{
	 background:#de702d;
}


/* float
-------------------------------------*/
.fltleft { float: left;}
.fltright { float: right;}

/*clear*/
.clear {
	clear: both;
	font-size: 1px;
}

/*margin
------------------------------------*/
.ma20 { margin: 20px;}
.ma10 { margin: 10px;}
.ma05 { margin: 5px;}
.mt20 {	margin: 20px 0px 0px 0px;}
.mt10 { margin: 10px 0px 0px 0px;}
.mt05 { margin: 5px 0px 0px 0px;}
.mb20 { margin: 0px 0px 20px 0px;}
.mb10 { margin: 0px 0px 10px 0px;}
.mb05 { margin: 0px 0px 5px 0px;}
.mr20 { margin: 0px 20px 0px 0px;}
.mr10 { margin: 0px 10px 0px 0px;}
.mr05 { margin: 0px 5px 0px 0px;}
.ml20 { margin: 0px 0px 0px 20px;}
.ml15 { margin: 0px 0px 0px 15px;}
.ml10 { margin: 0px 0px 0px 10px;}
.ml05 { margin: 0px 0px 0px 5px;}
.mtb20 { margin: 20px 0;}
.mtb10 { margin: 10px 0;}
.mtb05 { margin: 5px 0;}

/*padding
------------------------------------*/
.pa20 { padding: 20px;}
.pa10 { padding: 10px;}
.pa05 { padding: 5px;}
.pt20 { padding-top: 20px;}
.pt15 { padding-top: 15px;}
.pt10 { padding-top: 10px;}
.pt05 { padding-top: 5px;}
.pb20 { padding-bottom:20px;}
.pb10 { padding-bottom:10px;}
.pb05 { padding-bottom: 5px;}
.pr20 { padding-right: 20px;}
.pr10 { padding-right: 10px;}
.pr05 { padding-right: 5px;}
.pl20 { padding-left:20px;}
.pl10 { padding-left: 10px;}
.pl05 { padding-left:5px;}
.pt00 {padding-top: 0px;}
.pl00 {padding-left: 0px;}
.pb00 {padding-bottom: 0px;}
.pr00 {padding-right: 0px;}
/*--------------------------------------------------------------------------
*/
/* floatさせたボックスが親ボックスの外にはみ出す現象を回避（ここから） */
.clearbox,
.clearfix{
min-height:1px;/* IE 7対策 */
}
.clearbox:after,
.clearfix:after {
 content:"";
 display:block;
 height:0px;
 clear:both;
 visibility:hidden;
 font-size: 0.1em;
 line-height: 0; 

}
.clearbox,
.clearfix { display:inline-table; }
/* Mac IE には適用させない \*/
* html .clearbox,
* html .clearfix { height:1px; }
.clearbox,
.clearfix { display:block; }
/* */
/* floatさせたボックスが親ボックスの外にはみ出す現象を回避（ここまで） */
/*--------------------------------------------------------------------------
*/
/*----上へ戻る----*/
/*.gotop{
	padding:10px 0 20px 0;

}
.contents .gotop p{
	clear:both;
	text-align:right;
	background:url(common/img/bg_gotop.gif) no-repeat right 5px;
	padding:0 15px 0 0px;
}
.gotop p a:hover{

}*/
/*----位置の指定----*/
.alncenter{
	text-align:center;
}
.alnleft{
	text-align:left;
}
.alnright{
	text-align:right;
}

.marginauto{
	margin-left:auto;
	margin-right:auto;
}
.clear{
	clear:both;
}
.valntop{
	vertical-align:top;
}
.valnmiddle{
	vertical-align:middle;
}
.valnbottom{
	vertical-align:bottom;
}
.indent{
	text-indent:-10000px;
}
/*.justify{
	text-align:justify;
	text-justify: distribute-all-lines;
}
*/
.fontmincho{
	font-family:"ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
}
/*----ディスプレイ----*/
.none{
	display:none;
}
.block{
	display:block;
}
.inline{
	display:inline;
}
.inlineblock{
	display:inline-block;
}

.cap,
.contents .cap{
	padding-left:1em;
	text-indent:-1em;
}
.cap2,
.contents .cap2{
	padding-left:2em;
	text-indent:-2em;
}

.contents .cap,
.contents .cap2{
	margin:0 0 0 10px;
	padding-bottom:2px;
}
a:hover img{
	opacity:0.8;
	filter: alpha(opacity=80);
}

.weight400{
	font-weight:400;
}
.weight800{
	font-weight:800;
}

/*-----------Flexbox-----------*/

.d-flex {
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
}
.f-wrap {
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
.f-nowrap {
  	-ms-flex-wrap: nowrap;
  	flex-wrap: nowrap;
}
.jc-start {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
.jc-end {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
.jc-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.jc-between {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.ai-start {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.ai-end {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}
.ai-center {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.order-1 {
	-webkit-box-ordinal-group:2;
	-ms-flex-order:1;
	order:1;
}
.box-borderbox {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

@media screen and (max-width: 620px) {
	.d-sp-block {display: block!important;}
	.w-sp-100 {	width: 100%!important;}
}


/*===========================
フローティングバナー
===========================*/


/* color:var(--contact-color); で利用 */
:root {
	--contact-color:#489051;
}

/* color:var(--contact-bg); で利用 */
:root {
	--contact-bg:#63a06b;
}

/* color:var(--contact-hover); で利用 */
:root {
	--contact-hover:#87b58d;
}

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto
}
.center-block {
  display: block;
  margin-right: auto;
  margin-left: auto
}
.emergencyWrap {
    position: fixed;
    right: 1%;
    bottom: 11%;
    z-index: 1000;
    padding: 10px 30px;
    background-color: var(--contact-bg);
    border-bottom: 6px solid var(--contact-color);
    border-radius: 12px;
}
@media screen and (max-width: 768px) {
    .emergencyWrap {
        right: 0;
        bottom: 0;
        width: 100%;
        border-radius: 0;
        border: none;
        /*background-color: #51baf1;*/
    }
}
/*@media screen and (max-width: 480px) {
  .emergencyWrap {
    bottom: 50px;
  }
}*/
.emergencyWrap > span {
    display: block;
    margin-bottom: 8px;
    margin-top: 3px;
    color: #fff;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
}
.emergencyWrap .emergencyBtnWrap {
    display: block;
}
@media screen and (max-width: 768px) {
    .emergencyWrap .emergencyBtnWrap {
        /*display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;*/
        align-items: center;
        -ms-flex-align: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
    }
}
.emergencyWrap a {
    display: block;
    margin-bottom: 0px;
    margin-top: 8px;
    padding: 2px;
    color: #fff;
    background-color: var(--contact-color);
    border-radius: 5px;
    text-align: left;
    font-size: 14px;
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .emergencyWrap a {
        margin: 3px 8px;
    }
}
.emergencyWrap a.tel {
    display: block;
    padding: 8px 8px;
    color: #fff;
    text-align: center;
    font-size: 14px;
    letter-spacing: 1px;
    font-weight: bold;
}
.emergencyWrap a.tel .fa-phone-volume {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    font-size: 20px;
}
.emergencyWrap a.tel span {
    display: inline-block;
    vertical-align: middle;
    margin-left: 2px;
}
.emergencyWrap a.tel:hover {
    background-color: var(--contact-hover);
    text-decoration: none;
}
.emergencyWrap a.contact {
    display: block;
    padding: 8px 8px;
    color: #fff;
    text-align: left;
    font-size: 14px;
    letter-spacing: 1px;
    font-weight: bold;
}
.emergencyWrap a.contact .fa-envelope {
    color: #fff;
    font-size: 20px;
    display: inline-block;
    vertical-align: middle;
}
.emergencyWrap a.contact span {
    display: inline-block;
    margin-left: 35px;
    display: inline-block;
    vertical-align: middle;
}
.emergencyWrap a.contact:hover {
    background-color: #69d782;
    text-decoration: none;
}
@media screen and (max-width: 768px) {
    .emergencyWrap a.contact {
        text-align: center;
        padding: 8px 0px 8px 8px;
    }
    .emergencyWrap a.tel span {
        font-size: 14px;
        font-weight: 900;
    }
    .emergencyWrap a.contact span {
        display: block;
        margin-left: 15px;
        text-align: center;
        margin: auto;
    }
    .emergencyWrap a.contact .fa-envelope {
        color: #fff;
        font-size: 20px;
        display: block;
        text-align: center;
        margin: auto;
    }
}
@media screen and (max-width: 340px) {
    .emergencyWrap a.tel span {
        font-size: 13px;
        font-weight: 900;
    }
} /*　addに追加　*/
.emergencyWrap {
    box-sizing: border-box;
}
@media screen and (max-width: 768px) {
    .emergencyWrap .emergencyBtnWrap {
        display: flex;
        justify-content: center;
    }
    .emergencyWrap a.tel {
        width: 30%;
        display: inline-block;
        padding: 8px 8px;
        color: #fff;
        text-align: center;
        font-size: 14px;
        letter-spacing: 1px;
        font-weight: bold;
        box-sizing: border-box;
    }
    footer {
        padding-bottom: 150px;
    }
}
.catch04 {
    font-size: 2em;
    font-weight: 800;
    line-height: 1.6em;
    color: #20993b;
    text-align: center;
    margin-bottom: 1em;
}
.tx-center {
	text-align: center;
}
.tx-flex {
	text-align: center;
}
 @media screen and (max-width: 768px) {
.tx-flex {
 text-align: left;/*PCで中央、スマホタブレット左寄せ*/
}
}
.mb20 {
	margin-bottom: 20px!important;
}
.wrap-bg {
    position: relative;
    top: 0rem;
    left: 0px;
    width: 100vw;
    height: auto;
    background: url(../images/backgrounds/background-01.svg) no-repeat;
    background-position: top -100px left !important;
    background-size: contain !important;
}
@media only screen and (max-width: 768px) {
    .catch01 {
        font-size: 1.1em;
        line-height: 1.6em;
        text-align: left;
        margin-bottom: 1em;
    }
    .wrap-bg {
        background-position: top 0px left !important;
        background-size: initial !important;
    }
}
.wd40 {
    width: 40% !important;
    margin: auto;
}
.wd50 {
    width: 50% !important;
    margin: 0 auto;
}
.wd60 {
    width: 60% !important;
    margin: 0 auto;
}
.wd70 {
    width: 70% !important;
    margin: 0 auto;
}
.wd80 {
    width: 80% !important;
    margin: 0 auto;
}
.wd85 {
    width: 85% !important;
    margin: 0 auto;
}
.wd90 {
    width: 90% !important;
    margin: 0 auto;
}
.wd95 {
    width: 95% !important;
    margin: 0 auto;
}
@media only screen and (max-width: 768px) {
    .wd40, .wd50, .wd60, .wd70, .wd80, .wd85, .wd90, .wd95 {
        width: 100% !important;
        margin: auto;
    }
}
.box-sd {
	padding: 2em 4em;
	/*background-color: #fff;*/
	border: 1px solid #ccc;
	box-sizing: border-box;
	background-color: rgba(255,255,255,0.80);
}
@media only screen and (max-width: 600px) {
    .box-sd {
        padding: 15px;
    }
}
#pagetop {
    position: fixed;
    bottom: 30px;
    right: 10px;
    z-index: 20;
}
@media only screen and (max-width: 600px) {
    #pagetop {
        position: fixed;
        bottom: 120px;
        right: 10px;
        z-index: 20;
    }
}
