/* -------------------- パーツ系 ここから -------------------- */
 

/* 表示・非表示 */
@media screen and (max-width:440px){
	.visible-sp{display: block;}
	.visible-tb{display: block;}
	.visible-dt{display: none;}
}

@media screen and (min-width:441px) and (max-width:1024px){
	.visible-sp{display: block;}
	.visible-tb{display: block;}
	.visible-dt{display: none;}
}

@media screen and (min-width:1025px){
	.visible-sp{display: none;}
	.visible-tb{display: none;}
	.visible-dt{display: block;}
}
/* >>ここから-共通-見出し、説明文css -------------------------------*/


/*背景カラー*/
.back_gray {
	background-color:#F3F3F3;
 	padding:20px 0px; 
	margin:20px 0px;
}

.back_green {
	background-color:#475848;
 	padding:50px 0px; 
	margin:0px;
	color: #fff;
}

.back_white {
 	padding:50px 0px; 
	margin:0px;
}


/* >>ここまで-共通-見出し、説明文css -------------------------------*/


/* -------アンダーライン------- */	

.yellow_line {background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #ffffbc 0%) repeat scroll 0 0;}
.blue_line {background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #afeeee 0%) repeat scroll 0 0;}
.red_line {background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #ffd1d1 0%) repeat scroll 0 0;}
.gray_line {background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #dcdcdc 0%) repeat scroll 0 0;}

.green_line {background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #00cc44 0%) repeat scroll 0 0;}

/* -------バーライン -------*/	


.contents_end{padding:40px 0;  clear: both;}
.contents_clear{clear:both;}
.bold_long_barline{border-bottom: 6px solid #000000; width:100%; margin:0px auto;  clear: both; padding:40px 0;
display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;}


@media screen and (max-width:768px){
	
.contents_end{padding: 0;  clear: both;}
.bold_long_barline{border-bottom: 4px solid #000000; width:100%; margin:0px auto;  clear: both; padding: 20px 0 20px 0;}
}

@media screen and (max-width:440px){
.bold_long_barline{border-bottom: 4px solid #000000; width:100%; margin:0px auto;  clear: both; 
padding: 20px 0 20px 0;
display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;}
}

/* -------バーライン200-------*/	
.barline200{border-bottom: 1px solid #000000; width:200px; margin:50px auto;clear: both;display:block;}
.barline100{border-bottom: 1px solid #000000; width:100px; margin:20px auto;clear: both;display:block;}
@media screen and (max-width:768px){
.barline200 {border-bottom: 1px solid #000000; width:100px; margin:40px auto;clear: both;display:block;}
.barline100 {border-bottom: 1px solid #000000; width:60px; margin:15px auto;clear: both;display:block;}
}





/* ---------------------img 用css---------------------*/	

/* img_text_line */

.txt_linebar{margin:30px 0px 30px 0px }
@media screen and (max-width:768px){
	.txt_linebar {margin:15px 0px 15px 0px  }
}


/* image周りborder */
.img_grayline{border: 1px solid #dcdcdc;}


/* image、幅フルブラウザ */
.img_full {border-bottom: solid 2px #000;}
.img_full_noline {}
.img_full img{width: 100vw;margin:0 auto;}
.img_full_noline img{width: 100vw;margin:0 auto;}



/* --------------コンテンツmargin、flex中央寄せ類--------------------- */

/*　main_con、sub_con、向けのmargin */
.con_mar{margin:40px auto;}
.con_mar_l{margin:40px auto;}

@media screen and (max-width:768px){
.con_mar{margin:20px auto;}
.con_mar_l{margin:40px auto;}
}



/*top_nameタイトル画像用の中央寄せとmargin */
.top_nameimg_mar{margin:35px auto;display: flex; justify-content: center}

@media screen and (max-width:768px){
.top_nameimg_mar{margin:20px auto;display:block;}
}

/*flex要素の中央寄せ */

.con_flex_centermar{display: flex; justify-content: center; flex-wrap:wrap}



/* ---------------------ボタン部品--------------------- */

/* 背景白ボタン（シンプル */

.btn_white a,
.btn_white button
{
	display:inline-block;
	width:400px;
	border:solid 2px #000;
	padding:15px;
	margin:20px ;
  font-size: 16px; 
  font-weight: bold;
text-align:center;
}

.btn_white a:hover { background-color: #dcdcdc;
 }


@media screen and (max-width:768px){
.btn_white a,
.btn_white button{
	display:inline-block;
	width:300px;
	border:solid 2px #000;
	padding:10px;
	margin:10px ;
  font-size: 14px; 
  font-weight: bold;
}
}



/*ボタン---------------------------------------- */

.sec_bottan_pad{margin:50px auto;padding:20px auto;text-align:center;font-size: 14px; }


.sofa-btn a{font-size: 16px;}
.sofa-btn a.btn-sofapage{display: block; width:200px; height:50px; left: 0; right: 0; padding-top: 15px; background: rgb(68, 66, 66); color: #fff; margin:15px auto; text-align: center;}

@media screen and (max-width:768px){
.sofa-btn a{font-size: 16px;}
.sofa-btn a.btn-sofapage{display: block; width:200px; height:50px; left: 0; right: 0; padding-top: 15px; background: rgb(68, 66, 66); color: #fff; margin:15px auto; text-align: center;}	
}


.btn {
	font-size: 1.6rem;
	/*padding:15px 30px;*/
	padding-top: 15px !important;
	padding-bottom: 15px !important;
	padding-left: 30px !important;
	padding-right: 30px !important;

	border-radius: 0;
	border-width: 1px;
	font-weight: bold;
	-webkit-transition: background 0.2s ease;
	transition: background 0.2s ease;
}

@media screen and (max-width:768px){
	.btn {font-size: 1.2rem;}
}

.btn:hover{color: #fff;background-color: #40698C;  border-color: #fff;}
.btn-info {color: #333; background-color: transparent; border-color: #333;}

.button {
	display: inline-block;
	width: 200px !important;
	height: 50px !important;
	text-align: center;
	text-decoration: none;
	line-height: 50px !important;
	outline: none;
	background-color: #fff;
	border: 1px solid #000;
	font-weight: bold;
	margin: 10px 0 0 0;
	position: relative;
	z-index: 1000;
}
.button:hover {background-color: #F0C35D; color: #000;}
.button::before,
.button::after {position: absolute; z-index: -1; display: block; content: '';}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button-middle {
	width: 150px !important;
	height: 40px !important;
	text-align: center;
	text-decoration: none;
	line-height: 40px;
	outline: none;
	background-color: #fff;
	border: 1px solid #000;
	font-weight: bold;
}
.button-middle:hover {background-color: #F0C35D; color: #000;}
.button-middle::before,
.button-middle::after {position: absolute; z-index: -1; display: block; content: '';}
.button-middle,
.button-middle::before,
.button-middle::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

a.btn-gray-xlarge{
    display: block;
    width:300px;
    height:50px;
    left: 0;
    right: 0;
    padding-top: 10px;
    background: rgb(68, 66, 66);
    color: #fff;
    margin:20px auto;
	text-align: center;
	font-size: 14px;
}
@media screen and (max-width:440px){
	a.btn-gray-xlarge{font-size: 12px; width: 90%;}
}

a#btn-gray-large{
    display: block;
    width:250px;
    height:60px;
    left: 0;
    right: 0;
    padding-top: 20px;
    background: rgb(68, 66, 66);
    color: #fff;
    margin:15px auto;
	text-align: center;
	font-size: 16px;
}

a#btn-gray-large2{
    display: block;
    width:250px;
    height:60px;
    left: 0;
    right: 0;
    padding-top: 7px;
    background: rgb(68, 66, 66);
    color: #fff;
    margin:15px auto;
	text-align: center;
	font-size: 16px;
}

a#btn-gray-large2 #title{
	font-weight: bold;
	font-size: 16px;
	color: #fff;
}

a#btn-gray-large2 #description{
	color: #fff;
}

a#btn-gray-middle{
    display: block;
    width:150px;
    height:50px;
    left: 0;
    right: 0;
    padding-top: 15px;
    background: rgb(68, 66, 66);
	color: #fff;
	margin:15px 0;
    text-align: center;
}


/*footer*/
footer {
	width: 100%;
	padding:7% 0;
	text-align:center;
	background:#333;
	margin:50px 0 0 0;
}

footer a:link, 
footer a:link p {
	color: #fff;
}

footer a:visited, 
footer a:visited p {
	color: #fff;
}



h5 {
font-size: 1.2rem;
	color:#fff;
}

@media screen and (max-width:768px){
h5 {
font-size: 1.2rem;
	color:#fff;
}

} 


/* -------------------- fullPage.jsの箇所 ここから -------------------- */
.section{text-align:center;}
.section img .main{position: relative; margin:0 auto;}

@media screen and (max-width:440px){
	.section img.main{width: 60%;}
} 

@media screen and (min-width:441px) and (max-width:768px) {
	.section img.main{width: 40%; margin-top: -100px;}
}

@media screen and (min-width:769px) and (max-width:1024px) {
	.section img.main{width: 35%; margin-top: -100px;}
}

@media screen and (min-width: 1025px) {
	.section img.main{width: 30%;}
}
/* -------------------- googleカレンダー --------------------*/


/*iframe {
width: 100%;

}*/




/*swiper
-------------------------------------*/
.swiper-container {
 
}


/*フェードイン
-------------------------------------*/
.fadein {
  opacity : 0;
  transform: translateY(20px);
  transition: all 1s;
}


/*hidenテキスト
-------------------------------------*/
.hidebutton {
   border: 1px solid #ccc;
    padding:10px;
   margin: 10px;
    color:steelblue;
font-weight: bold;
	cursor: pointer;
clear:both;
display:inline-block;
}


.hide_close {
    padding:10px;
    color:steelblue;
font-weight: bold;
}

/*hidenアコーディオン
-------------------------------------*/
dl {
   width: 100%;
   cursor: pointer;
}

dt {
   border: 1px solid #ccc;
   padding: 10px;
}

dd {
   
   border-top: 0;
   margin: 0;
   padding: 10px;
}


.swiper-button-next,
.swiper-button-prev {
    right:10px;
    padding: 10px;
    color: #fff !important;
    fill: white !important;
    stroke: white !important;
}