@charset "UTF-8";

/* Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) */

html,
body,
ul,
ol,
li,
dl,
dt,
dd,
p,
img,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
address,
em,
strong,
abbr,
dfn,
object,
form,
input,
select,
option,
optgroup,
textarea,
button,
table,
tr,
td,
th,
iframe
{
	margin: 0;
	padding: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
	list-style-type: none;
	background-color: transparent;
	border-style: none;
}

html
{
	display: block;
	height : 100% ;
	background-color: transparent;
	scroll-behavior: smooth;
}

/* body */
body
{
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, ".SFNSText-Regular", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, "ms pgothic", sans-serif;
/*	font-feature-settings: "palt";*/
	font-feature-settings: "halt";
/*	font-feature-settings: "pwid";*/
	-webkit-text-size-adjust: 100%;
	line-height: 1.5;
	overflow : auto;
}

/* Main */
main
{
	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: auto;
	}

/* 段落（パラグラフ） */
p
{
	text-align: justify;
	text-justify: inter-ideograph;
	font-feature-settings: "pkna";
/*	font-feature-settings: "pwid";
	font-feature-settings: "palt";
	letter-spacing: 0.02em;*/
	margin-bottom: 0.8em;
}

p.notice
{
	margin-bottom: 0.5em;
}

p.text
{
	padding: 0 1em 1em 1em;
}

/* 改行 */
br.b240,
br.b480,
br.b768
{
	display: none;
}

/* 画像 */
img
{
	max-width: 100%;
	height: auto;
}

/* 約物 */
hr
{
	clear: both;
	border-bottom: 1px solid rgb(200,200,200);
	margin: 0 0 2.5em 0;
}

/* 回り込みクリア */
hr.line
{
	display: block;
	margin: -1px 0 0 0;
	height: 1px;
	overflow: hidden;
	visibility: hidden;
	clear: both;
}

hr.line2
{
	display: block;
	margin: -1px 0 1em 0;
	height: 1px;
	overflow: hidden;
	visibility: hidden;
	clear: both;
}

.clearfix:after
{
  content: "";
  clear: both;
  display: block;
}

a img
{
	border-style: none;
}

/* 強調関係 */
em,
.notice,
.notice__date
{
	font-size: 85%;
	font-weight: inherit;
}

dfn
{
	font-weight: bold;
}

strong
{
	color: rgb(173,24,40);
	font-weight: bold;
}

strong.big_number
{
	display : block ;
	color: rgb(0,66,120);
	font-weight: bold;
	font-size : 200% ;
	font-family : serif ;
}

strong.question
{
	display : block ;
	color: rgb(0,66,120);
	font-weight: bold;
	font-size : 200% ;
	font-family : serif ;
}

strong.answer
{
	display : block ;
	padding-top : 0.25em ;
	color: rgb(143,175,41);
	font-weight: bold;
	font-size : 240% ;
	font-family : serif ;
	border-top : 1px dotted rgb(0,66,120);
}

.new
{
	display : inline-block ;
	padding : 0.2em 0.5em 0.1em 0.5em ;
	margin-right : 0.5em ;
	color : rgb(255,255,255) ;
	background-color : rgb(143,175,41) ;
	border-radius : 4px ;
}

/* 表示しない */
.non_title
{
	display: none;
}

/* 氏名 */
.agent_name
{
	font-size: 120%;
}

/* 中黒 320.cssのみ表示*/
.silent
{
	display: none;
}

.read
{
	font-size: 140%;
	font-weight: bold;
	color: rgb(80,80,80);
}

.synonym
{
	font-size: 85%;
}

/* 回り込み */
.fll
{
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1em;
}

.flr
{
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1em;
}

.fll img,
.flr img
{
	vertical-align: top;
}

/* 両端揃え */
.fll_between
{
	float: left;
}

.flr_between
{
	float: right;
}

.fll_between,
.flr_between
{
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 0;
}

.fll_between img,
.flr_between img
{
	display: block;
}

/* テキスト段落揃え */
.center
{
	text-align: center;
}

.right
{
	text-align: right;
}

.left
{
	text-align: left;
}

/* 段落テキスト文字サイズ */
.resize120
{
	font-size: 116%;
}

/* ボーダー指定 */
.border
{
	border: 1px solid rgb(200,200,200);
}

/* マージントップゼロ */
.topzero
{
	margin-top: 0;
}

/* インラインブロック化 */
.part_block
{
	display: inline-block;
	margin-left: 1em;
}

/* （）をインラインブロック化 */
.brackets
{
	display: inline-block;
}

/* ブロック化 */
/* 隙間なしイメージたて並び */
div.photo_part img,
.block
{
	display: block;
}

/* コラム、キャプション */
.column
{
	color: rgb(111,67,50);
	display: block;
	position: relative;
	padding: 1em 0.8em 0 0.8em;
	margin: 52px 0 0.8em 0;
	font-size: 90%;
	background-color: rgb(255,250,225);
	border: 2px solid rgb(0,66,120);
	border-radius: 8px;
}

.column::before
{
	content: "";
	display: block;
	width: 48px;
	height: 48px;
	position: absolute;
	top: -40px;
	left: calc(50% - 26px);
	background-color: rgb(255,250,225);
	background-image: url(/Images/memo_column.svg);
	background-size: 48px 48px;
	background-repeat: no-repeat;
	background-position: center center;
	border: 2px solid rgb(0,66,120);
	border-radius: 26px;
}

body.cooking .column::before
{
	background-color: rgb(255,246,218);
	background-image: url(/Images/memo.svg);
	border: 2px solid rgb(84,131,87);
}

.caption
{
	display: block;
	margin: 0.4em 0 0 0;
}

/* 著作者表示 */
address
{
	text-align: right;
}

img.cover
{
	width: 100%;
}

/* リード文 */
.lead_sentence
{
	margin-bottom: 3.2em;
}

/* アンカーの疑似クラス（共通） */

a:link,
a:visited {
	color: rgb(0,66,120);
	text-decoration: none;
	transition: 0.5s;
}

a:hover {
	color: rgb(143,175,41);
	text-decoration: none;
	transition: 0.5s;
}

a:active {
	color: rgb(24,119,242);
	text-decoration: none;
	transition: 0.5s;
}

/* 電話番号リンク */
main a[href^="tel:"]
{
	color: rgb(117,76,36);
}

/* テーブル 共通 */
/* テーブル */
table
{
	width: 100%;
	margin-bottom: 1em;
	border-collapse: collapse;
}

table tr td,
table tr th
{
	vertical-align: middle;
}

table tr th
{
	padding: 0.5em;
	font-weight: bold;
	text-align: center;
}

table tr td
{
	text-align: left;
	padding: 0.5em;
}

/* テーブル（仕様表・左側見出し） */
table.specification
{
	width: calc(100% - 2px);
	max-width: 100%;
}

table.specification tr td
{
	padding: 1em;
	border: 1px solid rgb(0,110,226);
}

table.specification tr th
{
	padding: 1em;
	color : rgb(240,240,242) ;
	border: 1px solid rgb(240,240,242);
	border-right: 1px solid rgb(0,110,226);
	border-left: 1px solid rgb(0,110,226);
	background-color: rgb(0,110,226);
}

table.specification tr:first-child th
{
	border-top: 1px solid rgb(0,110,226);
}

table.specification tr:last-child th
{
	border-bottom: 1px solid rgb(0,110,226);
}

table.specification tr th:first-child,
table.specification tr td:first-child
{
}

table.specification tr th:last-child,
table.specification tr td:last-child
{
}

table.specification tr:nth-child(odd) 
{
	background-color: rgb(252,252,253);
}

table.specification tr:nth-child(even) 
{
	background-color: rgb(252,252,253);
}

table tr td.ride,
table tr th.ride
{
	text-align: left;
}

/* 一行太字 */
table tr.maincolumn td
{
	font-weight: bold;
}

/* 時刻表タイプ */
table.timetable
{
	font-size: 14px;
}

table.timetable tr td
{
	text-align: center;
}

table.timetable tr td:first-child
{
	text-align: left;
}

/* 料金表タイプ */
table tbody.price tr td,
table tr td.price,
table tr th.price,
table tr.total th
{
	text-align: right;
}

/* テーブル類幅規制 */
table tr td.wid1,
table tr th.wid1
{
	width: 1em;
}

table tr td.wid2,
table tr th.wid2
{
	width: 2em;
}

table tr td.wid3,
table tr th.wid3
{
	width: 3em;
}

table tr td.wid4,
table tr th.wid4
{
	width: 4em;
}

table tr td.wid5,
table tr th.wid5
{
	width: 5em;
}

.tw6,
table tr td.wid6,
table tr th.wid6
{
	width: 6em;
}

table tr td.wid7,
table tr th.wid7
{
	width: 7em;
}

table tr td.wid8,
table tr th.wid8
{
	width: 8em;
}

table tr td.wid9,
table tr th.wid9
{
	width: 9em;
}

table tr td.wid10,
table tr th.wid10
{
	width: 10em;
}

table tr td.wid11,
table tr th.wid11
{
	width: 11em;
}

table tr td.wid12,
table tr th.wid12
{
	width: 12em;
}

table tr td.wid13,
table tr th.wid13
{
	width: 13em;
}

table tr td.wid14,
table tr th.wid14
{
	width: 14em;
}

table tr td.wid15,
table tr th.wid15
{
	width: 15em;
}

table tr td.wid16,
table tr th.wid16
{
	width: 16em;
}

table tr td.wid48percent,
table tr th.wid48percent
{
	width: 45%;
}

/* 会社案内 */
table.overview tr td,
table.overview tr th
{
	vertical-align: top;
}

table.overview tr td:nth-child(1)
{
	padding-left: 0;
}

table.overview tr td:nth-child(2)
{
	padding-right: 0;
}


table tr:nth-child(odd)
{
}

table tr:nth-child(even)
{
}

table tr:hover td,
table tr:hover th
{
}

table tr:hover th
{
}

/* option */
option
{
	color: rgb(80,80,80);
}

optgroup
{
	color: rgb(60,60,60);
}

/* テーブル メールフォーム用は、mailform.cssを参照 */

/* 本文中アンカー */
div.passage a:link,
div.passage a:visited
{
	color: rgb(0,104,55);
	text-decoration: underline;
}

div.passage a:hover
{
	text-decoration: underline;
}

div.passage a:active
{
	text-decoration: none;
}

/* まるごとアンカー */
div.passage a.block:link,
div.passage a.block:visited,
div.passage a.block:hover
{
	color: inherit;
	text-decoration : none ;
}

div.passage a.block:hover
{
	background-color: rgb(224,227,242);
}

a.block p.anchor
{
	position: relative;
	margin-bottom: 0;
}

a.block p.anchor::before
{
	content: "➔";
	display : block ;
	padding : 2px 10px;
	font-size : 32px ;
	color: rgb(0,110,226);
	position : absolute ;
	top: 10px;
	right: 10px;
	background-color: rgba(252,252,255,0.6);
	border: 2px solid rgb(0,110,226);
	transition: 0.5s;
}

a.block:hover p.anchor::before
{
	background-color: rgba(224,227,242,1);
	transition: 0.5s;
}

/* アンカー MAP付 */
a.map:after
{
	content: "MAP";
	font-size: 60%;
	padding: 2px 2px 0 2px;
	margin-left: 5px;
	color: rgb(0,104,55);
	border: 1px solid rgb(0,104,55);
	border-radius: 2px;
	vertical-align: 1px;
}

a.map:hover:after
{
	color: rgb(193,39,45);
	text-decoration: none !important;
	border: 1px solid rgb(193,39,45);
}

/* Google Map 関係 */
div.googlemap
{
	width: 100%;
	margin: 0 auto 1em auto;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
}

div.googlemap iframe
{
	display: block;
	width: 100%;
	border-radius: 6px;
}

div.gogoogle
{
	text-align: center;
	padding: 0;
	margin-top: 6px;
	margin-bottom: 8px;
}

a.mapbutton,
a.mapbutton_next,
a.mapbutton_prev
{
	display: inline-block;
	height: 16px;
	width: auto;
	padding: 4px 2em 4px 2em;
	margin: 0.5em auto 0 auto;
	font-size: 16px;
	text-align: center;
	line-height: 16px;
	text-decoration: none !important;
	font-weight: bold;
	color: rgb(255,255,255) !important;
	background-color: rgb(160,160,160);
	border-radius: 16px;
	border: 1px solid rgb(160,160,160);
	overflow: hidden;
	transition: 0.7s;
}

a.mapbutton_next,
a.mapbutton_prev
{
	width: 16px;
	padding: 8px 8px 8px 8px;
}

a.mapbutton:hover,
a.mapbutton_next:hover,
a.mapbutton_prev:hover
{
	color: rgb(255,255,255) !important;
	background-color: rgb(0,104,55);
	border: 1px solid rgb(0,104,55);
	transition: 0.7s;
}

/* リスト マーク有ったり無かったり */
ul.marks,
ol.marks,
ul.non_mmarks
{
	margin-bottom: 0.8em;
/*	padding-left: 1em;*/
}

ul.non_mmarks
{
}

ul.marks li,
ol.marks li
{
	margin-left: 1.2em;
	margin-bottom: 1em;
	list-style-position: outside;
	text-align: justify;
}

ul.non_mmarks li
{
	margin-bottom: 0.3em;
}

ul.marks li
{
	list-style-type: disc;
}

ul.marks li ul li
{
	list-style-type: circle;
}

ol.marks li
{
	list-style-type: decimal;
}

ol.alph li
{
	list-style-type: upper-latin;
}

ol.alph li ol.alph li
{
	list-style-type: lower-latin;
}

/* 定義リスト */
div.section dl
{
	margin-top: 1em;
	margin-bottom: 1em;
}

div.section dl.mailform
{
	margin-top: 0;
	margin-bottom: 1em;
}

div.section dl.column_list
{
	padding: 1em 10px 1px 10px;
	background-color: rgb(240,240,240);
	border-radius: 4px;
	margin-bottom: 1em;
}

div.section dl dt
{
	font-weight: bold;
	margin-bottom: 0.5em;
}

div.section dl.column_list dt
{
	padding-bottom: 0.4em;
	border-bottom: 2px dotted rgb(50,100,160);
}

div.section dl.column_list dt.flr,
div.section dl.column_list dt.fll
{
	border-style: none;
	width: 120px;
	padding-bottom: 0;
	margin-bottom: 0.2em;
}

div.section dl dd
{
	margin-bottom: 1em;
}

div.section dl.column_list dd p
{
	margin-bottom: 0.5em;
}

div.section dl.column_list dd p.top_border
{
	padding-top: 0.4em;
	border-top: 2px dotted rgb(50,100,160);
}

div.section dl.column_list dd p.bottom_border
{
	padding-bottom: 0.4em;
	border-bottom: 2px dotted rgb(50,100,160);
}

div.section dl.column_list dd p.bottom_border:after
{
	content: "";
	clear: both;
	display: block;
}


/* テーブルスイッチ（切替） */
.table-switch
{
	background-image: url(/Images/line_120.png);
	background-position: bottom center;
	background-repeat: repeat-x;
}

.table-switch img
{
	vertical-align: bottom;
}

/* リンクボタン */
.lnkbtn
{
	text-align: center;
	font-weight: bold;
}

div.passage .lnkbtn a
{
	display: block;
	padding : 2em 0;
	margin: 0 1em;
	font-size : 120% ;
	text-decoration : none ;
	color : rgb(255,255,255) ;
	background-color: rgb(0,110,226);
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
}

div.passage .lnkbtn a:hover
{
	background-color: rgb(27,61,176);
}

/* お問合せブロック */
.entry_block
{
}

.entry_block p
{
	margin: 0;
	padding: 0;
}

.entry_block p a
{
	display: block;
	margin:0;
	padding: 1em;
	font-size: 160%;
	font-weight: bold;
	text-align: center;
	background-color: rgb(240,240,240);
	border: 4px solid rgb(200,200,200);
	border-radius: 10px;
	transition: 0.7s;
}

.entry_block p a:hover
{
	background-color: rgb(220,220,220);
	border: 4px solid rgb(160,160,160);
	border-radius: 10px;
	transition: 0.7s;
}

/* 詳細ボタン */
a.link-detail-button
{
	display: block;
	width: 120px;
	height: 0;
	padding-top: 48px;
	background-color: transparent;
	background-image: url(/Images/link-detail-button.svg);
	background-size: 100% auto;
	background-position: top left;
	background-repeat: no-repeat;
	border-radius: 24px;
	overflow: hidden;
}

a.link-detail-button:hover
{
	background-position: bottom left;
}

.ImgThumbs li img
{
	cursor: pointer;
}

/* 影つき */
.shadow
{
	box-shadow: 2px 2px 3px 3px rgba(80,80,80,0.4);
}

/* 画像 */
.passage img
{
	max-width: 100%;
	height: auto;
}

img.banner
{
	display: block;
}

/* 動画 */
.movie,
.movie video
{
	display: block;
	width: 100%;
	height: auto;
}

div.movie
{
	margin-top: 0;
	margin-bottom: 0;
}

.non_bg
{
	background-image: none !important;
}

/* 区切りブロック ライン付き */
div.area_block
{
	border-bottom : 1px solid rgb(160,160,162);
	padding-bottom : 0.2em;
}

div.area_block.roof
{
	border-top : 1px solid rgb(160,160,162);
}

div.area_block.nontitle
{
	padding : 1.2em 0 0.4em 0;
}