@charset "UTF-8";

/*テンプレートcssファイルの読み込み
---------------------------------------------------------------------------*/
@import url("aos.css");
@import url("drawer.css");
@import url("../webfonts/css/all.css");
@import url("../slick/slick.css");
@import url("../slick/slick-theme.css");



/*全体の設定
---------------------------------------------------------------------------*/
html {
-moz-text-size-adjust:none;
-webkit-text-size-adjust:100%;
overflow-x: hidden;
overflow-y:scroll;
}
body {font-size: clamp(1rem, 1vw + 0.5rem, 1.25rem);
font-family: "Meiryo", "メイリオ", "ＭＳ　Ｐゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;font-style:normal;
line-height: 1.9;color: #333;-webkit-text-size-adjust: 100%;text-align: center;-webkit-font-smoothing: antialiased;}
* {
margin: 0;
padding: 0;
}

/*リセット*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
dd {margin: 0;}
nav,ul,li,ol {margin: 0;padding: 0;}
ul {list-style: none;}
input {font-size: 1rem;}

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

/*タップ時の青枠削除
---------------------------------------------------------------------------*/
/* タップ時の青ハイライトを消す（Safari / iOS用） */
a, button, input, textarea {
    -webkit-tap-highlight-color: transparent;
    outline: none;
}

/*container（サイト全般を囲むブロック）
---------------------------------------------------------------------------*/
.container {
padding: 0 6%;
box-sizing:border-box;
width:100%;
}
@media screen and (min-width: 1200px) {
.container {
padding: 0 10%;
}}

/*img*/
img{vertical-align:middle;border-style:none;border:0;-webkit-backface-visibility: hidden;}
a:hover img{opacity:0.8;filter:alpha(opacity=80);-ms-filter:"alpha( opacity=80 )";}

/*p*/
p {text-align: justify;}

/*回りこみ解除*/
.clear {
clear:both;
}
a img,
ol li img,
li img,
ul li img {/*上揃え*/
vertical-align: top;
text-align:center;
border-style:none;
}
img {
vertical-align: middle;
border: none;
max-width: 100%;
height: auto;
}

/*フロート設定*/
.tex img.centered,.tex img.aligncenter {
display:block;
margin-left:auto;
margin-right:auto;
clear:none;
}
.tex img.alignright,
.tex .alignright img{
margin-left:20px;
margin-right:0;
margin-bottom:20px;
display:inline;
clear:none;
}
.tex img.alignleft,
.tex .alignleft img {
margin-left:0;
margin-right:20px;
margin-bottom:20px;
display:inline;
clear:none;
}
.tex img.alignnone,
.tex .alignnone img {
margin-left:0;
margin-right:0;
margin-bottom:10px;
clear:none;
display:block;
}
.tex .alignright,.right {
float:right;
}
.tex .alignleft {
float:left;
}
@media only screen and (max-width:60em) {
.tex img.alignright,.tex img.alignleft,.tex img.alignnone,.tex img.aligncenter {clear:both;display:block;margin-left:auto;margin-right:auto;}
.tex .alignright {float:none;}
.tex .alignleft {float:none;}
.tex .aligncenter {clear:both;display:block;margin-left:auto;margin-right:auto;}
}


/*全体フェードイン
---------------------------------------------------------------------------*/
body {
 animation: fadeIn 1.5s ease 0s 1 normal;
-webkit-animation: fadeIn 1.5s ease 0s 1 normal;
} 
@keyframes fadeIn { /*上のbody内で呼び出しているアニメーションと名前をそろえる*/
0% {opacity: 0} /* 始め */
100% {opacity: 1} /* 終わり */
}
/*古いブラウザ用*/
@-webkit-keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}


/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
color: inherit;
text-decoration:none;
}
a:hover, button:hover {
opacity: 0.8;
cursor: pointer;
text-decoration:none;
}
/* a TEL */
a[href^="tel:"] {text-decoration:none;color:#333;}


/*PC･スマホ 表示・非表示
---------------------------------------------------------------------------*/
@media(min-width:1023px){
.sp{ display: none !important;}}
@media(max-width:1024px) {
.pc{display: none !important;}}


/*pagetop
---------------------------------------------------------------------------*/
.pagetop {
display: none;
position: fixed;
bottom: 20px;
right: 20px;
}
.pagetop a {
display: block;
background-color: #333;
text-align: center;
color: #FFF;
font-size: 12px;
padding: 5px 10px;
}
.pagetop a:hover {
display: block;
opacity: 0.5;
transition: 0.5s;
text-align: center;
color: #fff;
}
@media screen and (min-width: 768px) {
.pagetop a {
font-size: 20px;
padding: 7px 15px
}}

/*header（ロゴが入ったサイト上部のブロック）
---------------------------------------------------------------------------*/
/*ロゴ画像*/
.logo{
padding: 15px 0 0 3%;
text-align: left;
vertical-align: middle;
height: 60px;
box-sizing: border-box;
}
h1 a img {
width: 131px;
height: 21px;
display: inline;
}
h1 span {
font-size:8px;
line-height: 8px;
padding-left:10px;
font-weight: normal;
display: inline;
}
@media screen and (min-width: 981px) {
h1 a img {
width: 145px;
height: 23px;
}
h1 span {
font-size:10px;
padding-left:15px;
}}
@media screen and (min-width: 1024px) {
.logo{
padding: 25px 0 0 30px;
height: 80px;
}
h1 a img {
width: 165px;
height: 26px;
}
h1 span {
font-size:12px;
padding-left:20px;
}}

/*	PC contact（right）
/* ------------------------------------- */
.right {
position:fixed;
top:0;
right:0;
z-index:9999
}
.map {
float: right;
width: 80px;
height: 80px;
text-align: center;
margin: 0;
line-height: 1.5em;
display: block;
font-size: .8em;
}
.map a {
display: block;
background-color: #333;
color: #fff;
height:100%;
width: 100%;
transition: 0.5s;
box-sizing: border-box;
}
.map a img{
width: 50%;
margin: 0 auto;
box-sizing: border-box;
display: block;
padding: 10px 0 5px 0
}
.map a:hover {
opacity: 0.5;
}
@media screen and (max-width: 1023px) {
.right {
right:0
}
.map {
width: 60px;
height: 60px;
font-size: .5em;
}
.map a img{
padding: 8px 0 5px 0
}
}

/*main
---------------------------------------------------------------------------*/
@media only screen and ( max-width : 1023px ) {
#main {padding-top: 60px;}}
@media print, screen and ( min-width : 1024px ) {
#main {padding-top: 80px;}}


/*背景
---------------------------------------------------------------------------*/
.back_top {
background: #fff;
text-align: left;
}
.back_top_work {
padding:50px 0;
background: #002c80;
}
.back_top_info {
padding:50px 0;
background: #cfe9f2;
}


/*フッター
---------------------------------------------------------------------------*/
#footer {
width: 100%;
border-top: 1px solid #ccc;
background:#fff;
margin: 0 auto
}
.footer_box{
padding: 50px 6%;
box-sizing:border-box;
width:100%;
}

/*footer　address　 */
.footer_box h5 {
height: auto;
font-size: 18px;
font-weight: normal;
text-align: left;
}
p.jimukyoku {
display:block;
margin: 20px 0;
text-align: left;
font-size: 11px;
font-weight: normal;
}
.footer_ad address {
font-style: normal;
font-size: 90%;
display:block;
text-align: left;
}

/*footer　menu　 */
.flex_foot-box {
display: flex;
text-align: left;
margin: 30px auto
}
.flex_foot-box ul {
list-style: none;
column-count: 2;
width: fit-content;
column-gap: 1em;
}
.flex_foot-box ul li a{
line-height: 1.7; 
font-size: 80%;
}
/* copy */
.copy {
font-family: Verdana, “Droid Sans”;
font-size: 70%;
text-align: left;
font-weight:normal;
display: block;
}
/* sns */
.sns-btn {
display: flex;
justify-content: start;
}
.sns-btn li {
margin-right: 25px;
}
.sns-btn li:nth-child(3) {
margin-right: 0
}
@media screen and (max-width: 1023px) {
/*footer　address　 */
p.jimukyoku {
margin: 30px 0;
font-size: 12px;
}
/*banner */
.footer_banner{
height: auto;
padding: 10px 0;
}
.footer_banner ul{
display: flex;
justify-content: start;
}
.footer_banner ul img{
width: 100%;
height: auto;
}
.footer_banner li{
width: calc((100% - 2%) / 3);
margin-right: 1%;
}
.footer_banner li:nth-child(3n) {
margin-right: 0;
}
.footer_banner li:nth-last-child(-n+3) {
margin-bottom: 0;
}

/*footer　menu　 */
.flex_foot-box {
width: 100%;
border-top: 1px dotted #ccc;
border-bottom: 1px dotted #ccc;
padding: 35px 0
}
.flex_foot-box ul li{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
display: inline-block;
list-style: none;
width: 100%;
}
.flex_foot-box ul li a{
line-height: 2.5; 
font-size: 90%;
}
/* copy sns*/
.copy_sns_box{
display: flex;
flex-direction: column-reverse;
}
.sns-btn {
margin: 20px 0
}
}
@media screen and (min-width: 1024px) {
#footer {
display: flex;
justify-content: space-between;
}
/*3等分　 */
#footer .footer_con{
display: flex;
align-items: top;
}
#footer .footer_con .fbox:nth-child(2) {
margin: 0 7%;
}
#footer .footer_con .fbox:nth-child(3) {
margin: 0 0 0 auto;
}

/*footer　menu　 */
.flex_foot-box {
margin: 0
}
.footer_box h5 {
font-size: 20px;
text-align: left;
}
.footer_ad address {
text-align: left;
}
/*banner */
.footer_banner{
width: 200px;
}
.footer_banner ul{
display: block;
justify-content: end;
}
.footer_banner li{
width: 200px;
}
.footer_banner li:nth-child(2) {
margin: 10px 0;
}
/* copy sns*/
.copy_sns_box{
display: flex;
margin-top: 0;
padding: 5% 0 0 0;
}
.sns {
margin: 0 0 0 auto;
}
.sns-btn {
margin-top: 0
}
}
@media screen and (min-width: 1200px) {
.footer_box {
max-width: 1200px;
margin: 0 auto;
padding: 60px 0;
}}





/*お知らせ
---------------------------------------------------------------------------*/
.info_box_list {
text-align: left;
margin: 2% 0;
}
.info_box_list ul {
list-style: none;
line-height: 0;
display: flex;
flex-wrap: wrap;
}
.info_box_list ul:after {
content: "";
clear: both;
display: block;
}
.info_box_list ul li {
height: auto;
margin-bottom: 40px;
}
.info_box_list li div img {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
-webkit-filter: opacity(100%);
filter: opacity(100%);
-webkit-transition: .3s ease-in-out;
transition: .3s ease-in-out;
}
.c_trim {
width: 100%;
max-width: 100%;
margin: 0;
position: relative;
padding-bottom: 100%;
height: 0;
}
.c_trim::before {
content: "";
display: block;
padding-top: 100%;
}
.c_trim img {
width: 100%;
height: 100%;
position: absolute;
top: 0;
object-fit: cover;
}
.c_trim a img {
-webkit-filter: opacity(100%);
filter: opacity(100%);
-webkit-transition: .3s ease-in-out;
transition: .3s ease-in-out;
}
.info_box_list a {
text-decoration: none;
}
.info_box_list li img a {
border: 0;
}
.info_box_list a:hover, a:hover .c_trim, a:hover .cate_box {
opacity: 0.6;
transition: 0.5s;
text-decoration: none;
}
.info_box_tex {
margin-top: 25px;
text-align: left
}
.info_box_tex h5 {
text-decoration: none;
font-weight: normal;
font-size: 1em;
line-height: 1.7;
clear: both;
margin-top: 10px;
}
.info_box_tex p {
margin: 20px 0 0 0;
float: none;
font-size: 80%;
line-height: .9;
font-weight: normal;
}

@media screen and (max-width: 980px) {
.info_box_list ul li {
width: calc((100% - 5%) / 2);
margin-right: 5%;
}
.info_box_list ul li:nth-child(2n) {
margin-right: 0;
}
.info_box_list ul li:nth-last-child(-n+2) {
margin-bottom: 0;
}
.info_box_list li h5 {
font-size: 1em;
line-height: 1.3;
}}

@media screen and (min-width:981px) {
.info_box_list ul li {
width: calc((100% - 9%) / 4);
margin-right: 3%;
}
.info_box_list ul li:nth-child(4n) {
margin-right: 0;
}
.info_box_list ul li:nth-last-child(-n+4) {
margin-bottom: 0;
}
}


/* カテゴリの設定
/* ------------------------------------- */
.cate_box span{
padding: 3px 10px;
border: solid 1px #333;
}
.cate_box {
display: flex;
align-items: center;
font-size: 12px;
line-height: 12px;
margin:0 0 10px 0;
color: #333;
font-weight: 400;
}


/* カレンダー
/* ------------------------------------- */
/*日曜日の色を変える*/
.eo-fullcalendar .fc-view-container .fc-view table tbody .fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-content-skeleton table thead 
.fc-sun {
color: #ff0000;text-align: center;
}
/*土曜日の色を変える*/
.eo-fullcalendar .fc-view-container .fc-view table tbody .fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-content-skeleton table thead 
.fc-sat{color: #0000ff;text-align: center;}
/*月曜日の文字を中央に*/
.eo-fullcalendar .fc-view-container .fc-view table tbody .fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-content-skeleton table thead 
.fc-mon{text-align: center;}
/***火***/
.eo-fullcalendar .fc-view-container .fc-view table tbody .fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-content-skeleton table thead 
.fc-tue{text-align: center;}
/***水***/
.eo-fullcalendar .fc-view-container .fc-view table tbody .fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-content-skeleton table thead 
.fc-wed{text-align: center;}
/***木***/
.eo-fullcalendar .fc-view-container .fc-view table tbody .fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-content-skeleton table thead 
.fc-thu{text-align: center;}
/***金***/
.eo-fullcalendar .fc-view-container .fc-view table tbody .fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-content-skeleton table thead 
.fc-fri{text-align: center;}
.type-event .post-date{
  display: none;
}
.type-event .eventorganiser-event-meta{
  display: none;
}
