@charset "utf-8";

/* ============================================================
  全ページ共通CSS
============================================================ */
/* ----------------------------------------------------------
  ★ CSS内は固定文字以外％指定中 ★
  ★ デフォルトは13px(100％)をbodyに指定 ★
  10px → 77%     |    11px → 85%     |    12px → 93%
  13px → 100%    |    14px → 108%    |    15px → 116%
  16px → 123%    |    17px → 131%    |    18px → 139%
  19px → 147%    |    20px → 154%    |    21px → 162%
  22px → 167%    |    23px → 174%    |    24px → 182%
  25px → 189%    |    26px → 197%
---------------------------------------------------------- */
/* ----------------------------------------------------------
  ＠media＿小：～600
    @media screen and (max-width:600px)
  ＠media＿中大：601～
    @media screen and (min-width:601px)
  ＠media＿小中：～1100
    @media screen and (max-width:1100px)
  ＠media＿中：601～1100
    @media screen and (max-width:1100px) and (min-width:601px)
  ＠media＿大：1101～
    @media screen and (min-width:1101px)
---------------------------------------------------------- */

/* =========================================================
  初期設定
========================================================= */
/* --------------------------------------
  ページ
-------------------------------------- */
html,body { margin:0; padding:0; }
html { overflow-y:scroll; }

body {
  font:13px/1.5 "Noto Sans Japanese","游ゴシック","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Arial,Verdana,sans-serif;
  *font-size:small;
  *font:x-small;
  color:#333; word-wrap:break-word; text-align:left;
  width:100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  background-color:#38D;
  background-image:url("/landmark/inquiry/common/images/bg_body.jpg");
  background-repeat:repeat-x;
  background-position:bottom left;
  background-attachment:fixed;
  -webkit-background-size:contain;
  -moz-background-size:contain;
  -o-background-size:contain;
  background-size:contain;
}

/*＠media＿小：～600 */
@media screen and (max-width:600px) {
  body * { font-size:116%; }
  body * * { font-size:100%; }
}
/* ＠media＿中大：601～ */
@media screen and (min-width:601px) {
  body * { font-size:123%; }
  body * * { font-size:100%; }
}

/* --------------------------------------
  詳細
-------------------------------------- */
/* ---------------------
  文字・段落
--------------------- */
/* 文字選択 */
::selection { background:rgba(255,245,204,0.8); }
::-moz-selection { background:rgba(255,245,204,0.8); }
form ::selection  { background:rgba(51,136,221,0.8); color: #FFF; }
form ::-moz-selection { background:rgba(51,136,221,0.8); color: #FFF; }

/* テキスト装飾 */
b,em,strong,.bold { font-style:normal; font-weight:bold; }
.del { text-decoration:line-through; }
strong { color:#C00; }
sub,sup { font-size:77%; vertical-align:baseline; }
.fw_normal { font-weight:normal; }
.marker { background:linear-gradient(transparent 60%, #FE5 60%); }

/* フォントサイズ */
.fs10 { font-size:77%; }
.fs11 { font-size:85%; }
.fs12 { font-size:93%; }
.fs14 { font-size:108%; }
.fs15 { font-size:116%; }
.fs16 { font-size:123%; }
.fs17 { font-size:131%; }
.fs18 { font-size:139%; }
.fs19 { font-size:147%; }
.fs20 { font-size:154%; }
.fs21 { font-size:162%; }
.fs22 { font-size:167%; }
.fs23 { font-size:174%; }
.fs24 { font-size:182%; }
.fs25 { font-size:189%; }
.fs26 { font-size:197%; }

/* フォントカラー */
.fc_white { color:#FFF; }
.fc_red { color:#C00; }
.fc_pink { color:#F69; }
.fc_orange { color:#F74; }
.fc_green { color:#396; }
.fc_blue { color:#55C; }
.fc_brawn { color:#960; }
.fc_purple { color:#939; }
.fc_gray { color:#888; }
.fc_black { color:#444; }

/* 背景カラー */
.bg_yellow { background:#FFC; }
.bg_pink { background:#FDD; }
.bg_blue { background:#CEF; }
.bg_green { background:#DEC; }

/* テキスト寄せ */
.txt_c { text-align:center !important; }
.txt_r { text-align:right !important; }
.txt_l { text-align:left !important; }
.ver_t { vertical-align:top !important; }
.ver_m { vertical-align:middle !important; }
.ver_b { vertical-align:bottom !important; }

/* リンク */
a {
  color:#09E; text-decoration:underline;
  outline:none !important; cursor:pointer;
  transition:color 0.3s;
}
a:hover { color:#F95; }

img.opa:hover,
.opa:hover img { opacity:0.7; }

/* ---------------------
  記号リスト
--------------------- */
/* 通常・共通 */
ul { list-style:square outside; padding-left:1.5em; }
ul li ul { list-style:circle; }
/* アイコン付き共通 */
ul[class*="icon-"] { list-style:none; padding-left:0; }
ul[class*="icon-"] li:before { padding-right:0.5em; }
/* ※印 */
ul.icon-kome li:before { content:"※"; }
ul.icon-kome li { padding-left:1.5em; text-indent:-1.5em; }
/* 矢印 */
ul.icon-arrow li:before { content:"\00bb"; }
ul.icon-arrow li { padding-left:0.9em; text-indent:-0.9em; }
/* 矢印(ウェブフォント) */
ul.icon-fontarrow1 li:before { content:"\e903"; }
ul.icon-fontarrow2 li:before { content:"\e902"; }
ul[class*="fontarrow"] li:before { font-size:77%; }
ul[class*="fontarrow"] li { padding-left:1.2em; text-indent:-1.2em; }
/* インライン */
ul.inline { padding:0; margin:0; list-style:none; }
ul.inline li { display:inline; }
/* インライン＋仕切り */
ul.inline.split li:before { content:"｜"; padding-right:0.5em; }
ul.inline.split li:first-child:before { content:""; padding-right:0; }

/* ---------------------
  数字リスト
--------------------- */
ol { list-style-type:decimal-leading-zero; padding-left:2.3em; }

/* ---------------------
  定義リスト
--------------------- */
dl dt { font-weight:bold; }
dl dt,
dl dd { margin:0; padding:0; }

/* 2カラム */
dl.c2 { overflow:hidden; padding:0; }

/* ＠media＿中大：601～ */
@media screen and (min-width:601px) {
  dl.c2 > dt,
  dl.c2 > dd { float:left; }
  dl.c2 > dt:not(:last-of-type),
  dl.c2 > dd:not(:last-of-type) { margin-bottom:0.8em; }
  dl.c2 { margin:0 auto; padding:0; width:100%; }
  dl.c2 > dt { clear:both; }
  dl.c2 > dt { width:25%; margin-right:1%; }
  dl.c2 > dd { width:74%; }
  /* 区切り付き */
  dl.c2.colon > dd:before {
    content:"："; display:block; float:left;
    margin-left:-1.4em;
  }
}
/* ＠media＿小：～600 */
@media screen and (max-width:600px) {
  dl.c2 > dd + dt { margin-top:0.5em; padding-top:0.5em; border-top:1px dashed #999; }
  /* 区切り付き */
  dl.c2.colon > dt:after { content:"："; }
  dl.c2.colon > dd { padding-left:1em; padding-right:1em; }
}

/* 2カラム入れ子 */
dl.c2 dd > dl.c2 dt { font-weight:normal; }
dl.c2 dd > dl.c2 dd {  }

/*	＠media＿大：1101～ */
@media screen and (min-width:1101px) {
  dl.c2 dd > dl.c2 dt,
  dl.c2 dd > dl.c2 dd { margin-bottom:0.5em; }
  dl.c2 dd > dl.c2 dt { width:9em; margin-right:0; }
  dl.c2 dd > dl.c2 dd {
    width:-webkit-calc(100% - 9em);
    width:calc(100% - 9em);
    border-bottom:1px;
  }
}
/* ＠media＿小中：～1100 */
@media screen and (max-width:1100px) {
  dl.c2 dd > dl.c2 dt,
  dl.c2 dd > dl.c2 dd { float:none; width:100%; }
  dl.c2 dd > dl.c2 dt { margin-bottom:0; }
  dl.c2 dd > dl.c2 dt:before { content:"["; }
  dl.c2 dd > dl.c2 dt:after { content:"]"; }
}

/* ---------------------
  リスト系統共通
--------------------- */
ul,ol,dl { margin:0 auto; }

ul.li-none,
ul li.li-none,
ul li.li-none:before {
  list-style:none; padding:0; margin:0;
  content:""; text-indent:0;
}

/* ---------------------
  テーブル
--------------------- */
table {
  width:100%; margin:0 auto 5px;
  table-layout:auto; border-collapse:collapse;
}
table th,
table caption,
table td { padding:5px; }

table,
table td { border:1px solid #333; }

table th {
  background:#EEE; text-align:left;
  border-bottom:1px dashed #999;
}

/* ---------------------
  フロート
--------------------- */
.flo_l { float:left; }
.flo_r { float:right; }
.clear { clear:both; }
.clearfix:after {
  content:""; display:block; clear:both;
  height:0; visibility:hidden;
}

/* ---------------------
  ブロック
--------------------- */
/* 表示 */
.dis_block { display:block; }
.dis_none { display:none; }
.vis_none { visibility:hidden; }
/* 余白 */
.pb { padding-bottom:1em; }
.mb { margin-bottom:1em; }

/* ---------------------
  画像
--------------------- */
img { max-width:100%; }

/* ---------------------
  区切り線
--------------------- */
hr {
  margin:10px 0; height:0; border:0;
  font-size:0; line-height:0;
}

.secbox hr { border-bottom:1px dashed #27C; }

#wrap > hr,
#main > hr {
  border-top:1px solid rgba(0,0,0,0.3);
  border-bottom:1px solid rgba(0,255,255,0.3);
}

/* ---------------------
  枠線・背景ボックス
--------------------- */
.box { padding:10px; }

/* 枠線 */
.box.bd { border:3px double #FFF; }
.box.bd.red { border-color:#C00; }
.box.bd.orange { border-color:#F95; }

/* ---------------------
  ボタン
--------------------- */
a.btn {
  display:inline-block; padding:0.5em 1em; margin-bottom:0.5em;
  text-align:center; text-decoration:none;
  border-radius:5px;
  -moz-user-select:none;
  -webkit-user-select:none;
  -ms-user-select:none;
  user-select:none;
  color:#FFF; background-color:#999;
  box-shadow:0 5px 0 #666, 0 10px 0 rgba(0,0,0,0.2);
  -webkit-transition:color 0.3s, background-color 0.3s, box-shadow 0.3s, -webkit-transform 0.3s;
  transition:color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
a.btn:hover {
  background-color:#666;
  box-shadow:0 3px 0 #000, 0 6px 0px rgba(0,0,0,0.2);
  -webkit-transform:translateY(3px);
  transform:translateY(3px);
}
a.btn:active {
  color:#999;
  background-color:#000;
  box-shadow:0 0 0 #000, 0 0 0px rgba(0,0,0,0.2);
  -webkit-transform:translateY(6px);
  transform:translateY(6px);
  transition-duration:0.1s;
}

/* ---------------------
  カラムボックス
--------------------- */
/* 各共通 */
[class*="block_c"] { overflow:hidden; }
[class*="block_c"] div.itembox .phbox img {
  width:100%; display:block;
  border:1px solid #CCC; box-sizing:border-box;
}

[class*="block_c"] div.itembox,
[class*="block_c"] div.itembox .txtbox { height:auto; }
  .block_c1 div.itembox .phbox img { width:100%; height:100%; }

/* ＠media＿中大：601～ */
@media screen and (min-width:601px) {
  /* 各共通 */
  .block_c1 div.itembox:nth-child(n+2),
  .block_c2 div.itembox:nth-child(n+3),
  .block_c3 div.itembox:nth-child(n+4) { margin-top:1em; }

  /* 1カラム */
  .block_c1 div.itembox { width:100%; }
  .block_c1 div.itembox .phbox { width:35%; float:left; }
  .block_c1 div.itembox .txtbox { width:64%; float:right; }

  /* 2カラム */
  .block_c2 div.itembox { width:49%; }
  .block_c2 div.itembox:nth-of-type(2n+1) { float:left; clear:both; }
  .block_c2 div.itembox:nth-of-type(2n) { float:right; }

  /* 3カラム */
  .block_c3 div.itembox { width:32%; }
  .block_c3 div.itembox:nth-of-type(3n+1),
  .block_c3 div.itembox:nth-of-type(3n+2) { float:left; margin-right:2%; }
  .block_c3 div.itembox:nth-of-type(3n+1) { clear:both; }
  .block_c3 div.itembox:nth-of-type(3n) { float:right; }
}

/* ＠media＿小：～600 */
@media screen and (max-width:600px) {
  /* 各共通 */
  [class*="block_c"] div.itembox { margin-top:1em; }
}

/* jqueryコンテンツ非表示 */
body > span[style*="visibility"],
body > div[style*="visibility"] {
  width:0; height:0; overflow:hidden;
}


/* =========================================================
  コンテナ
========================================================= */
#wrap {
  max-width:980px; width:95%; margin:0 auto;
  overflow:hidden;
}

/* =========================================================
  header
========================================================= */
#header * { box-sizing: border-box; }
#header { padding:1em 0 0.5em; font-size: 0.85em; }
#header > * { font-size: 100%; }
#header a { text-decoration:none; color:#FFF; }

/* 横並び */
#header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}
#header > h1 { max-width:700px; margin: 0 auto 0 0; }
#header > ul { width:15em; text-align:center; margin: 0 0 0 auto; }

/* gtopリンク */
#header > ul li,
#header > ul li a { display:block; width:100%; }
#header > ul li a { padding:0.5em 0; }
#header > ul li a:hover { text-shadow:0 0 5px #0FF; }
#header ul li i { padding-right:1em; font-size:77%; }
#header ul li a:hover i { padding-left:0.3em; padding-right:0.7em; }

/* =========================================================
  nav
========================================================= */
#nav > ul,
#nav > ul * { box-sizing: border-box; margin: 0; padding: 0; }
#nav > ul img { display: inline-block; margin-right: 5px; }

#nav > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  margin: 0;
}
#nav > ul > li { margin-bottom: 5px; }

/* 横並びするかどうか */
body#index #nav > ul > li { width: 100%; }
@media screen and (min-width:771px) {
  body:not(#index) #nav > ul > li:first-child { width: 50%; }
  body:not(#index) #nav > ul > li:not(:first-child) { width: calc(50% / 2 - 5px); }
}
@media screen and (max-width:770px) {
  body:not(#index) #nav > ul > li:first-child { width: 100%; }
  body:not(#index) #nav > ul > li:not(:first-child) { width: calc(100% / 2 - 5px); }
}
@media screen and (max-width:350px) { body:not(#index) #nav > ul > li { width: 100%; } }

/* 中身をstretchに */
#nav > ul > li {
  display: flex;
  align-items: stretch;
  border:1px solid #FFF;
  background:url("/landmark/inquiry/common/images/bg_nav.png") rgba(255,255,255,0.7);
  color: #444;
}
#nav > ul li a:hover,
#nav > ul li a.active {
  background:url("/landmark/inquiry/common/images/bg_hover.png") right center no-repeat;
}

#nav > ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: inherit;
  width:100%; padding:0.5em;
  text-decoration:none; text-align:center;
  font-weight:bold;
  word-wrap: normal;
}


/* =========================================================
  footer
========================================================= */
#footer { padding-top:1em; }

/* フッター共通 */
#footer h2 {
  width:100%; background:rgba(0,0,0,0.7);
  color:#FFF; text-align:center;
  padding:0.5em 0;
}
#footer h2 img { display:block; margin:0 auto; }


/* インデックスのみ */
body#index #footer #fban_box {
  max-width:980px; width:100%; margin:0 auto 0.5em;
  text-align:right;
}
body#index #footer #fban_box li {
  display:inline-block;
  margin-left:0.5em; height:100%;
}
body#index #footer #fban_box li a {
  box-sizing:border-box; width:100%; padding:0.5em;
  display:inline-block; text-align:left; vertical-align:bottom;
  text-decoration:none;
  border:1px solid rgba(255,255,255,0.7);
}

.sakura_link { background:rgba(255,200,200,0.8); }
.sakura_link, .sakura_link *, .sakura_link :hover { color:#900; }

.group_link { background:rgba(31,1,89,0.8); }
.group_link, .group_link *, .group_link :hover { color:#FFF; }


/* ＠media＿小：～600 */
@media screen and (max-width:600px) {
  #footer #fban_box li:not(:last-child) { margin-bottom:0.3em; }
}

/* =========================================================
  main
========================================================= */
body:not(#index) #main { margin:1em 0; }

/* ---------------------
  common_block
--------------------- */
section + section,
.secbox + .secbox { margin-top:2em; }
.conbox + .conbox { margin-top:1em; }

.secbox { background:rgba(255,255,255,0.8); }
.secbox:not(.pad-none) { padding:15px; }

/* ---------------------
  見出し
--------------------- */
.tit { margin-bottom:0.3em; }
/* H2 */
h2.tit {
  position:relative;
  padding-bottom:0.3em; border-bottom:4px solid #000;
  font-size:154%;
}
h2.tit::after {
  position:absolute; bottom:-4px; left:0; z-index:2;
  content:''; width:20%; height:4px;
  background-color:#F95;
}
/*
h2.tit:before { content:"\e900"; padding-right:0.5em; color:#F95; }
*/
h2.tit:before { content:url('../images/logo.png'); padding-right:0.5em; }

/* H3 */
h3.tit {
  padding:0.2em 0;
  border-bottom:1px dashed #666;
}
/* H4 */
h4.tit:before { content:"["; padding-right:0.2em; }
h4.tit:after { content:"]"; padding-left:0.2em; }

