@charset "UTF-8";
/* ******************************************************************

	--common.css--

	0. BoxModel change

	1. Common setting
		1-1. Reset styles
		1-2. Font styles
		1-3. General styles
		1-4. Text styles
		1-5. List styles
		1-6. CSS3 common styles

	2. Responsive setting
		2-1. Fluid grid styles
		2-2. Tablet grid styles
		2-3. Mobile grid styles

****************************************************************** */
/*==================================================================
	0. BoxModel change
===================================================================*/
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.touchHover,
.noTapColor,
button {
  -webkit-tap-highlight-color: transparent;
}

/*==================================================================
	1. Common setting
===================================================================*/
/* ------------------------------------------------------------------
	1-1. Reset styles
-------------------------------------------------------------------*/
html {
  background: #FFF;
}

body {
  overflow-x: hidden;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
  word-wrap: break-word;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, object, iframe, pre, code, p, blockquote, form, fieldset, legend, table, th, td, caption, tbody, tfoot, thead, article, aside, figure, footer, header, hgroup, menu, nav, section, audio, video, canvas {
  margin: 0;
  padding: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, menu {
  display: block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden] {
  display: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: none;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

ul, ol, menu {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after {
  content: '';
}

abbr, acronym {
  border: none;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

legend {
  color: #000;
}

a img, map a {
  border: none;
}

a:hover, a:active {
  outline: 0;
}

embed {
  width: 100%;
}

audio, canvas, video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

img, object, embed {
  max-width: 100%;
  height: auto;
}

object, embed {
  height: 100%;
}

img {
  -ms-interpolation-mode: bicubic;
}

/* Font styles
-------------------------------------------------------------------*/
body {
  font: 13px/1.231 Verdana, Arial, sans-serif;
}

select, input, button, textarea, button {
  font: 99% arial, sans-serif;
}

table {
  font-size: inherit;
  font: 100%;
}

pre, code, kbd, samp, tt {
  font-family: monospace;
  line-height: 1;
}

/* General styles
-------------------------------------------------------------------*/
table {
  empty-cells: show;
}

input {
  line-height: 1;
}

form img, input, select {
  vertical-align: middle;
}

textarea {
  resize: none;
}

select {
  padding: 1px;
}

label {
  margin-right: 5px;
}

legend {
  display: none;
}

input[type="text"], input[type="password"], textarea {
  padding: 3px 4px 0 3px;
  border: 1px solid #999;
  border-right: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
  font-size: 13px;
  font-size: 108%;
}

/* ------------------------------------------------------------------
	1-2. VisualFormattingModel styles
-------------------------------------------------------------------*/
.noDisplay {
  display: none;
}

.block {
  display: block !important;
}

.inline {
  display: inline !important;
}

.inlineBlock {
  display: inline-block !important;
}

.static {
  position: static !important;
}

.relative {
  position: relative !important;
}

.absolute {
  position: absolute !important;
}

.fixed {
  position: fixed !important;
}

.leftBox {
  float: left;
}

.rightBox {
  float: right;
}

.nofloat {
  float: none !important;
}

.clearfix {
  zoom: 1;
}

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

.clear {
  clear: both !important;
}

a.hover:hover,
input.hover:hover {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  -khtml-opacity: 0.7;
  opacity: 0.7;
}

/* ------------------------------------------------------------------
	1-3. BoxModel styles
-------------------------------------------------------------------*/
.auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.mt0, .mv0, .ma0 {
  margin-top: 0 !important;
}

.mr0, .mh0, .ma0 {
  margin-right: 0 !important;
}

.mb0, .mv0, .ma0 {
  margin-bottom: 0 !important;
}

.ml0, .mh0, .ma0 {
  margin-left: 0 !important;
}

.pt0, .pv0, .pa0 {
  padding-top: 0 !important;
}

.pr0, .ph0, .pa0 {
  padding-right: 0 !important;
}

.pb0, .pv0, .pa0 {
  padding-bottom: 0 !important;
}

.pl0, .ph0, .pa0 {
  padding-left: 0 !important;
}

.mt5, .mv5, .ma5 {
  margin-top: 5px !important;
}

.mr5, .mh5, .ma5 {
  margin-right: 5px !important;
}

.mb5, .mv5, .ma5 {
  margin-bottom: 5px !important;
}

.ml5, .mh5, .ma5 {
  margin-left: 5px !important;
}

.pt5, .pv5, .pa5 {
  padding-top: 5px !important;
}

.pr5, .ph5, .pa5 {
  padding-right: 5px !important;
}

.pb5, .pv5, .pa5 {
  padding-bottom: 5px !important;
}

.pl5, .ph5, .pa5 {
  padding-left: 5px !important;
}

.mt10, .mv10, .ma10 {
  margin-top: 10px !important;
}

.mr10, .mh10, .ma10 {
  margin-right: 10px !important;
}

.mb10, .mv10, .ma10 {
  margin-bottom: 10px !important;
}

.ml10, .mh10, .ma10 {
  margin-left: 10px !important;
}

.pt10, .pv10, .pa10 {
  padding-top: 10px !important;
}

.pr10, .ph10, .pa10 {
  padding-right: 10px !important;
}

.pb10, .pv10, .pa10 {
  padding-bottom: 10px !important;
}

.pl10, .ph10, .pa10 {
  padding-left: 10px !important;
}

.mt20, .mv20, .ma20 {
  margin-top: 20px !important;
}

.mr20, .mh20, .ma20 {
  margin-right: 20px !important;
}

.mb20, .mv20, .ma20 {
  margin-bottom: 20px !important;
}

.ml20, .mh20, .ma20 {
  margin-left: 20px !important;
}

.pt20, .pv20, .pa20 {
  padding-top: 20px !important;
}

.pr20, .ph20, .pa20 {
  padding-right: 20px !important;
}

.pb20, .pv20, .pa20 {
  padding-bottom: 20px !important;
}

.pl20, .ph20, .pa20 {
  padding-left: 20px !important;
}

.mt30, .mv30, .ma30 {
  margin-top: 30px !important;
}

.mr30, .mh30, .ma30 {
  margin-right: 30px !important;
}

.mb30, .mv30, .ma30 {
  margin-bottom: 30px !important;
}

.ml30, .mh30, .ma30 {
  margin-left: 30px !important;
}

.pt30, .pv30, .pa30 {
  padding-top: 30px !important;
}

.pr30, .ph30, .pa30 {
  padding-right: 30px !important;
}

.pb30, .pv30, .pa30 {
  padding-bottom: 30px !important;
}

.pl30, .ph30, .pa30 {
  padding-left: 30px !important;
}

.mt40, .mv40, .ma40 {
  margin-top: 40px !important;
}

.mr40, .mh40, .ma40 {
  margin-right: 40px !important;
}

.mb40, .mv40, .ma40 {
  margin-bottom: 40px !important;
}

.ml40, .mh40, .ma40 {
  margin-left: 40px !important;
}

.pt40, .pv40, .pa40 {
  padding-top: 40px !important;
}

.pr40, .ph40, .pa40 {
  padding-right: 40px !important;
}

.pb40, .pv40, .pa40 {
  padding-bottom: 40px !important;
}

.pl40, .ph40, .pa40 {
  padding-left: 40px !important;
}

.bt0, .ba0 {
  border-top: none !important;
}

.br0, .ba0 {
  border-right: none !important;
}

.bb0, .ba0 {
  border-bottom: none !important;
}

.bl0, .ba0 {
  border-left: none !important;
}

/* ------------------------------------------------------------------
	1-4. Text styles
-------------------------------------------------------------------*/
strong, .bold {
  font-weight: bold;
}

.italic {
  font-style: italic;
}

.note {
  margin-left: 1.0em;
  text-indent: -1.0em;
}

.f10 {
  font-size: 77%;
}

.f11 {
  font-size: 85%;
}

.f12 {
  font-size: 93%;
}

.f14 {
  font-size: 108%;
}

.f15 {
  font-size: 116%;
}

.f16 {
  font-size: 123.1%;
}

.f17 {
  font-size: 131%;
}

.f18 {
  font-size: 138.5%;
}

.f19 {
  font-size: 146.5%;
}

.f20 {
  font-size: 153.9%;
}

.f21 {
  font-size: 161.6%;
}

.f22 {
  font-size: 169.3%;
}

.f23 {
  font-size: 174%;
}

.f24 {
  font-size: 182%;
}

.f25 {
  font-size: 189%;
}

.f26 {
  font-size: 197%;
}

.red {
  color: #C00;
}

.white {
  color: #FFF;
}

.grayC {
  color: #CCC;
}

.gray9 {
  color: #999;
}

.gray6 {
  color: #666;
}

.gray3 {
  color: #333;
}

.black {
  color: #000;
}

.middle {
  vertical-align: middle !important;
}

.center {
  text-align: center !important;
}

.left {
  text-align: left !important;
}

.right {
  text-align: right !important;
}

.underline {
  text-decoration: underline !important;
}

/* ------------------------------------------------------------------
	1-5. List styles
-------------------------------------------------------------------*/
.disc {
  padding-left: 2em;
  list-style: disc;
}

.circle {
  padding-left: 2em;
  list-style: circle;
}

.decimal {
  padding-left: 2.4em;
  list-style: decimal;
}

/* InlineList styles
-------------------------------------------------------------------*/
.inlineList dt,
.inlineList dd,
.inlineList li {
  display: inline;
  padding-right: 5px;
}

.inlineBlockList dt,
.inlineBlockList dd,
.inlineBlockList li {
  display: inline-block;
  padding-right: 5px;
}

/* DlLine styles
-------------------------------------------------------------------*/
.dlLine {
  zoom: 1;
}

.dlLine dt {
  float: left;
  margin-right: 10px;
  padding: 4px 0;
}

.dlLine dd {
  padding: 4px 0;
  border-bottom: 1px #CCC solid;
}

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

/* ------------------------------------------------------------------
	1-6. CSS3 common styles
-------------------------------------------------------------------*/
.boxShadow {
  -webkit-box-shadow: 0 0 5px #DDD;
  box-shadow: 0 0 5px #DDD;
}

.textShadowW {
  text-shadow: 0 1px 0 #E7E7E7;
  -ms-filter: "progid:DXImageTransform.Microsoft.DropShadow(color=#E7E7E7,offx=0,offy=1)";
}

.textShadowB {
  text-shadow: 0 1px 0 #111;
  -ms-filter: "progid:DXImageTransform.Microsoft.DropShadow(color=#111111,offx=0,offy=1)";
}

.radius5 {
  border-radius: 5px;
}

.radius10 {
  border-radius: 10px;
}

/*==================================================================
	2 Responsive setting
===================================================================*/
/* ------------------------------------------------------------------
	2-1. Fluid grid styles
-------------------------------------------------------------------*/
.row {
  max-width: 960px;
  margin: 0 auto;
  *zoom: 1;
}

.row {
  width: 960px\9;
}

.row:not(:target) {
  width: auto\9;
}

.row .collapse {
  padding: 0 !important;
}

.row .row {
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0 -10px;
}

.row:before, .row:after {
  display: table;
  content: "";
}

.row:after {
  clear: both;
}

.columns {
  position: relative;
  float: left;
  min-height: 1px;
  padding: 0 10px;
  height: 100%;
  float: expression((this.parentNode.lastChild == this)?'right':'left');
}

.columns:last-child {
  float: right;
}

.columns:first-child {
  float: left;
}

.columns.centered {
  float: none;
  margin: 0 auto;
}

.grid1, .row .grid1 {
  width: 8.33333%;
}

.grid2, .row .grid2 {
  width: 16.66667%;
}

.grid3, .row .grid3 {
  width: 25%;
}

.grid4, .row .grid4 {
  width: 33.33333%;
}

.grid5, .row .grid5 {
  width: 41.66667%;
}

.grid6, .row .grid6 {
  width: 50%;
}

.grid7, .row .grid7 {
  width: 58.33333%;
}

.grid8, .row .grid8 {
  width: 66.66667%;
}

.grid9, .row .grid9 {
  width: 75%;
}

.grid10, .row .grid10 {
  width: 83.33333%;
}

.grid11, .row .grid11 {
  width: 91.66667%;
}

.grid12, .row .grid12 {
  width: 100%;
}

.grid1Left {
  margin-left: 8.33333%;
}

.grid2Left {
  margin-left: 16.66667%;
}

.grid3Left {
  margin-left: 25%;
}

.grid4Left {
  margin-left: 33.33333%;
}

.grid5Left {
  margin-left: 41.66667%;
}

.grid6Left {
  margin-left: 50%;
}

.grid7Left {
  margin-left: 58.33333%;
}

.grid8Left {
  margin-left: 66.66667%;
}

.grid9Left {
  margin-left: 75%;
}

.grid10Left {
  margin-left: 83.33333%;
}

.grid11Left {
  margin-left: 91.66667%;
}

.grid1Push {
  left: 8.33333%;
}

.grid1Pull {
  left: 8.33333%;
}

.grid2Push {
  left: 16.66667%;
}

.grid2Pull {
  right: 16.66667%;
}

.grid3Push {
  left: 25%;
}

.grid3Pull {
  right: 25%;
}

.grid4Push {
  left: 33.33333%;
}

.grid4Pull {
  right: 33.33333%;
}

.grid5Push {
  left: 41.66667%;
}

.grid5Pull {
  right: 41.66667%;
}

.grid6Push {
  left: 50%;
}

.grid6Pull {
  right: 50%;
}

.grid7Push {
  left: 58.33333%;
}

.grid7Pull {
  right: 58.33333%;
}

.grid8Push {
  left: 66.66667%;
}

.grid8Pull {
  right: 66.66667%;
}

.grid9Push {
  left: 75%;
}

.grid9Pull {
  right: 75%;
}

.grid10Push {
  left: 83.33333%;
}

.grid10Pull {
  right: 83.33333%;
}

.grid11Push {
  left: 91.66667%;
}

.grid11Pull {
  right: 91.66667%;
}

/* ------------------------------------------------------------------
	2-2. Tablet grid styles
-------------------------------------------------------------------*/
@media only screen and (min-width: 481px) and (max-width: 768px) {
  body {
    width: 100%;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .row {
    width: auto;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .columns {
    width: auto !important;
    float: none;
  }
  .columns:last-child {
    float: none;
  }
  .columns:first-child {
    float: none;
  }
  .columns:before, .columns:after {
    display: table;
    content: "";
  }
  .columns:after {
    clear: both;
  }
  .grid1Left, .grid2Left, .grid3Left, .grid4Left, .grid5Left, .grid6Left, .grid7Left, .grid8Left, .grid9Left, .grid10Left, .grid11Left {
    margin-left: 0;
  }
  .grid1Push, .grid2Push, .grid3Push, .grid4Push, .grid5Push, .grid6Push, .grid7Push, .grid8Push, .grid9Push, .grid10Push, .grid11Push {
    left: auto;
  }
  .grid1Pull, .grid2Pull, .grid3Pull, .grid4Pull, .grid5Pull, .grid6Pull, .grid7Pull, .grid8Pull, .grid9Pull, .grid10Pull, .grid11Pull {
    right: auto;
  }
  .row .grid1Tablet {
    float: left;
    width: 25% !important;
    padding: 0 10px;
  }
  .row .grid1Tablet:last-child {
    float: right;
  }
  .row .grid2Tablet {
    float: left;
    width: 50% !important;
    padding: 0 10px;
  }
  .row .grid2Tablet:last-child {
    float: right;
  }
  .row .grid3Tablet {
    float: left;
    width: 75% !important;
    padding: 0 10px;
  }
  .row .grid3Tablet:last-child {
    float: right;
  }
  .row .grid4Tablet {
    float: left;
    width: 100% !important;
    padding: 0 10px;
  }
  .row .grid4Tablet:last-child {
    float: right;
  }
  .row .gridThirdsTablet {
    float: left;
    width: 33.33333% !important;
    padding: 0 10px;
  }
  .row .gridThirdsTablet:last-child {
    float: right;
  }
  .grid1TabletPush {
    left: 25%;
  }
  .grid1TabletPull {
    right: 25%;
  }
  .grid2TabletPush {
    left: 50%;
  }
  .grid2TabletPull {
    right: 50%;
  }
  .grid3TabletPush {
    left: 75%;
  }
  .grid3TabletPull {
    right: 75%;
  }
  .row .centered {
    float: none !important;
    margin: 0 auto;
  }
}

/* ------------------------------------------------------------------
	2-3. Mobile grid styles
-------------------------------------------------------------------*/
@media only screen and (max-width: 480px) {
  body {
    width: 100%;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .row {
    width: auto;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .columns {
    width: auto !important;
    float: none;
  }
  .columns:last-child {
    float: none;
  }
  .columns:first-child {
    float: none;
  }
  .columns:before, .columns:after {
    display: table;
    content: "";
  }
  .columns:after {
    clear: both;
  }
  .grid1Left, .grid2Left, .grid3Left, .grid4Left, .grid5Left, .grid6Left, .grid7Left, .grid8Left, .grid9Left, .grid10Left, .grid11Left {
    margin-left: 0;
  }
  .grid1Push, .grid2Push, .grid3Push, .grid4Push, .grid5Push, .grid6Push, .grid7Push, .grid8Push, .grid9Push, .grid10Push, .grid11Push {
    left: auto;
  }
  .grid1Pull, .grid2Pull, .grid3Pull, .grid4Pull, .grid5Pull, .grid6Pull, .grid7Pull, .grid8Pull, .grid9Pull, .grid10Pull, .grid11Pull {
    right: auto;
  }
  .row .grid1Mobile {
    float: left;
    width: 25% !important;
    padding: 0 10px;
  }
  .row .grid1Mobile:last-child {
    float: right;
  }
  .row .grid2Mobile {
    float: left;
    width: 50% !important;
    padding: 0 10px;
  }
  .row .grid2Mobile:last-child {
    float: right;
  }
  .row .grid3Mobile {
    float: left;
    width: 75% !important;
    padding: 0 10px;
  }
  .row .grid3Mobile:last-child {
    float: right;
  }
  .row .grid4Mobile {
    float: left;
    width: 100% !important;
    padding: 0 10px;
  }
  .row .grid4Mobile:last-child {
    float: right;
  }
  .row .gridThirdsMobile {
    float: left;
    width: 33.33333% !important;
    padding: 0 10px;
  }
  .row .gridThirdsMobile:last-child {
    float: right;
  }
  .grid1MobilePush {
    left: 25%;
  }
  .grid1MobilePull {
    right: 25%;
  }
  .grid2MobilePush {
    left: 50%;
  }
  .grid2MobilePull {
    right: 50%;
  }
  .grid3MobilePush {
    left: 75%;
  }
  .grid3MobilePull {
    right: 75%;
  }
  .row .centered {
    float: none !important;
    margin: 0 auto;
  }
}

/**
 * Set up a decent box model on the root element
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/**
 * Make all elements from the DOM inherit from the parent box-sizing
 * Since `*` has a specificity of 0, it does not override the `html` value
 * making all elements inheriting from the root box-sizing value
 * See: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

/**
 * Font family
 */
body {
  color: #333;
  font: normal 13px/1.231 "BlinkMacSystemFont", "Helvetica Neue", "Segoe UI", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", YuGothic, "游ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Verdana, Arial, sans-serif;
}

/**
 * Basic styles for links

a {
  color: $link-color;
  text-decoration: none;

  @include hover {
    color: $link-color;
    text-decoration: underline;
  }
} */
/**
 * Clear inner floats
 */
.clearfix::after {
  clear: both;
  content: "";
  display: table;
}

/**
 * Hide text while making it readable for screen readers
 * 1. Needed in WebKit-based browsers because of an implementation bug;
 *    See: https://code.google.com/p/chromium/issues/detail?id=457146
 */
.hide-text {
  overflow: hidden;
  padding: 0;
  /* 1 */
  text-indent: 101%;
  white-space: nowrap;
}

/**
 * Hide element while making it readable for screen readers
 * Shamelessly borrowed from HTML5Boilerplate:
 * https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L119-L133
 */
.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.main {
  max-width: 720px;
}

.main--full, .contents--flex, .inner, .breadcrumb ul, .footer-row03 {
  max-width: 990px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}

.sidebar {
  width: 220px;
  min-width: 220px;
  margin-left: 20px;
}

.contents {
  overflow: hidden;
  padding-top: 55px;
}

.contents--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 100px;
  padding-top: 55px;
}

.contents--flex .main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.contents--full {
  padding-bottom: 100px;
}

@media only screen and (max-width: 720px) {
  .contents {
    padding-top: 30px;
  }
  .contents--flex {
    display: block;
    padding: 30px 15px 0;
  }
  .contents--flex .main {
    max-width: inherit;
    padding-bottom: 50px;
  }
  .contents--flex .sidebar {
    width: auto;
    margin: 0;
  }
  .contents--full {
    padding: 30px 15px 0;
  }
  .contents--full .main {
    padding-bottom: 50px;
  }
}

.header {
  background: #FFF;
  border-top: 5px solid #29539B;
  border-bottom: 1px solid #e2e4e4;
  -webkit-box-shadow: 0 0 3px #eceeef;
          box-shadow: 0 0 3px #eceeef;
  position: relative;
  z-index: 2;
}

.header .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 90px;
  padding: 12px 10px;
}

.header-logo {
  width: 200px;
  min-width: 200px;
}

.header-block {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.header-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 5px 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 108%;
}

.header-nav li {
  margin-left: 15px;
}

.header-tool {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 29px;
  padding: 5px 0;
}

.font-tool {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.font-tool .font-label {
  margin-right: 10px;
  font-size: 108%;
}

.font-tool .font-buttons {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100px;
  border-radius: 4px;
  font-size: 123.1%;
  line-height: 1.3;
}

.font-tool .font-buttons a {
  width: 50%;
  padding: 5px;
  background: #EEF0F1;
  color: inherit;
  text-decoration: none;
  text-align: center;
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
  white-space: nowrap;
}

.font-tool .font-buttons a.active {
  background: #29539B;
  color: #FFF;
}

.font-tool .font-buttons a.active:hover {
  background-color: #28ADDE;
}

.font-tool .font-buttons a:hover {
  background-color: #E7EDF7;
}

.ieStyle .font-tool .font-buttons a {
  padding: 7px 5px 3px;
}

.search-tool {
  position: relative;
  width: 160px;
  margin-left: 10px;
}

.search-tool .input--radius {
  width: 100%;
  font-size: 108%;
  margin: 0 !important;
}

.search-tool .search-button {
  position: absolute;
  right: 0;
  top: 0;
  width: 42px;
  height: 36px;
  padding: 2px;
  border: none;
  background: none;
}

.search-tool .search-button:hover {
  cursor: pointer;
}

.search-tool .search-button img {
  width: 18px;
}

.header-tool-sp {
  display: none;
}

@media only screen and (min-width: 721px) {
  .header-tool {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

@media only screen and (max-width: 720px) {
  .header {
    position: relative;
    border-bottom-color: #AAA;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .header .inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0;
  }
  .header-logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 60px;
    width: 100%;
  }
  .header-logo h1 {
    min-width: 140px;
    padding-left: 15px;
    padding-right: 10px;
  }
  .header-tool-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 60%;
    max-width: 200px;
    height: 60px;
  }
  .header-tool-sp a {
    position: relative;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 30%;
    padding: 10px;
    border-left: 1px solid #AAA;
    color: inherit;
    text-decoration: none;
  }
  .header-tool-sp a:after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    background: #29539B url(img/common/icon-close.svg) 50% 50% no-repeat;
    background-size: 16px auto;
    -webkit-transition: all .3s;
    transition: all .3s;
  }
  .header-tool-sp a.active::after {
    opacity: 1;
  }
  .header-tool-sp .link {
    width: 40%;
    background-position: 10px 50%;
    font-size: 103%;
    white-space: nowrap;
  }
  .header-tool-sp .link img {
    width: 13px;
    margin-right: 5px;
  }
  .header-tool-sp img {
    max-width: 21px;
  }
  .header-block {
    display: block;
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
  .header-tool {
    display: none;
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    margin: 0;
    padding: 10px;
    background: #29539B;
  }
  .header-tool.active {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .font-tool {
    display: none;
  }
  .search-tool {
    margin: 0;
    width: 100%;
  }
  .header-nav {
    width: 100%;
    padding: 15px 0 15px 15px;
    border-top: 1px solid #AAA;
  }
  .header-nav li {
    margin: 0 15px 0 0;
    font-size: 93%;
  }
}

.title-page {
  background: #29539B;
}

.title-page h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 990px;
  height: 120px;
  margin: 0 auto;
  padding: 15px;
  color: #FFF;
  font-size: 240%;
  font-weight: bold;
}

.headline2 {
  background-color: #F6F8F9;
  border: 1px solid #CCC;
  border-top-width: 3px;
  border-top-color: #29539B;
  color: #333;
  font-size: 169.3%;
  font-weight: bold;
  margin: 0 0 15px;
  padding: 17px 20px;
}

.headline2.headline2--white {
  background-color: #FFF;
}

.headline2--link {
  padding: 0;
}

.headline2--link a {
  display: block;
  padding: 15px 20px 19px 40px;
  background: url(img/common/icon-arrow.svg) 20px 1em no-repeat;
  background-size: 13px;
  color: #29539B;
  text-decoration: none;
}

.headline2--link:hover {
  cursor: pointer;
  text-decoration: underline;
}

.headline3 {
  color: #29539B;
  font-size: 153.9%;
  font-weight: bold;
  margin-bottom: 15px;
}

.headline3--link {
  text-decoration: underline;
}

.headline3--link:hover {
  cursor: pointer;
  text-decoration: none;
}

.headline4 {
  margin-bottom: 25px;
  padding-bottom: 8px;
  border-bottom: 1px solid #CCC;
  color: #1D1D1D;
  font-size: 123.1%;
  font-weight: bold;
}

.headline4 > span {
  padding: 0 8px;
  border-left: 3px solid #29539B;
}

.headline5 {
  margin-bottom: 25px;
  padding: 7px 20px;
  border-radius: 5px;
  color: #1D1D1D;
  font-size: 123.1%;
  font-weight: bold;
  line-height: 1.4;
}

.headline5--link-water {
  background-color: #E7EDF7;
}

.headline5--zanah {
  background-color: #DFF1DE;
  font-weight: bold;
}

.headline6 {
  color: #1D1D1D;
  font-size: 123.1%;
  font-weight: bold;
  padding: 10px 0;
}

.headline7 {
  border: 1px solid #CCC;
}

.headline7 a {
  display: block;
  padding: 12px 12px 12px 35px;
  background: #F6F8F9 url(img/common/icon-arrow.svg) 15px 1.1em no-repeat;
  background-size: 13px;
  color: #29539B;
  font-size: 123.1%;
  font-weight: bold;
  line-height: 1.5;
  text-decoration: none;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.headline7:hover a {
  background-color: #E7EDF7;
}

.headline7 + .headline7 {
  border-top: none;
}

.headline8 {
  background-color: #F6F8F9;
  padding: 12px 12px 12px 15px;
  border: 1px solid #CCC;
  border-top: 3px solid #29539B;
  font-size: 108%;
  font-weight: bold;
  line-height: 1.5;
}

@media only screen and (max-width: 720px) {
  .title-page h1 {
    height: auto;
    min-height: 80px;
    font-size: 182%;
  }
  .headline2 {
    padding: 17px 15px;
    font-size: 161.6%;
  }
  .headline2--link {
    padding: 0;
  }
  .headline2--link a {
    padding: 17px 15px 17px 35px;
    background-position: 15px 1.15em;
  }
  .headline3 {
    font-size: 138.5%;
  }
  .headline7 {
    border: 1px solid #FFF;
  }
  .headline7 a {
    background: #29539B url(img/common/icon-arrow-right.svg) 15px 1.1em no-repeat;
    background-size: 10px auto;
    color: #FFF;
    font-size: 138.5%;
  }
  .headline8 {
    background-color: #29539B;
    color: #FFF;
    padding: 12px 12px 12px 15px;
    font-size: 139%;
  }
}

.main--editor-body .headline3 {
  margin: 0 20px 15px 20px;
}

.main--editor-body .headline4 {
  margin: 0 20px 15px 20px;
}

.main--editor-body .headline5 {
  margin: 0 20px 15px 20px;
}

.main--editor-body .headline6 {
  margin: 0 20px 15px 20px;
}

.main--editor-body .txt {
  margin: 0 20px 15px 20px;
}

@media only screen and (max-width: 720px) {
  .main--editor-body .headline3 {
    margin: 0 15px 15px 15px;
  }
  .main--editor-body .headline4 {
    margin: 0 15px 15px 15px;
  }
  .main--editor-body .headline5 {
    margin: 0 15px 15px 15px;
  }
  .main--editor-body .headline6 {
    margin: 0 15px 15px 15px;
  }
}

.breadcrumb {
  background: #E7EDF7;
  font-size: 100%;
}

.breadcrumb ul {
  padding-top: 6px;
  padding-bottom: 6px;
}

.breadcrumb li {
  display: inline-block;
  margin-right: 7px;
  padding: 4px 0;
  vertical-align: middle;
}

.breadcrumb li a {
  display: inline-block;
  padding-right: 15px;
  background: url(img/common/icon-next-gray.svg) 100% 50% no-repeat;
  color: inherit;
  text-decoration: none;
}

.breadcrumb li:hover a {
  text-decoration: underline;
}

.breadcrumb li em {
  font-weight: bold;
}

@media only screen and (max-width: 720px) {
  .breadcrumb {
    font-size: 93%;
  }
}

.side-group {
  margin-top: 30px;
}

.side-group:first-child {
  margin-top: 0;
}

.side-image .side-img {
  overflow: hidden;
  display: block;
  margin-bottom: 10px;
  border-radius: 8px;
}

.side-image .side-img img {
  vertical-align: middle;
}

.side-image .side-image-des {
  font-size: 108%;
  line-height: 1.6;
}

.side-list > li {
  border: 1px solid #CCC;
  border-top: none;
}

.side-list > li > a {
  display: block;
  padding: 11px 12px 11px 33px;
  background: #FFF url(img/common/icon-arrow01.svg) 22px 1.1em no-repeat;
  background-size: 5px auto;
  color: inherit;
  font-size: 108%;
  text-decoration: none;
  line-height: 1.45;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.side-list > li > a.active {
  background-color: #E7EDF7;
  font-weight: bold;
}

.side-list > li > a:hover {
  background-color: #E7EDF7;
}

@media only screen and (max-width: 720px) {
  .sidebar {
    background: #FFF;
  }
  .sidebar li a {
    padding-left: 30px;
    background-position: 20px 1.1em;
  }
  .side-image {
    max-width: 540px;
    margin: 0 auto;
  }
  .side-image .side-image-des {
    font-size: 93%;
  }
  .side-group--full {
    margin-left: -15px;
    margin-right: -15px;
  }
  .side-group .tags2 {
    margin-bottom: 0;
  }
}

.section-inner {
  padding-left: 20px;
  padding-right: 20px;
}

.section-full {
  position: relative;
  width: 100%;
  max-width: 990px;
  margin: 0 auto;
  padding: 50px 255px 50px 15px;
}

.section-full::after {
  position: absolute;
  content: "";
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  background: #F6F8F9;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.section-full .white-box {
  z-index: 1;
  position: relative;
}

.white-box .headline2 {
  margin-bottom: 0;
}

.white-box .white-box-content {
  padding: 22px;
  border: 1px solid #CCC;
  border-top: none;
  background: #FFF;
}

@media only screen and (max-width: 720px) {
  .section-inner {
    padding-left: 15px;
    padding-right: 15px;
  }
  .section-full {
    padding: 30px 15px;
  }
  .section-full::after {
    left: 50%;
  }
  .white-box .white-box-content {
    padding: 20px 15px;
  }
}

.footer {
  position: relative;
  background: #FFF;
  border-top: 1px solid #CCC;
}

.footer > .page-top {
  display: none;
}

.footer .page-top--pc {
  position: absolute;
  top: -50px;
  left: 50%;
  width: 100%;
  max-width: 990px;
  -webkit-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
  text-align: right;
}

.footer-row01 {
  overflow: hidden;
  border-bottom: 1px solid #CCC;
}

.footer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 59px 0 5px;
  margin-right: -35px;
}

.footer-nav .item-title {
  width: 100%;
  margin-bottom: 34px;
}

.footer-nav .item-title a {
  color: inherit;
  font-size: 123.1%;
  font-weight: bold;
  text-decoration: none;
}

.footer-nav .item-title a:hover {
  color: #29539B;
  text-decoration: underline;
}

.footer-nav .item {
  width: 20%;
  padding-right: 35px;
}

.footer-nav .item .link-list a {
  font-size: 108%;
}

.footer-nav .item--colspan2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  width: 40%;
}

.footer-nav .item--colspan2 .link-list {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-right: 35px;
}

.footer-nav .item--colspan2 .link-list:last-child {
  padding-right: 0;
}

.footer-row02 {
  border-bottom: 1px solid #CCC;
}

.footer-row02 .inner {
  position: relative;
}

.footer-row02 .footer-icon {
  position: absolute;
  bottom: -31px;
  right: 15px;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.footer-row02 .footer-icon img {
  width: 30px;
}

.link-list02 {
  padding-top: 18px;
  padding-bottom: 9px;
}

.link-list02 .link-item a {
  font-size: 108%;
}

.link-list02 .link-item::after {
  content: "｜";
  margin-left: 3px;
}

.link-list02 .link-item:last-child::after {
  display: none;
}

.footer-row03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-top: 31px;
  padding-bottom: 30px;
}

.footer-logo {
  margin-bottom: 3px;
}

.footer-add {
  line-height: 2;
  font-size: 108%;
}

.copyright {
  font-size: 93%;
  line-height: 2;
}

@media only screen and (min-width: 721px) {
  .footer-nav .link-list {
    display: block !important;
    margin-bottom: 55px;
  }
}

@media only screen and (max-width: 720px) {
  .footer {
    border: none;
  }
  .footer .page-top {
    display: block;
    padding: 16px 10px;
    background: #29539B;
    color: #FFF;
    text-align: center;
    text-decoration: none;
    font-size: 103%;
  }
  .footer .page-top img {
    width: 14px;
    margin-right: 8px;
    vertical-align: middle;
  }
  .footer .page-top--pc {
    display: none;
  }
  .footer-row01 .inner {
    padding: 0;
  }
  .footer-nav {
    display: block;
    margin: 0;
    padding: 0;
  }
  .footer-nav .item {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .footer-nav .item:first-child .item-title {
    border-top: none;
  }
  .footer-nav .item--colspan2 {
    width: 100%;
    display: block;
  }
  .footer-nav .item-title {
    margin: 0;
    border-top: 1px solid #CCC;
    padding: 15px 55px 15px 15px;
    background: #FFF;
  }
  .footer-nav .item-title a {
    padding-left: 16px;
    background: url(img/common/icon-arrow.svg) 0 50% no-repeat;
    background-size: 10px auto;
    font-weight: normal;
  }
  .footer-nav .item-title--accor {
    position: relative;
  }
  .footer-nav .item-title--accor:after, .footer-nav .item-title--accor:before {
    position: absolute;
    content: "";
    top: 50%;
    right: 25px;
    width: 16px;
    height: 2px;
    background: #29539B;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .footer-nav .item-title--accor:before {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .footer-nav .item-title--accor.active {
    background-color: #E7EDF7;
    font-weight: bold;
  }
  .footer-nav .item-title--accor.active:after, .footer-nav .item-title--accor.active:before {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .footer-nav .link-list {
    display: none;
    margin: 0;
    padding: 15px 30px;
    border-top: 1px solid #CCC;
  }
  .footer-nav .link-list li:not(:last-child) {
    margin-bottom: 15px;
  }
  .footer-nav .link-list li a.link01 {
    padding-left: 0;
    background: none;
  }
  .footer-nav .link-list + .link-list {
    border-top: none;
    padding-top: 0;
  }
  .footer-row02 {
    border: none;
  }
  .footer-row02 .footer-icon {
    top: 35px;
    bottom: auto;
    right: 25px;
    width: 35px;
    height: auto;
    -webkit-transform: none;
            transform: none;
  }
  .footer-row02 .footer-icon img {
    width: 35px;
  }
  .link-list02 {
    padding-top: 35px;
    padding-bottom: 25px;
  }
  .footer-row03 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 0;
    padding-bottom: 35px;
  }
  .footer-info {
    width: 100%;
    margin-bottom: 30px;
  }
  .footer-add {
    font-size: 85%;
  }
  .footer-add .link03 {
    background-position: 0 2px;
  }
  .copyright {
    width: 100%;
    font-size: 77%;
  }
}

#wrapper {
  overflow: hidden;
}

.pcStyle {
  min-width: 990px;
  overflow-x: auto;
}

.row {
  margin-bottom: 55px;
}

.row:last-child {
  margin-bottom: 0;
}

.row__inner {
  padding: 0 20px;
}

.row__inner .txt-list {
  padding: 0 10px;
}

.row__inner {
  padding: 0 20px;
}

.row__inner .txt-list {
  padding: 0 10px;
}

.spDisplay {
  display: none;
}

.pcDisplay {
  display: block;
}

.pcNone {
  display: none;
}

.f17 {
  font-size: 131%;
}

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

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

.animated {
  -webkit-animation-duration: .5s;
          animation-duration: .5s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fadeIn {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

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

.fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
}

@media only screen and (max-width: 990px) {
  .ieStyle {
    min-width: 990px;
    overflow-x: auto;
  }
}

@media only screen and (max-width: 720px) {
  .pcStyle,
  .ieStyle {
    min-width: inherit;
  }
  .spDisplay {
    display: block;
  }
  .pcDisplay {
    display: none;
  }
  .pcNone {
    display: inline;
  }
  .spNone {
    display: none;
  }
  .sp-full {
    margin-left: -15px;
    margin-right: -15px;
  }
  .row__inner {
    padding: 0 15px;
  }
}

.txt-list {
  margin-bottom: 15px;
}

.txt-list > li {
  font-size: 123.1%;
}

.txt-list li {
  position: relative;
  color: #333;
  margin-bottom: 10px;
  padding-left: 24px;
  line-height: 1.6;
}

.txt-list li::before {
  position: absolute;
  left: 0;
  content: "・";
}

.txt-list li ul {
  margin-top: 10px;
}

.txt-list li ul li {
  position: relative;
  padding-left: 20px;
  font-size: 100%;
}

.txt-list li ul li::before {
  content: "→ ";
  font-size: 100%;
  line-height: 1.6;
}

.txt-list li:last-child {
  margin-bottom: 0;
}

.txt-list--01 li::before {
  color: #29539B;
  font-size: 189%;
  line-height: 1;
  vertical-align: middle;
}

.txt-list--02 li {
  text-indent: -16px;
}

.txt-list--02 li::before {
  background: url(img/common/icon-arrow01.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 10px;
  margin-right: 10px;
  position: relative;
  width: 5px;
}

.txt-list--03 li {
  padding-left: 16px;
  text-indent: -16px;
}

.txt-list--03 li::before {
  background: url(img/common/icon-arrow.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 13px;
  margin-right: 5px;
  position: relative;
  width: 13px;
}

.txt-list--04 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.txt-list--04 li {
  padding-left: 16px;
  text-indent: -16px;
  width: calc(100% / 3);
}

.txt-list--04 li::before {
  background: url(img/common/icon-arrow.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 13px;
  margin-right: 5px;
  position: relative;
  width: 13px;
}

.txt-list--04::after {
  content: "";
  width: calc(100% / 3);
}

.txt-list--05 li {
  border-bottom: 1px dotted #000;
  margin-bottom: 14px;
  padding-bottom: 15px;
  padding-left: 16px;
  text-indent: -16px;
}

.txt-list--05 li::before {
  background: url(img/common/icon-arrow.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 13px;
  margin-right: 5px;
  position: relative;
  width: 13px;
}

.txt-list--05 li p {
  margin-top: 5px;
  padding-left: 0;
  text-indent: 0;
}

.txt-list--06 {
  list-style: decimal;
  margin-left: 15px;
}

.txt-list--06 li {
  color: #333;
  font-size: 123.1%;
  margin-bottom: 10px;
  padding-left: 0;
  text-indent: 0;
}

.txt-list--06 li::before {
  display: none;
}

.txt-list--07 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.txt-list--07 li {
  padding-left: 16px;
  text-indent: -16px;
  width: calc((100% - 40px) / 2);
}

.txt-list--07 li::before {
  background: url(img/common/icon-arrow.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 13px;
  margin-right: 5px;
  position: relative;
  width: 13px;
}

.txt-list--07::after {
  content: "";
  width: calc(100% / 3);
}

.txt-list--08 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.txt-list--08 li {
  padding-left: 16px;
  text-indent: -16px;
  width: calc(100% / 3);
}

.txt-list--08 li::before {
  background: url(img/common/icon-arrow.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 13px;
  margin-right: 5px;
  position: relative;
  width: 13px;
}

.txt-list--08::after {
  content: "";
  width: calc(100% / 3);
}

.txt-list--09 {
  list-style: none;
}

.txt-list--09 li {
  border-bottom: 1px dotted #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 15px;
  padding-bottom: 15px;
}

.txt-list--09 li p {
  width: calc(100% / 3);
}

.txt-list--10 {
  list-style: none;
}

.txt-list--10 li {
  display: inline-block;
  margin: 0 19px 15px 0;
}

.txt-list--10 a {
  color: #333;
  text-decoration: none;
  -webkit-transition: color .5s;
  transition: color .5s;
}

.txt-list--10 a:hover {
  color: #29539B;
  text-decoration: underline;
}

.txt-list--11 li {
  padding-left: 16px;
  text-indent: -16px;
}

.txt-list--11 li::before {
  background: url(img/common/icon-arrow.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 13px;
  margin-right: 5px;
  position: relative;
  width: 13px;
}

.txt-list--11 li a {
  color: #333;
  text-decoration: none;
  -webkit-transition: color .5s;
  transition: color .5s;
}

.txt-list--11 li a:hover {
  color: #29539B;
  text-decoration: underline;
}

.data-list dt {
  margin-bottom: 10px;
  font-size: 123.1%;
  font-weight: bold;
}

.data-list dd {
  margin-bottom: 10px;
  font-size: 123.1%;
  line-height: 1.65;
}

.data-list--01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.data-list--01 dt {
  font-weight: bold;
  width: 20%;
}

.data-list--01 dd {
  margin-bottom: 7px;
  width: 80%;
}

.data-list--02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.data-list--02 dt {
  width: 140px;
  padding-top: 5px;
  font-weight: normal;
  font-size: 108%;
}

.data-list--02 dd {
  margin-bottom: 17px;
  width: calc(100% - 140px);
  font-size: 123.1%;
}

.link-list li:not(:last-child) {
  margin-bottom: 12px;
}

.link-list02 {
  text-align: center;
}

.link-list02 .link-item {
  display: inline-block;
  margin-bottom: 10px;
  vertical-align: middle;
}

.link-list02 .link-item a {
  color: inherit;
  text-decoration: none;
}

.link-list02 .link-item a:hover {
  text-decoration: underline;
}

.card-list {
  margin-right: -15px;
}

.card-list.card-list--01 .card__title a {
  color: #29539b;
  text-decoration: underline;
}

.card-list.card-list--01 .card__title a:hover {
  text-decoration: none;
}

.card-list.card-list--01 li:hover a {
  text-decoration: none;
}

.card___item {
  display: none;
  float: left;
  margin: 0 15px 30px 0;
  width: calc(33.33% - 15px);
  border: 1px solid #CCC;
  color: #333;
  text-decoration: none;
  -webkit-transition: -webkit-box-shadow .5s;
  transition: -webkit-box-shadow .5s;
  transition: box-shadow .5s;
  transition: box-shadow .5s, -webkit-box-shadow .5s;
}

.card___item.bl-hover {
  -webkit-box-shadow: 1px 1px 1px #CCC;
          box-shadow: 1px 1px 1px #CCC;
}

.card___item.bl-hover .card__img img {
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
}

.card___item.bl-hover .card__title a {
  color: #29539B;
  text-decoration: underline;
}

.card___item.active {
  display: block;
}

.card__img {
  overflow: hidden;
}

.card__img img {
  vertical-align: middle;
  -webkit-transition: -webkit-transform .5s;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
}

.card__inner {
  padding: 13px 20px 18px;
}

.card__title {
  font-size: 123.1%;
  font-weight: bold;
  margin-bottom: 13px;
  line-height: 1.4;
}

.card__title a {
  color: inherit;
  text-decoration: none;
}

.card__txt {
  font-size: 108%;
  line-height: 1.45;
}

.data-list--arrow dt {
  margin-bottom: 5px;
  padding-left: 15px;
  background: url(img/common/icon-arrow01.svg) 0 0.3em no-repeat;
  background-size: 5px auto;
}

.data-list--arrow dd {
  display: block;
  display: -webkit-box;
  max-width: 100%;
  margin-bottom: 10px;
  padding-left: 16px;
  height: 1.5em;
  line-height: 1.5;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.data-list--arrow dd:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 720px) {
  .link-list02 {
    text-align: left;
  }
  .link-list02 .link-item {
    display: block;
    margin-bottom: 10px;
  }
  .link-list02 .link-item a {
    background: url(img/common/icon-arrow01.svg) 0 3px no-repeat;
    background-size: 5px auto;
    padding-left: 12px;
    line-height: 1.4;
  }
  .link-list02 .link-item::after {
    display: none;
  }
  .txt-list li {
    width: 100%;
    font-size: 108%;
  }
  .txt-list--05 li {
    padding-bottom: 8px;
    margin-bottom: 8px;
  }
  .data-list dt, .data-list dd {
    font-size: 108%;
  }
  .data-list--01 dt {
    width: 100%;
    margin-bottom: 5px;
  }
  .data-list--01 dd {
    width: 100%;
    margin-bottom: 10px;
  }
  .data-list--02 {
    font-size: 100%;
  }
  .data-list--02 dt {
    width: 100%;
    margin-bottom: 5px;
    font-weight: normal;
    font-size: 93%;
  }
  .data-list--02 dd {
    width: 100%;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #333;
    font-size: 108%;
  }
  .data-list--02 dd img {
    margin-left: 5px;
    width: 10px;
  }
  .card-list {
    margin: 0 0 30px;
  }
  .card-list li {
    margin-bottom: 10px;
    width: 100%;
  }
  .card-list li:last-child {
    margin-bottom: 0;
  }
  .card__inner {
    padding: 9px 10px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .card___item {
    width: 100%;
    margin: 0 0 10px;
    text-decoration: none;
  }
  .card___item.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .card__img {
    width: 48%;
    min-width: 115px;
    max-width: 230px;
  }
  .card__img img {
    vertical-align: middle;
  }
  .card__title {
    min-height: inherit;
    margin-bottom: 0;
    font-size: 108%;
  }
  .card__title a {
    display: block;
    display: -webkit-box;
    height: 4.2em;
    line-height: 1.4;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .card__txt {
    display: none;
  }
  .txt-list--08 li {
    padding-left: 16px;
    text-indent: -16px;
    width: calc(100% / 2);
  }
  .txt-list--08::after {
    content: "";
    width: calc(100% / 2);
  }
  .txt-list--09 li p {
    width: calc(100% / 2);
  }
  .txt-list--09 li p:last-child {
    margin-top: 15px;
    width: 100%;
  }
}

.main--editor-body .txt-list {
  margin: 0 20px 15px 20px;
}

.main--editor-body .data-list {
  margin: 0 20px 15px 20px;
}

@media only screen and (max-width: 720px) {
  .main--editor-body .txt-list {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .data-list {
    margin: 0 20px 15px 20px;
  }
}

input.input[type="text"],
input.input[type="password"],
textarea.input, input.input--radius[type="text"] {
  padding: 8px 15px;
  border: 1px solid #c5c5c5;
  background: #ffffff;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="text"].input--radius {
  height: 36px;
  padding-right: 35px;
  border-radius: 25px;
  line-height: 1.5;
}

input[type="text"].input--radius:hover, input[type="text"].input--radius:focus {
  background-color: #EBF5EA;
  cursor: pointer;
}

.radio-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.radio-list .radio {
  margin-right: 24px;
}

.radio {
  font-size: 123.1%;
}

.radio input {
  opacity: 0;
  position: absolute;
  width: 0;
  height: 0;
  margin: 0;
  line-height: 0;
  font-size: 0;
}

.radio input:checked + label {
  background-image: url(img/common/icon-radio-selected.svg);
}

.radio label {
  display: inline-block;
  padding-left: 22px;
  background: url(img/common/icon-radio.svg) 0 50% no-repeat;
  -webkit-transition: background-image .3s;
  transition: background-image .3s;
  cursor: pointer;
}

.checkbox-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.checkbox-list .checkbox {
  margin-right: 24px;
}

.checkbox {
  position: relative;
  font-size: 123.1%;
}

.checkbox input {
  opacity: 0;
  position: absolute;
  width: 0;
  height: 0;
  margin: 0;
  line-height: 0;
  font-size: 0;
}

.checkbox input:checked + label {
  background-image: url(img/common/icon-checkbox-selected.svg);
}

.checkbox label {
  display: inline-block;
  padding-left: 22px;
  background: url(img/common/icon-checkbox.svg) 0 50% no-repeat;
  -webkit-transition: background-image .3s;
  transition: background-image .3s;
}

.checkbox label:hover {
  cursor: pointer;
}

.search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 15px;
}

.search .input--radius {
  width: calc(100% - 90px);
  max-width: 360px;
  font-size: 108%;
  height: 36px;
  margin: 0;
  padding: 10px 23px !important;
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
}

.search .btn {
  min-width: 72px;
  height: 36px;
  margin-left: 10px;
  padding-top: 8px;
}

.form-input {
  border: 1px solid #A9A9A9 !important;
  border-radius: 5px;
  font-size: 108% !important;
  height: 42px;
  margin-right: 10px;
  outline: 0;
  padding: 10px 15px !important;
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
  line-height: 1.45;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.form-input:hover {
  background-color: #EBF5EA;
  cursor: pointer;
}

.form-input--hover {
  background-color: #EBF5EA;
  cursor: pointer;
}

.form-input--focus {
  background-color: #EBF5EA;
}

.form-input--error {
  background-color: #FFF1E0;
}

.form-input--disabled {
  background-color: #E5E5E5;
}

.form-input--disabled:hover {
  background-color: #E5E5E5;
  cursor: default;
}

.msg-error {
  color: #B40000;
  display: block;
  font-size: 123.1%;
  font-weight: bold;
  margin-left: 25px;
  margin-top: 5px;
  position: relative;
  text-indent: -25px;
  line-height: 1.6;
}

.msg-error img {
  float: left;
  margin-left: -25px;
  margin-right: 30px;
}

.select {
  background: url(img/common/icon-select.svg) no-repeat 93% 53%;
  background-size: 14px;
  border: 1px solid #CCC;
  border-radius: 5px;
  font-size: 108%;
  outline: 0;
  min-width: 220px;
  padding: 10px 15px;
  position: relative;
  -moz-appearance: none;
  -webkit-appearance: none;
  line-height: 1.45;
}

.select::-ms-expand {
  display: none;
}

.form-input-file {
  outline: 0;
}

@media only screen and (max-width: 720px) {
  .radio {
    font-size: 108%;
  }
  .checkbox {
    font-size: 108%;
  }
  .search .input--radius {
    font-size: 108%;
    padding: 10px 25px !important;
  }
  .search .btn {
    margin-bottom: 0;
  }
  .form-input {
    font-size: 108% !important;
    height: 35px;
    padding: 10px 25px !important;
  }
  .msg-error {
    font-size: 108%;
    text-indent: 0;
  }
  .msg-error img {
    margin-right: 5px;
  }
  .select {
    font-size: 107%;
    height: 35px;
    padding: 5px 25px;
  }
}

.main--editor-body .checkbox-list {
  margin: 0 20px 15px 20px;
}

.main--editor-body .radio-list {
  margin: 0 20px 15px 20px;
}

.main--editor-body .search {
  margin: 0 20px 15px 20px;
}

.main--editor-body .search-wrap {
  margin: 0 20px 15px 20px;
}

.main--editor-body .select {
  margin: 0 20px 15px 20px;
}

.main--editor-body .form-input-file {
  margin: 0 20px 15px 20px;
}

@media only screen and (max-width: 720px) {
  .main--editor-body .checkbox-list {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .radio-list {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .search {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .search-wrap {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .select {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .form-input-file {
    margin: 0 20px 15px 20px;
  }
}

.title-page {
  background: #29539B;
}

.title-page h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 990px;
  height: 120px;
  margin: 0 auto;
  padding: 15px;
  color: #FFF;
  font-size: 240%;
  font-weight: bold;
}

.headline2 {
  background-color: #F6F8F9;
  border: 1px solid #CCC;
  border-top-width: 3px;
  border-top-color: #29539B;
  color: #333;
  font-size: 169.3%;
  font-weight: bold;
  margin: 0 0 15px;
  padding: 17px 20px;
}

.headline2.headline2--white {
  background-color: #FFF;
}

.headline2--link {
  padding: 0;
}

.headline2--link a {
  display: block;
  padding: 15px 20px 19px 40px;
  background: url(img/common/icon-arrow.svg) 20px 1em no-repeat;
  background-size: 13px;
  color: #29539B;
  text-decoration: none;
}

.headline2--link:hover {
  cursor: pointer;
  text-decoration: underline;
}

.headline3 {
  color: #29539B;
  font-size: 153.9%;
  font-weight: bold;
  margin-bottom: 15px;
}

.headline3--link {
  text-decoration: underline;
}

.headline3--link:hover {
  cursor: pointer;
  text-decoration: none;
}

.headline4 {
  margin-bottom: 25px;
  padding-bottom: 8px;
  border-bottom: 1px solid #CCC;
  color: #1D1D1D;
  font-size: 123.1%;
  font-weight: bold;
}

.headline4 > span {
  padding: 0 8px;
  border-left: 3px solid #29539B;
}

.headline5 {
  margin-bottom: 25px;
  padding: 7px 20px;
  border-radius: 5px;
  color: #1D1D1D;
  font-size: 123.1%;
  font-weight: bold;
  line-height: 1.4;
}

.headline5--link-water {
  background-color: #E7EDF7;
}

.headline5--zanah {
  background-color: #DFF1DE;
  font-weight: bold;
}

.headline6 {
  color: #1D1D1D;
  font-size: 123.1%;
  font-weight: bold;
  padding: 10px 0;
}

.headline7 {
  border: 1px solid #CCC;
}

.headline7 a {
  display: block;
  padding: 12px 12px 12px 35px;
  background: #F6F8F9 url(img/common/icon-arrow.svg) 15px 1.1em no-repeat;
  background-size: 13px;
  color: #29539B;
  font-size: 123.1%;
  font-weight: bold;
  line-height: 1.5;
  text-decoration: none;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.headline7:hover a {
  background-color: #E7EDF7;
}

.headline7 + .headline7 {
  border-top: none;
}

.headline8 {
  background-color: #F6F8F9;
  padding: 12px 12px 12px 15px;
  border: 1px solid #CCC;
  border-top: 3px solid #29539B;
  font-size: 108%;
  font-weight: bold;
  line-height: 1.5;
}

@media only screen and (max-width: 720px) {
  .title-page h1 {
    height: auto;
    min-height: 80px;
    font-size: 182%;
  }
  .headline2 {
    padding: 17px 15px;
    font-size: 161.6%;
  }
  .headline2--link {
    padding: 0;
  }
  .headline2--link a {
    padding: 17px 15px 17px 35px;
    background-position: 15px 1.15em;
  }
  .headline3 {
    font-size: 138.5%;
  }
  .headline7 {
    border: 1px solid #FFF;
  }
  .headline7 a {
    background: #29539B url(img/common/icon-arrow-right.svg) 15px 1.1em no-repeat;
    background-size: 10px auto;
    color: #FFF;
    font-size: 138.5%;
  }
  .headline8 {
    background-color: #29539B;
    color: #FFF;
    padding: 12px 12px 12px 15px;
    font-size: 139%;
  }
}

.main--editor-body .headline3 {
  margin: 0 20px 15px 20px;
}

.main--editor-body .headline4 {
  margin: 0 20px 15px 20px;
}

.main--editor-body .headline5 {
  margin: 0 20px 15px 20px;
}

.main--editor-body .headline6 {
  margin: 0 20px 15px 20px;
}

.main--editor-body .txt {
  margin: 0 20px 15px 20px;
}

@media only screen and (max-width: 720px) {
  .main--editor-body .headline3 {
    margin: 0 15px 15px 15px;
  }
  .main--editor-body .headline4 {
    margin: 0 15px 15px 15px;
  }
  .main--editor-body .headline5 {
    margin: 0 15px 15px 15px;
  }
  .main--editor-body .headline6 {
    margin: 0 15px 15px 15px;
  }
}

.btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.btn-wrap li {
  width: calc(100% / 3);
}

.align-l {
  text-align-last: left;
}

.align-c {
  text-align: center;
}

.align-r {
  text-align: right;
}

.btn-wrap--02 .btn {
  margin-right: 6px;
}

.btn-wrap--02 .btn--small {
  margin-bottom: 8px;
}

.btn, .btn--small {
  background-color: #29539B;
  border: none;
  border-radius: 25px;
  color: #FFF;
  display: inline-block;
  padding: 12px 20px;
  text-align: center;
  text-decoration: none;
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
  line-height: 1.3;
}

.btn:hover, .btn--small:hover {
  background-color: #28ADDE;
  cursor: pointer;
}

.btn {
  font-size: 123.1%;
}

.btn--small {
  padding: 7px 15px;
  font-size: 108%;
}

.btn-hover {
  background-color: #28ADDE;
  cursor: pointer;
}

.btn-active {
  background-color: #983713;
}

.btn-active:hover {
  background-color: #983713;
  cursor: default;
}

.btn--full {
  width: 100%;
}

.btn-icon {
  background-color: #FFF;
  border: 1px solid #CCC;
  border-radius: 4px;
  color: #333;
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
}

.btn-icon img {
  margin-right: 2px;
  max-height: 13px;
  max-width: 13px;
}

.btn-icon:hover {
  background-color: #E7EDF7;
}

.btn-icon.jsReadMore.active img {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.btn-icon-01 {
  padding: 4px 12px;
}

.btn-icon-01 img {
  max-height: 10px;
}

.btn-icon--hover {
  background-color: #E7EDF7;
}

@media only screen and (max-width: 720px) {
  .btn-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .btn-wrap li {
    width: 100%;
  }
  .btn {
    margin-bottom: 10px;
    padding: 10px 15px;
    font-size: 108%;
  }
  .btn-icon-01 {
    padding: 6px 10px;
    font-size: 93%;
  }
  .btn-wrap--center {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .btn-wrap--center li {
    margin: 0 5px;
    width: inherit;
  }
}

@media only screen and (max-width: 480px) {
  .btn-wrap--center {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .btn-wrap--center li {
    margin: 0;
    text-align: center;
    width: 100%;
  }
  .btn-wrap--center li:last-child {
    text-align: center;
  }
}

.main--editor-body .btn-wrap {
  margin: 0 20px 10px 20px;
}

@media only screen and (max-width: 720px) {
  .main--editor-body .btn-wrap {
    margin: 0 15px 10px 15px;
  }
}

.txt {
  margin-bottom: 20px;
  color: #333;
  font-size: 123.1%;
  line-height: 1.85;
  text-align: justify;
}

.txt-link {
  color: #29539B;
}

.txt-link:hover {
  text-decoration: none;
}

.txt-link img {
  vertical-align: text-bottom;
}

.txt-link--hover {
  text-decoration: none;
}

.txt-link--active {
  cursor: default;
  text-decoration: underline;
}

.txt-link--visited {
  color: #800080;
}

.txt--note {
  color: #B40000;
}

.txt--small {
  font-size: 108%;
}

.box03 {
  margin-bottom: 25px;
  padding: 16px 19px;
  color: #333;
  font-size: 108%;
  line-height: 1.6;
  text-align: justify;
}

.box03_or {
  background-color: #FFF1E0;
}

.box03_gr {
  background-color: #DFF1DE;
}

.box_02 {
  margin-bottom: 25px;
  padding: 16px 19px;
  border: 1px dashed #333;
  color: #333;
  font-size: 108%;
  line-height: 1.6;
  text-align: justify;
}

.block-quote {
  background-color: #EEF0F1;
  color: #333;
  font-size: 108%;
  line-height: 1.6;
  padding: 16px 20px 16px 47px;
  position: relative;
  text-align: justify;
}

.block-quote::before {
  position: absolute;
  left: 15px;
  top: 13px;
  content: "";
  display: inline-block;
  width: 24px;
  height: 22px;
  background: url(img/common/icon-quote.svg);
  background-size: 100%;
}

.link-wrap li {
  margin-bottom: 5px;
}

.link-wrap li:last-child {
  margin-bottom: 0;
}

.icon-link {
  color: #29539B;
  font-size: 123.1%;
}

.icon-link:hover {
  text-decoration: none;
}

.icon-link img {
  margin-left: 6px;
  vertical-align: text-bottom;
}

a.link01, a.link01--mid {
  display: inline-block;
  background: url(img/common/icon-arrow01.svg) 0 5px no-repeat;
  background-size: 5px auto;
  color: inherit;
  text-decoration: none;
  padding-left: 12px;
  line-height: 1.4;
}

a.link01:hover, a.link01--mid:hover {
  text-decoration: underline;
}

a.link01--mid {
  background-position: 0 50%;
}

.ieStyle a.link01--mid {
  padding-top: 2px;
}

a.link02 {
  display: inline-block;
  padding: 5px 10px 5px 26px;
  border: 1px solid #c5c5c5;
  border-radius: 4px;
  background: url(img/common/icon-arrow02.svg) 9px 11px no-repeat;
  background-size: 13px;
  color: inherit;
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
  text-decoration: none;
}

a.link02:hover {
  background-color: #E7EDF7;
}

a.link03 {
  display: inline-block;
  background: url(img/common/icon-arrow01.svg) 0 5px no-repeat;
  background-size: 5px auto;
  color: #29539B;
  padding-left: 9px;
  line-height: 1.4;
}

a.link03:hover {
  text-decoration: none;
}

a.link03 img {
  margin-left: 3px;
  vertical-align: text-bottom;
}

a.link04 {
  display: inline-block;
  background: url(img/common/icon-arrow.svg) 0 4px no-repeat;
  background-size: 13px auto;
  font-size: 123.1%;
  color: #29539B;
  padding-left: 18px;
  line-height: 1.4;
}

a.link04:hover {
  text-decoration: none;
}

a.link04 img {
  margin-left: 3px;
  vertical-align: text-bottom;
}

.phone {
  color: inherit;
  pointer-events: none;
  text-decoration: none;
}

.article__avatar {
  font-size: 108%;
  max-width: 180px;
}

.article__avatar img {
  margin-bottom: 5px;
}

.article__avatar .article__des {
  line-height: 1.6;
}

.article__avatar--right {
  float: right;
  margin: 0 0 0 20px;
}

.article__avatar--left {
  float: left;
  margin: 0 20px 0 0;
}

.img {
  display: block;
  text-align: center;
  width: 100%;
}

.img a {
  display: inline-block;
  margin: 0 auto;
}

.img .img__desc {
  font-size: 108%;
  line-height: 1.6;
  text-align: center;
  margin-top: 5px;
}

@media only screen and (max-width: 720px) {
  .txt {
    font-size: 108%;
  }
  .txt--small {
    font-size: 93%;
  }
  .icon-link {
    font-size: 108%;
  }
  .phone {
    color: #29539B;
    text-decoration: underline;
    pointer-events: auto;
  }
  .article__avatar {
    font-size: 93%;
    max-width: 115px;
  }
  .article__avatar--right {
    margin: 0 0 0 10px;
  }
  .article__avatar--left {
    margin: 0 10px 0 0;
  }
  .box03 {
    font-size: 93%;
  }
  .box_02 {
    font-size: 93%;
  }
  .block-quote {
    font-size: 93%;
  }
}

.main--editor-body .txt {
  margin: 0 20px 15px 20px;
}

.main--editor-body .box_02 {
  margin: 0 20px 15px 20px;
}

.main--editor-body .box03 {
  margin: 0 20px 15px 20px;
}

.main--editor-body .block-quote {
  margin: 0 20px 15px 20px;
}

.main--editor-body .link-wrap {
  margin: 0 20px 15px 20px;
}

.main--editor-body .txt-list--06 {
  padding: 0 0 0 20px;
}

.main--editor-body .txt-list--09 {
  margin: 0 20px 15px 20px;
}

.main--editor-body .txt-list--10 {
  margin: 0 20px 15px 20px;
}

.main--editor-body .article {
  margin: 0 20px 15px 20px;
}

.main--editor-body .article .txt {
  margin: 0 0 15px 0;
}

.main--editor-body .img {
  padding: 0 20px 15px 20px;
}

.main--editor-body hr {
  margin: 0 20px 30px 20px;
}

@media only screen and (max-width: 720px) {
  .main--editor-body .txt {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .block-quote {
    margin: 0 15px 15px 15px;
  }
  .main--editor-body .box_02 {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .box03 {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .link-wrap {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .txt-list--06 {
    padding: 0 0 0 20px;
  }
  .main--editor-body .txt-list--09 {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .txt-list--10 {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .article {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .article .txt {
    margin: 0 0 15px 0;
  }
  .main--editor-body .img {
    padding: 0 20px 15px 20px;
  }
  .main--editor-body hr {
    margin: 0 20px 30px 20px;
  }
}

.blockPagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-flex;
  -webkit-justify-content: space-between;
  -webkit-align-items: center;
  font-size: 108%;
  margin-bottom: 20px;
}

.blockPagination.last {
  margin-top: 20px;
  margin-bottom: 0;
}

.blockPagination .info span {
  font-size: 182%;
  font-weight: bold;
  padding: 0 5px 0 0;
  color: #29539B;
}

.blockPagination .info em {
  color: #B40000;
  padding: 0 0 0 2px;
  font-weight: bold;
}

.blockPagination .block {
  margin-left: 10px;
  text-align: right;
}

.blockPagination .block ul {
  margin: 0 -2px 0 0;
  display: inline-block;
  vertical-align: middle;
}

.pager li {
  display: inline-block;
  min-width: 20px;
  padding-right: 4px;
  vertical-align: middle;
  text-align: center;
}

.pager li.prev span {
  background: url(img/common/icon-prev.svg) no-repeat 0% 50%;
  color: #555;
  padding-right: 10px;
  padding-left: 13px;
  background-size: 6px 10px;
}

.pager li.prev a {
  background: url(img/common/icon-prev-blue.svg) no-repeat 0% 50%;
  padding-right: 10px;
  padding-left: 13px;
  background-size: 6px 10px;
  color: #29539B;
  text-decoration: underline;
}

.pager li.prev a:hover {
  text-decoration: none;
}

.pager li strong {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 30px;
  min-width: 30px;
  padding: 7px 5px;
  background: #333;
  border-radius: 5px;
  color: #FFF;
  text-align: center;
  font-size: 116%;
  font-weight: normal;
}

.pager li.link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 5px;
  padding: 7px 5px;
  min-width: 30px;
  height: 30px;
  color: #FFF;
  text-decoration: none;
  background: #29539B;
  text-align: center;
  font-size: 116%;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}

.pager li.link a:hover {
  background: #28ADDE;
  color: #FFF;
}

.pager li.next a {
  background: url(img/common/icon-next.svg) no-repeat 100% 50%;
  background-size: 6px 10px;
  padding-right: 13px;
  padding-left: 5px;
  color: #29539B;
  text-decoration: underline;
}

.pager li.next a:hover {
  text-decoration: none;
}

.pager li.next span {
  background: url(img/common/icon-next-gray.svg) no-repeat 100% 50%;
  background-size: 6px 10px;
  padding-right: 13px;
  padding-left: 5px;
  color: #555;
}

.pager li.dot {
  padding-bottom: 5px;
}

@media only screen and (max-width: 720px) {
  .blockPagination {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 93%;
  }
  .blockPagination .info {
    margin-bottom: 10px;
    width: 100%;
  }
  .blockPagination .info span {
    font-size: 133%;
  }
  .blockPagination .block {
    width: 100%;
    margin-left: 0;
  }
  .pager li {
    padding-right: 2px;
  }
  .pager li strong,
  .pager li.link a {
    width: 25px;
    min-width: 25px;
    height: 25px;
    font-size: 100%;
  }
  .pager li.prev span,
  .pager li.prev a {
    padding-left: 10px;
  }
  .pager li.next span,
  .pager li.next a {
    padding-right: 10px;
  }
}

.main--editor-body .blockPagination {
  margin: 0 20px 15px 20px;
}

@media only screen and (max-width: 720px) {
  .main--editor-body .blockPagination {
    margin: 0 20px 15px 20px;
  }
}

.table {
  border: 1px solid #CCC;
  border-collapse: collapse;
  color: #333;
  font-size: 108%;
  width: 100%;
}

.table th {
  background-color: #F6F8F9;
  border: 1px solid #CCC;
  font-weight: bold;
  padding: 15px;
}

.table td {
  border: 1px solid #CCC;
  padding: 15px;
}

@media only screen and (max-width: 720px) {
  .table {
    font-size: 92%;
  }
}

.main--editor-body .template-item--table {
  padding: 0 20px 0 20px;
}

@media only screen and (max-width: 720px) {
  .main--editor-body .template-item--table {
    padding: 0 20px 0 20px;
  }
}

.txt-list {
  margin-bottom: 15px;
}

.txt-list > li {
  font-size: 123.1%;
}

.txt-list li {
  position: relative;
  color: #333;
  margin-bottom: 10px;
  padding-left: 24px;
  line-height: 1.6;
}

.txt-list li::before {
  position: absolute;
  left: 0;
  content: "・";
}

.txt-list li ul {
  margin-top: 10px;
}

.txt-list li ul li {
  position: relative;
  padding-left: 20px;
  font-size: 100%;
}

.txt-list li ul li::before {
  content: "→ ";
  font-size: 100%;
  line-height: 1.6;
}

.txt-list li:last-child {
  margin-bottom: 0;
}

.txt-list--01 li::before {
  color: #29539B;
  font-size: 189%;
  line-height: 1;
  vertical-align: middle;
}

.txt-list--02 li {
  text-indent: -16px;
}

.txt-list--02 li::before {
  background: url(img/common/icon-arrow01.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 10px;
  margin-right: 10px;
  position: relative;
  width: 5px;
}

.txt-list--03 li {
  padding-left: 16px;
  text-indent: -16px;
}

.txt-list--03 li::before {
  background: url(img/common/icon-arrow.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 13px;
  margin-right: 5px;
  position: relative;
  width: 13px;
}

.txt-list--04 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.txt-list--04 li {
  padding-left: 16px;
  text-indent: -16px;
  width: calc(100% / 3);
}

.txt-list--04 li::before {
  background: url(img/common/icon-arrow.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 13px;
  margin-right: 5px;
  position: relative;
  width: 13px;
}

.txt-list--04::after {
  content: "";
  width: calc(100% / 3);
}

.txt-list--05 li {
  border-bottom: 1px dotted #000;
  margin-bottom: 14px;
  padding-bottom: 15px;
  padding-left: 16px;
  text-indent: -16px;
}

.txt-list--05 li::before {
  background: url(img/common/icon-arrow.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 13px;
  margin-right: 5px;
  position: relative;
  width: 13px;
}

.txt-list--05 li p {
  margin-top: 5px;
  padding-left: 0;
  text-indent: 0;
}

.txt-list--06 {
  list-style: decimal;
  margin-left: 15px;
}

.txt-list--06 li {
  color: #333;
  font-size: 123.1%;
  margin-bottom: 10px;
  padding-left: 0;
  text-indent: 0;
}

.txt-list--06 li::before {
  display: none;
}

.txt-list--07 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.txt-list--07 li {
  padding-left: 16px;
  text-indent: -16px;
  width: calc((100% - 40px) / 2);
}

.txt-list--07 li::before {
  background: url(img/common/icon-arrow.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 13px;
  margin-right: 5px;
  position: relative;
  width: 13px;
}

.txt-list--07::after {
  content: "";
  width: calc(100% / 3);
}

.txt-list--08 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.txt-list--08 li {
  padding-left: 16px;
  text-indent: -16px;
  width: calc(100% / 3);
}

.txt-list--08 li::before {
  background: url(img/common/icon-arrow.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 13px;
  margin-right: 5px;
  position: relative;
  width: 13px;
}

.txt-list--08::after {
  content: "";
  width: calc(100% / 3);
}

.txt-list--09 {
  list-style: none;
}

.txt-list--09 li {
  border-bottom: 1px dotted #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 15px;
  padding-bottom: 15px;
}

.txt-list--09 li p {
  width: calc(100% / 3);
}

.txt-list--10 {
  list-style: none;
}

.txt-list--10 li {
  display: inline-block;
  margin: 0 19px 15px 0;
}

.txt-list--10 a {
  color: #333;
  text-decoration: none;
  -webkit-transition: color .5s;
  transition: color .5s;
}

.txt-list--10 a:hover {
  color: #29539B;
  text-decoration: underline;
}

.txt-list--11 li {
  padding-left: 16px;
  text-indent: -16px;
}

.txt-list--11 li::before {
  background: url(img/common/icon-arrow.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  height: 13px;
  margin-right: 5px;
  position: relative;
  width: 13px;
}

.txt-list--11 li a {
  color: #333;
  text-decoration: none;
  -webkit-transition: color .5s;
  transition: color .5s;
}

.txt-list--11 li a:hover {
  color: #29539B;
  text-decoration: underline;
}

.data-list dt {
  margin-bottom: 10px;
  font-size: 123.1%;
  font-weight: bold;
}

.data-list dd {
  margin-bottom: 10px;
  font-size: 123.1%;
  line-height: 1.65;
}

.data-list--01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.data-list--01 dt {
  font-weight: bold;
  width: 20%;
}

.data-list--01 dd {
  margin-bottom: 7px;
  width: 80%;
}

.data-list--02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.data-list--02 dt {
  width: 140px;
  padding-top: 5px;
  font-weight: normal;
  font-size: 108%;
}

.data-list--02 dd {
  margin-bottom: 17px;
  width: calc(100% - 140px);
  font-size: 123.1%;
}

.link-list li:not(:last-child) {
  margin-bottom: 12px;
}

.link-list02 {
  text-align: center;
}

.link-list02 .link-item {
  display: inline-block;
  margin-bottom: 10px;
  vertical-align: middle;
}

.link-list02 .link-item a {
  color: inherit;
  text-decoration: none;
}

.link-list02 .link-item a:hover {
  text-decoration: underline;
}

.card-list {
  margin-right: -15px;
}

.card-list.card-list--01 .card__title a {
  color: #29539b;
  text-decoration: underline;
}

.card-list.card-list--01 .card__title a:hover {
  text-decoration: none;
}

.card-list.card-list--01 li:hover a {
  text-decoration: none;
}

.card___item {
  display: none;
  float: left;
  margin: 0 15px 30px 0;
  width: calc(33.33% - 15px);
  border: 1px solid #CCC;
  color: #333;
  text-decoration: none;
  -webkit-transition: -webkit-box-shadow .5s;
  transition: -webkit-box-shadow .5s;
  transition: box-shadow .5s;
  transition: box-shadow .5s, -webkit-box-shadow .5s;
}

.card___item.bl-hover {
  -webkit-box-shadow: 1px 1px 1px #CCC;
          box-shadow: 1px 1px 1px #CCC;
}

.card___item.bl-hover .card__img img {
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
}

.card___item.bl-hover .card__title a {
  color: #29539B;
  text-decoration: underline;
}

.card___item.active {
  display: block;
}

.card__img {
  overflow: hidden;
}

.card__img img {
  vertical-align: middle;
  -webkit-transition: -webkit-transform .5s;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
}

.card__inner {
  padding: 13px 20px 18px;
}

.card__title {
  font-size: 123.1%;
  font-weight: bold;
  margin-bottom: 13px;
  line-height: 1.4;
}

.card__title a {
  color: inherit;
  text-decoration: none;
}

.card__txt {
  font-size: 108%;
  line-height: 1.45;
}

.data-list--arrow dt {
  margin-bottom: 5px;
  padding-left: 15px;
  background: url(img/common/icon-arrow01.svg) 0 0.3em no-repeat;
  background-size: 5px auto;
}

.data-list--arrow dd {
  display: block;
  display: -webkit-box;
  max-width: 100%;
  margin-bottom: 10px;
  padding-left: 16px;
  height: 1.5em;
  line-height: 1.5;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.data-list--arrow dd:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 720px) {
  .link-list02 {
    text-align: left;
  }
  .link-list02 .link-item {
    display: block;
    margin-bottom: 10px;
  }
  .link-list02 .link-item a {
    background: url(img/common/icon-arrow01.svg) 0 3px no-repeat;
    background-size: 5px auto;
    padding-left: 12px;
    line-height: 1.4;
  }
  .link-list02 .link-item::after {
    display: none;
  }
  .txt-list li {
    width: 100%;
    font-size: 108%;
  }
  .txt-list--05 li {
    padding-bottom: 8px;
    margin-bottom: 8px;
  }
  .data-list dt, .data-list dd {
    font-size: 108%;
  }
  .data-list--01 dt {
    width: 100%;
    margin-bottom: 5px;
  }
  .data-list--01 dd {
    width: 100%;
    margin-bottom: 10px;
  }
  .data-list--02 {
    font-size: 100%;
  }
  .data-list--02 dt {
    width: 100%;
    margin-bottom: 5px;
    font-weight: normal;
    font-size: 93%;
  }
  .data-list--02 dd {
    width: 100%;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #333;
    font-size: 108%;
  }
  .data-list--02 dd img {
    margin-left: 5px;
    width: 10px;
  }
  .card-list {
    margin: 0 0 30px;
  }
  .card-list li {
    margin-bottom: 10px;
    width: 100%;
  }
  .card-list li:last-child {
    margin-bottom: 0;
  }
  .card__inner {
    padding: 9px 10px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .card___item {
    width: 100%;
    margin: 0 0 10px;
    text-decoration: none;
  }
  .card___item.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .card__img {
    width: 48%;
    min-width: 115px;
    max-width: 230px;
  }
  .card__img img {
    vertical-align: middle;
  }
  .card__title {
    min-height: inherit;
    margin-bottom: 0;
    font-size: 108%;
  }
  .card__title a {
    display: block;
    display: -webkit-box;
    height: 4.2em;
    line-height: 1.4;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .card__txt {
    display: none;
  }
  .txt-list--08 li {
    padding-left: 16px;
    text-indent: -16px;
    width: calc(100% / 2);
  }
  .txt-list--08::after {
    content: "";
    width: calc(100% / 2);
  }
  .txt-list--09 li p {
    width: calc(100% / 2);
  }
  .txt-list--09 li p:last-child {
    margin-top: 15px;
    width: 100%;
  }
}

.main--editor-body .txt-list {
  margin: 0 20px 15px 20px;
}

.main--editor-body .data-list {
  margin: 0 20px 15px 20px;
}

@media only screen and (max-width: 720px) {
  .main--editor-body .txt-list {
    margin: 0 20px 15px 20px;
  }
  .main--editor-body .data-list {
    margin: 0 20px 15px 20px;
  }
}

.tab {
  background-color: #EEF0F1;
  margin-bottom: 30px;
}

.tab__inner {
  padding: 15px;
}

.tab__head {
  background-color: #983713;
  padding: 11px 15px;
  text-align: center;
  font-size: 138.5%;
  font-weight: bold;
  line-height: 1.6;
}

.tab__head a {
  color: #FFF;
}

.tab__head a:hover {
  text-decoration: none;
}

.tab__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tab__title a {
  display: block;
  padding-bottom: 10px;
  border-bottom: 3px solid transparent;
  color: #333;
  font-size: 138.5%;
  text-decoration: none;
}

.tab__title a img {
  vertical-align: middle;
  margin-right: 5px;
}

.tab__title li {
  min-height: 52px;
  padding: 15px 30px 0;
}

.tab__title li:hover {
  background-color: #FFF;
}

.tab__title li:hover a {
  font-weight: bold;
  border-bottom-color: #29539B;
}

.tab__title li.active {
  background-color: #FFF;
}

.tab__title li.active a {
  font-weight: bold;
  border-bottom-color: #29539B;
}

.tab__content {
  background-color: #FFF;
  display: none;
  padding: 23px 20px 13px;
}

.tab__content.active {
  display: block;
}

@media only screen and (max-width: 720px) {
  #page-home .tab__head {
    margin: -30px -15px 0;
    border-bottom: 30px solid #FFF;
  }
  .tab__title li {
    padding: 15px 20px 0;
  }
  .tab__content {
    padding: 10px;
  }
}

@media only screen and (max-width: 370px) {
  .tab__title li {
    padding-left: 15px;
    padding-right: 15px;
  }
  .tab__title li a {
    font-size: 108%;
  }
}

.tag1 {
  background-color: #FFF;
  border: 1px solid #CCC;
  border-radius: 4px;
  color: #333;
  display: inline-block;
  font-size: 108%;
  padding: 5px 11px;
  text-align: center;
  text-decoration: none;
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
}

.tag1:hover {
  background-color: #E7EDF7;
  cursor: pointer;
}

.tag1::before {
  content: "";
  display: inline-block;
  height: 10px;
  margin-right: 5px;
  width: 5px;
}

@media screen and (max-width: 720px) {
  .tag1 {
    font-size: 92%;
  }
}

.tag1::before {
  background: url(img/common/icon-arrow01.svg) no-repeat;
  background-size: 5px;
}

.tags1, .tags2 {
  background-color: #F6F8F9;
  margin-bottom: 15px;
  padding: 10px 20px;
}

.tags1 .tags-title, .tags2 .tags-title {
  color: #333;
  font-size: 123.1%;
  font-weight: bold;
  line-height: 1.56;
  margin-bottom: 10px;
  padding-left: 20px;
  position: relative;
}

.tags1 .tags-title::before, .tags2 .tags-title::before {
  content: "";
  display: inline-block;
  height: 100%;
  left: 0;
  margin-right: 5px;
  position: absolute;
  top: 0;
  width: 16px;
}

@media screen and (max-width: 720px) {
  .tags1, .tags2 {
    background-color: #FFF;
  }
  .tags1 .tags-title, .tags2 .tags-title {
    background-color: #F6F8F9;
    border-top: 3px solid #29539B;
    border-bottom: 1px solid #CCC;
    font-size: 108%;
    margin: -10px -20px 20px;
    padding: 10px 20px 10px 40px;
    width: calc(100% + 40px);
  }
  .tags1 .tags-title::before, .tags2 .tags-title::before {
    content: "";
    left: 20px;
  }
}

.tags1 .tags-title::before {
  background: url(img/common/icon-tags.svg) 0 50% no-repeat;
  background-size: 16px;
}

.tags1 .tag1 {
  margin: 0 4px 7px 0;
}

.tags2 {
  padding: 0 10px 10px;
  background-color: #FFF;
}

.tags2 .tags-title {
  background-color: #F6F8F9;
  border-top: 3px solid #29539B;
  border-bottom: 1px solid #CCC;
  font-size: 108%;
  margin: -1px -10px 15px;
  padding: 12px 15px 12px 35px;
  width: calc(100% + 20px);
}

.tags2 .tags-title::before {
  background: url(img/common/icon-tags.svg) 0 50% no-repeat;
  background-size: 16px;
  content: "";
  left: 12px;
}

.tags2 .tag1 {
  margin: 0 4px 7px 0;
}

.tags2.border {
  border: 1px solid #CCC;
}

@media screen and (max-width: 720px) {
  .tags2.border {
    border: 0;
  }
}

@media only screen and (max-width: 720px) {
  .tags2 .tag1 {
    margin-bottom: 12px;
  }
}

.navigation {
  background: #F6F8F9;
  border-bottom: 1px solid #dee0e1;
  position: relative;
  z-index: 2;
}

.navigation.active {
  display: block;
}

.navigation > ul {
  max-width: 990px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.navigation > ul > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 59px;
}

.navigation > ul > li > a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 123.1%;
  font-weight: normal;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 4px;
  position: relative;
  text-decoration: none;
}

.navigation > ul > li > a:after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  width: 0;
  height: 3px;
  background: #29539B;
  -webkit-transition: all .5s;
  transition: all .5s;
}

.navigation > ul > li.active .navigation-sub {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.navigation > ul > li.active a {
  color: #29539B;
  font-weight: bold;
}

.navigation > ul > li.active a::after {
  left: 0;
  width: 100%;
}

.navigation > ul > li:hover a {
  color: #29539B;
}

.navigation > ul > li:hover a::after {
  left: 0;
  width: 100%;
}

.navigation > ul > li .navigation-sub {
  background: #FFF;
  border-bottom: 1px solid #dee0e1;
  border-top: 1px solid #dee0e1;
  display: none;
  left: 0;
  padding: 20px 10px;
  position: absolute;
  -webkit-transition: opacity .25s;
  transition: opacity .25s;
  top: 59px;
  width: 100%;
}

.navigation > ul > li .navigation-sub a {
  background: url(img/common/icon-arrow.svg) 0 2px no-repeat;
  background-size: 13px;
  color: #29539B;
  display: inline-block;
  font-size: 115.4%;
  font-weight: bold;
  padding-left: 20px;
  text-decoration: none;
}

.navigation > ul > li .navigation-sub a:hover {
  text-decoration: underline;
}

.navigation > ul > li .navigation-sub .navigation-avatar {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #dee0e1;
  border-radius: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 115px;
  padding: 15px 0;
  width: 180px;
}

.navigation > ul > li .navigation-sub .navigation-avatar img {
  border-radius: 50%;
  margin-bottom: 5px;
}

.navigation > ul > li .navigation-sub .navigation-avatar a {
  background-position-y: 3px;
}

.navigation > ul > li .navigation-sub ul {
  -ms-flex-line-pack: start;
      align-content: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: 20px;
  padding-top: 15px;
  width: calc(100% - 200px);
  max-width: 760px;
}

.navigation > ul > li .navigation-sub ul::after {
  content: "";
  width: calc((100% - 50px) / 3);
}

.navigation > ul > li .navigation-sub ul li {
  margin-bottom: 15px;
  width: calc((100% - 50px) / 3);
}

.navigation > ul > li .navigation-sub ul li a {
  font-size: 115.4%;
  font-weight: normal;
}

.navigation-close {
  bottom: -31px;
  left: 0;
  position: absolute;
  width: 100%;
}

.navigation-close span {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #eceeef;
  border-radius: 0 0 5px 5px;
  color: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 107%;
  height: 30px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  padding-left: 15px;
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
  width: 105px;
  position: relative;
}

.navigation-close span::before, .navigation-close span::after {
  background-color: #29539B;
  content: "";
  display: inline-block;
  height: 2px;
  left: 18px;
  position: absolute;
  top: 50%;
  width: 12px;
}

.navigation-close span::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.navigation-close span::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.navigation-close span:hover {
  background-color: #29539B;
  cursor: pointer;
  color: #FFF;
}

.navigation-close span:hover::before, .navigation-close span:hover::after {
  background-color: #FFF;
  content: "";
  display: inline-block;
  height: 2px;
  left: 18px;
  position: absolute;
  width: 12px;
}

.navigation-overlay {
  background-color: rgba(0, 0, 0, 0.6);
  left: 0;
  height: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
}

.navigation-overlay.active {
  height: 100%;
  opacity: 1;
}

@media only screen and (min-width: 721px) {
  .navigation {
    display: block !important;
  }
  .navigation-overlay.active--sp {
    display: none !important;
  }
  .navigation-overlay.active--pc {
    display: block !important;
  }
}

@media only screen and (max-width: 720px) {
  .navigation-overlay.active--sp {
    display: block !important;
  }
  .navigation-overlay.active--pc {
    display: none !important;
  }
  .navigation {
    border: 0;
    position: absolute;
    top: 65px;
    left: 0;
    width: 100%;
    display: none;
    padding: 10px 10px 20px;
    background: #29539B;
    text-align: center;
  }
  .navigation > ul {
    display: block;
    background: #FFF;
    margin-bottom: 20px;
  }
  .navigation > ul > li {
    display: block;
    width: 100%;
    min-height: inherit;
    padding: 0;
    border-bottom: 1px solid #dee0e1;
    position: relative;
  }
  .navigation > ul > li > a {
    color: #333;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    background: url(img/common/icon-arrow.svg) 15px 17px no-repeat;
    background-size: 13px;
    font-size: 107%;
    font-weight: bold;
    height: 46px;
    padding: 0 35px;
    text-decoration: none;
  }
  .navigation > ul > li > a:hover {
    color: #333;
  }
  .navigation > ul > li > a:hover::after {
    width: 0;
  }
  .navigation > ul > li.expand-child::after, .navigation > ul > li.expand-child::before {
    background-color: #29539B;
    content: "";
    display: inline-block;
    height: 2px;
    position: absolute;
    right: 20px;
    top: 23px;
    width: 16px;
    -webkit-transition: -webkit-transform .5s;
    transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s;
    z-index: 1;
  }
  .navigation > ul > li.expand-child::after {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
  .navigation > ul > li.active a {
    background-color: #E7EDF7;
    color: #333;
  }
  .navigation > ul > li.active a::after {
    width: 0;
  }
  .navigation > ul > li.active .navigation-sub {
    display: block;
  }
  .navigation > ul > li.active .navigation-sub ul {
    display: block;
  }
  .navigation > ul > li.active::before {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .navigation > ul > li.active::after {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .navigation > ul > li .navigation-sub {
    background: #FFF;
    border-bottom: none;
    border-top: 1px solid #dee0e1;
    display: none;
    left: inherit;
    padding: 20px 0;
    position: relative;
    top: inherit;
    width: 100%;
  }
  .navigation > ul > li .navigation-sub a {
    background: none;
    color: #333;
    display: inline-block;
    font-size: 100%;
    font-weight: bold;
    padding-left: 20px;
    text-decoration: none;
  }
  .navigation > ul > li .navigation-sub a:hover {
    text-decoration: underline;
  }
  .navigation > ul > li .navigation-sub .navigation-avatar {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 0;
    border-radius: 0;
    display: block;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    height: auto;
    margin-bottom: 15px;
    padding: 0 10px;
    text-align: left;
    width: 100%;
  }
  .navigation > ul > li .navigation-sub .navigation-avatar img {
    display: none;
  }
  .navigation > ul > li .navigation-sub .navigation-avatar a {
    font-size: 100%;
    font-weight: normal;
  }
  .navigation > ul > li .navigation-sub ul {
    display: none;
    background: none;
    margin: 0;
    padding: 0;
    width: 100%;
  }
  .navigation > ul > li .navigation-sub ul li {
    border-top: 0;
    text-align: left;
    width: 100%;
  }
  .navigation > ul > li .navigation-sub ul li:last-child {
    margin-bottom: 0;
  }
  .navigation > ul > li .navigation-sub ul a {
    display: block;
    font-size: 100%;
    padding: 0 30px;
  }
  .navigation > ul > li .navigation-sub .navigation-close {
    display: none;
  }
  .navigation-close {
    bottom: inherit;
    position: relative;
  }
  .navigation-close span {
    background: #FFF;
    border-radius: 15px;
  }
  .navigation-close span::before, .navigation-close span::after {
    background-color: #29539B;
    content: "";
    display: inline-block;
    height: 2px;
    left: 18px;
    position: absolute;
    width: 12px;
  }
  .navigation-close span::before {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .navigation-close span::after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

#page-home .nav-home {
  color: #29539B;
  font-weight: bold;
}

#page-home .nav-home::after {
  width: 100%;
}

#page-about .nav-about {
  color: #29539B;
  font-weight: bold;
}

#page-about .nav-about::after {
  width: 100%;
}

#page-mission .nav-mission {
  color: #29539B;
  font-weight: bold;
}

#page-mission .nav-mission::after {
  width: 100%;
}

#page-disaster .nav-disaster {
  color: #29539B;
  font-weight: bold;
}

#page-disaster .nav-disaster::after {
  width: 100%;
}

#page-news .nav-news {
  color: #29539B;
  font-weight: bold;
}

#page-news .nav-news::after {
  width: 100%;
}

#page-policy .nav-policy {
  color: #29539B;
  font-weight: bold;
}

#page-policy .nav-policy::after {
  width: 100%;
}

#page-law .nav-law {
  color: #29539B;
  font-weight: bold;
}

#page-law .nav-law::after {
  width: 100%;
}

#page-publication .nav-publication {
  color: #29539B;
  font-weight: bold;
}

#page-publication .nav-publication::after {
  width: 100%;
}

.color {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.color__col {
  width: calc((100% - 60px) / 3);
}

.color__item {
  color: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 15px 20px;
}

.color__item--st-tropaz {
  background-color: #29539B;
}

.color__item--curious-blue {
  background-color: #28ADDE;
}

.color__item--tabasco {
  background-color: #983713;
}

.color__item--link-water {
  background-color: #E7EDF7;
  color: #333;
}

.color__item--zanah {
  background-color: #DFF1DE;
  color: #333;
}

.color__item--peach-cream {
  background-color: #FFF1E0;
  color: #333;
}

.color__item--bizarre {
  background-color: #F2E1E0;
  color: #333;
}

.color__item--blue-chalk {
  background-color: #E9DDFF;
  color: #333;
}

.color__item--porcelain {
  background-color: #EEF0F1;
  color: #333;
}

.color__item--porcelain-01 {
  background-color: #F6F8F9;
  color: #333;
}

.color__item--mine-shaft {
  background-color: #333;
}

.color__item--emperor {
  background-color: #555;
}

.color__item--white {
  background-color: #FFF;
  color: #333;
}

.color__item--bright-red {
  background-color: #B40000;
}

.color__item--fresh-eggplant {
  background-color: #800080;
}

.color__item--silver {
  background-color: #CCC;
  color: #333;
}

.temp-box {
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid #CCC;
  background: #F6F8F9;
  text-align: center;
}

.temp-headline {
  margin-bottom: 30px;
  font-size: 30px;
  font-weight: bold;
}

.temp-group:not(:last-child) {
  margin-bottom: 80px;
}

.template-item {
  margin-bottom: 10px;
}

.template-item--01 {
  margin-bottom: 30px;
}

.gsc-control-cse .gsc-option-menu-container {
  min-width: 103px;
}

@media only screen and (max-width: 720px) {
  .color {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .color__col {
    width: 100%;
  }
}
/*# sourceMappingURL=common.css.map */
