@charset "utf-8";
/* CSS Document */
.br-sp {
    display: none;
}

.tsmall {font-size: 0.8em;
    line-height: 100%;
}
.tred{color: #FF0000;}
.mgnT30 {margin-top: 30px!important;}
.syuryo{
	color: #c1272d;
	font-weight: bold;
	text-align: center;
	font-size: 1.2em;
}

/*PCの右寄せ*/
.pcrightsmall{text-align: right;
font-size: 0.8em!important;
}

.bosyuuchu {
text-align: center;}

.bosyuuchu h1 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
    text-align: center;
    color: #c30d23;
    margin-bottom: 5px;
}

div.bosyuuchu h1:before, h1:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 5px;
  background-color: #c30d23;
}

.bosyuuchu h1:before {
  left:0;
}
.bosyuuchu h1:after {
  right: 0;
}



.bosyuuchu p {font-size: 1.2em;
line-height: 1.4;}



.bosyuuchu dl {
  display: flex;
  flex-wrap: wrap;
    width: 90%;
    margin: 20px auto 0;
}
.bosyuuchu dl dt, dd{
	margin-bottom: 5px;
padding: 5px 0;
	border-bottom: 1px solid #C8C3C3;}

.bosyuuchu dl dt {
  width: 10%;
	font-weight: bold;
        font-size: 1.2em;


}
.bosyuuchu dl dd {
  width: 90%;
        font-size: 1.2em;
    padding: 5px 0;

}

.bosyuuchu dl dd.middle {
height: 130px;

}



.message img{width: 60%;}


.message span {
    font-weight: bold;
    background: linear-gradient(transparent 60%, #fff100 60%);
}

span.marker  {
    font-weight: bold;
    background: linear-gradient(transparent 60%, #fff100 60%);
}


a.btn_12 {
	display: flex;
    justify-content: space-evenly;
    align-items: center;
	text-align: center;
	text-decoration: none;
	width: 150px;
	margin: auto;
	padding: 0.5rem 2rem 0.5rem 1.5rem;
	font-weight: bold;
	background: #203c63;
	color: #fff!important;
	border-radius: 100vh;
	position: relative;
	transition: 0.5s;
}
a.btn_12::before {
	content: '';
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
a.btn_12:hover {
    opacity: 0.8;
/*	background: #44c6f2;
	color: #fff;*/
}

a.btn_14 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	position: relative;
	width: 200px;
	margin: 0;
	padding: 0.5rem;
	font-weight: bold;
	border-radius: 3rem;
/*	border-bottom: 7px solid #0686b2;*/
	background: #27acd9;
	color: #fff;
}
a.btn_14:before {
    content: "\f0e0";
    position: relative;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 15px;
}
a.btn_14:hover {
/*	margin-top: 6px;*/
/*	border-bottom: 1px solid #0686b2;*/
	color: #fff;
       opacity: 0.8;
}




/*スケジュールtable*/

table.schedule {
 width: 100%;
 text-align: center;
 border-collapse: collapse;
 border-spacing: 0;
table-layout: fixed;
    margin: 0 0 5px 0;
 
}
table.schedule th {
 padding: 10px;
 background: #006934;
 border: solid 1px #778ca3;
    color: #fff;
    font-weight: bold;
    text-align: center;
      overflow-wrap : break-word!important;
}

table.schedule tr:nth-child(2n+1) {
 background: #e0edc2;

}
table.schedule td {
 padding: 5px;
 border: solid 1px #778ca3;
  text-align: center;
 /*word-break: break-all;*/
overflow-wrap: break-word!important;white-space: normal;



}


table.schedule td.theme{
    text-align: left


}
table.schedule td span{
    color: #FF0000;font-weight: bold;

}

    .spschedule {display: none;}


dl.infoArea {
  display: flex;
  flex-wrap: wrap;
}
dl.infoArea dt, dd{
    font-size: 1.0em;

	margin-bottom: 5px;
padding: 10px 0;
	border-bottom: 1px solid #C8C3C3;}

dl.infoArea dt {
  width: 20%;
	font-weight: bold;

}
dl.infoArea dd {
  width: 80%;

}



#portal h1{
  margin-top: 60px;
}


#language h2{
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  color: #0e713d;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 10px #0e713d;/*左線*/
}

#volunteer h2{
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  color: #292959;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 10px #292959;/*左線*/
}

#speech h2{
  padding: 0.25em 0.5em;/*上下 左右の余白*/
  color: #2098d6;/*文字色*/
  background: transparent;/*背景透明に*/
  border-left: solid 10px #2098d6;/*左線*/
}

#language ul.point {
/*  border: double 4px #21b384;*/
  padding: 0.5em 1em 0.5em 0;
  position: relative;
}
#language ul.point li {
  line-height: 1.2;
  padding: 0.5em 0;
  list-style-type: none!important;/*ポチ消す*/
}
#language ul.point li::before {
/*  content: '\f304';
  font-family: Font Awesome\ 5 Free;*/
/* content: url(../images/pencil-solid.svg);*/
/*  content: "\f0a4";*/
  position: absolute;
  left : 1em; /*左端からのアイコンまで*/
  color: #000; /*アイコン色*/
}



#language ul.point li span {
    font-weight: bold;
    background: linear-gradient(transparent 60%, #fff100 60%);
}

#orientation {
  scroll-margin-top: 65px; /* 固定ヘッダーの高さに合わせて調整 */
}
#schedule {
  scroll-margin-top: 65px; /* 固定ヘッダーの高さに合わせて調整 */
}


.schoolProgram dl {  display: flex;
  flex-wrap: wrap;
    width: 100%;
 /*   border: 2px solid #cccccc;*/
    padding: 20px;
    margin-bottom: 30px;
    border-radius: 12px;
    background-color: #f6f6ee;
    box-sizing: border-box;
}

.schoolProgram dt{width: 20%;}
.schoolProgram dt img{width: 100%;}
.schoolProgram dd{width: 80%;
border: none;

}

.schoolProgram dd span {
    font-weight: bold;
    background: linear-gradient(transparent 60%, #fff100 60%);
}



.schoolProgram h3 {margin-bottom: 5px;
font-size: 1.6em;}



.volunteerProgram dl {  display: flex;
  flex-wrap: wrap;
    width: 100%;
    margin-top: 30px;
}

.volunteerProgram dt{width: 15%;
margin-bottom: 10px;}
.volunteerProgram dt img{width: 100%;}
.volunteerProgram dd{width: 85%;
border: none;
    margin-bottom: 10px;

}


.volunteerProgram h3 {margin-bottom: 5px;
font-size: 1.2em;
color: #292959;}

p.volShimekiri  {
    font-size: 1.6em; color: #FF0000;font-weight: bold;text-align: center;
    
}
p.volShimekiri span {
    font-size: 2.4em;
    
}


/* 初期設定 */
ol.applyContents {
  position: relative;
  margin: 0 0 0 20px;
  padding: 0 10px 0 6px;
  list-style: none;
  font-weight: bold;
}
ol.applyContents li {
  position: relative;
  margin: 12px 20px 0 24px;
  padding: 0;
  line-height: 1.5;
}

/* ol デザイン */
ol.applyContents  {
  counter-reset: li;
}
ol.applyContents  > li:before {
  position: absolute;
  counter-increment: li;
  content: counter(li) "";
  left: -34px;
  top: -1px;
  color: #fff;
  width: 24px;
  height: 24px;
  font-size: 14px;
  text-align: center;
  border-radius: 100%;
  box-sizing: border-box;
  font-weight: normal;
  line-height: 1;
  background: #0e713d;
  padding: 6px 0;
}

ol.applyContents  li {font-weight: normal;}

/*ばんばおどり*/
/*#bustour ol.applyContents   > li:before {
     background: #292959!important;
}*/
/*写真配置*/
/*.photoSetsumei {display: flex;}

.photoSetsumei .text {width: 70%;}
.photoSetsumei img {width: 30%;}*/
/*料理*/

/*#flag {position: absolute;
top:0;
left: 0;
width: 100%;}

#flag img{width: 100%!important;}*/

/*ボランティア*/


h4 {font-weight: bold;
font-size: 1.2em;
margin-top: 20px;}



.caution {font-size: 0.8em;
color: #FF0000;}





    

/* 005 */
 a.button005 {
	   justify-content: space-evenly;
    align-items: center;
    border-radius: 50vw;
    position: relative;
    display: flex;
 /*   align-items: center;*/
/*    margin: 0 auto;*/
    max-width: 230px;
	padding: 1rem 2rem 1rem 2rem;
/*     	padding: 1.5rem 4rem 1.5rem 3rem;*/

    color: #FFF;
    transition: 0.3s ease-in-out;
    font-weight: bold;
	background-color: #b31e23;
	text-decoration: none;
	text-align: center;
	 font-size: 1.2em;
}

a.button005::before {
	content: '';
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}


a.button005:hover {
    opacity: 0.8;

}

/*日本語教室送迎で記載*/

.pickUp li{
    padding-left: 20px;
    text-indent: -1em;
    
}


    

/*バスツアー　ボラ募集*/

.btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 300px;
	height: 60px;
	color: #333;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	transition: 0.3s;
}

.btn a:hover {
/*	color: #f2f2f2;*/
/*	text-decoration: underline;*/
}

.btn02 a {
	background-color: #d9bf1a;
/*	border: 1px solid #ceb849;*/
	border-radius: 35px;
}

.btn02 a:hover {
	background-color: #e3d8a6;
/*	border: 1px solid #333;*/
}

.btn02 a::before {
	content: '';
	position: absolute;
	top: calc(50% - 5px);
	right: -35px;
	transform: rotate(30deg);
	width: 12px;
	height: 1px;
	background-color: #333;
}

.btn02 a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: -35px;
	transform: translateY(-50%);
	width: 70px;
	height: 1px;
	background-color: #333;
}



a.textLink{color: #0645ad;
text-decoration: none;}

a.textLink:hover{
text-decoration: underline;}


.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
    margin-bottom: 10px;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}


.gmap_pickup {
height: 200px;
overflow: hidden;
padding-bottom: 10%;
position: relative;
    margin-bottom: 30px;
}
.gmap_pickup iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}


/*スマホ対応*/

/*PCの時だけ表示*/
	.pc {
        display: inline;
    }

    /* スマホ設定 */
@media screen and (max-width: 768px) {
.pcrightsmall{text-align: left;font-size: 0.8em;}
	    .br-sp {
display: inline;}
.schoolProgram dl {display: block;

}
    
    .schoolProgram dt,
    .schoolProgram dd{width: 100%;

}
    
    .schedule{display: none;}
    .spschedule {display: block;}
    
    p.volShimekiri span {
    font-size: 1.8em;
    
}
    
    .volunteerProgram dl { display: block;
}
        .volunteerProgram dt,
    .volunteerProgram dd{ width: 100%;
}
    
  ol.applyContents {
    padding: 0 10px 0 20px;
    font-size: 14px;
  }
  ol.applyContents li {
    margin: 6px 20px 0 8px;
    padding: 0;
  }
  ol.applyContents > li:before {
    font-size: 12px;
    left: -30px;
    top: 0px;
    padding: 4px 0;
    width: 20px;
    height: 20px;
  }
    .bosyuuchu dl {
display: block;
       width: 100%;   
}
    
    
    .bosyuuchu dl dt {
  width: 100%;
}
.bosyuuchu dl dd {
  width: 100%;
}
}
    
@media screen and (max-width: 480px){
    

    
    
	.pc {
        display: none;
    }

	

	ol.applyContents {

  margin: 0;

}
	
	ol.applyContents li {

  margin: 12px 0 0 24px;

}
	
	
dl.infoArea {
  display: block;

}

	dl.infoArea dt {
  width: 100%;


}
dl.infoArea dd {
  width: 100%;

}
	
	dl.infoArea dt, dd{

	margin-bottom: 0px;
padding: 5px 0;
}
	

    
     a.button005 {

	padding: 0.6em 4rem 0.6em 3rem;
         line-height: 1.2;

}
    
	

}
    
    
    
    
