@charset "UTF-8";
@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);

body {
	background: #fff;
	margin: 0;
	padding: 0;
	color: #666666;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "メイリオ", sans-serif;
}

ul, ol, dl {
	padding: 0;
	margin: 0;
}


#wrapper{
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 0;
}

.twitter-timeline {
	min-height: 70px!important;
}

/* clearfix, overflow, hoveropacity
------------------------------------------------------*/

.clearfix:before,
.clearfix:after {
    content: "";
    display: block;
    visibility: hidden;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    zoom: 1;
}

a.transparent img:hover{
	filter:alpha(opacity=60);
	-moz-opacity:60;
	opacity:0.6;

}

a.boxshadow img:hover{
    box-shadow: 2px 2px 2px #909090;
}

a.transparent:hover{
	filter:alpha(opacity=60);
	-moz-opacity:60;
	opacity:0.6;
}

a {
text-decoration: none !important;
}

/* 見出し
------------------------------------------------------*/

h1{
    display: block;
    width: 95%;
    font-size: 22px;
    color: #666;
    background: #eee;
    box-sizing:border-box;
    border-left: solid 6px #F77C5B;
    box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33);
    padding: 10px 0;
    padding-left: 10px;
}
#logo h1 {
	display: block;
	width: auto;
	font-size: 100%;
	background: #fff;
	box-sizing: inherit;
	border-left: none;
	box-shadow: none;
	padding: 0;
	padding-left: 0;
	margin: 0;
}

h2{
    display: block;
    width: 95%;
    font-size: 18px;
    color: #fff;
    background: #2D7DD2;
    line-height: 50px;
    box-sizing:border-box;
    border-left: solid 20px #2D7DD2;
    letter-spacing: 2px;
    margin-bottom: 50px;
    margin-top: 50px;
}

h3{
    font-size: 16px;
    padding-left: 25px;
    position: relative;
    line-height: 16px;
    letter-spacing: 2px;
    margin: 50px 0 25px;
}

h3:before{
    background: #18BA60;
    content: "";
    height: 15px;
    width: 15px;
    left: 0;
    position: absolute;
    top: 2.5px;
}

h4{
    margin: 40px 0px 15px;
    font-size: 18px;
    color: #2D7DD2;
    padding-left; 10px;
}

h5{
    font-size: 15px;
    padding-left: 35px;
    position: relative;
    line-height: 15px;
    letter-spacing: 2px;
    color: #2D7DD2;
    margin: 30px 0px 15px;
}

h5:before{
    background: #2D7DD2;
    content: "";
    height: 15px;
    width: 15px;
    left: 0;
    position: absolute;
    margin-left: 10px;
}

h6{

    margin: 0;
    font-size: 18px;
    color: #2D7DD2;
    padding-left; 10px;
}

.content_ttl{
	display: block;
	width: 100%;
  margin: 0;
  font-size: 18px;
  color: #2D7DD2;
	background: none;
	border-left: none;
	line-height: 1.5;
  padding-left: 10px;
}


p.word{
    font-size: 13px;
    padding-left: 40px;
    position: relative;
    line-height: 16px;
    letter-spacing: 1px;
    margin: 15px 0px;
}

p.word:before{
    content: "";
    border: 5px solid transparent;
    border-left: 10px solid #2D7DD2;
    left: 0;
    position: absolute;
    top: 2.5px;
    margin-left: 20px;
}

.texsmall{
    font-size: 9px;
    margin: 1px;
    text-align: center;
}

.freetel{
    font-size: 32px;
    color: #EE4443;
    margin: 0;
    font-weight: bold;
    line-height: 32px;
    text-align: center;
}

p{
    font-size: 16px;
    letter-spacing: 1px;
    line-height: 28px;
}

.n-br{
    display: none;
}

.n-resp{
    display: none;
}

.invis{
    color: #fff;
}

.topcon-title{
    margin: 15px 0px 15px;
    font-size: 18px;
    color: #2D7DD2;
    padding-left; 10px;
}

/* easyease
------------------------------------------------------*/
a.mail,
a.mail::before,
a.mail::after,
nav#menu ul li a,
nav#menu ul li a::before,
nav#menu ul li a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

/* header
------------------------------------------------------*/

#header{
    top: 0px;
    padding-top: 10px;
    width: 100%;
    background-color: #fff;
    position: fixed;
    z-index: 20;
}

#heading{
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    margin-bottom: 5px;
}

#logo, #dial{
    display: inline-block;
}

#logo{
    width: 50%;
    margin: 0;
    margin-top: 10px;
}

.headtel,.headmail{
    display: inline-block;
}

.headtel{
    width: 62%;
}

.headmail{
    width: 35%;
}

#logo img{
    width: 90%;
}

#dial{
    width: 45%;
    border: 5px solid #F77C5B;
    margin: 0 auto;
    border-radius: 20px;
    padding: 3px;
    vertical-align: top;
    margin-right: 0;
    box-sizing:border-box;

}

.mail{
    width: 100%;
    display: block;
    color: #fff;
    font-size: 10px;
    background-color: #18BA60;
    border-radius: 20px;
    text-align: center;
    line-height: 25px;
    box-shadow:5px 4px 17px -7px #666;
    margin: 0 auto;
    margin-bottom: 5px;
}

a.mail:hover{
  letter-spacing: 3px;
    filter:alpha(opacity=60);
}

dial a{
    text-decoration: none !important;
}

/* menu */

#menuwrapper{
    width: 100%;
}

nav#menu{
    width: 100%;
    text-align: center;
    /* background-color: #DD3A0E; */
		/* background-color: #3EA777; */
		/* background-color: #0D9155; */
		background-color: #2D7DD2;
}

nav#menu ul{
    padding: 0;
}

nav#menu ul li{
    display: inline-block;
    padding: 20px 10px;
    line-height: 1.5;
}

nav#menu ul li a{
    text-decoration: none;
    color: #efefef;
    font-size: 16px;
    letter-spacing: 0px;
}

nav#menu ul li a:hover{
  /* letter-spacing: 3px; */
    border-bottom: 1px solid #fff;

}

.menu-title{
    display: none;
    pointer-events: none;
}


/* top-mainvisual
------------------------------------------------------*/

#mainvisual{
    width: 100%;
    height: auto;
    background-color: #F77C5B;
    text-align: center;
    padding: 0;
    margin: 0;
    margin-top: 165px;
}

#mainvisual img{
    width: 100%;
    max-width: 1200px;
    margin: 0;
    vertical-align: bottom;
}

/* top-content
------------------------------------------------------*/


#top-cont ul.inl-block{
    list-style-type: none;
    text-align: center;
    margin: 0 auto;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 900px;
}

#top-cont{
    width: 100%;
    margin: 0 auto;
    text-align: center;
    background: #eee;
}

ul.inl-block li{
    display: inline-block;
    width: 31.33%;
    vertical-align: top;
    margin: 15px 1%;
    padding: 1%;
    padding-top: 10px;
    border: 5px solid #18BA60;
    background-color: #fff;
    box-sizing: border-box;
    position: relative;
}

ul.inl-block li img{
    width: 80%;
    margin-bottom: 20px;
}

ul.inl-block li p{
    text-align: justify;
    margin-bottom: 30px;
    font-size: 14px;
    line-height: 23px;
}

ul.inl-block li h4 a,
ul.inl-block li h6 a{
    text-decoration: none !important;
}


ul.inl-block li a.detail-l{
    color: #18BA60;
    font-size: 14px;
    text-align: right;
    position: absolute;
    bottom: 10px;
    right: 10px;
}

ul.inl-block li a.detail-l:hover{
    color: #18BA60;
    border-bottom: 1px solid #18BA60;
}

.titleimg{
    width: 30%;
    margin: 0 auto;
    margin-top: 20px;
}


/* top banner
------------------------------------------------------*/

.top-banner,
.top-banner-01{
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
}
.top-banner {
	display: flex;
}

.topbnr-full{
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 0;
}

.top__news {
    width: 100%;
    display: block;
    vertical-align: top;
    margin: 0 auto;
    text-align: center;
    padding: 0;
}
.topbnr,
.topbnr-01,
.topbnr-02{
    width: 49%;
    display: inline-block;
    vertical-align: top;
    margin: 0 auto;
    text-align: center;
    padding: 0;
}

.topbnr-full img,
.topbnr img,
.topbnr-01 img,
.topbnr-02 img{
    width: 90%;
    margin: 0;
    padding: 0;
}
.img_size01 {
	width: 58%!important;
}
.img_size02 {
	width: 40%!important;
}

.topbnr02{
    width: 56%;
    margin: 0 auto;
    margin-top: 10px;
}
.topbnr03{
    width: 38%;
    margin: 0 auto;
    margin-top: 10px;
}

.topbnr img{
    margin-bottom: 5px;
}

/* news
------------------------------------------------------*/

.news,
#sidebar .news{
    width: 100%;
    margin: 0 auto;
    text-align: center;
    font-size: 16px;
    display: block;
    background-color: #18BA60;
    color: #fff;
    padding: 5px 0;
    border-radius: 10px 10px 0px 0px;
}

#sidebar .info{
    margin: 0;
    text-align: center;
    font-size: 16px;
    display: block;
    background-color: #2D7DD2;
    color: #fff;
    padding: 10px 0;
    border-radius: 10px 10px 0px 0px;
}

#twit-news{
    width: 100%;
    margin: 0 auto 10px;
    border: 3px solid #18BA60;
    border-top: 0;
    box-sizing: border-box;
}

#twit-info{
    width: 100%;
    margin: 0;
    border: 3px solid #2D7DD2;
    border-top: 0;
    box-sizing: border-box;
}

.top-banner #twit-news-top{
    width: 98%;
    margin: 0 1%;
    border: 3px solid #18BA60;
    border-top: 0;
    box-sizing: border-box;
}

.news-top{
    width: 98%;
    margin: 0 auto;
    text-align: center;
    font-size: 16px;
    display: block;
    background: #18BA60;
    color: #fff;
    padding: 10px 0;
    border-radius: 10px 10px 0px 0px;
		border-left: none;
		line-height: 1.5;
}


/* CM
------------------------------------------------------*/
.cm-bnr{
    width: 98%;
    margin: 0 auto;
    margin-top: 15px;
}
.cm-bnr a img{
    width: 100%;
}

.cm-bnr a:hover{
    opacity: 0.8;
}

.cm-box{
    display: flex;
    width: 100%;
}

.cm-left{
    width: 60%;
    margin: 0 auto;
}

.cm-right{
    width: 40%;
    margin: 0 auto;
}

.cm-right img{
    width: 50%;
    margin-top: 30px;
}

.cm-box audio{
    background: #2D7DD2;
    color: #fff;   
}

.cm-text{
    margin-bottom: 15px !important;
}

.cm-audio{
    border-radius: 15px;
    margin: 0 auto;
    letter-spacing: 2px;
    padding: 10px 15px;
    color: #fff;
    background: #18BA60;
    border: 1px solid #18BA60;
    box-sizing: border-box;
}

.cm-audio:hover{
    background: #fff;
    color: #18BA60;
}

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

    .cm-box{
        display: block;
        width: 90%;
        margin: 0 auto;
    }
    .cm-left{
    width: 100%;
    margin: 0 auto;
    }

    .cm-right{
        width: 90%;
        margin: 0 auto;
    }
    .cm-right img{
        width: 30%;
        margin-top: 30px;
    }

}

/* facebook
------------------------------------------------------*/
.top-banner .facebook-wrapper{
    width: 90%;
    margin: 0 auto 20px;
}
.facebook-wrapper > .fb-page {
    width: 100%;
}

/* footer
------------------------------------------------------*/
#footer{
    width: 100%;
    background-color: #F77C5B;
    text-align: center;
    margin: 0;
    margin-top: 10px;
}

#footer p{
    font-size: 11px;
    margin: 0;
    color: #fff;
    padding: 5px;
}

#foot-menu{
    font-size: 12px;
    display: block;
    margin: 0 auto;
    max-width: 1200px;
    width: 100%;
    text-align: center;
    margin-top: 20px;
}

#foot-menu a{
    text-decoration: none;
    color: #666;
}

#foot-menu a:hover{
    border-bottom: 1px solid #666;
}

.side_cta {
	position: fixed;
  right: 0;
  top: 200px;
  z-index: 999;
}
.side_cta:hover {
	filter: brightness(110%);
}
.side_cta img {
	width: 70px;
}
@media only screen and (max-width: 760px) {
	.side_cta {
		display: none;
	}
}

/* 900px　以下
------------------------------------------------------*/

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

    /* ヘッダー
------------------------------------------------------*/
    .texsmall{
    font-size: 8px;
    margin-left: 5px;
    line-height: 12px;
    }

    .freetel{
    font-size: 22px;
    line-height: 25px;
    }

    .headtel{
    width: 50%;
    }

    .headmail{
        width: 45%;
    }

    .n-br{
        display: inline;
    }

    #mainvisual{
        margin-top: 120px;
    }

		.menu-title{
	        display: block;
			pointer-events: all;
	        color: #fff;
	        line-height: 35px;
	        margin: 0;
	        border-top: 1px solid #fff;
	        border-bottom: 1px solid #fff;
	        box-sizing: border-box;
		}

		.toggle{
			display: none;
		}
}

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

    .freetel{
    font-size: 18px;
    line-height: 25px;
    }

    .headtel{
    width: 50%;
    }

    .headmail{
        width: 45%;
    }

    .n-br{
        display: inline;
    }

    #mainvisual{
        margin-top: 120px;
    }

    h1{
        width: 95%;
        margin: 0 auto;
    }
		.resp-top h1 {
			display: block;
			width: auto;
			background: #fff;
			box-sizing: inherit;
			border-left: none;
			box-shadow: none;
			padding: 0;
			padding-left: 0;
			margin: 0;
			font-size: 100%;
		}

    h2{
        font-size: 16px;
    }
    h3{
        letter-spacing: 1px;
        font-size: 14px;
    }


}

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

    .resp-n{
        display: none;
    }



    .n-resp{
        display: inline-block;

    }


    #dial{
        display: none;
    }

    #heading{
        text-align: center;
    }

    #mainvisual{
        margin-top: 180px;
    }


    .titleimg{
    width: 60%;
    margin: 0 auto;
    margin-top: 20px;
    }


    nav#menu ul li{
        display: block;
        width: 100%%;
        padding: 0;
        line-height: 32px;
    }

    nav#menu ul li a{
        display: block;
        width: 100%%;
        padding: 0;
    }

    .top-banner,
    .top-banner-01{
        margin-top: 15px;
        margin-bottom: 15px;
    }
		.top-banner {
			display: block;
		}



    .topbnr{
        width: 100%;
    }


    .topbnr .news{
        text-align: center;
        width: 90%;
        margin: 0 auto;
    }

    #twit-news{
        width: 90%;
        margin: 0 auto;
        margin-bottom: 20px;
    }

    .topbnr img{
        width: 90%;
    }

    .topbnr02,
		.topbnr03{
        width: 90%;
    }

    .topbnr-02{
        width: 49%;
    }

    .topbnr-02 img{
        width: 100%;
    }

    #logo{
        display: none;
    }


    .resp-logo{
        width: 100%;
    }

    .resp-logo img{
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .resp-top{
        width: 18%;
        display: inline-block;
        margin: 0;
        padding: 0;
    }

    .resp-top-tel{
        width: 70%;
        display: inline-block;
        margin: 0;
        padding: 0;
    }

    .resp-top a img,
    .resp-top-tel a img{
        width: 100%;
    }

    ul.inl-block li{
        display: block;
        width: 80%;
        margin: 0 auto;
        margin-top: 10px;
        margin-bottom: 10px;
    }

    #foot-menu{
    font-size: 10px !important;
    }

    .top-banner .facebook-wrapper{
        margin-top: 20px;
    }


}

@media only screen and (max-width: 500px) {
        #mainvisual{
        margin-top: 150px;
    }

    #heading{
        margin-bottom: 0;
    }

}
@media only screen and (max-width: 375px) {
		#mainvisual{
		margin-top: 135px;
	}
}
