@charset "utf-8";

/* 画像ロゴがあるときだけ、直後のテキスト版ロゴを隠す */
#logo + #logo { display: none; }

/* GoogleMap等のiframeの枠線を消す */
iframe { border: 0; }

/*contact_form.html*/
.contact-alert{
    background:#f0fff2;border:1px solid #bde5c8;color:#1c6b2a;
    padding:.8rem 1rem;border-radius:6px;margin:0 0 1rem;
}
.contact-alert.error{background: #fffbda;border: 1px solid #f3c4c4;color:#b00020;}

input[type=text], input[type=email], input[type=tel],textarea {
    width:100%;
    max-width:100%;
}
input, select, textarea, button[type=submit] {font-size: 1rem;}

/*著作部分（※意図的に見えなくしたりしないで下さい。規約違反になります。）*/
.pr a {
	text-decoration: none;display: block;
	background: rgba(0,0,0,0.8);
	color: #ccc;
	text-align: right;
	padding: 0.2rem 1rem;
	font-size: 0.8rem;
}
.pr a::before {
	font-family: "Font Awesome 6 Free";
	content: "\e2ca";
	font-weight: bold;
	margin-right: 0.5em;
}


/*以下travel1専用*/

/*list-grid1
---------------------------------------------------------------------------*/
.list-grid1 h4 a {
  color: inherit;
}

/*フッター内にあるソーシャルメディアのアイコン
---------------------------------------------------------------------------*/
ul.icons {
	list-style: none;
	margin: 0;padding: 0;
	display: flex;
  justify-content: flex-start;
	gap: 1rem;	/*アイコン同士のマージン的な要素。１文字分。*/
}
.icons i {
	font-size: 34px;	/*アイコンサイズ*/
}

/*list-free
---------------------------------------------------------------------------*/
.list-free-tpcms {
  margin-bottom: 3rem;
}
.list-free-tpcms.reverse {
  flex-direction: row-reverse;
}
/*h4見出し*/
.list-free-tpcms h4 {
  margin: 0;
	font-size: 1.3rem;
	margin-bottom: 0.5em;
}
.list-free-tpcms h4 a {
  color: inherit;
}
/*画像ブロック内のdivタグ。テキストを囲むブロックです。*/
.list-free-tpcms .image > div {
	background: #fff;
	color: #333;
	font-size: 0.75rem;
	padding: 0.5rem 1rem;
}

	/*画面幅800px以上の追加指定*/
	@media screen and (min-width:800px) {

  .list-free-tpcms {
    display: flex;
    gap: 2rem;
  }
  .list-free-tpcms .text {
    flex: 1;
  }
  .list-free-tpcms .w1 {width: 30%;}
	.list-free-tpcms .w2 {width: 50%;}

	}/*追加指定ここまで*/

/*ページの1つ目にbg1,bg2（背景画像）を使う場合
---------------------------------------------------------------------------*/
main > .bg1:first-child,
main > .bg2:first-child {
  margin-top: calc(-1 * 6vw);
}

/*詳細ページのサムネイル切り替えブロック
---------------------------------------------------------------------------*/
/*全体*/
.thumb-change-box {
	max-width: 1000px;
  margin: 0 auto;
}

/*大きな画像が表示されるブロック*/
.thumbnail-view-parts {
	max-width: 1000px;
	margin-bottom: 1rem;
	text-align: center;
}

/*サムネイル全体を囲むブロック*/
.thumbnail-parts {
	display: flex;
  flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 2rem;
}

/*サムネイル画像*/
.thumbnail-parts img {
	width: 100px;
	margin: 2px;
	cursor: pointer;
	transition: 0.3s;
}
.thumbnail-parts img:hover {
	opacity: 0.8;
}
/* 大きな表示の中身（画像/動画） */
.thumbnail-view-parts img,
.thumbnail-view-parts video {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
/* サムネイル動画 */
.thumbnail-parts video {
  width: 100px;
  margin: 2px;
  cursor: pointer;
  transition: 0.3s;
}
.thumbnail-parts video:hover {
  opacity: 0.8;
}
/* 動画サムネ用ラッパ＆アイコン */
.thumbnail-parts .thumb-wrap {
  position: relative;
  display: inline-block;
  width: 100px;      /* 既存サムネ幅と合わせる */
  margin: 2px;       /* 既存サムネ間隔と合わせる */
}
.thumbnail-parts .thumb-wrap > video {
  width: 100%;
  height: auto;
  display: block;
  margin: 0;         /* 二重余白を防止 */
}
.thumbnail-parts .thumb-play {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;      /* クリックは下のvideoに通す */
  opacity: 0.9;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
.thumbnail-parts .thumb-play i {
  background: #ff0000;
  color: #fff;
  border-radius: 9999px;
  padding: 6px 8px;
  font-size: 12px;
  line-height: 1;
}

