@charset "utf-8";
@import url("import/attachment.css"); 

/*全体の設定
---------------------------------------------------------------------------*/

*::selection {
 background-color:rgba(91,188,74,1);
 color: #fff;
}
*::-moz-selection {
 background-color:rgba(91,188,74,0.6);
 color: #fff;
}

html{
  scroll-behavior: smooth;
}
body {
	margin: 0px;
	padding: 0px;
	color: #666;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
	line-height: 2;
	-webkit-text-size-adjust: none;
	background: url(../images/bg_body.jpg) no-repeat;
	background-size: contain;
	background-position: 0px 150px;
}

h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {
	margin: 0px;
	padding: 0px;
	font-size: 100%;
}

ul {
	list-style-type: none;
}

ol {
	padding-left: 40px;
	padding-bottom: 15px;
}

img {
	border: none;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

table {
	border-collapse: collapse;
	font-size: 100%;
	border-spacing: 0;
}

iframe {
	width: 100%;
}

section {
	overflow: hidden;
}

.mGreen{
	color: #5bbc4a;
}

.fsBig{
	font-size: 1.5rem;
}

.boxCenter{
	width: 100%;
	margin: 0 auto;
}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #666;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

a:hover {
	color: #c19135;
	text-decoration: none;
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
header {
    height: 150px;
    border-bottom: 3px solid #5bbc4a;
    background: #5bbc4a url(../images/bg.png);
    background: url(../images/bg.png), linear-gradient(#fff, #fff);
    color: #333;
}
@media screen and (max-width: 480px) {
	header {
    height: 91px;
	}
}
#tel a {
 color: #333 !important;
 text-decoration: none !important;
}

header .inner {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
}

/*ロゴ画像*/
#logo img {
    width: 40%;
    position: absolute;
    left: 0px;
    top: 27px;
}


#logo span {
	font-size: 12px;
	font-weight: normal;
}
@media screen and (max-width: 600px) {
	#logo span {
		font-size: 10px;
	}
}

/*ヘッダー右側のtelブロック*/
#tel {
	position: absolute;
	right: 80px;
	top: 10px;
	letter-spacing: 0.2em;
}

#tel a {
	color: #fff;
}

/*ヘッダー右側の「お問い合わせ」ボタン*/
#form a {
    display: block;
    text-decoration: none;
    letter-spacing: 0.2em;
    position: absolute;
    right: 20px;
    top: 40px;
    color: #fff;
    padding: 9px 50px 9px 80px;
    font-size: 16px;
    border-radius: 4px;
	line-height: 1em;
	text-align: center;
    background-image: url(../images/bg_form.png);
    background-repeat: no-repeat;
    background-position: 40px center;
    background-color: #5bbc4a;
    transition: background-color 0.5s;
}
#form a:hover {
    background-color: #333;
}
#form .lang {
	font-size: 10px;
}
#sns {
	position: absolute;
	right: 22px;
	top: 8px;
	letter-spacing: 0.2em;
}

@media screen and (max-width: 559px) {
	#form {
		display: none;
	}
}


/*コンテナー（メインメニュー、メイン画像とコンテンツを囲むブロック）
---------------------------------------------------------------------------*/
#container {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	top: -50px;
}

/*コンテンツ（mainとsubを囲むブロック）
---------------------------------------------------------------------------*/
#contents {
	clear: both;
	overflow: hidden;
	padding: 3%;
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロックの設定*/
#menubar, #menubar-s {
    z-index: 10;
    position: absolute;
    left: 0px;
    top: 0px;
    width: 99%;
    padding: 10px 0 0;
}
@media screen and (max-width: 480px) {
	#menubar, #menubar-s {
	    padding: 0px 0 0;
	}
}
/*メニュー１個あたりの設定*/
#menubar li, #menubar-s li {
    float: left;
    width: 19%;
    margin-left: 1%;
    line-height: 1.4;
    position: relative;
}

#menubar li a, #menubar-s li a {
    text-decoration: none;
    display: block;
    position: relative;
    font-family: "游ゴシック","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo, Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    font-size: 12px;
    background: #fff;
    background: rgba(255,255,255,0.85);
    padding: 6px 2% 10px 15%;
    border: 1px solid #fff;
    color: #000;
}

/*「→」マーク*/
#menubar li a::before, #menubar-s li a::before {
    display: block;
    text-shadow: none;
    text-align: center;
    position: absolute;
    left: 4%;
    top: 10px;
    content: "→";
    background: #5bbc4a;
    color: #fff;
    font-size: 10px;
    font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", "Osaka-mono", "monospace";
    width: 16px;
    line-height: 16px;
    border-radius: 50%;
}

/*英語表記の文字*/
#menubar li a span, #menubar-s li a span {
    display: block;
    color: #5abc49;
    font-size: 18px;
    font-weight: bold;
    font-family: "游ゴシック","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo, Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

/*マウスオン時*/
#menubar li a:hover {
	background: #fff;
	padding: 8px 2% 12px 15%;
	letter-spacing: 0.1em;
}

/*ドロップダウンメニュー*/
#menubar .dropdown, #menubar-s .dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	z-index: 100;
	margin: 0;
	padding: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}

#menubar .has-dropdown:hover .dropdown {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s ease, visibility 0s linear 0s;
    border-top: 1px solid #5bbc4a;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

#menubar .dropdown li, #menubar-s .dropdown li {
	float: none;
	width: 100%;
	margin: 0;
}

#menubar .dropdown li a, #menubar-s .dropdown li a {
	background: #fff;
	background: rgba(255,255,255,0.95);
	border: 1px solid #5bbc4a;
	border-top: none;
	padding: 12px 10px;
	font-size: 11px;
	line-height: 1.4;
}

#menubar .dropdown li a::before, #menubar-s .dropdown li a::before {
	display: none;
}

#menubar .dropdown li a span {
	display: inline;
	font-size: inherit;
	font-weight: normal;
}

#menubar .dropdown li a:hover {
	background: #5bbc4a;
	color: #fff;
	padding: 12px 10px;
}

/*小さい端末用(画面幅800px以下)メニューを表示させない*/
#menubar-s {
	display: none;
}

/*３本バーアイコンを表示させない*/
#menubar_hdr {
	display: none;
}

/*メインコンテンツ
---------------------------------------------------------------------------*/
/*メインコンテンツブロック*/
#main {
	float: none;
	width: 100%;
	overflow: hidden;
}

/*１カラム時のメインブロック*/
.c1 #main {
	float: none;
	width: 100%;
}

/*メインコンテンツのh2(見出し)タグの設定*/
#main h2 {
    overflow: hidden;
    text-align: center;
    font-size: 25px;
    margin-bottom: 20px;
    color: #333;
    line-height: 1.2em;
}
@media screen and (max-width: 480px) {
	#main h2 {
	    margin-bottom: 10px;
	}
}
#main h2 span {
  position: relative;
  display: inline-block;
  margin: 0 2.5em;
  padding: 0 1.5em;
  text-align: left;
}
@media screen and (max-width: 480px) {
	#main h2 span {
    margin: 0 1.5em;
    padding: 0 0.5em;
    text-align: center;
    font-size: 18px;
	}
}
#main h2 span::before,
#main h2 span::after {
  position: absolute;
  top: 50%;
  content: '';
  width: 400%;
  height: 1px;
  background-color: #ccc;
}
#main h2 span::before {
  right: 100%;
}
#main h2 span::after {
  left: 100%;
}

/*メインコンテンツのh3(見出し)タグの設定*/
#main h3 {
    position: relative;
    color: #171411;
    padding: 0.5em 0.5em 0.5em 2.8em;
    background-color: #F0F0EB;
    border-radius: 5px;
    margin-bottom: 20px;
    font-size: 1rem;
    line-height: 1.4em;
}

#main h3::after {
     position: absolute;
     top: 50%;
     left:1em;
     transform:translateY(-50%);
     content: '';
     width: 10px;
     height:10px;
     border: solid 5px #5ABC49;
     border-radius:100%;
}

/*メインコンテンツのh4(小見出し)タグの設定*/
#main h4, {
  padding: .25em 0 .25em .75em;
  border-left: 6px solid #ccc;
  margin: 0px 0px 5px 0px;
  color: #000;
}

/*メインコンテンツのp(段落)タグ設定*/
#main p {
	padding: 0px 15px 14px;
}

#main h2 + p, #main h3 + p {
	margin-top: -5px;
}

/*「サービスのご案内」と「ご宿泊プラン」の一覧用ブロック
---------------------------------------------------------------------------*/
/*ボックスの設定（リンクなし・あり共通設定）*/
#main .list {
	margin-bottom: 15px;
	position: relative;
	overflow: hidden;
	padding: 3%;
	border: 1px solid #ccc;
}

/*ボックスの設定（リンクありの場合）*/
#main .list a {
	text-decoration: none;
	display: block;
	overflow: hidden;
	padding: 3%;
	margin: -3%;
}

/*ボックス内のh4タグ設定*/
#main .list h4{
	width: 98%;
	padding: .5em .10em .5em .75em;
	background-color: #f6f6f6;
	border-radius: 6px;
	margin-bottom: 10px;
	font-size: 1rem;
	color:#333;
}

/*ボックス内の段落タグ設定*/
#main .list p {
	padding: 0px;
	margin-left: 34%;
}

/*マウスオン時のボックス*/
#main .list a:hover {
	background: #fffde7;
}

/*ボックス内のfloat設定*/
#main .list .fLeft{
	width: 30%;
	float: left;
}

#main .fRight{
	width: 67%;
	float: right;
}

/*「サービスのご案内」と「ご宿泊プラン」の一覧用ブロック
---------------------------------------------------------------------------*/
/*ボックスの設定（リンクなし・あり共通設定）*/
.boxCenter {
	margin: 16px auto;
	text-align: center;
	display: block;
}
.boxCenter .text {
	text-align: left;
	display: inline-block;
}






/*サブコンテンツ
---------------------------------------------------------------------------*/
/*サブコンテンツブロック*/
#sub {
	float: left;
	width: 22%;
	overflow: hidden;
}

/*１カラム時のサブブロック。非表示にする設定。*/
.c1 #sub {
	display: none;
}

/*subコンテンツ内のh2タグ設定*/
#sub h2 {
	border-bottom: solid 1px #333;
	color: #fff;
	background: #b02318;
	background: linear-gradient(#b02318, #5d0e08);
	padding: 15px 10px;
}

/*サブコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー全体の設定*/
ul.submenu {
	margin-bottom: 15px;
}

/*メニュー１個ごとの設定*/
ul.submenu li {
	border-bottom: solid 1px #333;
}

ul.submenu li a {
	text-decoration: none;
	display: block;
	color: #fff;
	background: #111;
	padding: 3px 10px;
}

/*マウスオン時の文字色*/
ul.submenu li a:hover {
	color: #c19135;
}

/*サブコンテンツ内のbox1
---------------------------------------------------------------------------*/
#sub .box1 {
	overflow: hidden;
	padding: 5%;
	margin-bottom: 15px;
	border: 5px solid #999;
	background: #333 url(../images/bg.png);
	color: #fff;
}

/*リンクテキストの文字色*/
#sub .box1 a {
	color: #fff;
}

/*マウスオン時の文字色*/
#sub .box1 a:hover {
	color: #c19135;
}

/*box1内のサブメニューブロック*/
#sub .box1 ul.submenu {
	margin-bottom: 0;
}

/*PAGE TOP設定
---------------------------------------------------------------------------*/
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 10px;
  bottom: 10px;
  background: #5bbc4a;
  border-radius: 50%;
}
@media screen and (max-width: 480px) {
	#page_top{
	  display: none;
	}
}
#page_top:hover{
  background: #333;
}

#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f062';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -23px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}


/*フッター設定
---------------------------------------------------------------------------*/
#cityBg {
    background: url(../images/bg_city.png) repeat-x bottom;
}
@media screen and (max-width: 480px) {
	#cityBg {
	    background: url(../images/bg_city.png) repeat-x bottom;
	    background-size: 200px;
	}
}
footer {
	clear: both;
	background: #5bbc4a;
	color: #fff;
}

footer a {
	color: #fff;
	text-decoration: none;
}

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

footer .pr {
	display: block;
	font-size: 80%;
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*メニューボックス全体*/
#footermenu {
	max-width: 1200px;/*最大幅。#header .inner,#container,#pagetopと合わせる。*/
	margin: 0 auto;
	overflow: hidden;
	padding: 20px 0px;
}

/*１行分の設定*/
#footermenu ul {
	float: left;
	/*左に回り込み*/
	width: 16%;
	/*幅。今回は５列作ったのでここの幅18%と下のpaddingの2%でトータル20%になるよう設定。列に応じて調整して下さい。*/
	padding-left: 2%;
}
#footermenu ul:last-child li {
	text-align: center;
}

/*コピーライト
---------------------------------------------------------------------------*/
#copyright {
	clear: both;
	text-align: center;
	background: #131c2e;
	font-size: 0.8em;
	padding: 5px 0;
}
@media screen and (max-width: 480px) {
	#copyright {
		background: #5bbc4a;
	}
}




#copyright a {
	text-decoration: none;
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
	padding-left: 15px;
	margin-bottom: 15px;
	height: 110px;
	/*高さ*/
	overflow: auto;
	/*高さの設定を超えるとスクロールが自動で出る設定。全部表示させていたいならこの行と上の行を削除。*/
}

/*日付設定*/
#new dt {
	font-weight: bold;
	/*太字にする設定。標準がいいならこの行削除。*/
	float: left;
	width: 8em;
}

/*記事設定*/
#new dd {
	padding-left: 8em;
}

/*テーブル
---------------------------------------------------------------------------*/
.ta1 {
	width: 100%;
	margin-bottom: 15px;
	line-height: 1.3em;
}
.ta1 caption {
	width: 100%;
	background: #5bbc4a;
	color: #FFF;
	font-weight: 900;
	padding: 0.6em;
}
.ta1, .ta1 td, .ta1 th {
	border: 1px solid #CCC;
	padding: 10px;
	word-break: break-all;
}
.ta1 th.tamidashi {
	width: auto;
	text-align: left;
	background: #5bbc4a;
	color: #fff;
}
.ta1 th {
	width:40%;	/*幅*/
	text-align: center;	/*センタリング*/
	background-color: #F5F5F5;	/*背景色*/
	color: #333;	/*文字色*/
}
.ta1 th {
	text-align: left;
}
.ta1 th img {
	width: 100%;
}
.ta1 .s-english {
	font-size: 0.7rem;
	color: #5bbc4a;
}

/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;
	color: #FFF;
	font-size: 10px;
	padding: 0px 5px;
	border-radius: 2px;
	margin: 0px 5px;
}

/*その他
---------------------------------------------------------------------------*/
.look {
	color: #fff;
	background: #666;
	padding: 5px;
	border-radius: 4px;
}

.mb15,.mb1em {
	margin-bottom: 15px;
}

.clear {
	clear: both;
}

ul.disc {
	padding: 0em 25px 1em;
	list-style: disc;
}

/*プライバシーポリシーページ用スタイル
---------------------------------------------------------------------------*/
.pp ul.disc {
	padding-left: 40px !important;
	margin-bottom: 15px !important;
	list-style-type: decimal !important;
}

.pp ul.disc li {
	padding-left: 10px !important;
	margin-bottom: 8px !important;
	line-height: 1.8 !important;
}

.color1 {
	color: #c19135 !important;
}

.pr {
	font-size: 10px;
}

.wl {
	width: 96%;
}

.ws {
	width: 50%;
}

.c {
	text-align: center;
}

.r {
	text-align: right;
}

.l {
	text-align: left;
}

img.fr {
	float: right;
	margin-left: 20px;
	margin-bottom: 10px;
	width: 30%;
}

img.fl {
	float: left;
	margin-right: 20px;
	margin-bottom: 10px;
	width: 30%;
}

.big1 {
	font-size: 30px;
	letter-spacing: 0.2em;
}

.mini1 {
	font-size: 11px;
}

.sh {
	display: none;
}

.dn {
	display: none;
}

@media screen and (max-width: 1300px) {
	header .inner,#container,#pagetop,#footermenu {
		margin: 0 3%;
	}
}

@media screen and (max-width: 1000px) {
	#menubar li a::before {
		top: 8px;
		left: 2%;
	}
	#menubar li a span {
		font-size: 14px;
	}
}

@media screen and (max-width: 550px) {
	#tel {
	    top: 22px;
	}
	#form a {
	    top: 50px;
	}
	
}

a img {
	transition: opacity 0.3s ease-in-out;
	-webkit-transition: opacity 0.3s ease-in-out;
}

a:hover img {
	opacity: 0.8;
}

.btn1 {
    background: #5bbc4a;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    padding: 3px 15px;
    color: #fff;
    text-decoration: none;
    margin: 10px auto 0px auto;
    display: block;
	width: 30%;
    text-align: center;
    font-size: 12px;
}
.btn1:hover {
    background: #333;
    color: #fff;
}
.btn2 {
    border: 2px solid #171411;
    padding: 10px 30px;
    color: #171411;
    float: right;
    text-decoration: none;
    margin: 15px 0px 0px 0px;
    display: block;
    text-align: center;
    font-size: 0.8rem;
}
a.btn2 {
  background: #fff;
}
a.btn2:hover {
  color: #fff;
  background: #5bbc4a;
  border: #5bbc4a solid 2px;
}
selection {
    overflow: hidden;
}

@media screen and (max-width: 800px) {
	#sns {
		display: none;
	}
	#tel {
		right: 60px;
		letter-spacing: normal;
	}
	#form a {
    right: 60px;
    letter-spacing: 0.1em;
    font-size: 14px;
    padding: 5px 20px 5px 50px;
    background-position: 20px center;
	}

	#menubar-s {
		display: block;
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		transition: max-height 0.4s ease, opacity 0.4s ease;
	}

	#menubar-s.open {
		max-height: 2000px;
		opacity: 1;
	}

	#menubar-s.close {
		max-height: 0;
		opacity: 0;
	}

	#menubar-s li {
		width: 49%;
		margin-left: 1%;
		margin-bottom: 1%;
	}

	#menubar {
		display: none;
	}

	/*スマホ用ドロップダウンメニュー*/
	#menubar-s .dropdown {
		position: static;
		width: 100%;
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		transition: max-height 0.3s ease, opacity 0.3s ease, visibility 0s linear 0.3s;
	}

	#menubar-s .has-dropdown.active .dropdown {
		max-height: 500px;
		opacity: 1;
		visibility: visible;
		transition: max-height 0.3s ease, opacity 0.3s ease, visibility 0s linear 0s;
	}

	#menubar-s .dropdown li {
		width: 100%;
		margin: 0;
		float: none;
	}

	#menubar-s .dropdown li a {
		background: #f5f5f5;
		background: rgba(245,245,245,0.95);
		border: 1px solid #5bbc4a;
		border-top: none;
		padding: 10px 10px;
		font-size: 10px;
	}

	#menubar-s .dropdown li a:hover {
		background: #5bbc4a;
		color: #fff;
		padding: 10px 10px;
	}

	#menubar-s .has-dropdown .dropdown-toggle::after {
		content: '▼';
		font-size: 8px;
		margin-left: 5px;
		transition: transform 0.3s ease;
		display: inline-block;
	}

	#menubar-s .has-dropdown.active .dropdown-toggle::after {
		transform: rotate(180deg);
	}

	#menubar_hdr {
		display: block;
		z-index: 20;
		position: absolute;
		top: 25px;
		right: 3%;
		width: 30px;
		border: 1px solid #fff;
		padding: 12px 10px 5px;
		background: #5bbc4a;
	}

	#menubar_hdr span {
		display: block;
		border-top: 3px solid #fff;
		margin-bottom: 7px;
	}

	#main, #sub {
		float: none;
		width: auto;
	}

	section#new h2.open {
		background: url(../images/btn_minus.png) no-repeat right center/34px 34px,linear-gradient(#5bbc4a, #131c2e);
	}

	section#new h2.close {
		background: url(../images/btn_plus.png) no-repeat right center/34px 34px,linear-gradient(#5bbc4a, #131c2e);
	}
	body.s-n #sub {
		display: none;
	}

	.fl-half {
		float: left;
		width: 45%;
		margin-left: 3%;
	}
}

@media screen and (max-width: 999px) {
	#footermenu {
		display: none;
	}
}

@media screen and (max-width: 480px) {
	header .inner {
		text-align: left;
	}
	
	#logo img {
    width: 75%;
    position: static;
    padding: 0px 0 0px;
	}

	#tel {
    display: none;
	}

	#form a {
    position: static;
    width: 165px;
    margin: 0 auto;
    letter-spacing: 0.1em;
    text-align: center;
    float: right;
    font-size: 12px;
    padding: 0;
    background-position: 9999px;
	}
	#menubar-s li {
		float: none;
		width: 99%;
		margin-bottom: 0;
	}

	#menubar-s li a {
		background: #fff;
		background: rgba(255,255,255,0.9);
		border: 1px solid #5bbc4a;
		border-top: none;
	}

	#menubar_hdr {
		top: 10px;
		/*上から10pxの場所に配置*/
	}

	#container {
		top: -20px;
	}

	#main .list p, #main .list h4 {
		margin-left: 0;
	}

	#main .list figure img {
		float: none;
		padding: 0;
		width: 100%;
		border: none;
	}

	.ta1 th {
		width: 100px;
		padding: 5px;
	}

	.ta1 td {
		width: auto;
		padding: 5px;
	}

	.ws,.wl {
		width: 95%;
	}

	img.fr,img.fl {
		float: none;
		margin: 0;
		width: 100%;
	}

	.sh {
		display: block;
	}

	.pc {
		display: none;
	}

	.fl-half {
		float: none;
		width: 100%;
		margin-left: 0;
	}

	.pcVer {
		display: none;
	}

	.spVer {
		display: block;
	}
}

.pcVer {
	display: block;
}

.spVer {
	display: none;
}

.columnBlock {
 overflow: hidden;
}

.column3,
.column4,
.column5 {
 float: left;
 margin-bottom: 15px;
}
.column5 {
 width: 20%;
}
@media screen and (max-width: 800px) {
	.column5 {
	 width: 33.33333333333333%;
	}
}
.column4 {
 width: 25%;
}
.column3 {
 width: 33.33333333333333%;
}
@media screen and (max-width: 500px) {
	.column3,
	.column4,
	.column5 {
	 width: 100%;
	}
}

.columnBlock dl {
 width: 95%;
 margin: 0 auto;
}
.columnBlock dl dt {
	border-bottom: 2px solid #5bbc4a;
	text-align: center;
    margin: 0 auto 10px;
    padding: 2px 0px 6px 8px;
    font-weight: bold;
    color: #333;
    line-height: 1.5em;
}
.columnBlock dl dt .english{
	font-size: 1.3rem;
	color: #5bbc4a;
}
.columnBlock dl dd {
    line-height: 1.7em;
}
.columnBlock dl dd img {
 width: 100%;
 display: block;
 margin-bottom: 10px;
}

/*エントリーバナー
---------------------------------------------------------------------------*/
.entryBnr {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 20px 0 50px !important;
}

.entryBnr li {
	flex: 1 1 calc(33.333% - 14px);
	min-width: 0;
}

.entryBnr li a {
	display: block;
}

.entryBnr li img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 800px) {
	.entryBnr {
		flex-direction: column;
		gap: 15px;
	}

	.entryBnr li {
		flex: 1 1 100%;
	}
}

/*プライバシー同意エリア
---------------------------------------------------------------------------*/
.privacy-consent {
	margin: 20px 0;
	padding: 15px 20px;
	text-align: center;
	font-size: 1.15em;
	border: 2px solid #5bbc4a;
	border-radius: 6px;
}

.privacy-consent label {
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.privacy-consent input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	position: relative;
	width: 22px;
	height: 22px;
	min-width: 22px;
	min-height: 22px;
	border: 1px solid #ccc;
	border-radius: 3px;
	cursor: pointer;
	vertical-align: middle;
	transform: scale(1.15);
	-webkit-transform: scale(1.15);
	transform-origin: center;
	-webkit-transform-origin: center;
}

.privacy-consent input[type="checkbox"]:checked {
	background-color: #5bbc4a;
	border-color: #5bbc4a;
}

.privacy-consent input[type="checkbox"]:checked::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 6px;
	height: 12px;
	border-style: solid;
	border-color: white;
	border-width: 0 2px 2px 0;
	transform: translate(-50%, -60%) rotate(45deg);
}

.privacy-consent a {
	text-decoration: underline;
}



/* --- 2025/10/07 Added by Gemini (Corrected) --- */

/* Google Map in overseas.html */
.map-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 50%; /* 2:1 aspect ratio, effectively 2/3 of the previous 4:3 */
    overflow: hidden;
    margin-top: 15px;
    max-height: 300px; /* Adjusted max height */
}

.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media screen and (max-width: 800px) {
    #main .list .fLeft,
    #main .fRight {
        width: 100%;
        float: none;
        margin-bottom: 15px;
    }
}

/* --- End of Gemini's addition --- */

/*アコーディオン
---------------------------------------------------------------------------*/
.accordion > dt {
	cursor: pointer;
	text-align: center;
	margin-bottom: 10px;
}

.accordion > dt a.btn2 {
    float: none;
    display: inline-block;
    margin: 15px auto;
    cursor: pointer;
    width: 200px;
    line-height: 1.5em;
    padding: 13px 10px 13px;
}

.accordion > dt a.btn2:hover {
	color: #fff;
	background: #5bbc4a;
	border: #5bbc4a solid 2px;
}

.accordion > dd {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease;
	margin: 0;
}

.accordion > dd.open {
	max-height: 2000px;
	margin-bottom: 20px;
}
