@charset "UTF-8";
/* ------------------------------------------------------------------------------------------ 
base
------------------------------------------------------------------------------------------ */
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *		user zoom.
 */
html {
  font-size: 62.5%;
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/**
 * Remove default margin.
 */
body {
  padding: 0;
  margin: 0;
}
h1, h2, h3, h4, h5, h6, p, ul, ol, dl, table, pre {
  font-size: 100%;
  margin-top: 0;
  margin-bottom: 0;
}
/* 禁則処理の追加（句読点や小さい「っ」などの文字が行頭にこないようにする処理） */
p, li, dt, dd, th, td, pre {
  -ms-line-break: strict;
  line-break: strict;
  -ms-word-break: break-strict;
  word-break: break-strict;
}
/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
  display: block;
}
/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio, canvas, progress, video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden], template {
  display: none;
}
/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
}
/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active, a:hover {
  outline: 0;
}
/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b, strong {
  font-weight: bold;
}
/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
/* h1 {
	font-size: 2em;
	margin: 0.67em 0;
} */
/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
  max-width: 100%;
  vertical-align: middle;
}
/* IE8 max-width バグへの対応 */
/* .ie8 img { width: auto; height: auto; } */
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}
/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}
/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *		Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button, input, optgroup, select, textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button, select {
  text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *		and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *		`input` and others.
 */
button, html input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled], html input[disabled] {
  cursor: default;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}
/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *		(include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}
/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}
/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td, th {
  padding: 0;
}
/*--- typography ---*/
@font-face {
  font-family: "YuGothic M";
  src: local("Yu Gothic Medium");
}
/*---------------------------------------------------------------------
	base
---------------------------------------------------------------------*/
*, *::before, *::after {
  box-sizing: border-box;
}
/* body */
body {
  max-width: 100%;
  max-height: 100%;
  text-align: center;
  font-size: 1.4rem;
  font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  *font-size: small;
  *font: x-small;
  line-height: 1.8;
  color: #2C2A2C;
}
/* float clear class */
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}
/* micro clearfix  */
/* .cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
} */
ul, ol {
  padding: 0;
  margin: 0;
  list-style: none;
}
dl dt, dl dd {
  padding: 0;
  margin: 0;
}
img {
  max-width: 100%;
  height: auto !important;
}
/*---------------------------------------------------------------------
	a href color
---------------------------------------------------------------------*/
a {
  text-decoration: underline;
}
a:link {
  color: #002cb2;
}
a:hover {
  color: #8c008c;
}
a:visited {
  color: #555;
}
.sp_none {
  display: none;
}
/*---------------------------------------------------------------------
	ul ol
---------------------------------------------------------------------*/
.list_decimal {
  list-style-type: decimal;
  padding-left: 25px;
}
.list_disc {
  list-style-type: disc;
  padding-left: 25px;
}
/*---------------------------------------------------------------------
	FontWeight = fw
---------------------------------------------------------------------*/
.fwb {
  font-weight: bold !important;
}
/*---------------------------------------------------------------------
	TextAlign = ta 
---------------------------------------------------------------------*/
.tal {
  text-align: left !important;
}
.tac {
  text-align: center !important;
}
.tar {
  text-align: right !important;
}
/*---------------------------------------------------------------------
	FontSize = fs
	Relative FontSize = fsr
---------------------------------------------------------------------*/
.fsr10 {
  font-size: 77% !important;
}
.fsr11 {
  font-size: 85% !important;
}
.fsr12 {
  font-size: 93% !important;
}
.fsr13 {
  font-size: 100% !important;
}
.fsr14 {
  font-size: 107% !important;
}
.fsr15 {
  font-size: 114% !important;
}
.fsr16 {
  font-size: 122% !important;
}
.fsr17 {
  font-size: 129% !important;
}
.fsr18 {
  font-size: 136% !important;
}
.fsr19 {
  font-size: 144% !important;
}
.fsr20 {
  font-size: 152% !important;
}
.fsr21 {
  font-size: 159% !important;
}
.fsr22 {
  font-size: 167% !important;
}
.fsr23 {
  font-size: 174% !important;
}
.fsr24 {
  font-size: 184% !important;
}
.fsr25 {
  font-size: 189% !important;
}
.fsr26 {
  font-size: 197% !important;
}
/*---------------------------------------------------------------------
	Padding = pd
---------------------------------------------------------------------*/
/*--- Padding = pd ---*/
/* Padding (top + right + bottom + left) = pd */
.pd2 {
  padding: 2px !important;
}
.pd5 {
  padding: 5px !important;
}
.pd8 {
  padding: 8px !important;
}
.pd10 {
  padding: 10px !important;
}
.pd15 {
  padding: 15px !important;
}
.pd20 {
  padding: 20px !important;
}
.pd25 {
  padding: 25px !important;
}
.pd30 {
  padding: 30px !important;
}
.pd35 {
  padding: 35px !important;
}
.pd40 {
  padding: 40px !important;
}
.pd45 {
  padding: 45px !important;
}
.pd50 {
  padding: 50px !important;
}
.pd55 {
  padding: 55px !important;
}
.pd60 {
  padding: 60px !important;
}
/* Padding (top + bottom) = pdtb */
.pdtb5 {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}
.pdtb10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.pdtb15 {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}
.pdtb20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}
.pdtb25 {
  padding-top: 25px !important;
  padding-bottom: 25px !important;
}
.pdtb30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}
.pdtb35 {
  padding-top: 35px !important;
  padding-bottom: 35px !important;
}
.pdtb40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
.pdtb45 {
  padding-top: 45px !important;
  padding-bottom: 45px !important;
}
.pdtb50 {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}
.pdtb55 {
  padding-top: 55px !important;
  padding-bottom: 55px !important;
}
.pdtb60 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}
/* Padding (right + left) = pdrl */
.pdrl5 {
  padding-right: 5px !important;
  padding-left: 5px !important;
}
.pdrl10 {
  padding-right: 10px !important;
  padding-left: 10px !important;
}
.pdrl15 {
  padding-right: 15px !important;
  padding-left: 15px !important;
}
.pdrl20 {
  padding-right: 20px !important;
  padding-left: 20px !important;
}
.pdrl25 {
  padding-right: 25px !important;
  padding-left: 25px !important;
}
.pdrl30 {
  padding-right: 30px !important;
  padding-left: 30px !important;
}
.pdrl35 {
  padding-right: 35px !important;
  padding-left: 35px !important;
}
.pdrl40 {
  padding-right: 40px !important;
  padding-left: 40px !important;
}
.pdrl45 {
  padding-right: 45px !important;
  padding-left: 45px !important;
}
.pdrl50 {
  padding-right: 50px !important;
  padding-left: 50px !important;
}
.pdrl55 {
  padding-right: 55px !important;
  padding-left: 55px !important;
}
.pdrl60 {
  padding-right: 60px !important;
  padding-left: 60px !important;
}
/* Padding (top) = pdt */
.pdt5 {
  padding-top: 5px !important;
}
.pdt10 {
  padding-top: 10px !important;
}
.pdt15 {
  padding-top: 15px !important;
}
.pdt20 {
  padding-top: 20px !important;
}
.pdt25 {
  padding-top: 25px !important;
}
.pdt30 {
  padding-top: 30px !important;
}
.pdt35 {
  padding-top: 35px !important;
}
.pdt40 {
  padding-top: 40px !important;
}
.pdt45 {
  padding-top: 45px !important;
}
.pdt50 {
  padding-top: 50px !important;
}
.pdt55 {
  padding-top: 55px !important;
}
.pdt60 {
  padding-top: 60px !important;
}
/* Padding (right) = pdr */
.pdr5 {
  padding-right: 5px !important;
}
.pdr10 {
  padding-right: 10px !important;
}
.pdr15 {
  padding-right: 15px !important;
}
.pdr20 {
  padding-right: 20px !important;
}
.pdr25 {
  padding-right: 25px !important;
}
.pdr30 {
  padding-right: 30px !important;
}
.pdr35 {
  padding-right: 35px !important;
}
.pdr40 {
  padding-right: 40px !important;
}
.pdr45 {
  padding-right: 45px !important;
}
.pdr50 {
  padding-right: 50px !important;
}
.pdr55 {
  padding-right: 55px !important;
}
.pdr60 {
  padding-right: 60px !important;
}
/* Padding (bottom) = pdb */
.pdb5 {
  padding-bottom: 5px !important;
}
.pdb10 {
  padding-bottom: 10px !important;
}
.pdb15 {
  padding-bottom: 15px !important;
}
.pdb20 {
  padding-bottom: 20px !important;
}
.pdb25 {
  padding-bottom: 25px !important;
}
.pdb30 {
  padding-bottom: 30px !important;
}
.pdb35 {
  padding-bottom: 35px !important;
}
.pdb40 {
  padding-bottom: 40px !important;
}
.pdb45 {
  padding-bottom: 45px !important;
}
.pdb50 {
  padding-bottom: 50px !important;
}
.pdb55 {
  padding-bottom: 55px !important;
}
.pdb60 {
  padding-bottom: 60px !important;
}
/* Padding (left) = pdl */
.pdl5 {
  padding-left: 5px !important;
}
.pdl10 {
  padding-left: 10px !important;
}
.pdl15 {
  padding-left: 15px !important;
}
.pdl20 {
  padding-left: 20px !important;
}
.pdl25 {
  padding-left: 25px !important;
}
.pdl30 {
  padding-left: 30px !important;
}
.pdl35 {
  padding-left: 35px !important;
}
.pdl40 {
  padding-left: 40px !important;
}
.pdl45 {
  padding-left: 45px !important;
}
.pdl50 {
  padding-left: 50px !important;
}
.pdl55 {
  padding-left: 55px !important;
}
.pdl60 {
  padding-left: 60px !important;
}
/*--- Margin = mg ---*/
/* Margin (top + right + bottom + left) = mg */
.mg2 {
  margin: 2px !important;
}
.mg5 {
  margin: 5px !important;
}
.mg8 {
  margin: 8px !important;
}
.mg10 {
  margin: 10px !important;
}
.mg15 {
  margin: 15px !important;
}
.mg20 {
  margin: 20px !important;
}
.mg25 {
  margin: 25px !important;
}
.mg30 {
  margin: 30px !important;
}
.mg35 {
  margin: 35px !important;
}
.mg40 {
  margin: 40px !important;
}
.mg45 {
  margin: 45px !important;
}
.mg50 {
  margin: 50px !important;
}
.mg55 {
  margin: 55px !important;
}
.mg60 {
  margin: 60px !important;
}
/* Margin (top + bottom) = mgtb */
.mgtb5 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}
.mgtb10 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}
.mgtb15 {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}
.mgtb20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}
.mgtb25 {
  margin-top: 25px !important;
  margin-bottom: 25px !important;
}
.mgtb30 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}
.mgtb35 {
  margin-top: 35px !important;
  margin-bottom: 35px !important;
}
.mgtb40 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}
.mgtb45 {
  margin-top: 45px !important;
  margin-bottom: 45px !important;
}
.mgtb50 {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}
.mgtb55 {
  margin-top: 55px !important;
  margin-bottom: 55px !important;
}
.mgtb60 {
  margin-top: 60px !important;
  margin-bottom: 60px !important;
}
.mgtb80 {
  margin-top: 80px !important;
  margin-bottom: 80px !important;
}
/* Margin (right + left) = mgrl */
.mgrl5 {
  margin-right: 5px !important;
  margin-left: 5px !important;
}
.mgrl10 {
  margin-right: 10px !important;
  margin-left: 10px !important;
}
.mgrl15 {
  margin-right: 15px !important;
  margin-left: 15px !important;
}
.mgrl20 {
  margin-right: 20px !important;
  margin-left: 20px !important;
}
.mgrl25 {
  margin-right: 25px !important;
  margin-left: 25px !important;
}
.mgrl30 {
  margin-right: 30px !important;
  margin-left: 30px !important;
}
.mgrl35 {
  margin-right: 35px !important;
  margin-left: 35px !important;
}
.mgrl40 {
  margin-right: 40px !important;
  margin-left: 40px !important;
}
.mgrl45 {
  margin-right: 45px !important;
  margin-left: 45px !important;
}
.mgrl50 {
  margin-right: 50px !important;
  margin-left: 50px !important;
}
.mgrl55 {
  margin-right: 55px !important;
  margin-left: 55px !important;
}
.mgrl60 {
  margin-right: 60px !important;
  margin-left: 60px !important;
}
/* Margin (top) = mgt */
.mgt5 {
  margin-top: 5px !important;
}
.mgt10 {
  margin-top: 10px !important;
}
.mgt15 {
  margin-top: 15px !important;
}
.mgt20 {
  margin-top: 20px !important;
}
.mgt25 {
  margin-top: 25px !important;
}
.mgt30 {
  margin-top: 30px !important;
}
.mgt35 {
  margin-top: 35px !important;
}
.mgt40 {
  margin-top: 40px !important;
}
.mgt45 {
  margin-top: 45px !important;
}
.mgt50 {
  margin-top: 50px !important;
}
.mgt55 {
  margin-top: 55px !important;
}
.mgt60 {
  margin-top: 60px !important;
}
/* Margin (right) = mgr */
.mgr5 {
  margin-right: 5px !important;
}
.mgr10 {
  margin-right: 10px !important;
}
.mgr15 {
  margin-right: 15px !important;
}
.mgr20 {
  margin-right: 20px !important;
}
.mgr25 {
  margin-right: 25px !important;
}
.mgr30 {
  margin-right: 30px !important;
}
.mgr35 {
  margin-right: 35px !important;
}
.mgr40 {
  margin-right: 40px !important;
}
.mgr45 {
  margin-right: 45px !important;
}
.mgr50 {
  margin-right: 50px !important;
}
.mgr55 {
  margin-right: 55px !important;
}
.mgr60 {
  margin-right: 60px !important;
}
.mgr80 {
  margin-right: 80px !important;
}
/* Margin (bottom) = mgb */
.mgb5 {
  margin-bottom: 5px !important;
}
.mgb10 {
  margin-bottom: 10px !important;
}
.mgb15 {
  margin-bottom: 15px !important;
}
.mgb20 {
  margin-bottom: 20px !important;
}
.mgb25 {
  margin-bottom: 25px !important;
}
.mgb30 {
  margin-bottom: 30px !important;
}
.mgb35 {
  margin-bottom: 35px !important;
}
.mgb40 {
  margin-bottom: 40px !important;
}
.mgb45 {
  margin-bottom: 45px !important;
}
.mgb50 {
  margin-bottom: 50px !important;
}
.mgb55 {
  margin-bottom: 55px !important;
}
.mgb60 {
  margin-bottom: 60px !important;
}
.mgb80 {
  margin-bottom: 80px !important;
}
/* Margin (left) = mgl */
.mgl5 {
  margin-left: 5px !important;
}
.mgl10 {
  margin-left: 10px !important;
}
.mgl15 {
  margin-left: 15px !important;
}
.mgl20 {
  margin-left: 20px !important;
}
.mgl25 {
  margin-left: 25px !important;
}
.mgl30 {
  margin-left: 30px !important;
}
.mgl35 {
  margin-left: 35px !important;
}
.mgl40 {
  margin-left: 40px !important;
}
.mgl45 {
  margin-left: 45px !important;
}
.mgl50 {
  margin-left: 50px !important;
}
.mgl55 {
  margin-left: 55px !important;
}
.mgl60 {
  margin-left: 60px !important;
}
.mgl80 {
  margin-left: 80px !important;
}

#edit_btn {
  /*
  position: absolute;
  top: 80px;
  z-index: 150;
  width: 100%;
  */
  background: #444;
}
#edit_btn #edit_btn_inner {
  padding: 5px 10px;
  margin: 0 auto;
}
#edit_btn a {
  color: #333;
  font-size: 13px;
  border-radius: 4px;
  display: block;
  float: right;
  font-weight: bold;
  margin: 5px 0 5px 5px;
  padding: 3px 15px 4px;
  text-decoration: none;
  background-image: -moz-linear-gradient(50% 0% -90deg, rgb(255,255,255) 0%, rgb(238,238,238) 100%);
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0, rgb(255,255,255)), color-stop(1, rgb(238,238,238)));
  background-image: -webkit-linear-gradient(-90deg, rgb(255,255,255) 0%, rgb(238,238,238) 100%);
  background-image: -o-linear-gradient(-90deg, rgb(255,255,255) 0%, rgb(238,238,238) 100%);
  background-image: -ms-linear-gradient(-90deg, rgb(255,255,255) 0%, rgb(238,238,238) 100%);
  background-image: linear-gradient(180deg, rgb(255,255,255) 0%, rgb(238,238,238) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff,endColorstr=#ffeeeeee,GradientType=0)";
  filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffeeeeee, GradientType=0);
}
#edit_btn a:hover {
  background-image: -moz-linear-gradient(50% 0% -90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0, rgb(238,238,238)), color-stop(1, rgb(255,255,255)));
  background-image: -webkit-linear-gradient(-90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
  background-image: -o-linear-gradient(-90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
  background-image: -ms-linear-gradient(-90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
  background-image: linear-gradient(180deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffeeeeee,endColorstr=#ffffffff,GradientType=0)";
  filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffeeeeee, endColorstr=#ffffffff, GradientType=0);
}

/* noscript */
.noscript {
  text-align: center;
  font-size: 80%;
  padding: 5px;
  background: #ececec;
}

/* ------------------------------------------------------------------------------------------ 
module
------------------------------------------------------------------------------------------ */
/*---------------------------------------------------------------------
	site_header
---------------------------------------------------------------------*/
#site_header {
  width: 100%;
  /* position: fixed; */
  /* z-index: 900; */
  /*background: url(../../../shurijo/img/header/header-bg.gif) repeat-x #FFFFFF;*/
  background-color: #000;
  padding: 5px 0;
  margin: 0;
  position: relative;
}
#site_header .inner h1 {
  /* h1 */
  float: left;
  width: 42%;
  margin: 0;
}
#site_header .inner h1 a {
  text-indent: -9999px;
  display: block;
  width: 134px;
  height: 53px;
  background: #000 url(../img/header/site_logo2.png) no-repeat right center/95%;
}
#site_header .inner > p {
  width: 40px;
  height: 37px;
  position: absolute;
  top: 12px;
  right: 10px;
}
#site_header .inner a {
  /* btn_menu */
}
#site_header .inner a.btn_menu {
  position: relative;
  top: 4px;
  text-indent: -9999px;
  display: block;
  width: 40px;
  height: 30px;
  border-top: 3px solid #fff;
  /*        position: absolute;
              top: 12px;
              right: 10px;
              background: url(/sp/shurijo/image/btn_menu.jpg) top left no-repeat;
              background-size: contain;
              -webkit-background-size: contain;*/
}
#site_header .inner a.btn_menu::before {
  content: "";
  position: absolute;
  top: 10px;
  border-bottom: 3px solid #fff;
  width: 100%;
  left: 0;
}
#site_header .inner a.btn_menu::after {
  content: "";
  position: absolute;
  bottom: 1px;
  border-bottom: 3px solid #fff;
  width: 100%;
  left: 0;
}
/* lang_menu */
.lang_menu {
  position: absolute;
  top: 15px;
  right: 63px;
}
.lang_menu option {
  border-top: 1px solid #000;
  background-color: #fff;
}
.lang_menu select {
  color: #808080;
  font-weight: bold;
  font-size: 1.1rem;
  line-height: 30px;
  text-indent: 15px;
  width: 95px;
  height: 30px;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  cursor: pointer;
  background-color: #262626;
}
/*---------------------------------------------------------------------
	modal
---------------------------------------------------------------------*/
#modal {
  text-align: left;
  display: none;
  /* modal_head */
  /* ganvi */
}
#modal ul {
  list-style-type: none;
}
#modal .modal_head {
  padding-bottom: 10px;
  border-bottom: 2px solid #FFFFFF;
}
#modal .modal_head h2 {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 24px;
  float: left;
}
#modal .modal_head .btn_close {
  float: right;
}
#modal .modal_head .btn_close a {
  text-indent: -9999px;
  display: block;
  width: 24px;
  height: 24px;
  background: url(../../sp/image/site/btn_close.png) top left no-repeat;
  background-size: contain;
  -webkit-background-size: contain;
}
#modal #ganvi ul li a {
  font-size: 1.5rem;
  display: block;
  padding: 10px 5px;
  border-bottom: 1px dashed #B3B3B3;
}
#modal #ganvi ul li a:link {
  color: #FFFFFF;
  text-decoration: none;
}
#modal #ganvi ul li a:visited {
  color: #F7BF2D;
  text-decoration: none;
}
/*---------------------------------------------------------------------
	container
---------------------------------------------------------------------*/
#container {
  text-align: left;
}
/*---------------------------------------------------------------------
	pagebody
---------------------------------------------------------------------*/
#pagebody {
  margin: 0 auto;
  /* page_ttl */
  /* list_index */
  /* box_c3 */
}
#pagebody_inner {
  margin: 15px 0 0;
}
#pagebody .page_ttl {
  margin-bottom: 10px;
  padding: 20px 10px;
  background: url(../img/module/page_ttl_bg_01.png);
  background-size: 10px 60px;
  -webkit-background-size: 10px 100px;
}
#pagebody .page_ttl h1, #pagebody .page_ttl .ttl {
  color: #FFFFFF;
  font-size: 1.8rem;
  line-height: 1.2;
  padding: 4px 0 2px 8px;
  border-left: 4px solid #FFFFFF;
  margin: 0;
  background: none;
}
#pagebody .page_ttl h1 {
  font-size: 2.2rem;
  border-left: none;
}
#pagebody #list_index {
  margin: 15px 0 0;
}
#pagebody #list_index .list_index_contents .list_index_h h2 {
  color: #333333;
  font-size: 1.5rem;
  padding: 3px 0;
  margin: 0 0 10px;
  border-top: 2px solid #961e1e;
  border-bottom: 2px solid #961e1e;
  background: #fbe4db;
}
#pagebody #list_index .list_index_contents .list_index_h h2 a {
  display: block;
  padding: 10px 25px 10px 10px;
  text-decoration: none;
  background: url(/shurijo/image/site/list_index_h_bg.png) right center no-repeat;
  background-size: 17px 11px;
  -webkit-background-size: 17px 11px;
}
#pagebody #list_index .list_index_contents ul {
  margin: 0 10px 15px;
}
#pagebody #list_index .list_index_contents ul li {
  padding: 2px 0 3px 8px;
  background: url(../img/icon_arrow_02.gif) 0 12px no-repeat;
  background-size: 4px 6px;
  -webkit-background-size: 4px 6px;
}
#pagebody #list_index .list_img li {
  margin-bottom: 10px;
}
/* 詳細度高くするなら以下
#pagebody:not(.digital_archive) h1:not(#top *,.fukkou_content *, .fukkou_top *)
*/

:where(#pagebody):not(.digital_archive) h1:not(:where(#top) *, .fukkou_content *, .fukkou_top *) {
  color: #b20000;
  font-size: 1.6rem;
  line-height: 1.4;
  padding: 2px 0 7px 0;
  margin: 0 0 10px;
  background: url(../img/module/alpha_h3_bg.gif) left bottom repeat-x;
}
:where(#pagebody):not(.digital_archive) h2:not(:where(#top) *, .fukkou_content *, .fukkou_top *) {
  color: #b20000;
  font-size: 1.6rem;
  line-height: 1.4;
  padding: 2px 0 7px 0;
  margin: 0 0 10px;
  background: url(../img/module/alpha_h3_bg.gif) left bottom repeat-x;
}
:where(#pagebody):not(.digital_archive) h3:not(:where(#top) *, .fukkou_content *, .fukkou_top *) {
  font-size: 1.5rem;
  line-height: 1.4;
  padding: 10px 10px 10px 30px;
  margin: 0 0 15px;
  background: url(../img/module/alpha_h4_bg.gif) no-repeat 10px 14px #f7f4e6;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
:where(#pagebody):not(.digital_archive) h4:not(:where(#top) *, .fukkou_content *, .fukkou_top *) {
  color: #8e0e0e;
  font-weight: bold;
  line-height: 1.4;
  padding: 0;
  margin: 0 0 10px;
}
#pagebody ul.box_c3 {
  width: 300px;
  margin-right: auto;
  margin-left: auto;
}
#pagebody ul.box_c3 li {
  width: 31.66%;
  float: left;
}
#pagebody ul.box_c3 li:nth-child(3n+2) {
  margin: 0 2.5%;
}
/*---------------------------------------------------------------------
	alpha
---------------------------------------------------------------------*/
.content1, .content2 {
  padding: 0 10px;
  overflow: hidden;
}
.content1 img, .content2 img {
  width: 100%;
}
/* readspeaker_button1 */
#pagebody {
  /* table */
  /* caution_txt */
  /* caution_bg */
  /* lead_txt_serif */
}
#pagebody #readspeaker_button1 {
  height: 36px;
  margin-bottom: 20px;
  padding: 5px 0 0 5px;
}
#pagebody table {
  width: 100%;
  border-collapse: collapse;
  border: 2px solid #C8C8C8;
}
#pagebody table tr th {
  color: #111111;
  font-weight: normal;
  vertical-align: middle;
  padding: 8px;
  border: 1px solid #C8C8C8;
  background: #FCEBE4;
}
#pagebody table tr td {
  padding: 8px;
  border: 1px solid #C8C8C8;
}
#pagebody table tr td.caution {
  background: #FFFBB0;
}
#pagebody .caution_txt {
  color: #721A54;
}
#pagebody .caution_01 {
  color: #D00C0C;
}
#pagebody .caution_02 {
  color: #3e4e9b;
}
#pagebody .caution_03 {
  color: #721A54;
  font-size: 1.8rem;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
}
#pagebody .lead_txt {
  font-weight: bold;
  font-size: 1.6rem;
}
#pagebody .caution_bg01 {
  background: #f7f4e6;
}
#pagebody .lead_txt_serif {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: bold;
  font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
/* h2 */
#alpha {
  /* caution_bg */
}
#alpha h2 {
  color: #333333;
  font-size: 1.6rem;
  line-height: 1.4;
  padding: 8px 8px 7px 8px;
  margin: 0 0 15px;
  border-left: 5px solid #42C8EA;
  background: #EEEEEE;
}
#alpha h2 {
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 6px;
  border-bottom: 4px solid #ccc;
  font-size: 217%;
}
#alpha h2::after {
  content: "";
  width: 32%;
  height: 4px;
  position: absolute;
  left: 0;
  bottom: -4px;
  background: #991d1d;
}
#alpha h3 {
  position: relative;
  margin-bottom: 30px;
  padding: 0 0 13px 15px;
  padding-bottom: 13px;
  border-bottom: 1px solid #cccccc;
  font-size: 207%;
}
#alpha h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 5px;
  height: 30px;
  background: #991d1d;
}
#alpha h4 {
  margin-bottom: 20px;
  padding-bottom: 5px;
  border-bottom: 1px dashed #cccccc;
  font-size: 197%;
}
#alpha h5 {
  margin-bottom: 20px;
  font-size: 184%;
}
#alpha h6 {
  margin-bottom: 20px;
  font-size: 167%;
}
#alpha .icon_pdf::after, #alpha a[href*=".pdf"]::after, #alpha .icon_word::after, #alpha a[href*=".doc"]::after, #alpha .icon_word::after, #alpha a[href*=".rtf"]::after, #alpha .icon_excel::after, #alpha a[href*=".xls"]::after {
  content: "";
  padding: 4px 21px 0 0;
  margin-left: 5px;
  background-image: url(../img/module/icon_sprite_01.png);
  background-repeat: no-repeat;
  background-color: #fff;
}
#alpha .icon_word::after, #alpha a[href*=".doc"]::after, #alpha a[href*=".rtf"]::after {
  background-position: -22px 0;
}
#alpha .icon_excel::after, #alpha a[href*=".xls"]::after {
  background-position: -44px 0;
}
#alpha .icon_pdf:has(> img)::after,
#alpha a[href*=".pdf"]:has(> img)::after, 
#alpha .icon_word::after, 
#alpha a[href*=".doc"]:has(> img)::after, 
#alpha .icon_word:has(> img)::after, 
#alpha a[href*=".rtf"]:has(> img)::after, 
#alpha .icon_excel:has(> img)::after, 
#alpha a[href*=".xls"]:has(> img)::after {
  content: none;
}
#alpha .caution_bg01 {
  background: #f7f4e6;
}
/* caution_box */
.content1 {
  /* caution_box02 */
  /* caution_box03 */
}
.content1 .caution_box {
  border: 2px solid #aaaaaa;
  padding: 5px;
  margin-bottom: 20px;
}
.content1 .caution_box dt {
  color: #d00d0d;
  font-size: 1.8rem;
  border-bottom: 1px solid #aaaaaa;
}
.content1 .caution_box02 {
  color: #D90000;
  padding: 10px;
  margin: 0 0 20px;
  border: 1px dotted #D90000;
}
.content1 .caution_box03 p {
  font-size: 16px;
  font-size: 1.6rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 7px;
}
.content1 .caution_box03 span {
  display: block;
  background-color: #F4F4F4;
  border: 2px solid #ccc;
  padding: 4px 0;
}
.content1 .bdr_box {
  border: 2px solid #cccccc;
  padding: 10px;
}
.content1 .bdr_bottom {
  border-bottom: 1px dotted #666666;
  margin-bottom: 10px;
}
.content1 .bdr_box .flr210 {
  float: left;
  display: inline;
  width: 120px;
  margin: 0 10px 10px 0;
}
.content1 .bdr_box .fll410 {
  margin-bottom: 10px;
}
.content1 .bdr_box p.mgb10 {
  font-size: 13px;
  font-size: 1.3rem;
}
.content1 .bdr_box p.fwb {
  margin-bottom: 0;
}
/* alpha_ul */
#pagebody ul.alpha_ul {
  padding: 0 10px;
}
#pagebody ul.alpha_ul li {
  line-height: 1.6;
  padding: 0 0 0 10px;
  margin-bottom: 10px;
  background: url(../img/icon_arrow_02.gif) 0 7px no-repeat;
  background-size: 4px 6px;
  -webkit-background-size: 4px 6px;
}
/* alpha_ol */
#pagebody ol.alpha_ol {
  line-height: 1.6;
  list-style-type: decimal;
  padding-left: 30px;
}
#pagebody ol.alpha_ol li {
  margin-bottom: 5px;
}
/* lead_txt */
#alpha .lead_txt {
  color: #1E7A47;
  font-size: 2rem;
  line-height: 1.2;
  margin: 0 0 15px;
}
/* faq_list */
#pagebody .faq_list dl dt {
  color: #1F1F1F;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.2;
  padding: 8px 10px 5px 33px;
  margin: 0 0 8px;
  background: url(../img/site/icon_faq01.gif) #FFFDE1 12px 11px no-repeat;
}
#pagebody .faq_list dl dd {
  padding: 0 0 15px 33px;
  margin: 0 0 30px;
  background: url(../img/site/icon_faq02.gif) 12px 8px no-repeat;
}
/* sitemap_list */
#alpha #sitemap_list dl dt {
  display: none;
}
#alpha #sitemap_list dl dt + dd.mgl15 {
  margin-top: 0;
}
#alpha #sitemap_list dl dd.mgl15 {
  background: none repeat 0 0 #f5f2e4;
  color: #333333;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  margin: 25px 0 0;
  padding: 10px 10px 10px 10px;
}
#alpha #sitemap_list dl dd.mgl25 {
  font-weight: bold;
  margin: 12px 0 0;
  padding: 0 10px 5px 20px;
  border-bottom: 1px dotted #CCCCCC;
  background: url(../img/icon_arrow_01.png) 10px 8px no-repeat;
  background-size: 4px 6px;
  -webkit-background-size: 4px 6px;
}
#alpha #sitemap_list dl dd.mgl35 {
  margin: 5px 0 0 15px;
  padding: 0 10px 0 20px;
  background: url(../img/icon_arrow_01.png) 10px 8px no-repeat;
  background-size: 4px 6px;
  -webkit-background-size: 4px 6px;
}
#alpha #sitemap_list dl dd.mgl45 {
  display: none;
}
/* inde_menu_3c */
#alpha .inde_menu_3c {
  margin: 0 0 15px;
}
#alpha .inde_menu_3c li {
  width: 90px;
  float: left;
}
#alpha .inde_menu_3c li:nth-child(2n) {
  margin: 0 15px;
}
#alpha .inde_menu_3c li img {
  width: 90px;
}
#alpha ul.inde_menu_3c li p {
  font-size: 1.2rem;
  line-height: 1.4;
  margin-top: 5px;
}
/* dl-line */
#alpha .dl-line {
  line-height: 1.8em;
}
#alpha .dl-line dt {
  color: #006600;
}
#alpha .dl-line dd {
  margin: 0 0 5px 1em;
}
/* fll,flr */
#alpha .fll155 {
  margin-bottom: 20px;
}
.fll220, .flr220, .fll230, .flr230, .fll250, .flr250, .fll320, .flr320, .fll330, .flr330, .fll410, .flr410, .fll460, .flr460, .fll480, .flr480, .flr710 {
  margin-bottom: 15px;
}
.fll320.mgl10 {
  margin-left: 0;
}
.fll220.mgrl10 {
  margin-right: 0;
  margin-left: 0;
}
.flr_img {
  display: block;
  margin-bottom: 15px;
}
.fll_img {
  display: block;
  margin-bottom: 15px;
}
/* sp_fll */
.sp_fll_img {
  width: 46.47% !important;
  float: left;
  margin: 0 2.35% 0 0;
}
/* sp_flr */
.sp_flr_img {
  width: 46.47% !important;
  float: right;
  margin: 0 0 0 2.35%;
}
.l_2column li, .l_3column li, .l_4column li {
  margin-bottom: 10px;
}
/* l_2column_sp */
.l_2column_sp li {
  float: left;
  margin: 0 2.95% 2.95% 0;
  width: 48.22%;
}
.l_2column_sp li:nth-child(2n) {
  margin-right: 0;
}
.l_2column_sp li img {
  width: 100%;
}
.list_about_info li, .list_payzone li {
  margin-bottom: 15px;
}
/* flower_photo_list */
#alpha .flower_photo_list li {
  width: 120px;
  float: left;
  margin: 0 15px 15px;
}
#alpha .flower_photo_list li a {
  display: block;
}
/* box_3c */
#alpha .box_3c li {
  width: 90px;
  float: left;
}
#alpha .box_3c li:nth-child(2n) {
  margin: 0 15px;
}
#alpha .box_3c li img {
  width: 90px;
}
/* pager */
#alpha .pager {
  margin-top: 20px;
}
#alpha .pager ul {
  display: inline;
}
#alpha .pager ul li {
  float: left;
  display: inline;
  margin-right: 5px;
}
#alpha .pager ul li span, #alpha .pager ul li a {
  display: inline-block;
  margin-bottom: 5px;
  padding: 1px 8px;
  background: #fff;
  border: 1px solid #CCC;
  text-decoration: none;
  vertical-align: middle;
}
#alpha .pager ul li span:hover, #alpha .pager ul li a:hover {
  background: #EEE;
}
/* topics_list */
#alpha .topics_list dt {
  display: inline;
}
.icon_i_cat {
  font-size: 1.1rem;
  color: #fff;
  text-align: center;
  background: #fff;
  display: inline-block;
  padding: 3px 10px;
  margin-left: 10px;
}
.icon_i_cat.tag_shuri_fukkou { background: #991D1D; } /* 復元・復興情報 */
.icon_i_cat.tag_shuri_park { background: #468C00; } /* 公園情報 */
.icon_i_cat.tag_shuri_otoku { background: #D9A300; } /* お得情報 */
.icon_i_cat.tag_shuri_voice { background: #152199; } /* お客様の声 */
.icon_i_cat.tag_shuri_other { background: #727236; } /* その他 */
#alpha .topics_list dd {
  margin: 5px 0 10px;
  padding: 0 0 10px;
  border-bottom: 1px dotted #961e1e;
}
#alpha .topics_list dd a {
  padding: 4px 0;
}
/*#alpha .topics_list dd.tag_shuri_otoku:before {
  color: #fff;
  font-size: 1.1rem;
  font-weight: normal;
  content: "お得情報";
  background-color: #C9A21B;
  display: inline;
  padding: 3px 8px;
}
#alpha .topics_list dd.tag_shuri_congestion:before {
  color: #fff;
  font-size: 1.1rem;
  font-weight: normal;
  content: "混雑情報";
  background-color: #222222;
  display: inline;
  padding: 3px 8px;
}
#alpha .topics_list dd.tag_shuri_info:before {
  color: #fff;
  font-size: 1.1rem;
  font-weight: normal;
  content: "最新情報";
  background-color: #D42020;
  display: inline;
  padding: 3px 8px;
}
#alpha .topics_list dd.tag_shuri_voice:before {
  color: #fff;
  font-size: 0.9rem;
  font-weight: normal;
  content: "お客様の声";
  background-color: #D96D00;
  display: inline;
  padding: 4px 8px;
}
#alpha .topics_list dd.tag_shuri_park:before {
  color: #fff;
  font-size: 1.1rem;
  font-weight: normal;
  content: "公園情報";
  background-color: #638c0b;
  display: inline;
  padding: 4px 8px;
}*/
.lang_en #alpha .topics_list dd.tag_shuri_otoku:before {
  content: "Savings Info";
}
.lang_en #alpha .topics_list dd.tag_shuri_congestion:before {
  content: "Congestion Info";
}
.lang_en #alpha .topics_list dd.tag_shuri_info:before {
  content: "New Information";
}
.lang_en #alpha .topics_list dd.tag_shuri_voice:before {
  /* content: "Visitor omments"; */
  content: "Visitor Comments"; /* 修正 */
}
.lang_kr #alpha .topics_list dd.tag_shuri_otoku:before {
  content: "유익한 정보";
}
.lang_kr #alpha .topics_list dd.tag_shuri_congestion:before {
  content: "혼잡 정보";
}
.lang_kr #alpha .topics_list dd.tag_shuri_info:before {
  content: "최신 정보";
}
.lang_kr #alpha .topics_list dd.tag_shuri_voice:before {
  content: "고객 의견";
}
.lang_sc #alpha .topics_list dd.tag_shuri_otoku:before {
  content: "优惠情報";
}
.lang_sc #alpha .topics_list dd.tag_shuri_congestion:before {
  content: "客流信息";
}
.lang_sc #alpha .topics_list dd.tag_shuri_info:before {
  content: "最新信息";
}
.lang_sc #alpha .topics_list dd.tag_shuri_voice:before {
  content: "顾客感想";
}
.lang_tc #alpha .topics_list dd.tag_shuri_otoku:before {
  content: "優惠情報";
}
.lang_tc #alpha .topics_list dd.tag_shuri_congestion:before {
  content: "客流情報";
}
.lang_tc #alpha .topics_list dd.tag_shuri_info:before {
  content: "最新情報";
}
.lang_tc #alpha .topics_list dd.tag_shuri_voice:before {
  content: "顧客感想";
}
/* event_list */
#alpha .event_list ul {
  padding: 10px 0 0;
}
#alpha .event_list ul li {
  padding: 0 0 10px;
  margin-bottom: 10px;
  border-bottom: 1px dotted #961e1e;
}
#alpha .event_list ul li.last_child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 5px;
}
#alpha .event_list ul li .thumb {
  width: 30%;
  height: 60px;
  float: left;
  display: inline;
  overflow: hidden;
}
#alpha .event_list ul li .thumb img {
  width: 100%;
}
#alpha .event_list ul li .ttl_txt {
  font-weight: bold;
  line-height: 1.4;
  width: 65%;
  float: right;
  display: inline;
  /*padding-top: 15px;*/
}
#alpha .event_list ul li .ttl_txt p {
  padding-right: 10px;
}

.icon_e_cat { margin-bottom: 5px; }
.icon_e_cat span {
  display: inline-block;
  vertical-align: top;
  color: #fff;
  text-align: center;
  font-size: 1.1rem;
  background: #fff;
  /*min-width: 100px;*/
  padding: 3px 10px;
}
.icon_e_cat .tag_shuri_fukkou { background: #991D1D; } /* 復元・復興関連 */
.icon_e_cat .tag_shuri_event { background: #EC5320; } /* イベント */
.icon_e_cat .tag_shuri_taiken { background: #008C8C; } /* 体験学習 */
.icon_e_cat .tag_shuri_guide { background: #23008C; } /* 展示案内 */

.event_topics li {
  border-bottom: 1px dotted #b6b6b6;
  margin-bottom: 10px;
  list-style: none;
  padding-bottom: 10px;
}
.event_topics .thumb {
  width: 120px;
  display: inline;
  float: left;
  margin-right: 10px;
}
.event_topics .tag_shuri_taiken:before {
  content: "体験案内";
  font-size: 12px;
  font-size: 1.2rem;
  color: #fff;
  background-color: #D00D0D;
  padding: 2px 7px;
}
.event_topics .tag_shuri_recommend:before {
  content: "おすすめ";
  font-size: 12px;
  font-size: 1.2rem;
  color: #fff;
  background-color: #D00D0D;
  padding: 2px 7px;
}
.event_topics .tag_shuri_guide:before {
  content: "展示案内";
  font-size: 12px;
  font-size: 1.2rem;
  color: #fff;
  background-color: #D00D0D;
  padding: 2px 7px;
}

/* event_others */
.event_others {}
.event_others li {
  padding: 0 0 10px;
  margin-bottom: 10px;
  border-bottom: 1px dotted #961e1e;
}
.event_others li.no_topics {
  float: none;
  border: none;
  width: auto;
  padding: 10px 15px;
  background: #EEEEEE;
  height: auto !important;
}

.event_others li a {
  display: table;
  width: 100%;
  color: #000;
  text-decoration: none;
}
.event_others li .thumb {
  width: 30%;
  display: table-cell;
  vertical-align: top;
}
.event_others li .thumb span {
  display: block;
  overflow: hidden;
  padding-bottom: 60%;
  position: relative;
}
.event_others li .thumb img {
  position: absolute;
  left: 0;
  top: 0;
}
.event_others li .detail {
  display: table-cell;
  vertical-align: top;
  padding-left: 15px;
}
.event_others .cat_icon { margin-bottom: 5px; }
.event_others .cat_icon span {
  display: inline-block;
  vertical-align: top;
  color: #fff;
  text-align: center;
  font-size: 1.1rem;
  background: #fff;
  padding: 3px 10px;
}
.event_others .cat_icon .tag_shuri_fukkou { background: #991D1D; } /* 復元・復興関連 */
.event_others .cat_icon .tag_shuri_event { background: #EC5320; } /* イベント */
.event_others .cat_icon .tag_shuri_taiken { background: #008C8C; } /* 体験学習 */
.event_others .cat_icon .tag_shuri_guide { background: #23008C; } /* 展示案内 */
.event_others li .ttl_txt {
  line-height: 1.4;
  margin-top: 8px;
  padding-top: 24px;
  margin: 0 5px 8px;
}
.event_others .event_date_text {
  color: #C20C0C;
  font-size: 12px;
  padding: 0 5px;
}


.event_box {
  border: 1px solid #cccccc;
  padding: 5px 5px 0 5px;
  margin-bottom: 15px;
}
.event_box .flr320 {
  /*width: 150px;
    float: left;
    display: inline;
    margin-right: 10px;*/
  margin-bottom: 5px;
}
.event_box .flr320 p.mgb10 {
  margin-bottom: 0;
}
.event_box .flr320 p.mgb10 img[src*="icon_shurijyosai.gif"] {
  /*margin-top: -3px;*/
  width: 80px !important;
}
.event_box .ruby_txt {
  color: #b01524;
  font-size: 12px;
  font-size: 1.2rem;
  margin: 0;
}
#pagebody .event_box h3 {
  line-height: 1;
  font-size: 24px;
  font-size: 2.4rem;
  background: none;
  padding-top: 0;
  /*padding-left: 154px;*/
  margin-bottom: 0;
}
#pagebody .event_box h3 a {
  color: #b01524;
}
#pagebody .event_box .date {
  display: block;
  clear: both;
  margin-top: 5px;
}
#pagebody .event_box .date span {
  padding: 3px 7px;
  display: block;
  color: #fff;
}
#pagebody .event_box .date + p {
  font-size: 12px;
  font-size: 1.2rem;
  margin: 12px 0;
}
/* maihenoizanai */
#pagebody .maihenoizanai_enmoku_link {
  color: #333333;
  font-size: 1.5rem;
  text-decoration: none;
  border-top: 2px solid #961e1e;
  border-bottom: 2px solid #961e1e;
  background: #fbe4db;
  display: block;
  padding: 13px 25px 13px 10px;
  margin: 0 0 10px;
}
/* kikaku */
.kikaku_box p:first-child {
  margin-bottom: 10px;
}
.kikaku_box h5 span {
  display: inline;
  color: #fff;
  font-weight: normal;
  font-size: 13px;
  font-size: 1.3rem;
  background-color: #8e0e0e;
  padding: 1px 6px;
  position: relative;
  top: -3px;
  left: 10px;
}
.kikaku_box h5 span.end {
  background-color: #ccc;
  color: #333;
}
/* blog_list */
#alpha .blog_list ul {
  padding: 10px 0 0;
}
#alpha .blog_list ul li {
  padding: 0 0 10px;
  margin-bottom: 10px;
  border-bottom: 1px dotted #961e1e;
}
#alpha .blog_list ul li.last_child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 5px;
}
#alpha .blog_list ul li .thumb {
  width: 30%;
  height: 60px;
  float: left;
  display: inline;
  overflow: hidden;
}
#alpha .blog_list ul li .thumb img {
  width: 100%;
}
#alpha .blog_list ul li .ttl_txt {
  font-weight: bold;
  width: 65%;
  float: right;
  display: inline;
}
#alpha .blog_list ul li .ttl_txt p {
  padding: 0;
  margin: 0;
}
#alpha .blog_list ul li .ttl_txt .date {
  font-size: 1.2rem;
  padding-top: 10px;
}
#alpha .blog_list .tag_kouendayori {
  background: url(/shurijo/image/site/tag/tag_kouendayori.gif) 0 0 no-repeat;
  background-size: 80px auto;
  -webkit-background-size: 80px auto;
}
#alpha .blog_list .tag_hanadayori {
  background: url(/shurijo/image/site/tag/tag_hanadayori.gif) 0 0 no-repeat;
  background-size: 80px auto;
  -webkit-background-size: 80px auto;
}
#alpha .blog_list .tag_plantdayori {
  background: url(/shurijo/image/site/tag/tag_plantdayori.gif) 0 0 no-repeat;
  background-size: 104px auto;
  /* -webkit-background-80px: 80px auto; */
}
/* link_prev_next */
.link_prev_next {
  text-align: center;
  margin-top: 40px;
}
/* readspeaker_button1 */
#alpha #readspeaker_button1 {
  margin-bottom: 15px;
}
/* event_date_text */
#alpha .event_list .event_date_text {
  color: #000;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: bold;
  margin-top: 10px;
}
#alpha .event_detail .event_date_text {
  color: #D90000;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0 0 15px;
}
/* button */
.type01 {
  border: 1px solid #8D2929;
  padding: 5px;
}
.type01 a {
  display: block;
  font-size: 1.8rem;
  color: #fff;
  text-decoration: none;
  text-align: center;
  padding: 10px 0;
  background-image: -moz-linear-gradient(50% 0% -90deg, #d80000 0%, #bd0000 100%);
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0, #d80000), color-stop(1, #bd0000));
  background-image: -webkit-linear-gradient(-90deg, #d80000 0%, #bd0000 100%);
  background-image: -o-linear-gradient(-90deg, #d80000 0%, #bd0000 100%);
  background-image: -ms-linear-gradient(-90deg, #d80000 0%, #bd0000 100%);
  background-image: linear-gradient(180deg, #d80000 0%, #bd0000 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffd80000,endColorstr=#ffbd0000,GradientType=0)";
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffd80000, endColorstr=#ffbd0000, GradientType=0);
}
.type01 a:link {
  color: #fff;
}
/* type01 */
a.type02 {
  display: inline-block;
  background-color: #8E0E0E;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  padding: 10px 30px;
  color: #fff;
  text-decoration: none;
}
.type03 {
  padding: 15px 0;
  background: #fcfaf8 url(../img/module/bg_04.png);
}
.type03 a {
  position: relative;
  display: block;
  width: 40%;
  margin: auto;
  padding: 15px 10px 15px 40px;
  border: 1px solid #bfbfbf;
  background-color: #fff;
  font-size: 167%;
  font-size: 128%;
  text-decoration: none;
  color: inherit;
  text-align: left;
  font-weight: normal;
}
.type03 a::before {
  content: "";
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 10px;
  width: 0;
  height: 0;
  border: 7px solid transparent;
  border-right: 10px solid #991d1d;
  border-radius: 0;
  transform: translate(0, -50%);
}
.type03 a::after {
  content: none;
}
.content2 .type03 {
  margin-right: -10px;
  margin-left: -10px;
}
/*
.type03{
display: block;
float:left;
width:45px;
}
.type03 a{
	display:block;
	position: absolute;
	margin-left: 10px;
	width:45px;
	color: #fff;
	font-size: 13px;
	text-align: center;
	text-decoration: none;
	z-index: 5;
	font-weight:bold;
	line-height:26px;
	padding:0 10px 0 3px;
	margin-top:-15px;
	behavior: url(PIE.htc);
}
.type03 a:before {
	content: "";
	display: block;
	position: absolute;
	left: 2px;
	top: 0;
	width: 17px;
	height: 17px;
	-webkit-transform-origin: left top;
	-webkit-transform: rotate(45deg);
	-moz-transform-origin: left top;
	-moz-transform: rotate(45deg);
	transform-origin: left top;
	transform: rotate(45deg);
	background: #911414;
	border-left-color: #a42727;
	border-bottom-color: #a42727;
	border-width: 1px;
	border-style: solid;
	border-radius: 3px;
	border-right: none;
	border-top: none;
	z-index: -1;
	behavior: url(PIE.htc);
}
.type03 a:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 55px;
	height: 23px;
	background: #911414;
	border-top-color: #a42727;
	border-right-color: #a42727;
	border-bottom-color: #a42727;
	border-width: 1px;
	border-style: solid;
	border-radius: 4px;
	border-left: none;
	box-shadow: 0 1px 0 #ec6f6f inset;
	z-index: -2;
	behavior: url(PIE.htc);
}
.type03:hover a:before{
	background: #6f0000;
}
.type03:hover a:after{
	background: #6f0000;
}
*/
/* Adobe Reader */
#pagebody .acrobat {
  background-color: #EEE;
  padding: 10px 5px 8px;
}
#pagebody .acrobat li {
  font-size: 13px;
  font-size: 1.3rem;
  display: inline;
  float: left;
  padding: 0 5px;
  line-height: 130%;
}
/* .icon_pdf {
  background: url(/shurijo/img/icon_pdf.gif) no-repeat left center;
  padding-left: 23px;
  padding-top: 2px;
} */
/* .icon_doc {
  background: url(/shurijo/img/icon_doc.gif) no-repeat left center;
  padding-left: 23px;
  padding-top: 2px;
} */
/* info */
.application dd {
  padding: 10px;
  margin-bottom: 15px;
  background-color: #f7f6e6;
}
.kanri_info {
  background-color: #f3f1da;
  padding: 10px;
  font-weight: bold;
}
/* area_map */
#area_map {
  width: 100%;
  height: 400px;
  background: url(../img/site/img_map_main.jpg) no-repeat;
  background-size: 100% auto;
  position: relative;
}
#area_map li {
  display: none;
}
/* event */
.event_contents01 li {
  float: left;
  display: inline;
  width: 49%;
  margin-bottom: 10px;
}
.event_contents01 li:nth-child(2n) {
  float: right;
}
.event_contents02 dl {
  margin-bottom: 20px;
}
.event_contents02 dt {
  width: 45%;
  float: left;
  display: inline;
  margin-right: 10px;
}
.event_contents02 dd span a {
  color: #b20000;
  font-weight: bold;
  font-size: 1.6rem;
  display: block;
  text-decoration: none;
}
#onecolumun #list_index .alpha_ul {
  margin-bottom: 30px;
}
#onecolumun #list_index .alpha_ul li {
  width: 45%;
  float: left;
  display: inline;
  margin-right: 1%;
}
/* livecamera */
.content1 iframe {
  width: 100%;
  /* height: auto !important; */
  height: 100%;
  aspect-ratio: 16 / 9;
}
/* gakusei */
.gakusei_contents dl {
  padding-bottom: 20px;
  margin-bottom: 30px;
  border-bottom: 1px dotted #ccc;
}
/* course */
.course_area.mgb30 {
  margin-bottom: 0;
}
.course_area dd {
  display: none;
}
.course_area li {
  margin-bottom: 10px;
}
.course_area li.mgrl10 {
  margin-right: 0;
  margin-left: 0;
}
.course_area a {
  color: #fff;
  font-size: 1.6rem;
  text-decoration: none;
  text-align: center;
  padding: 7px 0;
  display: block;
  border: 1px solid #e9b11f;
  border-radius: 4px;
  background-color: #e9b11f;
}
.course_layout_l ul {
  background-color: #ffe784;
  padding: 10px 10px 0;
}
.course_layout_r ul {
  background-color: #b7defb;
  padding: 10px 10px 0;
}
.course_layout_l ul li, .course_layout_r ul li {
  padding-bottom: 20px;
  margin-bottom: 5px;
}
.course_layout_l ul li p, .course_layout_r ul li p {
  text-align: center;
  padding: 5px 10px;
  background-color: #fff;
  font-size: 1.8rem;
}
.course_layout_l ul li {
  background: url(../img/course_list_arrow01.gif) bottom center no-repeat;
}
.course_layout_l .airport {
  border: 2px solid #961E1E;
  background-color: #fff;
}
.course_layout_l .park, .course_layout_r .park {
  border: 2px solid #961E1E;
  background-color: #D00D0D;
  color: #fff;
  line-height: 1.4;
}
.course_layout_r ul li {
  background: url(../img/course_list_arrow02.gif) bottom center no-repeat;
}
.course_layout_r .airport {
  border: 2px solid #1C67B3;
  background-color: #fff;
}
.course_layout_l .list_end, .course_layout_r .list_end, .course_layout_l .list_img {
  background: none;
}


.g_map iframe {
  width: 100%;
  height: 360px !important;
  border: 1px solid #ccc;
}

a.btn_01 {
  color: #000;
  text-decoration: none;
  border: 1px solid #ccc;
  display: inline-block;
  padding: 5px 30px 5px 20px;
  background: url(../img/module/icon_arrow_01.png) no-repeat right 15px center;
  transition: background .3s;
}
a.btn_01:hover {
  background-color: #FBE4DB;
  background-position: right 10px center;
}

#pagebody .topics_link_btn a,
.btn_02,
a.btn_02{
  display: block;
  width: 220px;
  line-height: 1.625;
  max-width: 100%;
  margin: auto;
  padding: 10px 40px 10px 15px;
  border: 2px solid #9C0000;
  border-radius: 5px;
  background: #fff url(../img/module/icon_arrow_13.svg) no-repeat center right 15px/20px;
  font-size: 1.6rem;
  text-align: left;
  transition: all .3s;
}

#pagebody .topics_link_btn a:hover,
.btn_02:hover,
a.btn_02:hover{
  background: #C71C22 url(../img/module/icon_arrow_13_white.svg) no-repeat center right 15px/20px;
  text-decoration: none;
  color: #fff;
}

#pagebody .topics_link_btn a::after,
.btn_02::after,
a.btn_02::after{
  content: none;
}

@media print, screen and (min-width: 768px) {
  #pagebody .topics_link_btn a,
  .btn_02,
  a.btn_02{
    width: 240px;
    line-height: 1.44;
    padding: 13px 45px 13px 20px;
    background-size: 24px;
    font-size: 1.8rem;
  }
}

/*-------------------------------------------
	parking_info
-------------------------------------------*/
#parking_info {
  margin: 10px 10px 20px;
}
#parking_info .ttl {
  color: #fff;
  font-size: 16px;
  background: #000;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  margin: 0;
  padding: 18px 15px;
  position: relative;
  cursor: pointer;
}
#parking_info .ttl::before, #parking_info .ttl::after {
  width: 24px;
  height: 4px;
  content: "";
  position: absolute;
  right: 15px;
  top: 29px;
  background-color: #fff;
  transition: .3s;
  -webkit-transition: .3s;
}
#parking_info .ttl::after {
  transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
}
#parking_info .ttl.open::after {
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
}
.parking_info_inner {
  padding: 15px;
  background: #E2E2E2;
  display: none;
}

#pagebody_inner .parking_info_inner{
  display: block;
  padding: 0;
  background-color: transparent;
}

#pagebody_inner #parking_p1{
  margin-top: 10px;
}

.parking_info_inner dl {
  text-align: center;
  display: table;
  width: 100%;
  color: #fff;
  font-size: 18px;
}
.parking_info_inner dl + dl {
  margin-top: 7px;
}
.parking_info_inner dt {
  background-color: #333333;
  font-weight: bold;
  display: table-cell;
  padding: 7px 0;
  vertical-align: middle;
  width: 41%;
}
.parking_info_inner dd {
  display: table-cell;
  padding: 7px 0;
  vertical-align: middle;
  border-left: 1px solid #E2E2E2;
}
.parking_info_inner .status_00 {
  background-color: #FF0000;
}
.parking_info_inner .status_01 {
  background-color: #DA910A;
}
.parking_info_inner .status_02 {
  background-color: #0076CC;
}
.parking_info_inner .status_03 {
  background-color: #797979;
}
.parking_info_inner .map_img {
  border: 3px solid #fff;
  margin: 15px auto 10px;
  text-align: center;
  background-color: #fff;
}
.parking_info_inner .link {
  text-align: center;
  margin-top: 15px;
}
.parking_info_inner .link a {
  color: #fff;
  font-size: 15px;
  text-decoration: none;
  display: block;
  padding: 11px 0;
  border-radius: 6px;
  background-image: -webkit-gradient(linear, 49% 0%, 49% 115%, color-stop(0, #555555), color-stop(1, black));
  background-image: -webkit-linear-gradient(-90deg, #555555 0%, black 100%);
  background-image: -o-linear-gradient(-90deg, #555555 0%, black 100%);
  background-image: -ms-linear-gradient(-90deg, #555555 0%, black 100%);
  background-image: linear-gradient(180deg, #555555 0%, black 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff555555,endColorstr=#ff000000,GradientType=0)";
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff555555, endColorstr=#ff000000, GradientType=0);
}
.parking_info_inner .link span {
  padding-right: 24px;
  background: url(../img/module/icon_arrow.png) no-repeat right center;
}

.status_use_area .parking_info_inner .link a{
  background: #000;
}

.status_use_area .parking_info_inner .link a::after{
  content: none;
}

/*---------------------------------------------------------------------
	beta
---------------------------------------------------------------------*/
#beta {
  margin: 30px 10px 0;
  /* side_menu */
}
#beta .side_menu h3 {
  color: #FFF;
  padding: 10px 10px 8px 45px;
  border-bottom: none;
  background: #46C8EA url(/shurijo/image/site/beta_bemu_h_bg.png) 10px 8px no-repeat;
  background-size: 25px 25px;
  -webkit-background-size: 25px 25px;
  -webkit-border-top-left-radius: 6px;
  -webkit-border-top-right-radius: 6px;
  -moz-border-radius-topleft: 6px;
  -moz-border-radius-topright: 6px;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
/*---------------------------------------------------------------------
	topic_path_top
---------------------------------------------------------------------*/
#topic_path_top {
  font-size: 1.1rem;
  padding: 5px 10px;
  /* padding: 70px 10px 5px; */
}
#topic_path_bottom {
  font-size: 1.1rem;
  padding: 5px 10px;
  border-top: 1px solid #42C8EA;
}
/*---------------------------------------------------------------------
	クロスランゲージ
---------------------------------------------------------------------*/
#site-translate-header-wrapper {
  width: 90% !important;
}
/*---------------------------------------------------------------------
	mc(首里城復興モデルコース)
---------------------------------------------------------------------*/
#mc hr {
  border-top: 2px solid #bbb;
  margin: 30px 0px;
}
#mc h1 {
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 300%;
  color: #c00000;
  text-align: center;
}
#mc h2 {
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 150%;
  color: #333;
  text-align: center;
  margin-bottom: 15px;
}
#mc h3 {
  font-size: 150%;
  color: #c00000;
  text-align: center;
  background-image: none;
}
#mc .cap {
  width: 100%;
  margin-top: 30px;
  padding: 10px 0;
  background-color: #be0505;
  color: #fff;
  text-align: center;
}
#mc .smooth {
  color: inherit;
}
.scroll_link_outer {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.scroll_link_outer li {
  position: relative;
  width: 32%;
  margin-bottom: 10px;
  border: 1px solid #C8C8C8;
  text-align: center;
}
.scroll_link_outer li:nth-of-type(n+4) {
  width: 46%;
  margin-bottom: 0;
}
.scroll_link_outer a {
  display: block;
  height: 100%;
  box-sizing: border-box;
  padding: 10px 5px 15px;
  text-decoration: none;
  color: inherit;
}
.scroll_link_outer a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 0;
  height: 0;
  margin: 5px auto 0;
  border: 10px solid transparent;
  border-top: 10px solid #c8c8c8;
  transform: translateX(-50%);
}
table.courseDetails1, table.courseDetails1 tbody, table.courseDetails1 tr, table.courseDetails1 th, table.courseDetails1 td, table.courseDetails2, table.courseDetails2 tbody, table.courseDetails2 tr, table.courseDetails2 th, table.courseDetails2 td, table.courseDetails3, table.courseDetails3 tbody, table.courseDetails3 tr, table.courseDetails3 th, table.courseDetails3 td, table.courseDetails4, table.courseDetails4 tbody, table.courseDetails4 tr, table.courseDetails4 th, table.courseDetails4 td {
  display: block;
}
table.courseDetails1 {
  width: 100%;
  margin-bottom: 20px;
}
table.courseDetails1 td {
  vertical-align: middle;
  padding: 5px 10px;
}
table.courseDetails1 td.td1 {
  background-color: #c55a11;
  color: #fff;
  font-size: 140%;
  font-weight: 700;
  text-align: center;
}
table.courseDetails1 td.td2 {
  background-color: #ffc000;
  color: #fff;
  font-size: 120%;
  font-weight: 700;
  text-align: center;
}
table.courseDetails1 td.td3 {
  background-color: #fff2cc;
  font-size: 100%;
  text-align: left;
}
table.courseDetails1 td.td4 {
  background-color: #ed7d31;
  color: #fff;
  font-size: 100%;
  font-weight: 700;
  text-align: center;
}
table.courseDetails1 td.td5 {
  background-color: #f8cbad;
  font-size: 100%;
  text-align: left;
}
table.courseDetails2 {
  width: 100%;
  margin-bottom: 20px;
}
table.courseDetails2 td {
  vertical-align: middle;
  padding: 5px 10px;
}
table.courseDetails2 td.td1 {
  background-color: #70ad47;
  color: #fff;
  font-size: 140%;
  font-weight: 700;
  text-align: center;
}
table.courseDetails2 td.td2 {
  background-color: #548235;
  color: #fff;
  font-size: 120%;
  font-weight: 700;
  text-align: center;
}
table.courseDetails2 td.td3 {
  background-color: #e2f0d9;
  font-size: 100%;
  text-align: left;
}
table.courseDetails2 td.td4 {
  background-color: #2f5597;
  color: #fff;
  font-size: 100%;
  font-weight: 700;
  text-align: center;
}
table.courseDetails2 td.td5 {
  background-color: #dae3f3;
  font-size: 100%;
  text-align: left;
}
table.courseDetails3 {
  width: 100%;
  margin-bottom: 20px;
}
table.courseDetails3 td {
  vertical-align: middle;
  padding: 5px 10px;
}
table.courseDetails3 td.td1 {
  background-color: #2e75b6;
  color: #fff;
  font-size: 140%;
  font-weight: 700;
  text-align: center;
}
table.courseDetails3 td.td2 {
  background-color: #deebf7;
  font-size: 100%;
  text-align: left;
}
table.courseDetails4 {
  width: 100%;
  margin-bottom: 20px;
}
table.courseDetails4 td {
  vertical-align: middle;
  padding: 5px 10px;
}
table.courseDetails4 td.td1 {
  background-color: #a31d60;
  color: #fff;
  font-size: 140%;
  font-weight: 700;
  text-align: center;
}
table.courseDetails4 td.td2 {
  background-color: #fedede;
  font-size: 100%;
  text-align: left;
}
ul.modelCourse1l, ul.modelCourse1r, ul.modelCourse2r, ul.modelCourse2, ul.modelCourse2l, ul.modelCourse3l, ul.modelCourse3r, ul.modelCourse4l, ul.modelCourse6l, ul.modelCourse6r, ul.modelCourse7l, ul.modelCourse7r, ul.modelCourse7lv, ul.modelCourse7rv {
  background-color: #fff2cc;
  border-radius: 20px;
  max-width: 75%;
  margin: auto;
  padding: 15px 20px;
  border: 3px solid #fff;
  clear: both;
}
.modelCourse1l li {
  font-size: 100%;
}
.modelCourse1l li.tl {
  font-size: 150%;
}
.modelCourse1l li.tl span {
  display: inline-block;
  background-color: #dfb523;
  color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-weight: 700;
  font-family: Arial, Helvetica, "sans-serif";
}
.modelCourse1l li.tl b {
  font-size: 60%;
}
.modelCourse1l li img {
  margin: 5px 0;
}
/*ul.modelCourse1r{background-color:#fff2cc; border-radius:20px; float:right; width:176px; height:265px; padding:15px 20px; border:3px solid #fff;}*/
.modelCourse1r li {
  font-size: 100%;
}
.modelCourse1r li.tl {
  font-size: 150%;
}
.modelCourse1r li.tl span {
  display: inline-block;
  background-color: #dfb523;
  color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-weight: 700;
  font-family: Arial, Helvetica, "sans-serif";
}
.modelCourse1r li.tl b {
  font-size: 60%;
}
.modelCourse1r li img {
  margin: 5px 0;
}
ul.modelCourse2l {
  background-color: #f8cbad;
}
.modelCourse2l li {
  font-size: 100%;
}
.modelCourse2l li.tl {
  font-size: 150%;
}
.modelCourse2l li.tl span {
  display: inline-block;
  background-color: #df5c23;
  color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-weight: 700;
  font-family: Arial, Helvetica, "sans-serif";
}
.modelCourse2l li.tl b {
  font-size: 60%;
}
.modelCourse2l li img {
  margin: 5px 0;
}
ul.modelCourse2r {
  background-color: #f8cbad;
}
.modelCourse2r li {
  font-size: 100%;
}
.modelCourse2r li.tl {
  font-size: 150%;
}
.modelCourse2r li.tl span {
  display: inline-block;
  background-color: #df5c23;
  color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-weight: 700;
  font-family: Arial, Helvetica, "sans-serif";
}
.modelCourse2r li.tl b {
  font-size: 60%;
}
.modelCourse2r li img {
  margin: 5px 0;
}
ul.modelCourse3l, ul.modelCourse3r {
  background-color: #e2f0d9;
}
.modelCourse3l li {
  font-size: 100%;
}
.modelCourse3l li.tl {
  font-size: 150%;
}
.modelCourse3l li.tl span {
  display: inline-block;
  background-color: #548235;
  color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-weight: 700;
  font-family: Arial, Helvetica, "sans-serif";
}
.modelCourse3l li.tl b {
  font-size: 60%;
}
.modelCourse3l li img {
  margin: 5px 0;
}
.modelCourse3r li {
  font-size: 100%;
}
.modelCourse3r li.tl {
  font-size: 150%;
}
.modelCourse3r li.tl span {
  display: inline-block;
  background-color: #548235;
  color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-weight: 700;
  font-family: Arial, Helvetica, "sans-serif";
}
.modelCourse3r li.tl b {
  font-size: 60%;
}
.modelCourse3r li img {
  margin: 5px 0;
}
ul.modelCourse4l {
  background-color: #dae3f3;
  margin-top: 5px;
}
.modelCourse4l li {
  font-size: 100%;
}
.modelCourse4l li.tl {
  font-size: 150%;
}
.modelCourse4l li.tl span {
  display: inline-block;
  background-color: #2f5597;
  color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-weight: 700;
  font-family: Arial, Helvetica, "sans-serif";
}
.modelCourse4l li.tl b {
  font-size: 60%;
}
.modelCourse4l li img {
  margin: 5px 0;
}
ul.modelCourse4r {
  background-color: #dae3f3;
  border-radius: 20px;
  float: right;
  width: 176px;
  height: 265px;
  padding: 15px 20px;
  border: 3px solid #fff;
}
.modelCourse4r li {
  font-size: 100%;
}
.modelCourse4r li.tl {
  font-size: 150%;
}
.modelCourse4r li.tl span {
  display: inline-block;
  background-color: #2f5597;
  color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-weight: 700;
  font-family: Arial, Helvetica, "sans-serif";
}
.modelCourse4r li.tl b {
  font-size: 60%;
}
.modelCourse4r li img {
  margin: 5px 0;
}
ul.modelCourse6l {
  background-color: #deebf7;
}
.modelCourse6l li {
  font-size: 100%;
}
.modelCourse6l li.tl {
  font-size: 150%;
}
.modelCourse6l li.tl span {
  display: inline-block;
  background-color: #2e75b6;
  color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-weight: 700;
  font-family: Arial, Helvetica, "sans-serif";
}
.modelCourse6l li.tl b {
  font-size: 60%;
}
.modelCourse6l li img {
  margin: 5px 0;
}
ul.modelCourse6r {
  background-color: #deebf7;
}
.modelCourse6r li {
  font-size: 100%;
}
.modelCourse6r li.tl {
  font-size: 150%;
}
.modelCourse6r li.tl span {
  display: inline-block;
  background-color: #2e75b6;
  color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-weight: 700;
  font-family: Arial, Helvetica, "sans-serif";
}
.modelCourse6r li.tl b {
  font-size: 60%;
}
.modelCourse6r li img {
  margin: 5px 0;
}
ul.modelCourse7l {
  background-color: #fedede;
}
.modelCourse7l li {
  font-size: 100%;
}
.modelCourse7l li.tl {
  font-size: 150%;
}
.modelCourse7l li.tl span {
  display: inline-block;
  background-color: #a31d60;
  color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-weight: 700;
  font-family: Arial, Helvetica, "sans-serif";
}
.modelCourse7l li.tl b {
  font-size: 60%;
}
.modelCourse7l li img {
  margin: 5px 0;
}
ul.modelCourse7r {
  background-color: #fedede;
}
.modelCourse7r li {
  font-size: 100%;
}
.modelCourse7r li.tl {
  font-size: 150%;
}
.modelCourse7r li.tl span {
  display: inline-block;
  background-color: #a31d60;
  color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-weight: 700;
  font-family: Arial, Helvetica, "sans-serif";
}
.modelCourse7r li.tl b {
  font-size: 60%;
}
ul.modelCourse7lv, ul.modelCourse7rv {
  background-color: #fedede;
}
ul.modelCourse7lv {
  border: 3px solid #c55a11;
}
.modelCourse7lv li, .modelCourse7rv li {
  font-size: 100%;
}
.modelCourse7lv li.tl, .modelCourse7rv li.tl {
  font-size: 150%;
}
.modelCourse7lv li.tl b, .modelCourse7rv li.tl b {
  font-size: 60%;
}
.modelCourse7lv li img, .modelCourse7rv li img {
  margin: 5px 0;
}
.modelCourse7lv li.view {
  width: 176px;
  background-color: #c55a11;
  border-radius: 10px;
  display: block;
  padding: 2px;
  text-align: center;
  color: #fff;
  font-weight: 700;
  margin: auto;
}
.modelCourse7lv li.tl span, .modelCourse7rv li.tl span {
  display: inline-block;
  background-color: #a31d60;
  color: #fff;
  border-radius: 50%;
  margin-right: 8px;
  text-align: center;
  width: 25px;
  height: 25px;
  line-height: 25px;
  font-weight: 700;
  font-family: Arial, Helvetica, "sans-serif";
}
.arrows01rl, .arrows01br, .arrows01lr, .arrows01bl, .arrows02lr, .arrows02bl, .arrows02rl, .arrows03rl, .arrows03lr, .arrows03br, .arrows04rl, .arrows05rl, .arrows05br, .arrows05lr, .arrows05bl, .arrows06rl, .arrows06br, .arrows06lr, .arrows06bl {
  width: 140px;
  height: 52px;
  background: url(/userfiles/images/shurijo/guide/arrows_b.png) top left no-repeat;
  background-color: #dfb523;
  background-size: 140px;
  margin: 5px auto;
  text-align: center;
  font-size: 80%;
  font-weight: 700;
  color: #fff;
}
.arrows01ll {
  display: inline-block;
  width: 27px;
  height: 52px;
  background: url(/userfiles/images/shurijo/guide/arrows_l.png) top left no-repeat;
  background-color: #dfb523;
  margin-top: 70px;
  padding: 28px 0 0 3px;
  float: left;
  font-size: 55%;
  font-weight: 700;
  color: #fff;
}
.arrows02ll {
  display: inline-block;
  width: 27px;
  height: 52px;
  background: url(/userfiles/images/shurijo/guide/arrows_l.png) top left no-repeat;
  background-color: #df5c23;
  margin-top: 70px;
  padding: 28px 0 0 3px;
  float: left;
  font-size: 55%;
  font-weight: 700;
  color: #fff;
}
.arrows01rr {
  display: inline-block;
  width: 20px;
  height: 52px;
  background: url(/userfiles/images/shurijo/guide/arrows_r.png) top left no-repeat;
  background-color: #dfb523;
  margin-top: 70px;
  padding: 28px 0 0 10px;
  float: right;
  font-size: 55%;
  font-weight: 700;
  color: #fff;
}
.arrows02rr {
  display: inline-block;
  width: 20px;
  height: 52px;
  background: url(/userfiles/images/shurijo/guide/arrows_r.png) top left no-repeat;
  background-color: #df5c23;
  margin-top: 70px;
  padding: 28px 0 0 10px;
  float: right;
  font-size: 55%;
  font-weight: 700;
  color: #fff;
}
.arrows02lr, .arrows02bl, .arrows02rl {
  background-color: #df5c23;
}
.arrows02br {
  display: inline-block;
  width: 47px;
  height: 29px;
  background: url(/userfiles/images/shurijo/guide/arrows_b.png) top left no-repeat;
  background-color: #df5c23;
  margin-left: 73px;
  padding: 1px 0 0 33px;
  float: right;
  font-size: 55%;
  font-weight: 700;
  color: #fff;
}
.arrows03rl, .arrows03lr, .arrows03br {
  background-color: #548235;
}
.arrows03ll {
  display: inline-block;
  width: 27px;
  height: 52px;
  background: url(/userfiles/images/shurijo/guide/arrows_l.png) top left no-repeat;
  background-color: #548235;
  margin-top: 70px;
  padding: 28px 0 0 3px;
  float: left;
  font-size: 55%;
  font-weight: 700;
  color: #fff;
}
.arrows03bl {
  display: inline-block;
  width: 47px;
  height: 29px;
  background: url(/userfiles/images/shurijo/guide/arrows_b.png) top left no-repeat;
  background-color: #548235;
  margin-left: 73px;
  padding: 1px 0 0 33px;
  float: left;
  font-size: 55%;
  font-weight: 700;
  color: #fff;
}
.arrows04rl {
  background-color: #2f5597;
}
.arrows04ll {
  display: inline-block;
  width: 27px;
  height: 52px;
  background: url(/userfiles/images/shurijo/guide/arrows_l.png) top left no-repeat;
  background-color: #2f5597;
  margin-top: 70px;
  padding: 28px 0 0 3px;
  float: left;
  font-size: 55%;
  font-weight: 700;
  color: #fff;
}
.arrows04bl {
  display: inline-block;
  width: 47px;
  height: 29px;
  background: url(/userfiles/images/shurijo/guide/arrows_b.png) top left no-repeat;
  background-color: #2f5597;
  margin-left: 73px;
  padding: 1px 0 0 33px;
  float: left;
  font-size: 55%;
  font-weight: 700;
  color: #fff;
}
.arrows03rr {
  display: inline-block;
  width: 20px;
  height: 52px;
  background: url(/userfiles/images/shurijo/guide/arrows_r.png) top left no-repeat;
  background-color: #548235;
  margin-top: 70px;
  padding: 28px 0 0 10px;
  float: right;
  font-size: 55%;
  font-weight: 700;
  color: #fff;
}
.arrows04rr {
  display: inline-block;
  width: 20px;
  height: 52px;
  background: url(/userfiles/images/shurijo/guide/arrows_r.png) top left no-repeat;
  background-color: #2f5597;
  margin-top: 70px;
  padding: 28px 0 0 10px;
  float: right;
  font-size: 55%;
  font-weight: 700;
  color: #fff;
}
.arrows04lr {
  display: inline-block;
  width: 20px;
  height: 52px;
  background: url(/userfiles/images/shurijo/guide/arrows_l.png) top left no-repeat;
  background-color: #2f5597;
  margin-top: 70px;
  padding: 28px 0 0 10px;
  float: right;
  font-size: 55%;
  font-weight: 700;
  color: #fff;
}
.arrows04br {
  display: inline-block;
  width: 47px;
  height: 29px;
  background: url(/userfiles/images/shurijo/guide/arrows_b.png) top left no-repeat;
  background-color: #2f5597;
  margin-left: 73px;
  padding: 1px 0 0 33px;
  float: right;
  font-size: 55%;
  font-weight: 700;
  color: #fff;
}
.arrows05rl, .arrows05ll, .arrows056bl, .arrows05rr, .arrows05lr, .arrows05br, .arrows05bl {
  background-color: #2e75b6;
}
.arrows06rl, .arrows06ll, .arrows06bl, .arrows06rr, .arrows06lr, .arrows06br {
  background-color: #a31d60;
}
.modelCourse5l {
  border-radius: 20px;
  border: 2px solid #c00000;
  margin-top: 20px;
  padding: 20px;
}
.modelCourse5r {
  border-radius: 20px;
  border: 2px solid #c00000;
  margin-top: 20px;
  padding: 20px;
}
.modelCourse5l li {
  margin: 10px 0;
}
.modelCourse5r li {
  margin: 10px 0;
}
.modelCourse5r ul, .modelCourse5l ul {
  display: flex;
  flex-wrap: wrap;
}
.modelCourse5r .l250, .modelCourse5l .l250 {
  order: 1;
}
.modelCourse5r .r160, .modelCourse5l .r160 {
  order: 2;
}
.modelCourse5r .r250, .modelCourse5l .r250 {
  order: 3;
}
.modelCourse5r .l160, .modelCourse5l .l160 {
  order: 4;
}
/*

.modelCourse5r li.l160{float:left; width:160px;}
.modelCourse5r li.r160{float:right; width:160px;}
.modelCourse5r li.l250{float:left; width:250px;}
.modelCourse5r li.r250{float:right; width:250px;}
.modelCourse5r li.l205{float:left; width:205px;}
.modelCourse5r li.r205{float:right; width:205px;}
.modelCourse5r li.l250 img{width:250px; height:170px;}
.modelCourse5r li.r250 img{width:250px; height:170px;}
.modelCourse5r li.l205 img{width:205px; height:170px;}
.modelCourse5r li.r205 img{width:205px; height:170px;}
.modelCourse5l ul{}
.modelCourse5l li.l160{float:left; width:160px;}
.modelCourse5l li.r160{float:right; width:160px;}
.modelCourse5l li.l250{float:left; width:250px;}
.modelCourse5l li.r250{float:right; width:250px;}
.modelCourse5l li.l205{float:left; width:205px;}
.modelCourse5l li.r205{float:right; width:205px;}
.modelCourse5l li.l250 img{width:250px; height:170px;}
.modelCourse5l li.r250 img{width:250px; height:170px;}
.modelCourse5l li.l205 img{width:205px; height:170px;}
.modelCourse5l li.r205 img{width:205px; height:170px;}

*/
.course30, .course60, .course120, .course150 {
  width: 48%;
  box-sizing: border-box;
  margin: 20px auto;
  padding: 5px 5px 5px;
  float: left;
}
.course30 {
  border: 2px solid #dfb523;
}
.course30_text_color {
  font-weight: bold;
  background-color: #dfb523;
  color: #fff;
}
.course60 {
  border: 2px solid #df5c23;
}
.course60_text_color {
  font-weight: bold;
  background-color: #df5c23;
  color: #fff;
}
.course120 {
  border: 2px solid #438235;
}
.course120_text_color {
  font-weight: bold;
  background-color: #548235;
  color: #fff;
}
/*
.course120l{width:37px; height:301px; margin-right:5px; background-color:#2f5597; display:block; float:left;}
.course120t{width:37px; height:80px; margin-bottom:-80px; background-color:#548235; display:block; float:left;}
.course150t{width:37px; height:80px; margin-bottom:-80px; background-color:#2f5597; display:block; float:left;}
*/
.course150 {
  border: 2px solid #2f5597;
}
.course150_text_color {
  font-weight: bold;
  background-color: #2f5597;
  color: #fff;
}
/* top_notice */
.notice_area {
  font-size: 13px;
  box-sizing: border-box;
  margin: 0 10px;
  border: 4px double #ccc;
  padding: 17px 8px;
  background-color: #fff;
  line-height: 1.8;
}
.notice_area .ttl {
  padding: 0;
  margin: 0;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
}
/*---------------------------------------------------------------------
	contents_arishihi
---------------------------------------------------------------------*/
#pagebody .contents_arishihi h2, #pagebody .contents_arishihi h3 {
  font-family: 'Noto Serif JP', serif;
}
#pagebody .contents_arishihi .heading_h2 {
  color: #000;
  font-size: 200%;
  font-weight: 600;
  text-align: center;
  background: none;
  margin: 50px 0 20px;
}
#pagebody .contents_arishihi .list_facilities .item {
  border: 1px solid #BFBFBF;
  padding: 20px;
  margin-bottom: 30px;
}
#pagebody .contents_arishihi .list_facilities .item .name {
  font-size: 150%;
  font-weight: 600;
  text-align: center;
  background: none;
  padding: 0;
  margin: 0;
}
#pagebody .contents_arishihi .list_facilities .item .name a {
  color: #000;
  display: block;
  padding: 15px 0;
}
#pagebody .contents_arishihi .list_facilities .item .name a:hover {
  color: #991D1D;
  text-decoration: none;
}
#pagebody .contents_arishihi .list_facilities .item .lead {
  color: #333;
  font-size: 87.5%;
  padding: 15px;
  background-color: #EEEEEE;
}
/*---------------------------------------------------------------------
  fukkou_ayumi_復興へのあゆみ sp
---------------------------------------------------------------------*/
#pagebody .ayumi_content_wrap .caution_txt {
  color: #7d0000;
}
#pagebody .ayumi_content_wrap .lead_txt {
  font-size: 100%;
  font-weight: normal;
}
#pagebody .ayumi_content_wrap .lead_txt_serif {
  margin-bottom: 30px;
  padding: 0 0;
  background: none;
  font-size: 2.9rem;
  color: inherit;
}
#pagebody .ayumi_content_wrap .status_content_lead {
  margin: 0 0;
  padding: 0 0;
  background: none;
  font-size: 2.1rem;
}
.ayumi_content_wrap .lead_block {
  padding: 20px 5px 30px;
  background: url(/userfiles/images/shurijo/fukkou/bg_01.jpg) left top/contain;
}
.ayumi_content_wrap .caution_txt {
  margin: 0 0 20px;
  font-size: 1.9rem;
}
.ayumi_content_wrap .lead_txt {
  line-height: 1.88;
}
.ayumi_content_wrap .status_block_wrap {
  margin-top: 30px;
}
.ayumi_content_wrap .lead_txt_serif {
  text-align: center;
}
.ayumi_content_wrap .status_one_block {
  display: flex;
  align-items: center;
  margin: 30px 0 0 0;
}
.ayumi_content_wrap .status_one_block:not(:last-child) .status_num_wrap::after {
  content: "";
  position: absolute;
  z-index: 5;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 5px;
  height: 520px;
  background-color: #d9d9d9;
}
.ayumi_content_wrap .status_num_wrap {
  position: relative;
}
.ayumi_content_wrap .status_num {
  position: relative;
  z-index: 10;
  width: 70px;
  padding: 2px 20px;
  background-color: #991d1d;
  border-radius: 50%;
  font-size: 3.7rem;
  text-align: center;
  color: #fff;
}
.ayumi_content_wrap .status_content {
  margin-left: -10px;
  padding: 15px 18px;
  border: 1px solid #bfbfbf;
}
.ayumi_content_wrap .status_img_txt_wrap {
  display: flex;
  flex-wrap: wrap;
}
.ayumi_content_wrap .status_img {
  margin: 20px 0 0 0;
}
.ayumi_content_wrap .status_txt {
  margin: 20px 0 0 0;
}
.ayumi_content_wrap .detail_btn {
  position: relative;
  display: block;
  margin: 25px 0 0;
  padding: 10px 0;
  border: 1px solid #bfbfbf;
  background-color: #991d1d;
  text-align: center;
  text-decoration: none;
  color: #fff;
}
.ayumi_content_wrap .detail_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10%;
  border: 5px solid transparent;
  border-left: 5px solid #fff;
  transform: translateY(-50%);
}
/*---------------------------------------------------------------------
  photo_gallery フォトギャラリー
---------------------------------------------------------------------*/
.gallery_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: start;
}
.gallery_wrap .gallery_img {
  width: 46%;
  max-height: 120px;
  margin-bottom: 20px;
  overflow: hidden;
}
/*sp版では被る為、image 6 of 12を非表示にする*/
#colorbox #cboxCurrent {
  position: static;
}
/*---------------------------------------------------------------------
	scroll_top
---------------------------------------------------------------------*/
.scroll_top {
  width: 40%;
  margin: 30px auto 0;
  background-color: #991d1d;
  text-align: center;
}
.scroll_top a {
  color: #fff;
  font-size: 92.85%;
  text-decoration: none;
  display: inline-block;
  vertical-align: bottom;
  border-radius: 8px 8px 0 0;
  background: url(../img/module/icon_arrow_03.png) no-repeat center center/contain;
  padding: 20px 20px;
  transition: .3s;
}
/*---------------------------------------------------------------------
	site_footer
---------------------------------------------------------------------*/
#site_footer {
  padding: 20px 0 15px;
  border-top: 2px solid #991d1d;
  text-align: center;
  background: #f7f4eb url(../img/module/bg_04.png);
}
#site_footer .footer_info {
  margin: 15px auto 0;
}
/*---------------------------------------------------------------------
	bottom_gnavi
---------------------------------------------------------------------*/
ul#bottom_gnavi li {
  margin-top: 1px;
}
ul#bottom_gnavi li a {
  text-decoration: none;
  display: block;
  padding: 8px 10px;
  background: #EEEEEE;
}
/*---------------------------------------------------------------------
	copyright
---------------------------------------------------------------------*/
#copyright {
  position: relative;
  color: #fff;
  font-size: 1.0rem;
  text-align: center;
  padding: 10px 10px 5px;
  background-color: #991D1D;
}
#copyright::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: #000 url(../img/module/bg_03.png);
}
/*# sourceMappingURL=sp_style.css.map */



/* ---------------------------------- 
www.shurijo-fukkou.jp　より移設コンテンツ
---------------------------------- */
.focusing_detail .map_wrap {
    position: relative;
    margin: 20px auto 30px;
    text-align: center;
}
.focusing_detail .map_wrap > img {}
.focusing_detail .map_wrap .map_info_wrap {
    position: absolute;
    top: 318px;
    left: 550px;
  display: none;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(2) {
    top: 345px;
    left: 529px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(3) {
    top: 310px;
    left: 525px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(4) {
    top: 281px;
    left: 423px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(5) {
    top: 295px;
    left: 473px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(6) {
    top: 301px;
    left: 500px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(7) {
    top: 323px;
    left: 479px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(8) {
    top: 327px;
    left: 505px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(9) {
    top: 351px;
    left: 561px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(10) {
    top: 322px;
    left: 598px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(11) {
    top: 277px;
    left: 450px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(12) {
    top: 298px;
    left: 333px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(13) {
    top: 277px;
    left: 558px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(14) {
    top: 268px;
    left: 500px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(15) {
    top: 183px;
    left: 450px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(16) {
    top: 255px;
    left: 280px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(17) {
    top: 258px;
    left: 467px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(18) {
    top: 510px;
    left: 587px;
}
.focusing_detail .map_wrap .map_info_wrap:nth-of-type(19) {
    top: 221px;
    left: 537px;
}
.focusing_detail .map_wrap .map_num {
    width: 20px;
    height: 20px;
  font-size: 11px;
    line-height: 1;
    margin: auto;
    padding: 10px 5px;
    border: 1px solid #707070;
    border-radius: 50%;
    background-color: #fff;
    font-weight: bold;
    text-align: center;
      display: flex;
    justify-content: center;
    align-items: center;
  cursor: pointer;
  z-index: 1;
}
.focusing_detail .map_wrap .map_num:hover {
    background-color: #FFDD35;
}
.focusing_detail .map_wrap .map_num a {
        display: block;
    text-decoration: none;
    color: inherit;
}
.focusing_detail .map_wrap .map_thumb {
    position: absolute;
    right: 50%;
    bottom: 35px;
    z-index: 10;
    display: none;
    width: 180px;
    padding: 10px 10px;
    border: 1px solid #707070;
    border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
    transform: translateX(50%);
}
.focusing_detail .map_wrap .map_thumb::before,
.focusing_detail .map_wrap .map_thumb::after {
  content: "";
          position: absolute;
          bottom: -18px;
          right: 50%;
          width: 0;
          height: 0;
          border: 8px solid transparent;
          border-top: 10px solid #707070;
          z-index: -10;
          transform: translate(50%,0);
}
.focusing_detail .map_wrap .map_thumb::after {
  bottom: -17px;
          border-top-color: #fff;
}
.focusing_detail .map_wrap .map_num:hover + .map_thumb,
.focusing_detail .map_wrap .map_thumb:hover + .map_thumb {
    display: block;
}
.focusing_detail .map_wrap .map_num:hover + .map_thumb::before,
.focusing_detail .map_wrap .map_num:hover + .map_thumb::after,
.focusing_detail .map_wrap .map_thumb:hover + .map_thumb::before,
.focusing_detail .map_wrap .map_thumb:hover + .map_thumb::after {
    display: block;
}

.focusing_detail .map_wrap .map_thumb_link {
    display: block;
    text-align: center;
    text-decoration: none;
    color: inherit;
}
.focusing_detail .map_wrap .map_thumb_ttl {
    margin: 10px auto auto;
}

.focusing_detail .bar_layout {
    display: flex;
    background-color: #EEEEEE;
}
.focusing_detail .bar_layout .bar_txt {
    display: inline-block;
    padding: 6px 20px;
    background-color: #333333;
    color: #fff;
}
.focusing_detail .bar_layout .bar_txt_02 {
    padding: 6px 11px;
    background: transparent;
    color: inherit;
}
.focusing_detail .bar_layout.bar_layout_02 {
    background-color: #E8E2DB;
}
.focusing_detail .bar_layout.bar_layout_02 .bar_txt {
    background-color: #8B714A;
}
.focusing_detail .bar_layout.bar_layout_02 .bar_txt_02 {
    background-color: transparent;
    color: #8B714A;
}
.focusing_detail .img_content + .bar_layout,
.focusing_detail .img_from + .bar_layout {
    margin: 80px auto auto;
}
.focusing_detail .img_content {
    margin: 10px auto auto;
}
.focusing_detail .img_from {
    margin: 6px auto auto;
    text-align: right;
}
.focusing_detail .intro_txt {
 margin: 50px auto auto;
 padding: 20px 30px;
  border: 5px solid #CCCCCC;
}
.focusing_detail .frame_txt {
  width: 96%;
    max-width: 1200px;
    margin: 20px auto 30px;
    padding: 11px 15px;
    border: 1px solid #CCCCCC;
    /*font-size: 125%;*/
    font-weight: bold;
    color: #7D0000;
    text-align: center;
}
.focusing_list {
  counter-reset: list_count;
  padding: 0 20px;
}
.focusing_list .item {
  margin-bottom: 15px;
}
.focusing_list .item a {
  color: #212121;
  text-decoration: none;
  display: block;
  position: relative;
  overflow: hidden;
  border: 1px solid #bfbfbf;
  transition: .3s;
}
.focusing_list .item a::before {
    content: counter(list_count);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 50;
    width: 40px;
    padding: 7px 8px;
    background-color: #8B714A;
    text-align: center;
    color: #fff;
    counter-increment: list_count;
}
.focusing_list .thumb {
  position: relative;
    padding-bottom: 66.66%;
    overflow: hidden;
    display: block;
}
.focusing_list .thumb img {
  position: absolute;
    top: -100%;
    left: -100%;
    right: -100%;
    bottom: -100%;
    margin: auto;
    max-width: none;
    max-height: 100%;
    transition: .5s;
}
.focusing_list a:hover .thumb img {
    opacity: 1.0;
    transform: scale(1.03);
}
.focusing_list .detail {
  padding: 10px;
    position: relative;
  border-top: 1px solid #ccc;
      display: block;
}
.focusing_list .detail .ttl {
  font-size: 112.5%;
    color: #333;
    font-weight: normal;
    position: relative;
    padding: 0 0 0 30px;
    margin-bottom: 12px;
    transition: .3s;
}
.focusing_list a:hover .detail .ttl {
  color: #c9030f;
}
.focusing_list .detail .ttl::before {
  content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 20px;
    height: 4px;
    background-color: #c9030f;
}

@media print, screen and (min-width: 768px) {
  /* ------------------------------------------------------------------------------------------ 
  base
  ------------------------------------------------------------------------------------------ */
  /* normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css  */
  /*
  html {
    font-family: Hiragino Kaku Gothic Pro, Yu Gothic, Meiryo, sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
  }
  body, dl, h1, h2, h3, h4, h5, h6, ol, p, pre, table, ul {
    margin: 0;
  }
  article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
    display: block;
  }
  audio, canvas, progress, video {
    display: inline-block;
    vertical-align: baseline;
  }
  audio:not([controls]) {
    display: none;
    height: 0;
  }
  [hidden], template {
    display: none;
  }
  dd, dt, li, p, pre, td, th {
    -ms-line-break: strict;
    line-break: strict;
    -ms-word-break: break-strict;
    word-break: break-strict;
  }
  a {
    background-color: transparent;
  }
  a:active, a:hover {
    outline: 0;
  }
  abbr[title] {
    border-bottom: 1px dotted;
  }
  b, strong {
    font-weight: 700;
  }
  dfn {
    font-style: italic;
  }
  mark {
    background: #ff0;
    color: #000;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sup {
    top: -.5em;
  }
  sub {
    bottom: -.25em;
  }
  img {
    border: 0;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
  }
  svg:not(:root) {
    overflow: hidden;
  }
  figure {
    margin: 1em 40px;
  }
  hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
  }
  pre {
    overflow: auto;
  }
  code, kbd, pre, samp {
    font-family: monospace;
    font-size: 1em;
  }
  button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0;
  }
  button {
    overflow: visible;
  }
  button, select {
    text-transform: none;
  }
  button, html input[type="button"], input[type=reset], input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer;
  }
  button[disabled], html input[disabled] {
    cursor: default;
  }
  button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
  }
  input {
    line-height: normal;
  }
  input[type=checkbox], input[type=radio] {
    box-sizing: border-box;
    padding: 0;
  }
  input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
    height: auto;
  }
  input[type=search] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
  }
  input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em;
  }
  legend {
    border: 0;
    padding: 0;
  }
  textarea {
    overflow: auto;
  }
  optgroup {
    font-weight: 700;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  td, th {
    padding: 0;
  }
  */
  /*--- typography ---*/
  /*
  @font-face {
    font-family: "YuGothic M";
    src: local("Yu Gothic Medium");
  }
  */
  p, th, td, li {
    font-feature-settings: "palt"1;
    letter-spacing: 0.05em;
  }
  /*--- html ---*/
  html {
    font-size: 62.5%;
  }
  /*--- body ---*/
  body {
    max-width: 100%;
    max-height: 100%;
    font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
    font-weight: 400;
    *font-size: small;
    *font: x-small;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
    color: #000;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -o-text-size-adjust: 100%;
    text-size-adjust: 100%;
    background: url(../img/module/container_bg04.jpg) center 670px;
  }
  /*--- heading ---*/
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.4;
  }
  /*--- img ---*/
  img {
    border: none;
    vertical-align: middle;
    max-width: 100%;
  }
  a img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
  }
  /*--- ul, ol ---*/
  ul, ol {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  /*--- box-sizing ---*/
  *, *::before, *::after {
    box-sizing: border-box;
  }
  * {
    word-break: normal;
    word-wrap: break-word;
  }
  /*--- float clear class ---*/
  .clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
  }
  .clearfix {
    display: inline-block;
    min-height: 1%;
    /* for IE 7*/
  }
  /* Hides from IE-mac \*/
  * html .clearfix {
    height: 1%;
  }
  .clearfix {
    display: block;
  }
  /*--- a href color ---*/
  a {
    text-decoration: underline;
  }
  a:hover {
    color: #8c008c;
  }
  a:link {
    color: #002cb2;
  }
  a:visited {
    color: #555;
  }
  /*--- dl ---*/
  dd {
    margin-left: 0;
  }
  /*--- table ---*/
  table {
    font-size: 93.75%;
    float: none;
    width: 100%;
    border-collapse: collapse;
    border: 2px solid #b8b8b8;
    line-height: 1.6;
  }
  table th {
    vertical-align: middle;
    padding: 16px 8px;
    border: 1px solid #ccc;
    word-break: break-all;
    background-color: #eee;
  }
  table td {
    padding: 14px 18px;
    border: 1px solid #ccc;
    word-break: break-all;
  }
  /*
  @media screen and (max-width: 480px) {
    .sp_table th, .sp_table td {
      display: block;
    }
  }
  */
  /*--- font ---*/
  .fwb {
    font-weight: bold !important;
  }
  .fwn {
    font-weight: normal !important;
  }
  .tal {
    text-align: left !important;
  }
  .tac {
    text-align: center !important;
  }
  .tar {
    text-align: right !important;
  }
  .fsr10 {
    font-size: 62.5% !important;
  }
  .fsr11 {
    font-size: 68.75% !important;
  }
  .fsr12 {
    font-size: 75% !important;
  }
  .fsr13 {
    font-size: 81.25% !important;
  }
  .fsr14 {
    font-size: 87.5% !important;
  }
  .fsr15 {
    font-size: 93.75% !important;
  }
  .fsr16 {
    font-size: 100% !important;
  }
  .fsr17 {
    font-size: 106.25% !important;
  }
  .fsr18 {
    font-size: 112.5% !important;
  }
  .fsr19 {
    font-size: 118.75% !important;
  }
  .fsr20 {
    font-size: 125% !important;
  }
  .fsr21 {
    font-size: 131.25% !important;
  }
  .fsr22 {
    font-size: 137.5% !important;
  }
  .fsr23 {
    font-size: 143.75% !important;
  }
  .fsr24 {
    font-size: 150% !important;
  }
  .fsr25 {
    font-size: 156.25% !important;
  }
  .fsr26 {
    font-size: 162.5% !important;
  }
  .fsr27 {
    font-size: 168.75% !important;
  }
  .fsr28 {
    font-size: 175% !important;
  }
  .fsr29 {
    font-size: 181.25% !important;
  }
  .fsr30 {
    font-size: 187.5% !important;
  }
  /*--- ul,ol ---*/
  .list_decimal {
    list-style-type: decimal;
    padding-left: 30px;
  }
  .list_decimal li + li {
    margin-top: 1em;
  }
  .list_disc {
    list-style-type: disc;
    padding-left: 30px;
  }
  .list_disc li + li {
    margin-top: 1em;
  }
  ol[style*="decimal"], ol[style*="roman"], ol[style*="alpha"] {
    padding-left: 22px;
  }
  ul[style*="disc"], ul[style*="circle"], ul[style*="square"] {
    padding-left: 20px;
  }
  /*--- Padding = pd ---*/
  /* Padding (top + right + bottom + left) = pd */
  .pd2 {
    padding: 2px !important;
  }
  .pd5 {
    padding: 5px !important;
  }
  .pd8 {
    padding: 8px !important;
  }
  .pd10 {
    padding: 10px !important;
  }
  .pd15 {
    padding: 15px !important;
  }
  .pd20 {
    padding: 20px !important;
  }
  .pd25 {
    padding: 25px !important;
  }
  .pd30 {
    padding: 30px !important;
  }
  .pd35 {
    padding: 35px !important;
  }
  .pd40 {
    padding: 40px !important;
  }
  .pd45 {
    padding: 45px !important;
  }
  .pd50 {
    padding: 50px !important;
  }
  .pd55 {
    padding: 55px !important;
  }
  .pd60 {
    padding: 60px !important;
  }
  /* Padding (top + bottom) = pdtb */
  .pdtb5 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .pdtb10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .pdtb15 {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
  .pdtb20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .pdtb25 {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }
  .pdtb30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .pdtb35 {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }
  .pdtb40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .pdtb45 {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
  }
  .pdtb50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .pdtb55 {
    padding-top: 55px !important;
    padding-bottom: 55px !important;
  }
  .pdtb60 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  /* Padding (right + left) = pdrl */
  .pdrl5 {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .pdrl10 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .pdrl15 {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }
  .pdrl20 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .pdrl25 {
    padding-right: 25px !important;
    padding-left: 25px !important;
  }
  .pdrl30 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .pdrl35 {
    padding-right: 35px !important;
    padding-left: 35px !important;
  }
  .pdrl40 {
    padding-right: 40px !important;
    padding-left: 40px !important;
  }
  .pdrl45 {
    padding-right: 45px !important;
    padding-left: 45px !important;
  }
  .pdrl50 {
    padding-right: 50px !important;
    padding-left: 50px !important;
  }
  .pdrl55 {
    padding-right: 55px !important;
    padding-left: 55px !important;
  }
  .pdrl60 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  /* Padding (top) = pdt */
  .pdt5 {
    padding-top: 5px !important;
  }
  .pdt10 {
    padding-top: 10px !important;
  }
  .pdt15 {
    padding-top: 15px !important;
  }
  .pdt20 {
    padding-top: 20px !important;
  }
  .pdt25 {
    padding-top: 25px !important;
  }
  .pdt30 {
    padding-top: 30px !important;
  }
  .pdt35 {
    padding-top: 35px !important;
  }
  .pdt40 {
    padding-top: 40px !important;
  }
  .pdt45 {
    padding-top: 45px !important;
  }
  .pdt50 {
    padding-top: 50px !important;
  }
  .pdt55 {
    padding-top: 55px !important;
  }
  .pdt60 {
    padding-top: 60px !important;
  }
  /* Padding (right) = pdr */
  .pdr5 {
    padding-right: 5px !important;
  }
  .pdr10 {
    padding-right: 10px !important;
  }
  .pdr15 {
    padding-right: 15px !important;
  }
  .pdr20 {
    padding-right: 20px !important;
  }
  .pdr25 {
    padding-right: 25px !important;
  }
  .pdr30 {
    padding-right: 30px !important;
  }
  .pdr35 {
    padding-right: 35px !important;
  }
  .pdr40 {
    padding-right: 40px !important;
  }
  .pdr45 {
    padding-right: 45px !important;
  }
  .pdr50 {
    padding-right: 50px !important;
  }
  .pdr55 {
    padding-right: 55px !important;
  }
  .pdr60 {
    padding-right: 60px !important;
  }
  /* Padding (bottom) = pdb */
  .pdb5 {
    padding-bottom: 5px !important;
  }
  .pdb10 {
    padding-bottom: 10px !important;
  }
  .pdb15 {
    padding-bottom: 15px !important;
  }
  .pdb20 {
    padding-bottom: 20px !important;
  }
  .pdb25 {
    padding-bottom: 25px !important;
  }
  .pdb30 {
    padding-bottom: 30px !important;
  }
  .pdb35 {
    padding-bottom: 35px !important;
  }
  .pdb40 {
    padding-bottom: 40px !important;
  }
  .pdb45 {
    padding-bottom: 45px !important;
  }
  .pdb50 {
    padding-bottom: 50px !important;
  }
  .pdb55 {
    padding-bottom: 55px !important;
  }
  .pdb60 {
    padding-bottom: 60px !important;
  }
  /* Padding (left) = pdl */
  .pdl5 {
    padding-left: 5px !important;
  }
  .pdl10 {
    padding-left: 10px !important;
  }
  .pdl15 {
    padding-left: 15px !important;
  }
  .pdl20 {
    padding-left: 20px !important;
  }
  .pdl25 {
    padding-left: 25px !important;
  }
  .pdl30 {
    padding-left: 30px !important;
  }
  .pdl35 {
    padding-left: 35px !important;
  }
  .pdl40 {
    padding-left: 40px !important;
  }
  .pdl45 {
    padding-left: 45px !important;
  }
  .pdl50 {
    padding-left: 50px !important;
  }
  .pdl55 {
    padding-left: 55px !important;
  }
  .pdl60 {
    padding-left: 60px !important;
  }
  /*--- Margin = mg ---*/
  /* Margin (top + right + bottom + left) = mg */
  .mg2 {
    margin: 2px !important;
  }
  .mg5 {
    margin: 5px !important;
  }
  .mg8 {
    margin: 8px !important;
  }
  .mg10 {
    margin: 10px !important;
  }
  .mg15 {
    margin: 15px !important;
  }
  .mg20 {
    margin: 20px !important;
  }
  .mg25 {
    margin: 25px !important;
  }
  .mg30 {
    margin: 30px !important;
  }
  .mg35 {
    margin: 35px !important;
  }
  .mg40 {
    margin: 40px !important;
  }
  .mg45 {
    margin: 45px !important;
  }
  .mg50 {
    margin: 50px !important;
  }
  .mg55 {
    margin: 55px !important;
  }
  .mg60 {
    margin: 60px !important;
  }
  /* Margin (top + bottom) = mgtb */
  .mgtb5 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .mgtb10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .mgtb15 {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
  .mgtb20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .mgtb25 {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }
  .mgtb30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .mgtb35 {
    margin-top: 35px !important;
    margin-bottom: 35px !important;
  }
  .mgtb40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .mgtb45 {
    margin-top: 45px !important;
    margin-bottom: 45px !important;
  }
  .mgtb50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .mgtb55 {
    margin-top: 55px !important;
    margin-bottom: 55px !important;
  }
  .mgtb60 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .mgtb80 {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  /* Margin (right + left) = mgrl */
  .mgrl5 {
    margin-right: 5px !important;
    margin-left: 5px !important;
  }
  .mgrl10 {
    margin-right: 10px !important;
    margin-left: 10px !important;
  }
  .mgrl15 {
    margin-right: 15px !important;
    margin-left: 15px !important;
  }
  .mgrl20 {
    margin-right: 20px !important;
    margin-left: 20px !important;
  }
  .mgrl25 {
    margin-right: 25px !important;
    margin-left: 25px !important;
  }
  .mgrl30 {
    margin-right: 30px !important;
    margin-left: 30px !important;
  }
  .mgrl35 {
    margin-right: 35px !important;
    margin-left: 35px !important;
  }
  .mgrl40 {
    margin-right: 40px !important;
    margin-left: 40px !important;
  }
  .mgrl45 {
    margin-right: 45px !important;
    margin-left: 45px !important;
  }
  .mgrl50 {
    margin-right: 50px !important;
    margin-left: 50px !important;
  }
  .mgrl55 {
    margin-right: 55px !important;
    margin-left: 55px !important;
  }
  .mgrl60 {
    margin-right: 60px !important;
    margin-left: 60px !important;
  }
  /* Margin (top) = mgt */
  .mgt5 {
    margin-top: 5px !important;
  }
  .mgt10 {
    margin-top: 10px !important;
  }
  .mgt15 {
    margin-top: 15px !important;
  }
  .mgt20 {
    margin-top: 20px !important;
  }
  .mgt25 {
    margin-top: 25px !important;
  }
  .mgt30 {
    margin-top: 30px !important;
  }
  .mgt35 {
    margin-top: 35px !important;
  }
  .mgt40 {
    margin-top: 40px !important;
  }
  .mgt45 {
    margin-top: 45px !important;
  }
  .mgt50 {
    margin-top: 50px !important;
  }
  .mgt55 {
    margin-top: 55px !important;
  }
  .mgt60 {
    margin-top: 60px !important;
  }
  /* Margin (right) = mgr */
  .mgr5 {
    margin-right: 5px !important;
  }
  .mgr10 {
    margin-right: 10px !important;
  }
  .mgr15 {
    margin-right: 15px !important;
  }
  .mgr20 {
    margin-right: 20px !important;
  }
  .mgr25 {
    margin-right: 25px !important;
  }
  .mgr30 {
    margin-right: 30px !important;
  }
  .mgr35 {
    margin-right: 35px !important;
  }
  .mgr40 {
    margin-right: 40px !important;
  }
  .mgr45 {
    margin-right: 45px !important;
  }
  .mgr50 {
    margin-right: 50px !important;
  }
  .mgr55 {
    margin-right: 55px !important;
  }
  .mgr60 {
    margin-right: 60px !important;
  }
  .mgr80 {
    margin-right: 80px !important;
  }
  /* Margin (bottom) = mgb */
  .mgb5 {
    margin-bottom: 5px !important;
  }
  .mgb10 {
    margin-bottom: 10px !important;
  }
  .mgb15 {
    margin-bottom: 15px !important;
  }
  .mgb20 {
    margin-bottom: 20px !important;
  }
  .mgb25 {
    margin-bottom: 25px !important;
  }
  .mgb30 {
    margin-bottom: 30px !important;
  }
  .mgb35 {
    margin-bottom: 35px !important;
  }
  .mgb40 {
    margin-bottom: 40px !important;
  }
  .mgb45 {
    margin-bottom: 45px !important;
  }
  .mgb50 {
    margin-bottom: 50px !important;
  }
  .mgb55 {
    margin-bottom: 55px !important;
  }
  .mgb60 {
    margin-bottom: 60px !important;
  }
  .mgb80 {
    margin-bottom: 80px !important;
  }
  /* Margin (left) = mgl */
  .mgl5 {
    margin-left: 5px !important;
  }
  .mgl10 {
    margin-left: 10px !important;
  }
  .mgl15 {
    margin-left: 15px !important;
  }
  .mgl20 {
    margin-left: 20px !important;
  }
  .mgl25 {
    margin-left: 25px !important;
  }
  .mgl30 {
    margin-left: 30px !important;
  }
  .mgl35 {
    margin-left: 35px !important;
  }
  .mgl40 {
    margin-left: 40px !important;
  }
  .mgl45 {
    margin-left: 45px !important;
  }
  .mgl50 {
    margin-left: 50px !important;
  }
  .mgl55 {
    margin-left: 55px !important;
  }
  .mgl60 {
    margin-left: 60px !important;
  }
  .mgl80 {
    margin-left: 80px !important;
  }
  /* ------------------------------------------------------------------------------------------ 
  module
  ------------------------------------------------------------------------------------------ */
  /*---------------------------------------------------------------------
    header
  ---------------------------------------------------------------------*/
  /* goToSpSiteButton */
  #goToSpSiteButton {
    display: none;
    text-align: center;
  }
  #goToSpSiteButton a {
    background: #ff7f00;
    color: #fff;
    display: block;
    margin: 15px;
    text-decoration: none;
    font-size: 50px;
    font-weight: bold;
  }
  #goToSpSiteButton a span {
    padding: 25px 10px 25px 60px;
    background: url(../../image/top/icon_btn_link_sp.png) no-repeat 0 center;
    display: inline-block;
  }
  /*
  @media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
    #goToSpSiteButton {
      display: block;
      text-align: center;
    }
  }
  */
  /* h1 */
  #header {
    color: #fff;
    font-size: 1.3rem;
    background-color: #000;
    padding: 13px 20px 8px;
    /* utility_menu */
    /* color_switch */
    /* fontsize */
    /* search_form */
  }
  #header #header_inner {
    float: right;
    margin-bottom: 13px;
  }
  #header h1 {
    float: left;
    margin-top: 6px;
  }
  #header h1 a {
    text-indent: -9999px;
    width: 275px;
    height: 46px;
    display: block;
    background: url(../img/header/site_logo.png) no-repeat 0 0;
  }
  #header #utility_menu {
    float: right;
  }
  #header #color_switch {
    float: left;
    margin-right: 15px;
    letter-spacing: -.4em;
  }
  #header #color_switch li {
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    margin-left: 3px;
    letter-spacing: normal;
  }
  #header #color_switch li:first-child {
    margin-right: 5px;
  }
  #header #color_switch li a {
    cursor: pointer;
    display: block;
    border: 1px solid #8d949e;
    width: 24px;
    height: 24px;
    background: #fff;
    box-sizing: border-box;
  }
  #header #color_switch li .blue {
    background: #0000FF;
  }
  #header #color_switch li .yellow {
    background: #FFFF00;
  }
  #header #color_switch li .black {
    background: #000;
  }
  #header #fontsize {
    float: left;
    margin-right: 20px;
    letter-spacing: -.4em;
  }
  #header #fontsize li {
    display: inline-block;
    vertical-align: middle;
    margin-left: 3px;
    text-align: left;
    letter-spacing: normal;
  }
  #header #fontsize li:first-child {
    margin-right: 5px;
  }
  #header #fontsize li .changeBtn {
    display: block;
    cursor: pointer;
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-decoration: none;
    color: #000;
    font-size: 13px;
    border: 1px solid #8d949e;
    text-align: center;
    background: #fff;
    box-sizing: border-box;
  }
  #header #fontsize li .selected {
    background: #f12121;
    background: -moz-linear-gradient(top, #f12121 0%, #cc0d0d 100%);
    background: -webkit-linear-gradient(top, #f12121 0%, #cc0d0d 100%);
    background: linear-gradient(to bottom, #f12121 0%, #cc0d0d 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f12121', endColorstr='#cc0d0d', GradientType=0);
    color: #fff;
  }
  #header #search_form {
    float: left;
    margin-right: 20px;
    color: #000;
  }
  #header #search_form input {
    vertical-align: middle;
  }
  #header #search_form #search_window {
    width: 160px;
    height: 24px;
    border: 1px solid #C87d7d;
    /* border: 1px solid #C87d7d7dC8C8; */
  }
  #header #search_form #serch_button {
    font-weight: bold;
    cursor: pointer;
    border: 1px solid #7d7d7d;
    padding: 2px 12px;
    background: #BFBFBF;
  }
  /* lang_switch */
  #lang_switch {
    float: left;
    width: 150px;
    text-align: center;
    position: relative;
  }

  .default_lang_switch {
    display: none;
  }

  /*
  .closs_lang_switch {
      display: none;
  }
  */
  #lang_switch > li > a {
    font-size: 1.3rem;
    display: block;
    color: #808080;
    background-color: #262626;
    text-decoration: none;
    padding: 4px 0;
    transition: .3s;
  }
  #lang_switch > li > a:hover, #lang_switch > li > a:active, #lang_switch > li > a:focus {
    background: #fff;
    color: #000;
  }
  #lang_switch .lang_menu {
    display: none;
    font-size: 1.6rem;
    position: absolute;
    z-index: 20;
    margin-top: 0;
    background: #fff;
    width: 148px;
    text-align: center;
    border: 1px solid #262626;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.1);
  }
  #lang_switch .lang_menu li + li {
    border-top: 1px solid #262626;
  }
  #lang_switch .lang_menu a {
    color: #000;
    font-weight: 500;
    text-align: center;
    padding: 10px 8px;
    font-size: 86.66%;
    text-decoration: none;
    display: block;
  }
  #lang_switch .lang_menu a:hover, #lang_switch .lang_menu a:focus, #lang_switch .lang_menu a:active {
    text-decoration: underline;
  }
  /*---------------------------------------------------------------------
    gnavi
  ---------------------------------------------------------------------*/
  #gnavi {
    float: right;
    width: 70%;
  }
  #gnavi ul {
    text-align: right;
    letter-spacing: -.4em;
  }
  #gnavi ul li {
    letter-spacing: normal;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    border-right: 1px solid #b5b5b5;
  }
  #gnavi ul li a {
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    display: block;
    padding: 0 15px;
    transition: 0.3s;
  }
  #gnavi ul li a:hover {
    color: #ffb7b7;
  }
  #gnavi ul li:last-child {
    border-right: none;
  }
  #gnavi ul li:last-child a {
    padding-right: 0;
  }
  /*---------------------------------------------------------------------
    container
  ---------------------------------------------------------------------*/
  #container {
    margin: 0 auto;
    text-align: left;
    overflow: hidden;
  }
  /*---------------------------------------------------------------------
    page_ttl
  ---------------------------------------------------------------------*/
  .page_ttl {
    padding: 37px 0;
    background: url(../img/module/page_ttl_bg_01.png) top left repeat;
  }
  .page_ttl .inner {
    width: 1200px;
    margin: 0 auto;
  }
  .page_ttl .inner h1, .page_ttl .inner .ttl {
    color: #FFFFFF;
    font-size: 187.5%;
    font-weight: normal;
    line-height: 1.4;
  }
  /*---------------------------------------------------------------------
    pagebody
  ---------------------------------------------------------------------*/
  #pagebody {
    background: url(../img/module/pagebody_bg.png) no-repeat center 110px;
  }
  #pagebody #pagebody_inner {
    width: 1200px;
    margin: 0 auto;
    background-color: #fff;
    padding: 10px 100px 40px;
  }
  #pagebody #pagebody_inner #readspeaker_button1 {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 0;
  }
  #pagebody #pagebody_inner #readspeaker_button1 + #topic_path_top {
    display: inline-block;
    vertical-align: middle;
    margin-left: 15px;
  }
  #pagebody .help_info_inner {
    margin-left: -80px;
    padding-bottom: 25px;
  }
  /*---------------------------------------------------------------------
    alpha
  ---------------------------------------------------------------------*/
  #alpha {
    /* rsbtn */
    /* alpha_inner */
    /* content1 */
    /* list_pamphlet */
    /* lead_txt */
    /* lead_txt_serif */
    /* caution_txt */
    /* caution_bg */
    /* a img */
    /* icon_pdf */
    /* icon_doc */
  }
  #alpha .rsbtn {
    margin-bottom: 30px !important;
  }
  #alpha #alpha_inner {
    width: 680px;
    float: left;
    display: inline;
    position: relative;
  }
  #alpha #content1 {
    margin-bottom: 30px;
  }
  #alpha .list_pamphlet li {
    margin-bottom: 10px;
  }
  #alpha .lead_txt {
    font-size: 112.5%;
    font-weight: bold;
  }
  #alpha .lead_txt_serif {
    font-size: 175%;
    line-height: 1.4;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
  }
  #alpha .caution_txt {
    color: #721A54;
  }
  #alpha .caution_01 {
    color: #D00C0C;
  }
  #alpha .caution_02 {
    color: #3e4e9b;
  }
  #alpha .caution_03 {
    color: #721A54;
    font-size: 137.5%;
    font-weight: 700;
    line-height: 1.4;
  }
  #alpha .caution_04 {
    color: #8D0D0D;
  }
  #alpha .caution_bg01 {
    background: #f7f4e6;
  }
  #alpha a img {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #alpha a img:hover {
    opacity: 0.5;
  }
  /* #alpha .icon_pdf {
    background: url(../img/module/icon_pdf.gif) left center no-repeat;
    padding-left: 23px;
    text-decoration: none;
    font-weight: bold;
  } */
  /* #alpha .icon_doc {
    background: url(../img/module/icon_doc.gif) left center no-repeat;
    padding-left: 23px;
    text-decoration: none;
    font-weight: bold;
  } */
  /* onecolumun */
  #onecolumun #alpha #alpha_inner {
    width: 980px;
    float: none;
  }
  /*---------------------------------------------------------------------
    headline
  ---------------------------------------------------------------------*/
  #alpha h1 {
    color: #B20000;
    font-size: 143.75%;
    font-weight: normal;
    line-height: 1.4;
    padding: 0 0 7px;
    margin: 0 0 20px;
    background: url(../img/module/alpha_h3_bg02.jpg) left bottom repeat-x;
  }
  #alpha h2 {
    color: #B20000;
    font-size: 143.75%;
    font-weight: normal;
    line-height: 1.4;
    padding: 0 0 7px;
    margin: 0 0 20px;
    background: url(../img/module/alpha_h3_bg02.jpg) left bottom repeat-x;
  }
  #alpha h3 {
    font-size: 112.5%;
    font-weight: normal;
    line-height: 1.4;
    padding: 8px 0 5px 13px;
    margin: 0 0 15px;
    overflow: hidden;
    background: #F7F4E6;
  }
  #alpha h4 {
    font-size: 100%;
    color: #8E0E0E;
    line-height: 1.4;
    margin: 0 0 5px;
  }
  /*---------------------------------------------------------------------
    table
  ---------------------------------------------------------------------*/
  #alpha table {
    width: 100%;
    border-collapse: collapse;
    border: 2px solid #C8C8C8;
  }
  #alpha table tr th {
    color: #111111;
    font-weight: normal;
    vertical-align: middle;
    padding: 8px;
    border: 1px solid #C8C8C8;
    background: #FCEBE4;
  }
  #alpha table tr td {
    padding: 8px;
    border: 1px solid #C8C8C8;
  }
  #alpha table tr td.caution {
    background: #FFFBB0;
  }
  /* fll */
  #alpha .fll_img {
    float: left;
    display: inline;
    margin: 0 20px 10px 0;
  }
  .fll200 {
    float: left;
    display: inline;
    width: 200px;
  }
  .fll210 {
    float: left;
    display: inline;
    width: 210px;
  }
  .fll220 {
    float: left;
    display: inline;
    width: 220px;
  }
  .fll230 {
    float: left;
    display: inline;
    width: 230px;
  }
  .fll250 {
    float: left;
    display: inline;
    width: 250px;
  }
  .fll260 {
    float: left;
    display: inline;
    width: 260px;
  }
  .fll300 {
    float: left;
    display: inline;
    width: 300px;
  }
  .fll320 {
    float: left;
    display: inline;
    width: 320px;
  }
  .fll330 {
    float: left;
    display: inline;
    width: 330px;
  }
  .fll340 {
    float: left;
    display: inline;
    width: 340px;
  }
  .fll390 {
    float: left;
    display: inline;
    width: 390px;
  }
  .fll400 {
    float: left;
    display: inline;
    width: 400px;
  }
  .fll410 {
    float: left;
    display: inline;
    width: 410px;
  }
  .fll480 {
    float: left;
    display: inline;
    width: 480px;
  }
  .fll660 {
    float: left;
    display: inline;
    width: 660px;
  }
  /* flr */
  #alpha .flr_img {
    float: right;
    display: inline;
    margin: 0 0 10px 20px;
  }
  .flr210 {
    float: right;
    display: inline;
    width: 210px;
  }
  .flr220 {
    float: right;
    display: inline;
    width: 220px;
  }
  .flr230 {
    float: right;
    display: inline;
    width: 230px;
  }
  .flr250 {
    float: right;
    display: inline;
    width: 250px;
  }
  .flr260 {
    float: right;
    display: inline;
    width: 260px;
  }
  .flr300 {
    float: right;
    display: inline;
    width: 300px;
  }
  .flr320 {
    float: right;
    display: inline;
    width: 320px;
  }
  .flr330 {
    float: right;
    display: inline;
    width: 330px;
  }
  .flr340 {
    float: right;
    display: inline;
    width: 340px;
  }
  .flr390 {
    float: right;
    display: inline;
    width: 390px;
  }
  .flr400 {
    float: right;
    display: inline;
    width: 400px;
  }
  .flr410 {
    float: right;
    display: inline;
    width: 410px;
  }
  .flr460 {
    float: right;
    display: inline;
    width: 460px;
  }
  .flr480 {
    float: right;
    display: inline;
    width: 480px;
  }
  .flr660 {
    float: right;
    display: inline;
    width: 660px;
  }
  .flr710 {
    float: right;
    display: inline;
    width: 710px;
  }
  /* Layout 4column = l_4column */
  #alpha .l_4column {
    width: 700px;
    margin-right: -20px;
  }
  #alpha .l_4column img {
    width: 100%;
  }
  #alpha .l_4column li {
    text-align: center;
    width: 155px;
    float: left;
    margin: 0 19.5px 20px 0;
  }
  #alpha .l_4column li p {
    margin: 0;
  }
  /* Layout 3column = l_3column */
  #alpha .l_3column {
    width: 700px;
    margin-right: -20px;
  }
  #alpha .l_3column img {
    width: 100%;
  }
  #alpha .l_3column li {
    text-align: center;
    width: 213px;
    float: left;
    margin: 0 20px 20px 0;
  }
  #alpha .l_3column li p {
    margin: 0;
  }
  /* Layout 2column = l_2column */
  #alpha .l_2column {
    width: 700px;
    margin-right: -20px;
  }
  #alpha .l_2column img {
    width: 100%;
  }
  #alpha .l_2column li {
    text-align: center;
    width: 330px;
    float: left;
    margin: 0 20px 20px 0;
  }
  #alpha .l_2column li p {
    margin: 0;
  }
  /* dl_f240 */
  .dl_f240 dl dt {
    float: left;
    display: inline;
    width: 240px;
  }
  .dl_f240 dl dd {
    float: right;
    display: inline;
    width: 420px;
  }
  /* img_3column */
  #alpha .img_3column {
    width: 690px;
    margin-right: -10px;
  }
  #alpha .img_3column li {
    width: 220px;
    float: left;
    margin: 0 10px 10px 0;
  }
  #alpha .img_3column li p {
    font-size: 81.25%;
    line-height: 1.4;
    margin-top: 5px;
  }
  /* img_2column */
  #alpha .img_2column {
    width: 700px;
    margin-right: -20px;
  }
  #alpha .img_2column li {
    width: 330px;
    float: left;
    margin: 0 20px 20px 0;
  }
  #alpha .img_2column li p {
    font-size: 81.25%;
    line-height: 1.4;
    margin-top: 5px;
  }
  /* caution_box */
  #alpha .caution_box {
    padding: 10px;
    margin-bottom: 30px;
    border: 2px solid #aaaaaa;
  }
  #alpha .caution_box dt {
    color: #D00D0D;
    font-size: 112.5%;
    line-height: 1.2;
    margin: 0 0 10px;
    padding: 0 0 5px;
    border-bottom: 1px solid #aaaaaa;
  }
  #alpha .caution_box03 p {
    text-align: center;
    font-weight: bold;
    margin-bottom: 7px;
  }
  #alpha .caution_box03 span {
    display: block;
    background-color: #F4F4F4;
    border: 2px solid #ccc;
    margin: 0 20px;
    padding: 4px 0;
  }
  /* bdr*/
  #alpha .bdr_box {
    padding: 20px;
    border: 3px solid #CCCCCC;
  }
  #alpha .bdr_bottom {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px dotted #666666;
  }
  /* bottom type */
  #alpha .type02 {
    font-size: 112.5%;
    color: #fff;
    text-decoration: none;
    display: inline-block;
    background-color: #8E0E0E;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
    padding: 10px 30px;
  }
  /* ul ol */
  #alpha ul.alpha_ul li {
    line-height: 1.9;
    padding: 0 0 0 15px;
    background: url(../img/module/icon_arrow_02.gif) 5px 10px no-repeat;
  }
  #alpha ol.alpha_ol {
    line-height: 1.9;
    list-style-type: decimal;
    padding-left: 35px;
  }
  #alpha ul.alpha_li {
    line-height: 1.9;
    list-style-type: disc;
    padding-left: 25px;
  }
  /* passport */
  #alpha .passport li {
    display: inline;
    float: left;
    margin-right: 25px;
  }
  /* acrobat */
  #alpha .acrobat {
    background-color: #EEE;
    padding: 10px 5px 8px;
  }
  #alpha .acrobat li {
    font-size: 81.25%;
    display: inline;
    float: left;
    padding: 0 5px;
    line-height: 130%;
  }
  /* alpha_a_navi */
  #alpha .alpha_a_navi {
    width: 690px;
    margin: 0 -10px 20px 0;
  }
  #alpha .alpha_a_navi li {
    font-size: 93.75%;
    text-align: center;
    line-height: 1.4;
    width: 335px;
    float: left;
    margin: 0 10px 10px 0;
  }
  #alpha .alpha_a_navi li a {
    display: block;
    padding: 10px 5px;
    border: 1px dotted #AAA;
    background: #EFEFEF;
  }
  /* download_contents */
  #alpha .download_contents dl dd {
    line-height: 1.9;
    text-align: center;
  }
  /*---------------------------------------------------------------------
    list_index
  ---------------------------------------------------------------------*/
  #list_index {
    width: 700px;
    margin-right: -20px;
    /* list_img */
  }
  #list_index .list_index_contents {
    width: 330px;
    float: left;
    margin-right: 20px;
    margin-bottom: 25px;
  }
  #list_index .list_index_contents:hover h2 {
    background-color: #fff;
  }
  #list_index .list_index_contents h2, #list_index .list_index_contents h2.side_blog_parts {
    transition: .3s ease-in-out;
    font-size: 112.5%;
    background: url(../img/module/list_index_h_bg.gif) repeat-y 1px 1px #FBE4DB;
    border: 1px solid #961E1E;
    padding: 0;
    margin: 0 0 10px;
  }
  #list_index .list_index_contents h2 a {
    color: #000;
    text-decoration: none;
    display: block;
    padding: 15px 10px 14px 23px;
  }
  #list_index .list_index_contents ul li {
    padding-left: 15px;
    margin-bottom: 8px;
    background: url(../img/module/icon_arrow_01.png) no-repeat 0 5px;
  }
  #list_index .list_img li {
    width: 330px;
    float: left;
    margin-right: 20px;
    margin-bottom: 30px;
  }
  /*---------------------------------------------------------------------
    area_icon
  ---------------------------------------------------------------------*/
  /* area_icon_free */
  .area_icon_free {
    color: #fff;
    font-size: 81.25%;
    text-align: center;
    width: 90px;
    height: 26px;
    line-height: 26px;
    position: absolute;
    top: 0;
    right: 0;
    background-color: #2746D8;
  }
  /* area_icon_pay */
  .area_icon_pay {
    color: #FFF100;
    font-size: 81.25%;
    text-align: center;
    min-width: 90px;
    height: 26px;
    line-height: 26px;
    position: absolute;
    top: 0;
    right: 0;
    background-color: #A00E15;
    padding: 0 7px;
  }
  /*---------------------------------------------------------------------
    page - news
  ---------------------------------------------------------------------*/
  /* information */
  #alpha .information_list dt {
    font-weight: bold;
    padding: 0 0 0 10px;
    background: url(../img/module/icon_arrow_02.gif) left 8px no-repeat;
  }
  #alpha .information_list dd {
    /*padding: 8px 8px 8px 100px;*/
    padding: 8px;
    margin: 5px 0 25px;
    background: #EEE;
    display: table;
    width: 100%;
  }

  .icon_i_cat {}
  .icon_i_cat span {
    font-size: 1.3rem;
    color: #fff;
    text-align: center;
    background: #eeeeee;
    display: inline-block;
    vertical-align: top;
    padding: 3px 10px;
    min-width: 110px;
    margin-right: 15px;
  }
  #alpha .information_list .icon_i_cat {
    display: table-cell;
    vertical-align: top;
    width: 130px;
  }
  #alpha .information_list .icon_i_cat span {
    display: block;
  }
  #alpha .information_list .icon_i_cat .tag_shuri_fukkou { background: #991D1D; } /* 復元・復興情報 */
  #alpha .information_list .icon_i_cat .tag_shuri_park { background: #468C00; } /* 公園情報 */
  #alpha .information_list .icon_i_cat .tag_shuri_otoku { background: #D9A300; } /* お得情報 */
  #alpha .information_list .icon_i_cat .tag_shuri_voice { background: #152199; } /* お客様の声 */
  #alpha .information_list .icon_i_cat .tag_shuri_other { background: #727236; } /* その他 */
  #alpha .information_list dd a {
    display: table-cell;
    vertical-align: top;
  }


  /* blog_list */
  #alpha .blog_list ul li {
    margin: 20px 0 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ccc;
  }
  #alpha .blog_list ul li.last_child {
    margin-bottom: 5px;
    padding-bottom: 0;
    border-bottom: medium none;
  }
  #alpha .blog_list ul li .thumb {
    display: inline;
    float: left;
    width: 200px;
    height: 140px;
    overflow: hidden;
  }
  #alpha .blog_list ul li .thumb img {
    width: 100%;
  }
  #alpha .blog_list ul li .ttl_txt {
    font-weight: bold;
    width: 460px;
    display: inline;
    float: right;
  }
  #alpha .blog_list ul li .ttl_txt .date {
    font-size: 112.5%;
    margin-bottom: 5px;
    padding-top: 25px;
  }
  #alpha .blog_list ul li .ttl_txt .listpage_ttl {
    font-size: 125%;
    margin: 10px 0;
  }
  #alpha .blog_list .tag_shuridayori {
    background: url(../img/site/tag_shuridayori.gif) top left no-repeat;
  }
  /* pager */
  #alpha .pager {
    margin-bottom: 30px;
  }
  #alpha .pager ul {
    display: inline;
    float: right;
  }
  #alpha .pager ul li {
    display: inline;
    float: left;
    margin-right: 5px;
  }
  #alpha .pager ul li span, #alpha .pager ul li a {
    background: #fff;
    border: 1px solid #ccc;
    display: inline-block;
    margin-bottom: 5px;
    padding: 1px 8px;
    text-decoration: none;
    vertical-align: middle;
  }
  #alpha .pager ul li a:hover {
    background: #eee;
  }
  #alpha .link_prev_next {
    margin-top: 60px;
    text-align: center;
  }
  /*---------------------------------------------------------------------
    page - event
  ---------------------------------------------------------------------*/
  /* event_list */
  #alpha .event_list ul li {
    border-bottom: 1px solid #ccc;
    margin: 20px 0 10px;
    padding-bottom: 10px;
  }
  #alpha .event_list ul li.last_child {
    border-bottom: medium none;
    margin-bottom: 5px;
    padding-bottom: 0;
  }
  #alpha .event_list ul li .thumb {
    display: inline;
    float: left;
    overflow: hidden;
    width: 150px;
  }
  #alpha .event_list ul li .thumb a {
    display: block;
    position: relative;
    overflow: hidden;
    padding-bottom: 61.75%;
    background: #ECE6DE;
    margin-bottom: 10px;
  }
  #alpha .event_list ul li .thumb img {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
  }
  #alpha .event_list ul li .ttl_txt {
    display: inline;
    float: right;
    font-weight: bold;
    width: 510px;
    font-size: 112.5%;
    /*padding-top: 25px;*/
  }
  #alpha .event_list ul li .ttl_txt .event_date_text {
    font-size: 87.5%;
    margin-top: 10px;
  }

  .icon_e_cat { margin-bottom: 5px; }
  .icon_e_cat span {
    display: inline-block;
    vertical-align: top;
    color: #fff;
    text-align: center;
    font-size: 1.3rem;
    background: #fff;
    min-width: 116px;
    padding: 3px 10px;
  }

  .icon_e_cat .tag_shuri_fukkou { background: #991D1D; } /* 復元・復興関連 */
  .icon_e_cat .tag_shuri_event { background: #EC5320; } /* イベント */
  .icon_e_cat .tag_shuri_taiken { background: #008C8C; } /* 体験学習 */
  .icon_e_cat .tag_shuri_guide { background: #23008C; } /* 展示案内 */

  /* event_date_text */
  #alpha .event_date_text {
    color: #00008C;
    font-size: 112.5%;
    font-weight: bold;
    margin: 5px 0 15px;
  }
  /* event_box */
  #alpha .event_box {
    border: 1px solid #CCCCCC;
    padding: 10px;
    margin-bottom: 20px;
  }
  #alpha .event_box.last {
    margin-bottom: 40px !important;
  }
  #alpha .event_box p {
    font-size: 81.25%;
  }
  #alpha .event_box .ruby_txt {
    color: #b01524;
    font-size: 75%;
    line-height: 1.2;
    padding-left: 30px;
  }
  #alpha .event_box h3 {
    font-size: 200%;
    color: #b01524;
    text-decoration: underline;
    background: url(/userfiles/images/shurijo/event/event_list_mark.gif) no-repeat 0 11px;
    padding-left: 30px;
    margin-bottom: 0;
  }
  #alpha .event_box h3 a {
    color: #b01524;
  }
  #alpha .event_box h3 a:hover {
    color: #333;
  }
  #alpha .event_box .date span {
    color: #fff;
    font-size: 93.75%;
    display: block;
    padding: 5px 0 3px 7px;
    margin-bottom: 5px;
  }
  /* kikaku_box */
  .kikaku_box {
    margin-bottom: 40px;
  }
  .kikaku_box p:first-child {
    margin-bottom: 10px;
  }
  .kikaku_box h5 + p {
    margin-bottom: 10px;
  }
  .kikaku_box h5 span {
    display: inline;
    color: #fff;
    font-weight: normal;
    font-size: 81.25%;
    background-color: #8e0e0e;
    padding: 1px 6px;
    position: relative;
    top: -3px;
    left: 10px;
  }
  .kikaku_box h5 span.end {
    color: #333;
    background-color: #ccc;
  }
  /* event_topics */
  #alpha .event_topics li {
    float: left;
    width: 340px;
    display: inline;
    border-bottom: 1px dotted #B6B6B6;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  #alpha .event_topics li .thumb img {
    float: left;
    display: inline;
    width: 120px;
    margin-right: 10px;
  }
  #alpha .event_topics .ttl_txt > p {
    margin: 5px 10px 0 0;
  }
  #alpha .event_topics .tag_shuri_taiken {
    padding-top: 20px;
    background: url(../img/site/tag_shuri_taiken.gif) 130px 0 no-repeat;
  }
  #alpha .event_topics .tag_shuri_recommend {
    padding-top: 20px;
    background: url(../img/site/tag_shuri_recommend.gif) 130px 0 no-repeat;
  }
  #alpha .event_topics .tag_shuri_guide {
    padding-top: 20px;
    background: url(../img/site/tag_shuri_guide.gif) 130px 0 no-repeat;
  }
  /* event_others */
  #alpha .event_others {
    display: flex;
    flex-wrap: wrap;
  }
  #alpha .event_others li {
    width: 213px;
    margin: 0 20px 20px 0;
    box-sizing: border-box;
  }
  #alpha .event_others li:nth-child(3n) {
    margin-right: 0;
  }
  #alpha .event_others li.no_topics {
    float: none;
    border: none;
    width: auto;
    padding: 10px 15px;
    background: #EEEEEE;
    height: auto !important;
  }

  #alpha .event_others li a {
    display: block;
    color: #000;
    text-decoration: none;
  }
  #alpha .event_others li .thumb {
    position: relative;
    overflow: hidden;
    padding-bottom: 61.75%;
    background: #ECE6DE;
    margin-bottom: 10px;
  }
  #alpha .event_others li .thumb img {
    position: absolute;
    left: 0;
    top: 0;
  }
  #alpha .event_others .cat_icon { margin-bottom: 10px; }
  #alpha .event_others .cat_icon span {
    display: inline-block;
    color: #fff;
    text-align: center;
    font-size: 1.3rem;
    background: #fff;
    min-width: 116px;
    padding: 3px 10px;
  }
  #alpha .event_others .cat_icon .tag_shuri_fukkou { background: #991D1D; } /* 復元・復興関連 */
  #alpha .event_others .cat_icon .tag_shuri_event { background: #EC5320; } /* イベント */
  #alpha .event_others .cat_icon .tag_shuri_taiken { background: #008C8C; } /* 体験学習 */
  #alpha .event_others .cat_icon .tag_shuri_guide { background: #23008C; } /* 展示案内 */
  #alpha .event_others li .ttl_txt {
    line-height: 1.4;
    margin-top: 8px;
    padding-top: 24px;
    margin: 0 5px 8px;
  }
  #alpha .event_others .event_date_text {
    color: #C20C0C;
    font-size: 12px;
    padding: 0 5px;
  }
  /*---------------------------------------------------------------------
    page - info
  ---------------------------------------------------------------------*/
  /* application */
  #alpha .application dd {
    padding: 10px;
    margin-bottom: 15px;
    background-color: #f7f6e6;
  }
  /* kanri_info */
  #alpha .kanri_info {
    background-color: #f3f1da;
    padding: 10px;
    font-weight: bold;
  }
  /*---------------------------------------------------------------------
    page - guide
  ---------------------------------------------------------------------*/
  #alpha .list_payzone {
    width: 1002px;
    margin-right: -22px;
  }
  #alpha .list_payzone li {
    width: 312px;
    float: left;
    margin-right: 22px;
  }
  #alpha .list_payzone li p {
    font-size: 81.25%;
    margin-top: 7px;
  }
  /* area_map */
  #area_map {
    width: 680px;
    position: relative;
    /* height: 860px;
    background: url(../img/site/img_map_main.jpg) no-repeat; --- 20141226 oroku 非表示*/
  }
  #area_map li a img {
    width: 14px;
  }
  #area_map li a img:hover {
    opacity: 1;
  }
  #area_map li:hover {
    z-index: 999;
  }
  #area_map li span {
    font-size: 75%;
    font-weight: bold;
    width: 150px;
    height: 140px;
    display: none;
    margin-left: -68px;
    padding: 41px 0 0 30px;
  }
  /* pay_area */
  #area_map .pay_area li span {
    background: url(../img/site/map_pay_bg.png) no-repeat 0 0;
  }
  #area_map .pay_area li span img {
    width: 90px;
  }
  #area_map .pay_area li.p01 {
    position: absolute;
    top: 110px;
    left: 400px;
  }
  #area_map .pay_area li.p02 {
    position: absolute;
    top: 140px;
    left: 355px;
  }
  #area_map .pay_area li.p03 {
    position: absolute;
    top: 135px;
    left: 476px;
  }
  #area_map .pay_area li.p04 {
    position: absolute;
    top: 136px;
    left: 513px;
  }
  #area_map .pay_area li.p05 {
    position: absolute;
    top: 132px;
    left: 401px;
  }
  #area_map .pay_area li.p06 {
    position: absolute;
    top: 110px;
    left: 440px;
  }
  #area_map .pay_area li.p07 {
    position: absolute;
    top: 92px;
    left: 427px;
  }
  #area_map .pay_area li.p08 {
    position: absolute;
    top: 157px;
    left: 433px;
  }
  #area_map .pay_area li.p09 {
    position: absolute;
    top: 105px;
    left: 480px;
  }
  /* free_area */
  #area_map .free_area li span {
    background: url(../img/site/map_free_bg.png) no-repeat 0 0;
  }
  #area_map .free_area li span img {
    width: 90px;
  }
  #area_map .free_area li.p01 {
    position: absolute;
    top: 300px;
    left: 276px;
  }
  #area_map .free_area li.p02 {
    position: absolute;
    top: 250px;
    left: 355px;
  }
  #area_map .free_area li.p03 {
    position: absolute;
    top: 232px;
    left: 332px;
  }
  #area_map .free_area li.p04 {
    position: absolute;
    top: 204px;
    left: 335px;
  }
  #area_map .free_area li.p05 {
    position: absolute;
    top: 189px;
    left: 317px;
  }
  #area_map .free_area li.p06 {
    position: absolute;
    top: 172px;
    left: 317px;
  }
  #area_map .free_area li.p07 {
    position: absolute;
    top: 185px;
    left: 376px;
  }
  #area_map .free_area li.p08 {
    position: absolute;
    top: 220px;
    left: 410px;
  }
  #area_map .free_area li.p09 {
    position: absolute;
    top: 196px;
    left: 450px;
  }
  #area_map .free_area li.p10 {
    position: absolute;
    top: 163px;
    left: 550px;
  }
  #area_map .free_area li.p11 {
    position: absolute;
    top: 278px;
    left: 520px;
  }
  #area_map .free_area li.p12 {
    position: absolute;
    top: 300px;
    left: 360px;
  }
  #area_map .free_area li.p13 {
    position: absolute;
    top: 120px;
    left: 295px;
  }
  #area_map .free_area li.p14 {
    position: absolute;
    top: 141px;
    left: 290px;
  }
  #area_map .free_area li.p15 {
    position: absolute;
    top: 250px;
    left: 270px;
  }
  #area_map .free_area li.p16 {
    position: absolute;
    top: 56px;
    left: 390px;
  }
  #area_map .free_area li.p17 {
    position: absolute;
    top: 500px;
    left: 318px;
  }
  #area_map .free_area li.p18 {
    position: absolute;
    top: 410px;
    left: 220px;
  }
  #area_map .free_area li.p19 {
    position: absolute;
    top: 335px;
    left: 218px;
  }
  #area_map .free_area li.p20 {
    position: absolute;
    top: 370px;
    left: 78px;
  }
  #area_map .free_area li.p21 {
    position: absolute;
    top: 290px;
    left: 110px;
  }
  #area_map .free_area li.p22 {
    position: absolute;
    top: 159px;
    left: 120px;
  }
  #area_map .free_area li.p23 {
    position: absolute;
    top: 179px;
    left: 439px;
  }
  #area_map .free_area li.p24 {
    position: absolute;
    top: 260px;
    left: 320px;
  }
  /*---------------------------------------------------------------------
    page - about
  ---------------------------------------------------------------------*/
  /* list_about_info */
  #alpha .list_about_info {
    width: 1002px;
    margin-right: -22px;
  }
  #alpha .list_about_info li {
    width: 312px;
    float: left;
    margin-right: 22px;
  }
  /*---------------------------------------------------------------------
    page - access
  ---------------------------------------------------------------------*/
  /* course_layout_l */
  #alpha .course_layout_l {
    width: 330px;
    float: left;
  }
  #alpha .course_layout_l ul {
    height: 810px;
    padding: 15px;
    background-color: #FFE784;
  }
  #alpha .course_layout_l ul li {
    padding-bottom: 20px;
    margin-bottom: 5px;
    background: url(../img/module/course_list_arrow01.gif) bottom center no-repeat;
  }
  #alpha .course_layout_l ul li p {
    text-align: center;
    padding: 5px 10px;
    background-color: #fff;
    font-size: 112.5%;
  }
  #alpha .course_layout_l .airport {
    border: 2px solid #961E1E;
    background-color: #fff;
  }
  #alpha .course_layout_l .park {
    border: 2px solid #961E1E;
    background-color: #D00D0D;
    color: #fff;
    line-height: 1.4;
  }
  #alpha .course_layout_l .list_img {
    padding: 0;
    background: none;
  }
  #alpha .course_layout_l .list_end {
    background-image: none;
    margin-bottom: 5px;
  }
  /* course_layout_r */
  #alpha .course_layout_r {
    width: 330px;
    float: right;
  }
  #alpha .course_layout_r ul {
    height: 810px;
    padding: 15px;
    background-color: #B7DEFB;
  }
  #alpha .course_layout_r ul li {
    padding-bottom: 20px;
    margin-bottom: 5px;
    background: url(../img/module/course_list_arrow02.gif) bottom center no-repeat;
  }
  #alpha .course_layout_r ul li p {
    text-align: center;
    padding: 5px 10px;
    background-color: #fff;
    font-size: 112.5%;
  }
  #alpha .course_layout_r .airport {
    border: 2px solid #1C67B3;
    background-color: #fff;
  }
  #alpha .course_layout_r .park {
    border: 2px solid #961E1E;
    background-color: #D00D0D;
    color: #fff;
    line-height: 1.4;
  }
  #alpha .course_layout_r .list_end {
    background-image: none;
    margin-bottom: 5px;
  }

  .g_map iframe {
    width: 100%;
    height: 480px;
    border: 1px solid #ccc;
  }

  a.btn_01 {
    color: #000;
    text-decoration: none;
    border: 1px solid #ccc;
    display: inline-block;
    padding: 5px 30px 5px 20px;
    background: url(../img/module/icon_arrow_01.png) no-repeat right 15px center;
    transition: background .3s;
  }
  a.btn_01:hover {
    background-color: #FBE4DB;
    background-position: right 10px center;
  }

  /*---------------------------------------------------------------------
    page - press
  ---------------------------------------------------------------------*/
  /* press_list */
  #alpha .press_list dd {
    font-size: 100%;
    margin-bottom: 20px;
    padding: 10px;
    background: #F4F4F4;
  }
  /*---------------------------------------------------------------------
    page - maihenoizanai
  ---------------------------------------------------------------------*/
  /* maihenoizanai_enmoku_link */
  #alpha .maihenoizanai_enmoku_link {
    color: #000;
    font-size: 112.5%;
    text-decoration: none;
    display: block;
    padding: 15px 10px 14px 23px;
    background: url(../img/module/list_index_h_bg.gif) repeat-y 1px 1px #FBE4DB;
    border: 1px solid #961E1E;
  }
  #alpha .maihenoizanai_enmoku_link:hover {
    background-color: #fff;
  }
  /*---------------------------------------------------------------------
    page - faq
  ---------------------------------------------------------------------*/
  /* faq_list */
  #alpha .faq_list dl dt {
    color: #1F1F1F;
    font-size: 93.75%;
    font-weight: bold;
    line-height: 1.2;
    padding: 12px 10px 9px 33px;
    margin: 0 0 10px;
    background: url(../img/site/icon_faq01.gif) #FFFDE1 12px 13px no-repeat;
  }
  #alpha .faq_list dl dd {
    padding: 0 0 0 33px;
    margin: 0 0 30px;
    background: url(../img/site/icon_faq02.gif) 12px 4px no-repeat;
  }
  /*---------------------------------------------------------------------
    page - sitemap
  ---------------------------------------------------------------------*/
  /* sitemap_list */
  #alpha #sitemap_list dl dt {
    display: none;
  }
  #alpha #sitemap_list dl dt + dd.mgl15 {
    margin-top: 0;
  }
  #alpha #sitemap_list dl dd.mgl15 {
    color: #333333;
    font-size: 100%;
    font-weight: bold;
    line-height: 1.4;
    padding: 10px 0 10px 10px;
    margin: 25px 0 0 0;
    background-color: #F5F2E4;
  }
  #alpha #sitemap_list dl dd.mgl25 {
    font-weight: bold;
    padding: 0 0 5px 23px;
    margin: 12px 0 0 0;
    border-bottom: 1px dotted #CCC;
    background: url(../img/module/icon_arrow_01.png) 8px 8px no-repeat;
  }
  #alpha #sitemap_list dl dd.mgl35 {
    padding: 0 0 0 12px;
    margin: 5px 0 0 35px;
    background: url(../img/module/icon_arrow_02.gif) 0 9px no-repeat;
  }
  #alpha #sitemap_list dl dd.mgl45 {
    display: none;
  }
  /*---------------------------------------------------------------------
    page - search
  ---------------------------------------------------------------------*/
  /* search_result_txt */
  #alpha .search_result_txt {
    background: none repeat scroll 0 0 #F8D0D0;
    line-height: 1.4;
    margin-bottom: 25px;
    padding: 8px 10px 6px;
  }
  #alpha .search_result_txt span {
    font-size: 137.5%;
    font-weight: 700;
  }
  /* search_result_box */
  #alpha dl.search_result_box {
    margin: 0 0 20px;
  }
  #alpha dl.search_result_box dt {
    font-size: 112.5%;
    font-weight: 700;
    margin-bottom: 3px;
  }
  #alpha dl.search_result_box dd {
    color: #333333;
    font-size: 87.5%;
    line-height: 1.6;
    margin: 0 0 15px;
    padding: 0 0 10px;
    border-bottom: 1px dotted #CCCCCC;
  }
  /*---------------------------------------------------------------------
    topics_list
  ---------------------------------------------------------------------*/
  .topics_list dt {
    display: inline;
    padding-right: 6em;
    margin-bottom: 5px;
  }
  .topics_list dt.tag_value {
    background: url(../img/site/tag_value.gif) right center no-repeat;
  }
  .topics_list dt.tag_crowded {
    background: url(../img/site/tag_crowded.gif) right center no-repeat;
  }
  .topics_list dt.tag_new {
    background: url(../img/site/tag_new.gif) right center no-repeat;
  }
  .topics_list dd {
    background: #f4f4f4 url(../img/module/icon_arrow_02.gif) 7px 15px no-repeat;
    padding: 8px 8px 8px 18px;
    margin: 5px 0 20px;
  }
  /*---------------------------------------------------------------------
    beta
  ---------------------------------------------------------------------*/
  #beta {
    /* headline */
    /* beta_navi */
    /* beta_bnr */
    /* side_blog_list */
    /* a img */
  }
  #beta #beta_inner {
    width: 280px;
    float: right;
    display: inline;
  }
  #beta .side_menu h2, #beta h3.side_blog_parts {
    color: #FFFFFF;
    font-weight: normal;
    font-size: 112.5%;
    line-height: 1.2;
    padding: 10px 5px 8px 10px;
    margin-bottom: 0;
    background: url(../img/module/beta_bemu_h_bg.jpg) top left no-repeat;
  }
  #beta .beta_navi {
    margin-bottom: 10px;
    width: 290px;
  }
  #beta .beta_navi li {
    width: 137px;
    float: left;
    margin-bottom: 10px;
    margin-right: 6px;
  }
  #beta .beta_bnr ul li {
    margin-bottom: 10px;
  }
  #beta .side_blog_list {
    border-bottom: 3px solid #ccc;
    border-left: 3px solid #ccc;
    border-right: 3px solid #ccc;
    padding: 5px 10px 10px;
  }
  #beta .side_blog_list li {
    background: url(../img/module/icon_arrow_01.png) 0 10px no-repeat;
    padding: 5px 0 0 15px;
  }
  #beta a img {
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  #beta a img:hover {
    opacity: 0.7;
  }
  /* side_menu */
  #beta .side_menu {
    margin: 0 0 20px;
  }
  #beta .side_menu ul li {
    border-bottom: 1px dotted #B6B6B6;
  }
  #beta .side_menu ul li a {
    color: #000;
    font-size: 93.75%;
    line-height: 1.4;
    text-decoration: none;
    padding: 15px 10px 12px 23px;
    display: block;
    background: url(../img/module/icon_arrow_01.png) 5px center no-repeat;
    transition: all 0.2s ease-in-out 0s;
    -webkit-transition: all 0.2s ease-in-out 0s;
    -moz-transition: all 0.2s ease-in-out 0s;
    -o-transition: all 0.2s ease-in-out 0s;
  }
  #beta .side_menu ul li a:hover, #beta .side_menu ul li a.selected {
    background: #FBE4DB url(../img/module/icon_arrow_01.png) 8px center no-repeat;
  }
  #beta .side_menu ul li ul li {
    border: none;
    margin: 1px 0 0;
  }
  #beta .side_menu ul li ul li a {
    font-size: 81.25%;
    padding: 10px 10px 10px 15px;
    display: block;
    background: #EEEEEE;
  }
  #beta .side_menu ul li ul li a:hover, #beta .side_menu ul li ul li a.selected {
    background: #FFF9BB;
  }
  #beta .side_menu ul li ul li ul li a {
    padding: 6px 10px 6px 20px;
    display: block;
  }
  #beta .side_menu ul li ul li ul li a:hover, #beta .side_menu ul li ul li ul li a.selected {
    background: #FFF9BB;
  }
  /*---------------------------------------------------------------------
    contents_arishihi
  ---------------------------------------------------------------------*/
  #alpha .contents_arishihi h2, #alpha .contents_arishihi h3 {
    font-family: 'Noto Serif JP', serif;
  }
  #alpha .contents_arishihi .heading_h2 {
    color: #000;
    font-size: 200%;
    font-weight: 600;
    text-align: center;
    background: none;
    margin: 90px 0 30px;
  }
  #alpha .contents_arishihi .list_facilities {
    letter-spacing: -.4em;
  }
  #alpha .contents_arishihi .list_facilities .item {
    width: 480px;
    display: inline-block;
    vertical-align: top;
    letter-spacing: normal;
    border: 1px solid #BFBFBF;
    padding: 10px;
    margin-bottom: 40px;
  }
  #alpha .contents_arishihi .list_facilities .item:nth-child(2n) {
    margin-left: 40px;
  }
  #alpha .contents_arishihi .list_facilities .item .name {
    font-size: 150%;
    font-weight: 600;
    text-align: center;
    background: none;
    padding: 0;
    margin: 0;
  }
  #alpha .contents_arishihi .list_facilities .item .name a {
    color: #000;
    display: block;
    padding: 15px 0 20px;
    transition: .3s;
  }
  #alpha .contents_arishihi .list_facilities .item .name a:hover {
    color: #991D1D;
    text-decoration: none;
  }
  #alpha .contents_arishihi .list_facilities .item .lead {
    color: #333;
    font-size: 87.5%;
    padding: 15px;
    background-color: #EEEEEE;
  }
  /*---------------------------------------------------------------------
    fukkou_ayumi_復興へのあゆみ
  ---------------------------------------------------------------------*/
  #alpha .ayumi_content_wrap .caution_txt {
    color: #7d0000;
  }
  #alpha .ayumi_content_wrap .lead_txt {
    font-size: 100%;
    font-weight: normal;
  }
  #alpha .ayumi_content_wrap .lead_txt_serif {
    margin-bottom: 35px;
    padding: 0 0;
    background: none;
    font-size: 200%;
    color: inherit;
  }
  #alpha .ayumi_content_wrap .status_content_lead {
    margin: 0 0;
    padding: 0 0;
    background: none;
    font-size: 150%;
  }
  .ayumi_content_wrap .lead_block {
    padding: 35px 5px 40px;
    background: url(/userfiles/images/shurijo/fukkou/bg_01.jpg) no-repeat left center/cover;
  }
  .ayumi_content_wrap .caution_txt {
    margin: 0 0 30px;
    font-size: 137.5%;
  }
  .ayumi_content_wrap .lead_txt {
    line-height: 1.88;
  }
  .ayumi_content_wrap .status_block_wrap {
    margin-top: 60px;
  }
  .ayumi_content_wrap .lead_txt_serif {
    text-align: center;
  }
  .ayumi_content_wrap .status_one_block {
    display: flex;
    align-items: center;
    margin: 30px 0 0 0;
  }
  .ayumi_content_wrap .status_one_block:not(:last-child) .status_num_wrap::after {
    content: "";
    position: absolute;
    z-index: 5;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 5px;
    height: 450px;
    background-color: #d9d9d9;
  }
  .ayumi_content_wrap .status_num_wrap {
    position: relative;
  }
  .ayumi_content_wrap .status_num {
    position: relative;
    z-index: 10;
    width: 90px;
    padding: 13px 20px;
    background-color: #991d1d;
    border-radius: 50%;
    font-size: 250%;
    text-align: center;
    color: #fff;
  }
  .ayumi_content_wrap .status_content {
    margin-left: -10px;
    padding: 15px 18px;
    border: 1px solid #bfbfbf;
  }
  .ayumi_content_wrap .status_img_txt_wrap {
    display: flex;
  }
  .ayumi_content_wrap .status_img {
    width: 380px;
    margin: 20px 0 0 0;
  }
  .ayumi_content_wrap .status_txt {
    width: 480px;
    margin: 20px 0 0 0;
    padding: 0 25px;
  }
  .ayumi_content_wrap .detail_btn {
    position: relative;
    display: block;
    margin: 25px 0 0;
    padding: 10px 0;
    border: 1px solid #bfbfbf;
    background-color: #991d1d;
    text-align: center;
    text-decoration: none;
    color: #fff;
  }
  .ayumi_content_wrap .detail_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10%;
    border: 5px solid transparent;
    border-left: 5px solid #fff;
    transform: translateY(-50%);
  }
  .detail_mv_inner {
    width: 1200px;
    margin: 0 auto;
  }
  /*---------------------------------------------------------------------
    photo_gallery フォトギャラリー
  ---------------------------------------------------------------------*/
  .gallery_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: start;
  }
  .gallery_wrap .gallery_img {
    width: 320px;
    max-height: 213px;
    margin-bottom: 30px;
    overflow: hidden;
  }
  /*-------------------------------------
    common_footer
  -------------------------------------*/
  /* page_scroll_navi */
  #page_scroll_navi {
    width: 1200px;
    margin: 0 auto;
    padding: 30px 0 22px;
    text-align: center;
    background-color: #fff;
  }
  #page_scroll_navi a {
    display: block;
    width: 70px;
    height: 70px;
    margin: 0 auto;
  }
  #page_scroll_navi a {
    display: inline-block;
    vertical-align: bottom;
    color: #fff;
    font-size: 92.85%;
    text-indent: -9999px;
    text-decoration: none;
    background: #991d1d url(../img/module/icon_arrow_03.png) no-repeat;
    padding: 25px 35px;
    transition: .3s;
  }
  #page_scroll_navi a:hover {
    opacity: .8;
  }
  /* bottom_gnavi */
  #bottom_gnavi {
    border-top: 1px solid #991d1d;
    background-color: #fff;
    padding: 10px 0;
  }
  #bottom_gnavi #bottom_gnavi_inner {
    width: fit-content;
    margin: 0 auto;
  }
  /* footer */
  #footer {
    background: url(../img/module/bg_04.png);
    /* footer_inner */
    /* footer_info */
    /* footer_bnr */
  }
  #footer #footer_inner {
    padding: 40px 0 20px;
  }
  #footer .footer_info {
    text-align: center;
    font-size: 16px;
    margin-bottom: 20px;
    padding-top: 84px;
    background: url(../img/footer/footer_logo2.png) center top no-repeat;
  }
  #footer .footer_info dt {
    font-weight: 700;
  }
  #footer .footer_bnr {
    width: 1159px;
    margin: 0 auto;
  }
  #footer .footer_bnr li {
    float: left;
    margin-right: 20px;
  }
  #footer .footer_bnr li:last-child {
    margin-right: 0;
  }
  /* bottom_gnavi_inner */
  #bottom_gnavi_inner .list_item {
    text-align: center;
  }
  #bottom_gnavi_inner .list_item li {
    display: inline-block;
  }
  #bottom_gnavi_inner .list_item li a {
    color: #000;
    font-size: 15px;
    text-decoration: none;
    padding: 0 10px;
    border-right: 1px solid #000;
    transition: 0.3s;
  }
  #bottom_gnavi_inner .list_item li a:hover {
    color: #991D1D;
  }
  #bottom_gnavi_inner .list_item li:last-child a {
    border-right: 0;
  }
  /* copyright */
  #copyright {
    position: relative;
    color: #fff;
    font-size: 14px;
    line-height: 1.0;
    text-align: center;
    padding: 25px 0 15px;
    background-color: #991D1D;
  }
  #copyright::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 10px;
    background: #000 url(../img/module/bg_03.png);
  }
  /*# sourceMappingURL=style.css.map */


  /* ---------------------------------- 
  www.shurijo-fukkou.jp　より移設コンテンツ
  ---------------------------------- */
  .focusing_detail .map_wrap {
      position: relative;
      margin: 20px auto 30px;
      text-align: center;
  }
  .focusing_detail .map_wrap > img {}
  .focusing_detail .map_wrap .map_info_wrap {
      position: absolute;
      top: 318px;
      left: 550px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(2) {
      top: 345px;
      left: 529px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(3) {
      top: 310px;
      left: 525px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(4) {
      top: 281px;
      left: 423px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(5) {
      top: 295px;
      left: 473px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(6) {
      top: 301px;
      left: 500px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(7) {
      top: 323px;
      left: 479px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(8) {
      top: 327px;
      left: 505px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(9) {
      top: 351px;
      left: 561px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(10) {
      top: 322px;
      left: 598px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(11) {
      top: 277px;
      left: 450px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(12) {
      top: 298px;
      left: 333px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(13) {
      top: 277px;
      left: 558px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(14) {
      top: 268px;
      left: 500px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(15) {
      top: 183px;
      left: 450px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(16) {
      top: 255px;
      left: 280px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(17) {
      top: 258px;
      left: 467px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(18) {
      top: 510px;
      left: 587px;
  }
  .focusing_detail .map_wrap .map_info_wrap:nth-of-type(19) {
      top: 221px;
      left: 537px;
  }
  .focusing_detail .map_wrap .map_num {
      width: 20px;
      height: 20px;
    font-size: 11px;
      line-height: 1;
      margin: auto;
      padding: 10px 5px;
      border: 1px solid #707070;
      border-radius: 50%;
      background-color: #fff;
      font-weight: bold;
      text-align: center;
        display: flex;
      justify-content: center;
      align-items: center;
    cursor: pointer;
    z-index: 1;
  }
  .focusing_detail .map_wrap .map_num:hover {
      background-color: #FFDD35;
  }
  .focusing_detail .map_wrap .map_num a {
          display: block;
      text-decoration: none;
      color: inherit;
  }
  .focusing_detail .map_wrap .map_thumb {
      position: absolute;
      right: 50%;
      bottom: 35px;
      z-index: 10;
      display: none;
      width: 180px;
      padding: 10px 10px;
      border: 1px solid #707070;
      border-radius: 10px;
      background-color: #fff;
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
      transform: translateX(50%);
  }
  .focusing_detail .map_wrap .map_thumb::before,
  .focusing_detail .map_wrap .map_thumb::after {
    content: "";
            position: absolute;
            bottom: -18px;
            right: 50%;
            width: 0;
            height: 0;
            border: 8px solid transparent;
            border-top: 10px solid #707070;
            z-index: -10;
            transform: translate(50%,0);
  }
  .focusing_detail .map_wrap .map_thumb::after {
    bottom: -17px;
            border-top-color: #fff;
  }
  .focusing_detail .map_wrap .map_num:hover + .map_thumb,
  .focusing_detail .map_wrap .map_thumb:hover + .map_thumb {
      display: block;
  }
  .focusing_detail .map_wrap .map_num:hover + .map_thumb::before,
  .focusing_detail .map_wrap .map_num:hover + .map_thumb::after,
  .focusing_detail .map_wrap .map_thumb:hover + .map_thumb::before,
  .focusing_detail .map_wrap .map_thumb:hover + .map_thumb::after {
      display: block;
  }

  .focusing_detail .map_wrap .map_thumb_link {
      display: block;
      text-align: center;
      text-decoration: none;
      color: inherit;
  }
  .focusing_detail .map_wrap .map_thumb_ttl {
      margin: 10px auto auto;
  }

  .focusing_detail .bar_layout {
      display: flex;
      background-color: #EEEEEE;
  }
  .focusing_detail .bar_layout .bar_txt {
      display: inline-block;
      padding: 6px 20px;
      background-color: #333333;
      color: #fff;
  }
  .focusing_detail .bar_layout .bar_txt_02 {
      padding: 6px 11px;
      background: transparent;
      color: inherit;
  }
  .focusing_detail .bar_layout.bar_layout_02 {
      background-color: #E8E2DB;
  }
  .focusing_detail .bar_layout.bar_layout_02 .bar_txt {
      background-color: #8B714A;
  }
  .focusing_detail .bar_layout.bar_layout_02 .bar_txt_02 {
      background-color: transparent;
      color: #8B714A;
  }
  .focusing_detail .img_content + .bar_layout,
  .focusing_detail .img_from + .bar_layout {
      margin: 80px auto auto;
  }
  .focusing_detail .img_content {
      margin: 10px auto auto;
  }
  .focusing_detail .img_from {
      margin: 6px auto auto;
      text-align: right;
  }
  .focusing_detail .intro_txt {
  margin: 50px auto auto;
  padding: 20px 30px;
    border: 5px solid #CCCCCC;
  }

  .focusing_list {
    display: flex;
    flex-wrap: wrap;
    counter-reset: list_count;
  }
  .focusing_list .item {
    margin: 0 3% 3% 0;
    width: 31.3%;
  }
  .focusing_list .item:nth-child(3n) {
    margin-right: 0
  }
  .focusing_list .item a {
    color: #212121;
    text-decoration: none;
    display: block;
    position: relative;
    overflow: hidden;
    border: 1px solid #bfbfbf;
    transition: .3s;
  }
  .focusing_list .item a::before {
      content: counter(list_count);
      position: absolute;
      top: 0;
      left: 0;
      z-index: 50;
      width: 40px;
      padding: 7px 8px;
      background-color: #8B714A;
      text-align: center;
      color: #fff;
      counter-increment: list_count;
  }
  .focusing_list .thumb {
    position: relative;
      padding-bottom: 66.66%;
      overflow: hidden;
      display: block;
  }
  .focusing_list .thumb img {
    position: absolute;
      top: -100%;
      left: -100%;
      right: -100%;
      bottom: -100%;
      margin: auto;
      max-width: none;
      max-height: 100%;
      transition: .5s;
  }
  .focusing_list a:hover .thumb img {
      opacity: 1.0;
      transform: scale(1.03);
  }
  .focusing_list .detail {
    padding: 10px;
      position: relative;
    border-top: 1px solid #ccc;
        display: block;
  }
  .focusing_list .detail .ttl {
    font-size: 112.5%;
      color: #333;
      font-weight: normal;
      position: relative;
      padding: 0 0 0 30px;
      margin-bottom: 12px;
      transition: .3s;
  }
  .focusing_list a:hover .detail .ttl {
    color: #c9030f;
  }
  .focusing_list .detail .ttl::before {
    content: "";
      position: absolute;
      top: 10px;
      left: 0;
      width: 20px;
      height: 4px;
      background-color: #c9030f;
  }

  #container_inner #parking_info {}
    #container_inner #parking_info .ttl {
      color: #fff;
      font-weight: bold;
      font-size: 187.5%;
      padding: 3px 9px 3px;
      line-height: 1.3;
      background-color: #000; }
      #container_inner #parking_info .ttl span {
        display: block;
        padding: 5px 0 5px 41px;
        background: url(../img/module/parking_info_ttl.png) no-repeat 0 center; }
    #container_inner #parking_info .parking_info_inner {
      text-align: center;
      padding: 15px 40px;
      border-right: 2px solid #b5b5b5;
      border-bottom: 2px solid #b5b5b5;
      border-left: 2px solid #b5b5b5;
      background: #e9e9e9 url(../img/module/bg_01.png); }
    #container_inner #parking_info a.popup_inline {
      display: block;
      position: relative;
      max-width: 300px;
      margin: 0 auto;
      padding: 8px 0;
      color: #fff;
      text-decoration: none;
      background-color: #0068b7;
      border: 1px solid #bfbfbf;
      transition: .3s; }
      #container_inner #parking_info a.popup_inline:hover {
        background-color: #004B82; }
      #container_inner #parking_info a.popup_inline::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 5px;
        width: 0;
        height: 0;
        border: 5px solid transparent;
        border-left: 8px solid #fff;
        transform: translate(0, -50%); }

  #container_inner #pop_parking_info .note_text {
    float: left;
    font-size: 18px; }
  #container_inner #pop_parking_info .link {
    float: right;
    width: 240px;
    width: 100%;
    margin-top: 10px;}
    #container_inner #pop_parking_info .link a {
      color: #fff;
      font-size: 15px;
      text-decoration: none;
      text-align: center;
      display: block;
      padding: 11px 0;
      border-radius: 6px;
      background-image: -webkit-gradient(linear, 49% 0%, 49% 115%, color-stop(0, #555555), color-stop(1, black));
      background-image: -webkit-linear-gradient(-90deg, #555555 0%, black 100%);
      background-image: -o-linear-gradient(-90deg, #555555 0%, black 100%);
      background-image: -ms-linear-gradient(-90deg, #555555 0%, black 100%);
      background-image: linear-gradient(180deg, #555555 0%, black 100%);
      -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff555555,endColorstr=#ff000000,GradientType=0)";
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff555555,endColorstr=#ff000000,GradientType=0); }
    #container_inner #pop_parking_info .link span {
      padding-right: 24px;
      background: url(../img/module/icon_arrow.png) no-repeat right center; }
  #container_inner #pop_parking_info .map {
    /* height: 580px; */
    position: relative;
    /* width: 900px; */
    margin-bottom: 15px; }
    #container_inner #pop_parking_info .map dl {
      border: 3px solid #fff;
      box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.25);
      text-align: center;
      width: 72px;
      position: absolute; }
    #container_inner #pop_parking_info .map dt {
      background-color: #333333;
      color: #ccc;
      font-size: 1.8rem;
      padding: 4px 0; }
    #container_inner #pop_parking_info .map dd {
      color: #fff;
      font-size: 1.8rem;
      padding: 6px 0; }
    #container_inner #pop_parking_info .map #parking_p1 {
      left: 450px;
      top: 18px; }
    #container_inner #pop_parking_info .map #parking_p2 {
      left: 474px;
      top: 115px; }
  #container_inner #pop_parking_info .status_00 {
    background-color: #FF0000; }
  #container_inner #pop_parking_info .status_01 {
    background-color: #D27200; }
  #container_inner #pop_parking_info .status_02 {
    background-color: #0076CC; }
  #container_inner #pop_parking_info .status_03 {
    background-color: #666666; }
}

/* ------------------------------------------------------------------------------------------ 
  統合後の改修ココから
------------------------------------------------------------------------------------------ */
@media print, screen and (min-width: 768px) {
  body{
    background: none;
  }
}
/* =========================================
  Layout: ヘッダー
========================================= */
.ly_header {
  position: relative;
  z-index: 100;
  width: 100%;
  background: #fff;
  min-height: 60px;
}

.ly_header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 0 20px;
  min-height: 60px;
}

.ly_header a,
.ly_footer a{
  text-decoration: none;
  color: #181818;
}

.el_logo {
  margin: 15px 0;
  font-size: 20px;
  z-index: 201;
}

/* =========================================
  共通パーツ: ユーティリティ
========================================= */
.el_link,
.el_link:link,
.el_link:visited,
.bl_megaMenu__list li a,
.bl_megaMenu__list li a:link,
.bl_megaMenu__list li a:visited{
  text-decoration: none;
  color: #3D383D;
}

.bl_utility {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
@media screen and (min-width: 992px) {
  .bl_utility {
    flex-wrap: nowrap;
  }
}

.bl_utility .bl_utility_btn,
.bl_utility .bl_utility__lang {
  width: calc((100% - 15px) / 2);
}
@media screen and (min-width: 992px) {
  .bl_utility .bl_utility_btn,
  .bl_utility .bl_utility__lang {
    width: auto;
  }
}

.bl_utility_btn {
  /* position: relative; */
  display: flex;
  place-items: center;
  justify-content: center;
  gap: 0 6px;
  /* padding: 4px 14px 4px 36px; */
  padding: 4px 14px;
  border: 1px solid #F5F5F5;
  border-radius: 2px;
  background-color: #F5F5F5;
  transition: border 0.2s ease-out;
}
.bl_utility_btn::before {
  content: '';
  display: block;
  /* position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%); */
  width: 20px;
  height: 20px;
  background: url("../img/module/icon_faq.svg") no-repeat center;
  background-size: 100% 100%;
}
.bl_utility_btn:hover {
  border-color: #9C0000;
}

.bl_utility__lang {
  order: 2;
}
@media screen and (min-width: 992px) {
  .bl_utility__lang {
    order: 0;
  }
}

.bl_utility__search {
  order: 3;
  width: 100%;
}
@media screen and (min-width: 992px) {
  .bl_utility__search {
    order: 0;
    width: auto;
  }
}

.bl_searchForm {
  display: flex;
  /* border: 1px solid #E4E4E4; */
  border-radius: 2px;
  background: #F5F5F5;
  height: 100%;
}

.bl_searchForm__input,
.bl_searchForm__btn{
  border: none;
  background: transparent;
}

.bl_searchForm__input {
  width: 100%;
  padding: 8px;
}
@media screen and (min-width: 992px) {
  .bl_searchForm__input {
    width: 150px;
  }
}

.bl_searchForm__btn {
  padding: 8px 12px;
}

.bl_langSwitcher {
  position: relative;
  min-width: 90px;
  height: 100%;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
}

.bl_langSwitcher__current{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  position: relative;
  height: 100%;
  padding: 5px 27px 5px 9px;
  border: 1px solid #F5F5F5;
  border-radius: 2px;
  background-color: #F5F5F5;
  font-weight: normal;
}

.bl_langSwitcher__current,
.bl_langSwitcher__current:link,
.bl_langSwitcher__current:hover{
  text-decoration: none;
  color: #181818;
}

.bl_langSwitcher__current:hover,
.bl_langSwitcher__current:active{
  border-color: #9C0000;
}

.bl_langSwitcher__current::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #9C0000;
  border-right: 2px solid #9C0000;
  transform: rotate(135deg) translate(-30%,50%);
}

.bl_langSwitcher__list {
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  min-width: 80px;
  width: 100%;
  margin-top: 0;
  border: 1px solid #ddd;
  background: #fff;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%);
  box-shadow: 0 3px 5px rgba(0,0,0,0.1);
  transition: 0.2s;
  z-index: 10;
}

.bl_langSwitcher:hover .bl_langSwitcher__list {
  opacity: 1;
  visibility: visible;
}

.bl_langSwitcher__list li a {
  display: block;
  padding: 8px 11px;
  color: #181818;
  font-weight: normal;
  font-size: 14px;
  text-decoration: none;
}

.bl_langSwitcher__list li a:hover {
  color: #000;
  background: #f0f0f0;
}

.bl_nav02{
  margin: 30px 0 0;
}

.bl_nav02__list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 40px;
  padding: 0 15px;
}

.bl_nav02 a{
  display: block;
  padding: 5px;
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  .sp_none,.hp_sp_none{ display: none !important;}
}

@media print, screen and (min-width: 768px) {
  .pc_none,.hp_pc_none{ display: none !important;}
}

/* =========================================
  【SP版】モバイルレイアウト（〜991px）
========================================= */
@media screen and (max-width: 991px) {
  .el_hamburger {
    display: block;
    position: relative;
    width: 30px;
    height: 25px;
    z-index: 200;
    background: transparent;
    border: none;
  }

  .el_hamburger__bar {
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #9C0000;
    transition: 0.3s;
  }

  .el_hamburger__bar:nth-child(1) { top: 0; }
  .el_hamburger__bar:nth-child(2) { top: 50%; transform: translateY(-50%); }
  .el_hamburger__bar:nth-child(3) { bottom: 0; }

  .el_hamburger.is_active .el_hamburger__bar:nth-child(1) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  .el_hamburger.is_active .el_hamburger__bar:nth-child(2) { opacity: 0; }
  .el_hamburger.is_active .el_hamburger__bar:nth-child(3) {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }

  /* Header Content */
  .bl_headerContent {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    max-height: calc(100vh - 60px);
    padding-bottom: 40px;
    border-top: 1px solid #E4E4E4;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    overflow-y: auto;
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
    z-index: 150;
  }
  
  .bl_headerContent.is_active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .bl_utility {
    justify-content: center;
    padding: 10px 20px;
    border-bottom: 1px solid #ddd;
  }

  .bl_nav__item {
    border-bottom: 1px solid #eee;
  }

  .bl_nav__linkWrapper {
    display: flex;
    align-items: stretch;
    background-color: #FAFAFA;
  }

  .el_link {
    display: flex;
    flex: 1;
    align-items: center;
    width: 100%;
    padding: 15px 20px;
    font-size: 1.6rem;
  }

  .el_accordionToggle {
    position: relative;
    flex-shrink: 0;
    width: 60px;
    border: none;
    background: transparent;
  }

  .el_accordionToggle::before,
  .el_accordionToggle::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background: #333;
    transform: translate(-50%, -50%);
  }

  .el_accordionToggle::before { width: 21px; height: 1px; }
  .el_accordionToggle::after { width: 1px; height: 21px; transition: 0.3s; }
  .el_accordionToggle.is_open::after { transform: translate(-50%, -50%) rotate(90deg); }

  /* Mega Menu (SP) */
  .bl_megaMenu {
    display: none;
    background: #f0f0f0;
  }
  
  .bl_megaMenu.is_open {
    display: block;
  }
  
  .bl_megaMenu__lead {
    display: none;
  }

  .bl_megaMenu__list li a {
    display: block;
    padding: 12px 20px 12px 40px;
    border-bottom: 1px solid #e0e0e0;
    color: #555;
    font-size: 15px;
  }
}

/* =========================================
  【PC版】デスクトップレイアウト（992px〜）
========================================= */
@media screen and (min-width: 992px) {
  .el_hamburger,
  .el_accordionToggle {
    display: none;
  }

  .bl_headerContent {
    display: flex;
    flex-wrap: wrap;
    flex: 1;
    justify-content: flex-end;
    width: auto;
    padding: 0;
    background: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    overflow: visible;
  }

  .bl_utility {
    order: 1;
    margin-left: auto;
    padding-left: 20px;
  }

  .bl_nav {
    order: 2;
    width: 100%;
    margin-top: 15px;
  }
  
  .bl_nav__list {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
  }
  
  .bl_nav__item {
    position: static;
    margin-left: 30px;
    padding-bottom: 20px;
  }
  .bl_nav__item:first-child {
    margin-left: 0;
  }

  /* Mega Menu (PC) */
  .bl_megaMenu {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    border-top: 1px solid #ddd;
    background: #F5F5F5; 
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    z-index: 90;
    pointer-events: none;
  }

  .bl_nav__item:hover .bl_megaMenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .bl_megaMenu__inner {
    display: flex;
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px;
  }

  .bl_megaMenu__lead {
    width: 30%;
    margin-right: 40px;
    padding-right: 40px;
  }

  .el_megaMenuLeadTitle a {
    display: block;
    color: #333;
    font-size: 24px;
    font-weight: bold;
    transition: 0.2s;
  }

  .el_megaMenuLeadTitle a:hover {
    color: #0056b3;
  }

  .bl_megaMenu__content {
    flex: 1;
    /* content自体はラッパーなので特別なレイアウト指定は不要だが
       幅確保のためにブロック要素のままにしておく */
  }

  /* 【修正】グリッドレイアウトで3列表示、指定の間隔 */
  .bl_megaMenu__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px 40px; /* 縦24px 横40px */
  }

  .bl_megaMenu__list li a {
    color: #666;
    font-size: 14px;
    transition: 0.2s;
    /* クリック領域を確保するためにblock指定が望ましい */
    display: block;
  }

  .bl_megaMenu__list li a:hover {
    text-decoration: underline;
    color: #3459B1;
  }

  .ly_header .bl_nav02{
    display: none;
  }
}

/* =========================================
  【PC版】デスクトップレイアウト（992px〜）
========================================= */
@media screen and (min-width: 992px) {
  .ly_header__inner{
    padding: 20px 40px 0;
  }

  .el_logo{
    margin: 0 0 15px;
  }

  .el_logo img{
    width: 328px;
  }

  .bl_searchForm__input,
  .bl_searchForm__btn,
  .bl_langSwitcher__current{
    padding-top: 2px;
    padding-bottom: 2px;
  }

  .bl_nav{
    margin-top: 10px;
  }
  
  .bl_nav__item{
    /* padding-bottom: 0; */
  }

  .bl_nav .el_link{
    position: relative;
    font-size: 1.7rem;
  }

  .bl_nav .el_link::after{
    content: '';
    position: absolute;
    bottom: -3px;
    display: block;
    width: 100%;
    height: 2px;
    background-color: #C71C22;
    transform-origin: right;
    transform: scaleX(0);
    transition: transform 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
  }

  .bl_nav .el_link:hover::after {
    transform-origin: left;
    transform: scaleX(1);
    transition: transform 0.5s cubic-bezier(0.39, 0.575, 0.565, 1);
  }
}
/* =========================================
  Layout: フッター
========================================= */
.ly_footer{
  position: relative;
  padding-bottom: 11px;
}

.ly_footer::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 11px;
  background: #B89032;
  background: linear-gradient(to bottom, #B89032 0%, #B89032 1px, #D7C878 1px, #D7C878 2px, #C71C22 2px, #C71C22 7px, #9C0000 7px, #9C0000 100%);
}

#page_scroll_navi img{
  width: 100%;
}

#bottom_gnavi .bl_nav02{
  margin-top: 0;
  padding-top: 15px;
  background-color: #FCFCFC;
}

#bottom_gnavi .bl_nav02__list{
  justify-content: center;
  gap: 5px 25px;
  padding-bottom: 10px;
  border-bottom: 1px solid #D8D8D8;
}

.bl_footer_inner{
  width: 89.33333333333333%;
  max-width: 1200px;
  margin: 40px auto 0;
}

.ly_footer_infoGroup {

}

.ly_footer_infoGroup_logoSNS{
  display: grid;
  justify-content: center;
  grid: auto / 1fr 1fr;
  gap: 22px;
}

.ly_footer_logo {

}

.bl_footer_snsWrap{
  display: flex;
  gap: 15px;
  align-items: center;
}

.bl_footer_snsWrap a{
  flex-basis: 30px;
}

.footer_info {
  margin: 15px 0 20px;
}

.footer_info dt{
  font-size: 1.6rem;
  font-weight: bold;
}

.footer_info dd{
  font-size: 1.5rem;
}

.ly_footer_bnrGroup {
}

.ly_footer_bnr{
  display: grid;
  gap: 20px;
}

#copyright.bl_footer_copy {
  background: none;
  margin-top: 28px;
  padding: 12px 10px;
  font-size: 1.5rem;
  text-align: center;
  color: #2C2A2C;
}

#copyright.bl_footer_copy::before{
  content: none;
}

@media print, screen and (min-width: 768px) {
  #page_scroll_navi{
    width: 100%;
    max-width: 1200px;
    padding-bottom: 0;
    background: none;
    text-align: right;
  }

  #page_scroll_navi a{
    padding: 0;
    background: none;
    font-size: 100%;
    text-indent: unset;
    text-decoration: none;
    color: #333;
  }

  #bottom_gnavi{
    border-top-width: 2px;
  }  

  #bottom_gnavi #bottom_gnavi_inner{
    width: 100%;
  }

  #bottom_gnavi .bl_nav02__list{
    padding-bottom: 25px;
  }

  #footer{
    background: none;
  }

  #page_scroll_navi a{
    width: 173px;
    height: 23px;
    padding: 0;
    background: none;
    font-size: 100%;
    text-indent: unset;
    text-decoration: none;
    color: #333;
  }

  #page_scroll_navi img{
    vertical-align: top;
  }

  #footer #footer_inner{
    display: grid;
    grid: auto/ 1fr 1.1fr;
    gap: 0 15px;
  }

  .ly_footer_infoGroup_logoSNS{
    justify-content: flex-start;
    grid: unset;
  }

  #footer.ly_footer .footer_info{
    padding: 0;
    background: none;
    text-align: left;
  }

  #footer .ly_footer_bnrGroup .footer_bnr{
    width: fit-content;
  }

  .bl_footer_snsWrap{
    gap: 30px;
  }

  #footer .ly_footer_bnrGroup .footer_bnr li{
    margin: 0;
  }

  #copyright.bl_footer_copy{
    padding: 0;
    text-align: left;
  }
}

@media print, screen and (min-width: 992px) {
  .bl_nav02 a{
    font-size: 1.6rem;
  }

  #footer #footer_inner{
    padding-bottom: 60px;
  }

  #footer .ly_footer_bnrGroup .footer_bnr{
    grid: auto/1fr 1fr;
  }
}

/* =========================================
  under トップページ以外共通
========================================= */
#pagebody{
  padding: 0 0 50px;
  background: none;
}

#pagebody .page_ttl{
  margin-bottom: 15px;
  padding: 30px 20px;
  background: url(../img/module/page_ttl_bg_01_2026.png) 0 0 /contain;
}

#pagebody .page_ttl h1{
  line-height: 1.5;
  padding: 0;
  font-size: 2.4rem;
  font-weight: 500;
  color: #3A353A;
}

#topic_path_top{
  padding: 5px 20px;
  font-size: 1.4rem;
}

#pagebody #readspeaker_button1{
  width: fit-content;
  min-width: 175px;
  margin-left: auto;
  padding: 10px 20px 0;
}

#pagebody #readspeaker_button1:has(.rsbtn_tooltoggle){
  margin-top: 10px;
  margin-left: 20px;
  padding: 0 20px 0 0;
}

.help_info_inner .rs_addtools .rsbtn_play,
.help_info_inner .rsbtn .rsbtn_play{
  float: right;
}

.content1,
.content2,
.content_inner_common{
  padding: 0 20px;
}

#alpha h2,
#alpha h3,
#alpha h4,
#alpha h5,
#alpha h6{
  --border_width: 4px;
  line-height: 1.5;
  font-weight: 500;
  color: #3D383D;
}

#alpha h2,
#alpha h3{
  margin-bottom: 25px;
}

#alpha h4,
#alpha h5,
#alpha h6{
  margin-bottom: 15px;
}

#alpha * + h2,
#alpha * + h3{
  margin-top: 60px;
}

#alpha * + h4,
#alpha * + h5{
  margin-top: 50px;
}

#alpha * + h6{
  margin-top: 40px;
}

#alpha h2{
  padding: 0 0 0 15px;
  border: none;
  border-left: var(--border_width) solid #C71C22;
  background: none;
  font-size: 2.2rem;
}

#alpha h2::after{
  content: none;
}

#alpha h3{
  --border_width: 2px;
  line-height: 1.5;
  padding: 0 0 0 12px;
  border: none;
  border-left: var(--border_width) solid #C71C22;
  border-radius: unset;
  background: none;
  font-size: 2rem;
}

#alpha h3::before,
#alpha h3::after{
  content: none;
}

#alpha h4{
  position: relative;
  padding-left: 15px;
  padding-bottom: 0;
  border-bottom: none;
  font-size: 1.8rem;
}

#alpha h4::before{
  --border_width: 1px;
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 0;
  height: 18px;
  border-left: var(--border_width) solid #C71C22;
}

#alpha h5,
#alpha h6{
  font-size: 1.6rem;
}

#alpha a:link{ color: #3459B1; }
#alpha a:visited{ color: #4C4396; }
#alpha a:hover{ color: #3459B1; }
#alpha a:active{ color: #9C0000; }

.list_2column,
.list_3column,
.list_4column{
  display: grid;
  gap: 30px;
}

.content1 > p{
  margin-top: 20px;
  margin-bottom: 20px;
}

@media print, screen and (min-width: 768px) {
  .page_ttl .inner{
    width: 100%;
    max-width: 1200px;
  }

  #pagebody .help_info_inner{
    display: flex;
    margin: auto;
  }

  .help_info_inner #topic_path_top{
    order: 25;
    display: flex;
    align-items: center;
  }

  #pagebody #pagebody_inner #readspeaker_button1{
    order: 5;
    margin: 10px 0 0 0;
    padding-top: 0;
    padding-right: 15px;
  }

  #pagebody #readspeaker_button1:has(.rsbtn_tooltoggle),
  #pagebody #pagebody_inner #readspeaker_button1:has(.rsbtn_tooltoggle){
    margin-left: 20px;
  }

  .list_2column{
    grid: auto/1fr 1fr;
  }

  .list_3column{
    grid: auto/1fr 1fr 1fr;
  }

  .list_4column{
    grid: auto/1fr 1fr 1fr 1fr;
  }

}

@media print, screen and (min-width: 992px) {
  #pagebody .page_ttl{
    padding-top: 90px;
    padding-bottom: 90px;
    background: url(../img/module/page_ttl_bg_01_pc_2026.png) 0 0 /contain;
  }

  #pagebody .page_ttl h1{
    font-size: 4rem;
  }

  #topic_path_top{
    font-size: 1.5rem;
  }

  #pagebody .help_info_inner{
    margin-bottom: 55px;
  }

  #alpha h2{
    --border_width: 8px;
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 3rem;
  }

  #alpha h3{
    --border_width: 4px;
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 2.4rem;
  }

  #alpha h4{
    font-size: 2rem;
  }

  #alpha h4::before{
    --border_width: 2px;
    content: "";
    position: absolute;
    top: 6px;
    height: 20px;
  }

  #alpha h5{
    font-size: 1.8rem;
  }

  #alpha h6{
    font-size: 1.6rem;
  }

  #alpha * + h2,
  #alpha * + h3{
    margin-top: 80px;
  }

  #alpha * + h4,
  #alpha * + h5{
    margin-top: 80px;
  }

  #alpha * + h6{
    margin-top: 80px;
  }

}

/* =========================================
  list-common リストページ
========================================= */
#list_index.ly_listIndex{
  display: grid;
  gap: 15px 40px;
}

.ly_listIndex{
  padding: 0 20px;
}

#pagebody #list_index .list_index_contents .list_index_h h2,
#pagebody #list_index .list_index_contents .list_index_h h2 a,
#pagebody #list_index .list_index_contents .list_index_h h2 a:link,
#pagebody #list_index .list_index_contents .list_index_h h2 a:visited{
  font-size: 1.8rem;
  color: #2C2A2C;
}

#pagebody #list_index .list_index_contents .list_index_h h2{
  margin: 0;
  padding: 0;
  border: 1px solid #6F6F6F;
  background: #fff;
  font-weight: 500;
}

#pagebody #list_index .list_index_contents .list_index_h h2::after{
  content: none;
}

#pagebody #list_index .list_index_contents .list_index_h h2 a{
  position: relative;
  display: block;
  padding: 10px 15px;
  background: #F5F5F5;
  transition: all .3s;
}

#pagebody #list_index .list_index_contents .list_index_h h2 a::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 2px;
  height: 20px;
  background-color: #C71C22;
  transform: translateY(-50%);
}

#pagebody #list_index .list_index_contents .list_index_h h2 a:hover,
#pagebody #list_index .list_index_contents .list_index_h h2 a:active{
  background-color: #FFFFFF;
  text-decoration: underline;
}

@media print, screen and (min-width: 768px) {
  #pagebody #pagebody_inner{
    max-width: 100%;
    padding: 0 0 0;
  }

  #alpha #alpha_inner{
    display: block;
    float: none;
    width: 100%;
  }

  #list_index{
    width: 100%;
    max-width: 1200px;
  }

  #list_index.ly_listIndex{
    grid: auto / 1fr 1fr;
    gap: 40px;
  }

  #list_index .list_index_contents{
    width: auto;
    margin: 0;
  }
}

@media print, screen and (min-width: 992px) {
  #pagebody #list_index .list_index_contents .list_index_h h2 a,
  #pagebody #list_index .list_index_contents .list_index_h h2 a:link,
  #pagebody #list_index .list_index_contents .list_index_h h2 a:visited{
    padding: 20px 20px;
    font-size: 2.4rem;
  }
}

/* =========================================
  detail-common 詳細ページ
========================================= */
#pagebody table tr th{
  background-color: #FCFCFC;
}

/* =========================================
  quiz クイズコンテンツ
========================================= */
/* ルビの装飾 */
.ly_modal ruby {
  font-family: inherit;
}
.ly_modal rt {
  font-size: 0.5em;
  color: #666666;
}

/*
.bl_quiz_main {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
*/

.el_quiz_contentTtl,
#alpha .ly_quiz_contentWrap .el_quiz_contentTtl{
  margin: 14px 0 0;
  padding: 8.4% 0;
  border: none;
  background: 
    url(../img/quiz/bg.png) repeat-x left top/200%,
    url(../img/quiz/bg.png) repeat-x left bottom/200%;
  font-size: 3rem;
  text-align: center;
}

.bl_courseSelect {
  margin: 40px 0 0;
}

.ly_courseSelect_list {
  display: grid;
  gap: 45px 45px;
}

.ly_courseSelect_imgWrap {
  margin-bottom: 10px;
  text-align: center;
}

.ly_courseSelect_imgWrap img{
  width: auto;
}

.el_courseSelect_txt {
  margin-top: 10px;
  font-size: 1.5rem;
}

.ly_modal {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  padding: 20px;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 500;
}

.ly_modal.is_active {
  opacity: 1;
  pointer-events: auto;
}

.ly_modal_inner {
  position: relative;
  width: 100%;
  max-width: 1200px;
  max-height: 90vh;
  padding: 24px 16px;
  background-color: #ffffff;
  border: 8px solid #9c0000;
  border-radius: 0;
  overflow-y: auto;
}

.bl_courseSelect {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

/* 汎用ボタンスタイル（コース選択用など） */
.el_btn {
  display: block;
  width: 100%;
  margin: auto;
  padding: 7px 24px;
  border: none;
  background-color: #9C0000;
  color: #ffffff;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  border-radius: 100px;
  -webkit-appearance: none;
  appearance: none;
  transition: all 0.3s;
}

.el_btn:not(.js_optionBtn){
  max-width: 338px;
}

.el_btn:hover {
  opacity: .7;
}

/* クイズ選択肢ボタンのスタイル（左寄せ・背景色変更） */
.el_btn.js_optionBtn {
  background-color: #FFFCF5;
  color: #333333;
  border: 2px solid #9c0000;
  border-radius: 9px;
  text-align: left;
  font-weight: normal;
}

/* 画面遷移系ボタンのスタイル（テキスト左寄せ・ボタン要素は中央） */
.el_btn.js_nextBtn,
.el_btn.js_retryBtn,
.el_btn.js_closeBtn {
  background-color: #ffffff;
  color: #333333;
  border: 2px solid #9c0000;
  border-radius: 9px;
  text-align: left;
  font-weight: normal;
  padding-right: 45px; /* アイコンと被らないよう右余白を多めに */
}

/* 「次の問題へ」「もう一度挑戦する」ボタンの背景画像（矢印） */
.el_btn.js_nextBtn,
.el_btn.js_retryBtn {
  background-image: url('../img/module/icon_arrow_13.svg');
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 20px 20px; /* SPサイズ: 20px */
}

/* 「閉じる」ボタンの背景画像（バツ印） */
.el_btn.js_closeBtn {
  background-image: url('../img/module/icon_close.svg');
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 20px 20px; /* SPサイズ: 20px */
}

.el_btn.js_optionBtn:hover,
.el_btn.js_nextBtn:hover,
.el_btn.js_retryBtn:hover,
.el_btn.js_closeBtn:hover {
  background-color: #ffe4c4;
}

/* 次へボタン・結果画面のボタン幅調整（SP時・中央寄せ） */
.el_btn.js_nextBtn,
.el_btn.js_retryBtn,
.el_btn.js_closeBtn {
  width: 70%;
  margin: 0 auto;
}

.el_btn_prefix {
  color: #9c0000;
  font-weight: bold;
  margin-right: 8px;
}

/* --- クイズ領域（出題・結果共通） --- */
.bl_quizContent {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* ヘッダー周り */
.bl_quizContent_header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-bottom: 12px;
  border-bottom: 1px solid #eeeeee;
  color: #2c2a2c;
}

.bl_quizContent_headerLeft {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.bl_quizContent_courseName {
  font-size: 2rem;
  font-weight: bold;
}

.bl_quizContent_questionCount {
  font-size: 1.5rem;
}

.bl_quizContent_headerRight {
  font-size: 1.6rem;
  font-weight: bold;
}

/* 問題文と画像のラップ（出題ページ用） */
.bl_quizContent_body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.bl_quizContent_media {
  width: 100%;
  text-align: center;
}

.bl_quizContent_textWrap {
  width: 100%;
}

/* 「問題：」ラベルを太字にするためのクラス */
.bl_quizContent_questionLabel {
  font-weight: bold;
}

.bl_quizContent_question {
  font-size: 1.6rem;
  font-weight: normal;
  color: #333333;
}

.bl_quizContent_options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* --- 回答結果・最終結果ページ用スタイル --- */
.bl_result_questionRef {
  font-size: 1.6rem;
  color: #333333;
}

/* 正誤判定・ランク評価エリア */
.bl_result_judgementArea {
  display: flex;
  align-items: center;
  justify-content: space-between; 
  padding: 10px 0;
  position: relative;
}

.bl_result_judgementLeft {
  display: flex;
  align-items: center;
  gap: 10px;
}

.el_judgementMark {
  font-size: 5.6rem;
  font-weight: bold;
  line-height: 1;
  color: #c71c22;
}

/* 正解・ざんねん、またはランク名 */
.el_judgementText {
  font-size: 3.4rem;
  font-weight: 500;
  color: #3459b1;
}

.el_charImg,
.ly_modal .el_charImg{
  width: 68px;
  height: 100px;
  object-fit: contain;
}

/* 答え・解説、または評価詳細エリア */
.bl_result_detail {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.bl_result_answerBox {
  font-size: 2.4rem;
  font-weight: normal;
}

.bl_result_explanation {
  font-size: 1.6rem;
  line-height: 1.8;
}

/* 最終結果のボタンエリア（SPは縦並び・中央寄せ） */
.bl_finalResult_btnWrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
  margin-top: 20px;
}

/* =========================================
    Media Queries
========================================= */
/* タブレット〜小型PC (768px〜1023px) */
@media (min-width: 768px) {
  .el_quiz_contentTtl,
  #alpha .ly_quiz_contentWrap .el_quiz_contentTtl{
    margin: 25px 0 0;
    padding: 45px 0;
    border: none;
    background: 
      url(../img/quiz/bg.png) repeat-x left top/contain,
      url(../img/quiz/bg.png) repeat-x left bottom/contain;
    font-size: 6rem;
  }

  .bl_courseSelect {
    margin: 50px 0 0;
  }

  .ly_courseSelect_list {
    grid: auto / 1fr 1fr 1fr;
  }

  .ly_courseSelect_imgWrap img{
    width: auto;
  }

  .el_courseSelect_txt {
    margin-top: 40px;
    font-size: 1.6rem;
  }

  .ly_modal_inner {
    padding: 40px;
    border-width: 6px;
  }

  .ly_modal rt {
    font-size: 1.6rem;
  }

  .bl_quizContent_courseName {
    font-size: 4rem;
  }

  .bl_quizContent_questionCount {
    font-size: 2rem;
  }

  .bl_quizContent_headerRight {
    font-size: 2rem;
  }

  /* PC版 出題画面のレイアウト調整（画像とテキスト） */
  .bl_quizContent_body {
    flex-direction: row;
    align-items: flex-start;
    gap: 30px; /* 画像とテキストの余白を30pxに */
  }

  .bl_quizContent_media {
    flex: 0 0 320px; /* 画像エリアを320pxの固定幅に */
  }

  .bl_quizContent_textWrap {
    flex: 1;
  }

  .bl_quizContent_question {
    font-size: 2rem;
  }

  .bl_result_questionRef {
    font-size: 2rem;
  }

  .el_btn{
    padding: 12px 12px;
    font-size: 2.2rem;
  }

  /* PC版 回答ボタン（選択肢）の調整 */
  .el_btn.js_optionBtn {
    font-size: 3rem;
    padding: 10px 20px;
    border-width: 4px;
  }

  .bl_result_answerBox {
    font-size: 3rem;
  }

  .bl_result_explanation {
    font-size: 2rem;
  }

  /* PC版 正誤判定エリアの高さ調整 */
  .bl_result_judgementArea {
    justify-content: center;
    gap: 40px; 
    min-height: 170px;
    padding: 0;
  }

  .el_judgementMark {
    font-size: 6.4rem;
  }

  .el_judgementText {
    font-size: 5.6rem; 
    font-weight: 500;
  }

  .el_charImg,
  .ly_modal .el_charImg {
    width: 140px;
    height: 140px;
  }

  .el_btn.js_nextBtn {
    width: 260px;
    margin: 0 auto;
  }

  .el_btn.js_retryBtn,
  .el_btn.js_closeBtn {
    width: 260px;
    margin: 0;
  }
  
  .el_btn.js_nextBtn,
  .el_btn.js_retryBtn,
  .el_btn.js_closeBtn {
    /* PC版 背景画像サイズ・余白調整 */
    background-size: 24px 24px;
    background-position: right 20px center;
    padding-right: 50px;
  }

  /* 最終結果のボタンエリア（PCは横並び・中央寄せ） */
  .bl_finalResult_btnWrap {
    flex-direction: row;
    justify-content: center;
    gap: 40px;
  }

  .bl_finalResult_detail {
    text-align: center;
  }
}

/* 一般的なPC (1024px〜) */
@media (min-width: 1024px) {
  .ly_modal rt {
    font-size: 2rem;
  }
  
  .el_quiz_contentTtl,
  #alpha .ly_quiz_contentWrap .el_quiz_contentTtl{
    padding: 75px 0;
    font-size: 8rem;
  }

  .el_judgementMark {
    font-size: 8rem;
  }

  .el_judgementText {
    font-size: 8rem;
  }

  .el_charImg {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}

/*---------------------------------------------------------------------
  page - search
---------------------------------------------------------------------*/
#alpha dl.search_result_box dd {
  color: #333333;
  font-size: 87.5%;
  line-height: 1.6;
  margin: 0 0 15px;
  padding: 0 0 10px;
  border-bottom: 1px dotted #CCCCCC;
}
/*---------------------------------------------------------------------
  page - 詳細1カラム
---------------------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  #onecolumun #alpha #alpha_inner{
    width: 100%;
  }

  #alpha .list_payzone,
  #alpha .l_4column,
  #alpha .l_2column_sp{
    display: grid;
    grid: auto / repeat(4,1fr);
    gap: 20px;
    margin-right: 0;
    grid: auto / repeat(2,1fr);
    width: 100%;
  }

  #alpha .list_payzone.clearfix::after{
    content: none;
  }

  #alpha .list_payzone li,
  #alpha .l_4column li,
  #alpha .l_2column_sp li{
    width: auto;
    margin-right: 0;
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 1280px) {
  #alpha .list_payzone,
  #alpha .l_4column,
  #alpha .l_2column_sp{
    grid: auto / repeat(4,1fr);
    gap: 20px 30px;
  }
}
/*---------------------------------------------------------------------
  sitemap_list
---------------------------------------------------------------------*/
.sitemap_list{
  padding: 0 20px;
}

/*---------------------------------------------------------------------
  event list
---------------------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  #alpha .event_others{
    display: grid;
    grid: auto/repeat(2,1fr);
    gap: 30px;
  }

  #alpha .event_others li{
    width: auto;
    margin: 0;
  }

  #alpha .event_others li .thumb{
    display: block;
    width: auto;
    padding-bottom: 0;
  }

  .event_others li .detail{
    display: block;
    padding-left: 0;
  }
}

@media print, screen and (min-width: 1280px) {
  #alpha .event_others{
    grid: auto/repeat(3,1fr);
  }
}
/*---------------------------------------------------------------------
  1columun-other
---------------------------------------------------------------------*/
.bl_1columun-other #topic_path_top{
  margin-bottom: 20px;
}

.youtube-container,
.ly_iframe_container,
#video_pc_area{
  width: 100%;
  aspect-ratio: 16 / 9;
}

.youtube-container iframe,
.ly_iframe_container iframe,
#video_pc_area iframe{
  width: 100%;
  height: 100% !important;
}

@media print, screen and (min-width: 768px) {
  .bl_1columun-other #topic_path_top{
    margin-bottom: 0;
  }
  
}
/*---------------------------------------------------------------------
  blog
---------------------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  .ly_alpha_beta{
    display: grid;
    grid: auto/1fr 290px;
    gap: 0 40px;
  }

  :where(#pagebody) .blog_list > ul > li{
    display: grid;
    grid: auto / 200px 1fr;
    gap: 30px;
  }

  #alpha .blog_list ul li .ttl_txt{
    width: fit-content;
  }
}
/*---------------------------------------------------------------------
  press
---------------------------------------------------------------------*/
:where(#alpha) .press_list dd{
  margin-bottom: 20px;
  padding: 10px;
  background: #F4F4F4;
}
/*---------------------------------------------------------------------
  newsrelease
---------------------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  #alpha .newsrelease_list dd{
    padding-top: 10px;
    padding-left: 10px;
    background-image: none;
  }
}
/*---------------------------------------------------------------------
  information
---------------------------------------------------------------------*/
.information_list_link,
.information_list_link:visited,
.information_list_link dl{
  text-decoration: none;
  color: #2C2A2C;
}

.information_list_link{
  display: block;
  margin-right: 20px;
  padding: 10px 45px 10px 20px;
  border-bottom: 1px solid #D4D4D4;
  background: url(../img/module/icon_arrow_13_grey.svg) no-repeat right 10px center/15px;
  text-decoration: none;
  transition: all .3s;
}

.information_list_link:hover,
.information_list_link:active{
  background-color: #FFFAE2;
  background-image: url(../img/module/icon_arrow_13.svg);
  background-position: right 5px center;
}

.information_list_link .information_list{
  display: flex;
  flex-wrap: wrap;
  gap: 8px 5px;
  align-items: center;
  padding: 0;
  border: none;
}

.information_list dt,
.information_list dd{
  font-size: 1.5rem;
}

.information_list dt{
  width: fit-content;
}

.information_list .cat_icon{
  width: fit-content;
  min-width: 72px;
}

.information_list .cat_icon span{
  font-size: 1.3rem;
  color: #fff;
  text-align: center;
  background: #fff;
  display: block;
  padding: 3px;
}

.information_list .cat_icon.tag_shuri_park span{
  background: #478679;
}

.information_list .cat_icon.tag_shuri_otoku span{
  background: #3459B1;
}

.information_list .cat_icon.tag_shuri_other span{
  background: #B89032;
}

.information_list .cat_icon.tag_shuri_fukkou span{
  background: #9C0000;
}

.information_list_ttl {
  line-height: 1.7333333333333334;
  padding-left: 0;
}

@media print, screen and (min-width: 768px) {
  .ly_alpha_beta #beta{
    margin-right: 0;
    padding-right: 20px;
  }

  .information_list_link,
  .information_list_link:visited,
  .information_list_link dl{
    text-decoration: none;
    color: #2C2A2C;
  }

  .information_list_link{
    margin-right: 0;
    padding: 20px 70px 20px 20px;
    background-position: right 32px center;
    background-size: 24px;
  }

  .information_list_link:hover,
  .information_list_link:active{
    background-position: right 22px center;
  }

  .information_list_link .information_list{
    display: grid;
    grid: auto / 150px 140px 1fr;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
  }

  .information_list dt,
  .information_list dd{
    line-height: 1.625;
    padding-left: 0;
  }

  .information_list dt,
  .information_list dd,
  .information_list .cat_icon span{
    width: auto;
    font-size: 1.6rem;
  }

  .information_list dt,
  #alpha .information_list dt{
    padding-right: 20px;
    width: 150px;
    padding-left: 0;
    background: none;
    border-right: 1px solid #D4D4D4;
    font-weight: normal;
  }

  .information_list .cat_icon,
  #alpha .information_list .cat_icon{
    width: 140px;
    background-color: transparent;
    margin: 0;
  }

  .information_list .information_list_ttl,
  #alpha .information_list .information_list_ttl{
    margin: 0;
    padding: 0;
    background-color: transparent;
  }
}

@media print, screen and (min-width: 992px) {
  .information_list_link .information_list{
    display: grid;
    grid: auto / 150px 140px 1fr;
    gap: 15px;
  }
}

@media print, screen and (max-width : 767px) {
  .ly_alpha_beta .beta_navi{
    display: grid;
    grid: auto/1fr 1fr;
    gap: 10px;
    text-align: center;
  }
}
/*---------------------------------------------------------------------
  event
---------------------------------------------------------------------*/
#alpha .event_list ul li .thumb{
  height: 100px;
}

@media print, screen and (min-width: 768px) {
  #alpha .event_list ul li{
    display: grid;
    gap: 20px;
    grid: auto/150px 1fr;
  }

  #alpha .event_list ul li .ttl_txt{
    width: auto;
  }
}

/* ------------------------------------------------------------------------------------------ 
　統合後の改修ココまで
------------------------------------------------------------------------------------------ */
