@charset "UTF-8";
/* ============================================================
	Object ページをまたいで使われる各種パーツ
=============================================================== */
/* Component 汎用性が高く、再利用可能なモジュール
=============================================================== */
/* Pagination
--------------------------------------------------------------- */
.c-pagination {
  clear: both;
  line-height: 1; }

.c-pagination span, .c-pagination a {
  display: block;
  width: auto;
  margin: 2px 2px 2px 0;
  padding: 6px 9px 5px 9px;
  float: left;
  border: 1px solid #ccc;
  background: #fff; }

.c-pagination a:hover {
  background: #ccc;
  color: #fff; }

.c-pagination .current {
  padding: 6px 9px 5px 9px;
  font-weight: bold; }

/* wp-pagenavi
--------------------------------------------------------------- */
.wp-pagenavi {
  text-align: center !important; }

/* Arrow
--------------------------------------------------------------- */
.c-ar-l:before {
  margin-right: 5px;
  font-family: FontAwesome;
  content: "\f104"; }

.c-ar-r:before {
  margin-right: 5px;
  font-family: FontAwesome;
  font-size: 1.125rem;
  content: "\f105"; }

.c-ar-r-2:after {
  margin-left: 5px;
  font-family: FontAwesome;
  content: "\f105"; }

.c-ar-u:before {
  margin-right: 5px;
  font-family: FontAwesome;
  content: "\f106"; }

.c-ar-d:before {
  margin-right: 5px;
  font-family: FontAwesome;
  content: "\f107"; }

/* Searchsubmit
--------------------------------------------------------------- */
/*.c-s {
	border:1px solid #ddd;
	margin:0 0 0 10px;
	height:24px;
	width:180px;
}
.c-searchsubmit {
	border:1px solid #999;
	background:#999;
	padding:6px 20px;
	color:#fff;
	font-size:1.2rem;
}*/
/* Column
--------------------------------------------------------------- */
.c-column2 {
  width: 50%;
  margin: 0 5% 5% 0;
  float: left; }

.c-column3 {
  width: 33%;
  margin: 0 5% 5% 0;
  float: left; }

.c-column4 {
  width: 25%;
  margin: 0 5% 5% 0;
  float: left; }

.c-column5 {
  width: 20%;
  margin: 0 5% 5% 0;
  float: left; }

.c-column2:last-child,
.c-column3:last-child,
.c-column4:last-child,
.c-column5:last-child {
  margin-right: 0; }

/* Accordion
--------------------------------------------------------------- */
.c-accordion dt {
  padding: 10px;
  border-bottom: solid 1px #fff;
  background-color: #9CF;
  color: #fff;
  cursor: pointer; }

/* Table
--------------------------------------------------------------- */
.c-tbl {
  width: 100%; }

.c-tbl th,
.c-tbl td {
  border-top: 1px solid #c4c4c4;
  border-bottom: 1px solid #c4c4c4; }

.c-tbl tr:first-child th,
.c-tbl tr:first-child td {
  border-top: none; }

.c-tbl th {
  padding: 25px 0 25px 45px;
  text-align: left;
  white-space: nowrap; }

.c-tbl td {
  padding: 25px 45px 25px 60px;
  line-height: 1.5; }

.c-tbl02 {
  width: 100%; }

.c-tbl02 th {
  width: 18%;
  padding: 0 10px 10px 30px;
  text-align: left; }

.c-tbl02 td {
  padding: 0 30px 10px 0; }

.c-tbl02 .item {
  width: 15%; }

.c-tbl02 tr:first-child th,
.c-tbl02 tr:first-child td {
  padding-bottom: 35px;
  border-bottom: 1px solid #171717; }

.c-tbl02 tr:nth-child(2) th,
.c-tbl02 tr:nth-child(2) td {
  padding-top: 35px; }

.c-tbl03 {
  width: 100%; }

.c-tbl03 th {
  width: 30%;
  text-align: left; }

.c-tbl03 th,
.c-tbl03 td {
  padding: 5px; }

.c-tbl03 td {
  width: 82%;
  line-height: 1.5; }

/* Project プロジェクト内での固有のパターン
=============================================================== */
/* Utility 細かい見た目のスタイルを調整
=============================================================== */
/* Clearfix
--------------------------------------------------------------- */
div:after,
ul:after,
dl:after {
  display: block;
  clear: both;
  content: ""; }

/* H2
--------------------------------------------------------------- */
.u-hl2 {
  width: 355px;
  margin: 0 auto 50px;
  padding: 25px 0;
  border-top: 1px solid #171717;
  border-bottom: 1px solid #171717;
  font-size: 1.5rem;
  letter-spacing: 3px;
  text-align: center; }

.u-hl2 span {
    font-size: 1.375rem;}

.u-hl2-2 {
  width: 100%;
  margin: 0 auto 50px;
  padding: 25px 0;
  border-top: 1px solid #171717;
  border-bottom: 1px solid #171717;
  font-size: 1.5rem;
  letter-spacing: 3px;
  text-align: center; }

.u-hl2-3 {
  max-width: 720px;
  margin: 0 auto 50px;
  overflow: hidden;
  font-size: 1.5rem;
  text-align: center; }

.u-hl2-3 .line {
  display: inline-block;
  position: relative;
  padding: 0 1.5em; }

.u-hl2-3 .line:before,
.u-hl2-3 .line:after {
  position: absolute;
  top: 50%;
  width: 99em;
  border-top: 1px solid #171717;
  content: ""; }

.u-hl2-3 .line:before {
  right: 100%; }

.u-hl2-3 .line:after {
  left: 100%; }

.u-hl3 {
  margin-bottom: 20px;
  overflow: hidden;
  font-size: 1.25rem; }

.u-hl3 span {
  display: inline-block;
  position: relative;
  margin-left: 20px;
  padding: 0 0.5em; }

.u-hl3 span:before {
  position: absolute;
  top: 50%;
  width: 99em;
  border-top: 1px solid #171717;
  content: ""; }

.u-hl3 span:before {
  right: 100%; }

/* Text
--------------------------------------------------------------- */
.u-ta-l {
  text-align: left; }

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

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

.u-fw-b {
  font-family: 'NotoSansJP-Bold', serif;
  color:#000;
  font-weight:900;  }

.u-ov-h {
  overflow: hidden; }

.u-va-t {
  vertical-align: top; }

.u-va-m {
  vertical-align: middle; }

.u-va-b {
  vertical-align: bottom; }

.u-lh16 {
  line-height: 1.6; }

.u-lh20 {
  line-height: 2; }

.u-lh25 {
  line-height: 2.5; }

  p.u-ta-c {
    margin-bottom: 50px;
}


/* Font size
--------------------------------------------------------------- */
.u-fs15 {
  font-size: 0.9375rem; }

.u-fs16 {
  font-size: 1rem; }

.u-fs18 {
  font-size: 1.125rem; }

.u-fs20 {
  font-size: 1.25rem; }

.u-fs22 {
  font-size: 1.375rem; }

.u-fs30 {
  font-size: 1.875rem; }

/* Font color
--------------------------------------------------------------- */
.u-c-red {
  color: #ff4136; }

/* Margin Padding
--------------------------------------------------------------- */
.u-mb40 {
  margin-bottom: 40px; }

.u-mb50 {
  margin-bottom: 50px; }

.u-mb60 {
  margin-bottom: 60px; }

.u-mb100 {
  margin-bottom: 100px !important; }

.u-mb115 {
  margin-bottom: 115px; }

.u-mb150 {
  margin-bottom: 150px; }

.u-ml20 {
  margin-left: 20px; }

/* Triangle
--------------------------------------------------------------- */
.triangle:after {
	content: "";
	width: 0;
	height: 0;
	border: 15px solid transparent;
	border-top: 15px solid #a42121;
	position:absolute;
	top:58px;
	left:47%;
}

.triangle02:after {
    content: "";
    width: 0;
    height: 0;
    border: 15px solid transparent;
    border-top: 15px solid #a42121;
    position: absolute;
    top: 58px;
    left: 47%;
}

.triangle02.select:after {
    content: "";
    width: 0;
    height: 0;
    border: 15px solid transparent;
    border-top: 15px solid #171717;
    position: absolute;
    top: 58px;
    left: 47%;
}

.triangle02:hover:after {
    content: "";
    width: 0;
    height: 0;
    border: 15px solid transparent;
    border-top: 15px solid #171717;
    position: absolute;
    top: 58px;
    left: 47%;
}

.triangle03:after {
    content: "";
    width: 0;
    height: 0;
    border: 15px solid transparent;
    border-top: 15px solid #a42121;
    position: absolute;
    top: 58px;
    left: 47%;
}

.triangle03.select:after {
    content: "";
    width: 0;
    height: 0;
    border: 15px solid transparent;
    border-top: 15px solid #171717;
    position: absolute;
    top: 58px;
    left: 47%;
}

.triangle03:hover:after {
    content: "";
    width: 0;
    height: 0;
    border: 15px solid transparent;
    border-top: 15px solid #171717;
    position: absolute;
    top: 58px;
    left: 47%;
}

/* Float
--------------------------------------------------------------- */
.u-fl-n {
  float: none; }

.u-fl-l {
  float: left; }

.u-fl-r {
  float: right; }

/* List
--------------------------------------------------------------- */
.u-lisp-i {
  list-style-position: inside; }

.u-lisp-o {
  list-style-position: outside; }

.u-list-d {
  list-style-type: disc; }

.u-list-c {
  list-style-type: circle; }

.u-list-s {
  list-style-type: square; }

.u-list-de {
  list-style-type: decimal; }

.u-list-dlz {
  list-style-type: decimal-leading-zero; }

/* Img
--------------------------------------------------------------- */
a:hover img.u-alpha {
  -ms-filter: "alpha( opacity=70 )";
  filter: alpha(opacity=70);
  opacity: 0.7; }

/* Display
--------------------------------------------------------------- */
.u-d-pc {
  display: block !important; }

.u-d-pc.list-center {
    display: flex !important;
    justify-content: center; }

.u-d-sp {
  display: none !important; }

/* Bottun
--------------------------------------------------------------- */
.u-btn-red {
  width: 363px;
  margin: 0 auto;
  border: 1px solid #fff;
  background: #a42121;
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 3px;
  text-align: center; }

.u-btn-red a {
  display: block;
  padding: 20px 0;
  color: #fff; }

.u-btn-black {
  width: 363px;
  margin: 0 auto;
  border: 1px solid #fff;
  background: #171717;
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: 3px;
  text-align: center; }

.u-btn-black a {
  display: block;
  padding: 20px 0;
  color: #fff; }

.u-btn-red:hover,
.u-btn-black:hover {
  -ms-filter: "alpha( opacity=70 )";
  filter: alpha(opacity=70);
  opacity: 0.7;
  -webkit-transition: all .3s;
  transition: all .3s; }

  .u-btn-pdf {
  font-size: .75rem;
  color: #171717;
  background: #fff;
  border: 1px solid #171717;
  font-weight: 900;
  padding: 0 .25rem;
  margin-left: 8px;
  letter-spacing: 1px;
}

@media print, screen and (max-width: 37.5em) {
  /* ============================================================
	Object ページをまたいで使われる各種パーツ
=============================================================== */
  /* Component 汎用性が高く、再利用可能なモジュール
=============================================================== */
  /* Column
--------------------------------------------------------------- */
  .c-column3 {
    width: 50%;
    margin: 0 5% 5% 0;
    float: left; }
  .c-column4 {
    width: 50%;
    margin: 0 5% 5% 0;
    float: left; }
  .c-column5 {
    width: 50%;
    margin: 0 5% 5% 0;
    float: left; }
  .c-column3:nth-child(2n),
  .c-column4:nth-child(2n),
  .c-column5:nth-child(2n) {
    margin-right: 0; }
  /* Project プロジェクト内での固有のパターン
=============================================================== */
  /* Utility 細かくスタイルを調整
=============================================================== */
  /* H2
--------------------------------------------------------------- */
  .u-hl2 {
    width: auto;
    font-size: 1.0625rem; }
  .u-hl2 span {
    font-size: .9375rem; }
  .u-hl2-2 {
    margin: 0 auto 25px;
    padding: 15px 0;
    font-size: 1.25rem; }
  .u-hl2-3 {
    margin: 0 auto 25px;
    font-size: 1.25rem; }
  .u-hl2-3 .line {
    padding: 0 0.5em; }
  /*Float
--------------------------------------------------------------- */
  .u-fl-l, .u-fl-r {
    width: 100%;
    float: none; }
  /* Margin Padding
--------------------------------------------------------------- */
  .u-mb60 {
    margin-bottom: 30px; }
  .u-mb100 {
    margin-bottom: 50px !important; }
  .u-mb115 {
    margin-bottom: 55px; }
  .u-mb150 {
    margin-bottom: 75px; }
  /* Triangle
--------------------------------------------------------------- */
  .triangle:after {
	top:53px; }
  .triangle02:after,
  .triangle02.select:after,
  .triangle02:hover:after {
    top: 53px; }

  .triangle02:nth-child(2):after,
  .triangle02.select:nth-child(2):after,
  .triangle02:hover:nth-child(2):after {
    top: 56px; }

  .triangle03:after,
  .triangle03.select:after,
  .triangle03:hover:after {
    top: 53px; }
  /* Display
--------------------------------------------------------------- */
  .u-d-pc {
    display: none !important; }
  .u-d-sp {
    display: block !important; }
  /* Table
--------------------------------------------------------------- */
  .u-sc-tb {
    overflow: auto;
    white-space: nowrap; }
  .u-sc-tb::-webkit-scrollbar {
    height: 5px; }
  .u-sc-tb::-webkit-scrollbar-track {
    background: #f1f1f1; }
  .u-sc-tb::-webkit-scrollbar-thumb {
    background: #bdbdbd; }
  .c-tbl th {
    background: #eee; }
  .c-tbl th,
  .c-tbl td {
    display: block;
    width: 93%;
    padding: 20px 10px;
    border-top: none;
    border-bottom: none; }
  .c-tbl02 th,
  .c-tbl02 td {
    display: block;
    width: 100%; }
  .c-tbl02 th {
    padding: 0 0 10px 0; }
  .c-tbl02 td {
    padding: 0 0 10px 0; }
  .c-tbl02 .item {
    width: 100%; }
  .c-tbl02 tr:first-child th {
    padding-bottom: 10px;
    border-bottom: none; }
  .c-tbl02 tr:first-child td {
    padding-bottom: 10px;
    border-bottom: 1px solid #171717; }
  .c-tbl02 tr:nth-child(2) th {
    padding-top: 15px; }
  .c-tbl02 tr:nth-child(2) td {
    padding: 10px 0 0 0; }
  .c-tbl03 th,
  .c-tbl03 td {
    display: block;
    width: 100%;
    padding: 5px; }
  .c-tbl03 td {
    padding-bottom: 15px;
    line-height: 1.5; }
  /* Font size
--------------------------------------------------------------- */
  .u-fs20 {
    font-size: 1.125rem; }
  .u-fs30 {
    font-size: 1.375rem; }
  /* Bottun
--------------------------------------------------------------- */
  .u-btn-red {
    width: 100%;
    margin: 0 auto;
    border: none;
    background: #a42121;
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 3px;
    text-align: center; }
  .u-btn-red a {
    display: block;
    padding: 20px 0;
    color: #fff; }
  .u-btn-black {
    width: 100%;
    margin: 0 auto;
    border: none;
    background: #171717;
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 3px;
    text-align: center; }
  .u-btn-black a {
    display: block;
    padding: 20px 0;
    color: #fff; }
    .u-btn-pdf {
      font-size: .5rem;
    } }
