html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, input, select, textarea {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: 400;
  vertical-align: bottom;
  background: transparent
}

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

html {
  font-size: 62.5%
}

body {
  font-family: sans-serif;
  line-height: 1
}

ul, ol {
  list-style: none
}

blockquote, q {
  quotes: none
}

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

a {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  background: transparent;
  outline: none
}

img {
  vertical-align: bottom
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold
}

del {
  text-decoration: line-through
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%
}

th, td {
  text-align: left;
  vertical-align: top
}

input, select, textarea {
  font-family: inherit
}

input[type="submit"] {
  cursor: pointer
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0
}

html {
  overflow: auto
}

body {
  min-width: 320px;
  padding-top: 60px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  color: #222;
  font-size: 1.4rem;
  line-height: 2.4;
  letter-spacing: .03em;
  overflow: hidden;
  -webkit-text-size-adjust: 100%
}

.wp-pagenavi {
	margin: 40px auto;
	font-size: 12px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #77a0d1;
}
.wp-pagenavi a {
    color: #77a0d1;
}
.wp-pagenavi span.current,
.wp-pagenavi a.page {
	margin: 0 10px 0 0;
	border: solid 1px #eee;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	line-height: 40px;
	text-align: center;
	box-sizing: border-box;
	justify-content: center;
	display: flex;
	align-items: center;
	transition: .3s;
}
.wp-pagenavi span.current {
    border: none;
    background: #77a0d1;
    color: #fff;
}
.wp-pagenavi a.page {
	background: none;
}
.wp-pagenavi a.page:hover {
    background: #77a0d1;
    color: #fff;
}
.wp-pagenavi .first,
.wp-pagenavi .extend {
    margin-right: 10px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
    display: none;
}

@media all and (min-width: 768px) {
  body {
    min-width: 1150px;
    padding-top: 90px;
    font-size: 1.6rem;
    letter-spacing: .06em
  }
}

body.sg {
  height: auto
}

a {
  color: inherit;
  text-decoration: underline
}

@media all and (min-width: 768px) {
  a:hover {
    text-decoration: none
  }
}

span {
  font-weight: inherit
}

strong {
  font-weight: 700
}

img {
  width: 100%;
  height: auto
}

::selection {
  background: #222;
  color: #fff
}

::-moz-selection {
  background: #222;
  color: #fff
}

.l-wrapper {
  position: relative
}

@media all and (min-width: 768px) {
  .l-container.col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 1100px;
    margin: 0 auto
  }
  .l-container.col2 .l-contents {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: calc(100% - 240px - 60px)
  }
  .l-container.col2 .l-sidebar {
    width: 240px;
    margin-top: 140px;
    margin-bottom: 100px
  }
  .l-container.col2 .l-sidebar.is-single {
    margin-top: 20px
  }
}

.u-media-query {
  display: none;
  font-family: 'sp'
}

@media all and (min-width: 768px) {
  .u-media-query {
    font-family: 'pc'
  }
}

@media all and (max-width: 767px) {
  .u-view-pc {
    display: none !important
  }
}

@media all and (min-width: 768px) {
  .u-view-sp {
    display: none !important
  }
}

.u-alpha {
  display: block;
  text-decoration: none
}

@media all and (min-width: 768px) {
  .u-alpha {
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .u-alpha:hover {
    opacity: .7
  }
}

.u-uppercase {
  text-transform: uppercase
}

.u-cf:after {
  content: "";
  display: block;
  clear: both
}

.u-inner {
  box-sizing: border-box
}

@media all and (max-width: 767px) {
  .u-inner {
    padding-left: 20px;
    padding-right: 20px
  }
}

@media all and (min-width: 768px) {
  .u-inner {
    width: 100%;
    max-width: 1100px;
    margin: auto
  }
}

@media all and (min-width: 768px) {
  .u-zoom .u-zoom__img {
    overflow: hidden
  }
  .u-zoom .u-zoom__img img {
    display: block;
    -webkit-transition: -webkit-transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: -webkit-transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1)
  }
  .u-zoom:hover .u-zoom__img img {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1)
  }
}

.u-notoserif {
  font-family: 'Noto Serif JP', serif
}

.u-roboto {
  font-family: 'Roboto', sans-serif;
  letter-spacing: .06em
}

.c-anchor01__btn-link, .c-anchor01__btn-txt {
  position: relative;
  display: block;
  padding: 9px 30px 9px 0;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
  font-weight: 700;
  text-decoration: none
}

.c-anchor01__btn-txt:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 3px;
  width: 6px;
  height: 6px;
  margin-top: -4px;
  border-right: 2px solid #e42c2c;
  border-bottom: 2px solid #e42c2c;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all .6s ease;
  transition: all .6s ease
}

.c-anchor01__btn.is-active .c-anchor01__btn-txt:after {
  margin-top: -2px;
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg)
}

@media all and (min-width: 768px) {
  .c-anchor01-btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -15px
  }
  .c-anchor01__btn {
    width: calc(16.666% - 30px);
    margin: 0 15px 17px
  }
  .c-anchor01__btn-link {
    padding: 4px 20px 4px 0;
    font-size: 1.8rem;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .c-anchor01__btn-link:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 3px;
    width: 6px;
    height: 6px;
    margin-top: -4px;
    border-right: 2px solid rgba(136, 136, 136, 0.7);
    border-bottom: 2px solid rgba(136, 136, 136, 0.7);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .c-anchor01__btn-link:hover {
    color: #e42c2c
  }
  .c-anchor01__btn-link:hover:after {
    border-color: #e42c2c
  }
}

.c-anchor02__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 280px;
  text-align: center
}

.c-anchor02__btn-link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 71px;
  padding: 14px 45px 15px;
  box-shadow: 0px 5px 10px rgba(34, 34, 34, 0.1);
  background: #fff;
  text-decoration: none;
  box-sizing: border-box;
  font-weight: 700;
  line-height: 1.5
}

.c-anchor02__btn-link:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 7px;
  height: 7px;
  margin-top: -4px;
  border-right: 2px solid #e42c2c;
  border-bottom: 2px solid #e42c2c;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

@media all and (max-width: 767px) {
  .c-anchor02-btns .c-anchor02__btn+.c-anchor02__btn {
    margin-top: 10px
  }
}

@media all and (min-width: 768px) {
  .c-anchor02-btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
  .c-anchor02__btn {
    max-width: 350px;
    width: calc((100% - 48px)/3);
    margin: 0
  }
  .c-anchor02__btn:nth-of-type(3n-1), .c-anchor02__btn:nth-of-type(3n) {
    margin-left: 24px
  }
  .c-anchor02__btn:nth-of-type(n+4) {
    margin-top: 24px
  }
  .c-anchor02__btn-link {
    min-height: 90px;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .c-anchor02__btn-link:after {
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .c-anchor02__btn-link:hover {
    box-shadow: 0px 3px 5px rgba(34, 34, 34, 0.1);
    color: #e42c2c
  }
  .c-anchor02__btn-link:hover:after {
    border-color: #e42c2c
  }
}

.c-archive01 {
  border-top: 1px solid #ddd
}

.c-archive01__item-link {
  display: block;
  padding: 15px 0 12px;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
  text-decoration: none
}

.c-archive01-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 3px;
  line-height: 1.5
}

.c-archive01__date {
  margin: 0 10px 0 0;
  color: #888;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: .03em
}

.c-archive01__cat {
  line-height: 1.2;
  display: inline-block;
  min-width: 77px;
  padding: 2px 11px;
  border: 1px solid #e42c2c;
  box-sizing: border-box;
  background: #fff;
  color: #e42c2c;
  font-size: 1.2rem;
  text-align: center
}

.c-archive01__cat.is-red {
  background: #e42c2c;
  color: #fff
}

.c-archive01__head {
  letter-spacing: .03em;
  line-height: 1.8
}

@media all and (min-width: 768px) {
  .c-archive01 {
    border-color: #e42c2c
  }
  .c-archive01__item-link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 26px 60px 27px 50px;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .c-archive01__item-link:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 14px;
    height: 4px;
    background-position: 100% 50%;
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23e42c2c%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
  }
  .c-archive01__item-link:hover {
    color: #e42c2c
  }
  .c-archive01-meta {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 285px;
    margin-right: 44px
  }
  .c-archive01__date {
    margin: 0;
    font-size: 1.6rem
  }
  .c-archive01__cat {
    min-width: 123px;
    width: 123px;
    margin-bottom: 0;
    padding: 5px 11px;
    font-size: 1.5rem
  }
  .c-archive01__head {
    width: calc(100% - 285px - 44px);
    letter-spacing: .06em
  }
}

@media all and (max-width: 767px) {
  .c-archive02__item+.c-archive02__item {
    margin-top: 30px
  }
}

.c-archive02__link {
  display: block;
  text-decoration: none;
  box-sizing: border-box
}

.c-archive02__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 0 12px;
  height: 61.56vw
}

.c-archive02__img img {
  object-fit: scale-down;
  font-family: 'object-fit: scale-down;';
  display: block;
  width: auto;
  max-height: 100%
}

.c-archive02__tit {
  position: relative;
  padding-left: 23px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5
}

.c-archive02__tit:before, .c-archive02__tit:after {
  position: absolute;
  content: '';
  display: block
}

.c-archive02__tit:before {
  z-index: 0;
  top: 6px;
  left: 0;
  width: 15px;
  height: 15px;
  background: #e42c2c
}

.c-archive02__tit:after {
  top: 11px;
  left: 4px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.c-archive02__detail {
  margin-top: 5px;
  line-height: 1.8
}

@media all and (min-width: 768px) {
  .c-archive02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .c-archive02__item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 250px;
    flex: 0 0 250px;
    max-width: 250px
  }
  .c-archive02.is-clm-3-pc .c-archive02__item {
    margin-right: 25px
  }
  .c-archive02.is-clm-3-pc .c-archive02__item:nth-of-type(3n) {
    margin-right: 0
  }
  .c-archive02.is-clm-3-pc .c-archive02__item:nth-of-type(n+4) {
    margin-top: 50px
  }
  .c-archive02.is-clm-4-pc .c-archive02__item {
    margin-right: 33px
  }
  .c-archive02.is-clm-4-pc .c-archive02__item:nth-of-type(4n) {
    margin-right: 0
  }
  .c-archive02__img {
    margin-bottom: 15px;
    height: 173px
  }
  .c-archive02__tit {
    padding-left: 30px;
    font-size: 1.6rem
  }
  .c-archive02__tit:before {
    top: 3px;
    width: 20px;
    height: 20px
  }
  .c-archive02__tit:after {
    left: 6px
  }
  .c-archive02__detail {
    margin-top: 14px;
    font-size: 1.3rem
  }
}

.c-btn01 {
  display: inline-block
}

.c-btn01__link {
  position: relative;
  display: block;
  padding-right: 20px;
  font-size: 1rem;
  text-decoration: none
}

.c-btn01__link:before, .c-btn01__link:after {
  position: absolute;
  content: '';
  display: block;
  top: 50%;
  right: 0;
  width: 15px;
  height: 4px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23222222%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

.c-btn01__link:before {
  opacity: 0;
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23e42c2c%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

@media all and (min-width: 768px) {
  .c-btn01__link {
    font-size: 1.3rem;
    -webkit-transition: color .6s ease;
    transition: color .6s ease
  }
  .c-btn01__link:before, .c-btn01__link:after {
    width: 15px;
    height: 5px;
    -webkit-transition: opacity .6s ease;
    transition: opacity .6s ease
  }
  .c-btn01__link:hover {
    color: #e42c2c
  }
  .c-btn01__link:hover:after {
    opacity: 0
  }
  .c-btn01__link:hover:before {
    opacity: 1
  }
}

.c-btn02 {
  width: 90px;
  text-align: center
}

.c-btn02__link {
  display: block;
  background: #e42c2c;
  color: #fff;
  text-decoration: none
}

.c-btn02__txt {
  position: relative;
  display: block;
  padding: 6px 14px 6px 0;
  box-sizing: border-box;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1.2;
  letter-spacing: 0.16em
}

.c-btn02__txt:after {
  content: '';
  position: absolute;
  top: 50%;
  margin-top: -2px;
  right: 12px;
  width: 14px;
  height: 5px;
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

@media all and (min-width: 768px) {
  .c-btn02 {
    width: 100px
  }
  .c-btn02__link {
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .c-btn02__link:hover {
    background: #c6000b
  }
  .c-btn02__txt {
    font-size: 1.2rem;
    padding: 9px 16px 8px 0
  }
  .c-btn02__txt:after {
    right: 15px
  }
}

.c-btn02-wrap {
  display: block;
  text-decoration: none
}

.c-btn02-wrap .c-btn02 {
  background: #e42c2c;
  color: #fff
}

@media all and (min-width: 768px) {
  .c-btn02-wrap:hover .c-btn02 {
    background: #c6000b
  }
  .c-btn02-wrap .c-btn02 {
    font-size: 1.2rem;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
}

.c-btn03 {
  max-width: 280px;
  margin: 30px auto 0;
  text-align: center
}

.c-btn03__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 50px;
  padding: 14px 50px 15px;
  box-shadow: 0px 5px 10px rgba(34, 34, 34, 0.1);
  text-decoration: none;
  box-sizing: border-box
}

.c-btn03__link:after {
  content: '';
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 20px;
  width: 21px;
  height: 6px;
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23e42c2c%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

.c-btn03__txt {
  display: inline-block;
  font-weight: 700;
  line-height: 1.5
}

@media all and (min-width: 768px) {
  .c-btn03 {
    max-width: 300px
  }
  .c-btn03__link {
    min-height: 60px;
    padding: 19px 50px 21px;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .c-btn03__link:hover {
    box-shadow: 0px 3px 5px rgba(34, 34, 34, 0.1);
    color: #e42c2c
  }
}

.c-color-red {
  color: #e42c2c
}

.c-cv01 {
  background: url(../img/common/bg_cv01.jpg) no-repeat 50% 0/cover;
  letter-spacing: .06em
}

.c-cv01__inner {
  padding-top: 30px
}

.c-cv01__txt {
  text-align: center;
  color: #fff;
  font-size: 1.3rem;
  line-height: 2.35
}

.c-cv01__area-btn {
  position: relative;
  bottom: -27px;
  padding: 25px;
  background: #fff;
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.1);
  z-index: 1
}

.c-cv01-btn__link {
  position: relative;
  display: block;
  padding: 14px 0;
  text-align: center;
  background: #e42c2c;
  font-size: 1.4rem;
  color: #fff;
  text-decoration: none;
  letter-spacing: .16em
}

.c-cv01-btn__link:after {
  position: absolute;
  content: '';
  display: block;
  top: 50%;
  right: 20px;
  width: 21px;
  height: 6px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

@media all and (min-width: 768px) {
  .c-cv01__inner {
    padding-top: 60px
  }
  .c-cv01__txt {
    font-size: 1.5rem;
    margin-bottom: -8px
  }
  .c-cv01__area-btn {
    width: 900px;
    margin: auto;
    padding: 44px;
    bottom: -58px;
    box-shadow: 0px 10px 50px 0px rgba(0, 0, 0, 0.1);
    box-sizing: border-box
  }
  .c-cv01-btn {
    max-width: 390px;
    margin: auto
  }
  .c-cv01-btn__link {
    padding: 26px 0;
    font-size: 1.6rem
  }
  .c-cv01-btn__link:after {
    margin-top: 1px
  }
  .c-cv01-btn__link:before {
    position: absolute;
    content: '';
    z-index: 0;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: -webkit-gradient(linear, left top, right top, from(#ff7937), to(#f53e38));
    background-image: linear-gradient(90deg, #ff7937 0%, #f53e38 100%);
    opacity: 0;
    -webkit-transition: opacity .6s ease;
    transition: opacity .6s ease
  }
  .c-cv01-btn__link:hover:before {
    opacity: 1
  }
  .c-cv01-btn__link-txt {
    position: relative;
    z-index: 1
  }
}

.c-form01 {
  border-top: 1px solid #e42c2c
}

.c-form01__label {
  margin-left: 15px;
  color: #e42c2c
}

.c-form01 input[type="text"], .c-form01 input[type="tel"], .c-form01 input[type="number"], .c-form01 input[type="email"], .c-form01 button, .c-form01 select, .c-form01 textarea {
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  display: block;
  width: 100%;
  max-width: 785px;
  height: 52px;
  padding: 12px 15px;
  margin: 0;
  background: #fff;
  font-size: 1.6rem;
  font-family: inherit;
  box-sizing: border-box
}

.c-form01 input[type="text"]::-webkit-input-placeholder, .c-form01 input[type="tel"]::-webkit-input-placeholder, .c-form01 input[type="number"]::-webkit-input-placeholder, .c-form01 input[type="email"]::-webkit-input-placeholder, .c-form01 button::-webkit-input-placeholder, .c-form01 select::-webkit-input-placeholder, .c-form01 textarea::-webkit-input-placeholder {
  color: #888
}

.c-form01 input[type="text"]:-ms-input-placeholder, .c-form01 input[type="tel"]:-ms-input-placeholder, .c-form01 input[type="number"]:-ms-input-placeholder, .c-form01 input[type="email"]:-ms-input-placeholder, .c-form01 button:-ms-input-placeholder, .c-form01 select:-ms-input-placeholder, .c-form01 textarea:-ms-input-placeholder {
  color: #888
}

.c-form01 input[type="text"]::placeholder, .c-form01 input[type="tel"]::placeholder, .c-form01 input[type="number"]::placeholder, .c-form01 input[type="email"]::placeholder, .c-form01 button::placeholder, .c-form01 select::placeholder, .c-form01 textarea::placeholder {
  color: #888
}

.c-form01 input[type="text"], .c-form01 input[type="tel"], .c-form01 input[type="number"], .c-form01 input[type="email"], .c-form01 textarea {
  border: 2px solid #ddd
}

.c-form01 input[name="your-zip"] {
  max-width: 759px
}

.c-form01 button {
  cursor: pointer
}

.c-form01 textarea {
  height: 156px;
  resize: vertical
}

.c-form01__postcode {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.c-form01__postcode-prefix {
  padding-top: 15px;
  max-width: 26px;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 26px;
  flex: 0 0 26px
}

.c-form01__postcode-input {
  width: calc(100% - 26px)
}

.c-form01__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -15px
}

.c-form01__flex-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 50%;
  padding: 15px 0 0 0;
  box-sizing: border-box
}

.c-form01__flex-prefix {
  margin-right: 0.5em
}

.c-form01__flex-suffix {
  margin-left: 0.5em
}

.c-form01__flex-input {
  max-width: 75px
}

.c-form01__txt {
  margin-top: 15px;
  line-height: 2.4
}

.c-form01__area-btn .c-form01__btn, .c-form01__area-btn button, .c-form01__area-btn input {
  max-width: 280px;
  margin: 10px auto 0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 50px;
  padding: 14px 50px 15px;
  box-shadow: 0px 5px 10px rgba(34, 34, 34, 0.1);
  text-decoration: none;
  box-sizing: border-box;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.5
}

.c-form01__area-btn .c-form01__btn:after, .c-form01__area-btn button:after, .c-form01__area-btn input:after {
  content: '';
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 20px;
  width: 21px;
  height: 6px;
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23e42c2c%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

.c-form01__area-btn .c-form01__btn.is-back, .c-form01__area-btn button.is-back, .c-form01__area-btn input.is-back {
  background: rgba(242, 242, 242, 0.4)
}

.c-form01__area-btn .c-form01__btn.is-back:after, .c-form01__area-btn button.is-back:after, .c-form01__area-btn input.is-back:after {
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23888%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A");
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
  right: auto;
  left: 20px
}

.c-form01 .error {
  width: 100%;
  margin-top: 5px
}

@media all and (min-width: 768px) {
  .c-form01 textarea {
    height: 150px
  }
  .c-form01 textarea.is-large-pc {
    height: 250px
  }
  .c-form01__sub {
    display: block;
    font-size: 1.6rem
  }
  .c-form01__label {
    position: absolute;
    right: 40px
  }
  .c-form01__flex-item {
    width: 33%
  }
  .c-form01__flex-input {
    max-width: 120px
  }
  .c-form01__area-btn {
    padding-top: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
  .c-form01__area-btn .c-form01__btn, .c-form01__area-btn button, .c-form01__area-btn input {
    max-width: 300px;
    margin: 20px 10px 0;
    min-height: 60px;
    font-size: 1.6rem;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .c-form01__area-btn .c-form01__btn:hover, .c-form01__area-btn button:hover, .c-form01__area-btn input:hover {
    box-shadow: 0px 3px 5px rgba(34, 34, 34, 0.1);
    color: #e42c2c
  }
}

.c-form01 .mwform-radio-field {
  display: inline-block;
  margin: 15px 25px 0 0
}

.c-form01 .mwform-radio-field:last-of-type {
  margin-right: 0
}

.c-form01 .mwform-radio-field label {
  display: block
}

.c-form01 .mwform-radio-field input {
  display: none
}

.c-form01 .mwform-radio-field .mwform-radio-field-text {
  position: relative;
  display: block;
  padding-left: 28px
}

.c-form01 .mwform-radio-field .mwform-radio-field-text:before {
  box-sizing: border-box;
  position: absolute;
  top: 3px;
  left: 0;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border: 2px solid #ddd;
  background: #fff;
  border-radius: 50%
}

.c-form01 .mwform-radio-field input:checked+.mwform-radio-field-text:after {
  box-sizing: border-box;
  position: absolute;
  top: 8px;
  left: 5px;
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #e42c2c
}

.c-form01 .mwform-checkbox-field {
  display: inline-block;
  margin: 15px 25px 0 0
}

.c-form01 .mwform-checkbox-field:last-of-type {
  margin-right: 0
}

.c-form01 .mwform-checkbox-field label {
  display: block
}

.c-form01 .mwform-checkbox-field input {
  display: none
}

.c-form01 .mwform-checkbox-field .mwform-checkbox-field-text {
  position: relative;
  display: block;
  padding-left: 32px
}

.c-form01 .mwform-checkbox-field .mwform-checkbox-field-text:before {
  box-sizing: border-box;
  position: absolute;
  top: 2px;
  left: 0;
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  border: 2px solid #ddd;
  background: #fff
}

.c-form01 .mwform-checkbox-field input:checked+.mwform-checkbox-field-text:after {
  position: absolute;
  top: 2px;
  left: 6px;
  content: "";
  display: block;
  width: 16px;
  height: 10px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #e42c2c;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg)
}

.c-form01-sec {
  padding: 25px 25px 0;
  background: rgba(242, 242, 242, 0.4)
}

.c-form01-sec+.c-form01-sec {
  margin-top: 30px
}

@media all and (min-width: 768px) {
  .c-form01-sec {
    padding: 60px
  }
  .c-form01-sec .c-form01-sec__head {
    margin-bottom: 15px
  }
}

.c-form01-table th, .c-form01-table td {
  position: relative;
  line-height: 1.6;
  box-sizing: border-box
}

.c-form01-table th {
  font-weight: 700
}

.c-form01-table th label {
  font-weight: inherit
}

.c-form01-table td {
  vertical-align: middle
}

.c-form01-table .c-form01-table__info.has-no-border th, .c-form01-table .c-form01-table__info.has-no-border td {
  border-bottom: none
}

@media all and (max-width: 767px) {
  .c-form01-table.has-border th {
    padding: 20px 0
  }
  .c-form01-table.has-border td {
    padding: 0 0 20px 0;
    border-bottom: 1px solid #ddd
  }
  .c-form01-table.has-border tr:last-of-type td {
    border-bottom: none
  }
  .c-form01-table.has-border .c-form01-table__agree th {
    padding: 0
  }
  .c-form01-table tbody, .c-form01-table tr, .c-form01-table th, .c-form01-table td {
    display: block;
    box-sizing: border-box;
    width: 100%
  }
  .c-form01-table th {
    padding: 0 0 20px 0
  }
  .c-form01-table td {
    padding: 0 0 30px 0
  }
}

@media all and (min-width: 768px) {
  .c-form01-table.has-border th, .c-form01-table.has-border td {
    border-bottom: 1px solid #ddd
  }
  .c-form01-table.has-border th {
    width: 255px;
    padding: 30px 0 30px 60px
  }
  .c-form01-table.has-border td {
    padding: 30px 60px 30px 0
  }
  .c-form01-table.has-border .c-form01-table__info th, .c-form01-table.has-border .c-form01-table__info td {
    padding-bottom: 0;
    border-bottom: none
  }
  .c-form01-table th, .c-form01-table td {
    padding: 20px 0 20px 0;
    vertical-align: middle
  }
  .c-form01-table th {
    width: 195px;
    font-size: 2rem;
    overflow: hidden
  }
  .c-form01-table th label {
    display: inline-block
  }
  .c-form01-table th label.has-sub+.c-form01__label {
    margin-top: 0.6em
  }
  .c-form01-table tr:last-of-type th, .c-form01-table tr:last-of-type td {
    border-bottom: none
  }
}

.c-form01-privacy__box {
  padding: 15px 25px 0 25px;
  height: 180px;
  border: 2px solid #ddd;
  overflow-y: scroll;
  box-sizing: border-box
}

.c-form01-privacy__tit {
  margin-top: 2em;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.5
}

.c-form01-privacy__sub {
  margin-top: 1em;
  font-weight: 700;
  line-height: 1.5
}

.c-form01-privacy__txt {
  margin-top: 0.5em;
  line-height: 2.4
}

.c-form01-privacy__txt a {
  color: #c6000b
}

.c-form01-privacy__agree .mwform-checkbox-field .mwform-checkbox-field-text:before {
  top: 50%;
  margin-top: -11px
}

.c-form01-privacy__agree .mwform-checkbox-field input:checked+.mwform-checkbox-field-text:after {
  top: 50%;
  margin-top: -11px
}

@media all and (min-width: 768px) {
  .c-form01-privacy__box {
    padding: 15px 30px 0 30px;
    height: 170px;
    font-size: 1.4rem
  }
  .c-form01-privacy__tit {
    font-size: 1.5rem
  }
  .c-form01-privacy__agree {
    padding-top: 5px
  }
}

.c-form01-agree .mwform-checkbox-field {
  margin-top: 0
}

.c-form01-agree .mwform-checkbox-field .mwform-checkbox-field-text:before {
  top: 50%;
  margin-top: -11px
}

.c-form01-agree .mwform-checkbox-field input:checked+.mwform-checkbox-field-text:after {
  top: 50%;
  margin-top: -11px
}

.mw_wp_form_confirm .c-form01__postcode, .mw_wp_form_preview .c-form01__postcode {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.mw_wp_form_confirm .c-form01__postcode-prefix, .mw_wp_form_preview .c-form01__postcode-prefix {
  padding-top: 0
}

@media all and (min-width: 768px) {
  .c-form01-thanks {
    text-align: center
  }
}

.c-head01__en {
  font-size: 4rem;
  line-height: 1;
  color: #e42c2c
}

.c-head01__ja {
  margin-top: 3px;
  font-weight: 700;
  font-size: 1.2rem
}

.c-head01__lead {
  margin-top: 15px;
  line-height: 2.4
}

@media all and (min-width: 768px) {
  .c-head01__en {
    font-size: 6rem
  }
  .c-head01__ja {
    margin-top: 8px;
    font-size: 1.4rem
  }
}

.c-head02 {
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 20px;
  font-size: 1.8rem;
  line-height: 1.5;
  border-bottom: 1px solid #ddd;
  letter-spacing: .06em
}

.c-head02:after {
  position: absolute;
  content: '';
  display: block;
  bottom: -1px;
  left: 0;
  width: 64px;
  height: 1px;
  background: #e42c2c
}

@media all and (min-width: 768px) {
  .c-head02 {
    margin-bottom: 40px;
    padding-bottom: 18px;
    font-size: 2.6rem;
    letter-spacing: 0.12em
  }
  .c-head02:after {
    width: 110px
  }
  .c-head02.is-small-pc {
    font-size: 2rem;
    padding-bottom: 13px
  }
}

.c-head03 {
  line-height: 1.5;
  position: relative;
  margin-bottom: 25px;
  padding-bottom: 13px;
  box-sizing: border-box;
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: .06em
}

.c-head03:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40px;
  height: 2px;
  background: -webkit-gradient(linear, left top, right top, from(#c6000b), color-stop(50%, #c6000b), color-stop(50%, #e42c2c), to(#e42c2c));
  background: linear-gradient(90deg, #c6000b 0%, #c6000b 50%, #e42c2c 50%, #e42c2c 100%)
}

.c-head03.is-center {
  text-align: center
}

.c-head03.is-center:before {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%)
}

.c-head03.is-big {
  margin-bottom: 30px;
  padding-bottom: 20px;
  font-size: 2.3rem
}

.c-head03.is-big:before {
  width: 60px
}

@media all and (min-width: 768px) {
  .c-head03 {
    margin-bottom: 38px;
    padding-bottom: 22px;
    font-size: 2.8rem;
    letter-spacing: .12em
  }
  .c-head03.is-big {
    margin-bottom: 50px;
    padding-bottom: 25px;
    font-size: 3.6rem
  }
}

.c-list01 {
  counter-reset: number 0
}

.c-list01__item {
  counter-increment: number 1;
  position: relative;
  margin-bottom: 3px;
  padding-left: 1em;
  box-sizing: border-box
}

.c-list01__item:before {
  content: counter(number) ".";
  position: absolute;
  top: 0;
  left: 0
}

@media all and (min-width: 768px) {
  .c-list01__item {
    margin-bottom: 0;
    padding-left: 1.15em
  }
}

.c-pager01 {
  margin: 32px -20px 0;
  text-align: center;
  letter-spacing: -.5em
}

.c-pager01 li {
  display: inline-block;
  margin: 0 4px 8px;
  letter-spacing: 0
}

@media all and (max-width: 360px) {
  .c-pager01 li {
    margin: 0 1px 8px
  }
}

.c-pager01 li a, .c-pager01 li span {
  display: block;
  width: 40px;
  height: 40px;
  box-sizing: border-box;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.6rem
}

.c-pager01 li.current span {
  color: #fff;
  background: #e42c2c
}

.c-pager01 li.previous a, .c-pager01 li.next a {
  position: relative;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden
}

.c-pager01 li.previous a:before, .c-pager01 li.next a:before {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 21px;
  height: 6px;
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23222222%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

.c-pager01 li.previous a:before {
  right: auto;
  left: 0;
  -webkit-transform: translateY(-50%) scaleX(-1);
  -ms-transform: translateY(-50%) scaleX(-1);
  transform: translateY(-50%) scaleX(-1)
}

@media all and (min-width: 768px) {
  .c-pager01 {
    margin: 72px 0 0
  }
  .c-pager01 li {
    margin: 0 1px 2px
  }
  .c-pager01 li a {
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .c-pager01 li a:hover {
    background: #e42c2c;
    color: #fff
  }
  .c-pager01 li.previous a:hover, .c-pager01 li.next a:hover {
    background: none
  }
  .c-pager01 li.previous a:hover:before, .c-pager01 li.next a:hover:before {
    background-position: 100% 50%;
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23e42c2c%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
  }
  .c-pager01 li.previous {
    margin-right: 12px
  }
  .c-pager01 li.next {
    margin-left: 12px
  }
  .c-pager01 li.page_nums {
    margin-left: 15px
  }
  .c-pager01 li.page_nums span {
    width: auto
  }
}

.c-pager02 {
  position: relative;
  margin-top: 24px;
  text-align: center
}

.c-pager02__previous, .c-pager02__next, .c-pager02__all {
  height: 38px
}

.c-pager02__previous a, .c-pager02__next a, .c-pager02__all a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  text-decoration: none
}

.c-pager02__all {
  width: 75px;
  margin: 0 auto
}

.c-pager02__all a {
  padding-top: 5px;
  font-size: 1.6rem
}

.c-pager02__previous, .c-pager02__next {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 38px
}

.c-pager02__previous a:before, .c-pager02__next a:before {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 21px;
  height: 6px;
  margin-top: -3px;
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23222222%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

.c-pager02__previous {
  right: auto;
  left: 0
}

.c-pager02__previous a:before {
  right: auto;
  left: 0;
  -webkit-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  transform: scaleX(-1)
}

@media all and (min-width: 768px) {
  .c-pager02 {
    max-width: 338px;
    width: 100%;
    margin: 62px auto 0
  }
  .c-pager02__previous a, .c-pager02__next a, .c-pager02__all a {
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .c-pager02__previous a:hover, .c-pager02__next a:hover, .c-pager02__all a:hover {
    color: #e42c2c
  }
  .c-pager02__all {
    width: 90px;
    font-weight: 700
  }
  .c-pager02__previous a:hover:before, .c-pager02__next a:hover:before {
    background-position: 100% 50%;
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23e42c2c%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
  }
}

.c-related01__inner {
  padding-bottom: 60px
}

.c-related01__head {
  text-align: center;
  color: #e42c2c;
  font-size: 2.4rem;
  letter-spacing: 0.03em
}

.c-related01__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 12px
}

.c-related01__list.has-border {
  margin-top: 0
}

.c-related01__list.has-border:before {
  display: block;
  content: '';
  width: 100%;
  height: 1px;
  margin-bottom: 60px;
  background: #ddd
}

.c-related01-btn {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc( 50% - 7.5px);
  flex: 0 0 calc( 50% - 7.5px)
}

@media all and (max-width: 767px) {
  .c-related01-btn:nth-of-type(even) {
    margin-left: 15px
  }
  .c-related01-btn:nth-of-type(n+3) {
    margin-top: 10px
  }
}

.c-related01-btn.is-current .c-related01-btn__link {
  background: #f2f2f2;
  box-shadow: none
}

.c-related01-btn.is-current .c-related01-btn__num {
  color: #fff
}

.c-related01-btn__link {
  position: relative;
  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;
  padding: 0 15px 0 20px;
  height: 120px;
  background: #fff;
  box-shadow: 0 5px 10px rgba(34, 34, 34, 0.1);
  box-sizing: border-box;
  text-decoration: none
}

.c-related01-btn__txt {
  position: relative;
  padding-left: 24px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  word-break: break-all
}

.c-related01-btn__txt:before, .c-related01-btn__txt:after {
  position: absolute;
  content: '';
  display: block
}

.c-related01-btn__txt:before {
  z-index: 0;
  top: 50%;
  left: 0;
  width: 15px;
  height: 15px;
  margin-top: -7px;
  background: #e42c2c
}

.c-related01-btn__txt:after {
  top: 50%;
  left: 4px;
  width: 4px;
  height: 4px;
  margin-top: -2px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.c-related01-btn__num {
  position: absolute;
  right: 8px;
  bottom: 5px;
  line-height: 1;
  color: #f2f2f2;
  font-size: 2.4rem;
  pointer-events: none
}

.c-related01__list.has-border {
  margin-top: 0
}

.c-related01__list.has-border:before {
  display: block;
  content: '';
  width: 100%;
  height: 1px;
  margin-bottom: 60px;
  background: #ddd
}

@media all and (max-width: 360px) {
  .c-related01-btn__link {
    padding: 0 10px
  }
  .c-related01-btn__txt {
    font-size: 1.3rem;
    line-height: 1.5
  }
}

@media all and (min-width: 768px) {
  .c-related01__inner {
    padding-bottom: 140px
  }
  .c-related01__head {
    margin-bottom: 10px;
    font-size: 2.8rem;
    letter-spacing: .06em
  }
  .c-related01__head.is-large-pc {
    margin-bottom: 30px;
    font-size: 3.2rem
  }
  .c-related01__list {
    margin-top: 0
  }
  .c-related01-btn {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 260px;
    flex: 0 0 260px;
    margin-right: 20px
  }
  .c-related01-btn:nth-of-type(4n) {
    margin-right: 0
  }
  .c-related01-btn:nth-of-type(n+5) {
    margin-top: 20px
  }
  .c-related01-btn__link {
    padding: 0 28px;
    height: 110px;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .c-related01-btn__link:hover {
    box-shadow: 0px 3px 5px rgba(34, 34, 34, 0.1)
  }
  .c-related01-btn__link:hover .c-related01-btn__txt {
    color: #e42c2c
  }
  .c-related01-btn__txt {
    padding-left: 32px;
    -webkit-transition: color .6s ease;
    transition: color .6s ease
  }
  .c-related01-btn__txt:before {
    width: 20px;
    height: 20px;
    margin-top: -9px
  }
  .c-related01-btn__txt:after {
    left: 7px
  }
  .c-related01-btn__num {
    font-size: 2.8rem
  }
  .c-related01__list.is-column3-pc .c-related01-btn {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 352px;
    flex: 0 0 352px;
    margin-right: 22px
  }
  .c-related01__list.is-column3-pc .c-related01-btn:nth-of-type(3n) {
    margin-right: 0
  }
  .c-related01__list.is-column3-pc .c-related01-btn:nth-of-type(n+4) {
    margin-top: 22px
  }
  .c-related01__list.has-border:before {
    margin-bottom: 120px;
    background: #ddd
  }
}

.c-related02-projects__inner {
  padding-bottom: 60px
}

@media all and (min-width: 768px) {
  .c-related02-projects__inner {
    padding-bottom: 140px
  }
  .c-related02-projects__btn {
    margin-top: 60px
  }
}

.c-single01__inner {
  padding-top: 60px;
  padding-bottom: 52px
}

.c-single01-wrap {
  padding: 30px 24px 24px;
  border: 1px solid #ddd;
  box-sizing: border-box
}

.c-single01-header {
  margin-bottom: 18px
}

.c-single01-meta {
  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
}

.c-single01__date {
  margin: 0 10px 8px 0;
  color: #888;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: .03em
}

.c-single01__cat {
  line-height: 1.2;
  display: inline-block;
  min-width: 77px;
  margin-bottom: 8px;
  padding: 3px 11px;
  border: 1px solid #e42c2c;
  box-sizing: border-box;
  background: #fff;
  color: #e42c2c;
  font-size: 1.2rem;
  text-align: center
}

.c-single01__cat.is-red {
  background: #e42c2c;
  color: #fff
}

.c-single01__head {
  line-height: 1.6;
  position: relative;
  padding-bottom: 13px;
  box-sizing: border-box;
  font-weight: 500;
  font-size: 1.8rem
}

.c-single01__head:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40px;
  height: 2px;
  background: -webkit-gradient(linear, left top, right top, from(#c6000b), color-stop(50%, #c6000b), color-stop(50%, #e42c2c), to(#e42c2c));
  background: linear-gradient(90deg, #c6000b 0%, #c6000b 50%, #e42c2c 50%, #e42c2c 100%)
}

.c-single01-content {
  margin-bottom: 30px;
  overflow: hidden
}

.c-single01-content>*:first-child {
  margin-top: 0
}

.c-single01-content>*:last-child {
  margin-bottom: 0
}

.c-single01-content h1, .c-single01-content h2, .c-single01-content h3, .c-single01-content h4, .c-single01-content h5, .c-single01-content h6 {
  margin: 20px 0 10px;
  font-weight: 700;
  font-size: 1.6rem;
  clear: both
}

.c-single01-content p {
  line-height: 2.45;
  margin-bottom: 20px;
  letter-spacing: .03em
}

.c-single01-content strong {
  font-weight: 700
}

.c-single01-content a {
  color: #e42c2c
}

.c-single01-content ul {
  margin-bottom: 20px
}

.c-single01-content ul li {
  position: relative;
  padding-left: 1em;
  box-sizing: border-box
}

.c-single01-content ul li:before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0
}

.c-single01-content ol {
  margin-bottom: 20px;
  counter-reset: number 0
}

.c-single01-content ol li {
  position: relative;
  padding-left: 1em;
  box-sizing: border-box;
  counter-increment: number 1
}

.c-single01-content ol li:before {
  content: counter(number) ".";
  position: absolute;
  top: 0;
  left: 0
}

.c-single01-content img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 20px auto
}

.c-single01__pdf {
  display: inline-block;
  margin-bottom: 4px
}

.c-single01__pdf-link {
  line-height: 1.5;
  position: relative;
  display: block;
  padding: 5px 8px 5px 36px;
  border: 1px solid #e42c2c;
  box-sizing: border-box;
  color: #4B4B4B;
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: .13em;
  text-decoration: none
}

.c-single01__pdf-link:before {
  content: '';
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 8px;
  width: 18px;
  height: 18px;
  background: url(../img/common/ico_pdf01.png) no-repeat 0 0/contain
}

@media all and (min-width: 768px) {
  .c-single01__inner {
    padding-top: 140px;
    padding-bottom: 132px
  }
  .c-single01-wrap {
    padding: 50px 60px 54px
  }
  .c-single01-header {
    margin-bottom: 32px
  }
  .c-single01-meta {
    margin-bottom: 10px
  }
  .c-single01__date {
    margin: 0 42px 8px 0;
    font-size: 1.6rem
  }
  .c-single01__cat {
    min-width: 123px;
    margin-bottom: 8px;
    padding: 5px 11px;
    font-size: 1.5rem
  }
  .c-single01__head {
    padding-bottom: 20px;
    font-size: 2.8rem
  }
  .c-single01-content {
    margin-bottom: 40px
  }
  .c-single01-content h1, .c-single01-content h2, .c-single01-content h3, .c-single01-content h4, .c-single01-content h5, .c-single01-content h6 {
    font-size: 2rem
  }
  .c-single01-content p {
    line-height: 2.35;
    letter-spacing: .06em
  }
  .c-single01-content img.alignright {
    display: inline;
    margin: 22px auto;
    padding-left: 20px;
    float: right
  }
  .c-single01-content img.alignleft {
    display: inline;
    margin: 22px auto;
    padding-right: 30px;
    float: left
  }
  .c-single01-content img, .c-single01-content img.aligncenter {
    display: block;
    margin: 22px auto
  }
  .c-single01__pdf-link {
    padding: 7px 18px 7px 46px;
    font-size: 1.6rem;
    letter-spacing: .05em;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .c-single01__pdf-link:hover {
    color: #e42c2c
  }
  .c-single01__pdf-link:before {
    left: 6px;
    width: 24px;
    height: 24px
  }
}

.c-single02__inner {
  padding-top: 30px;
  padding-bottom: 80px
}

.c-single02-header {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ddd
}

.c-single02-header__meta {
  margin-top: 8px
}

.c-single02__head {
  font-size: 2.2rem;
  font-weight: 700
}

.c-single02-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.c-single02-meta__item {
  margin: 5px 5px 0 0;
  padding: 3px 19px;
  border: 1px solid #e42c2c;
  font-size: 1.2rem;
  line-height: 1;
  color: #e42c2c
}

.c-single02-content+.c-single02-content {
  margin-top: 30px
}

.c-single02-content__area-txt {
  overflow: hidden
}

.c-single02-content__area-txt>*:first-child {
  margin-top: 0
}

.c-single02-content__area-txt>*:last-child {
  margin-bottom: 0
}

.c-single02-content__area-txt h1, .c-single02-content__area-txt h2, .c-single02-content__area-txt h3, .c-single02-content__area-txt h4, .c-single02-content__area-txt h5, .c-single02-content__area-txt h6 {
  margin: 20px 0 10px;
  font-weight: 700;
  font-size: 1.6rem;
  clear: both
}

.c-single02-content__area-txt p {
  line-height: 2.45;
  margin-bottom: 20px;
  letter-spacing: .03em
}

.c-single02-content__area-txt strong {
  font-weight: 700
}

.c-single02-content__area-txt a {
  color: #e42c2c
}

.c-single02-content__area-txt ul {
  margin-bottom: 20px
}

.c-single02-content__area-txt ul li {
  position: relative;
  padding-left: 1em;
  box-sizing: border-box
}

.c-single02-content__area-txt ul li:before {
  content: '・';
  position: absolute;
  top: 0;
  left: 0
}

.c-single02-content__area-txt ol {
  margin-bottom: 20px;
  counter-reset: number 0
}

.c-single02-content__area-txt ol li {
  position: relative;
  padding-left: 1em;
  box-sizing: border-box;
  counter-increment: number 1
}

.c-single02-content__area-txt ol li:before {
  content: counter(number) ".";
  position: absolute;
  top: 0;
  left: 0
}

.c-single02-content__area-txt img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 20px auto
}

.c-single02-detail {
  margin-top: 40px
}

.c-single02-detail__meta {
  margin-top: -5px
}

@media all and (min-width: 768px) {
  .c-single02__inner {
    padding-top: 20px;
    padding-bottom: 120px
  }
  .c-single02-header {
    margin-top: -10px;
    padding-bottom: 20px;
    border-width: 2px
  }
  .c-single02-header__meta {
    margin-top: 0
  }
  .c-single02__head {
    font-size: 2.6rem
  }
  .c-single02-meta__item {
    margin: 8px 8px 0 0;
    padding: 5px 15px;
    font-size: 1.3rem
  }
  .c-single02-content+.c-single02-content {
    margin-top: 60px
  }
  .c-single02-content__area-txt h1, .c-single02-content__area-txt h2, .c-single02-content__area-txt h3, .c-single02-content__area-txt h4, .c-single02-content__area-txt h5, .c-single02-content__area-txt h6 {
    font-size: 2rem
  }
  .c-single02-content__area-txt p {
    line-height: 2.35;
    letter-spacing: .06em
  }
  .c-single02-content__area-txt img.alignright {
    display: inline;
    margin: 22px auto;
    padding-left: 20px;
    float: right
  }
  .c-single02-content__area-txt img.alignleft {
    display: inline;
    margin: 22px auto;
    padding-right: 30px;
    float: left
  }
  .c-single02-content__area-txt img, .c-single02-content__area-txt img.aligncenter {
    display: block;
    margin: 22px auto
  }
  .c-single02-detail {
    margin-top: 70px
  }
  .c-single02-detail th {
    width: 204px !important;
    padding-right: 20px !important
  }
  .c-single02-detail td {
    padding-left: 45px !important
  }
  .c-single02-detail__meta {
    margin-top: -8px
  }
}

.c-slide01 {
  position: relative;
  margin: 30px -10px 0
}

.c-slide01__wrap {
  position: relative;
  padding-bottom: 55px
}

.c-slide01__wrap .slick-arrow {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  margin: 0;
  border-radius: 0;
  outline: none !important;
  border: 1px solid #222;
  background: #fff;
  position: absolute;
  bottom: 0;
  right: 10px;
  width: 40px;
  height: 40px;
  box-sizing: border-box;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 200%
}

.c-slide01__wrap .slick-arrow:before {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  margin: -4px 0 0 -5px;
  border-top: 2px solid #222;
  border-right: 2px solid #222;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.c-slide01__wrap .slick-arrow.slick-prev {
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
  right: 60px
}

.c-slide01__item {
  border: 1px solid #ddd;
  margin: 0 10px
}

.c-slide01__item img {
  margin: 0 auto
}

.c-slide01-pager {
  position: absolute;
  bottom: 3px;
  right: 125px;
  line-height: 1
}

.c-slide01-pager__current {
  font-size: 2.2rem;
  font-weight: 700;
  vertical-align: baseline
}

.c-slide01-pager__all {
  font-size: 1.4rem
}

.c-slide01-pager__all:before {
  display: inline-block;
  content: '/';
  margin: 0 5px
}

@media all and (min-width: 768px) {
  .c-slide01 {
    margin-top: 60px
  }
  .c-slide01__wrap {
    padding-bottom: 85px
  }
  .c-slide01__wrap .slick-arrow {
    -webkit-transition: border .6s ease;
    transition: border .6s ease
  }
  .c-slide01__wrap .slick-arrow:before {
    -webkit-transition: border .6s ease;
    transition: border .6s ease
  }
  .c-slide01__wrap .slick-arrow:hover {
    border-color: #e42c2c;
    cursor: pointer
  }
  .c-slide01__wrap .slick-arrow:hover:before {
    border-color: #e42c2c
  }
  .c-slide01__item {
    border-width: 2px
  }
  .c-slide01__item img {
    width: auto
  }
  .c-slide01-pager__current {
    font-size: 2.5rem
  }
  .c-slide01-pager__all {
    font-size: 1.5rem
  }
}

.c-slide01.has-txt .c-slide01__item-img {
  box-sizing: border-box
}

.c-slide01.has-txt .c-slide01__item-area-txt {
  padding-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.c-slide01.has-txt .c-slide01__item-num {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 40px;
  flex: 0 0 40px;
  font-size: 2rem;
  font-weight: 700
}

.c-slide01.has-txt .c-slide01__item-txt {
  padding-left: 15px;
  border-left: 1px solid #ddd;
  box-sizing: border-box;
  line-height: 1.8;
  letter-spacing: .15em
}

@media all and (max-width: 767px) {
  .c-slide01.has-txt .c-slide01__item {
    border: none
  }
  .c-slide01.has-txt .c-slide01__item-img {
    display: table-cell;
    vertical-align: middle;
    height: 190px;
    padding: 15px 0;
    border: 1px solid #ddd
  }
  .c-slide01.has-txt .c-slide01__item-txt {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 calc(100% - 45px);
    flex: 0 0 calc(100% - 45px)
  }
}

@media all and (min-width: 768px) {
  .c-slide01.has-txt .c-slide01__item {
    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-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 620px
  }
  .c-slide01.has-txt .c-slide01__item-img {
    display: block;
    width: 100%;
    height: auto;
    padding: 0
  }
  .c-slide01.has-txt .c-slide01__item-area-txt {
    max-width: 824px;
    width: 100%;
    margin: 0 auto;
    padding-top: 60px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
  .c-slide01.has-txt .c-slide01__item-num {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 60px;
    flex: 0 0 60px;
    font-size: 2.5rem
  }
  .c-slide01.has-txt .c-slide01__item-txt {
    padding-left: 30px;
    font-size: 1.6rem;
    letter-spacing: .12em;
    line-height: 2.2
  }
}

.c-tab01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.c-tab01__item {
  margin-right: 5px;
  padding: 5px 10px
}

.c-tab01__item.is-active {
  background: #333;
  color: #fff
}

.c-table01 table {
  border-top: 1px solid #e42c2c
}

.c-table01 th, .c-table01 td {
  padding: 15px;
  line-height: 1.6
}

.c-table01 th {
  background: rgba(242, 242, 242, 0.4);
  font-weight: 700;
  width: 80px
}

.c-table01 td {
  vertical-align: middle
}

.c-table01__note {
  margin-top: 10px;
  color: #888;
  font-size: 1.3rem
}

@media all and (max-width: 767px) {
  .c-table01 table, .c-table01 tbody, .c-table01 tr, .c-table01 th, .c-table01 td {
    display: block;
    box-sizing: border-box;
    width: 100%
  }
  .c-table01 td {
    border-bottom: 1px solid #ddd
  }
}

@media all and (min-width: 768px) {
  .c-table01 th, .c-table01 td {
    box-sizing: border-box;
    border-bottom: 1px solid #ddd
  }
  .c-table01 th {
    padding: 29px 50px 30px;
    width: 320px
  }
  .c-table01 td {
    padding: 29px 60px 30px
  }
  .c-table01__note {
    margin-top: 20px;
    font-size: 1.4rem
  }
}

.c-toggle-tit01 {
  position: relative;
  padding: 10px 50px 10px 15px;
  background: #222;
  color: #fff
}

.c-toggle-tit01:before, .c-toggle-tit01:after {
  position: absolute;
  top: 50%;
  right: 15px;
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  margin-top: -1px;
  background: #fff;
  -webkit-transition: all .6s ease;
  transition: all .6s ease
}

.c-toggle-tit01:before {
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg)
}

.c-toggle-tit01.is-active:before {
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0)
}

.c-video01 {
  position: relative
}

.c-video01 video {
  position: relative;
  width: 100%;
  height: auto
}

.c-video01-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px 0 0 -20px;
  border-radius: 50%;
  background: #e42c2c;
  z-index: 2;
  pointer-events: all;
  -webkit-transition: opacity .6s ease;
  transition: opacity .6s ease
}

.c-video01-btn.is-active {
  opacity: 0
}

.c-video01-btn.is-hidden {
  display: none
}

.c-video01-btn:after {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  margin: -7px 0 0 -5px;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 7px 0 7px 12px;
  z-index: 3;
  pointer-events: none
}

@media all and (min-width: 768px) {
  .c-video01-btn {
    width: 80px;
    height: 80px;
    margin: -40px 0 0 -40px;
    cursor: pointer
  }
  .c-video01-btn:after {
    margin: -14px 0 0 -10px;
    border-width: 14px 0 14px 24px
  }
}

.l-breadcrumb .breadcrumb-list {
  padding: 14px 0
}

.l-breadcrumb .breadcrumb-list__item {
  display: inline-block;
  font-size: 1.3rem
}

.l-breadcrumb .breadcrumb-list__item+.breadcrumb-list__item {
  padding-left: 5px
}

.l-breadcrumb .breadcrumb-list__item+.breadcrumb-list__item:before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 8px;
  height: 1px;
  margin: 0 8px 4px 0;
  background: #ddd
}

.l-breadcrumb .breadcrumb-list__link {
  color: #e42c2c;
  text-decoration: none
}

.l-breadcrumb.is-right-pc {
  text-align: right
}

.l-footer {
  position: relative;
  letter-spacing: .06em
}

.l-footer__inner {
  padding-top: 67px;
  padding-bottom: 20px
}

.l-footer__area-nav {
  margin-top: 4px
}

@media all and (min-width: 768px) {
  .l-footer__inner {
    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: 145px 0 0
  }
  .l-footer__area-nav {
    -webkit-box-flex: 2;
    -ms-flex: 2 0 50%;
    flex: 2 0 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: -8px
  }
}

.l-footer-info {
  margin: 0 auto 0 0;
  text-align: center
}

.l-footer-info__logo {
  width: 223px;
  margin: auto
}

.l-footer-info__logo-link {
  display: block
}

.l-footer-info__address {
  margin-top: 12px;
  font-size: 1.1rem;
  line-height: 2.2;
  color: #444
}

.l-footer-info__searche {
  margin-top: 12px;
  width: 200px;
  margin: auto
}

@media all and (min-width: 768px) {
  .l-footer-info {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
  }
  .l-footer-info__logo {
    width: 272px;
    margin: 0
  }
  .l-footer-info__address {
    margin-top: 25px;
    text-align: left;
    font-size: 1.3rem
  }

  .l-footer-info__searche {
    margin-top: 25px;
    text-align: left;
    width: 272px;
    margin: 0
  }
}

.l-footer-nav__link {
  display: block;
  text-decoration: none;
  font-size: 1.3rem;
  font-weight: 700
}

.l-footer-nav-child__link {
  position: relative;
  display: block;
  padding: 11px 0 11px 11px;
  text-decoration: none;
  color: #888;
  font-size: 1.1rem
}

.l-footer-nav-child__link:before {
  position: absolute;
  content: '';
  display: block;
  top: 50%;
  left: 0;
  width: 9px;
  height: 1px;
  background: #888;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.l-footer-nav-sub {
  margin: 0 -20px;
  padding-top: 10px
}

.l-footer-nav-sub__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 12px
}

.l-footer-nav-sub__item+.l-footer-nav-sub__item {
  margin-left: 18px
}

.l-footer-nav-sub__link {
  display: block;
  padding: 2px 0;
  color: #888;
  font-size: 1.2rem;
  text-decoration: none
}

@media all and (max-width: 767px) {
  .l-footer-nav__item.has-child .l-footer-nav__link {
    padding-top: 10px;
    margin-bottom: -5px
  }
  .l-footer-nav__item:not(.has-child) .l-footer-nav__link {
    padding: 10px 0;
    border-bottom: 1px solid #ddd
  }
  .l-footer-nav:last-of-type .l-footer-nav__item:last-of-type .l-footer-nav__link {
    border: 0
  }
  .l-footer-nav-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .l-footer-nav-child__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 calc((100% - 16px) / 2);
    flex: 0 0 calc((100% - 16px) / 2);
    border-bottom: 1px solid #ddd
  }
  .l-footer-nav-child__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    line-height: 1.5
  }
  .l-footer-nav-sub__list {
    border-top: 1px solid #ddd
  }
}

@media all and (min-width: 768px) {
  .l-footer-nav {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto
  }
  .l-footer-nav+.l-footer-nav {
    margin-left: 65px
  }
  .l-footer-nav__link {
    padding: 4px 0;
    font-weight: 400;
    font-size: 1.4rem;
    -webkit-transition: color .6s ease;
    transition: color .6s ease
  }
  .l-footer-nav__link:hover {
    color: #e42c2c
  }
  .l-footer-nav-child__link {
    padding: 3px 0 3px 20px;
    font-size: 1.3rem;
    line-height: 1.8;
    -webkit-transition: color .6s ease;
    transition: color .6s ease
  }
  .l-footer-nav-child__link:hover {
    color: #e42c2c
  }
  .l-footer-nav-child__link:hover:before {
    background: #e42c2c
  }
  .l-footer-nav-child__link:before {
    width: 7px;
    -webkit-transition: background .6s ease;
    transition: background .6s ease
  }
  .l-footer-nav-sub {
    position: relative;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    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;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 70px 0 0;
    padding: 23px 0
  }
  .l-footer-nav-sub:before {
    position: absolute;
    content: '';
    display: block;
    top: 0;
    left: -40%;
    right: -40%;
    border-top: 1px solid #ddd
  }
  .l-footer-nav-sub__list {
    -webkit-box-flex: 2;
    -ms-flex: 2 0 500px;
    flex: 2 0 500px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-top: 0
  }
  .l-footer-nav-sub__item+.l-footer-nav-sub__item {
    margin-left: 20px
  }
  .l-footer-nav-sub__link {
    font-size: 1.3rem;
    -webkit-transition: color .6s ease;
    transition: color .6s ease
  }
  .l-footer-nav-sub__link:hover {
    color: #e42c2c
  }
}

.ft-cr {
  color: #888;
  text-align: center;
  font-size: 1.1rem
}

@media all and (min-width: 768px) {
  .ft-cr {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 500px;
    flex: 0 0 500px;
    text-align: right
  }
}

.ft-pagetop {
  position: absolute;
  width: 40px;
  height: 40px;
  right: 10px;
  bottom: 102px
}

.ft-pagetop__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(34, 34, 34, 0.7);
  overflow: hidden
}

.ft-pagetop__link:before {
  position: absolute;
  content: '';
  display: block;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  margin-top: 3px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg)
}

@media all and (min-width: 768px) {
  .ft-pagetop {
    position: absolute;
    height: 0;
    right: 20px;
    width: 60px;
    top: -380px;
    padding: 0
  }
  .ft-pagetop__link {
    width: 60px;
    height: 60px;
    -webkit-transition: background .6s ease;
    transition: background .6s ease
  }
  .ft-pagetop__link:hover {
    background: #222
  }
  .ft-pagetop__link:before {
    margin-top: 3px
  }
}


.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 320px;
  z-index: 2000;
  line-height: 1.8;
  letter-spacing: .06em
}

@media all and (min-width: 768px) {
  .l-header {
    width: 100%;
    min-width: 1100px
  }
}

.l-header .hd-info {
  position: relative;
  z-index: 3;
  height: 60px;
  background: #fff
}

.l-header .hd-info__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.l-header .hd-info__logo {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 173px;
  flex: 0 0 173px
}

.l-header .hd-info-btn {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 60px;
  flex: 0 0 60px;
  height: 60px;
  margin: 0 0 0 auto
}

.l-header .hd-info-btn__link {
  position: relative;
  display: block;
  height: 100%;
  background: #e42c2c;
  color: #fff;
  text-decoration: none;
  box-sizing: border-box
}

.l-header .hd-info-btn__en {
  display: block;
  font-size: 1rem;
  text-align: center;
  -webkit-transform: scale(0.85);
  -ms-transform: scale(0.85);
  transform: scale(0.85);
  -webkit-transform-origin: center top;
  -ms-transform-origin: center top;
  transform-origin: center top;
  line-height: 1;
  text-align: center
}

@media all and (max-width: 767px) {
  .l-header .hd-info__inner {
    padding-left: 10px
  }
  .l-header .hd-info-btn__link {
    padding-top: 38px
  }
  .l-header .hd-info-btn__link:before {
    position: absolute;
    content: '';
    display: block;
    top: 15px;
    left: 50%;
    width: 22px;
    height: 15px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background: url(../img/common/ico_mail01.png) no-repeat 50% 50%/cover
  }
}

@media all and (min-width: 768px) {
  .l-header .hd-info {
    height: 90px
  }
  .l-header .hd-info__inner {
    padding-left: 25px;
    height: 100%
  }
  .l-header .hd-info__logo {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 272px;
    flex: 0 0 272px;
    -webkit-transition: -webkit-box-flex .6s ease;
    transition: -webkit-box-flex .6s ease;
    transition: flex .6s ease;
    transition: flex .6s ease, -webkit-box-flex .6s ease, -ms-flex .6s ease
  }
  .l-header .hd-info-btn {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 140px;
    flex: 0 0 140px;
    height: 90px
  }
  .l-header .hd-info-btn__link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -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;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
  .l-header .hd-info-btn__link:before {
    position: absolute;
    content: '';
    z-index: 0;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: -webkit-gradient(linear, left top, right top, from(#ff7937), to(#f53e38));
    background-image: linear-gradient(90deg, #ff7937 0%, #f53e38 100%);
    opacity: 0;
    -webkit-transition: opacity .6s ease;
    transition: opacity .6s ease
  }
  .l-header .hd-info-btn__link:hover:before {
    opacity: 1
  }
  .l-header .hd-info-btn__en, .l-header .hd-info-btn__ja {
    position: relative;
    z-index: 1
  }
  .l-header .hd-info-btn__en {
    font-size: 1.7rem;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
  }
  .l-header .hd-info-btn__ja {
    margin-top: 2px;
    text-align: center;
    font-size: 1.1rem
  }
}

@media (min-width: 768px) and (max-width: 1330px) {
  .l-header .hd-info__logo {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 200px;
    flex: 0 0 200px
  }
}

.l-header .nav-btn {
  position: relative;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 60px;
  flex: 0 0 60px;
  height: 60px;
  background: #fff;
  cursor: pointer
}

.l-header .nav-btn__line {
  position: absolute;
  left: 20px;
  width: 20px;
  height: 2px;
  content: '';
  background: #222;
  -webkit-transition: all .6s ease;
  transition: all .6s ease
}

.l-header .nav-btn__line:nth-child(1) {
  top: 22px
}

.l-header .nav-btn__line:nth-child(2) {
  top: 30px;
  width: 15px
}

.l-header .nav-btn__line:nth-child(3) {
  top: 38px;
  width: 9px
}

.l-header .nav-btn.is-open .nav-btn__line {
  width: 26px;
  left: 17px
}

.l-header .nav-btn.is-open .nav-btn__line:nth-child(1) {
  top: 29px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.l-header .nav-btn.is-open .nav-btn__line:nth-child(2) {
  opacity: 0
}

.l-header .nav-btn.is-open .nav-btn__line:nth-child(3) {
  top: 29px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

@media all and (min-width: 768px) {
  .l-header .nav-btn {
    width: 100px;
    height: 90px
  }
  .l-header .nav-btn:hover .nav-btn__line {
    width: 30px
  }
  .l-header .nav-btn__line {
    width: 30px;
    left: 35px;
    height: 3px
  }
  .l-header .nav-btn__line:nth-child(1) {
    top: 32px
  }
  .l-header .nav-btn__line:nth-child(2) {
    top: 43px;
    width: 22px
  }
  .l-header .nav-btn__line:nth-child(3) {
    top: 54px;
    width: 14px
  }
  .l-header .nav-btn.is-open {
    background: #c6000b
  }
  .l-header .nav-btn.is-open .nav-btn__line {
    width: 30px;
    left: 37px;
    background: #fff
  }
  .l-header .nav-btn.is-open .nav-btn__line:nth-child(1) {
    top: 43px
  }
  .l-header .nav-btn.is-open .nav-btn__line:nth-child(3) {
    top: 43px
  }
}


.l-nav {
  position: absolute;
  top: 60px;
  left: 0;
  z-index: 3;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch
}

@media all and (max-width: 767px) {
  .l-nav {
    width: 100%;
    max-height: calc(100vh - 60px);
    min-width: 320px;
    padding: 20px 20px 60px;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all .6s ease;
    transition: all .6s ease;
    overflow: auto
  }
  .l-nav::-webkit-scrollbar {
    display: none
  }
  .l-nav.is-open {
    opacity: 1;
    visibility: visible
  }
  .l-nav .nav-list__item+.nav-list__item {
    border-top: 1px solid #ddd
  }
  .l-nav .nav-list__link, .l-nav .nav-list__txt {
    display: block;
    padding: 19px 0;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1;
  }
  .l-nav .nav-list__txt {
    position: relative
  }
  .l-nav .nav-list__txt:after {
    position: absolute;
    content: '';
    display: block;
    top: 50%;
    right: 0;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #e42c2c;
    border-left: 2px solid #e42c2c;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .l-nav .nav-list__txt.is-active:after {
    -webkit-transform: translate(-50%, -50%) rotate(-225deg);
    -ms-transform: translate(-50%, -50%) rotate(-225deg);
    transform: translate(-50%, -50%) rotate(-225deg)
  }
  .l-nav .nav-child-list {
    padding-bottom: 10px
  }
  .l-nav .nav-child-list__link {
    position: relative;
    display: block;
    padding: 10px 0 10px 40px;
    font-weight: 700;
    text-decoration: none
  }
  .l-nav .nav-child-list__link:before {
    position: absolute;
    content: '';
    display: block;
    top: 50%;
    left: 20px;
    width: 7px;
    height: 2px;
    background: #888;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
  }
}

@media all and (min-width: 768px) {
  .l-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    top: 0;
    left: auto;
    right: 5px /*メニューの位置、初期値160*/
  }
  .l-nav .nav-list {
    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
  }
  .l-nav .nav-list__item {
    position: relative
  }
  .l-nav .nav-list__item+.nav-list__item:before {
    position: absolute;
    content: '';
    display: block;
    top: 50%;
    left: 0;
    width: 0px; /*スラッシュの太さ、初期値1*/
    height: 16px;
    background: #888;
    -webkit-transform: translateY(-50%) rotate(20deg);
    -ms-transform: translateY(-50%) rotate(20deg);
    transform: translateY(-50%) rotate(20deg)
  }
  .l-nav .nav-list__link, .l-nav .nav-list__txt {
    position: relative;
    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;
    height: 90px;
    padding: 0 10px;/*スラッシュの太さ、初期値1*/
    text-decoration: none;
    line-height: 1;
    font-size: 1.5rem;
    -webkit-transition: font-size .6s ease;
    transition: font-size .6s ease
  }
  .l-nav .nav-list__link:after, .l-nav .nav-list__txt:after {
    position: absolute;
    bottom: 25px;
    left: 15px;
    right: 15px;
    content: '';
    height: 1px;
    background: #333;
    -webkit-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top;
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease
  }
  .l-nav .nav-list__link:hover:after, .l-nav .nav-list__txt:hover:after {
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1)
  }
  .l-nav .nav-list__txt {
    cursor: default
  }
  .l-nav .nav-list .nav-child-list__wrap {
    position: absolute;
    display: block !important;
    top: 100%;
    left: 0;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.05);
    -webkit-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    transform: translateY(-15px);
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .l-nav .nav-list .nav-child-list__item+.nav-child-list__item {
    border-top: 1px solid #f2f1f2
  }
  .l-nav .nav-list .nav-child-list__link {
    display: block;
    width: 235px;
    padding: 11px 20px;
    text-decoration: none;
    background: #fff;
    font-size: 1.5rem;
    box-sizing: border-box
  }
  .l-nav .nav-list .nav-child-list__link:hover {
    background: #e42c2c;
    color: #fff
  }
  .l-nav .nav-list .nav-list__item:hover .nav-child-list__wrap {
    opacity: 1;
    visibility: visible
  }
  .l-nav .nav-list .nav-list__item:hover .nav-list__txt:after {
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1)
  }
}

@media (min-width: 768px) and (max-width: 1330px) {
  .l-nav {
    right: 5px/*メニューの位置、初期値160*/
  }
  .l-nav .nav-list__link {
    font-size: 1.4rem
  }
}

.nav-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(34, 34, 34, 0.2);
  z-index: 1000
}

@media all and (min-width: 768px) {
  .nav-overlay {
    display: none !important
  }
}

@-webkit-keyframes scrollAnim {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: left top;
    transform-origin: left top
  }
  40% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
  }
  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom
  }
  80% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom
  }
}

@keyframes scrollAnim {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: left top;
    transform-origin: left top
  }
  40% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
  }
  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom
  }
  80% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom
  }
}

.l-main-img {
  height: calc(100vh - 60px);
  letter-spacing: .06em
}

.l-main-img__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  height: 100%
}

.l-main-img__inner .slick-list, .l-main-img__inner .slick-track {
  width: 100%;
  height: 100%
}

.l-main-img__item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.l-main-img__main, .l-main-img__sub {
  position: relative;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc((100vh - 60px - 87px) / 2);
  flex: 0 0 calc((100vh - 60px - 87px) / 2);
  overflow: hidden
}

.l-main-img__main-img, .l-main-img__sub-img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: no-repeat 50% 50% / cover;
  -webkit-transform: scale(1.3);
  -ms-transform: scale(1.3);
  transform: scale(1.3);
  -webkit-transform-origin: right bottom;
  -ms-transform-origin: right bottom;
  transform-origin: right bottom;
  -webkit-transition: -webkit-transform 6s cubic-bezier(0.43, 0.15, 0.17, 1);
  transition: -webkit-transform 6s cubic-bezier(0.43, 0.15, 0.17, 1);
  transition: transform 6s cubic-bezier(0.43, 0.15, 0.17, 1);
  transition: transform 6s cubic-bezier(0.43, 0.15, 0.17, 1), -webkit-transform 6s cubic-bezier(0.43, 0.15, 0.17, 1);
  -webkit-transition-delay: .3s;
  transition-delay: .3s
}

.l-main-img__sub-img {
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1)
}

.l-main-img__item:nth-of-type(1) .l-main-img__main-img {
  background-image: url(../img/home/bg_mainimg_main01.jpg)
}

.l-main-img__item:nth-of-type(1) .l-main-img__sub-img {
  background-image: url(../img/home/bg_mainimg_sub01.jpg)
}

.l-main-img__item:nth-of-type(2) .l-main-img__main-img {
  background-image: url(../img/home/bg_mainimg_main02.jpg)
}

.l-main-img__item:nth-of-type(2) .l-main-img__sub-img {
  background-image: url(../img/home/bg_mainimg_sub02.jpg)
}

.l-main-img__item:nth-of-type(3) .l-main-img__main-img {
  background-image: url(../img/home/bg_mainimg_main03.jpg)
}

.l-main-img__item:nth-of-type(3) .l-main-img__sub-img {
  background-image: url(../img/home/bg_mainimg_sub03.jpg)
}

.l-main-img__copy {
  position: relative;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 87px;
  flex: 0 0 87px;
  background: #f9f9f9
}

.l-main-img__copy-txt {
  position: absolute;
  z-index: 0;
  top: 50%;
  right: 0;
  left: 0;
  margin-top: 15px;
  text-align: center;
  font-size: 3.2rem;
  letter-spacing: .3em;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 0;
  -webkit-transition: opacity 1.2s cubic-bezier(0.43, 0.15, 0.17, 1) 0.6s, margin 1.2s cubic-bezier(0.43, 0.15, 0.17, 1) 0.6s;
  transition: opacity 1.2s cubic-bezier(0.43, 0.15, 0.17, 1) 0.6s, margin 1.2s cubic-bezier(0.43, 0.15, 0.17, 1) 0.6s
}

.l-main-img__item.slick-current:not(.is-start) .l-main-img__copy-txt {
  opacity: 1;
  margin: -3px
}

.l-main-img__item.slick-current:not(.is-start) .l-main-img__main-img, .l-main-img__item.slick-current:not(.is-start) .l-main-img__sub-img {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1)
}

@media all and (max-width: 767px) {
  .l-main-img__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

@media all and (min-width: 768px) {
  .l-main-img {
    position: relative;
    height: calc(100vh - 90px)
  }
  .l-main-img__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    box-sizing: border-box;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
  }
  .l-main-img__main {
    -webkit-box-flex: 2;
    -ms-flex: 2 0 45%;
    flex: 2 0 45%;
    height: 100%
  }
  .l-main-img__main-img {
    -webkit-transform: scale(1.03);
    -ms-transform: scale(1.03);
    transform: scale(1.03);
    -webkit-transition-duration: 4s;
    transition-duration: 4s;
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom
  }
  .l-main-img__sub {
    z-index: 5;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 32%;
    flex: 0 0 32%;
    min-width: 480px;
    height: calc( 100vh - 90px - 37vh)
  }
  .l-main-img__sub-img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
    -webkit-transition-duration: 4s;
    transition-duration: 4s;
    -webkit-transform-origin: right top;
    -ms-transform-origin: right top;
    transform-origin: right top
  }
  .l-main-img__copy {
    position: absolute;
    top: 0;
    left: 0;
    width: 32%;
    min-width: 480px;
    height: 37vh
  }
  .l-main-img__copy-txt {
    margin-top: 20px;
    font-size: 6rem
  }
  .l-main-img-scroll {
    position: absolute;
    z-index: 2;
    left: 35px;
    bottom: 0;
    width: 20px;
    height: 125px
  }
  .l-main-img-scroll__txt {
    display: block;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    color: #fff;
    height: 50px;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase
  }
  .l-main-img-scroll__line {
    position: relative;
    left: 8px;
    margin-top: 10px;
    width: 1px;
    height: 70px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.2)
  }
  .l-main-img-scroll__line:before {
    position: absolute;
    content: '';
    display: block;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background: #fff;
    -webkit-animation: scrollAnim 2.4s cubic-bezier(0.9, 0.1, 0.3, 0.9) infinite;
    animation: scrollAnim 2.4s cubic-bezier(0.9, 0.1, 0.3, 0.9) infinite;
    -webkit-transform: scale(1, 0);
    -ms-transform: scale(1, 0);
    transform: scale(1, 0)
  }
}

.l-sub-img {
  position: relative;
  width: 100%;
  height: 200px;
  padding: 20px;
  box-sizing: border-box;
  letter-spacing: .06em
}

.l-sub-img:before, .l-sub-img:after {
  content: '';
  position: absolute
}

.l-sub-img:before {
  right: 0;
  bottom: 0;
  width: calc(100% - 190px);
  height: 100px;
  background: #f2f2f2;
  z-index: -2
}

.l-sub-img:after {
  top: 20px;
  bottom: 20px;
  left: 20px;
  right: 20px;
  width: auto;
  height: auto;
  background: #fff;
  z-index: -1;
  box-shadow: 0px 5px 25px 0px rgba(34, 34, 34, 0.1)
}

.l-sub-img-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-align: center
}

.l-sub-img__area-txt {
  margin-top: 5px
}

.l-sub-img__head {
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: .12em
}

.l-sub-img__en {
  color: #e42c2c;
  font-weight: 700;
  font-size: 1.4rem;
  text-transform: uppercase;
  line-height: 2
}

@media all and (min-width: 768px) {
  .l-sub-img {
    height: 415px;
    padding: 50px 70px 70px
  }
  .l-sub-img__area-txt {
    margin-top: 3px
  }
  .l-sub-img:before {
    width: calc(100% - 960px);
    height: 218px
  }
  .l-sub-img:after {
    top: 50px;
    bottom: 70px;
    left: 70px;
    right: 70px
  }
  .l-sub-img__head {
    margin-bottom: 7px;
    font-size: 4rem
  }
  .l-sub-img__en {
    font-size: 1.8rem
  }
}

.l-sub-img.is-active:before, .l-sub-img.is-active:after {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  box-shadow: none
}

.l-sub-img:before, .l-sub-img:after {
  -webkit-transition: box-shadow 0.6s ease 0.6s, -webkit-transform 0.6s ease;
  transition: box-shadow 0.6s ease 0.6s, -webkit-transform 0.6s ease;
  transition: transform 0.6s ease, box-shadow 0.6s ease 0.6s;
  transition: transform 0.6s ease, box-shadow 0.6s ease 0.6s, -webkit-transform 0.6s ease
}

.l-sub-img:before {
  -webkit-transform: translateY(100px);
  -ms-transform: translateY(100px);
  transform: translateY(100px)
}

.l-sub-img:after {
  -webkit-transform: translateY(-200px);
  -ms-transform: translateY(-200px);
  transform: translateY(-200px)
}

.l-sub-img .l-sub-img__area-txt {
  -webkit-transition-delay: .5s;
  transition-delay: .5s
}

@media all and (min-width: 768px) {
  .l-sub-img:before {
    -webkit-transform: translateY(200px);
    -ms-transform: translateY(200px);
    transform: translateY(200px)
  }
  .l-sub-img:after {
    -webkit-transform: translateY(-300px);
    -ms-transform: translateY(-300px);
    transform: translateY(-300px)
  }
}

.l-sub-img-projects__inner {
  padding: 0 20px;
  background: url(../img/projects/detail/bg_mainimg01.jpg) no-repeat 50% 50%/cover
}

.l-sub-img-projects__slider .slick-arrow {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  width: 24px;
  outline: none;
  border: 0;
  font-size: 0;
  background: transparent;
  -webkit-transition: all .6s ease;
  transition: all .6s ease
}

.l-sub-img-projects__slider .slick-arrow.slick-disabled {
  opacity: 0;
  visibility: hidden
}

.l-sub-img-projects__slider .slick-arrow:before, .l-sub-img-projects__slider .slick-arrow:after {
  position: absolute;
  content: '';
  display: block
}

.l-sub-img-projects__slider .slick-arrow:before {
  z-index: 0;
  top: 50%;
  left: 0;
  width: 24px;
  height: 24px;
  background: #e42c2c;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.l-sub-img-projects__slider .slick-arrow:after {
  z-index: 1;
  top: 50%;
  left: 8px;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.l-sub-img-projects__slider .slick-arrow.slick-prev {
  left: -20px;
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1)
}

.l-sub-img-projects__slider .slick-arrow.slick-next {
  right: -20px
}

.l-sub-img-projects__slider-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 61.56vw
}

.l-sub-img-projects__slider-item img {
  object-fit: scale-down;
  font-family: 'object-fit: scale-down;';
  display: block;
  width: auto;
  max-height: 100%;
  margin: auto
}

@media all and (max-width: 767px) {
  .l-sub-img-projects__thumb {
    width: 180px;
    margin: 30px auto 0
  }
}

.l-sub-img-projects__thumb .slick-list {
  overflow: visible
}

.l-sub-img-projects__thumb .slick-slide {
  margin: 0 3px
}

.l-sub-img-projects__thumb-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 50px
}

.l-sub-img-projects__thumb-item img {
  object-fit: scale-down;
  font-family: 'object-fit: scale-down;';
  display: block;
  width: auto;
  max-height: 100%
}

@media all and (max-width: 767px) {
  .l-sub-img-projects__thumb-item img {
    margin: auto
  }
}

@media all and (min-width: 768px) {
  .l-sub-img-projects__slider {
    width: 1100px;
    margin: auto
  }
  .l-sub-img-projects__slider .slick-arrow {
    left: 50%;
    width: 40px;
    cursor: pointer;
    -webkit-transition: margin .6s ease;
    transition: margin .6s ease
  }
  .l-sub-img-projects__slider .slick-arrow:before {
    width: 46px;
    height: 46px;
    -webkit-transition: background .6s ease;
    transition: background .6s ease
  }
  .l-sub-img-projects__slider .slick-arrow:hover:before {
    background: #c6000b
  }
  .l-sub-img-projects__slider .slick-arrow:after {
    left: 17px;
    margin-top: -4px;
    border-width: 2px
  }
  .l-sub-img-projects__slider .slick-arrow.slick-prev {
    left: 50%;
    margin-left: -630px
  }
  .l-sub-img-projects__slider .slick-arrow.slick-next {
    right: auto;
    margin-left: 590px
  }
  .l-sub-img-projects__slider-item {
    height: auto;
    max-height: 760px
  }
  .l-sub-img-projects__thumb {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 40px;
    margin-bottom: 13px
  }
  .l-sub-img-projects__thumb-item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 102px;
    flex: 0 0 102px;
    height: 70px;
    margin: 0 5px;
    -webkit-transition: opacity .6s ease;
    transition: opacity .6s ease;
    cursor: pointer
  }
  .l-sub-img-projects__thumb-item:hover {
    opacity: .7
  }
}

@media (min-width: 768px) and (max-width: 1280px) {
  .l-sub-img-projects__slider .slick-arrow.slick-prev {
    margin-left: -555px
  }
  .l-sub-img-projects__slider .slick-arrow.slick-next {
    margin-left: 515px
  }
}

.sd-search__head {
  padding: 11px 10px;
  background: #e42c2c;
  color: #fff;
  font-size: 1.6rem;
  text-align: center;
  box-sizing: border-box
}

.sd-search-list__head {
  position: relative;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 30px 0 16px 0;
  border-bottom: 1px solid #ddd;
  line-height: 1.3125
}

@media (max-width: 320px) {
  .sd-search-list__head {
    padding-top: 20px
  }
}

.sd-search-list__head:after {
  position: absolute;
  content: '';
  display: block;
  bottom: 23px;
  right: 0;
  width: 7px;
  height: 7px;
  border-right: 1px solid #e42c2c;
  border-bottom: 1px solid #e42c2c;
  -webkit-transform-origin: left 50%;
  -ms-transform-origin: left 50%;
  transform-origin: left 50%;
  -webkit-transform: rotate(45deg) translate(-50%, 0);
  -ms-transform: rotate(45deg) translate(-50%, 0);
  transform: rotate(45deg) translate(-50%, 0);
  -webkit-transition: all .6s ease;
  transition: all .6s ease;
  -webkit-transition-duration: .3s;
  transition-duration: .3s
}

.sd-search-list__head.is-active:after {
  -webkit-transform: rotate(225deg) translate(-50%, 0);
  -ms-transform: rotate(225deg) translate(-50%, 0);
  transform: rotate(225deg) translate(-50%, 0)
}

.sd-search-list__content {
  padding-top: 10px
}

.sd-search-list__content label {
  display: block;
  line-height: 2.45
}

.sd-search-area-list__area {
  position: relative
}

.sd-search-area-list__area:before, .sd-search-area-list__area:after {
  position: absolute;
  content: '';
  display: block;
  top: 15px;
  right: 0;
  width: 14px;
  height: 1px;
  background: #c6000b;
  -webkit-transition: all .6s ease;
  transition: all .6s ease;
  -webkit-transition-duration: .3s;
  transition-duration: .3s
}

.sd-search-area-list__area:after {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg)
}

.sd-search-area-list__area.is-active:after {
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  opacity: 0
}

.sd-search-area-list__pref {
  margin-left: 10px
}

.sd-search-year {
  margin: 25px 20px 0 5px
}

.sd-search-year.noUi-horizontal {
  height: 11px;
  border: 0
}

.sd-search-year .noUi-connect {
  background: #ddd
}

.sd-search-year .noUi-handle {
  width: 22px;
  height: 22px;
  border: 0;
  background-image: linear-gradient(-45deg, #c6000b 50%, #e42c2c 50.1%);
  box-shadow: none;
  border-radius: 0
}

.sd-search-year .noUi-handle:before, .sd-search-year .noUi-handle:after {
  content: none
}

.sd-search-year__set {
  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;
  margin-top: 25px
}

.sd-search-year__set span {
  padding: 0 10px
}

.sd-search input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  outline: 0;
  border-radius: 0
}

.sd-search input[type="checkbox"] {
  display: none
}

.sd-search input[type="checkbox"]+input[type="hidden"]+span, .sd-search input[type="checkbox"]+span {
  position: relative;
  padding-left: 30px
}

.sd-search input[type="checkbox"]+input[type="hidden"]+span:before, .sd-search input[type="checkbox"]+span:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  left: 0;
  width: 18px;
  height: 18px;
  border: solid 1px #ddd;
  background: #fff;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.sd-search input[type="checkbox"]+input[type="hidden"]+span:after, .sd-search input[type="checkbox"]+span:after {
  position: absolute;
  content: '';
  display: block;
  top: 50%;
  left: 10px;
  width: 7px;
  height: 4px;
  margin-top: -1px;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  opacity: 0
}

.sd-search input[type="checkbox"]:checked+span:before, .sd-search input[type="checkbox"]+input[type="hidden"]+span:before {
  background: #e42c2c
}

.sd-search input[type="checkbox"]:checked+span:after, .sd-search input[type="checkbox"]+input[type="hidden"]+span:after {
  opacity: 1
}

.sd-search input[type="number"] {
  width: 90px;
  height: 35px;
  text-align: center;
  font-size: 1.6rem;
  border: 1px solid #ddd
}

.sd-search__btn {
  position: relative;
  display: block;
  max-width: 280px;
  width: 100%;
  margin: 0 auto;
  padding: 20px 10px;
  font-weight: 700;
  font-size: 1.4rem;
  font-family: inherit;
  background: #e42c2c;
  color: #fff;
  border: 0;
  outline: none;
  letter-spacing: inherit
}

.sd-search__btn:after {
  position: absolute;
  content: '';
  display: block;
  top: 50%;
  right: 20px;
  width: 21px;
  height: 6px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

@media all and (max-width: 767px) {
  .sd-search {
    position: fixed;
    z-index: 2001;
    left: 0;
    bottom: 0;
    width: 100%
  }
  .sd-search__head {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%
  }
  .sd-search__content {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    padding: 33px 20px 30px;
    background: #fff;
    max-height: 100vh;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    visibility: hidden;
    box-sizing: border-box;
    -webkit-transition: all .6s ease;
    transition: all .6s ease;
    box-sizing: border-box
  }
  .sd-search__content.is-open {
    opacity: 1;
    visibility: visible
  }
  .sd-search-list {
    height: calc(100vh - 260px);
    overflow: auto
  }
  .sd-search-list::-webkit-scrollbar {
    display: none
  }
  .sd-search-list[data-simplebar] {
    padding-right: 13px;
    margin-right: -13px
  }
  .sd-search-list[data-simplebar] .simplebar-track.simplebar-vertical {
    width: 9px
  }
  .sd-search-list[data-simplebar] .simplebar-scrollbar:before {
    background: #c6000b
  }
  .sd-search-list[data-simplebar] .simplebar-scrollbar.simplebar-visible:before {
    opacity: 0.8
  }
  .sd-search__close {
    display: block;
    width: 150px;
    margin: 20px auto 0;
    padding: 12px 10px;
    font-size: 1.6rem;
    background: #888;
    color: #fff;
    border: 0;
    outline: none;
    font-family: inherit
  }
  .sd-search-btns {
    position: absolute;
    right: 20px;
    left: 20px;
    bottom: 20px
  }
}

@media all and (min-width: 768px) {
  .sd-search__head {
    padding: 9px 10px 9px 21px;
    text-align: left;
    font-size: 1.8rem;
    border-left: 4px solid #c6000b
  }
  .sd-search-list__head {
    padding: 30px 0 13px 0;
    font-size: 1.8rem
  }
  .sd-search-list__head:after {
    right: -2px
  }
  .sd-search-list__content {
    padding-top: 8px;
    padding-bottom: 12px
  }
  .sd-search-list__content label {
    cursor: pointer;
    line-height: 2.4
  }
  .sd-search-area-list__area:before, .sd-search-area-list__area:after {
    top: 19px
  }
  .sd-search-area-list__pref {
    margin-left: 16px
  }
  .sd-search-year {
    margin: 16px 7px 0 9px
  }
  .sd-search-year.noUi-horizontal {
    height: 8px
  }
  .sd-search-year .noUi-connect {
    background: #ddd
  }
  .sd-search-year .noUi-handle {
    width: 15px;
    height: 15px;
    right: -7px;
    top: -4px
  }
  .sd-search-year__set {
    margin-top: 19px
  }
  .sd-search-year__set span {
    padding: 0 9px
  }
  .sd-search input[type="number"] {
    width: 80px;
    height: 30px
  }
  .sd-search input[type="checkbox"]+input[type="hidden"]+span:before, .sd-search input[type="checkbox"]+span:before {
    width: 16px;
    height: 16px
  }
  .sd-search input[type="checkbox"]+input[type="hidden"]+span:after, .sd-search input[type="checkbox"]+span:after {
    left: 9px
  }
  .sd-search__btn {
    position: relative;
    cursor: pointer;
    font-size: 1.6rem;
    margin-top: 40px;
    padding: 16px 10px
  }
  .sd-search__btn:before {
    position: absolute;
    content: '';
    z-index: 0;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: -webkit-gradient(linear, left top, right top, from(#ff7937), to(#f53e38));
    background-image: linear-gradient(90deg, #ff7937 0%, #f53e38 100%);
    opacity: 0;
    -webkit-transition: opacity .6s ease;
    transition: opacity .6s ease
  }
  .sd-search__btn:hover:before {
    opacity: 1
  }
  .sd-search__btn-txt {
    position: relative;
    z-index: 1
  }
}

.js-anim-elm[data-anim="fadeIn"], .js-anim-elm [data-anim="fadeIn"] {
  opacity: 0;
  -webkit-transition: opacity .6s ease;
  transition: opacity .6s ease
}

.js-anim-elm[data-anim="fadeIn"].is-active, .js-anim-elm [data-anim="fadeIn"].is-active {
  opacity: 1
}

.js-anim-elm[data-anim-parent].is-active [data-anim="fadeIn"]:not(.js-anim-elm), .js-anim-elm[data-anim-parent] .is-active[data-anim="fadeIn"] {
  opacity: 1
}

.js-anim-elm[data-anim="slideUp"], .js-anim-elm [data-anim="slideUp"] {
  opacity: 0;
  -webkit-transform: translateY(50px);
  -ms-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: transform 0.6s ease, opacity 0.6s ease;
  transition: transform 0.6s ease, opacity 0.6s ease, -webkit-transform 0.6s ease
}

.js-anim-elm[data-anim="slideUp"].is-active, .js-anim-elm [data-anim="slideUp"].is-active {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0)
}

.js-anim-elm[data-anim-parent].is-active [data-anim="slideUp"]:not(.js-anim-elm), .js-anim-elm[data-anim-parent] .is-active[data-anim="slideUp"] {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0)
}

.js-anim-elm[data-anim="loadToRight"], .js-anim-elm [data-anim="loadToRight"] {
  max-width: 0;
  overflow: hidden;
  -webkit-transition: max-width 0.6s cubic-bezier(0.34, 0.14, 0.28, 1);
  transition: max-width 0.6s cubic-bezier(0.34, 0.14, 0.28, 1)
}

.js-anim-elm[data-anim="loadToRight"].is-active, .js-anim-elm [data-anim="loadToRight"].is-active {
  max-width: 100%
}

.js-anim-elm[data-anim-parent].is-active [data-anim="loadToRight"]:not(.js-anim-elm), .js-anim-elm[data-anim-parent] .is-active[data-anim="loadToRight"] {
  max-width: 100%
}

.js-anim-elm[data-anim-delay="1"], .js-anim-elm [data-anim-delay="1"] {
  -webkit-transition-delay: .4s;
  transition-delay: .4s
}

.js-anim-elm[data-anim-delay="2"], .js-anim-elm [data-anim-delay="2"] {
  -webkit-transition-delay: .8s;
  transition-delay: .8s
}

.js-anim-elm[data-anim-delay="3"], .js-anim-elm [data-anim-delay="3"] {
  -webkit-transition-delay: 1.2s;
  transition-delay: 1.2s
}

.js-anim-elm[data-anim-delay="4"], .js-anim-elm [data-anim-delay="4"] {
  -webkit-transition-delay: 1.6s;
  transition-delay: 1.6s
}

.js-anim-elm[data-anim-delay="5"], .js-anim-elm [data-anim-delay="5"] {
  -webkit-transition-delay: 2s;
  transition-delay: 2s
}

.js-anim-elm[data-anim-delay="6"], .js-anim-elm [data-anim-delay="6"] {
  -webkit-transition-delay: 2.4s;
  transition-delay: 2.4s
}

.js-anim-elm[data-anim-delay="7"], .js-anim-elm [data-anim-delay="7"] {
  -webkit-transition-delay: 2.8s;
  transition-delay: 2.8s
}

.js-anim-elm[data-anim-delay="8"], .js-anim-elm [data-anim-delay="8"] {
  -webkit-transition-delay: 3.2s;
  transition-delay: 3.2s
}

.js-anim-elm[data-anim-delay="9"], .js-anim-elm [data-anim-delay="9"] {
  -webkit-transition-delay: 3.6s;
  transition-delay: 3.6s
}

.js-anim-elm[data-anim-delay="10"], .js-anim-elm [data-anim-delay="10"] {
  -webkit-transition-delay: 4s;
  transition-delay: 4s
}

.js-switch-tab {
  cursor: pointer
}

.js-switch-content {
  display: none
}

.js-switch-content.is-active {
  display: block
}

.js-toggle-trigger {
  cursor: pointer
}

.js-toggle-content {
  display: none
}

@media all and (max-width: 767px) {
  .js-anchor-toggle-trigger {
    cursor: pointer
  }
  .js-anchor-toggle-content {
    display: none
  }
}

@media all and (min-width: 768px) {
  .js-anchor-toggle-content {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important
  }
}

.about-sec__head {
  margin-bottom: 25px;
  font-size: 2.3rem;
  line-height: 1.52174;
  text-align: center;
  letter-spacing: 0.06em
}

.about-sec__head-sub {
  display: inline-block;
  margin-bottom: 3px;
  line-height: 1.53333;
  font-size: 1.5rem
}

@media all and (min-width: 768px) {
  .about-sec__head {
    margin-bottom: 45px;
    font-size: 3.6rem;
    letter-spacing: 0.12em
  }
  .about-sec__head-sub {
    font-size: 2.2rem
  }
}

.about-vision {
  position: relative
}

.about-vision:after {
  position: absolute;
  content: '';
  z-index: -1;
  display: block;
  left: 0;
  right: 0;
  bottom: 0;
  height: 190px;
  background: url(../img/about/bg_vision01_sp.jpg) no-repeat 50% 50%/cover
}

.about-vision__inner {
  padding-top: 50px;
  padding-bottom: 60px
}

.about-vision__content {
  padding: 0 25px 35px;
  background: #fff
}

.about-vision__en {
  position: absolute;
  left: 0;
  bottom: -12px;
  color: #fff;
  line-height: 1;
  font-size: 7.5rem
}

@media all and (min-width: 768px) {
  .about-vision:after {
    height: 270px;
    background-image: url(../img/about/bg_vision01_pc.jpg)
  }
  .about-vision__inner {
    padding-top: 120px;
    padding-bottom: 120px
  }
  .about-vision__content {
    padding-bottom: 90px
  }
  .about-vision__lead {
    text-align: center;
    font-size: 2rem;
    line-height: 1.9
  }
  .about-vision__en {
    bottom: -26px;
    font-size: 16rem
  }
}

.about-business {
  position: relative
}

.about-business__inner {
  padding-top: 50px;
  padding-bottom: 60px
}

.about-business__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 35px
}

.about-business__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -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;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc(50% - 7px);
  flex: 0 0 calc(50% - 7px);
  height: calc((100vw - 40px - 14px) / 2);
  border-radius: 50%;
  border: 1px solid #ddd;
  box-sizing: border-box
}

@media all and (max-width: 767px) {
  .about-business__item:nth-of-type(even) {
    margin-left: 14px
  }
  .about-business__item:nth-of-type(n+3) {
    margin-top: 15px
  }
  .about-business__item:last-of-type {
    margin-left: 0;
    margin-right: auto
  }
}

.about-business__ico {
  width: 50px;
  margin-top: -7px
}

.about-business__txt {
  width: 100%;
  margin-top: 10px;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.53333
}

.about-business__en {
  position: absolute;
  left: 20px;
  bottom: -12px;
  color: #f2f2f2;
  font-size: 7.5rem;
  line-height: 1
}

@media all and (min-width: 768px) {
  .about-business__inner {
    padding-top: 100px;
    padding-bottom: 120px
  }
  .about-business__lead {
    text-align: center
  }
  .about-business__list {
    margin-top: 50px
  }
  .about-business__item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 245px;
    flex: 0 0 245px;
    max-width: 245px;
    height: 245px;
    margin-right: 40px;
    padding-top: 82px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
  }
  .about-business__item:nth-of-type(4n) {
    margin-right: 0
  }
  .about-business__item:nth-of-type(5) {
    margin-left: 40px
  }
  .about-business__item:nth-of-type(n+5) {
    margin-top: 40px
  }
  .about-business__ico {
    width: 100%;
    text-align: center
  }
  .about-business__ico img {
    width: 50px
  }
  .about-business__txt {
    margin-top: 20px;
    font-size: 2rem
  }
  .about-business__en {
    font-size: 16rem;
    left: auto;
    right: 0;
    bottom: -26px
  }
}

.about-story {
  position: relative
}

.about-story:before {
  position: absolute;
  content: '';
  z-index: -2;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #f2f2f2
}

.about-story__inner {
  padding-top: 50px;
  padding-bottom: 60px
}

.about-story-set+.about-story-set {
  margin-top: 50px
}

.about-story-set__info {
  position: relative
}

.about-story-set__num {
  position: absolute;
  top: -20px;
  left: 0;
  z-index: -1;
  color: #fff;
  font-size: 7.5rem;
  line-height: 1
}

.about-story-set__head {
  position: relative;
  padding-bottom: 15px;
  margin-bottom: 20px;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: .06em
}

.about-story-set__head:before, .about-story-set__head:after {
  position: absolute;
  content: '';
  display: block;
  left: 0;
  bottom: 0;
  width: 20px;
  height: 2px;
  background: #c6000b
}

.about-story-set__head:after {
  left: 20px;
  background: #e42c2c
}

.about-story-set__img {
  width: 185px;
  margin: 25px auto 0
}

@media all and (min-width: 768px) {
  .about-story__inner {
    padding-top: 100px;
    padding-bottom: 120px
  }
  .about-story-set {
    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;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
  .about-story-set+.about-story-set {
    margin-top: 100px
  }
  .about-story-set:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
  }
  .about-story-set__info {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 670px;
    flex: 0 0 670px
  }
  .about-story-set__num {
    top: -50px;
    left: -10px;
    font-size: 16rem
  }
  .about-story-set__head {
    margin-bottom: 35px;
    padding-bottom: 24px;
    font-size: 2.8rem;
    letter-spacing: 0.12em
  }
  .about-story-set__img {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 370px;
    flex: 0 0 370px;
    margin: 0
  }
}

.about-number__inner {
  padding-top: 50px;
  padding-bottom: 60px
}

@media all and (max-width: 767px) {
  .about-number__item+.about-number__item {
    margin-top: 50px
  }
}

.about-number__label {
  font-size: 1.8rem;
  text-align: center
}

.about-number__label-sub {
  display: block;
  margin-top: -5px;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1
}

.about-number__graph {
  margin-top: 20px
}

@media all and (min-width: 768px) {
  .about-number__inner {
    padding-top: 100px;
    padding-bottom: 120px
  }
  .about-number__list {
    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-top: -10px
  }
  .about-number__item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 510px;
    flex: 0 0 510px
  }
  .about-number__label {
    font-size: 2.8rem;
    letter-spacing: 0.12em
  }
  .about-number__label-sub {
    font-size: 1.4rem
  }
  .about-number__graph {
    margin-top: 30px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
  }
}

.about-strengths {
  background: #f2f2f2
}

.about-strengths__inner {
  padding-top: 50px;
  padding-bottom: 60px
}

.about-strengths-set+.about-strengths-set {
  margin-top: 50px
}

.about-strengths-set-head {
  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
}

.about-strengths-set-head__num {
  position: relative;
  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-flex: 0;
  -ms-flex: 0 0 56px;
  flex: 0 0 56px;
  height: 56px;
  font-size: 3.6rem;
  line-height: 1;
  color: #e42c2c
}

.about-strengths-set-head__num:before, .about-strengths-set-head__num:after {
  position: absolute;
  content: '';
  display: block;
  top: 0;
  right: 0;
  width: 2px;
  height: 50%;
  background: #e42c2c
}

.about-strengths-set-head__num:after {
  top: 50%;
  background: #c6000b
}

.about-strengths-set-head__txt {
  margin-left: 20px;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.06em
}

.about-strengths-set__txt {
  margin-top: 25px
}

.about-strengths-set__img {
  margin-top: 20px
}

@media all and (min-width: 768px) {
  .about-strengths__inner {
    padding-top: 100px;
    padding-bottom: 140px
  }
  .about-strengths-set {
    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
  }
  .about-strengths-set+.about-strengths-set {
    margin-top: 90px
  }
  .about-strengths-set:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
  }
  .about-strengths-set__info {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 380px;
    flex: 0 0 380px
  }
  .about-strengths-set-head__num {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 78px;
    flex: 0 0 78px;
    font-size: 5rem;
    height: 80px
  }
  .about-strengths-set-head__txt {
    font-size: 2.8rem;
    letter-spacing: 0.12em
  }
  .about-strengths-set__txt {
    margin-top: 35px
  }
  .about-strengths-set__img {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 660px;
    flex: 0 0 660px;
    margin-top: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
  }
}

.about-history__inner {
  padding-top: 60px;
  padding-bottom: 60px
}

.about-history-bnr__link {
  position: relative;
  display: block;
  text-decoration: none;
  padding: 28px 25px;
  background: #fff;
  box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.1)
}

.about-history-bnr__en {
  color: #e42c2c;
  font-size: 1rem;
  line-height: 1.3
}

.about-history-bnr__head {
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.06em
}

.about-history-bnr__txt {
  margin-top: 10px
}

.about-history-bnr__more {
  position: absolute;
  width: 90px;
  right: 25px;
  bottom: 0;
  padding: 0 20px;
  -webkit-transform: translateY(50%);
  -ms-transform: translateY(50%);
  transform: translateY(50%);
  background: #e42c2c;
  color: #fff;
  box-sizing: border-box;
  font-size: 1.1rem;
  letter-spacing: 0.16em
}

.about-history-bnr__more:after {
  position: absolute;
  content: '';
  display: block;
  top: 50%;
  right: 13px;
  width: 15px;
  height: 4px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

@media all and (min-width: 768px) {
  .about-history__inner {
    padding-top: 120px;
    padding-bottom: 140px
  }
  .about-history-bnr {
    width: 550px;
    margin: auto
  }
  .about-history-bnr__link {
    padding: 43px 50px 85px;
    -webkit-transition: box-shadow .6s ease;
    transition: box-shadow .6s ease
  }
  .about-history-bnr__link:hover {
    box-shadow: 0px 0 10px 0px rgba(0, 0, 0, 0.1)
  }
  .about-history-bnr__link:hover .about-history-bnr__more {
    background: #c6000b
  }
  .about-history-bnr__en {
    font-size: 1.1rem
  }
  .about-history-bnr__head {
    font-size: 2.8rem;
    letter-spacing: 0.12em
  }
  .about-history-bnr__txt {
    font-size: 1.5rem
  }
  .about-history-bnr__more {
    width: 100px;
    right: -10px;
    bottom: 18px;
    padding: 2px 20px;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    font-size: 1.2rem;
    -webkit-transition: background .6s ease;
    transition: background .6s ease
  }
}

.affiliates-detail__inner {
  padding-top: 60px;
  padding-bottom: 50px
}

@media all and (min-width: 768px) {
  .affiliates-detail__inner {
    padding-top: 140px;
    padding-bottom: 125px
  }
}

.bim-intro__inner {
  padding-top: 55px;
  padding-bottom: 35px
}

@media all and (min-width: 768px) {
  .bim-intro__inner {
    padding-top: 135px;
    padding-bottom: 75px
  }
  .bim-intro__lead {
    text-align: center
  }
}

.bim-anchor {
  background: #f2f2f2
}

.bim-anchor__inner {
  padding-top: 40px;
  padding-bottom: 40px
}

@media all and (min-width: 768px) {
  .bim-anchor__inner {
    padding-top: 80px;
    padding-bottom: 80px
  }
}

.bim-sec+.bim-sec .bim-sec__inner:before {
  position: absolute;
  content: '';
  width: auto;
  height: 1px;
  top: 0;
  left: 20px;
  right: 20px;
  background: #ddd
}

.bim-sec__inner {
  position: relative;
  padding-top: 60px;
  padding-bottom: 60px
}

.bim-sec__lead+.bim-sec__lead {
  margin-top: 1em
}

.bim-sec__img {
  margin-top: 25px
}

.bim-sec__note {
  margin-top: 35px;
  font-size: 1.3rem;
  color: #888
}

@media all and (min-width: 768px) {
  .bim-sec__inner {
    padding-top: 120px;
    padding-bottom: 120px
  }
  .bim-sec__lead {
    text-align: center
  }
  .bim-sec__lead+.bim-sec__lead {
    margin-top: 2em
  }
  .bim-sec__img {
    margin-top: 55px
  }
  .bim-sec__btn {
    margin-top: 60px
  }
  .bim-sec__note {
    margin-top: 40px;
    font-size: 1.4rem
  }
}

.bim-sec-feature {
  margin-top: 30px;
  padding: 22px 20px;
  position: relative;
  border: 2px solid #ddd;
  font-size: 1.3rem;
  line-height: 1.5
}

.bim-sec-feature__head {
  margin-bottom: 25px;
  font-size: 1.8rem
}

.bim-sec-feature-list {
  margin-bottom: -15px
}

.bim-sec-feature-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 15px;
  padding: 0 10px 15px 0;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box
}

.bim-sec-feature-list__item:last-of-type {
  border-bottom: none
}

.bim-sec-feature-list__ico {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50px;
  flex: 0 0 50px;
  max-width: 50px
}

.bim-sec-feature-list__txt {
  margin-left: 10px
}

@media all and (min-width: 768px) {
  .bim-sec-feature {
    margin-top: 60px;
    padding: 55px 60px 60px;
    font-size: 1.5rem
  }
  .bim-sec-feature__head {
    margin-bottom: 40px;
    font-size: 2.8rem
  }
  .bim-sec-feature-list {
    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: -20px
  }
  .bim-sec-feature-list.is-column3-pc .bim-sec-feature-list__item {
    width: calc((100% - 40px)/3)
  }
  .bim-sec-feature-list.is-column3-pc .bim-sec-feature-list__item:nth-of-type(-n+3) {
    margin-top: 0
  }
  .bim-sec-feature-list.is-column3-pc .bim-sec-feature-list__item:nth-last-of-type(-n+3) {
    border-bottom: none
  }
  .bim-sec-feature-list__item {
    width: calc((100% - 40px)/2);
    margin-top: 20px;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #ddd
  }
  .bim-sec-feature-list__item:nth-of-type(-n+2) {
    margin-top: 0
  }
  .bim-sec-feature-list__item:nth-last-of-type(-n+2):nth-of-type(odd) {
    border-bottom: none
  }
  .bim-sec-feature-list__ico {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 65px;
    flex: 0 0 65px;
    max-width: 65px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
  }
  .bim-sec-feature-list__txt {
    margin-left: 15px
  }
}

.bim-sec-cim {
  margin-top: 25px
}

.bim-sec-cim__img {
  margin: 0 25px -45px;
  text-align: center
}

.bim-sec-cim__txt {
  padding: 65px 5px 40px;
  background: #f2f2f2;
  text-align: center;
  font-weight: 700;
  font-size: 1.5rem
}

.bim-sec-cim__note {
  margin-top: 15px;
  font-size: 1.3rem;
  color: #888
}

@media all and (min-width: 768px) {
  .bim-sec-cim {
    margin-top: 55px
  }
  .bim-sec-cim__img {
    margin: 0 0 -50px
  }
  .bim-sec-cim__img img {
    width: auto;
    height: auto
  }
  .bim-sec-cim__txt {
    padding: 80px;
    font-size: 1.8rem
  }
  .bim-sec-cim__note {
    margin-top: 20px;
    font-size: 1.4rem;
    text-align: center
  }
}

.bim-sec-case {
  margin-top: 40px
}

.bim-sec-case__lead {
  margin-bottom: 25px
}

.bim-sec-case__note {
  margin: -15px 0 25px;
  font-size: 1.3rem;
  color: #888;
  line-height: 1.6
}

.bim-sec-case__item {
  position: relative;
  background: #f2f2f2
}

.bim-sec-case__item+.bim-sec-case__item {
  margin-top: 10px
}

.bim-sec-case__txt {
  padding: 15px 25px;
  margin-bottom: 20px
}

@media all and (min-width: 768px) {
  .bim-sec-case {
    margin-top: 60px;
    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
  }
  .bim-sec-case__head, .bim-sec-case__lead {
    width: 100%
  }
  .bim-sec-case__lead {
    margin-bottom: 45px
  }
  .bim-sec-case__note {
    margin: -20px 0 45px;
    font-size: 1.4rem
  }
  .bim-sec-case__item.is-half-pc {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 535px;
    flex: 0 0 535px;
    max-width: 535px
  }
  .bim-sec-case__item.is-wide-pc {
    width: 100%
  }
  .bim-sec-case__item+.bim-sec-case__item {
    margin: 0
  }
  .bim-sec-case__txt {
    padding: 20px 30px;
    margin-bottom: 0
  }
}

.bim-sec-case-movie {
  padding-bottom: 25px
}

.bim-sec-case-movie__lead {
  margin-bottom: 15px
}

.bim-sec-case-movie__note {
  margin-top: 15px;
  font-size: 1.3rem;
  line-height: 1.5;
  color: #888;
  text-align: left
}

@media all and (min-width: 768px) {
  .bim-sec-case-movie {
    width: 850px;
    margin: 0 auto;
    padding-bottom: 45px;
    text-align: center
  }
  .bim-sec-case-movie__lead {
    margin: 45px 0 25px
  }
  .bim-sec-case-movie__note {
    margin-top: 20px;
    font-size: 1.4rem
  }
}

.bim-sec-case-example {
  margin-top: 23px;
  padding: 0 25px 25px;
  border: 1px solid #ddd;
  text-align: center
}

.bim-sec-case-example__head {
  display: inline-block;
  margin: -0.8em auto 20px;
  padding: 0 10px;
  text-align: center;
  line-height: 1.5;
  font-size: 1.8rem;
  background: #fff
}

.bim-sec-case-example__item {
  position: relative;
  background: #f2f2f2
}

.bim-sec-case-example__item+.bim-sec-case-example__item {
  margin-top: 40px
}

.bim-sec-case-example__item+.bim-sec-case-example__item:nth-of-type(even):before {
  content: '';
  position: absolute;
  top: -24px;
  left: 50%;
  width: 8px;
  height: 8px;
  margin-left: -5px;
  border-right: 2px solid #e42c2c;
  border-bottom: 2px solid #e42c2c;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.bim-sec-case-example__item+.bim-sec-case-example__item:nth-of-type(even):after {
  content: '';
  position: absolute;
  top: -29px;
  left: 50%;
  width: 2px;
  height: 15px;
  margin-left: -1px;
  background: #e42c2c
}

@media all and (min-width: 768px) {
  .bim-sec-case-example {
    margin-top: 33px;
    padding: 0 60px 60px;
    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;
    box-sizing: border-box
  }
  .bim-sec-case-example__head {
    padding: 0 25px;
    margin-bottom: 40px;
    min-width: 50%;
    font-size: 2.6rem;
    box-sizing: border-box
  }
  .bim-sec-case-example__item.is-half-pc {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 465px;
    flex: 0 0 465px;
    max-width: 465px
  }
  .bim-sec-case-example__item.is-wide-pc {
    width: 100%
  }
  .bim-sec-case-example__item+.bim-sec-case-example__item {
    margin: 0
  }
  .bim-sec-case-example__item+.bim-sec-case-example__item:nth-of-type(even):before {
    top: 50%;
    left: -28px;
    margin: -5px 0 0;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }
  .bim-sec-case-example__item+.bim-sec-case-example__item:nth-of-type(even):after {
    top: 50%;
    left: -32px;
    width: 15px;
    height: 2px;
    margin-top: -1px
  }
}

.clt-intro__inner {
  padding-top: 55px;
  padding-bottom: 35px
}

@media all and (min-width: 768px) {
  .clt-intro__inner {
    padding-top: 135px;
    padding-bottom: 75px
  }
  .clt-intro__lead {
    text-align: center
  }
}

.clt-anchor {
  background: #f2f2f2
}

.clt-anchor__inner {
  padding-top: 40px;
  padding-bottom: 40px
}

@media all and (min-width: 768px) {
  .clt-anchor__inner {
    padding-top: 80px;
    padding-bottom: 80px
  }
}

.clt-sec+.clt-sec .clt-sec__inner:before {
  position: absolute;
  content: '';
  width: auto;
  height: 1px;
  top: 0;
  left: 20px;
  right: 20px;
  background: #ddd
}

.clt-sec__inner {
  position: relative;
  padding-top: 60px;
  padding-bottom: 60px
}

.clt-sec__lead+.clt-sec__lead {
  margin-top: 1em
}

.clt-sec__img {
  margin-top: 25px
}

@media all and (min-width: 768px) {
  .clt-sec__inner {
    padding-top: 120px;
    padding-bottom: 120px
  }
  .clt-sec__lead {
    text-align: center
  }
  .clt-sec__lead+.clt-sec__lead {
    margin-top: 2em
  }
  .clt-sec__img {
    margin-top: 55px
  }
  .clt-sec__btn {
    margin-top: 60px
  }
}

.clt-sec-feature {
  margin-top: 30px;
  padding: 22px 20px;
  position: relative;
  border: 2px solid #ddd;
  font-size: 1.3rem;
  line-height: 1.5
}

.clt-sec-feature__head {
  margin-bottom: 25px;
  font-size: 1.8rem
}

.clt-sec-feature-list {
  margin-bottom: -15px
}

.clt-sec-feature-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 15px;
  padding: 0 10px 15px 0;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box
}

.clt-sec-feature-list__item:last-of-type {
  border-bottom: none
}

.clt-sec-feature-list__ico {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50px;
  flex: 0 0 50px;
  max-width: 50px
}

.clt-sec-feature-list__zeb {
  max-width: 150px !important;
    display: block;
    margin-left: auto;
    margin-right: auto 
}

.clt-sec-feature-list__txt {
  margin-left: 10px
}

@media all and (min-width: 768px) {
  .clt-sec-feature {
    margin-top: 60px;
    padding: 55px 60px 60px;
    font-size: 1.5rem
  }
  .clt-sec-feature__head {
    margin-bottom: 40px;
    font-size: 2.8rem
  }
  .clt-sec-feature-list {
    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: -20px
  }
  .clt-sec-feature-list.is-column3-pc .clt-sec-feature-list__item {
    width: calc((100% - 40px)/3)
  }
  .clt-sec-feature-list.is-column3-pc .clt-sec-feature-list__item:nth-of-type(-n+3) {
    margin-top: 0
  }
  .clt-sec-feature-list.is-column3-pc .clt-sec-feature-list__item:nth-last-of-type(-n+3) {
    border-bottom: none
  }
  .clt-sec-feature-list__item {
    width: calc((100% - 40px)/2);
    margin-top: 20px;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #ddd
  }
  .clt-sec-feature-list__item:nth-of-type(-n+2) {
    margin-top: 0
  }
  .clt-sec-feature-list__item:nth-last-of-type(-n+2):nth-of-type(odd) {
    border-bottom: none
  }
  .clt-sec-feature-list__ico {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 65px;
    flex: 0 0 65px;
    max-width: 65px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
  }
  
   .clt-sec-feature-list__zeb {
    max-width: 250px !important;
    display: block;
    margin-left: auto;
    margin-right: auto 
  }
  .clt-sec-feature-list__txt {
    margin-left: 15px
  }
}

.company-intro {
  background: url(../img/company/bg_intro01_sp.jpg) no-repeat 50% 50%/cover;
  margin-bottom: 45px
}

.company-intro__inner {
  padding-top: 80px;
  padding-bottom: 60px
}

.company-intro__content {
  padding: 50px 25px;
  background: #fff
}

.company-intro__head {
  text-align: center;
  font-size: 2rem;
  line-height: 1.75
}

.company-intro__txt {
  margin-top: 20px
}

.company-intro__txt+.company-intro__txt {
  margin-top: 36px
}

@media all and (min-width: 768px) {
  .company-intro {
    background-image: url(../img/company/bg_intro01_pc.jpg);
    margin-bottom: 105px
  }
  .company-intro__inner {
    padding-top: 200px;
    padding-bottom: 120px
  }
  .company-intro__content {
    padding: 95px 0
  }
  .company-intro__head {
    font-size: 3.6rem;
    letter-spacing: .12em
  }
  .company-intro__txt {
    margin-top: 35px;
    text-align: center
  }
  .company-intro__txt+.company-intro__txt {
    margin-top: 38px
  }
}

.construction-intro__inner {
  padding-top: 55px;
  padding-bottom: 55px
}

@media all and (min-width: 768px) {
  .construction-intro__inner {
    padding-top: 135px;
    padding-bottom: 80px
  }
  .construction-intro__lead {
    text-align: center
  }
}

.construction-lineup__inner {
  padding-bottom: 60px
}

.construction-lineup__content {
  position: relative
}

.construction-lineup__item {
  margin-bottom: 50px
}

.construction-lineup__item:last-of-type {
  margin-bottom: 0
}

.construction-lineup__img {
  margin-bottom: 25px
}

@media all and (min-width: 768px) {
  .construction-lineup__inner {
    padding-bottom: 120px
  }
  .construction-lineup__item {
    margin-bottom: 120px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }
  .construction-lineup__img {
    width: 100%;
    margin-bottom: 60px
  }
  .construction-lineup__tit {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 370px;
    flex: 0 0 370px
  }
  .construction-lineup__area-txt {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 680px;
    flex: 0 0 680px
  }
  .construction-lineup__btn {
    margin-top: 100px
  }
}

.contact-form__inner {
  padding-top: 55px;
  padding-bottom: 55px
}

.contact-form__lead {
  margin-bottom: 55px
}

@media all and (min-width: 768px) {
  .contact-form__inner {
    padding-top: 135px;
    padding-bottom: 135px
  }
  .contact-form__lead {
    text-align: center
  }
}

.earthquake-intro__inner {
  padding-top: 55px;
  padding-bottom: 35px
}

@media all and (min-width: 768px) {
  .earthquake-intro__inner {
    padding-top: 135px;
    padding-bottom: 75px
  }
  .earthquake-intro__lead {
    text-align: center
  }
}

.earthquake-anchor {
  background: #f2f2f2
}

.earthquake-anchor__inner {
  padding-top: 40px;
  padding-bottom: 40px
}

@media all and (min-width: 768px) {
  .earthquake-anchor__inner {
    padding-top: 80px;
    padding-bottom: 80px
  }
}

.earthquake-sec+.earthquake-sec .earthquake-sec__inner:before {
  position: absolute;
  content: '';
  width: auto;
  height: 1px;
  top: 0;
  left: 20px;
  right: 20px;
  background: #ddd
}

.earthquake-sec__inner {
  position: relative;
  padding-top: 60px;
  padding-bottom: 60px
}

.earthquake-sec__lead+.earthquake-sec__lead {
  margin-top: 1em
}

.earthquake-sec__img {
  margin-top: 25px
}

@media all and (min-width: 768px) {
  .earthquake-sec__inner {
    padding-top: 120px;
    padding-bottom: 120px
  }
  .earthquake-sec__lead {
    text-align: center
  }
  .earthquake-sec__lead+.earthquake-sec__lead {
    margin-top: 2em
  }
  .earthquake-sec__img {
    margin-top: 55px
  }
  .earthquake-sec__btn {
    margin-top: 60px
  }
}

.earthquake-sec-feature {
  margin-top: 30px;
  padding: 22px 20px;
  position: relative;
  border: 2px solid #ddd;
  font-size: 1.3rem;
  line-height: 1.5
}

.earthquake-sec-feature__head {
  margin-bottom: 25px;
  font-size: 1.8rem
}

.earthquake-sec-feature-dl dt, .earthquake-sec-feature-dl dd {
  margin-top: 10px
}

.earthquake-sec-feature-dl dt {
  padding: 10px;
  margin-top: 10px;
  background: #f2f2f2;
  text-align: center;
  font-weight: 700;
  box-sizing: border-box
}

.earthquake-sec-feature-list {
  margin-bottom: -15px
}

.earthquake-sec-feature-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 15px;
  padding: 0 10px 15px 0;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box
}

.earthquake-sec-feature-list__item:last-of-type {
  border-bottom: none
}

.earthquake-sec-feature-list__ico {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50px;
  flex: 0 0 50px;
  max-width: 50px
}

.earthquake-sec-feature-list__txt {
  margin-left: 10px
}

@media all and (min-width: 768px) {
  .earthquake-sec-feature {
    margin-top: 60px;
    padding: 55px 60px 60px;
    font-size: 1.5rem
  }
  .earthquake-sec-feature__head {
    margin-bottom: 40px;
    font-size: 2.8rem
  }
  .earthquake-sec-feature-dl {
    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
  }
  .earthquake-sec-feature-dl dt, .earthquake-sec-feature-dl dd {
    margin-top: 15px
  }
  .earthquake-sec-feature-dl dt:first-of-type, .earthquake-sec-feature-dl dd:first-of-type {
    margin-top: 0
  }
  .earthquake-sec-feature-dl dt {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 140px;
    flex: 0 0 140px;
    max-width: 140px;
    padding: 20px 10px;
    font-size: 1.4rem
  }
  .earthquake-sec-feature-dl dd {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    width: calc(100% - 155px)
  }
  .earthquake-sec-feature-list {
    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: -20px
  }
  .earthquake-sec-feature-list__item {
    width: calc((100% - 40px)/2);
    margin-top: 20px;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #ddd
  }
  .earthquake-sec-feature-list__item:nth-of-type(-n+2) {
    margin-top: 0
  }
  .earthquake-sec-feature-list__item:nth-last-of-type(-n+2):nth-of-type(odd) {
    border-bottom: none
  }
  .earthquake-sec-feature-list__ico {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 65px;
    flex: 0 0 65px;
    max-width: 65px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
  }
  .earthquake-sec-feature-list__txt {
    margin-left: 15px
  }
}

.error-page404__inner {
  padding-top: 55px;
  padding-bottom: 55px
}

@media all and (min-width: 768px) {
  .error-page404__inner {
    padding-top: 135px;
    padding-bottom: 135px
  }
  .error-page404__btn {
    margin-top: 80px
  }
}

.history-archive__lead {
  padding: 55px 20px 30px
}

@media all and (min-width: 768px) {
  .history-archive__lead {
    margin: auto;
    padding: 135px 0 70px;
    width: 1100px;
    text-align: center
  }
}

.history-archive-tabs {
  padding: 40px 20px;
  background: #f2f2f2
}

.history-archive-tabs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.history-archive-tabs__item {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc(50% - 0.5px);
  flex: 0 0 calc(50% - 0.5px);
  padding: 15px 10px;
  background: #fff;
  text-align: center;
  box-sizing: border-box
}

.history-archive-tabs__item.is-active {
  background: #e42c2c
}

@media all and (max-width: 767px) {
  .history-archive-tabs__item:nth-of-type(even) {
    margin-left: 1px
  }
  .history-archive-tabs__item:nth-of-type(n+3) {
    margin-top: 1px
  }
}

.history-archive-tabs__item.is-active .history-archive-tabs__year {
  color: #fff
}

.history-archive-tabs__item.is-active .history-archive-tabs__gengou {
  color: rgba(255, 255, 255, 0.6)
}

.history-archive-tabs__year {
  font-size: 1.6rem;
  line-height: 1.5
}

.history-archive-tabs__gengou {
  margin-top: 1px;
  font-size: 1.3rem;
  line-height: 1.53846;
  color: #888
}

@media all and (min-width: 768px) {
  .history-archive-tabs {
    padding: 80px 0
  }
  .history-archive-tabs__list {
    width: 1100px;
    margin: auto
  }
  .history-archive-tabs__item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 366px;
    flex: 0 0 366px;
    max-width: 366px;
    margin-right: 1px;
    padding: 23px 25px 23px 20px;
    cursor: pointer
  }
  .history-archive-tabs__item:nth-of-type(3n) {
    margin-right: 0
  }
  .history-archive-tabs__item:nth-of-type(n+4) {
    margin-top: 1px
  }
  .history-archive-tabs__year {
    font-size: 2.6rem;
    line-height: 1.3;
    letter-spacing: 0.12em
  }
  .history-archive-tabs__gengou {
    margin-top: 8px;
    font-size: 1.6rem
  }
}

.history-archive-content {
  display: none
}

.history-archive-content.is-active {
  display: block
}

.history-archive-content__inner {
  padding-top: 70px;
  padding-bottom: 60px
}

@media all and (min-width: 768px) {
  .history-archive-content__inner {
    padding-top: 120px
  }
}

.history-archive__list {
  position: relative;
  padding-top: 15px;
  padding-bottom: 30px
}

.history-archive__list:before {
  position: absolute;
  content: '';
  display: block;
  top: 0;
  left: 5px;
  bottom: 0;
  width: 1px;
  background: #e42c2c
}

.history-archive-item {
  position: relative;
  padding-left: 30px
}

.history-archive-item+.history-archive-item {
  margin-top: 45px
}

.history-archive-item:before {
  position: absolute;
  content: '';
  display: block;
  top: 17px;
  left: 6px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #e42c2c;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%)
}

.history-archive-item__info:nth-of-type(n+2) {
  margin-top: 40px
}

.history-archive-item__year {
  position: relative;
  margin-bottom: 25px;
  padding-bottom: 12px;
  font-size: 2.6rem;
  line-height: 1.5;
  border-bottom: 1px solid #ddd;
  letter-spacing: .12em
}

.history-archive-item__year:after {
  position: absolute;
  content: '';
  display: block;
  bottom: -1px;
  left: 0;
  width: 64px;
  height: 1px;
  background: #e42c2c
}

.history-archive-item__year-sub {
  font-size: 2rem
}

.history-archive-item__head {
  font-size: 1.8rem;
  line-height: 1.5
}

.history-archive-item__head-sub {
  font-size: 1.4rem
}

.history-archive-item__area-txt {
  margin-top: 10px
}

.history-archive-item__txt+.history-archive-item__txt {
  margin-top: 10px
}

.history-archive-item-img {
  margin-top: 20px
}

.history-archive-item-img__caption {
  margin-top: 5px;
  font-size: 1.5rem;
  font-weight: 700
}

@media all and (max-width: 767px) {
  .history-archive-item-img.is-vertical-img .history-archive-item-img__photo, .history-archive-item-img.is-vertical-img .history-archive-item-img__caption {
    width: 205px;
    margin-right: auto;
    margin-left: auto
  }
}

@media all and (min-width: 768px) {
  .history-archive__list {
    padding-top: 60px;
    padding-bottom: 60px
  }
  .history-archive-item {
    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-left: 60px;
    max-width: 1100px
  }
}

@media all and (min-width: 768px) and (-ms-high-contrast: none) {
  .history-archive-item {
    padding-left: 0
  }
}

@media all and (min-width: 768px) {
  .history-archive-item:before {
    top: 25px
  }
  .history-archive-item+.history-archive-item {
    margin-top: 90px
  }
  .history-archive-item__info {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 660px;
    flex: 0 0 660px;
    max-width: 660px
  }
}

@media all and (min-width: 768px) and (-ms-high-contrast: none) {
  .history-archive-item__info:nth-of-type(n+2) {
    padding-left: 60px
  }
}

@media all and (min-width: 768px) {
  .history-archive-item__info:nth-of-type(n+2), .history-archive-item__info:nth-of-type(n+2)+.history-archive-item-img {
    margin-top: 40px
  }
  .history-archive-item__year {
    margin-bottom: 42px;
    padding-bottom: 18px;
    font-size: 4rem;
    border-width: 2px
  }
  .history-archive-item__year:after {
    bottom: -2px;
    width: 60px;
    height: 2px
  }
  .history-archive-item__year-sub {
    position: relative;
    top: -2px;
    font-size: 3.2rem
  }
  .history-archive-item__head {
    font-size: 2.8rem;
    letter-spacing: 0.12em
  }
  .history-archive-item__head-sub {
    position: relative;
    top: -3px;
    font-size: 1.5rem;
    letter-spacing: .05em
  }
  .history-archive-item__area-txt {
    margin-top: 21px
  }
  .history-archive-item__txt+.history-archive-item__txt {
    margin-top: 18px
  }
  .history-archive-item-img {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 320px;
    flex: 0 0 320px;
    margin-top: 0
  }
  .history-archive-item-img__caption {
    margin-top: 15px;
    font-size: 1.8rem
  }
}

#home .l-container {
  position: relative;
  line-height: 1.8;
  letter-spacing: .06em
}

#home .l-container:before {
  position: absolute;
  content: '';
  z-index: -2;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #f9f9f9
}

.home-loading {
  position: fixed;
  z-index: 9999;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fff;
  -webkit-transition: all .6s ease;
  transition: all .6s ease
}

.home-loading.is-visited {
  opacity: 0;
  visibility: hidden;
  -webkit-transition-duration: 1.6s;
  transition-duration: 1.6s;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out
}

.home-loading.is-visited .home-loading-ico {
  display: none
}

.home-loading-ico {
  margin-top: 80px;
  -webkit-transition: margin .5s ease-in-out 1.3s, opacity .5s ease-in-out 2.1s;
  transition: margin .5s ease-in-out 1.3s, opacity .5s ease-in-out 2.1s
}

.home-loading-ico svg {
  width: 100%;
  height: 100%
}

.home-loading-ico__ci {
  position: relative;
  width: 107px;
  height: 106px;
  margin: auto
}

.home-loading-ico__ci svg {
  position: absolute;
  left: 0;
  top: 0
}

.home-loading-ico__ci .line {
  fill: none;
  stroke: #fff;
  stroke-width: 40;
  stroke-miterlimit: 0;
  stroke-dasharray: 1500;
  stroke-dashoffset: 1500
}

.home-loading-ico__ci .color-red {
  fill: #c6000b
}

.home-loading-ico__ci .color-white {
  fill: #fff
}

.home-loading-ico__logo {
  opacity: 0;
  margin-top: 16px;
  width: 150px;
  height: 16px;
  -webkit-transition: opacity 1.2s ease;
  transition: opacity 1.2s ease
}

.home-loading.is-active {
  opacity: 0;
  visibility: hidden;
  -webkit-transition-duration: 1.8s;
  transition-duration: 1.8s;
  -webkit-transition-delay: 3s;
  transition-delay: 3s
}

.home-loading.is-active .home-loading-ico {
  margin-top: 0;
  opacity: 0
}

.home-loading.is-active .home-loading-ico__logo {
  opacity: 1;
  -webkit-transition-delay: 1.6s;
  transition-delay: 1.6s
}

@media all and (min-width: 768px) {
  .home-loading__ci {
    width: 159px;
    height: 159px
  }
  .home-loading__logo {
    margin-top: 22px;
    width: 224px;
    height: 26px
  }
}

@-webkit-keyframes flash {
  0% {
    opacity: 1
  }
  70% {
    opacity: 1
  }
  80% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

@keyframes flash {
  0% {
    opacity: 1
  }
  70% {
    opacity: 1
  }
  80% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

.home-topics {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-99%);
  -ms-transform: translateY(-99%);
  transform: translateY(-99%)
}

.home-topics__inner {
  position: relative;
  z-index: 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;
  padding-top: 10px;
  padding-bottom: 10px
}

.home-topics__head {
  font-size: 1.3rem;
  color: #e42c2c;
  line-height: 1.2
}

.home-topics__date {
  position: relative;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-left: 10px;
  padding-left: 10px;
  border-left: 1px solid #ddd;
  color: #888;
  font-size: 1rem;
  line-height: 1.2
}

.home-topics__date.is-new {
  padding-left: 20px
}

.home-topics__date.is-new:before {
  position: absolute;
  content: "NEW!";
  top: -10px;
  left: 15px;
  color: #e42c2c;
  font-size: 1rem;
  -webkit-transform: scale(0.7);
  -ms-transform: scale(0.7);
  transform: scale(0.7);
  -webkit-animation: flash 1.5s linear infinite;
  animation: flash 1.5s linear infinite
}

.home-topics-post {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.5
}

.home-topics-post__link {
  text-decoration: none;
  font-size: 1.1rem
}

@media all and (max-width: 767px) {
  .home-topics {
    background: #fff
  }
  .home-topics-btn {
    position: absolute;
    top: 8px;
    right: 20px
  }
}

@media all and (min-width: 768px) {
  .home-topics {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .home-topics:before {
    display: block;
    content: "";
    width: 32%;
    min-width: 480px
  }
  .home-topics__inner {
    -webkit-box-flex: 2;
    -ms-flex: 2 0 45%;
    flex: 2 0 45%;
    margin: 0;
    max-width: 100%;
    padding: 24px 36px;
    background: #fff
  }
  .home-topics__head {
    font-size: 2rem
  }
  .home-topics__date {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100px;
    flex: 0 0 100px;
    margin-left: 30px;
    padding-left: 25px;
    font-size: 1.4rem;
    line-height: 1.5
  }
  .home-topics__date.is-new:before {
    left: 18px;
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9)
  }
  .home-topics-post {
    -webkit-box-flex: 2;
    -ms-flex: 2 0 30%;
    flex: 2 0 30%;
    margin-right: 15px
  }
  .home-topics-post__link {
    font-size: 1.5rem;
    -webkit-transition: color .6s ease;
    transition: color .6s ease
  }
  .home-topics-post__link:hover {
    color: #e42c2c
  }
}

.home-about {
  background: url(../img/home/bg_about01.png) no-repeat 100% 0/298px auto
}

.home-about__inner {
  padding-top: 60px;
  padding-bottom: 83px
}

.home-about-head {
  text-align: center
}

.home-about-head__txt {
  font-size: 3rem;
  line-height: 1.83333;
  letter-spacing: .16em;
  -webkit-transition: all .6s ease;
  transition: all .6s ease
}

.home-about-head__txt:nth-of-type(1) {
  -webkit-transform: translateX(-100px);
  -ms-transform: translateX(-100px);
  transform: translateX(-100px)
}

.home-about-head__txt:nth-of-type(2) {
  -webkit-transform: translateX(100px);
  -ms-transform: translateX(100px);
  transform: translateX(100px)
}

.home-about-head__txt:nth-of-type(3) {
  -webkit-transform: translateY(100px);
  -ms-transform: translateY(100px);
  transform: translateY(100px)
}

.home-about__lead {
  margin-top: 20px;
  line-height: 2.4;
  opacity: 0;
  -webkit-transform: translateY(50px);
  -ms-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-transition: all .6s ease;
  transition: all .6s ease
}

@media all and (min-width: 768px) {
  .home-about {
    background-size: 856px auto
  }
  .home-about__inner {
    padding-top: 155px;
    padding-bottom: 170px
  }
  .home-about-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
  .home-about-head__txt {
    font-size: 5rem
  }
  .home-about-head__txt:nth-of-type(1) {
    -webkit-transform: translateX(-100px);
    -ms-transform: translateX(-100px);
    transform: translateX(-100px)
  }
  .home-about-head__txt:nth-of-type(2) {
    -webkit-transform: translateY(100px);
    -ms-transform: translateY(100px);
    transform: translateY(100px)
  }
  .home-about-head__txt:nth-of-type(3) {
    -webkit-transform: translateX(100px);
    -ms-transform: translateX(100px);
    transform: translateX(100px)
  }
  .home-about-head__txt+.home-about-head__txt {
    margin-left: 28px
  }
  .home-about__lead {
    margin-top: 30px;
    font-size: 1.7rem;
    line-height: 2.1;
    text-align: center
  }
}

.home-about-beginner {
  margin-top: 33px
}

.home-about-beginner__link {
  display: block;
  text-decoration: none
}

.home-about-beginner__img {
  margin: 0 -20px
}

.home-about-beginner__area-txt {
  position: relative;
  margin-top: -25px;
  padding: 23px 22px;
  background: #fff;
  box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.1)
}

.home-about-beginner__head {
  text-align: center;
  font-weight: 700;
  font-size: 1.9rem;
  line-height: 1
}

.home-about-beginner__head-em {
  color: #e42c2c
}

.home-about-beginner__head-num {
  position: relative;
  top: 3px;
  font-size: 2.8rem
}

.home-about-beginner__txt {
  margin-top: 10px;
  font-size: 1.3rem;
  line-height: 2
}

.home-about-beginner__more {
  position: absolute;
  width: 90px;
  right: 20px;
  bottom: 0;
  padding: 3px 20px;
  -webkit-transform: translateY(50%);
  -ms-transform: translateY(50%);
  transform: translateY(50%);
  background: #e42c2c;
  color: #fff;
  box-sizing: border-box;
  font-size: 1.1rem;
  letter-spacing: 0.16em
}

.home-about-beginner__more:after {
  position: absolute;
  content: '';
  display: block;
  top: 50%;
  right: 13px;
  width: 15px;
  height: 4px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

@media all and (min-width: 768px) {
  .home-about-beginner {
    margin-top: 70px
  }
  .home-about-beginner__link:hover .home-about-beginner__area-txt {
    box-shadow: none
  }
  .home-about-beginner__link:hover .home-about-beginner__more {
    background: #c6000b
  }
  .home-about-beginner__img {
    margin: 0
  }
  .home-about-beginner__area-txt {
    margin: -100px 100px 0;
    padding: 33px 45px 45px;
    -webkit-transition: box-shadow .6s ease;
    transition: box-shadow .6s ease
  }
  .home-about-beginner__head {
    font-size: 2.6rem
  }
  .home-about-beginner__head-num {
    top: 6px;
    font-size: 4rem
  }
  .home-about-beginner__txt {
    margin-top: 17px;
    text-align: center;
    font-size: 1.5rem
  }
  .home-about-beginner__more {
    width: 100px;
    font-size: 1.2rem;
    bottom: 20px;
    right: -10px;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: background .6s ease;
    transition: background .6s ease
  }
}

.home-solution__list {
  position: relative;
  margin-top: 30px;
  padding-bottom: 40px
}

.home-solution__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  text-decoration: none;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}

.home-solution__label {
  font-size: 1rem;
  color: #e42c2c;
  line-height: 1
}

.home-solution__txt {
  position: relative;
  margin-top: -3px;
  padding: 5px 5px 5px 0;
  font-size: 2.1rem;
  line-height: 1.4;
  letter-spacing: .12em
}

.home-solution__txt:before, .home-solution__txt:after {
  position: absolute;
  content: '';
  display: block;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23222222%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

.home-solution__txt:before {
  opacity: 0;
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23e42c2c%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

.home-solution__bg {
  position: relative;
  width: 100%;
  height: 275px;
  -webkit-transform: translateX(100px);
  -ms-transform: translateX(100px);
  transform: translateX(100px);
  -webkit-transition: -webkit-transform .6s ease;
  transition: -webkit-transform .6s ease;
  transition: transform .6s ease;
  transition: transform .6s ease, -webkit-transform .6s ease
}

.home-solution__bg-img {
  position: absolute;
  content: '';
  z-index: 0;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: no-repeat 50% 50% / cover;
  opacity: 0;
  -webkit-transition: opacity .6s ease;
  transition: opacity .6s ease
}

.home-solution__bg-img[data-hover-img="00"] {
  background-image: url(../img/home/bg_solution00.jpg)
}

.home-solution__bg-img[data-hover-img="01"] {
  background-image: url(../img/home/bg_solution01.jpg)
}

.home-solution__bg-img[data-hover-img="02"] {
  background-image: url(../img/home/bg_solution02.jpg)
}

.home-solution__bg-img[data-hover-img="03"] {
  background-image: url(../img/home/bg_solution03.jpg)
}

.home-solution__bg-img[data-hover-img="04"] {
  background-image: url(../img/home/bg_solution04.jpg)
}

.home-solution__bg-img[data-hover-img="05"] {
  background-image: url(../img/home/bg_solution05.jpg)
}

.home-solution__bg-img[data-hover-img="06"] {
  background-image: url(../img/home/bg_solution06.jpg)
}

.home-solution__bg-img.is-active {
  opacity: 1
}

@media all and (max-width: 767px) {
  .home-solution__item+.home-solution__item {
    margin-top: 22px
  }
}

@media all and (max-width: 360px) {
  .home-solution__txt {
    font-size: 1.9rem
  }
}

@media all and (min-width: 768px) {
  .home-solution-head {
    position: relative
  }
  .home-solution-head__lead {
    position: absolute;
    top: -18px;
    right: 5px;
    width: 665px
  }
  .home-solution__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 88px
  }
  .home-solution__item {
    margin: 0 65px 35px 0
  }
  .home-solution__item:last-of-type {
    margin-right: 0
  }
  .home-solution__link:hover .home-solution__txt {
    color: #e42c2c
  }
  .home-solution__link:hover .home-solution__txt:before {
    opacity: 1
  }
  .home-solution__link:hover .home-solution__txt:after {
    opacity: 0
  }
  .home-solution__label {
    font-size: 1.1rem
  }
  .home-solution__txt {
    padding: 1px 1px 1px 0;
    font-size: 3.8rem;
    letter-spacing: .12em;
    line-height: 1.5;
    -webkit-transition: color .6s ease;
    transition: color .6s ease
  }
  .home-solution__txt:before, .home-solution__txt:after {
    -webkit-transition: opacity .6s ease;
    transition: opacity .6s ease
  }
  .home-solution__bg {
    -webkit-transform: translateX(200px);
    -ms-transform: translateX(200px);
    transform: translateX(200px);
    height: 550px
  }
}

.home-projects {
  position: relative
}

.home-projects:before {
  position: absolute;
  z-index: -1;
  content: '';
  display: block;
  top: 220px;
  right: 0;
  left: 0;
  bottom: 0;
  background: #f2f2f2
}

.home-projects__inner {
  padding-top: 55px;
  padding-bottom: 60px
}

.home-projects__content {
  position: relative
}

.home-projects-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end
}

.home-projects__slider {
  margin-top: 38px
}

.home-projects__slider .slick-track {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important
}

.home-projects__slider .slick-arrow {
  position: absolute;
  top: -45px;
  right: 20px;
  font-size: 0;
  border: 0;
  background: none;
  width: 45px;
  height: 30px;
  outline: none
}

.home-projects__slider .slick-arrow:before, .home-projects__slider .slick-arrow:after {
  position: absolute;
  content: '';
  display: block;
  top: 50%;
  left: 50%;
  width: 45px;
  height: 6px;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23bdbdbd%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

.home-projects__slider .slick-arrow:before {
  opacity: 0;
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23e42c2c%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

.home-projects__slider .slick-arrow.slick-prev {
  right: 80px
}

.home-projects__slider .slick-arrow.slick-prev:before, .home-projects__slider .slick-arrow.slick-prev:after {
  -webkit-transform: translate(-50%, -50%) scale(-1, 1);
  -ms-transform: translate(-50%, -50%) scale(-1, 1);
  transform: translate(-50%, -50%) scale(-1, 1)
}

.home-projects__slider .slick-slide {
  height: auto
}

.home-projects-card__link {
  position: relative;
  display: block;
  height: 100%;
  padding: 0 20px 25px;
  background: #fff;
  box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  box-sizing: border-box
}

.home-projects-card__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 -20px 20px;
  height: 190px
}

.home-projects-card__img.is-vertical img {
  object-fit: scale-down;
  font-family: 'object-fit: scale-down;';
  display: block;
  max-height: 100%
}

.home-projects-card__img img {
  object-fit: cover;
  font-family: 'object-fit: cover;';
  display: block;
  height: 100%
}

.home-projects-card__tit {
  position: relative;
  padding-left: 23px;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.5
}

.home-projects-card__tit:before, .home-projects-card__tit:after {
  position: absolute;
  content: '';
  display: block
}

.home-projects-card__tit:before {
  z-index: 0;
  top: 5px;
  left: 0;
  width: 15px;
  height: 15px;
  background: #e42c2c
}

.home-projects-card__tit:after {
  top: 10px;
  left: 4px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.home-projects-card__detail {
  position: relative;
  z-index: 1;
  margin-top: 5px;
  color: #444;
  font-size: 1.2rem;
  line-height: 1.8
}

.home-projects-card__num {
  position: absolute;
  right: 10px;
  bottom: 8px;
  pointer-events: none;
  font-size: 6rem;
  letter-spacing: 0;
  color: #f2f1f0;
  line-height: 1
}

.home-projects__en {
  position: absolute;
  z-index: -1;
  left: -5px;
  bottom: -12px;
  line-height: 1;
  font-size: 7.5rem;
  color: #f9f9f9;
  letter-spacing: 0;
  pointer-events: none
}

@media all and (max-width: 767px) {
  .home-projects__content.is-active .home-projects__slider {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
  }
  .home-projects-btn {
    margin-top: 15px;
    margin-bottom: -15px
  }
  .home-projects__slider {
    margin-left: -10px;
    width: 295px;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .home-projects__slider .slick-list {
    overflow: visible
  }
  .home-projects__slider .slick-slide {
    position: relative;
    margin: 0 10px
  }
}

@media all and (min-width: 768px) {
  .home-projects:before {
    top: 356px
  }
  .home-projects__inner {
    padding-top: 115px;
    padding-bottom: 70px
  }
  .home-projects__content {
    margin-top: -22px
  }
  .home-projects__content.is-active {
    -webkit-transition-duration: 1s;
    transition-duration: 1s
  }
  .home-projects__content.is-active [data-slick-index="1"] {
    -webkit-transition-delay: .1s;
    transition-delay: .1s
  }
  .home-projects__content.is-active [data-slick-index="2"] {
    -webkit-transition-delay: .2s;
    transition-delay: .2s
  }
  .home-projects__slider {
    position: relative;
    left: 50%;
    margin-top: 12px;
    width: 1728px;
    -webkit-transform: translateX(-575px);
    -ms-transform: translateX(-575px);
    transform: translateX(-575px);
    box-sizing: border-box
  }
  .home-projects__slider .slick-list {
    padding-left: 25px
  }
  .home-projects__slider .slick-slide {
    padding: 33px 0 50px;
    margin: 0 25px;
    width: 526px;
    overflow: visible;
    box-sizing: border-box
  }
  .home-projects__slider .slick-arrow {
    z-index: 1;
    right: auto;
    top: -40px;
    left: 980px;
    cursor: pointer
  }
  .home-projects__slider .slick-arrow:before, .home-projects__slider .slick-arrow:after {
    -webkit-transition: opacity .6s ease;
    transition: opacity .6s ease
  }
  .home-projects__slider .slick-arrow.slick-next {
    margin-left: 0
  }
  .home-projects__slider .slick-arrow.slick-prev {
    margin-left: -65px
  }
  .home-projects__slider .slick-arrow:hover:before {
    opacity: 1
  }
  .home-projects__slider .slick-arrow:hover:after {
    opacity: 0
  }
  .home-projects__content.is-active .home-projects-card {
    -webkit-transform: translateY(0) !important;
    -ms-transform: translateY(0) !important;
    transform: translateY(0) !important;
    opacity: 1 !important
  }
  .home-projects__content.is-active .home-projects-card[data-slick-index="1"] {
    -webkit-transition-delay: .2s !important;
    transition-delay: .2s !important
  }
  .home-projects__content.is-active .home-projects-card[data-slick-index="2"] {
    -webkit-transition-delay: .4s !important;
    transition-delay: .4s !important
  }
  .home-projects-card {
    overflow: hidden
  }
  .home-projects-card[tabindex="0"], .home-projects-card[tabindex="0"]+.home-projects-card[tabindex="-1"] {
    opacity: 0;
    -webkit-transform: translateY(150px);
    -ms-transform: translateY(150px);
    transform: translateY(150px);
    -webkit-transition: all .6s ease;
    transition: all .6s ease;
    -webkit-transition-duration: .8s;
    transition-duration: .8s
  }
  .home-projects-card__link {
    padding: 0 40px 47px;
    box-shadow: 0px 15px 25px 0px rgba(0, 0, 0, 0.08)
  }
  .home-projects-card__link:hover .home-projects-card__tit {
    color: #e42c2c
  }
  .home-projects-card__img {
    margin: 0 -40px 35px;
    height: 363px
  }
  .home-projects-card__tit {
    padding-left: 37px;
    font-size: 2.3rem;
    -webkit-transition: color .6s ease;
    transition: color .6s ease
  }
  .home-projects-card__tit:before {
    top: 8px;
    width: 20px;
    height: 20px
  }
  .home-projects-card__tit:after {
    top: 15px;
    left: 5px;
    width: 6px;
    height: 6px
  }
  .home-projects-card__detail {
    margin-top: 13px;
    font-size: 1.6rem;
    line-height: 1.8
  }
  .home-projects-card__num {
    right: 15px;
    font-size: 8rem
  }
  .home-projects__en {
    left: 50%;
    bottom: -30px;
    margin-left: -970px;
    font-size: 16rem
  }
}

.home-bnrs {
  position: relative
}

.home-bnrs__inner {
  padding-top: 60px;
  padding-bottom: 45px
}

.home-bnrs__list {
  margin: 0 32px
}

@media all and (max-width: 360px) {
  .home-bnrs__list {
    margin: 0 10px
  }
}

.home-bnrs-item {
  -webkit-transition: -webkit-transform .6s ease;
  transition: -webkit-transform .6s ease;
  transition: transform .6s ease;
  transition: transform .6s ease, -webkit-transform .6s ease
}

.home-bnrs-item.is-white {
  color: #fff
}

.home-bnrs-item.is-arw-white .home-bnrs-item__en:after {
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

.home-bnrs-item.is-arw-red .home-bnrs-item__en:after {
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23e42c2c%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

.home-bnrs-item:nth-of-type(1) {
  -webkit-transform: translateX(-100px);
  -ms-transform: translateX(-100px);
  transform: translateX(-100px)
}

.home-bnrs-item:nth-of-type(2) {
  -webkit-transform: translateX(100px);
  -ms-transform: translateX(100px);
  transform: translateX(100px)
}

.home-bnrs-item:nth-of-type(3) {
  -webkit-transform: translateY(100px);
  -ms-transform: translateY(100px);
  transform: translateY(100px)
}

.home-bnrs-item__link {
  position: relative;
  display: block;
  box-shadow: 0px 0px 6px 2px rgba(0, 0, 0, 0.08)
}

.home-bnrs-item__area-txt {
  position: absolute;
  top: 50%;
  left: 25px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.home-bnrs-item__en {
  position: relative;
  display: inline-block;
  padding: 0 10px 5px 0;
  font-size: 1.1rem;
  letter-spacing: .11em
}

.home-bnrs-item__en:after {
  position: absolute;
  content: '';
  display: block;
  bottom: 0;
  left: 0;
  right: 0;
  height: 6px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.home-bnrs-item__ja {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .1em
}

.home-bnrs-item__img {
  overflow: hidden
}

.home-bnrs-item__txt {
  margin-top: 10px;
  font-size: 1.1rem;
  line-height: 1.6
}

.home-bnrs__en {
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  width: 588px
}

@media all and (max-width: 767px) {
  .home-bnrs-item+.home-bnrs-item {
    margin-top: 13px
  }
}

@media all and (min-width: 768px) {
  .home-bnrs__inner {
    padding-top: 120px;
    padding-bottom: 80px
  }
  .home-bnrs__list {
    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: 0
  }
  .home-bnrs-item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 536px;
    flex: 0 0 536px
  }
  .home-bnrs-item:nth-of-type(3) {
    -webkit-transform: translateY(200px);
    -ms-transform: translateY(200px);
    transform: translateY(200px)
  }
  .home-bnrs-item.is-full-pc {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    margin-top: 30px
  }
  .home-bnrs-item__link {
    box-shadow: 0px 0px 12px 3px rgba(0, 0, 0, 0.08)
  }
  .home-bnrs-item__area-txt {
    z-index: 1;
    left: 60px
  }
  .home-bnrs-item__en {
    margin-bottom: 10px;
    padding-bottom: 10px;
    font-size: 1.3rem;
    line-height: 1
  }
  .home-bnrs-item__en:after {
    bottom: -3px
  }
  .home-bnrs-item__ja {
    font-size: 2.4rem
  }
  .home-bnrs-item__txt {
    margin-top: 18px;
    font-size: 2rem;
    letter-spacing: 0.1em
  }
  .home-bnrs__en {
    right: auto;
    left: 50%;
    width: 1229px;
    margin-left: -260px
  }
}

.home-news__inner {
  position: relative;
  padding-top: 28px;
  padding-bottom: 60px
}

.home-news-head {
  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;
  line-height: 1.5
}

.home-news-head__en {
  font-size: 3rem;
  color: #e42c2c
}

.home-news-head__ja {
  margin-left: 13px;
  font-size: 1.2rem;
  font-weight: 700
}

.home-news-btn {
  position: absolute;
  top: 40px;
  right: 20px
}

.home-news-list {
  margin-top: 5px;
  border-top: 1px solid #ddd
}

.home-news-list__item {
  border-bottom: 1px solid #ddd
}

.home-news-list__link {
  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;
  padding: 16px 0;
  text-decoration: none
}

.home-news-list__date {
  position: relative;
  color: #888;
  font-size: 1.1rem
}

.home-news-list__date.is-new:before {
  position: absolute;
  content: "NEW!";
  top: -10px;
  left: 0;
  color: #e42c2c;
  font-size: 1rem;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: scale(0.8);
  -ms-transform: scale(0.8);
  transform: scale(0.8);
  -webkit-animation: flash 1.5s linear infinite;
  animation: flash 1.5s linear infinite
}

.home-news-list__cat {
  margin-left: 10px;
  min-width: 75px;
  padding: 3px 10px;
  font-size: 1.1rem;
  border: 1px solid #e42c2c;
  line-height: 1;
  box-sizing: border-box;
  text-align: center
}

.home-news-list__cat.is-red {
  background: #e42c2c;
  color: #fff
}

.home-news-list__cat.is-white {
  background: #fff;
  color: #e42c2c
}

.home-news-list__tit {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  margin-top: 4px;
  font-size: 1.3rem;
  line-height: 1.5
}

@media all and (min-width: 768px) {
  .home-news__inner {
    padding-top: 25px;
    padding-bottom: 120px
  }
  .home-news-head__en {
    font-size: 3.8rem
  }
  .home-news-head__ja {
    margin-left: 20px;
    font-size: 1.5rem
  }
  .home-news-btn {
    top: 55px;
    right: 0
  }
  .home-news-list {
    margin-top: 15px
  }
  .home-news-list__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 22px 0
  }
  .home-news-list__link:hover .home-news-list__tit {
    color: #c6000b
  }
  .home-news-list__date {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 120px;
    flex: 0 0 120px;
    max-width: 120px;
    padding-left: 25px;
    box-sizing: border-box;
    font-size: 1.3rem
  }
  .home-news-list__date.is-new:before {
    top: 50%;
    left: 25px;
    -webkit-transform: translateY(-25px) scale(1);
    -ms-transform: translateY(-25px) scale(1);
    transform: translateY(-25px) scale(1)
  }
  .home-news-list__cat {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 90px;
    flex: 0 0 90px;
    max-width: 90px;
    margin-left: 0;
    padding: 5px 10px;
    font-size: 1.2rem
  }
  .home-news-list__tit {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 815px;
    flex: 0 0 815px;
    margin-left: 20px;
    font-size: 1.5rem;
    -webkit-transition: color .6s ease;
    transition: color .6s ease
  }
}

.info-intro__inner {
  padding-top: 60px
}

.info-intro-list {
  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;
  line-height: 1.71429
}

.info-intro-list__label {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc(100% - 45px);
  flex: 0 0 calc(100% - 45px)
}

.info-intro-list__data {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 45px;
  flex: 0 0 45px;
  text-align: right
}

.info-intro-business {
  counter-reset: num
}

.info-intro-business__item {
  position: relative;
  padding-left: 1.5em;
  counter-increment: num;
  line-height: 1.71429
}

.info-intro-business__item:before {
  position: absolute;
  top: 0;
  left: 0;
  content: counter(num) "."
}

@media all and (min-width: 768px) {
  .info-intro__inner {
    padding-top: 140px
  }
  .info-intro-list {
    width: 300px;
    line-height: 1.5
  }
  .info-intro-list__label {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 250px;
    flex: 0 0 250px
  }
  .info-intro-list__data {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50px;
    flex: 0 0 50px
  }
}

.info-perform__inner {
  padding-top: 60px;
  padding-bottom: 45px
}

.info-perform-lineup__item+.info-perform-lineup__item {
  margin-top: 40px
}

.info-perform-lineup__tit {
  margin-bottom: 15px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5
}

@media all and (min-width: 768px) {
  .info-perform__inner {
    padding-top: 120px;
    padding-bottom: 125px
  }
  .info-perform-lineup {
    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
  }
  .info-perform-lineup__item {
    width: 100%
  }
  .info-perform-lineup__item+.info-perform-lineup__item {
    margin-top: 60px
  }
  .info-perform-lineup__item:nth-of-type(-n+2) {
    margin-top: 0
  }
  .info-perform-lineup__item.is-half-pc {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 520px;
    flex: 0 0 520px;
    max-width: 520px
    padding-top: 10px;
    padding-bottom: 80px
  }
  .info-perform-lineup__img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
  }
  .info-perform-lineup__tit {
    margin-bottom: 20px;
    font-size: 2rem
  }
}

.message-intro__inner {
  padding-top: 55px;
  padding-bottom: 70px
}

.message-intro__txt+.message-intro__txt {
  margin-top: 30.8px;
}

.message-intro__txt2 p {
  margin-top: 30.8px;
  text-align: right;
}

.message-intro-img {
  margin-top: 35px
}
@media all and (max-width: 767px) {
  .message-intro-img {
    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;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
  }
  .message-intro-img__photo {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 157px;
    flex: 0 0 157px
  }
  .message-intro-img__profile {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 calc( 100% - 157px - 25px);
    flex: 0 0 calc( 100% - 157px - 25px)
  }
}

.message-intro-img__posi {
  line-height: 1.8
}

.message-intro-img__name {
    width:160px;
    height:40px;
}

@media all and (min-width: 768px) {
  .message-intro__inner {
    padding-top: 160px;
    padding-bottom: 140px
  }
  .message-intro__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .message-intro__area-txt {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 730px;
    flex: 0 0 730px;
    margin-top: -5px
  }
  .message-intro__txt+.message-intro__txt {
    margin-top: 38px;
  }
  .message-intro-img {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 260px;
    flex: 0 0 260px;
    margin-top: 0
  }
  .message-intro-img__profile {
    margin-top: 20px
  }
  .message-intro-img__name {
    margin-top: 10px;
    width: 160px;
    height: 40px;
  }
}

.news-archive__inner {
  padding-top: 60px;
  padding-bottom: 52px
}

.news-archive-selects {
  margin-bottom: 60px
}

.news-archive-selects__item {
  max-width: 280px;
  width: 100%;
  margin: 0 auto 20px
}

.news-archive-selects__select {
  display: block;
  width: 100%;
  height: 50px;
  padding: 0 35px 0 20px;
  background: #fff url(../img/common/ico_arw01.png) no-repeat center right 14px/12px;
  border: 1px solid #888;
  box-sizing: border-box;
  border-radius: 0;
  font-size: 1.6rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer
}

.news-archive-selects__select:focus {
  border: 1px solid #e42c2c;
  background-image: url(../img/common/ico_arw01_red.png)
}

.news-archive-selects__select::-ms-expand {
  display: none
}

@media all and (min-width: 768px) {
  .news-archive__inner {
    padding-top: 134px;
    padding-bottom: 138px
  }
  .news-archive-selects {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 80px
  }
  .news-archive-selects__item {
    max-width: none;
    width: 187px;
    margin: 0 0 0 10px
  }
  .news-archive-selects__item.is-year {
    width: 148px
  }
  .news-archive-selects__select {
    height: 40px;
    padding: 0 35px 0 12px;
    background-position: center right 14px;
    font-size: 1.8rem
  }
}

.office-anchor__inner {
  padding: 46px 52px 20px
}

@media all and (min-width: 768px) {
  .office-anchor__inner {
    padding: 128px 0 20px
  }
}

.office-shop__inner {
  padding-top: 40px;
  padding-bottom: 46px
}

.office-shop-sec {
  position: relative;
  padding: 20px 24px;
  border: 1px solid #ddd;
  box-sizing: border-box
}

.office-shop-sec+.office-shop-sec {
  margin-top: 12px
}

.office-shop__head {
  margin-bottom: 6px;
  padding-right: 100px;
  box-sizing: border-box;
  font-weight: 700;
  font-size: 1.8rem
}

.office-shop__txt {
  line-height: 2.45
}

.office-shop__btn {
  position: absolute;
  top: 30px;
  right: 24px;
  width: 90px
}

.office-shop__btn-link {
  display: block;
  background: #e42c2c;
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
  text-decoration: none;
  text-align: center
}

.office-shop__btn-txt {
  position: relative;
  padding-right: 14px;
  box-sizing: border-box
}

.office-shop__btn-txt:after {
  content: '';
  position: absolute;
  top: 50%;
  right: -12px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 14px;
  height: 4px;
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

@media all and (min-width: 768px) {
  .office-shop__inner {
    padding-top: 40px;
    padding-bottom: 126px
  }
  .office-shop-sec {
    padding: 30px 58px;
    border-width: 2px
  }
  .office-shop__head {
    margin-bottom: 10px;
    padding-right: 0;
    font-size: 2rem
  }
  .office-shop__txt {
    padding-right: 120px;
    box-sizing: border-box
  }
  .office-shop__btn {
    top: auto;
    bottom: 40px;
    right: 58px;
    width: 100px
  }
  .office-shop__btn-link {
    font-size: 1.2rem;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .office-shop__btn-link:hover {
    background: #c6000b
  }
  .office-shop__btn-txt {
    padding-right: 14px
  }
  .office-shop__btn-txt:after {
    right: -10px
  }
}

.officer-data__inner {
  padding-top: 60px;
  padding-bottom: 40px
}

.officer-data__content+.officer-data__content {
  margin-top: 60px
}

.officer-data__item+.officer-data__item {
  margin-top: 15px
}

.officer-data__name {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 130px;
  flex: 0 0 130px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.875
}

.officer-data__txt {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc( 100% - 130px);
  flex: 0 0 calc( 100% - 130px)
}

.officer-data__info {
  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
}

@media all and (min-width: 768px) {
  .officer-data__inner {
    padding-top: 140px;
    padding-bottom: 120px
  }
  .officer-data__content+.officer-data__content {
    margin-top: 115px
  }
  .officer-data__list {
    margin-top: -5px
  }
  .officer-data__item+.officer-data__item {
    margin-top: 20px
  }
  .officer-data__name {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 176px;
    flex: 0 0 176px;
    font-size: 2rem
  }
  .officer-data__txt {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 924px;
    flex: 0 0 924px
  }
}

.organization-data__inner {
  padding-top: 60px;
  padding-bottom: 50px
}

.organization-data__content+.organization-data__content {
  margin-top: 60px
}

.organization-data__img {
  margin-top: 25px
}

@media all and (min-width: 768px) {
  .organization-data__inner {
    padding-top: 140px;
    padding-bottom: 125px
  }
  .organization-data__content+.organization-data__content {
    margin-top: 120px
  }
}

.philosophy-intro__inner {
  padding-top: 55px;
  padding-bottom: 45px
}

.philosophy-intro__lead {
  text-align: center;
  font-size: 1.6rem;
  line-height: 2.125
}

@media all and (min-width: 768px) {
  .philosophy-intro__inner {
    padding-top: 135px;
    padding-bottom: 125px
  }
  .philosophy-intro__lead {
    font-size: 2rem;
    line-height: 1.9
  }
}

.philosophy-intro-copy {
  position: relative;
  margin-top: 55px;
  padding: 49px 0;
  background: url(../img/company/philosophy/bg_copy01_sp.jpg) no-repeat 50% 50%/cover
}

.philosophy-intro-copy:before {
  position: absolute;
  content: '';
  display: block;
  top: 30px;
  left: 50%;
  width: 24px;
  height: 21px;
  background: url(../img/company/philosophy/ico_quotation01.png) no-repeat 50% 50%/cover;
  -webkit-transform: translateX(-105px);
  -ms-transform: translateX(-105px);
  transform: translateX(-105px)
}

.philosophy-intro-copy__txt {
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: .12em
}

@media all and (max-width: 767px) {
  .philosophy-intro-copy__txt+.philosophy-intro-copy__txt {
    margin-top: 10px
  }
}

@media all and (min-width: 768px) {
  .philosophy-intro-copy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 115px;
    padding: 106px 0;
    background-image: url(../img/company/philosophy/bg_copy01_pc.jpg)
  }
  .philosophy-intro-copy:before {
    top: 74px;
    left: 120px;
    width: 28px;
    height: 25px;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
  }
  .philosophy-intro-copy__txt {
    font-size: 4rem;
    letter-spacing: 0.12em
  }
  .philosophy-intro-copy__txt+.philosophy-intro-copy__txt {
    margin-left: 43px
  }
}

.privacy-intro__inner {
  padding-top: 60px;
  padding-bottom: 44px
}

.privacy-intro__txt {
  line-height: 2.45
}

@media all and (min-width: 768px) {
  .privacy-intro__inner {
    padding-top: 140px;
    padding-bottom: 76px
  }
  .privacy-intro__txt {
    text-align: center
  }
}

.privacy-sec+.privacy-sec {
  margin-top: 54px
}

.privacy-sec-area+.privacy-sec-area {
  margin-top: 38px
}

.privacy-sec__head {
  line-height: 1.3;
  margin-bottom: 14px;
  font-weight: 700;
  font-size: 1.6rem
}

.privacy-sec__item+.privacy-sec__item {
  margin-top: 34px
}

.privacy-sec__txt {
  line-height: 2.45
}

.privacy-sec__txt.is-indent {
  padding-left: 2.8em;
  text-indent: -2.7em
}

.privacy-sec__txt:not(.is-indent)+.privacy-sec__txt:not(.is-indent) {
  margin-top: 36px
}

.privacy-sec__pdf {
  width: 78px;
  margin-top: 14px
}

.privacy-sec__pdf-link {
  display: block;
  border: 1px solid #e42c2c;
  box-sizing: border-box;
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: .15em;
  text-align: center;
  text-decoration: none
}

.privacy-sec__pdf-txt {
  position: relative;
  padding-left: 22px;
  box-sizing: border-box
}

.privacy-sec__pdf-txt:before {
  content: '';
  position: absolute;
  top: 50%;
  left: -5px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background: url(../img/common/ico_pdf01.png) no-repeat 0 0/contain
}

@media all and (min-width: 768px) {
  .privacy-sec+.privacy-sec {
    margin-top: 68px
  }
  .privacy-sec-area+.privacy-sec-area {
    margin-top: 52px
  }
  .privacy-sec__head {
    margin-bottom: 14px;
    font-size: 2rem;
    letter-spacing: .12em
  }
  .privacy-sec__item+.privacy-sec__item {
    margin-top: 36px
  }
  .privacy-sec__txt.is-inlineblock {
    display: inline-block
  }
  .privacy-sec__pdf {
    display: inline-block;
    vertical-align: middle;
    width: 100px;
    margin: 0 0 0 18px
  }
  .privacy-sec__pdf-link {
    font-size: 1.6rem;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .privacy-sec__pdf-link:hover {
    color: #e42c2c
  }
  .privacy-sec__pdf-txt {
    padding-left: 26px
  }
  .privacy-sec__pdf-txt:before {
    left: -8px;
    width: 22px;
    height: 22px
  }
}

.privacy-contact__inner {
  padding-top: 60px;
  padding-bottom: 60px
}

.privacy-contact-content {
  padding: 28px 22px;
  border: 2px solid #ddd;
  box-sizing: border-box
}

.privacy-contact__company {
  line-height: 2.1;
  margin-bottom: 2px;
  font-weight: 700;
  font-size: 1.6rem
}

@media all and (min-width: 768px) {
  .privacy-contact__inner {
    padding-top: 80px;
    padding-bottom: 140px
  }
  .privacy-contact-content {
    padding: 49px 58px 54px
  }
  .privacy-contact__company {
    margin-bottom: 0;
    font-size: 2rem;
    letter-spacing: .06em
  }
}

@media all and (max-width: 767px) {
  #projects .l-footer {
    margin-bottom: 60px
  }
}

.projects-archive__inner {
  padding-top: 60px;
  padding-bottom: 50px
}

@media all and (min-width: 768px) {
  .projects-archive__inner {
    padding-top: 140px;
    padding-bottom: 140px
  }
}

.public-intro__inner {
  padding-top: 55px;
  padding-bottom: 20px
}

.public-intro__img {
  margin-top: 30px
}

@media all and (min-width: 768px) {
  .public-intro__inner {
    padding-top: 135px;
    padding-bottom: 40px
  }
  .public-intro__lead {
    text-align: center
  }
  .public-intro__img {
    margin-top: 75px
  }
}

.public-lineup__inner {
  padding-bottom: 60px
}

.public-lineup__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.public-lineup__item {
  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: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 42.5vw;
  max-width: 160px;
  height: 42.5vw;
  max-height: 160px;
  margin-top: 15px;
  border-radius: 50%;
  border: 1px solid #ddd;
  box-sizing: border-box
}

.public-lineup__ico {
  width: 56px
}

.public-lineup__txt {
  font-weight: 700;
  font-size: 1.5rem
}

@media all and (min-width: 768px) {
  .public-lineup__inner {
    padding-bottom: 120px
  }
  .public-lineup__content {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
  .public-lineup__item {
    width: 245px;
    max-width: 245px;
    height: 245px;
    max-height: 245px;
    margin: 40px 20px 0
  }
  .public-lineup__ico {
    width: 80px
  }
  .public-lineup__txt {
    font-size: 2rem
  }
  .public-lineup__btn {
    margin-top: 80px
  }
}

.recruit-content__inner {
  padding-top: 60px;
  padding-bottom: 60px
}

.recruit-content__wrap {
  margin-top: 60px;
  text-align: center
}

.recruit-content-bnr {
  margin-bottom: 40px
}

.recruit-content-bnr__link {
  position: relative;
  display: block;
  text-decoration: none
}

.recruit-content-bnr__bg {
  box-shadow: 6px 6px 10px rgba(0, 0, 0, 0.1)
}

.recruit-content-bnr__box {
  position: relative;
  padding: 30px;
  margin: -30px 30px 0;
  box-shadow: 6px 6px 10px rgba(0, 0, 0, 0.1);
  background: #fff
}

.recruit-content-bnr__box:after {
  position: absolute;
  content: '';
  display: block;
  bottom: 15px;
  right: 20px;
  width: 21px;
  height: 6px;
  background-position: 100% 50%;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23222222%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
}

.recruit-content-bnr__en {
  font-weight: 700;
  color: #c6000b;
  letter-spacing: 0.1em
}

.recruit-content-bnr__main {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.1em;
  color: #222
}

@media all and (min-width: 768px) {
  .recruit-content__inner {
    padding-top: 100px;
    padding-bottom: 100px
  }
  .recruit-content__txt {
    text-align: center
  }
  .recruit-content__wrap {
    margin-top: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .recruit-content-bnr {
    width: calc(50% - 10px)
  }
  .recruit-content-bnr__link:hover .recruit-content-bnr__bg {
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.1);
    opacity: 0.8
  }
  .recruit-content-bnr__link:hover .recruit-content-bnr__box {
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.1);
    color: #c6000b
  }
  .recruit-content-bnr__link:hover .recruit-content-bnr__box:after {
    background-position: 100% 50%;
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%22660px%22%20height%3D%225px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23c6000b%22%20d%3D%22M659.5%204.1H0V2.7h653.6V0l5.9%204.1z%22%2F%3E%3C%2Fsvg%3E%0D%0A")
  }
  .recruit-content-bnr__link:hover .recruit-content-bnr__main {
    color: #c6000b
  }
  .recruit-content-bnr__bg {
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .recruit-content-bnr__box {
    -webkit-transition: all .6s ease;
    transition: all .6s ease;
    margin-top: -60px
  }
  .recruit-content-bnr__box:after {
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .recruit-content-bnr__main {
    -webkit-transition: color .6s ease;
    transition: color .6s ease;
    font-size: 24px
  }
}

.renovation-intro__inner {
  padding-top: 55px;
  padding-bottom: 20px
}

.renovation-intro__img {
  margin-top: 30px
}

@media all and (min-width: 768px) {
  .renovation-intro__inner {
    padding-top: 135px;
    padding-bottom: 40px
  }
  .renovation-intro__lead {
    text-align: center
  }
  .renovation-intro__img {
    margin-top: 75px
  }
}

.renovation-anchor {
  background: #f2f2f2
}

.renovation-anchor__inner {
  padding-top: 40px;
  padding-bottom: 40px
}

@media all and (min-width: 768px) {
  .renovation-anchor__inner {
    padding-top: 80px;
    padding-bottom: 80px
  }
}

.renovation-sec__inner {
  position: relative;
  padding-bottom: 60px
}

.renovation-sec__note {
  margin-top: 5px;
  font-size: 1.3rem;
  color: #888
}

.renovation-sec__img {
  margin-top: 30px
}

@media all and (min-width: 768px) {
  .renovation-sec__inner {
    padding-bottom: 120px
  }
  .renovation-sec__lead {
    text-align: center
  }
  .renovation-sec__note {
    font-size: 1.4rem;
    text-align: center
  }
  .renovation-sec__img {
    margin-top: 55px
  }
  .renovation-sec__btn {
    margin-top: 68px
  }
}

.renovation-sec-detail {
  margin-top: 40px;
  padding: 20px 0;
  position: relative
}

.renovation-sec-detail.has-bg {
  padding: 40px 0
}

.renovation-sec-detail.has-bg:before {
  position: absolute;
  content: '';
  top: 0;
  bottom: 0;
  left: 50%;
  right: auto;
  width: 120vw;
  min-width: 100%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #f2f2f2;
  z-index: -1
}

.renovation-sec-detail__img {
  margin-top: 30px
}

@media all and (min-width: 768px) {
  .renovation-sec-detail {
    margin-top: 75px;
    padding: 5px 0
  }
  .renovation-sec-detail.has-bg {
    padding: 60px 0
  }
  .renovation-sec-detail__img {
    margin-top: 55px
  }
}

.renovation-sec-case {
  margin-top: 40px
}

.renovation-sec-case__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 25px
}

.renovation-sec-case__head-num {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 58px;
  flex: 0 0 58px;
  max-width: 58px;
  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;
  color: #e42c2c;
  line-height: 1;
  font-size: 3.6rem
}

.renovation-sec-case__head-num:after {
  display: block;
  content: '';
  left: 0;
  bottom: 0;
  width: 2px;
  height: 56px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #e42c2c), color-stop(50.1%, #B10A0A));
  background: linear-gradient(to bottom, #e42c2c 50%, #B10A0A 50.1%)
}

.renovation-sec-case__head-ja {
  padding-left: 20px;
  line-height: 1.5;
  font-size: 1.8rem
}

.renovation-sec-case__item {
  position: relative;
  background: #f2f2f2
}

.renovation-sec-case__item+.renovation-sec-case__item {
  margin-top: 45px
}

.renovation-sec-case__item+.renovation-sec-case__item:nth-of-type(even):not(.has-no-arrow):before {
  content: '';
  position: absolute;
  top: -38px;
  left: 50%;
  width: 16px;
  height: 16px;
  margin-left: -9px;
  border-right: 3px solid #e42c2c;
  border-bottom: 3px solid #e42c2c;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.renovation-sec-case__item.has-no-arrow {
  margin-top: 20px
}

.renovation-sec-case__txt {
  padding: 15px 25px
}

.renovation-sec-case-list {
  padding: 15px 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.renovation-sec-case-list__item {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%
}

@media all and (min-width: 768px) {
  .renovation-sec-case {
    margin-top: 60px;
    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
  }
  .renovation-sec-case__head {
    width: 100%;
    margin-bottom: 20px
  }
  .renovation-sec-case__head-num {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 84px;
    flex: 0 0 84px;
    max-width: 84px;
    font-size: 5rem
  }
  .renovation-sec-case__head-num:after {
    height: 80px
  }
  .renovation-sec-case__head-ja {
    padding-left: 23px;
    font-size: 2.8rem
  }
  .renovation-sec-case__item.is-half-pc {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 507px;
    flex: 0 0 507px;
    max-width: 507px
  }
  .renovation-sec-case__item.is-wide-pc {
    width: 100%
  }
  .renovation-sec-case__item+.renovation-sec-case__item {
    margin: 0
  }
  .renovation-sec-case__item+.renovation-sec-case__item:nth-of-type(n+3) {
    margin-top: 60px
  }
  .renovation-sec-case__item+.renovation-sec-case__item:nth-of-type(even):not(.has-no-arrow):before {
    top: 50%;
    left: -57px;
    margin: -9px 0 0;
    border-right: 4px solid #e42c2c;
    border-bottom: 4px solid #e42c2c;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }
  .renovation-sec-case__txt {
    padding: 20px 30px
  }
  .renovation-sec-case-list {
    padding: 20px 30px
  }
}

.renovation-sec-feature {
  margin-top: 30px;
  padding: 22px 20px;
  position: relative;
  border: 2px solid #ddd;
  font-size: 1.3rem;
  line-height: 1.5
}

.renovation-sec-feature__head {
  margin-bottom: 25px;
  font-size: 1.8rem
}

.renovation-sec-feature-list {
  margin-bottom: -15px
}

.renovation-sec-feature-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 15px;
  padding: 0 10px 15px 0;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box
}

.renovation-sec-feature-list__item:last-of-type {
  border-bottom: none
}

.renovation-sec-feature-list__ico {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50px;
  flex: 0 0 50px;
  max-width: 50px
}

.renovation-sec-feature-list__txt {
  margin-left: 10px
}

@media all and (min-width: 768px) {
  .renovation-sec-feature {
    margin-top: 60px;
    padding: 55px 60px 60px;
    font-size: 1.5rem
  }
  .renovation-sec-feature__head {
    margin-bottom: 40px;
    font-size: 2.8rem
  }
  .renovation-sec-feature-list {
    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: -20px
  }
  .renovation-sec-feature-list.is-column3-pc .renovation-sec-feature-list__item {
    width: calc((100% - 40px)/3)
  }
  .renovation-sec-feature-list.is-column3-pc .renovation-sec-feature-list__item:nth-of-type(-n+3) {
    margin-top: 0
  }
  .renovation-sec-feature-list.is-column3-pc .renovation-sec-feature-list__item:nth-last-of-type(-n+3) {
    border-bottom: none
  }
  .renovation-sec-feature-list__item {
    width: calc((100% - 40px)/2);
    margin-top: 20px;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #ddd
  }
  .renovation-sec-feature-list__item:nth-of-type(-n+2) {
    margin-top: 0
  }
  .renovation-sec-feature-list__item:nth-last-of-type(-n+2):nth-of-type(odd) {
    border-bottom: none
  }
  .renovation-sec-feature-list__ico {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 65px;
    flex: 0 0 65px;
    max-width: 65px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
  }
  .renovation-sec-feature-list__txt {
    margin-left: 15px
  }
}

.safety-content__inner {
  padding-top: 60px;
  padding-bottom: 44px
}

@media all and (min-width: 768px) {
  .safety-content__inner {
    padding-top: 140px;
    padding-bottom: 120px
  }
}

.safety-sec+.safety-sec {
  margin-top: 52px
}

.safety-sec-area+.safety-sec-area {
  margin-top: 62px
}

.safety-sec-philosophy {
  padding: 44px 0;
  box-sizing: border-box;
  background: rgba(242, 242, 242, 0.6);
  color: #4B4B4B;
  text-align: center
}

.safety-sec-philosophy__txt {
  line-height: 1.9;
  position: relative;
  font-weight: 500;
  font-size: 2.4rem;
  letter-spacing: .12em
}

.safety-sec-philosophy__txt:before {
  content: '';
  position: absolute;
  top: -12px;
  left: -32px;
  width: 24px;
  height: 21px;
  background: url(../img/company/safety/ico_decoration01.png) no-repeat 0 0/contain
}

.safety-sec-philosophy__txt.is-small {
  font-size: 2.2rem
}

@media (max-width: 390px) {
  .safety-sec-philosophy__txt.is-small {
    font-size: 2rem
  }
}

.safety-sec__txt+.safety-sec__txt {
  margin-top: 24px
}

.safety-sec__sign {
  margin-top: 10px;
  text-align: right
}

@media all and (min-width: 768px) {
  .safety-sec+.safety-sec {
    margin-top: 116px
  }
  .safety-sec-area+.safety-sec-area {
    margin-top: 70px
  }
  .safety-sec-philosophy {
    padding: 56px 0
  }
  .safety-sec-philosophy__txt {
    font-size: 4rem
  }
  .safety-sec-philosophy__txt:before {
    top: 2px;
    left: -36px;
    width: 28px;
    height: 25px
  }
  .safety-sec-philosophy__txt.is-small {
    font-size: 3.8rem
  }
  .safety-sec__txt+.safety-sec__txt {
    margin-top: 38px
  }
  .safety-sec__sign {
    margin-top: 26px
  }
}

.sitemap-content__inner {
  padding-top: 18px;
  padding-bottom: 36px
}

.sitemap-content__btn {
  line-height: 1.5;
  margin: 40px 0 25px
}

.sitemap-content__btn-link {
  position: relative;
  display: block;
  padding-bottom: 12px;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: .06em;
  text-decoration: none
}

.sitemap-content__btn-link:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 64px;
  height: 1px;
  background: #e42c2c
}

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

.sitemap-content-child__btn {
  line-height: 1.5;
  width: calc(50% - 9px);
  margin-bottom: 13px
}

.sitemap-content-child__btn-link {
  position: relative;
  display: block;
  padding-left: 1em;
  box-sizing: border-box;
  text-decoration: none
}

.sitemap-content-child__btn-link:before {
  content: '';
  position: absolute;
  top: 10px;
  left: 0;
  width: 8px;
  height: 1px;
  background: #e42c2c
}

@media all and (min-width: 768px) {
  .sitemap-content__inner {
    padding-top: 58px;
    padding-bottom: 100px
  }
  .sitemap-content__btn {
    margin: 80px 0 40px
  }
  .sitemap-content__btn-link {
    padding-bottom: 19px;
    font-size: 2.6rem;
    letter-spacing: .1em;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .sitemap-content__btn-link:before {
    width: 110px
  }
  .sitemap-content__btn-link:hover {
    color: #e42c2c
  }
  .sitemap-content-child {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 550px
  }
  .sitemap-content-child__btn {
    width: 235px;
    margin-bottom: 14px
  }
  .sitemap-content-child__btn-link {
    padding-left: 1.1em;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
  }
  .sitemap-content-child__btn-link:before {
    top: 13px
  }
  .sitemap-content-child__btn-link:hover {
    color: #e42c2c
  }
}

.solution-intro__inner {
  padding-top: 55px;
  padding-bottom: 55px
}

@media all and (min-width: 768px) {
  .solution-intro__inner {
    padding-top: 135px;
    padding-bottom: 80px
  }
  .solution-intro__lead {
    width: 696px;
    margin: 0 auto;
    text-align: center
  }
}

.solution-lineup__content {
  position: relative
}

.solution-lineup__content.is-main .solution-lineup__img {
  margin: 0 -20px
}

.solution-lineup__content.is-sub {
  padding-bottom: 12px
}

.solution-lineup__content.is-sub:before {
  position: absolute;
  content: '';
  top: 94px;
  bottom: 0;
  left: -20px;
  right: -20px;
  background: #f2f2f2;
  z-index: -1
}

.solution-lineup__content.is-sub .solution-lineup__area-txt {
  margin-left: 20px;
  margin-right: 20px
}

.solution-lineup__content.is-sub .solution-lineup__tit {
  font-size: 1.6rem
}

.solution-lineup__item {
  margin-bottom: 60px
}

.solution-lineup__area-txt {
  position: relative;
  margin-top: -25px;
  padding: 25px 25px 28px;
  background: #fff;
  box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.1);
  box-sizing: border-box
}

.solution-lineup__en {
  color: #e42c2c;
  font-size: 1rem;
  line-height: 1.2
}

.solution-lineup__tit {
  font-size: 1.8rem;
  line-height: 1.5
}

.solution-lineup__txt {
  margin-top: 10px
}

.solution-lineup__more {
  position: absolute;
  right: 20px;
  bottom: 0;
  -webkit-transform: translateY(50%);
  -ms-transform: translateY(50%);
  transform: translateY(50%)
}

@media all and (min-width: 768px) {
  .solution-lineup__content.is-main .solution-lineup__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
  .solution-lineup__content.is-main .solution-lineup__img {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 660px;
    flex: 0 0 660px;
    max-width: 660px;
    margin: 0 -110px 35px 0
  }
  .solution-lineup__content.is-main .solution-lineup__area-txt {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 550px;
    flex: 0 0 550px;
    max-width: 550px;
    padding: 45px 50px;
    min-height: 266px
  }
  .solution-lineup__content.is-main .solution-lineup__item:nth-of-type(odd) .solution-lineup__link {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
  }
  .solution-lineup__content.is-main .solution-lineup__item:nth-of-type(odd) .solution-lineup__link .solution-lineup__img {
    margin-right: 0;
    margin-left: -110px
  }
  .solution-lineup__content.is-sub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-bottom: 40px
  }
  .solution-lineup__content.is-sub:before {
    position: absolute;
    top: 98px;
    bottom: 0;
    left: 50%;
    right: auto;
    width: 120vw;
    min-width: 100%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
  }
  .solution-lineup__content.is-sub .solution-lineup__item {
    width: calc((100% - 54px)/3);
    margin-left: 28px
  }
  .solution-lineup__content.is-sub .solution-lineup__item:nth-of-type(3n+1) {
    margin-left: 0
  }
  .solution-lineup__content.is-sub .solution-lineup__area-txt {
    margin-left: 20px;
    margin-right: 20px
  }
  .solution-lineup__content.is-sub .solution-lineup__tit {
    font-size: 2.2rem
  }
  .solution-lineup__item {
    margin-bottom: 100px
  }
  .solution-lineup__link:hover .solution-lineup__area-txt {
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.03)
  }
  .solution-lineup__area-txt {
    min-height: 131px;
    -webkit-transition: box-shadow .6s ease;
    transition: box-shadow .6s ease
  }
  .solution-lineup__en {
    font-size: 1.1rem
  }
  .solution-lineup__tit {
    font-size: 2.8rem
  }
  .solution-lineup__txt {
    margin-top: 12px;
    font-size: 1.5rem
  }
  .solution-lineup__more {
    width: 100px;
    font-size: 1.2rem;
    bottom: 20px;
    right: -10px;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }
  .chart_container {
width:80%;
margin-left:auto;
margin-right:auto;
}
  
}