@charset "utf-8";

/* common
---------------------------------------------*/
* {margin:0;padding:0;}

a:link,a:visited {
	color: #ccc;
	text-decoration:underline;
}
a:hover,a:active {
	color: #eee;
	text-decoration:underline;
}

.impact   {font-size:18pt; font-weight:bold;}
.impact2  {color:red;}
.impact3  {background:yellow; color:#000;}
#impact4  {underline;}
.impact5  {background:#173B50; padding:2px 5px; color:#fff;}
.impact6  {background:#f4f4f4; padding:3px; line-height:1.1;}
.impact7  {background: #B60000; padding:2px 5px; color:#fff;}
.style2   {color: #FF0000}
.style3   {color: #fff}
.style4   {color: #000000}


img{ border: none;}

/* ボタンのマウスオーバーで明るくする */
.btn:hover {
  filter: brightness(120%);
}


/* animation
---------------------------------------------*/
.feedInUp {
	opacity: 0;
	transform: translate(0,30px); 
	-webkit-transform: translate(0,30px); 
	transition: 1.5s;
}
.feedInUp_On {
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

/* layout
---------------------------------------------*/


/*TopIntro-Start*/
body {
	width: 100%;
	height: 100%;
	margin: 0px;
	padding: 0px;
	min-width: 1002px;
	background-image: url(../images/bg.png);
	background-repeat: repeat;
	background-attachment: fixed;
	background-position: top center;
	
-webkit-text-size-adjust:none;
	
  text-align:center;
  font-size:25px;
  font-family: 'meiryo', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    color: #fff;
}



/* swiper↓↓ */
#gallery {
  padding: 40px 20px;
}
#gallery h2 {
  text-align: center;
  font-size: 24px;
  margin-bottom: 32px;
  color: #fff; /* 黒背景なら白文字 */
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
}
.gallery-item {
  text-align: center;
}
.gallery-item figcaption {
  margin-top: 8px;
  font-size: 14px;
  color: #ddd; /* 黒背景なら明るめのグレー */
}

/* ── Swiper スライダー ── */
.swiper {
  position: relative;
  margin-top: -5px;
}

.swiper-slide {
  position: relative;
}
.swiper-slide img {
  border-radius: 8px;
}
.swiper-slide .caption {
  position: absolute;
  bottom: 12px;
  left: 12px;
  right: 12px;
  background: rgba(0,0,0,0.6);
  padding: 8px 12px;
  border-radius: 4px;
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
}
.swiper-pagination-bullet {
  background: #ff8800;  /* オレンジをアクセントに */
  opacity: 1;
}


.swiper-button-prev,
.swiper-button-next {
  color: #ff8800;
}

/* ── レスポンシブ調整 ── */
@media (max-width: 600px) {
  #gallery {
    padding: 20px 10px;
  }
  #gallery h2 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .gallery-grid {
    gap: 12px;
  }
  .swiper-slide .caption {
    font-size: 20px;
    bottom: 8px;
    left: 8px;
    right: 8px;
  }
}

/* swiper↑↑ */


#image1 { background: url("../images/image_01.png") no-repeat top center; height:    1071px; } 
#image2 { background: url("../images/image_02.png") no-repeat top center; height:    864px; } 
#image3 { background: url("../images/image_03.png") no-repeat top center; height:    916px; } 
#image4 { background: url("../images/image_04.png") no-repeat top center; height:    954px; } 
#image5 { background: url("../images/image_05.png") no-repeat top center; height:    878px; } 
#image6 { background: url("../images/image_06.png") no-repeat top center; height:    924px; } 
#image7 { background: url("../images/image_07.png") no-repeat top center; height:    616px; } 
#image8 { background: url("../images/image_08.png") no-repeat top center; height:    694px; } 
#image9 { background: url("../images/image_09.png") no-repeat top center; height:    844px; } 
#image10 { background: url("../images/image_10.png") no-repeat top center; height:    543px; } 
#image11 { background: url("../images/image_11.png") no-repeat top center; height:    1408px; } 
#image12 { background: url("../images/image_12.png") no-repeat top center; height:    1336px; } 
#image13 { background: url("../images/image_13.png") no-repeat top center; height:    1348px; } 
#image14 { background: url("../images/image_14.png") no-repeat top center; height:    348px; } 
#image15 { background: url("../images/image_15.png") no-repeat top center; height:    788px; } 
#image16 { background: url("../images/image_16.png") no-repeat top center; height:    668px; } 
#image17 { background: url("../images/image_17.png") no-repeat top center; height:    1436px; } 
#image18 { background: url("../images/image_18.png") no-repeat top center; height:    273px; } 
#image19 { background: url("../images/image_19.png") no-repeat top center; height:    1290px; } 
#image20 { background: url("../images/image_20.png") no-repeat top center; height:    954px; } 
#image21 { background: url("../images/image_21.png") no-repeat top center; height:    1266px; } 
#image22 { background: url("../images/image_22.png") no-repeat top center; height:    882px; } 


#form { background: url("../images/form.png") no-repeat top center; height:    569px; } 
#form2 { background: url("../images/form2.png") no-repeat top center; height:    392px; } 
#form3 { background: url("../images/form3.png") no-repeat top center; height:    560px; }
#form_plan { background: url("../images/form_plan.png") no-repeat top center; height:    492px; }


.container {

	text-align:left;
	width:1000px;
	margin:0 auto;
	
	
}

.container2 {

	text-align:left;
	width:2000px;
	margin:0 auto;
	
	
}



#text {

	text-align:left;
	width:900px;
	margin:0 auto;
	font-size:25pt;
	font-weight: bold;	
}


	

#text_footer {

	text-align:left;
	width:500px;
	margin:0 auto;
	color: #ffffff;
	font-size: 20pt;
}









.white {
  color: #354b7a;
}

.text-center {
　text-align: center;
}

#footer {  
	padding: 30px 0;
	background-color: #000000;
	font-size: 2rem;
    color: #ccc; 
    text-align: center;
	line-height: 1.6;
}


@media (max-width: 768px) {	
	
  #footer {
    font-size: 2.5rem  !important;
  }
}

#footer a {
  color: #ccc;
  text-decoration: none;
  margin: 0 4px;
  line-height: 2.0;
}

#footer a:hover,
#footer a:active {
  color: #fff;
  text-decoration: underline;
}

#footer span {
  margin: 0 4px;
}


ol,
ul{
	list-style-position: inside;
	padding-left:10px;
}
ol li,
ul li{
	text-align:left;
}

