﻿@charset "utf-8";
/* CSS Document */
html {
	font-size: 90% 1em;
}
/***スマホで見たときの右の余白を削除***/
.container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse {
    margin-left: 0px;
    margin-right: 0px;
}
/***上にできる1pxの余白を削除***/
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
	min-height: 0;
}
.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
    border-top: none;
    padding: 5px;
    vertical-align: middle;/*title*/
}
h2 {
	margin: 0;
}
a {
	color: #008CD6;
	text-decoration: underline;
	transition: 0.3s;
}	
a:hover {
	opacity:0.7;
}
img {
	max-width: 100%;
	vertical-align: top;
}
a:hover img {
	opacity:0.7 !important;
}
ul {
	padding-left: 0;
	margin-left: 0;
	}	
ul li {
	list-style: none;
	margin-left: 0;
}
/*margin*/
.marTop0{ margin-top: 0 !important;}
.marTop5{ margin-top: 5px !important;}
.marTop10{ margin-top: 10px !important;}
.marTop15{ margin-top: 15px !important;}
.marTop20{ margin-top: 20px !important;}
.marTop30{ margin-top: 30px !important;}
.marTop40{ margin-top: 40px !important;}
.marTop50{ margin-top: 50px !important;}
.marTop60{ margin-top: 60px !important;}
.marTop70{ margin-top: 70px !important;}

.marBottom0{ margin-bottom: 0 !important;}
.marBottom5{ margin-bottom: 5px !important;}
.marBottom10{ margin-bottom: 10px !important;}
.marBottom15{ margin-bottom: 15px !important;}
.marBottom20{ margin-bottom: 20px !important;}
.marBottom30{ margin-bottom: 30px !important;}
.marBottom40{ margin-bottom: 40px !important;}
.marBottom50{ margin-bottom: 50px !important;}
.marBottom60{ margin-bottom: 60px !important;}
.marBottom70{ margin-bottom: 70px !important;}

.marLeft0{ margin-left: 0 !important;}
.marLeft5{ margin-left: 5px !important;}
.marLeft10{ margin-left: 10px !important;}
.marLeft15{ margin-left: 15px !important;}
.marLeft20{ margin-left: 20px !important;}
.marLeft25{ margin-left: 25px !important;}
.marLeft30{ margin-left: 30px !important;}

.marRight0{ margin-right: 0;}
.marRight5{ margin-right: 5px !important;}
.marRight10{ margin-right: 10px !important;}
.marRight15{ margin-right: 15px !important;}
.marRight20{ margin-right: 20px !important;}
.marRight25{ margin-right: 25px !important;}
.marRight30{ margin-right: 30px !important;}

/*padding*/
.padTop0{ padding-top: 0 !important;}
.padTop5{ padding-top: 5px !important;}
.padTop10{ padding-top: 10px !important;}

.padBottom0{ padding-bottom: 0;}
.padBottom10{ padding-bottom: 10px !important;}
.padBottom15{ padding-bottom: 15px !important;}

.padRight0{ padding-right: 0 !important;}
.padRight5{ padding-right: 5px !important;}
.padRight10{ padding-right: 10px !important;}
.padRight15{ padding-right: 15px !important;}
.padRight20{ padding-right: 20px !important;}

.padLeft0{ padding-left: 0 !important;}
.padLeft5{ padding-left: 5px !important;}
.padLeft10{ padding-left: 10px !important;}
.padLeft15{ padding-left: 15px !important;}
.padLeft20{ padding-left: 20px !important;}

:root {
  --color-main01: #1259B7;
  --m120: clamp(60px, 9.23vw, 120px);
}

/*位置*/
.cl-both {
	clear: both;
}
.fl-left {
	float: left;
}
.center {
	text-align: center !important;
}
.left {
	text-align: left !important;
}
/*font*/
.fwNomal{ font-weight: normal;}
.fwBold{ font-weight: bold;}
.blue-fontb　{
	color: #008CD6;
	font-size: 1.5em;
	font-weight: bold;
}
.yellow-fontb{
	color: #FF9900;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.5em;
}
.yellow-fontb span.tel-link{
	color: #FF9900;
	font-size: 1.8em;
	font-weight: bold;
}
/* レスポンブ化した画像を中央ぞろえ */
.img-responsive-overwrite{
    margin: 0 auto;
}
/* rowの中身を中央ぞろえ */
.row-center{
	text-align:center;
	letter-spacing:-0.4em;
}
.row-center > [class*='col-'] {
	display:inline-block;
	letter-spacing:0;
	vertical-align:top;
	float:none !important;
}
/*ヘッダー*/
.main-img {
	padding-bottom: 20px;
}
.title {
	padding-top: 10px;
	background:url(../images/main_bg.jpg) no-repeat center;
	background-size:cover;
}
/*フッター*/
.footer {
	padding-top: 10px;
	padding-bottom:20px;
	background: #fff;
}
/*コンテンツ*/
.container {
	width: 100%;
	padding: 40px 0 20px;
	background: url("../images/bg.gif");
}
.body {
	width: 94%;
	max-width: 940px;
	margin: auto;
}
.main img {
	box-shadow: 3px 3px 3px rgba(0,0,0,0.4);
	border-radius: 10px;
}
/*応募*/
#entry {
	background: #eaf7fd;
}
#entry h2 {
	padding: 30px 10px;
	background: #004097;
	font-weight: bold;
	color: #fff;
	text-align: center;
	line-height: 1.4;
	font-size: 20px;
}
#entry > div {
	padding: 50px 0;
}
@media ( max-width:624px ) {/*SPサイズのみ*/
	.xsmt0 {
		margin-top:10px !important;
	}	
	.xsmt10 {
		margin-top:10px !important;
	}	
	.xsmt20 {
		margin-top:20px;
	}
	.xsmt30 {
		margin-top:30px !important;
	}
	.xsmt40 {
		margin-top:40px;
	}
	.xsmb20 {
		margin-bottom:20px !important;
	}
	.xsmb15 {
		margin-bottom:15px !important;
	}
	.xsmb10 {
		margin-bottom:10px !important;
	}
	.xsmb5 {
		margin-bottom:5px !important;
	}
	.xsmb0 {
		margin-bottom:0px !important;
	}
	.xspt10 {
		padding-top:10px !important;
	}
	.xspb10 {
		padding-bottom:10px !important;
	}
	.sp-marTop20 {
		margin-top: 20px;
	}

	.footer {
		margin-bottom: 50px;
		padding-top:10px;
		padding-bottom:20px;
	}
	.spmenu {
    position: fixed;
    bottom: 0px;
    width: 100%;
    z-index: 1000;
    line-height: 50px;
    text-align: center;
	border-top: 10px solid #fff;

  }
  .spmenu a {
  	display: block;
    background-color: #ec001e;
    background: linear-gradient(to bottom, #ff354f 0%, #ff354f 50%,#ec001e 51%,#ec001e 100%);
    border: 1px solid #fff;
    text-decoration: none;
    color: #fff;
  }
  .spmenu a {
	  position:relative;
	  font-size:170%;
	  font-weight:bold;
	  height:70px;
	  padding-top:10px
  }
  .spmenu a::before {
	  content:"";
	  background:url(../images/footer_arrow.png) no-repeat;
	  width:16px;
	  height:16px;
	  position:absolute;
	  left:20px;
	  top:27px;
  }
}
/*チラシ*/
#chirashi h2 {
	padding: 10px 10px;
	background: #dc1722;
	font-weight: bold;
	color: #fff;
	text-align: center;
	line-height: 1.4;
	font-size: 20px;
}
#chirashi > div {
	padding: 50px 0;
}
.section_box_ttl {
	margin-bottom: 5%;
}
@media all and (min-width: 768px) {
  .section_box_ttl {
    margin-bottom: 3%;
  }
}
	.section_box_subttl {
		margin-bottom: 1.81818%;
		font-weight: bold;
		font-size: 16px;
		text-align: left;
 	 position: relative;
	}
  .section_box {
    margin: 4.54545% auto 0;
  }
  .section_box_subttl::before {
    width: 22px;
    height: 22px;
    top: calc(50% - 13px);
  }
.event_list {
	width: 94%;
	margin: 0 auto;
}
	.event_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
	}
.event_list > li {
	text-align: center;
	width: 48%;
}

@media all and (min-width: 768px) {
	.event_list > li {
		width: 48.727%;
		margin-bottom: 0.5%;
	}
	.event_list > li.long {
		width: 100%;
	}
	.event_list > li.half {
		width: 50%;
	}
}
.event_list > li.mb0 {
	margin-bottom: 0;
}
.border {
	border: #CCC 1px solid;
}
.btn_link {
	width: 80%;
	margin: 0 auto;
	text-align: center;
}
@media all and (min-width: 768px) {
	.btn_link {
		width: 42.36363%;
	}
}
.btn_link.nav {
	margin: 5.45454% auto 1.81818%;
}
.btn_link.chirashi {
	width: 100%;
	margin: 4% auto;
}
	.section_box_subttl {
		line-height: 1.4;
}
@media all and (min-width: 768px) {
.btn_link.map {
	padding-bottom: 5.45454%;
}
@media all and (min-width: 768px) {
	.btn_link.map {
		padding-bottom: 2.72727%;
	}
}
.btn_link_ec {
  margin-top: 30px;
	}
}

/*footerのグループ一覧*/
@media all and (min-width: 768px) {
.l-group {
  padding: var(--m120) 0;
	}
}
.l-group__list {
  .l-group__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1025px) {
  .l-group__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.l-group__list:first-of-type {
  margin-bottom: clamp(30px, 4.15vw, 54px);
}
.l-group__list li {
  height: clamp(46px, 6.15vw, 80px);
}
.l-group__list li:has(> :not(a)) {
  display: flex;
  align-items: center;
  padding: 0 clamp(10px, 1.53vw, 20px) 0 clamp(10px, 2.3vw, 25px);
  border: 1px solid #A8A8A8;
}
.l-group__list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  height: 100%;
  padding: 0 clamp(10px, 1.53vw, 20px) 0 clamp(10px, 2.3vw, 25px);
  border: 1px solid #1259B7;
  position: relative;
}
.l-group__list li img {
  width: auto;
  height: clamp(12px, 1.23vw, 16px);
}


@media ( min-width:625px ) {/*PCサイズのみ*/	
	.switch {
	    visibility: hidden;
	}
	.pc-marTop10 {
		margin-top: 10px;
	}
	.pc-marTop20 {
		margin-top: 20px;
	}
	.pc-marTop30 {
		margin-top: 30px;
	}
	.footer {
		position:relative;
	}
	/*ヘッダー*/
	.main-img{
		padding-bottom: 40px;
	}
	/*コンテンツ*/
	.container {
		padding: 90px 0 50px;
	}
	/*応募*/
	#entry h2 {
		font-size: 28px;
	}
	#entry > div {
		padding: 50px 20px;
	}
	.spmenu {
		display: none;
	}
	/*チラシ*/
	#chirashi h2 {
		font-size: 28px;
	}
}
	.btn_link {
		width: 42.36363%;
	}
	.btn_link.chirashi {
	margin: 2% auto;
	}
	.section_box_subttl {
		font-size: 18px;
	}
	/*footerのグループ一覧*/
.l-group {
  padding: 0;
	}
	.l-group__list {
  display: grid;
  gap: clamp(12px, 1.84vw, 24px);
	}

@media ( max-width: 960px) and ( min-width: 625px) {
	body {
		max-width: 100%;
	}
}
