@charset "UTF-8";
select,
button {
  cursor: pointer;
}

.box-01.mv {
  display: table;
  box-sizing: border-box;
  width: 100%;
  padding: 1.985% 5.172%;
}

.box-01 .text,
.box-01 .image {
  vertical-align: middle;
  display: table-cell;
}

.box-01 .text {
  width: 43.72%;
}

.box-01 .text .text-main {
  font-size: 62px;
  font-weight: bold;
  line-height: 1.1875;
}

.box-01 .text .text-sub {
  font-size: 14px;
}

.box-01 .image {
  padding-left: 2%;
}

.menu-index {
  background-color: #f6f6f6;
  padding: 10px 30px;
}

.menu-index > :last-child {
  margin-bottom: 0;
}

.menu-index .anc-link::after {
  position: relative;
  top: 0;
  right: 0;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 10px;
  content: "";
  transform: rotate(45deg) translateY(-50%);
  border-right: 2px solid #01916d;
  border-bottom: 2px solid #01916d;
}

.menu-index > .hdg {
  font-size: 24px;
  margin-bottom: 40px;
}

.menu-index > .layout-panel-flex .anc-link {
  font-size: 18px;
  display: block;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #dcdcdc;
}

.menu-index .layout-panel-flex > .inner > .col > .col-inner {
  justify-content: flex-start;
}

.hdg-lv3-02 {
  font-size: 18px;
  line-height: 1.25;
}

.hdg-lv3-02.type-01,
.hdg-lv3-02.type-02,
.hdg-lv3-02.type-03 {
  position: relative;
  padding-left: 38px;
}

.hdg-lv3-02.type-01::before,
.hdg-lv3-02.type-02::before,
.hdg-lv3-02.type-03::before {
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  top: -4px;
  left: 4px;
  display: block;
  width: 21px;
  height: 30px;
  content: "";
}

.hdg-lv3-02.type-01::before {
  background-image: url(/contents/file/images/icon-index-01.png);
}

.hdg-lv3-02.type-02::before {
  background-image: url(/contents/file/images/icon-index-02.png);
}

.hdg-lv3-02.type-03::before {
  background-image: url(/contents/file/images/icon-index-03.png);
}

.layout-panel-flex {
  margin-bottom: 0;
}

.box-panel-01 {
  margin-bottom: 20px;
}

.box-panel-01 > .box-inner > .panel {
  min-height: 270px;
}

.box-panel-01.type-02 > .box-inner > .panel {
  background-color: #fff;
  position: relative;
  width: 23.3%;
  max-width: 100%;
  margin-left: 20px;
  padding: 0;
  border: 1px solid #d7d7d7;
}

.box-panel-01.type-02 > .box-inner > .panel.chain2 {
  width: 48.3%;
}

.box-panel-01.type-02 > .box-inner > .panel.chain4 {
  width: 99%;
}

.box-panel-01.type-02 > .box-inner > .panel .content {
  margin: 0;
}

.box-panel-01.type-02 > .box-inner > .panel .hdg {
  font-size: 21px;
  font-weight: normal;
  background-color: #ebebeb;
  position: relative;
  margin-bottom: 20px;
  padding: 5px 15px 7px;
}

.box-panel-01.type-02 > .box-inner > .panel .hdg::before {
  content: none;
}

.box-panel-01.type-02 > .box-inner > .panel .item {
  padding-right: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
}

.box-panel-01.type-02 > .box-inner > .panel .item .layout-panel-flex > .inner {
  margin: 0;
}

.box-panel-01.type-02 > .box-inner > .panel .item .layout-panel-flex > .inner > .col {
  padding-top: 0;
  padding-left: 20px;
  border-left: 1px solid #ebebeb;
}

.box-panel-01.type-02 > .box-inner > .panel .item .layout-panel-flex > .inner > .col:first-child {
  padding-right: 20px;
  padding-left: 0;
  border: none;
}

.box-panel-01.type-02 > .box-inner > .panel a:hover .text {
  color: #000;
}

.box-panel-01.type-02 > .box-inner > .panel a:hover .btn-01 {
  color: #000;
  background-color: #fff;
  border: 1px solid #d7d7d7;
}

.box-panel-01.type-02 > .box-inner > .panel a:hover .btn-01::after {
  border-color: #d92231;
}

.box-panel-01.type-02 > .box-inner > .panel a:hover .box-wrapper {
  color: #000;
}

.box-panel-01.type-02 > .box-inner > .panel .text {
  min-height: 130px;
  padding: 0;
}

.box-panel-01.type-02 > .box-inner > .panel .text > p {
  margin-bottom: 10px;
}

.box-panel-01.type-02 > .box-inner > .panel .text > p.title {
  font-size: 21px;
}

.box-panel-01.type-02 > .box-inner > .panel .image {
  text-align: center;
  position: relative;
  margin-bottom: 20px;
}

.box-panel-01.type-02 > .box-inner > .panel .image > img {
  display: inline-block;
  max-width: 100%;
}

.box-panel-01.type-02 > .box-inner > .panel .detail {
  padding: 0 0 20px 0;
}

.box-panel-01.type-02 > .box-inner > .panel .btn-wrapper {
  margin-bottom: 20px;
}

.box-panel-01.type-02 > .box-inner > .panel .btn-wrapper > .btn-01 {
  width: 100%;
  padding: 5px 25px 5px 25px;
}

.box-panel-01.type-02 > .box-inner > .panel .box-wrapper {
  font-size: 14px;
}

.bnr-image {
  margin: 70px 0;
}

.bnr-image:hover {
  opacity: .6;
}
