@charset "utf-8";
/* CSS Document */

.pt{display: block;}
.pc{display: block;}
.ps{display: block;}
.tb{display: none;}
.ts{display: none;}
.sp{display: none;}

/*-------------------- 共通 --------------------*/
#wrapper {
width:100%;
padding:0;
margin:0;
}

header .inbox {
margin-bottom: 15px;
display: flex;
justify-content: space-between;
}

header .header_logo {
margin: 15px 20px 0 30px;
}

header ul.header_nav {
display: flex;
justify-content: space-around;
padding: 20px 0;
background: #00A68D;
}

header ul.header_nav li {
font-size: 85%;
line-height: 160%;
color: #FFFFFF;
font-weight: bold;
text-align: center;
flex-grow: 1;
}

header ul.header_nav li + li {
border-left: 1px solid #FFFFFF;
}

header ul.header_nav li a {
color: #FFFFFF;
text-decoration: none;
}

header ul.header_nav li a:hover {
color: #FFFFFF !important;
}

footer {
padding: 60px 0 30px;
background: #F5F5F5;
}

footer .inbox {
width: 94%;
max-width: 1080px;
margin: 0 auto 30px;
display: flex;
justify-content: space-between;
}

footer p {
width: 94%;
max-width: 1080px;
margin: 0 auto;
font-size: 75%;
line-height: 160%;
text-align: right;
}

/*-------------------- トップ --------------------*/
#mainimage {
margin-bottom: 60px;
}

#mainimage_sp {
display: none;
}

#mainimage img {
width: 100%;
object-fit: cover;
}

.slick-prev
{
    left: 11%!important;
	z-index: 100;
}
.slick-next
{
    right: 11%!important;
	z-index: 100;
}

.slick-prev:before {
  content: "" !important;
}

.slick-prev:after {
  content: url(../images/prev.png);
  position: absolute;
  top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.slick-next:before {
  content: "" !important;
}

.slick-next:after {
  content: url(../images/next.png);
  position: absolute;
  top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#block01 {
width: 94%;
max-width: 1080px;
margin: 0 auto 120px;
}

#block01 h3 {
margin-bottom: 40px;
font-size: 180%;
line-height: 150%;
text-align: center;
font-weight: normal;
}

#block01 h3:before {
content: url(../images/top_img01.png);
display: block;
width: 62px;
height: 50px;
margin: 0 auto 30px;
}

#block01 .img {
margin-bottom: 15px;
text-align: center;
}

#block01 h4 {
margin-bottom: 30px;
color: #FF6633;
font-size: 120%;
text-align: center;
}

#block01 p {
margin-bottom: 30px;
font-size: 110%;
line-height: 180%;
}

#block01 .btn {
text-align: center;
}

#block02 {
margin-bottom: 120px;
}

#block02 .inbox {
margin-bottom: 35px;
padding: 60px 0;
background: #E7F8DE;
}

#block02 h3 {
margin-bottom: 40px;
font-size: 200%;
text-align: center;
color: #00A58C;
position: relative;
}

#block02 h3:before {
content: '';
position: absolute;
bottom: -15px;
display: inline-block;
width: 30px;
height: 3px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: #FF6633;
}

#block02 dl {
width: 94%;
max-width: 1080px;
margin: 0 auto;
/*border-bottom: 1px dotted #91C267;*/
box-sizing: border-box;
overflow-y: scroll;
height: 500px;
padding-right: 20px;
}

#block02 dt,
#block02 dd {
padding: 10px 0 0 0;
border-top: 1px dotted #91C267;
}

#block02 dt:first-of-type,
#block02 dd:first-of-type {
border-top: none;
}

#block02 dt {
width: 120px;
float: left;
}
#block02 dd {
margin-left: 120px;
padding-bottom: 10px;
}
#block02 dd:after {
content: '';
display: block;
clear: both;
}

#block02 .btn {
text-align: center;
}

#block03 {
width: 94%;
max-width: 1080px;
margin: 0 auto 120px;
}

#block03 h3 {
margin-bottom: 60px;
font-size: 200%;
line-height: 140%;
text-align: center;
color: #00A58C;
position: relative;
}

#block03 h3:before {
content: '';
position: absolute;
bottom: -15px;
display: inline-block;
width: 30px;
height: 3px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: #FF6633;
}

#block03 .inbox {
display: flex;
justify-content: space-between;
align-items: flex-start;
flex-direction: row-reverse;
}

#block03 .inbox .txt {
width: 50%;
}

#block03 .inbox .img {
width: 44.444%;
}

#block03 .inbox .img img {
width: 100%;
height: auto;
}

#block03 .inbox .txt p {
margin-bottom: 60px;
}

#block03 .inbox ul {
display: flex;
flex-wrap: wrap;
}

#block03 .inbox li {
margin: 0 2% 2% 0;
}

#block04 {
width: 94%;
max-width: 1080px;
margin: 0 auto 120px;
}

#block04 h3 {
margin-bottom: 60px;
font-size: 200%;
text-align: center;
color: #00A58C;
position: relative;
}

#block04 h3:before {
content: '';
position: absolute;
bottom: -15px;
display: inline-block;
width: 30px;
height: 3px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: #FF6633;
}

#block04 .inbox {
display: flex;
justify-content: space-between;
align-items: flex-start;
}

#block04 .inbox .img {
width: 44.444%;
}

#block04 .inbox .img img {
width: 100%;
height: auto;
}

#block04 .inbox .txt {
width: 50%;
}

#block04 .inbox .txt p {
margin-bottom: 50px;
}

#block05 {
margin-bottom: 60px;
padding: 60px 0;
background: #E7F8DE;
}

#block05 ul {
width: 94%;
max-width: 1080px;
margin: 0 auto;
display: flex;
justify-content: space-between;
}

#block05 li {
width: 29.62962%;
display: flex;
flex-flow: column;
}

#block05 dt {
margin-bottom: 20px;
}

#block05 dd {
margin-bottom: 30px;
}

#block05 dd h3 {
margin-bottom: 10px;
padding-bottom: 10px;
font-size: 130%;
font-weight: normal;
border-bottom: 2px solid #00A68D;
text-align: center;
}

#block05 li .btn {
margin-top: auto;
text-align: center;
}

#block06 {
width: 94%;
max-width: 1080px;
margin: 0 auto;
}

#block06 dl {
margin-bottom: 40px;
padding: 20px;
border: solid 2px #00B2EB;
display: flex;
justify-content: center;
align-items: center;
}

#block06 dt {
margin-right: 40px;
padding-right: 40px;
border-right: solid 1px #CCCCCC;
}

#block06 dd {
font-size: 90%;
line-height: 160%;
}

#block06 ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

#block06 li {
width: 31.48148%;
margin-bottom: 2.777%;
}

#block06 li:last-child {
width: 100%;
text-align: center;
}

#program_btn {
position: fixed;
top: 200px;
left: 20px;
}

/*-------------------- 下層 --------------------*/
.kome {
font-size: 85%;
line-height: 160%;
}

.center {
text-align: center;
}

.indent {
padding-left: 1em;
text-indent: -1em;
}

.yellow {
color: yellow;
font-weight: bold;
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}

.mt10{margin-top: 10px;}
.mt15{margin-top: 15px;}
.mt20{margin-top: 20px;}
.mt30{margin-top: 30px;}
.mb10{margin-bottom: 10px;}
.mb15{margin-bottom: 15px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}

table {
width: 100%;
border-bottom: solid 1px #CCCCCC;
border-left: solid 1px #CCCCCC;
}

table th {
padding: 15px;
border-top: solid 1px #CCCCCC;
border-right: solid 1px #CCCCCC;
background: #00A68D;
color: #FFFFFF;
vertical-align: top;
}

form table th {
width: 300px;
}

table td {
padding: 15px;
border-top: solid 1px #CCCCCC;
border-right: solid 1px #CCCCCC;
}

table td table td {
width: 50%;
}

table td table td:first-child {
background: #F5F5F5;
}

#contents_block h2 {
height: 220px;
margin-bottom: 70px;
background: url("../outline/images/page_title.jpg") no-repeat top center;
background-size: cover;
}

#contents_block h2 p {
padding-top: 70px;
font-size: 130%;
line-height: 140%;
text-align: center;
letter-spacing: 3px;
color: #FFFFFF;
position: relative;
}

#contents_block h2 p:before {
content: '';
position: absolute;
bottom: -15px;
display: inline-block;
width: 40px;
height: 3px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: #FF6633;
}

#contents_block section {
width: 94%;
max-width: 1080px;
margin: 0 auto 80px;
}

#contents_block h3 {
margin-bottom: 40px;
padding: 15px 15px 12px 25px;
color: #00A58C;
border-left: solid 10px #00A58C;
background: #F5F5F5;
font-size: 125%;
line-height: 160%;
}

#contents_block h4 {
margin-bottom: 20px;
color: #00A58C;
font-size: 115%;
line-height: 160%;
}

#contents_block .flex_box {
display: flex;
justify-content: space-between;
align-items: flex-start;
}

#contents_block .flex_box .txt {
width: 57.4%;
}

#contents_block .flex_box .img {
width: 38.888%;
}

#contents_block .flex_box img {
width: 100%;
height: auto;
}

#contents_block .flex_box2 {
display: flex;
justify-content: space-between;
flex-direction: row-reverse;
}

#contents_block .flex_box2 .txt {
width: 57.4%;
}

#contents_block .flex_box2 .img {
width: 38.888%;
}

#contents_block .flex_box2 img {
width: 100%;
height: auto;
}

#contents_block .outline_box .title {
padding: 15px 15px 12px;
text-align: center;
background: #00A68D;
color: #FFFFFF;
font-size: 125%;
line-height: 160%;
font-weight: bold;
position: relative;
}

#contents_block .outline_box .outline_img02 {
position: absolute;
top: -30px;
left: 70px;
}

#contents_block .outline_box .outline_img03 {
position: absolute;
top: -30px;
right: 70px;
}

#contents_block .outline_box ul {
padding: 30px 30px 10px 30px;
background: #CAF0E7;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#contents_block .outline_box li {
width: 31.5%;
margin-bottom: 2.75%;
padding: 20px;
background: #FFFFFF;
box-sizing: border-box;
font-size: 85%;
line-height: 180%;
}

#contents_block .outline_box li:last-child {
padding: 0;
background: none;
}

#contents_block .outline_box li:last-child img {
width: 100%;
height: auto;
}

#contents_block .outline_box li div {
margin-bottom: 10px;
font-size: 125%;
font-weight: bold;
}

#contents_block .outline_box li div p {
width: 24px;
height: 24px;
margin-right: 7px;
display: inline-block;
color: #FFFFFF;
background: #00A68D;
text-align: center;
font-size: 85%;
line-height: 160%;
}

#contents_block .program_box {
display: flex;
justify-content: space-between;
}

#contents_block .program_box ul {
width: 66.666%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

#contents_block .program_box li {
width: 48.611%;
margin-bottom: 2.778%;
background: #F0EBFF;
}

#contents_block .program_box li:nth-child(2) {
background: #FFF1C9;
}

#contents_block .program_box li:nth-child(3) {
background: #EAFFD5;
margin-bottom: 0;
}

#contents_block .program_box li:nth-child(4) {
background: #FFF0EB;
margin-bottom: 0;
}

#contents_block .program_box li img {
width: 100%;
height: auto;
}

#contents_block .program_box li p {
padding: 20px;
font-size: 90%;
}

#contents_block .program_box .titleschedule_box {
width: 30.555%;
padding: 25px;
background: #E5FF99;
box-sizing: border-box;
}

#contents_block .program_box .titleschedule_box .title {
margin-bottom: 20px;
padding: 10px;
background: #A3D900;
text-align: center;
color: #FFFFFF;
line-height: 140%;
font-weight: bold;
}

#contents_block .program_box .titleschedule_box p {
font-weight: bold;
margin-bottom: 20px;
}

#contents_block .program_box .titleschedule_box img {
margin-bottom: 20px;
}

#contents_block ul.calendar_box {
display: flex;
justify-content: space-between;
}

#contents_block ul.calendar_box li {
width: 48.14814%;
}

.kankeikikan_left{
	float:left;
	width:49%;
	margin-bottom:60px;
}

.kankeikikan_right{
	float:right;
	width:49%;
	margin-bottom:60px;
}

.kankeikikan_left strong span,
.kankeikikan_right strong span{
	color:#FF0000;
}

#contents_block .program_btn_s {
margin-top: 20px;
}

#contents_block .program_btn_s img {
width: 100%;
height: auto;
max-width: 300px;
}

#contents_block ul.enquete_btn {
display: flex;
margin-bottom: 60px;
}

#contents_block ul.enquete_btn li {
margin-right: 20px;
}

#contents_block ul.program_dm {
display: flex;
justify-content:center;
}

#contents_block ul.program_dm li {
width: 46%;
margin: 0 2%;
}

#contents_block ul.program_dm li img {
border: solid 1px #CCCCCC;
}

#contents_block ul.partner_ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

#contents_block ul.partner_ul li {
width: 48%;
margin-bottom: 4%;
padding: 3.8%;
box-sizing: border-box;
background: #E7F8DE;
}

#contents_block ul.partner_ul li h5 {
margin-bottom: 10px;
padding-bottom: 10px;
font-size: 130%;
font-weight: normal;
border-bottom: solid 2px #00A68D;
}

#contents_block ul.partner_ul li .youtube {
margin-bottom: 25px;
}

#contents_block ul.partner_ul li dt {
width: 6em;
float: left;
clear: left;
}

#contents_block ul.partner_ul li dd {
padding-left: 6em;
}









/* タブレットレイアウト : 1201 px ～ 1290 px*/

@media screen and (max-width:1290px)
{

}


/* タブレットレイアウト : 768 px ～ 1200 px*/

@media screen and (max-width:1200px)
{
.pt{display: block;}
.pc{display: none;}
.ps{display: none;}
.tb{display: block;}
.ts{display: block;}
.sp{display: none;}

#contents_block .outline_box .outline_img02 {
left: 40px;
}

#contents_block .outline_box .outline_img03 {
right: 40px;
}
}


/* スマホ設定  768 以下*/

@media screen and (max-width:767px)
{
.pt{display: none;}
.pc{display: none;}
.ps{display: block;}
.tb{display: none;}
.ts{display: block;}
.sp{display: block;}

/*-------------------- 共通 --------------------*/
header {
padding: 4%;
display: flex;
justify-content: space-between;
align-items: center;
}

header .inbox {
margin-bottom: 0;
}

header .header_logo {
width: 80%;
margin: 0;
}

header .header_contact {
display: none;
}

header ul.header_nav {
display: none;
}

footer {
padding: 40px 0 100px;
}

footer .inbox {
margin: 0 auto 20px;
display: block;
}

footer .foot_logo {
width: 80%;
max-width: 371px;
margin: 0 auto 20px;
}

footer .foot_contact {
width: 70%;
max-width: 280px;
margin: 0 auto;
}

footer p {
text-align: center;
}

/* ここから下がハンバーガーメニューに関するCSS */

/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  height: 30px;
  width: 30px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;/* 重なり順を一番上にする */
  cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #333;
  transition: 0.5s;
  position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}
  
/* メニューのデザイン*/
.nav_content {
  width: 100%;
  height: 100%;
  padding: 20px;
  box-sizing: border-box;
  text-align: center;
  position: fixed;
  top: 0;
  left: 100%; /* メニューを画面の外に飛ばす */
  z-index: 99;
  background: #E7F8DE;
  transition: .5s;
}

.nav_content li a {
color: #333333;
text-decoration: none;
line-height: 260%;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  left: 0;/* メニューを画面に入れる */
}

/*-------------------- トップ --------------------*/
#mainimage {
display: none;
}

#mainimage_sp {
margin-bottom: 40px;
display: block;
}

#mainimage_sp img {
width: 100%;
object-fit: cover;
}

#block01 {
margin: 0 auto 80px;
}

#block01 h3 {
margin-bottom: 20px;
font-size: 160%;
}

#block01 h3:before {
margin: 0 auto 20px;
}

#block01 h4 {
margin-bottom: 20px;
}

#block01 p {
font-size: 100%;
line-height: 160%;
}

#block02 {
margin-bottom: 80px;
}

#block02 .inbox {
margin-bottom: 20px;
}

#block02 h3 {
margin-bottom: 30px;
font-size: 160%;
}

#block02 dt {
padding: 10px 0 0 0;
border-top: 1px dotted #91C267;
}

#block02 dd {
margin-left: 0;
padding: 0 0 10px 0;
border-top: none;
}

#block02 dt {
width: 100%;
float: none;
}

#block03 {
margin: 0 auto 80px;
}

#block03 h3 {
margin-bottom: 50px;
font-size: 160%;
}

#block03 .inbox {
display: block;
}

#block03 .inbox .txt {
width: 100%;
}

#block03 .inbox .img {
width: 100%;
margin-bottom: 20px;
}

#block03 .inbox .txt p {
margin-bottom: 20px;
}

#block04 {
margin: 0 auto 80px;
}

#block04 h3 {
margin-bottom: 50px;
font-size: 160%;
}

#block04 .inbox {
display: block;
}

#block04 .inbox .img {
width: 100%;
margin-bottom: 20px;
}

#block04 .inbox .txt {
width: 100%;
}

#block04 .inbox .txt p {
margin-bottom: 20px;
}

#block04 .inbox .btn {
text-align: center;
}

#block05 ul {
display: block;
}

#block05 li {
width: 100%;
margin-bottom: 60px;
}

#block05 li:last-child {
margin-bottom: 0;
}

#block05 dt {
margin-bottom: 20px;
}

#block05 dt img {
width: 100%;
height: auto;
}

#block06 dl {
display: block;
text-align: center;
}

#block06 dt {
margin-bottom: 20px;
margin-right: 0;
padding-right: 0;
border-right: none;
}

#block06 ul {
margin: 0 auto 50px;
display: block;
}

#block06 li {
width: 80%;
max-width: 340px;
margin: 0 auto 2.777%;
}

#block06 li:last-child {
margin-top: 30px;
}

#program_btn {
width: 100%;
position: fixed;
top: auto;
left: 0;
bottom: 0;
}

#program_btn img {
width: 100%;
height: auto;
}

/*-------------------- 下層 --------------------*/
.table-scroll {
overflow-x: scroll;
}

table {
width: 1080px;
}

form table {
width: 100%;
box-sizing: border-box;
}

form table th {
width: 100%;
display: block;
box-sizing: border-box;
}

form table td {
width: 100%;
display: block;
box-sizing: border-box;
}

form table td table {
width: 100%;
box-sizing: border-box;
}

form table td table th {
width: 100%;
display: block;
box-sizing: border-box;
}

form table td table td {
width: 100%;
display: block;
box-sizing: border-box;
}

#contents_block h2 {
height: 160px;
margin-bottom: 40px;
}

#contents_block h2 p {
padding-top: 55px;
font-size: 90%;
}

#contents_block section {
margin: 0 auto 60px;
}

#contents_block h3 {
margin-bottom: 30px;
font-size: 110%;
}

#contents_block .flex_box {
display: block;
}

#contents_block .flex_box .txt {
width: 100%;
margin-bottom: 20px;
}

#contents_block .flex_box .img {
width: 100%;
}

#contents_block .flex_box2 {
display: block;
}

#contents_block .flex_box2 .txt {
width: 100%;
margin-bottom: 20px;
}

#contents_block .flex_box2 .img {
width: 100%;
}

#contents_block .outline_box .title {
font-size: 110%;
position: relative;
}

#contents_block .outline_box .outline_img02 {
width: 25%;
height: auto;
top: auto;
bottom: 0;
left: 10px;
}

#contents_block .outline_box .outline_img03 {
width: 25%;
height: auto;
top: auto;
bottom: -10px;
right: 10px;
}

#contents_block .outline_box ul {
padding: 30px 30px 20px 30px;
display: block;
}

#contents_block .outline_box li {
width: 100%;
margin-bottom: 4%;
}

#contents_block .program_box {
display: block;
}

#contents_block .program_box ul {
width: 100%;
display: block;
}

#contents_block .program_box li {
width: 100%;
margin-bottom: 20px;
}

#contents_block .program_box li:nth-child(3) {
margin-bottom: 20px;
}

#contents_block .program_box li:nth-child(4) {
margin-bottom: 20px;
}

#contents_block .program_box .titleschedule_box {
width: 100%;
padding: 20px;
}

#contents_block ul.calendar_box {
display: block;
}

#contents_block ul.calendar_box li {
width: 100%;
margin-bottom: 40px;
}

#contents_block ul.calendar_box li img {
width: 100%;
height: auto;
}

.kankeikikan_left{
	float:none;
	width:100%;
}

.kankeikikan_right{
	float:none;
	width:100%;
}

#contents_block ul.enquete_btn {
display: block;
}

#contents_block ul.enquete_btn li {
margin-right: 0;
margin-bottom: 15px;
}

#contents_block ul.program_dm {
display: block;
}

#contents_block ul.program_dm li {
width: 100%;
margin: 0 0 60px;
}

#contents_block ul.partner_ul {
display: block;
}

#contents_block ul.partner_ul li {
width: 100%;
margin-bottom: 30px;
padding: 35px 25px 30px;
}



}