/******************************************************************************/
/* phone.css - last update: 25.03.05 */


@media only screen and (max-width: 980px) {

body {
	background: #FFFFFF;
}


/******************************************************************************/
/* wrapper - コンテンツ領域の枠組み */

#wrapper {
	width: auto !important;
}

.body_bg {
	display: none;
}


/******************************************************************************/
/* top_header */

#top_header {
	width: 100%;
	height: 0;
	margin: 0;
	padding: 5% 0 65.224% 0;
}

#top_header h1 {
	background: url(../img/mainvisual_bg.png) no-repeat center center;
	background-size: contain;
	width: 100%;
	max-width: 760px;
	height: 0;
	margin: 0 auto 0 auto;
	padding: 0 0 61.27% 0;
}

#top_header span {
	display: none;
}


/******************************************************************************/
/* header - ヘッダの枠組み */

#header {
	height: 60px;
	margin: 0;
}

#header * {
	font-size: clamp(10px, 2.2vw, 20px);
}

#header h1 {
	width: calc(98% - 70px);
	height: 45px;
	margin: 0 2% 0 70px;
	padding: 15px 0 0 0;
	text-align: right;
}

#header a,
#header a:visited,
#header a:hover {
	display: inline;
	width: auto;
	height: auto;
	line-height: 150%;
	padding: 0;
}


/******************************************************************************/
/* menu - グローバルメニューの枠組み */

#menu {
	float: none;
	position: absolute;
	top: 0;
	left: 0;
	background: none;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	z-index: 999;
}

#menu li {
	float: none;
}

#menu span {
	display: inline;
}

#menu .menubar {
	display: block;
	background: url(../img/menubar_bg.png) no-repeat left top;
	width: 60px;
	height: 60px;
	margin: 0;
	padding: 0;
	cursor: pointer;
	pointer-events: all;
}

#menu .menubar span {
	display: none;
}

#menu .menu {
	width: 100%;
	height: 0;
	padding: 0;
	transition: 0.2s;
}

#menu input:checked + .menu {
	height: auto;
	padding: 0;
}

#menu .menu li {
	width: 100%;
	line-height: 0;
	margin: 0 0 1px 0;
	opacity: 0;
	transition: padding .2s, line-height .2s, visibility .1s, opacity .1s;
	visibility: hidden;
}

#menu input:checked + .menu li {
	opacity: 1;
	visibility: visible;
}

#menu .menu a,
#menu .menu a:visited {
	display: block;
	background: rgb(0, 106, 0, 1.0);
	width: calc(100% - 50px);
	max-width: 270px;
}

#menu .menu a:hover,
#menu .menu a.s,
#menu .menu a.s:visited,
#menu .menu a.s:hover {
	background: rgb(0, 138, 0, 1.0);
}

#menu .menu li.fs10 a,
#menu .menu li.fs10 a:hover,
#menu .menu li.fs10 a.s,
#menu .menu li.fs10 a.s:hover,
#menu .menu li.fs11 a,
#menu .menu li.fs11 a:hover,
#menu .menu li.fs11 a.s,
#menu .menu li.fs11 a.s:hover,
#menu .menu li.fs12 a,
#menu .menu li.fs12 a:hover,
#menu .menu li.fs12 a.s,
#menu .menu li.fs12 a.s:hover,
#menu .menu li.fs13 a,
#menu .menu li.fs13 a:hover,
#menu .menu li.fs13 a.s,
#menu .menu li.fs13 a.s:hover {
	padding-top: 6px;
	padding-bottom: 3px;
	font-size: 15px;
}

#menu .menu li.info {
	background: rgb(255, 255, 255, 1.0);
	width: calc(100% - 22px);
	max-width: 298px;
	height: auto;
	margin: 1px 0 1px 0;
}

#menu .menu li.poster {
	margin: 0 auto 1px 0;
	text-align: left;
}

#menu .menu li.ban {
	margin: 0 auto 1px 0;
	text-align: left;
}

#menu .update {
	display: none;
}


/******************************************************************************/
/* maincontent - メインコンテンツの枠組み */

#maincontent {
	clear: both;
	float: none;
	width: 100%;
	margin: 0 0 20px 0;
	padding: 0;
}

/*
#maincontent p,
#maincontent ul {
	margin: 0 15px 15px 15px;
}
*/

#maincontent .whatsnew {
	width: 100%;
	height: auto;
	margin: 0 auto;
	overflow-y: visible;
}


/******************************************************************************/
/* maincontent .hr - コンテンツページ本文の区切り線 */

#maincontent .hr {
	width: 96%;
	margin: 0 auto 25px auto;
}


/******************************************************************************/
/* メインコンテンツ - 見出し背景 */

#maincontent h2 {
	width: 95%;
	height: auto;
	line-height: 160%;
	margin: 0 0 25px 0;
	padding: 9px 0 7px 5%;
	border-radius: 0 0 10px 10px;
	font-size: clamp(18px, 3.6vw, 28px);
	letter-spacing: 0.25em;
}


/******************************************************************************/
/* メインコンテンツ - テーブル（幅固定、枠線なし） */

#maincontent .table_fix {
	margin: 0 2% 15px 2%;
	width: 96%;
}


/******************************************************************************/
/* メインコンテンツ - テーブル（幅固定、枠線あり） */

#maincontent .table_border {
	margin: 0 2% 15px 2%;
	width: 96%;
}


/******************************************************************************/
/* メインコンテンツ - テーブル（参加申込フォーム） */

#maincontent .table_form {
	margin: 0 2% 15px 2%;
	width: 96%;
}

#maincontent .table_form td.h {
	width: 25%;
}

#maincontent .table_form td.d {
	width: auto;
	max-width: 510px;
}

#maincontent .table_dsub td {
	line-height: 120%;
	vertical-align: top;
	padding: 5px 2px;
}

#maincontent .table_dsub input {
	width: 80%;
}

#maincontent .w150 {
	width: 15%;
}

#maincontent .w180 {
	width: 20%;
}

#maincontent .w280 {
	width: 65%;
}

#maincontent .w360 {
	width: 90%;
}


/******************************************************************************/
/* メインコンテンツ - テーブル（囲み枠） */

#maincontent .table_box {
	margin: 0 2% 15px 2%;
	width: 96%;
}


/******************************************************************************/
/* メインコンテンツ - Googleマップ */

#maincontent .gmap {
	margin: 0 2% 15px 2%;
	width: 96%;
}

#maincontent .gmap iframe {
	width: 100%;
}


/******************************************************************************/
/* .box_frame - 動画埋め込み枠用 */

#maincontent .box_frame {
	width: 100%;
	margin: 0 auto 15px auto;
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
 
#maincontent .box_frame iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



/******************************************************************************/
/* subcontent - サブコンテンツ */

#subcontent {
	clear: both;
	float: none;
	width: 100%;
	margin: 0 0 60px 0;
	padding: 0;
	text-align: center;
}

#subcontent .sp {
	width: 100%;
	max-width: 180px;
	margin: 0 auto 5px auto;
}

#subcontent .ban {
	display: inline-block;
	width: 180px;
	height: 60px;
	line-height: 100%;
	margin: 0 1% 15px 1%;
	padding: 0;
}

#subcontent .ban2 {
	display: inline-block;
	width: 180px;
	height: 60px;
	line-height: 100%;
	margin: 0 1% 5px 1%;
	padding: 0;
}

#subcontent .poster {
	display: inline-block;
	width: 120px;
	height: 170px;
	line-height: 100%;
	margin: 0 1% 15px 1%;
	padding: 0;
}


/******************************************************************************/
/* jumptop - PAGE TOPボタンの枠組み */
/* 今回はjquery.scrollUp.jsを使用 */

#scrollUp {
	right: 0;
}



}		/* end of 980px */


@media only screen and (max-width: 460px) {


#maincontent h3 {
	font-size: 16px;
	letter-spacing: 0.1em;
}

#maincontent h3::before {
	top: 2px;
}

#maincontent h3::after {
	top: 7px;
}


/******************************************************************************/
/* table_whatsnew */

#maincontent .table_whatsnew {
	width: 92%;
	margin: 0 4% 15px 4%;
}

#maincontent .table_whatsnew tr {
	display: inline-block;
	width: 100%;
	margin-bottom: 7px;
	border-bottom: 1px dotted #CCCCCC;
}

#maincontent .table_whatsnew td {
	display: inline-block;
	width: 96%;
	padding: 0 2% 5px 2%;
	border: 0 none;
}

#maincontent .table_whatsnew td.update {
	display: inline-block;
	width: 96%;
	padding: 0 2% 0 2%;
	border: 0 none;
}


/******************************************************************************/
/* .table_normal - テーブル（汎用） */

#maincontent .table_normal td {
	padding: 0 10px 0 0;
}

#maincontent .table_normal td.block {
	display: block;
}

#maincontent .table_normal td.inline {
	display: inline-block;
}

#maincontent .table_normal td.dd {
	display: inline-block;
	padding-left: 2em;
}


/******************************************************************************/
/* #maincontent .table_fix */

#maincontent .table_fix {
	width: 100%;
	margin: 0 0 15px 0;
	border-top: 1px solid #AA8A55;
}

#maincontent .table_fix td {
	display: inline-block;
	padding: 10px 2%;
}

#maincontent .table_fix td.h2 {
	width: 96%;
	border: 0 none;
}

#maincontent .table_fix td.h {
	width: 96%;
	border: 0 none;
}

#maincontent .table_fix td.d {
	width: 96%;
	border-top: 0 none;
	border-right: 0 none;
	border-bottom: 1px solid #AA8A55;
	border-left: 0 none;
}


/******************************************************************************/
/* #maincontent .table_form - 登録フォーム等 */

#maincontent .table_form {
	width: 100%;
	margin: 0 0 15px 0;
	border-top: 1px solid #AA8A55;
}

#maincontent .table_form td {
	display: inline-block;
	padding: 10px 2%;
}

#maincontent .table_form td.h2 {
	width: 96%;
	border: 0 none;
}

#maincontent .table_form td.h {
	width: 96%;
	border: 0 none;
}

#maincontent .table_form td.d {
	width: 96%;
	border-top: 0 none;
	border-right: 0 none;
	border-bottom: 1px solid #AA8A55;
	border-left: 0 none;
}

#maincontent .table_dsub td {
	line-height: 120%;
	padding: 5px 2px;
}


/******************************************************************************/
/* メインコンテンツ - 画像のフローティング */

.greet_photo {
	width: 25%;
	height: auto;
	max-width: 150px;
}


}		/* end of 540px */

