@charset "utf-8";

/* ==========================================================================
Foundation [ reset / base ]
========================================================================== */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
table, caption, tbody, tfoot, thead, tr, th, td {
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  background: #ffffff;
  font-size: 14px;
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.8;
  color: #333333;
  min-width: 1200px;
}
body.sub {
  min-width: 1100px;
}
ol, ul {
  list-style: none;
}
select {
  font-size: 16px;
  background-color: #fff;
  height: 26px;
  box-sizing: border-box;
  font-family: 'Noto Sans JP', sans-serif;
}
input, textarea {
  font-family: 'Noto Sans JP', sans-serif;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}
a {
  color: #333333;
  transition: opacity .15s ease;
}
a:hover {
  text-decoration: none;
}
a:focus {
  text-decoration: none;
}
a,
a:focus,
a:active,
a:hover,
a:visited,
:focus,
:active,
:hover,
:visited {
  outline: none !important;
  text-decoration: none;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
a img:hover {
  opacity: .75;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.u-fot-400 {
  font-family: fot-tsukuardgothic-std,sans-serif;
  font-weight: 400;
  font-style: normal;
}
.u-fot-700 {
  font-family: fot-tsukuardgothic-std,sans-serif;
  font-weight: 700;
  font-style: normal;
}

.u-han-400 {
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.u-han-700 {
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 700;
  font-style: normal;
}
/* ==========================================================================
Component [ grid / button / form / media... ]
========================================================================== */
/*top*/


/*btn*/
.c-body-wrap .c-btn ,
.c-btn {
  display: inline-block;
  padding: 14px 30px;
  margin-top: 32px;
  font-size: 107%;
  font-weight: 700;
  line-height: 1.42857143;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #ffffff;
  width: 100%;
  border: 1px solid #004C96;
  max-width: 226px;
  border-radius: 40px;
  background: #004C96;
  text-decoration: none;
  position: relative;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

button.c-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-body-wrap .c-btn:before ,
.c-btn:before {
  content: '';
  position: absolute;
  right: 26px;
  top: 41%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.c-btn:hover {
  background: #fff;
  color: #004C96;
}

.c-btn:hover:before {
  border-top: 2px solid #004C96;
  border-right: 2px solid #004C96;
}


.c-btn.c-btn-block {
  margin: 32px auto 0;
  display: block;
  max-width: 400px;
  width: 90%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.c-btn.c-btn-red {
  background: inherit;
  border: 1px solid #C1081B;
  color: #C1081B;
}

.c-btn.c-btn-red:before {
  border-top: 2px solid #C1081B;
  border-right: 2px solid #C1081B;
}

.c-btn.c-btn-red:hover {
  background: #C1081B;
  color: #fff;
}

.c-btn.c-btn-red:hover:before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.c-body-wrap .c-btn.c-btn-inherit {
  background: inherit!important;
  background-color: #fff!important;
  border: 1px solid #004C96;
  color: #004C96;
}

.c-btn.c-btn-inherit:before {
  border-top: 2px solid #004C96;
  border-right: 2px solid #004C96;
}

.c-btn.c-btn-inherit:hover {
  background: #004C96;
  color: #fff;
}

.c-btn.c-btn-inherit:hover:before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.c-body-wrap .aligncenter {
  display: block;
  margin: 0 auto;
}

.c-btn.c-btn-white:hover {
  background: #004C96!important;
}

/* c-wrap */
.c-wrap {
  width: 100%;
  clear: both;
}

/* content */
.c-center {
  max-width: 1080px;
  padding: 30px 15px;
  margin: 0 auto;
  box-sizing: border-box;
}

.c-center-type02 {
  max-width: 960px;
  padding: 0px 15px 30px;
  margin: 0 auto 30px;
  box-sizing: border-box;
}

/* grid */
.grid {
  clear: both;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
}

/* column */
.col-1 { width: 8.33333333%; }
.col-2 { width: 16.66666667%; }
.col-3 { width: 25%; }
.col-4 { width: 33.33333333%; }
.col-5 { width: 41.66666667%; }
.col-6 { width: 50%; }
.col-7 { width: 58.33333333%; }
.col-8 { width: 66.66666667%; }
.col-9 { width: 75%; }
.col-10 { width: 83.33333333%; }
.col-11 { width: 91.66666667%; }
.col-12 { width: 100%; }

/* breadcrumbs */
.c-breadcrumbs {
  font-size: 12px;
  overflow: hidden;
  color: #1C74CB;
  margin-bottom: 55px;
  background-color: #EAF2FB;
  box-sizing: border-box;
}

.c-breadcrumbs .c-center {
  padding: 10px 0;
}

.c-breadcrumbs span {
  font-weight: 400;
  color: #333;
}

.c-breadcrumbs .arw {
  width: 20px;
  height: 20px;
  vertical-align: middle;
  position: relative;
  display: inline-block;
}

.c-breadcrumbs .arw:before {
  content: '';
  position: absolute;
  right: 6px;
  top: 6px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #1C74CB;
  border-right: 2px solid #1C74CB;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.c-breadcrumbs .c-breadcrumbs-link:hover ,
.c-breadcrumbs .c-breadcrumbs-link:hover span {
  color: #1C74CB;
}

/* color dblue*/
.u-color-dblue {
  color: #004C96;
}

/* color red*/
.u-color-red {
  color: #C1081B;
}

/* color green*/
.u-color-green {
  color: #047D45;
}


/*background color blue*/
.u-bg-blue {
  background-color: #EAF2FB;
}

/*background color glay*/
.u-bg-white {
  background-color: #ffffff;
}

/*background color glay*/
.u-bg-glay {
  background-color: #F2F2F2;
}

/*background color green*/
.u-bg-green {
  background-color: #047D45;
}

/*c-body-wrap*/

.c-body-wrap ul.p-ul-list01 {
  margin-bottom: 25px;
}

.c-body-wrap ul.p-ul-list01 li {
  margin-bottom: 8px;
  position: relative;
  padding-left: 20px;
}

.c-body-wrap ul.p-ul-list01 li:before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #004C96;
}

/*table type01*/
body.sub:not(#main) table {
  border: 1px solid #fff;
  border-collapse: collapse;
  width: 100%;
  margin: 20px auto 25px;
}

body.sub:not(#main) table thead,
body.sub:not(#main) table tbody {
  text-align: left;
}

body.sub:not(#main) table tr th {
  background-color: #EAF2FB;
  border: 1px solid #cccccc;
  width: 240px;
}

body.sub:not(#main) table tr th ,
body.sub:not(#main) table tr td {
  vertical-align: top;
  padding: 20px;
  color: #333;
  font-size: 100%;
  font-weight: 400;
}

body.sub:not(#main) table tr th {
  padding: 20px;
  color: #004C96;
  font-size: 114%;
  font-weight: 700;
}

body.sub:not(#main) table tr td {
  border: 1px solid #cccccc;
  text-align: left;
}

/*table type02*/
body.sub:not(#main) table.c-table-type02 {
  border: 1px solid #fff;
  border-collapse: collapse;
  width: 100%;
  margin: 20px auto 25px;
}

body.sub:not(#main) table.c-table-type02 thead,
body.sub:not(#main) table.c-table-type02 tbody {
  text-align: left;
}

body.sub:not(#main) table.c-table-type02 tr th ,
body.sub:not(#main) table.c-table-type02 tr td {
  vertical-align: top;
  padding: 20px;
  color: #333;
  font-size: 100%;
  font-weight: 400;
}

body.sub:not(#main) table.c-table-type02 tr th {
  background-color: #F2F2F2;
  border: 1px solid #cccccc;
  width: 240px;
  color: #004C96;
  font-weight: 700;
}

body.sub:not(#main) table.c-table-type02 tr td {
  border: 1px solid #cccccc;
  text-align: left;
}

/*select box*/
.c-select-box {
  background-image: url(../../images/top/ico-arw_btm_blue.svg);
  background-repeat: no-repeat;
  background-position: 95% 50%;
  background-size: 10px;
  background-color: #fff;
  border:1px solid #AAAAAA;
  width: 260px;
  height: 40px;
  line-height: 40px;
  border-radius: 40px;
  padding-left: 20px;
  /*color: #AAAAAA;*/
  font-size: 14px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.c-search-btn {
  background-image: url(../../images/top/ico-search_white.svg);
  background-repeat: no-repeat;
  background-size: 16px;
  background-position: 70px 8px;
  background-color: #1C74CB;
  border: 4px solid #DBEBFB;
  font-size: 107%;
  font-weight: 700;
  padding: 6px 0 4px 25px;
  width: 110px;
  color: #fff;
  display: inline-block;
  text-align: left;
  border-radius: 40px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
  cursor: pointer;
}

.c-search-btn:hover {
  opacity: .7;
}

/*pagenation*/
.p-navigation {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
}

.p-navigation span, .p-navigation a {
  color: #000;
  min-width: 35px;
  display: inline-block;
  margin: 0 2px;
  padding: 0 4px;
  /*line-height: 35px;*/
  /*height: 35px;*/
  color: #004C96;
  text-align: center;
  border: #004C96 solid 1px;
}

.p-navigation span.current {
  background: #004C96;
  color: #fff;
}

.p-navigation a:hover {
  background: #004C96;
  color: #fff;
}

.p-navigation span.pages {
  font-size: 107%;
  font-weight: 700;
  margin-right: 20px;
  color: #004C96;
  border: none;
}


/*under line yellow*/

.u-yellow-line {
  display: inline-block;
  position: relative;
}

.u-yellow-line:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 6px;
  height: 6px;
  width: 100%;
  z-index: 0 ;
  background: #FFD800;
}

/*under line green*/

.u-green-line {
  display: inline-block;
  position: relative;
}

.u-green-line:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 4px;
  height: 4px;
  width: 100%;
  z-index: 0 ;
  background: #059C40;
}

/*番号付きリスト*/

.u-list-num {
  counter-reset:number;
  list-style:none;
  margin:0 0 24px;
  padding:0;
}

.u-list-num li {
  padding-left: 20px;
  position: relative;
}

.u-list-num li + li {
  margin-top: 5px;
}

.u-list-num li:before {
  counter-increment: number;
  content: counter(number); 
  position: absolute;
  left: 0;
  top: -1px;
  color: #059C40;
  font-size: 16px;
  font-family: brandon-grotesque, sans-serif;
  font-weight: 700;
  font-style: italic;
}

/*右矢印リンク*/
.u-arw-link {
  color: #004C96;
  font-size: 100%;
  padding-right: 12px;
  font-weight: 700;
  position: relative;
}

.u-arw-link:before {
  content: '';
  position: absolute;
  right: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #004C96;
  border-right: 2px solid #004C96;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.u-arwl-link:hover,
.u-arw-link:hover {
  text-decoration: underline;
}

/*左矢印リンク*/
.u-arwl-link {
  font-size: 100%;
  padding-left: 12px;
  font-weight: 400;
  position: relative;
}

.u-arwl-link:before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #004C96;
  border-right: 2px solid #004C96;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

a[href$=".xls"], a[href$=".xlsx"] {
  padding: 4px 0;
  padding-right: 33px;
  display: inline-block;
  background: url(../../images/common/ico-excel.png) no-repeat right 3px;
  color: #004C96;
  text-decoration: underline;
}

a[href$=".pdf"] {
  padding: 4px 0;
  padding-right: 33px;
  text-decoration: none;
  display: inline-block;
  background: url(../../images/common/ico-pdf.png) no-repeat right 3px;
  color: #004C96;
  text-decoration: underline;
}

a[href$=".doc"],
a[href$=".docx"] {
  padding: 4px 0;
  padding-right: 33px;
  display: inline-block;
  background: url(../../images/common/ico-word.png) no-repeat right 3px;
  color: #004C96;
  text-decoration: underline;
}

a.ico-excel,
a.ico-pdf,
a.ico-word:hover {
  text-decoration: none;
}

/*丸リスト*/

.c-body-wrap ul {
  margin:0 0 24px;
  padding:0;
}

.c-body-wrap ul li {
  padding-left: 20px;
  position: relative;
  /*font-size: 114%;*/
}

.c-body-wrap ul li + li {
  margin-top: 7px;
}

.c-body-wrap ul li:before {
  content: '';
  position: absolute;
  left: 4px;
  top: 11px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #004C96;
}


/*番号付きリスト*/

.c-body-wrap ol {
  counter-reset: item;
  list-style-type: none;
  margin:0 0 24px;
  padding:0;
}

.c-body-wrap ol li {
  padding-left: 20px;
  position: relative;
  font-size: 114%;
}

.c-body-wrap ol li + li {
  margin-top: 7px;
}

.c-body-wrap ol li:before {
  counter-increment: item;
  content: counter(item)'.';
  position: absolute;
  left: 0;
  top: -1px;
  color: #0A518B;
  font-size: 16px;
}

/*2列レイアウト*/
.u-lay-2 {
  overflow: hidden;
  margin-bottom: 15px;
}

.u-lay-2 li {
  float: left;
  width: 47%;
  margin-bottom: 30px;
  margin-right: 6%;
}

.u-lay-2 li:nth-child(2n) {
  margin-right: 0;
  margin-top: 0;
}

/*3列レイアウト*/
.u-lay-3 {
  overflow: hidden;
  margin-bottom: 15px;
}

.u-lay-3 li {
  float: left;
  width: 31%;
  margin-bottom: 30px;
  margin-right: 3.5%;
}

.u-lay-3 li + li {
  margin-top: 0!important;
}

.u-lay-3 li:nth-child(3n) {
  margin-right: 0;
}

/*template*/

/*下層メニュー*/
.u-lnavi-item {
  overflow: hidden;
  margin-bottom: 40px!important;
}
.u-lnavi-item li {
  width: 25%;
  padding: 0!important;
  margin: 0!important;
  border: 1px solid #4895E1;
}

.u-lnavi-item li + li {
  margin-left: -1px!important;
}

.u-lnavi-item li:nth-child(5) ,
.u-lnavi-item li:nth-child(9) ,
.u-lnavi-item li:nth-child(13) {
  margin-left: 0!important;
}

.u-lnavi-item li:nth-child(5n) ,
.u-lnavi-item li:nth-child(6n) ,
.u-lnavi-item li:nth-child(7n) ,
.u-lnavi-item li:nth-child(8n) ,
.u-lnavi-item li:nth-child(9n) ,
.u-lnavi-item li:nth-child(10n) ,
.u-lnavi-item li:nth-child(11n) ,
.u-lnavi-item li:nth-child(12n) ,
.u-lnavi-item li:nth-child(13n) {
  margin-top: -1px!important;
}

.u-lnavi-item li a {
  display: block;
  padding: 5px 22px;
  min-height: 60px;
  position: relative;
  color: #004C96;
  line-height: 1.3;
  text-align: center;
  font-weight: 400;
  width: 100%;
  height: 100%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-size: 100%;
  text-decoration: none!important;
  background-color: #fff;
}

.u-lnavi-item li a:before {
  content: '';
  position: absolute;
  right: 10px;
  top: 48%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #4895E1;
  border-right: 2px solid #4895E1;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.u-lnavi-item li:hover a,
.u-lnavi-item li.is-active a {
  background-color: #EAF2FB;
}

.u-lnavi-item.u-lnavi-bottomitem li a:before {
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.u-lnavi-item.u-lnavi-headitem {
  margin-top: 80px;
  margin-bottom: 0!important;
}
.u-lnavi-item.u-lnavi-headitem li a:before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.c-body-wrap .u-lnavi-headitem li ,
.c-body-wrap .u-lnavi-bottomitem li {
  width: auto;
  margin-bottom: 15px!important;
  margin-right: 25px!important;
  border-radius: 50px;
  overflow: hidden;
  border: none;
}

.c-body-wrap .u-lnavi-headitem li:before ,
.c-body-wrap .u-lnavi-bottomitem li:before {
  display: none;
}

.c-body-wrap .u-lnavi-headitem li a ,
.c-body-wrap .u-lnavi-bottomitem li a {
  display: block;
  min-height: 42px;
  background-color: #4895E1;
  color: #fff;
  padding: 10px 36px 10px 20px;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.c-body-wrap .u-lnavi-headitem li a:hover ,
.c-body-wrap .u-lnavi-bottomitem li a:hover {
  opacity: .7;
}

.c-body-wrap .u-lnavi-headitem li a:before ,
.c-body-wrap .u-lnavi-bottomitem li a:before {
  right: 12px;
  top: 41%;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.c-body-wrap p {
  margin-bottom: 20px;
}

.c-body-wrap a {
  color: #1C74CB;
  text-decoration: underline;
}

.c-body-wrap a:hover {
  text-decoration: none;
}

/*改行一文字*/
.text-indent01 {
  margin-left: 1em;
  text-indent: -1em;
}

/*改行二文字*/
.text-indent02 {
  margin-left: 3em;
  text-indent: -3em;
}

/*改行三文字*/
.text-indent03 {
  margin-left: 3.7em;
  text-indent: -3.7em;
}

/*太字*/
strong {
  font-weight: 700;
}

.c-body-wrap img {
  margin-bottom: 20px;
}

/*左画像/右テキスト*/
.u-imgl-layout ,
.u-imgr-layout {
  margin-bottom: 25px;
}

.u-imgl-layout__thum {
  margin-bottom: 20px;
  padding-right: 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.u-imgr-layout__thum {
  margin-bottom: 20px;
  padding-left: 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.u-imgr-layout__text,
.u-imgl-layout__text {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/*画像とテキスト中央*/
.u-imgl-layout.u-ai-center,
.u-imgr-layout.u-ai-center {
  align-items: center;
}

.get_guarantee .u-imgl-layout__text .u-fot-700 ,
.get_guarantee .u-imgr-layout__text .u-fot-700 {
  font-size: 142%;
}

.samazama-table td.u-sama-title ,
.samazama-table td.u-sama-subttl {
  text-align: left!important;
}
/* ==========================================================================
Utility [ display / margin / padding / device... ]
========================================================================== */

/* animation - utility
--------------------------------------------------------- */
.sa {
  opacity: 0;
  transition: all .6s ease!important;
}
.sa.show {
  opacity: 1;
  transform: none;
}
.sa--lr {
  transform: translate(-50px, 0);
}
.sa--rl {
  transform: translate(50px, 0);
}
.sa--up {
  transform: translate(0, 50px);
}
.sa--down {
  transform: translate(0, -50px);
}
.sa--scaleUp {
  transform: scale(.9);
}
.sa--scaleDown {
  transform: scale(1.5);
}
.sa--rotateL {
  transform: rotate(180deg);
}
.sa--rotateR {
  transform: rotate(-180deg);
}

/* vertical-align - utility
--------------------------------------------------------- */
.u-va-t{
  vertical-align: top !important;
}
.u-va-m{
  vertical-align: middle !important;
}
.u-va-b{
  vertical-align: bottom !important;
}

/* border - utility
--------------------------------------------------------- */
/* border-radius */
.u-br-4{
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -ms-border-radius: 4px;
}

.u-br-8{
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  -ms-border-radius: 8px;
}

.u-br-12{
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  -ms-border-radius: 12px;
}

.u-br-16{
  -webkit-border-radius: 16px;
  -moz-border-radius: 16px;
  border-radius: 16px;
  -ms-border-radius: 16px;
}

/* border-none */
.u-br-0{
  border: none;
}

.u-br-t-0{
  border-top: none;
}

.u-br-r-0{
  border-right: none;
}

.u-br-b-0{
  border-bottom: none;
}

.u-br-l-0{
  border-left: none;
}

/* clearfix - utility
--------------------------------------------------------- */
.u-cf{
  *zoom: 1;
}

.u-cf:after{
  display: table;
  clear: both;
  content: '';
}

/* display - utility
--------------------------------------------------------- */
.u-d-tb{
  display: table !important;
}

.u-d-tbc{
  display: table-cell !important;
}

.u-d-b{
  display: block !important;
}

.u-d-ib{
  display: inline-block !important;
}

.u-d-n{
  display: none !important;
}

/* float - utility
--------------------------------------------------------- */
.u-fl-l{
  float: left !important;
}

.u-fl-r{
  float: right !important;
}

/* font-size - utility
--------------------------------------------------------- */
.u-fz-10{
  font-size: 10px !important;
}

.u-fz-12{
  font-size: 12px !important;
}

.u-fz-14{
  font-size: 14px !important;
}

.u-fz-16{
  font-size: 16px !important;
}

.u-fz-18{
  font-size: 18px !important;
}

.u-fz-20{
  font-size: 20px !important;
}

.u-fz-22{
  font-size: 22px !important;
}

.u-fz-24{
  font-size: 24px !important;
}

.u-fz-26{
  font-size: 26px !important;
}

.u-mini {
  font-size: 80%;
}

/* line-clamp - utility
--------------------------------------------------------- */
.u-lc{
  display:         box;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* margin - utility
--------------------------------------------------------- */
/* auto margin */
.u-m-c{
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Top margin */
.u-mt-0{
  margin-top: 0 !important;
}

.u-mt-8{
  margin-top: 8px !important;
}

.u-mt-16{
  margin-top: 16px !important;
}

.u-mt-24{
  margin-top: 24px !important;
}

.u-mt-32{
  margin-top: 32px !important;
}

.u-mt-40{
  margin-top: 40px !important;
}

.u-mt-48{
  margin-top: 48px !important;
}

.u-mt-56{
  margin-top: 56px !important;
}

.u-mt-64{
  margin-top: 64px !important;
}

/* Right margin */
.u-mr-0{
  margin-right: 0 !important;
}

.u-mr-8{
  margin-right: 8px !important;
}

.u-mr-16{
  margin-right: 16px !important;
}

.u-mr-24{
  margin-right: 24px !important;
}

.u-mr-32{
  margin-right: 32px !important;
}

.u-mr-40{
  margin-right: 40px !important;
}

.u-mr-48{
  margin-right: 48px !important;
}

.u-mr-56{
  margin-right: 56px !important;
}

.u-mr-64{
  margin-right: 64px !important;
}

/* Bottom margin */
.u-mb-0{
  margin-bottom: 0 !important;
}

.u-mb-8{
  margin-bottom: 8px !important;
}

.u-mb-16{
  margin-bottom: 16px !important;
}

.u-mb-24{
  margin-bottom: 24px !important;
}

.u-mb-32{
  margin-bottom: 32px !important;
}

.u-mb-40{
  margin-bottom: 40px !important;
}

.u-mb-48{
  margin-bottom: 48px !important;
}

.u-mb-56{
  margin-bottom: 56px !important;
}

.u-mb-64{
  margin-bottom: 64px !important;
}

/* Left margin */
.u-ml-0{
  margin-left: 0 !important;
}

.u-ml-8{
  margin-left: 8px !important;
}

.u-ml-16{
  margin-left: 16px !important;
}

.u-ml-24{
  margin-left: 24px !important;
}

.u-ml-32{
  margin-left: 32px !important;
}

.u-ml-40{
  margin-left: 40px !important;
}

.u-ml-48{
  margin-left: 48px !important;
}

.u-ml-56{
  margin-left: 56px !important;
}

.u-ml-64{
  margin-left: 64px !important;
}

/* misc - utility
--------------------------------------------------------- */
.u-ws-nowrap{
  white-space: nowrap;
}

.u-mx-img{
  max-width: 100%;
}

.u-tx-inside{
  margin-left: 1em;
  text-indent: -1em;
}

/* padding - utility
--------------------------------------------------------- */
/* Top padding */
.u-pt-0{
  margin-top: 0 !important;
}

.u-pt-8{
  margin-top: 8px !important;
}

.u-pt-16{
  margin-top: 16px !important;
}

.u-pt-24{
  margin-top: 24px !important;
}

.u-pt-32{
  margin-top: 32px !important;
}

.u-pt-40{
  margin-top: 40px !important;
}

.u-pt-48{
  margin-top: 48px !important;
}

.u-pt-56{
  margin-top: 56px !important;
}

.u-pt-64{
  margin-top: 64px !important;
}

/* Right padding */
.u-pr-0{
  padding-right: 0 !important;
}

.u-pr-8{
  padding-right: 8px !important;
}

.u-pr-16{
  padding-right: 16px !important;
}

.u-pr-24{
  padding-right: 24px !important;
}

.u-pr-32{
  padding-right: 32px !important;
}

.u-pr-40{
  padding-right: 40px !important;
}

.u-pr-48{
  padding-right: 48px !important;
}

.u-pr-56{
  padding-right: 56px !important;
}

.u-pr-64{
  padding-right: 64px !important;
}

/* Bottom padding */
.u-pb-0{
  padding-bottom: 0 !important;
}

.u-pb-8{
  padding-bottom: 8px !important;
}

.u-pb-16{
  padding-bottom: 16px !important;
}

.u-pb-24{
  padding-bottom: 24px !important;
}

.u-pb-32{
  padding-bottom: 32px !important;
}

.u-pb-40{
  padding-bottom: 40px !important;
}

.u-pb-48{
  padding-bottom: 48px !important;
}

.u-pb-56{
  padding-bottom: 56px !important;
}

.u-pb-64{
  padding-bottom: 64px !important;
}

/* Left padding */
.u-pl-0{
  padding-left: 0 !important;
}
.u-pl-8{
  padding-left: 8px !important;
}
.u-pl-16{
  padding-left: 16px !important;
}
.u-pl-24{
  padding-left: 24px !important;
}
.u-pl-32{
  padding-left: 32px !important;
}
.u-pl-40{
  padding-left: 40px !important;
}
.u-pl-48{
  padding-left: 48px !important;
}
.u-pl-56{
  padding-left: 56px !important;
}
.u-pl-64{
  padding-left: 64px !important;
}

/* position - utility
--------------------------------------------------------- */
.u-pos-a{
  position: absolute !important;
}

.u-pos-r{
  position: relative !important;
}

/* text-align - utility
--------------------------------------------------------- */
.u-ta-l{
  text-align: left !important;
}

.u-ta-c{
  text-align: center !important;
}

.u-ta-r{
  text-align: right !important;
}

/* text-decoration - utility
--------------------------------------------------------- */
.u-fw-n{
  font-weight: normal !important;
}

.u-fw-500{
  font-weight: 500 !important;
}

.u-fw-700{
  font-weight: 700 !important;
}

.u-td-u{
  text-decoration: underline !important;
}

/* text-truncate - utility
--------------------------------------------------------- */
.u-tt{
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-wrap: normal;
  /* for IE 8/9 */
}

/* width - utility
--------------------------------------------------------- */
.u-w-auto{
  width: auto !important;
}

.u-maw-full{
  max-width: 100% !important;
}

.u-maw-half{
  max-width: 50% !important;
}

@media screen and (max-width: 768px) {
  /* content */
  .c-center {
    max-width: 1100px;
    width: 92.5%;
    padding: 20px 0;
    margin: 0 auto;
    box-sizing: border-box;
  }

  /*under line yellow*/

  .u-yellow-line {
    display: inline;
    position: relative;
  }

  .u-yellow-line:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 4px;
    height: 4px;
    width: 100%;
    z-index: 0 ;
    background: #FFD800;
  }

  /*下層メニュー*/

  .u-lnavi-item li:nth-child(5) ,
  .u-lnavi-item li:nth-child(9) ,
  .u-lnavi-item li:nth-child(13) {
    margin-left: 0!important;
  }

  .u-lnavi-item li:nth-child(5n) ,
  .u-lnavi-item li:nth-child(6n) ,
  .u-lnavi-item li:nth-child(7n) ,
  .u-lnavi-item li:nth-child(8n) ,
  .u-lnavi-item li:nth-child(9n) ,
  .u-lnavi-item li:nth-child(10n) ,
  .u-lnavi-item li:nth-child(11n) ,
  .u-lnavi-item li:nth-child(12n) ,
  .u-lnavi-item li:nth-child(13n) {
    margin-top: -1px!important;
  }

  .u-lnavi-item li + li {
    margin-left: 0px!important;
    margin-top: -1px!important;
  }

  .c-btn {
    font-size: 14px;
    margin-top: 20px;
    max-width: 90%;
  }

  .c-select-box {
    width: 90%;
    margin: 0px auto 20px;
    display: block;
  }

  .c-body-wrap p {
    margin-bottom: 15px;
  }

  body.sub:not(#main) table tr th, 
  body.sub:not(#main) table tr td,
  body.sub:not(#main) table tr th, 
  body.sub:not(#main) table tr td {
    font-size: 13px;
    padding: 10px;
  }

  body.sub:not(#main) table tr th,
  body.sub:not(#main) table tr th {
    font-size: 13px;
  }

  body.sub:not(#main) table tr td li {
    font-size: 13px;
  }

  body.sub:not(#main) table tr td li:before {
    top: 9px;
  }

  body.sub:not(#main) table tr td strong ,
  body.sub:not(#main) table tr td span ,
  body.sub:not(#main) table tr td a {
    font-size: 13px;
  }

  .u-imgl-layout__thum {
    margin-right: 10px;
    margin-bottom: 15px;
  }

  .u-imgr-layout__thum {
    padding-left: 10px;
  }

  .u-lnavi-item li {
    width: 100%;
    margin: 0;
  }

  .u-lnavi-item li + li {
    margin-left: 0;
    margin-top: -1px;
  }

  .u-lnavi-item li a {
    min-height: auto;
    padding: 10px 20px;
    font-size: 13px;
  }

  .c-body-wrap ul li {
    padding-left: 16px;
    position: relative;
    font-size: 14px;
  }

  .c-body-wrap ul li:before {
    left: 4px;
    top: 13px;
    width: 4px;
    height: 4px;
  }

  .u-lay-3 li:nth-child(3n) {
    margin-right: auto;
  }

  .u-lay-3 li {
    width: 48%;
    margin-right: 4%!important;
    margin-bottom: 15px;
  }

  .u-lay-3 li:nth-child(2n) {
    margin-right: 0!important;
  }

  a[href$=".xls"], a[href$=".xlsx"] {
    padding: 4px 0;
    padding-right: 30px;
    display: inline-block;
    background: url(../../images/common/ico-excel.png) no-repeat right 5px;
    background-size: 20px;
    color: #004C96;
    text-decoration: underline;
  }

  a[href$=".pdf"] {
    padding: 4px 0;
    padding-right: 30px;
    display: inline;
    word-break: break-all;
    background: url(../../images/common/ico-pdf.png) no-repeat right 5px;
    background-size: 20px;
    color: #004C96;
    text-decoration: underline;
  }

  a[href$=".doc"],
  a[href$=".docx"] {
    padding: 4px 0;
    padding-right: 30px;
    display: inline-block;
    background: url(../../images/common/ico-word.png) no-repeat right 5px;
    background-size: 20px;
    color: #004C96;
    text-decoration: underline;
  }
  
  .c-body-wrap .u-lnavi-bottomitem li a {
    min-height: 36px;
  }
  .c-body-wrap .u-lnavi-bottomitem li {
    width: auto;
    margin-bottom: 10px!important;
    margin-right: 10px!important;
    border-radius: 50px;
    overflow: hidden;
    border: none;
  }

  .c-body-wrap .u-lnavi-headitem li, .c-body-wrap .u-lnavi-bottomitem li {
    margin-right: 10px!important;
    margin-bottom: 10px!important;
  }

  .c-body-wrap .u-lnavi-headitem li a, .c-body-wrap .u-lnavi-bottomitem li a {
    min-height: inherit;
  }

  body.sub:not(#main) table.c-table-type01 tr th,
  body.sub:not(#main) table.c-table-type02 tr th {
    width: 120px;
  }
  body.sub:not(#main) table.c-table-type01 tr td ,
  body.sub:not(#main) table.c-table-type02 tr td {
    display: table-cell;
  }
  .c-body-wrap .c-btn ,
  .c-btn {
    padding: 10px 30px;
  }
  body.sub:not(#main) table tr td {
    display: table-cell;
  }
  body.sub:not(#main) table.ai1ec-month-view tr td {
    display: display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
  }

  .samazama-table td {
    width: 100%!important;
    display: block!important;
    border-top: none!important;
    text-align: left!important;
  }

  .samazama-table td br {
    display: none;
  }

  .samazama-table td.u-sama-subttl {
    background-color: #EAF2FB!important;
    color: #004C96!important;
  }

  .samazama-table .u-sama-dn {
    display: none!important;
  }

  .samazama-table td.u-sama-title {
    width: 100%!important;
    background-color: #004C96!important;
    color: #fff!important;
    text-align: center!important;
  }

  .samazama-table td span.u-sp {
    display: inline-block!important;
  }
  .u-arw-link.arw-link-kaigyo {
    display: inline-block;
  }
}

/* イベントカレンダー */
body.sub:not(#main) table tr td.ai1ec-empty {
	display: none;
}
.ai1ec-month-view .ai1ec-day-stretcher {
	display: none;
}