@charset "utf-8";

* {
	margin: 0px;
}
body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-align: center;
	-webkit-text-size-adjust: 100%;
        
}
body p {
	padding-top:5px;
	padding-bottom:5px;
}
img {
	border-style: none;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
#top_width {
	max-width: 1200px;
	margin: 0px auto;
}
div[id^="max_width"] {
	max-width: 1200px;
	margin: 0px auto;
}
#footer_width {
	max-width: 1200px;
	margin: 0px auto;
}
header {
	background-image: url(images/bg-header.png);
	color: #ff0000;
	height: 80px;
}
#site_title {
	z-index: 1;
}

/* slideshow */
#content_wrap_slide {
	background-image: url(images/bg-slide.png);
}
#stage {
	max-width: 1200px;
	background-color: #000;
	position:relative;
	margin: 0px auto;
}
#stage ul {
	padding: 0px;
	position:relative;
}
#stage ul li {
	width: 100%;
	list-style-type: none;
	position:absolute;
	opacity: 0;
}
#stage img {
	max-width: 100%;
	height: auto;
}
#slide_control {
	position: absolute;
}
[id^='photo_'] {
	cursor: pointer;
}
#prev_button {
	cursor: pointer;
}
#next_button {
	cursor: pointer;
}
#play_stop {
	cursor: pointer;	
}

#main_img {
	max-width: 1200px;
	margin: 0px auto;
}

/* nav */
#menu_button {
	position:fixed;
	top:0px;
	left:0px;
	cursor: pointer;
	z-index:3;
}
#nav {
	position:fixed;
	top:0px;
	margin-left:-200px;
	width:200px;
	z-index:2;
}
#nav ul {
	padding: 0px;
	background-color: #161616;
}
#nav ul li {
	list-style-type: none;
}
#nav ul li a:link {
	padding-top: 13px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 12px;
	border-bottom: 1px solid #C7C7C7;
	display:block;
	text-align:left;
	color: #FFFFFF;
	text-decoration: none;
	-webkit-transition: color 0.5s ease-in-out 0s;
	-moz-transition: color 0.5s ease-in-out 0s;
	-ms-transition: color 0.5s ease-in-out 0s;
	-o-transition: color 0.5s ease-in-out 0s;
	transition: color 0.5s ease-in-out 0s;
}
#nav ul li a:visited {
	padding-top: 13px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 12px;
	color: #FFFFFF;
	border-bottom: 1px solid #C7C7C7;
	text-decoration: none;
	display: block;
}
#nav ul li a:hover {
	color: #B9B9B9;
	text-decoration: none;
}

/* content */
.content_even {
	background-color: #fff;
}
.content_even a:link {
	color: #000000;
	-webkit-transition: color 0.3s ease-in-out 0s;
	-moz-transition: color 0.3s ease-in-out 0s;
	-ms-transition: color 0.3s ease-in-out 0s;
	-o-transition: color 0.3s ease-in-out 0s;
	transition: color 0.3s ease-in-out 0s;
}
.content_even a:visited {
	color: #000000;
}
.content_even a:hover {
	color: #AAAAAA;
}
.content_odd {
	background-color: #F9F9F9;
}
.content_odd a:link {
	color: #000000;
	-webkit-transition: color 0.3s ease-in-out 0s;
	-moz-transition: color 0.3s ease-in-out 0s;
	-ms-transition: color 0.3s ease-in-out 0s;
	-o-transition: color 0.3s ease-in-out 0s;
	transition: color 0.3s ease-in-out 0s;
}
.content_odd a:visited {
	color: #000000;
}
.content_odd a:hover {
	color: #909090;
}

div[class^="bg-text"] {
	padding-top: 30px;
	padding-bottom:30px;
	padding-left: 5px;
	padding-right: 5px;
	z-index: 1;
	height:auto;
	overflow:hidden;
}
div[class^="bg-text"] h1 {
	font-size: 150%;
	font-weight: normal;
	padding-bottom: 10px;
}
div[class^="bg-text"] h1 img {
	vertical-align: -20%;
}
div[class^="bg-text"] p {
	text-align:left;
}

.img_450_left img {
	display: block;
	margin: auto;
}
.img_450_right img {
	display: block;
	margin: auto;
}


.color1 {
	color: #FF0000; /* 赤色 */
}
.color2 {
	color: #FF6600; /* 橙色 */
}
.color3 {
	color: #9900CC; /* 紫色 */
}
.supplement {
	font-size: 90%;
	color: #6C6C6C; /* 補足 */
}

/* modal window */
.modal {
}
.modal dt {
	float: left;
	margin-bottom: 10px;
	border: 1px solid #E8E8E8;
	background-color: #fff;
}
.modal dt p {
	padding: 5px;
}
.modal dd {
	display: none;
}
#modal_bg {
	display: none;
	position: fixed;
	background-image: url(images/modal-bg.png);
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 4;
}
#modal_window {
	display: none;
	position: fixed;
	overflow: hidden;
	z-index: 5;
}
#modal_window img {
	display: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px;
	background-color: #F9F9F9;
	border-radius: 5px;
	z-index: 6; 
}
#modal_prev_button {
	position: fixed;
	display: none;
	z-index: 7;
	cursor: pointer;
}
#modal_next_button {
	position: fixed;
	display: none;
	z-index: 7;
	cursor: pointer;
}
#modal_close_button {
	position: fixed;
	display: none;
	z-index: 7;
	cursor: pointer;
}

/* news */
#news {
}
#news ul {
	padding: 0px;
}
#news ul li {
	list-style-type: none;
	border-bottom: #554b1e 1px dashed;
	padding-top: 10px;
	padding-bottom: 10px;
}
#news ul li:first-child {
	border-top: #554b1e 1px dashed;
}

/* faq */
#faq {
	text-align: left;
}
#faq dt {
	padding-top: 20px;
	padding-bottom: 10px;
	color: #2D2D2D;
}
#faq dd {
	border-bottom: #554b1e 1px dashed;
	padding-top: 10px;
	padding-bottom: 20px;
}
#faq dt:first-child {
	border-top: #554b1e 1px dashed;
}

/* company */
#company {
	margin: 0px auto;
	border-collapse: collapse;
	width: 100%;	
}
#company tr {
}
#company th, #company td {
	border: #b6e05a 2px solid;
}
#company th {
	background-color: #F8FFEA;
	padding: 20px;
	white-space: nowrap;
}
#company td {
	background-color: #FFFFFF;
	padding: 20px;
	text-align: left;
}

/* footer */
#footer_content {
	color: #FFFFFF;
	background-color: #1A1A1A;
	clear: both;
}
#footer_content a:link {
	color: #FFFFFF;
	-webkit-transition: color 0.3s ease-in-out 0s;
	-moz-transition: color 0.3s ease-in-out 0s;
	-ms-transition: color 0.3s ease-in-out 0s;
	-o-transition: color 0.3s ease-in-out 0s;
	transition: color 0.3s ease-in-out 0s;
}
#footer_content a:visited {
	color: #FFFFFF;
}
#footer_content a:hover {
	color: #A7A7A7;
}
footer {
}
footer a:link {
	text-decoration: none;
}
footer a:visited {
	text-decoration: none;
}
#bg-text-footer {
	padding-top: 30px;
	padding-bottom: 30px;
	padding-left: 5px;
	padding-right: 5px;
}
#bg-text-footer p {
}
#footer_nav {
	display: none;
}

@media only screen and (min-width: 600px) {
div[class^="bg-text"] {
	padding-top: 40px;
	padding-bottom: 40px;
}
div[class^="bg-text"] h1 {
}
#bg-text-footer {
	padding-top: 40px;
	padding-bottom: 40px;
}
}

@media only screen and (min-width: 350px) {
.img_450_left {
	float: left;
	padding-right: 5px;
        margin: 0;
}
.img_450_right {
	float: right;
	padding-left: 5px;
}
}

@media only screen and (min-width: 800px) { /* メニュー格納 | メニューの幅により変更 ｜ .js の var min_width = 800; とセットで変更 */
#site_title {
	float: left;
	padding-right: 25px;
}

/* nav */
#menu_button {
	display: none;
}
#nav {
	top:auto;
	position: static;
	margin-left: 0px;
	width: auto;
}
#nav ul {
	background-color:rgba(0,0,0,0);
}
#nav ul li {
	float: left;
}
#nav ul li a:link {
	color: #000000;
	padding-top: 40px;
	padding-right: 25px;
	padding-left: 25px;
	padding-bottom: 10px;
	border-bottom: 0px solid #424242;
}
#nav ul li a:visited {
	color: #000000;
	padding-top: 40px;
	padding-right: 25px;
	padding-left: 25px;
	padding-bottom: 10px;
	border-bottom: 0px solid #424242;
}
#nav ul li a:hover {
	text-decoration: none;
	color: #C3C3C3;
}

#footer_nav {
	display: block;
}
/* YouTube埋め込み動画の完全修正（競合打ち消し） */
.youtube-wrapper {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 2rem auto;
  width: 100%;
  max-width: 980px;
  box-sizing: border-box;
}

.youtube-container {
  position: relative;
  width: 100%;
  max-width: 480px;
  height: 0;
  padding-bottom: 56.25%;
  background: #000;
  margin: 1rem;
  flex: 1 1 300px;
}

.youtube-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: none;
  display: block;
}
.youtube-wrapper {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 2rem auto;
  width: 100%;
  max-width: 960px;
  box-sizing: border-box;
  padding-left: 15px;   /* ← ここを追加 */
  padding-right: 15px;  /* ← ここも */
}

.youtube-container {
  position: relative;
  width: 100%;
  max-width: 480px;
  height: 0;
  padding-bottom: 56.25%;
  background: #000;
  flex: 1 1 300px;
}

.youtube-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: none;
  display: block;
}
.youtube-wrapper {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 2rem auto;
  width: 100%;
  max-width: 900px; /* ← 最大幅を明確に制限 */
  padding-left: 10px;
  padding-right: 10px;
  box-sizing: border-box;
}

.youtube-container {
  position: relative;
  width: 100%;
  max-width: 400px; /* ← 個別の動画の幅を狭める */
  height: 0;
  padding-bottom: 56.25%; /* 16:9の比率 */
  background: #000;
  flex: 1 1 300px;
}

.youtube-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: none;
  display: block;
}
.youtube-wrapper {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 2rem auto;
  width: 100%;
  max-width: 800px; /* ← さらに制限！ */
  padding-left: 10px;
  padding-right: 10px;
  box-sizing: border-box;
}

.youtube-container {
  position: relative;
  width: 100%;
  max-width: 360px; /* ← 1本の動画幅をぎゅっと絞る */
  padding-bottom: 56.25%;
  height: 0;
  background: #000;
  flex: 1 1 300px;
}

.youtube-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: none;
  display: block;
}


}