/*========= 上部固定させるためのCSS ===============*/



html {
  /*box-sizing: border-box;*/
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  /*-webkit-text-size-adjust: 100%; /* iOS 8+ */
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}


#header{
	position: fixed;
	top: 0px;
	left: 0px;
	height: 100px;/*高さ指定*/
	width: 100%;/*横幅指定*/
	/*以下はレイアウトのためのCSS*/
	display: flex;
	justify-content: space-between;
	align-items: center;
	color:#fff;
	text-align: center;
    z-index: 9999;
    background:#F5FAFD;

}

/*h1{
  font-size:2rem;
  padding-left:130px;
  vertical-align: middle;
  text-align: center;
  text-transform: uppercase;
  position:fixed;
  z-index: 9999;
}*/

.mainh1{
  font-size:2rem;
  padding-left:130px;
  vertical-align: middle;
  text-align: center;
  text-transform: uppercase;
  position:fixed;
  z-index: 9999;
}

/*==背景画像==*/
.bg_image {
  background-position: left 130px top 10px;
  width: 90%;
  height: 40%;
  background-image: url(../img/image_sli02.jpg);
  position: relative;
  background-size: cover;
}

.bg_image::before{
  content: '';
  position: absolute;
  top: 10px;
  right: 0px;
  bottom: 0px;
  left: 130px;
  background-color: rgba(0,0,0,0.5);
}

.image_txt{
 letter-spacing:1.5em;
 color: #fff;
 text-shadow: 0 0 10px #fff,0 0 15px #fff;
 top: 25px;
}

.white_txt{
 position: absolute;
 color: #fff;
 top: 10px;
}

h2{
  margin-left: 150px;
  margin-top: 10px;
  color: #333333;
 }
 
h3{
  font-size:1.4rem;  
}
 
 /*==h2サークル見出し用==*/
.heading-29 {
    display: inline-block;
    position: relative;
    margin: calc(3.5em / 2) 0 calc(3.5em / 4) calc(3.5em / 2);
    color: #333333;
    line-height: 1;
    margin-left: 150px;

}

.heading-29::before {
    position: absolute;
    bottom: calc(-3.5em / 4);
    left: calc(-3.5em / 2);
    z-index: -1;
    width: 3.5em;
    height: 3.5em;
    border-radius: 50%;
    background: #bbdbfb;
    content: '';
}

/*==h2四角見出し用==*/
.heading-38 {
    display: inline-block;
    font-weight:bold;
    border-bottom: solid 2px #28BFE7;
    line-height: 1.4;
    text-align:center;
    position: relative;
    padding: .5em 1.2em;
    color: #333333;
    margin-left: 150px;
//    margin-top: 10px;
    text-wrap: balance; 
}

.heading-38::before,
.heading-38::after {
    display: inline-block;
    position: absolute;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    border: 2px solid #28BFE7;
    content: '';
}

.heading-38::before {
    top: calc(50% - 3px);
    left: 0;
}

.heading-38::after {
    top: calc(50% + 3px);
    left: 5px;
}



/*===ニュース===*/
.news {
	padding: 3px 0;
  }
  
  
  .inner {
    width: 80%;
	background-color: #fff;
	margin: 0 auto;
	padding: 6px 0 10px;
  }
  
  

  
  /* ここからがニュース記事のCSS */
  .news_list {
	margin: 0 5%;
    list-style: none;
  }
  
  .news_list_item {
	padding: 10px 0;
	border-bottom: 1px solid #E6E6E6;
  }
  
  .news_list_item:first-child {
	border-top: 1px solid #E6E6E6;
  }

  .news_list_item a {
   position: relative;
   display: flex;
   padding-right: 30px;
   color : #000;
  }

  .news-notag {
   display: flex;
   padding-right: 30px;
   color : #000;
  }

  
  .news_list_date {
	font-size: 15px;
	display: flex;
	margin-right: 15px;
	align-items: center;

  }
  
  .news_item {
	background: #28BFE7;
	color: #fff;
	border-radius: 14px;
	width: 6em;
	/* 親要素の文字サイズを基準 */
	text-align: center;
	margin-left: 20px;
  }
  
  /*==ニュースhover==*/
  .news_list_item:hover{
    background:#F5FAFD;
  }

  
  .arrow{
  	width: 25px;
	height: 1px;
	position: absolute;
	top: 50%;
	right: 0;
  }
  
  .arrow::after{
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 7px;
    height: 7px;
    border-top: 2px solid #1797C1;
    border-right: 2px solid #1797C1;
    transform: rotate(45deg) translateY(-1px);
    margin-right: 10px;
  }
  

/*  .arrow {
	width: 25px;
	height: 1px;
	background: #707070;
	position: absolute;
	top: 50%;
	right: 0;
  }
  
  .arrow::after {
	content: "";
	display: block;
	width: 6px;
	height: 1px;
	background: #707070;
	transform: rotate(45deg);
	position: absolute;
	right: 0px;
	bottom: 2px;*/s
  }  
  
    .head_txt{
      width=130px;
  }

/* フッター全体のスタイル */
.footer {
  background-color: #007bff; /* 青い背景色 */
  color: white; /* テキスト色を白に */
  text-align: center;
  padding: 40px 0; /* 上下に余白を増やしてフッターの高さを調整 */
  box-sizing: border-box;
}

/* 通常のデスクトップ表示用 */
.footback {
  text-align: center; /* 中央揃え */
  padding: 10px 0; /* 上下の余白調整 */
}

.social-icons {
  display: flex;
  justify-content: center; /* アイコンを横並びで中央揃え */
  gap: 20px; /* アイコン間のスペース */
  padding: 10px 10px;
/*  margin-top: 20px;*/
}

.social-icon {
  font-size: 24px;
  color: white; /* アイコンを白にする */
  /*color: #333; /* アイコンの色 */
  transition: color 0.3s; /* ホバー時の色変更 */
}

.social-icon:hover {
  color: #007bff; /* ホバー時に色を変更 */
}

/* テキストの間隔調整 */
.text {
  margin-top: 20px; /* 会社情報との間隔 */
}

/* QRコードコンテナ */
.qr-codes-container {
  display: flex;
  justify-content: space-around; /* アイテム間を均等に配置 */
  flex-wrap: wrap; /* 画面サイズが小さくなった時にアイテムを折り返す */
  margin: 20px 0; /* 上下の余白 */
}

/* 各QRコードのアイテム */
.qr-code-item {
  width: 30%; /* PCで3つ横並びにするため */
  margin: 10px; /* アイテム間の隙間 */
  text-align: center; /* QRコードを中央に配置 */
}

/* 画像のスタイル */
.qr-code-item img {
  width: 100%; /* 画像が親要素に合わせて自動的に調整 */
  height: auto; /* 高さは自動調整 */
  border-radius: 10px; /* 角を丸く */
  margin-bottom: 10px; /* 画像と説明の間にスペース */
}

/* 説明文のスタイル */
.qr-code-item figcaption {
  font-size: 14px; /* 説明文の文字サイズ */
  color: #555; /* 文字色 */
  line-height: 1.4; /* 行間を少し広め */
  max-width: 200px; /* 説明文の最大幅 */
  margin: 0 auto; /* 中央に配置 */
  padding-top: 5px; /* 上の余白 */
}

  @media screen and (max-width: 1024px) {
	  .news_list_item a {
		  display: block;
	  }
	  .news-notag {
		  display: block;
      }
  }



/*===ページ内エリア項目===*/

/**************** 以下、ハンバーガーボタンのスタイリング ****************/
/*ボタン外側*/
.openbtn1{
  position: relative;/*ボタン内側の基点となるためrelativeを指定*/
  background:#28BFE7;
  cursor: pointer;
    width: 50px;
    height:50px;
  border-radius: 5px;
  margin: 0 0 0 auto;
  z-index: 9999;
}

/*ボタン内側*/
.openbtn1 span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background: #fff;
    width: 45%;
    
  }

.openbtn1 span:nth-of-type(1) {
  top:15px; 
}

.openbtn1 span:nth-of-type(2) {
  top:23px;
}

.openbtn1 span:nth-of-type(3) {
  top:31px;
}

/*activeクラスが付与されると線が回転して×に*/

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
  opacity: 0;/*真ん中の線は透過*/
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}


/**************** ここまで、ハンバーガーボタンのスタイリング ****************/
/**************** 以下、メニューのスタイリング ****************/
.menu {
	/* メニューを縦に */
	display: flex;
	flex-direction: column;
	position: fixed;
	/* メニューの位置マイナス指定で画面外に */
	right: -70%;
	width: 70%;
	height: 90vh;
	background:rgba(245,250,253,0.8);
	color: #efefef;
	transition: .3s;
}
.menu-list {
	/* メニューテキスト位置をリスト内中心に */
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

/***** メニューオープン時位置0にして画面内に *****/
.menu.open {
	position: absolute;
	right: 0;
}
/* 960px以上はハンバーガーボタン非表示、ヘッダー固定 */
@media screen and (min-width: 960px) {
	.openbtn1 {
		display: none;
	}
	.menu {
		/* メニューを横に */
		padding-right:130px;
		display: flex;
        flex-direction: row;
		position: fixed;
		top: 0;
		right: 0;
		width: 50%;
		height: 100px;
		background-color: transparent;
	}
}
/**************** ここまで、メニューのスタイリング ****************/

/*========= ナビゲーションためのCSS ===============*/

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
nav ul li{
  position: relative;
}

/*ナビゲーションのリンク設定*/
nav ul li a{
  text-decoration: none;
  color: #1797C1;
}



/* ページアップリンク */
/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/* 上に上がる動き */

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/* 下に下がる動き */

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}

/*==ページダウンボタン==*/
/*== 押し込む円 */

.pushcircle{
    /*周囲の線の起点とするためrelativeを指定*/
  position: relative;
    /*円の形状*/
  width:50px;
  height:50px;
    box-sizing: border-box;
    padding: 0 10px;
  text-align: center;
  background:#333;
  border-radius:50%;
  color: #fff;
    text-decoration: none;
    outline: none;
    /*天地中央にテキストを配置*/
    display: flex;
    align-items: center;
    justify-content: center;
}

/*内側の線*/
.pushcircle:after {
  content: "";
    /*絶対配置で線の位置を決める*/
  position: absolute;
  top: 50%;
  left: 50%;
    /*線の形状*/
  width: 85%;
  height: 85%;
  border: 2px solid #333;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(1.1);
    /*アニメーションの指定*/
    transition: .3s ease; 
  }

/*hoverをしたら枠線が小さくなる*/
.pushcircle:hover:after {
  transform: translate(-50%, -50%) scale(1);
  border-color:#fff;
}


/*==シンプル画像スライダー==*/
.slideshow-fade{
    position: relative;
    width: 100%;
    height: 560px;
    li{
        list-style: none;
        width: 100%;
        height: 100%;
        img{
          position: absolute;
          left: 0px;
          top: 102px;
          width: 100%;
        }
    }
}


.center{
  position: relative;
  padding-top: 200px;
  left: 200px;
  -webkit-transform : translate(-50%,-50%);
  transform : translate(-50%,-50%);
}

/*読み込んだら動く*/
/*==================================================
背景色が伸びて出現
===================================*/

/*全共通*/

.bgextend{
  animation-name:bgextendAnimeBase;
  animation-duration:1s;
  animation-fill-mode:forwards;
  position: relative;
  overflow: hidden;/* はみ出た色要素を隠す*/
  opacity:0;
}

@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;  
}
}

/*中の要素*/
.bgappear{
  animation-name:bgextendAnimeSecond;
  animation-duration:1s;
  animation-delay: 0.6s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes bgextendAnimeSecond{
  0% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}

/*左から右*/
.bgLRextend::before{
  animation-name:bgLRextendAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #666;/*伸びる背景色の設定*/
}
@keyframes bgLRextendAnime{
  0% {
    transform-origin:left;
    transform:scaleX(0);
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:right;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定 */
.bgappearTrigger,
.bgLRextendTrigger{
    opacity: 0;
}





/*==aタブ==*/
a{
  text-decoration: none;
}

/*色指定したいだけ*/

.btn_col{
  color: #000000;
    display: flex;
    align-items: center;
    height: 200px;
}


/*==moreボタン==*/
/*section {
  max-width: 300px;
  margin: 0 auto;
}*/
a.btn_12 {
  display: inline-table;
  color: #1797C1;
  font-size: 16px;
  line-height: 1.5;
  text-decoration: none;
}
a.btn_12:before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 7px;
  height: 7px;
  border-top: 2px solid #1797C1;
  border-right: 2px solid #1797C1;
  transform: rotate(45deg) translateY(-1px);
  margin-right: 10px;
}


a.btn_12:hover {
  text-decoration: underline;
  color: #28BFE7;
}

.right{
  padding-left: 150px;
  padding-right: 150px;
  padding-bottom: 10px;
  text-align:right;
}


/*==footer用==*/
.text {
  position: absolute; /*自由に配置する指定*/
  bottom: 40px; /*下寄せの指定*/
  margin: 0;
  padding-left:130px;
  color: #fff;

}

.footback{
  background:#F5FAFD;
  bottom: 0;
  width: 100%;
  height: 30px;
  color: #1797C1;
  padding: 0px;
  text-align: center;
}

h4{
   font-size:1.2rem;
   padding-top:30px;
   padding-left:130px;
   color: #fff;
}

.left{
    padding-left: 150px;
    padding-right: 150px;
    padding-bottom: 30px;
    padding-top: 10px;
    
}

/*==ハンバーガーメニューアンダーライン==*/
.humb::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 2px;
background: #28BFE7;
bottom: -1px;
transform: scale(0, 1);
transform-origin: center top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
transition: transform 0.3s;   /*変形の時間*/
}

.humb:hover::after {
transform: scale(1, 1); /*ホバー後、x軸方向に1（相対値）伸長*/
}

.humb:hover{
color: #28BFE7;
}

/*==背景方眼用紙==*/
.box {
  /* 方眼紙模様に必須のスタイル */
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
                    linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
  z-index: -10;
  /* 以下任意のスタイル */
}

.curved {
  position: relative;
  background: #28BFE7;
  height: 30vh;
  border-top-left-radius: 50% 20%;
  border-top-right-radius: 50% 20%;
}


/*画像を横並びにする*/
.sbs{
 list-style: none;
 display:flex;
 justify-content: space-between;
}
/*画像の間を空ける*/
.space{
 margin: 10px;
}




/*画像文字載せ*/
.sample-img {
  cursor: pointer;
  max-width: 500px;
  position: relative;
  width: 100%;
}
.sample-img img {
  height: auto;
  width: 100%;
}
.hover-mask {
  align-items: center;/* テキストの中央揃え */
  background: rgba(0, 0, 0, .5);/* マスクの色(黒の50%) */
  bottom: 0;
  color: #fff;/* テキストの色 */
  display: flex;/* テキストの中央揃え */
  height: auto;
  justify-content: center;/* テキストの中央揃え */
  left: 0;
  opacity: 0;/* 最初は透明（非表示） */
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity .6s ease;/* ゆっくりopacityのみへ変化させる */
  width: 100%;
}
.hover-mask:hover {
  opacity: 1;/* hoverしたら透過しない(表示させる) */
}
.hover-mask p {
  width: 80%;/* テキストを横幅いっぱいにならないようにする */
}

/*==GoogleMap==*/
iframe {
	width: 100%;
}


/*==================================================
スタート時は要素自体を透過0にするためのopacity:0;を指定する
===================================*/

/*.box{
  opacity: 0;
}*/

/*==================================================
要素フェードイン
===================================*/

.fadeUp {
animation-name:fadeUpAnime;
animation-duration:2s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

}



/*========= 流れるテキスト ===============*/

/*全共通*/

.slide-in {
  overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
  display: inline-block;

}

/*左右のアニメーション*/
.leftAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
    padding-left: 80px;
    padding-right: 0px;
    padding-bottom: 30px;
    padding-top: 10px;
}

.slideAnimeLeftRight {
  animation-name:slideTextX100;
  animation-duration:0.8s;
  animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextX100 {
  from {
  transform: translateX(-100%); /*要素を左の枠外に移動*/
        opacity: 0;
  }

  to {
  transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
  animation-name:slideTextX-100;
  animation-duration:0.9s;
  animation-fill-mode:forwards;
    opacity: 0;
}


@keyframes slideTextX-100 {
  from {
  transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
  transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

/*==パンくずリスト==*/
.Breadcrumb {
  padding: 1em;
  overflow-x: scroll;
  word-break: keep-all;
  white-space: nowrap; /* 改行（行送り）を禁止させる */
  -webkit-overflow-scrolling: touch;
}
  .Breadcrumb::-webkit-scrollbar {
    display: none;
  }
.Breadcrumb-ListGroup {
  list-style: none;
  color: #28BFE7;;
  display: flex;
}

.Breadcrumb-ListGroup-Item-Link[href]:hover {
  opacity: 0.7;
  color: #28BFE7;;

  }

.Breadcrumb-ListGroup > * + * {
  margin-left: 0.5em;
}
.Breadcrumb-ListGroup > * + *::before {
  content: ">";
  margin-left: 0.75em;
  margin-right: 0.75em;

}

/*==アンダーライン==*/
.plain_line {
 background-color:#eee;
 border:none;
 height:3px;
}

.font_color{
  color:#1797C1;;
}

.img_width1{
 padding:5%;
 width:25%;
 height:25%;
}


.img_width2{
 padding:5%;
 width:45%;
}

.txt1{
  font-size: 16px;
  line-height: 2em;
}

/*レスポンシブ用に縦並びにする*/
@media screen and (max-width: 960px) {
  .sbs{
   flex-direction: column;
   display:flex;
   align-items: center;
   width: 80%;
   text-align:center;
  }

  .left{
//    padding:10px 10px;
    margin-left: 0.5em;
  }
  
  .right{
    padding: 0 30px;
    text-align:right;
  }

  /*==背景画像==*/
  .bg_image {
    background-position: 10px 10px;
    text-align : center;
    width: 100%;
    height: 40%;
    background-image: url(../img/image02.JPG);
    position: relative;
    background-size: cover;
   }

  .bg_image::before{
    content: '';
    position: absolute;
    text-align : center;
    top: 10px;
    left: 10px;
    background-color: rgba(0,0,0,0.5);
   }
  .image_txt{
   letter-spacing:1.5em;
   color: #fff;
   text-shadow: 0 0 10px #fff,0 0 15px #fff;
   top: 25px;
  }

  .white_txt{
   position: absolute;
   color: #fff;
   top: 10px;
  }
  
  /*==シンプル画像スライダー==*/
/* .slideshow-fade{
     position: relative;
     width: 100%;
     height: 300px;
     li{
         list-style: none;
         width: 100%;
         height: 100%;
         img{
           position: absolute;
           left: 0px;
           top: 102px;
           width: 100%;
         }
     }
  } */
  .slideshow-fade {
  position: relative;
  width: 100%;
  height: 300px;
}
.slideshow-fade li {
  list-style: none;
  width: 100%;
  height: 100%;
}
.slideshow-fade li img {
  position: absolute;
  left: 0;
  top: 102px;
  width: 100%;
}

  /*左右のアニメーション*/
  .leftAnime{
      opacity: 0;/*事前に透過0にして消しておく*/
      padding-left: 10px;
      padding-right: 0px;
      padding-bottom: 30px;
      padding-top: 10px;
  }

  .slideAnimeLeftRight {
    animation-name:slideTextX100;
    animation-duration:0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
  }
  
.txt1 {
  text-align: left;
  margin-left: 1.5em;
  margin-right: 1.5em;
  line-height: 1.8; 
  }
}

/* 600px以上 */
@media screen and (max-width: 600px) {
.mainh1{
  vertical-align: middle;
  text-align: center;
  text-transform: uppercase;
  z-index: 9999;
  width:100%;
  }

.mainh1 h1{
  writing-mode: horizontal-tb;
}

.mainh1 img{
 height: 100%;
 }
	  .arrow {
		  display: none;
	  }
	  .news_list_item a {
		  padding-right: 0;
	  }
	  .news-notag {
		  padding-right: 0;
      }
	  .mainh1{
	      width:60%;
//	      height:50%;
          font-size:2.0rem;
          padding:0px;
          z-index: 9999;
      }
      .mainh1 img{
          height: 50%;
      }
/*==h2四角見出し用==*/
   .heading-38 {
       display: inline-block;
       font-weight:bold;
       border-bottom: solid 2px #28BFE7;
       line-height: 1.4;
       position: relative;
       padding: .5em 1.2em;
       color: #333333;
       margin-top: 5px;
       margin-left: 1em;
   }

   .heading-38::before,
   .heading-38::after {
       display: inline-block;
       position: absolute;
       transform: translateY(-50%);
       width: 12px;
       height: 12px;
       border: 2px solid #28BFE7;
       content: '';
   }

   .heading-38::before {
       top: calc(50% - 3px);
       left: 0;
   }

  .heading-38::after {
    top: calc(50% + 3px);
    left: 5px;
   }
/*==背景画像==*/
.bg_image {
//  background-position: left 230px top 10px;
  text-align : center;
  width: 95%;
  height: 75%;
//  right: 10px;
  background-image: url(../img/image02.JPG);
  position: relative;
  background-size: cover;
}

.bg_image::before{
  content: '';
  position: absolute;
  text-align : center;
  top: 10px;
//  right: 10px;
  bottom: 0px;
//  left: 130px;
  background-color: rgba(0,0,0,0.5);
}

.image_txt{
// letter-spacing:1.5em;
 color: #fff;
 text-shadow: 0 0 10px #fff,0 0 15px #fff;
// top: 25px;
}

.white_txt{
// position: absolute;
 color: #fff;
// top: 10px;
}

/*.left{
    padding-bottom: 30px;
    padding-top: 10px; 
}*/

  .left{
    padding:10px 10px;
//    margin-left: 0.5em;
  }

.txt1 {
  text-align: left;
  margin-left: 1.5em;
  margin-right: 1.5em;
  line-height: 1.8; 
  }
/*画像文字載せ*/
.sample-img {
  margin-left: 1.8em;
  cursor: pointer;
  width: 100%;
}
.sample-img img {
  width: 100%;
}

  /* スマホ表示時にフッターの上下の余白を増加 */
  .footer {
    padding: 40px 10px;
  }

  /* SNSアイコンのサイズを小さく */
  .social-icons {
    gap: 15px;
/*    margin-top: 40px; /* SNSアイコンを少し下げる */
    padding: 10px 10px;
  }

  .social-icon {
    font-size: 20px;
  }

  /* 住所やコピーライトのテキストを適切に配置 */
  .text, .footback {
    font-size: 12px;
    margin-top: 10px;
  }

  .text p, .footback p {
    margin-bottom: 8px; /* 各段落間の余白を少し調整 */
  }
  .qr-code-item {
    width: 80%; /* スマホサイズではQRコードを縦に並べて80%幅にする */
  }
}
