@charset "UTF-8";
@import url(//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap);
@import url(//fonts.googleapis.com/css2?family=Poppins:wght@500;600&display=swap);
/*------------------------------------------
  Base Layout
------------------------------------------*/
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6em;
  background: #fff;
  color: #2e2e2e;
  line-height: 1.5;
  letter-spacing: .05em;
}
body.fixed {
  overflow: hidden;
}

a {
  color: #2e2e2e;
  text-decoration: none;
}
a.hvop {
  transition: opacity .3s ease;
}
a.hvop:hover {
  opacity: .7;
  transition: opacity .2s ease;
}

.disp-tab {
  display: none;
}

.disp-sp {
  display: none;
}

@media only screen and (max-width: 1024px) {
  body {
    font-size: 1.4rem;
  }
  .disp-tab {
    display: block;
  }
}

@media only screen and (max-width: 768px) {
  a.hvop:hover {
    opacity: 1;
  }
  .disp-pc {
    display: none;
  }
  .disp-sp {
    display: block;
  }
}

/*------------------------------------------
  modules
------------------------------------------*/
.l-grid {
  display: -moz-flex;
  display:      flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
}

.l-grid-col-2 .l-grid-item {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 4%;
}
.l-grid-col-2 .l-grid-item:nth-child(2n) {
  margin-right: 0;
}

.l-grid-col-3 .l-grid-item {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 2%;
}
.l-grid-col-3 .l-grid-item:nth-child(3n) {
  margin-right: 0;
}

.l-grid-col-4 .l-grid-item {
  width: 23%;
  margin-right: 2.6666%;
  margin-bottom: 4%;
}
.l-grid-col-4 .l-grid-item:nth-child(4n) {
  margin-right: 0;
}

/* ========== layout ========== */
.layout-type01 {
  max-width: 1300px;
  margin: auto;
  padding: 0 50px;
}

.layout-type02 {
  max-width: 1200px;
  margin: auto;
  padding: 0 50px;
}

.layout-type03 {
  max-width: 1100px;
  margin: auto;
  padding: 0 50px;
}

.layout-type04 {
  max-width: 1000px;
  margin: auto;
  padding: 0 50px;
}

.layout-type05 {
  max-width: 900px;
  margin: auto;
  padding: 0 50px;
}

/* ========== title ========== */
.title-type01 {
  font-weight: 500;
  font-size: 3rem;
  margin-bottom: 30px;
}

.title-type02 {
  font-weight: 500;
  font-size: 3rem;
  border-bottom: 1px solid #d1d1d1;
  padding-bottom: 14px;
  padding-left: 24px;
  margin-bottom: 40px;
  position: relative;
}
.title-type02:before, .title-type02:after {
  content: "";
  width: 6px;
  position: absolute;
  top: .3em;
  left: 0;
}
.title-type02:before {
  height: 32px;
  background: #2e2e2e;
}
.title-type02:after {
  height: 16px;
  background: #da291c;
}

.title-type03 {
  margin-bottom: 40px;
  align-items: center;
}
.title-type03 .ttl-text {
  font-weight: 500;
  font-size: 3rem;
  box-sizing: border-box;
  border: 4px solid #f0f0f0;
  padding: 1em;
  position: relative;
}
.title-type03.l-grid .ttl-text {
  width: calc( 100% - 200px);
}
.title-type03.l-grid .ttl-text:before, .title-type03.l-grid .ttl-text:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
}
.title-type03.l-grid .ttl-text:before {
  border-width: 25px 0 25px 40px;
  border-color: transparent transparent transparent #f0f0f0;
}
.title-type03.l-grid .ttl-text:after {
  border-width: 20px 0 20px 33px;
  border-color: transparent transparent transparent #fff;
}
.title-type03.l-grid .ttl-image {
  width: 180px;
  padding: 0 10px;
  text-align: right;
}

.title-type04 {
  margin-bottom: 40px;
  display: inline-block;
  font-weight: 500;
  font-size: 3rem;
}
.title-type04 span {
  background: linear-gradient(transparent 60%, #fff 60%);
}

.title-type05 {
  margin-bottom: 10px;
  color: #da291c;
  font-size: 2.6rem;
  font-family: "Poppins", sans-serif;
}

.title-type06 {
  margin-bottom: 50px;
  color: #da291c;
  font-size: 3rem;
  font-weight: 500;
  text-align: center;
  border-top: 2px solid #da291c;
  border-bottom: 2px solid #da291c;
  padding: 10px;
}
.title-type06 span {
  font-size: 4.8rem;
  line-height: 1.1;
}

.title-type07 {
  text-align: center;
  position: relative;
  margin-bottom: 35px;
  padding-bottom: 18px;
  font-weight: 500;
  font-size: 3.2rem;
}
.title-type07:after {
  content: "";
  background: #da291c;
  width: 60px;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -30px;
}

.title-type08 {
  font-size: 2.6rem;
  margin-bottom: 30px;
  text-align: center;
  font-weight: 500;
}

/* ========== btn ========== */
.btn-type01 {
  display: table;
  width: 100%;
  height: 60px;
  color: #fff;
  text-align: center;
  font-weight: 500;
}
.btn-type01 p {
  display: table-cell;
  vertical-align: middle;
}
.btn-type01 p span {
  display: inline-block;
  padding: 5px 0 5px 35px;
}
.btn-type01.ico-dl {
  background: #0b2986;
}
.btn-type01.ico-dl span {
  background: url(../images/common/ico-dl.png) no-repeat left center;
  background-size: 26px;
}

.btn-type01.ico-mail {
  background: #da291c;
}
.btn-type01.ico-mail span {
  background: url(../images/common/ico-mail.png) no-repeat left center;
  background-size: 26px;
}

.btn-type02 {
  display: inline-block;
  width: 100%;
  max-width: 440px;
  text-align: center;
  color: #da291c;
  border: 1px solid #da291c;
  font-size: 1.8rem;
  padding: 1em 0;
  position: relative;
}
.btn-type02:before {
  content: "";
  position: absolute;
  top: 50%;
  width: 8px;
  height: 8px;
  border-bottom: 1px solid #da291c;
  border-right: 1px solid #da291c;
}
.btn-type02.arrowB:before {
  transform: rotate(45deg);
  right: 25px;
  margin-top: -5px;
}
.btn-type02.arrowR:before {
  transform: rotate(-45deg);
  right: 25px;
  margin-top: -3px;
}
.btn-type02.arrowDL {
  border-color: #0b2986;
  color: #0b2986;
}
.btn-type02.arrowDL:before {
  border: none;
  width: 20px;
  height: 18px;
  background: url(../images/common/ico-dl_blue.png) no-repeat center;
  background-size: 100%;
  margin-top: -9px;
  right: 18px;
}
.btn-type02.arrowML:before {
  border: none;
  width: 20px;
  height: 18px;
  background: url(../images/common/ico-mail_red.png) no-repeat center;
  background-size: 100%;
  margin-top: -9px;
  right: 18px;
}

.btn-type03 {
  display: inline-block;
  width: 100%;
  max-width: 320px;
  font-weight: 500;
  text-align: center;
  color: #da291c;
  border: 1px solid #da291c;
  background: #fff;
  font-size: 1.8rem;
  padding: 1em 0;
  position: relative;
  box-sizing: border-box;
}
.btn-type03:before {
  content: "";
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  border-bottom: 1px solid #da291c;
  border-right: 1px solid #da291c;
}
.btn-type03.arrowB:before {
  transform: rotate(45deg);
  right: 25px;
  margin-top: -8px;
}
.btn-type03.arrowR:before {
  transform: rotate(-45deg);
  right: 25px;
  margin-top: -6px;
}

.btn-type04 {
  display: inline-block;
  background: #fff;
  width: 240px;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  color: #da291c;
  border: 1px solid #da291c;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 1em 20px;
  position: relative;
}
.btn-type04:before {
  content: "";
  position: absolute;
  top: 50%;
  width: 6px;
  height: 6px;
  border-bottom: 1px solid #da291c;
  border-right: 1px solid #da291c;
  transform: rotate(-45deg);
  right: 20px;
  margin-top: -3px;
}

.btn-type05 {
  display: inline-block;
  background: #fff;
  width: 240px;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  color: #da291c;
  border: 1px solid #da291c;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 1em 20px;
  position: relative;
  margin: 1em;
}
@media only screen and (max-width: 1171px) {
  .btn-type05 {
    margin: 0.2em;
  }
}
.btn-type05:before {
  content: "";
  position: absolute;
  top: 50%;
  width: 6px;
  height: 6px;
  border-bottom: 1px solid #da291c;
  border-right: 1px solid #da291c;
  transform: rotate(-45deg);
  right: 20px;
  margin-top: -3px;
}


/* ========== list ========== */
.list-type01 .list-item {
  justify-content: space-between;
  margin-bottom: 40px;
}
.list-type01 .list-item:last-child {
  margin-bottom: 0;
}
.list-type01 .list-item.l-grid .item-image {
  width: 52%;
}
.list-type01 .list-item.l-grid .item-text {
  width: 45%;
}

.list-type01 .item-image img {
  border: 1px solid #dfdfdf;
}

.list-type01 .item-text {
  line-height: 1.875;
  text-align: justify;
}
.list-type01 .item-text p {
  margin-bottom: 1em;
}
.list-type01 .item-text p:last-child {
  margin-bottom: 0;
}

.list-type02 .list-item {
  margin-bottom: 65px;
}
.list-type02 .list-item:last-child {
  margin-bottom: 0;
}

.list-type02 .item-head {
  margin-bottom: 25px;
}
.list-type02 .item-head .head-label {
  width: 50px;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  color: #da291c;
  font-size: 1.2rem;
  padding-top: 2px;
  line-height: 1.4;
}
.list-type02 .item-head .head-label span {
  display: inline-block;
  vertical-align: middle;
}
.list-type02 .item-head .head-label .num {
  font-size: 3rem;
  margin-left: 5px;
}
.list-type02 .item-head .head-title {
  font-size: 2.8rem;
  font-weight: 500;
  width: calc( 100% - 50px);
}
.list-type02 .item-head__type02 .head-label {
  width: 100px;
}
.list-type02 .item-head__type02 .head-title {
  width: calc( 100% - 120px);
  margin-left: auto;
}

.list-type02 .item-contents {
  justify-content: space-between;
}
.list-type02 .item-contents .image {
  width: 52%;
}
.list-type02 .item-contents .image img {
  border: 1px solid #dfdfdf;
}
.list-type02 .item-contents .text {
  line-height: 1.875;
  width: 45%;
  text-align: justify;
}
.list-type02 .item-contents .text p {
  margin-bottom: 1em;
}
.list-type02 .item-contents .text p:last-child {
  margin-bottom: 0;
}
.list-type02 .item-contents .text .check {
  font-weight: 500;
  font-size: 1.8rem;
  padding-left: 40px;
  position: relative;
}
.list-type02 .item-contents .text .check:before,
.list-type02 .item-contents .text ul li:before {
  content: "";
  width: 25px;
  height: 25px;
  position: absolute;
  left: 0;
  top: 5px;
  background: url(../images/common/ico-check.png) no-repeat;
  background-size: 100%;
}
.list-type02 .item-contents .text ul li {
  font-weight: 500;
  font-size: 1.8rem;
  padding-left: 40px;
  margin-bottom: 1em;
  position: relative;
}
.list-type02 .item-contents .text ul li:last-child {
  margin-bottom: 0;
}
.list-type02 .item-contents .ttl {
  font-weight: bold;
  font-size: 1.8rem;
}
.list-type02 .item-contents .marker {
  background: #ccedfc;
  font-weight: bold;
}

.list-type03 {
  justify-content: space-between;
}
.list-type03 .list-item {
  width: 24%;
  text-align: center;
  background: #f3f3f3;
  margin-bottom: 15px;
}
.list-type03 .item-inner {
  display: block;
  position: relative;
  padding: 35px 0;
}
.list-type03 .item-inner:after {
  content: "";
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 12px 12px;
  border-color: transparent transparent #da291c transparent;
}
.list-type03 .item-image {
  margin-bottom: 10px;
}
.list-type03 .item-text {
  font-weight: 500;
}

.list-type04 {
  justify-content: space-between;
}
.list-type04 .list-item {
  width: 49%;
  background: #fff;
  margin-bottom: 15px;
}
.list-type04 .item-inner {
  display: block;
  position: relative;
  padding: 1.5em;
}
.list-type04 .item-inner:after {
  content: "";
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 12px 12px;
  border-color: transparent transparent #da291c transparent;
}
.list-type04 .item-text {
  font-weight: 500;
}

.list-type05 .list-item {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 2%;
  border: 1px solid #d6d6d6;
  box-sizing: border-box;
  position: relative;
}
.list-type05 .list-item:nth-child(3n) {
  margin-right: 0;
}
.list-type05 .list-item:after {
  content: "";
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 12px 12px;
  border-color: transparent transparent #da291c transparent;
}

.list-type05 .item-inner {
  display: block;
}

.list-type05 .item-image {
  position: relative;
}
.list-type05 .item-image .category {
  position: absolute;
  top: 20px;
  right: 20px;
  color: #fff;
  background: #0b2986;
  font-size: 1.2rem;
  padding: 3px 1em;
}

.list-type05 .item-text {
  position: relative;
  padding: 1em 1.5em;
  font-weight: 500;
}
.list-type05 .item-text .name {
  font-size: 1.2rem;
  margin-top: 15px;
}

.list-type06 .list-item {
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #d1d1d1;
}
.list-type06 .list-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.list-type06 .item-inner {
  align-items: center;
}

.list-type06 .item-head {
  width: 235px;
  line-height: 1;
}
.list-type06 .item-head .head__date {
  font-family: "Poppins", sans-serif;
  font-size: 1.8rem;
  padding-top: 3px;
  align-items: center;
}
.list-type06 .item-head .head__category {
  font-size: 1.2rem;
  color: #fff;
  background: #0b2986;
  width: 115px;
  text-align: center;
  padding: 4px 0 6px;
  margin-left: auto;
}
.list-type06 .item-head .head__category2{
  font-size: 1.2rem;
  color: #fff;
  background: #008000;
  width: 115px;
  text-align: center;
  padding: 4px 0 6px;
  margin-left: auto;
}
.list-type06 .item-title {
  width: calc( 100% - 255px);
  margin-left: auto;
  text-decoration: underline;
}

/* ========== text ========== */
.text-type01 {
  line-height: 1.8;
}
.text-type01 p {
  margin-bottom: 1em;
}
.text-type01 p:last-child {
  margin-bottom: 0;
}

.text-type02 p {
  margin-bottom: 15px;
  font-weight: 500;
  background: #f0f0f0;
  padding: 1em 1.5em;
}
.text-type02 p:last-child {
  margin-bottom: 0;
}

.indent {
  text-indent: -1em;
  padding-left: 1em;
}

/* ========== table ========== */
.table-type01 {
  width: 100%;
  border-top: 1px solid #d1d1d1;
  border-bottom: 1px solid #d1d1d1;
}
.table-type01 tr {
  background: #fff;
}
.table-type01 tr:nth-child(odd) {
  background: #f0f0f0;
}
.table-type01 tr.border {
  border-bottom: 1px solid #d1d1d1;
}
.table-type01 th {
  border-right: 1px solid #d1d1d1;
  font-weight: 700;
  width: 25%;
  text-align: left;
}
.table-type01 .th-top {
  background: #fff;
  vertical-align: middle;
  border-bottom: 1px solid #d1d1d1;
}
.table-type01 th, .table-type01 td {
  padding: 1em 1.5em;
  line-height: 1.8;
}
.table-type01 td {
  text-align: justify;
}

.table-type02 {
  width: 100%;
  text-align: left;
  font-weight: 500;
}
.table-type02 tr {
  background: #f2fafe;
}
.table-type02 tr:nth-child(2n) {
  background: #e6f4fb;
}
.table-type02 th {
  font-size: 1.5rem;
  color: #fff;
  background: #8dc4dd;
  padding: .8em 1.5em;
  border-right: 1px solid #d1d1d1;
}
.table-type02 th:last-child {
  border-right: none;
}
.table-type02 td {
  font-size: 1.4rem;
  padding: 1.5em;
  line-height: 1.8;
  border-right: 1px solid #d1d1d1;
}
.table-type02 td:last-child {
  border-right: none;
}

.table-type03 {
  width: 100%;
  border-top: 1px solid #d1d1d1;
  font-weight: 500;
  font-size: 1.4rem;
}
.table-type03 tr {
  border-bottom: 1px solid #d1d1d1;
}
.table-type03 th {
  background: #e6f4fb;
  padding: 1.5em;
}
.table-type03 td {
  padding: 1.5em;
}

/* ========== block ========== */
.block-type01 {
  background: #d5eaf4;
  position: relative;
  padding: 80px 45px 45px;
}
.block-type01:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 46px 75px 0 75px;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.block-type01 .block-title {
  text-align: center;
}
.block-type01 .block-contents {
  margin-bottom: 25px;
}
.block-type01 .block-contents:last-child {
  margin-bottom: 0;
}
.block-type01 .block-contents p {
  line-height: 1.875;
  margin-bottom: 1em;
}
.block-type01 .block-contents p:last-child {
  margin-bottom: 0;
}
.block-type01 .block-contents .caution {
  font-size: 1.2rem;
}

.block-type02 {
  margin-bottom: 45px;
}
.block-type02:last-child {
  margin-bottom: 0;
}
.block-type02 .block-head {
  color: #fff;
  background: #0b2986;
  font-weight: 500;
  align-items: center;
  padding: .7em 1.5em;
}
.block-type02 .block-head .head-title {
  font-size: 1.8rem;
}
.block-type02 .block-head .head-link {
  margin-left: auto;
}
.block-type02 .block-head .head-link a {
  color: #fff;
  font-size: 1.4rem;
  display: inline-block;
  padding-right: 22px;
  position: relative;
}
.block-type02 .block-head .head-link a:before {
  content: "";
  position: absolute;
  top: 50%;
  width: 6px;
  height: 6px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(-45deg);
  right: 0;
  margin-top: -3px;
}
.block-type02 .block-contents {
  border-left: 1px solid #d1d1d1;
}
.block-type02 .block-contents.l-grid .cont-box {
  width: 50%;
  box-sizing: border-box;
}
.block-type02 .block-contents .cont-box {
  padding: 1em 1.5em;
  border-right: 1px solid #d1d1d1;
  border-bottom: 1px solid #d1d1d1;
}
.block-type02 .block-contents .cont-box .box-title {
  font-family: "Poppins", sans-serif;
  font-size: 2.4rem;
  margin-bottom: 5px;
}
.block-type02 .block-contents .cont-box .box-title span {
  font-family: "Noto Sans JP", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  display: inline-block;
  vertical-align: middle;
  color: #da291c;
  border: 1px solid #da291c;
  padding: 3px 8px;
}
.block-type02 .block-contents .cont-box .box-text {
  font-weight: 500;
  line-height: 1.8;
}

.block-type03 {
  padding-bottom: 50px;
  margin-bottom: 60px;
  border-bottom: 1px solid #d1d1d1;
}
.block-type03:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.block-type03 .block-contents {
  font-weight: 500;
  width: 48%;
}
.block-type03 .block-contents__right {
  margin-left: auto;
}
.block-type03 .block-title {
  font-size: 2.8rem;
  color: #0b2986;
  line-height: 1.2;
  margin-bottom: .8em;
}
.block-type03 .block-title span {
  color: #2e2e2e;
  font-size: 1.2rem;
}
.block-type03 .block-text {
  font-size: 2rem;
  line-height: 1.8;
  margin-bottom: 20px;
}
.block-type03 .block-thumb {
  margin-bottom: 55px;
}
.block-type03 .block-link {
  justify-content: space-between;
}
.block-type03 .block-link > div {
  width: 48%;
}
.block-type03 .block-link > div:last-child {
  margin-left: auto;
}
.block-type03 .block-link a {
  font-size: 1.6rem;
  padding-right: 20px;
  box-sizing: border-box;
}

.block-type04 {
  font-weight: 500;
  margin-bottom: 70px;
}
.block-type04:last-child {
  margin-bottom: 0;
}
.block-type04 .block-contents__text {
  width: calc( 100% - 200px);
}
.block-type04 .block-contents__image {
  width: 166px;
  margin-left: auto;
}
.block-type04 .block-title {
  position: relative;
  font-size: 2.4rem;
  border-bottom: 1px solid #d1d1d1;
  padding-bottom: 10px;
  margin-bottom: 25px;
}
.block-type04 .block-title:after {
  content: "";
  width: 46px;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -1px;
}
.block-type04 .block-title.blue:after {
  background: #0b2986;
}
.block-type04 .block-title.red:after {
  background: #da291c;
}
.block-type04 .block-lead {
  margin-bottom: 40px;
  line-height: 1.8;
}
.block-type04 .block-link {
  width: 290px;
}
.block-type04 .block-link a {
  font-size: 1.6rem;
}

@media only screen and (max-width: 1024px) {
  /* ========== layout ========== */
  .layout-type01 {
    padding: 0 30px;
  }
  .layout-type02 {
    padding: 0 30px;
  }
  .layout-type03 {
    padding: 0 30px;
  }
  .layout-type04 {
    padding: 0 30px;
  }
  .layout-type05 {
    padding: 0 30px;
  }
  /* ========== title ========== */
  .title-type03.l-grid .ttl-text {
    width: 100%;
  }
  .title-type03.l-grid .ttl-text:before, .title-type03.l-grid .ttl-text:after {
    content: none;
  }
  .title-type03.l-grid .ttl-image {
    display: none;
  }
}

@media only screen and (max-width: 768px) {
  /* ========== layout ========== */
  .layout-type01 {
    padding: 0 15px;
  }
  .layout-type02 {
    padding: 0 15px;
  }
  .layout-type03 {
    padding: 0 15px;
  }
  .layout-type04 {
    padding: 0 15px;
  }
  .layout-type05 {
    padding: 0 15px;
  }
  /* ========== title ========== */
  .title-type01 {
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
  .title-type02 {
    font-size: 2.4rem;
    padding-bottom: 10px;
    padding-left: 18px;
    margin-bottom: 20px;
  }
  .title-type02:before, .title-type02:after {
    width: 4px;
  }
  .title-type02:before {
    height: 26px;
  }
  .title-type02:after {
    height: 13px;
  }
  .title-type03 {
    margin-bottom: 20px;
  }
  .title-type03 .ttl-text {
    font-size: 2.4rem;
    border-width: 2px;
  }
  .title-type04 {
    font-size: 2.2rem;
    margin-bottom: 25px;
  }
  .title-type05 {
    font-size: 1.9rem;
    margin-bottom: 10px;
  }
  .title-type06 {
    font-size: 2.4rem;
    padding: 5px 0;
    margin-bottom: 20px;
  }
  .title-type06 span {
    font-size: 3rem;
  }
  .title-type07 {
    margin-bottom: 25px;
    padding-bottom: 10px;
    font-size: 2rem;
  }
  .title-type07:after {
    width: 30px;
    height: 2px;
    margin-left: -15px;
  }
  .title-type08 {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  /* ========== btn ========== */
  .btn-type01 {
    height: 54px;
  }
  .btn-type01 p span {
    padding: 5px 0 5px 30px;
  }
  .btn-type01.ico-dl span {
    background-size: 20px;
  }
  .btn-type01.ico-mail span {
    background-size: 22px;
  }
  .btn-type02 {
    font-size: 1.4rem;
  }
  .btn-type02:before {
    width: 8px;
    height: 8px;
  }
  .btn-type02.arrowB:before {
    margin-top: -6px;
    right: 18px;
  }
  .btn-type02.arrowR:before {
    margin-top: -4px;
    right: 18px;
  }
  .btn-type03 {
    max-width: 100%;
    text-align: left;
    font-size: 1.2rem;
    padding: 1em 2em;
  }
  .btn-type03:before {
    width: 6px;
    height: 6px;
  }
  .btn-type03.arrowB:before {
    right: 15px;
    margin-top: -5px;
  }
  .btn-type03.arrowR:before {
    right: 15px;
    margin-top: -3px;
  }
  .btn-type04 {
    font-size: 1.1rem;
    padding: 1em 10px;
  }
  .btn-type04:before {
    right: 15px;
  }
  /* ========== list ========== */
  .list-type01 .list-item.l-grid .item-image {
    width: 100%;
    -ms-order: 1;
        order: 1;
    margin-bottom: 20px;
  }
  .list-type01 .list-item.l-grid .item-text {
    width: 100%;
    -ms-order: 2;
        order: 2;
  }
  .list-type02 .list-item {
    margin-bottom: 30px;
  }
  .list-type02 .item-head {
    margin-bottom: 15px;
  }
  .list-type02 .item-head .head-label {
    width: 40px;
    padding-top: 0;
  }
  .list-type02 .item-head .head-label .num {
    font-size: 2rem;
  }
  .list-type02 .item-head .head-title {
    width: calc( 100% - 40px);
    font-size: 1.8rem;
  }
  .list-type02 .item-head__type02 .head-label {
    width: 100px;
  }
  .list-type02 .item-head__type02 .head-title {
    width: 100%;
  }
  .list-type02 .item-contents .image {
    width: 100%;
    margin-bottom: 10px;
    -ms-order: 1;
        order: 1;
  }
  .list-type02 .item-contents .text {
    width: 100%;
    -ms-order: 2;
        order: 2;
  }
  .list-type02 .item-contents .text .check {
    font-size: 1.4rem;
    padding-left: 30px;
  }
  .list-type02 .item-contents .text .check:before {
    width: 20px;
    height: 20px;
  }
  .list-type02 .item-contents .ttl {
    font-weight: bold;
    font-size: 1.8rem;
  }
  .list-type03 .list-item {
    width: 48%;
    margin-bottom: 4%;
  }
  .list-type03 .item-inner {
    padding: 18px 0;
  }
  .list-type03 .item-inner:after {
    bottom: 6px;
    right: 6px;
    border-style: solid;
    border-width: 0 0 9px 9px;
  }
  .list-type03 .item-image img {
    width: 53px;
  }
  .list-type03 .item-text {
    font-size: 1.1rem;
  }
  .list-type04 .list-item {
    width: 100%;
    margin-bottom: 12px;
  }
  .list-type04 .list-item:last-child {
    margin-bottom: 0;
  }
  .list-type04 .item-inner {
    padding: 1em 1.5em;
  }
  .list-type04 .item-inner:after {
    bottom: 6px;
    right: 6px;
    border-style: solid;
    border-width: 0 0 9px 9px;
  }
  .list-type05 .list-item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 25px;
  }
  .list-type05 .list-item:last-child {
    margin-bottom: 0;
  }
  .list-type05 .list-item:after {
    bottom: 6px;
    right: 6px;
    border-width: 0 0 9px 9px;
  }
  .list-type05 .item-image .category {
    top: auto;
    right: auto;
    bottom: 15px;
    left: 15px;
    font-size: 1rem;
  }
  .list-type05 .item-text {
    font-size: 1.2rem;
    padding: 1.5em;
  }
  .list-type05 .item-text .name {
    font-size: 1.1rem;
    margin-top: 10px;
  }
  .list-type06 .list-item {
    border-bottom: none;
    padding-bottom: 0;
  }
  .list-type06 .item-head {
    width: 100%;
    margin-bottom: 10px;
  }
  .list-type06 .item-head .head__date {
    font-size: 1.4rem;
  }
  .list-type06 .item-head .head__category {
    font-size: 1rem;
    width: auto;
    padding: 4px 1.5em 6px;
    margin-left: 10px;
  }
  .list-type06 .item-head .head__category2 {
    font-size: 1rem;
    width: auto;
    padding: 4px 1.5em 6px;
    margin-left: 10px;
  }
  .list-type06 .item-title {
    width: 100%;
    text-decoration: none;
  }
  /* ========== text ========== */
  /* ========== table ========== */
  .table-type01 {
    font-size: 1.3rem;
  }
  .table-type01 th {
    width: 7em;
  }
  .scroll-table {
    -ms-overflow-x: scroll;
        overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .scroll-table table {
    width: 800px;
  }
  .scroll-table table th {
    width: 12em;
  }
  /* ========== block ========== */
  .block-type01 {
    padding: 50px 20px 25px;
  }
  .block-type01:after {
    border-width: 30px 50px 0 50px;
  }
  .block-type02 {
    margin-bottom: 30px;
  }
  .block-type02 .block-head {
    padding: 1em;
  }
  .block-type02 .block-head .head-title {
    font-size: 1.6rem;
  }
  .block-type02 .block-head .head-link a {
    font-size: 1rem;
    padding-right: 15px;
  }
  .block-type02 .block-contents.l-grid .cont-box {
    width: 100%;
  }
  .block-type02 .block-contents .cont-box .box-title {
    font-size: 2rem;
  }
  .block-type02 .block-contents .cont-box .box-title span {
    font-size: 1rem;
  }
  .block-type03 {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }
  .block-type03 .block-contents {
    width: 100%;
  }
  .block-type03 .block-contents__left {
    margin-bottom: 25px;
  }
  .block-type03 .block-title {
    font-size: 2rem;
  }
  .block-type03 .block-title span {
    font-size: 1rem;
  }
  .block-type03 .block-text {
    font-size: 1.6rem;
    margin-bottom: 1em;
  }
  .block-type03 .block-thumb {
    margin-bottom: 25px;
  }
  .block-type03 .block-link a {
    font-size: 1.4rem;
  }
  .block-type03 .table-type03 th {
    width: 6em;
    padding: 1.5em 0;
  }
  .block-type04 {
    margin-bottom: 50px;
  }
  .block-type04 .block-contents__text {
    width: 100%;
    margin-bottom: 25px;
  }
  .block-type04 .block-contents__image {
    width: 100%;
    text-align: center;
    margin-bottom: 25px;
  }
  .block-type04 .block-contents__link {
    width: 100%;
  }
  .block-type04 .block-title {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  .block-type04 .block-lead {
    margin-bottom: 0;
  }
  .block-type04 .block-link {
    display: none;
  }
}

/*------------------------------------------
  header
------------------------------------------*/
.site-header {
  background: #fff;
  padding-bottom: 50px;
  font-weight: 500;
  position: relative;
}

.site-header-inner {
  align-items: center;
}

.site-header-logo a {
  display: block;
}

.site-header-logo .logo-text {
  font-size: 1.2rem;
  margin-bottom: 10px;
}

.site-header-contents {
  max-width: 910px;
  margin-left: auto;
}
.site-header-contents .contents-info {
  width: 100%;
  align-items: flex-end;
}
.site-header-contents .info-tel {
  width: 44%;
  align-items: center;
}
.site-header-contents .info-tel__tab {
  display: none;
}
.site-header-contents .tel-text {
  padding-left: 48px;
  margin-left: 5px;
  background: url(../images/common/ico-tel.png) no-repeat left center;
  background-size: 38px;
}
.site-header-contents .tel-text .num {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.3;
}
.site-header-contents .tel-text .guide {
  font-size: 1.2rem;
}
.site-header-contents .info-logo {
  width: 40%;
  margin-right: 20px;
  margin-left: 220px;
}
.site-header-contents .info-link {
  width: 56%;
  margin-left: auto;
  justify-content: space-between;
}
.site-header-contents .info-link .link-btn {
  width: 49%;
  text-align: center;
  padding-top: 10px;
}
.site-header-contents .info-link .link-btn br {
  display: none;
}
.site-header-contents .contents-nav {
  width: 100%;
  margin-top: 30px;
}

.global-nav-list {
  justify-content: flex-end;
}
.global-nav-list .list-item {
  position: relative;
  padding: 0 1em;
}
.global-nav-list .list-item:before, .global-nav-list .list-item:after {
  width: 1px;
  height: 1.3em;
  background: #d1d1d1;
  position: absolute;
  top: .2em;
}
.global-nav-list .list-item:before {
  content: "";
  left: 0;
}
.global-nav-list .list-item:after {
  right: 0;
}
.global-nav-list .list-item:last-child:after {
  content: "";
}
.global-nav-list .nav-link {
  display: block;
  transition: color .4s;
  padding-bottom: 10px;
  position: relative;
}
.global-nav-list .nav-link:hover {
  color: #2e2e2e;
  transition: color .4s;
}
.global-nav-list .nav-link.cs {
  color: #d1d1d1;
  pointer-events: none;
}

.gnav-child {
  display: none;
  position: absolute;
  width: 242px;
  top: 100%;
  left: 50%;
  margin-left: -121px;
  padding: 24px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #d1d1d1;
  box-shadow: 4px 4px 10px -4px rgba(0, 0, 0, .2);
  z-index: 1;
}
.gnav-child li {
  margin-bottom: 12px;
}
.gnav-child li:last-child {
  margin-bottom: 0;
}
.gnav-child a {
  display: block;
  border-bottom: 1px solid #d1d1d1;
  font-weight: 700;
  padding-bottom: 12px;
  position: relative;
}
.gnav-child a:hover:after {
  width: 100%;
  transition: .4s;
}
.gnav-child a:after {
  content: "";
  width: 18px;
  height: 1px;
  background: #da291c;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: .4s;
}

.BD-about .global-nav-list .list-item01 .nav-link {
  border-bottom: 2px solid #da291c;
  font-weight: 700;
}

.BD-endpoint .global-nav-list .list-item02 .nav-link, .BD-helpdesk .global-nav-list .list-item02 .nav-link, .BD-securitypatch .global-nav-list .list-item02 .nav-link, .BD-itassets .global-nav-list .list-item02 .nav-link {
  border-bottom: 2px solid #da291c;
  font-weight: 700;
}

.BD-function .global-nav-list .list-item02 .nav-link {
  border-bottom: 2px solid #da291c;
  font-weight: 700;
}

.BD-telework .global-nav-list .list-item03 .nav-link, .BD-work-efficiency .global-nav-list .list-item03 .nav-link, .BD-low-cost .global-nav-list .list-item03 .nav-link {
  border-bottom: 2px solid #da291c;
  font-weight: 700;
}

.BD-issue .global-nav-list .list-item03 .nav-link {
  border-bottom: 2px solid #da291c;
  font-weight: 700;
}

.BD-column .global-nav-list .list-item04 .nav-link {
  border-bottom: 2px solid #da291c;
  font-weight: 700;
}

.BD-casestudy .global-nav-list .list-item05 .nav-link {
  border-bottom: 2px solid #da291c;
  font-weight: 700;
}

.BD-system .global-nav-list .list-item06 .nav-link {
  border-bottom: 2px solid #da291c;
  font-weight: 700;
}

.BD-faq .global-nav-list .list-item07 .nav-link {
  border-bottom: 2px solid #da291c;
  font-weight: 700;
}

@media only screen and (max-width: 1280px) {
  .site-header-inner {
    padding: 0 30px;
  }
  .site-header-contents {
    width: auto;
  }
  .site-header-contents .contents-info {
    justify-content: flex-end;
  }
  .site-header-contents .info-link {
    width: 300px;
    margin-left: 0;
  }
  .site-header-contents .info-link .link-btn {
    font-size: 1.3rem;
  }
  .site-header-contents .info-link .link-btn br {
    display: block;
  }
  .site-header-contents .info-tel {
    width: auto;
  }
  .global-nav {
    font-size: 1.4rem;
  }
}

@media only screen and (max-width: 1024px) {
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-bottom: 0;
    z-index: 10;
  }
  .site-header-inner {
    height: 60px;
  }
  .site-header-logo .logo-text {
    font-size: .9rem;
    margin-bottom: 2px;
  }
  .site-header-logo .logo-image {
    width: 87px;
  }
  .site-header-contact {
    position: absolute;
    top: 0;
    right: 60px;
  }
  .site-header-contact a {
    display: table;
    background: #da291c;
    color: #fff;
    width: 60px;
    height: 60px;
    text-align: center;
    font-size: .9em;
    position: relative;
    line-height: 1.2;
  }
  .site-header-contact a:before {
    content: "";
    width: 22px;
    height: 16px;
    position: absolute;
    left: 50%;
    margin-left: -11px;
    top: 8px;
    background: url(../images/common/ico-mail.png) no-repeat center;
    background-size: 22px;
  }
  .site-header-contact a span {
    display: table-cell;
    vertical-align: middle;
    padding-top: 25px;
  }
  .site-header-trigger {
    position: absolute;
    right: 0;
    top: 0;
    width: 60px;
    height: 60px;
    background: #2e2e2e;
    cursor: pointer;
    z-index: 2;
  }
  .site-header-trigger div {
    width: 24px;
    height: 22px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -13px;
    margin-left: -11px;
  }
  .site-header-trigger span {
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    position: absolute;
    left: 0;
    transition: .4s;
  }
  .site-header-trigger span:nth-of-type(1) {
    top: 0;
  }
  .site-header-trigger span:nth-of-type(2) {
    top: 50%;
    margin-top: -1px;
  }
  .site-header-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  .site-header-trigger.is-active span {
    transition: .4s;
  }
  .site-header-trigger.is-active span:nth-of-type(1) {
    transform: rotate(-45deg);
    margin-top: 10px;
  }
  .site-header-trigger.is-active span:nth-of-type(2) {
    opacity: 0;
  }
  .site-header-trigger.is-active span:nth-of-type(3) {
    transform: rotate(45deg);
    margin-bottom: 10px;
  }
  .site-header-contents {
    display: none;
    width: 100%;
    height: 100vh;
    max-width: 100%;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    overflow-y: auto;
    padding-right: 0;
    margin-top: 60px;
    padding-bottom: 100px;
    background: #f0f0f0;
    -webkit-overflow-scrolling: touch;
  }
  .site-header-contents .header-contents-inner {
    display: -moz-flex;
    display:      flex;
    -ms-flex-pack: justify;
    flex-wrap: wrap;
    padding: 20px 15px 30px;
  }
  .site-header-contents .contents-info {
    -ms-order: 2;
        order: 2;
  }
  .site-header-contents .info-tel {
    -ms-order: 2;
        order: 2;
    background: #fff;
    border: 1px solid #bababa;
    display: block;
    width: 100%;
  }
  .site-header-contents .info-tel a {
    padding: 12px 0;
    justify-content: center;
    align-items: center;
  }
  .site-header-contents .info-tel .info-logo {
    width: auto;
    padding: 5px 0 5px 40px;
    background: url(../images/common/ico-tel.png) no-repeat left center;
    background-size: 28px;
  }
  .site-header-contents .info-tel .info-logo img {
    width: 86px;
  }
  .site-header-contents .info-tel .tel-text {
    padding-left: 10px;
    background: none;
  }
  .site-header-contents .info-tel .tel-text .num {
    font-size: 1.6rem;
  }
  .site-header-contents .info-tel .tel-text .guide {
    font-size: 1rem;
  }
  .site-header-contents .info-tel__pc {
    display: none;
  }
  .site-header-contents .info-link {
    width: 100%;
    margin-bottom: 15px;
    -ms-order: 1;
        order: 1;
  }
  .site-header-contents .info-link .link-btn01 {
    width: 100%;
  }
  .site-header-contents .info-link .link-btn01 br {
    display: none;
  }
  .site-header-contents .info-link .link-btn01 .btn-type01.ico-dl {
    background: #2e2e2e;
  }
  .site-header-contents .info-link .link-btn02 {
    display: none;
  }
  .site-header-contents .contents-nav {
    -ms-order: 1;
        order: 1;
    margin-top: 0;
    margin-bottom: 20px;
  }
  .global-nav-list {
    border-top: 1px solid #bababa;
  }
  .global-nav-list .list-item {
    width: 100%;
    padding: 0;
    border-bottom: 1px solid #bababa;
  }
  .global-nav-list .list-item:before, .global-nav-list .list-item:after {
    content: none !important;
  }
  .global-nav-list .list-item.js-gnav-hover .nav-link:before {
    transform: rotate(135deg);
    right: 13px;
    margin-top: -4px;
  }
  .global-nav-list .list-item.is-active .nav-link:before {
    border-top: none;
    border-right: none;
    border-bottom: 1px solid #bababa;
    border-left: 1px solid #bababa;
    margin-top: -2px;
  }
  .global-nav-list .nav-link {
    border-bottom: none !important;
    padding: 15px;
  }
  .global-nav-list .nav-link:before {
    content: "";
    width: 6px;
    height: 6px;
    position: absolute;
    right: 15px;
    top: 50%;
    border-top: 1px solid #bababa;
    border-right: 1px solid #bababa;
    transform: rotate(45deg);
    margin-top: -2px;
  }
  .gnav-child {
    position: static;
    width: 100%;
    margin-left: 0;
    padding: 0;
    box-sizing: border-box;
    border: none;
    background: none;
    box-shadow: none;
  }
  .gnav-child li {
    margin-bottom: 0;
    border-top: 1px solid #bababa;
  }
  .gnav-child a {
    font-size: 1.2rem;
    font-weight: 400;
    border-bottom: none;
    padding: 15px;
  }
  .gnav-child a:before {
    content: "-";
    padding-right: .5em;
  }
  .gnav-child a:after {
    content: none;
  }
}

@media only screen and (max-width: 768px) {
  .site-header-inner {
    padding: 0 15px;
  }
}

/*------------------------------------------
  footer
------------------------------------------*/
.site-footer {
  position: relative;
}

.site-footer-contact {
  text-align: center;
  background: #0b2986;
  color: #fff;
  margin-bottom: 20px;
  padding: 60px 0 50px;
  font-weight: 500;
}
.site-footer-contact a {
  color: #fff;
}
.site-footer-contact .contact-title {
  font-size: 3.2rem;
  margin-bottom: 15px;
}
.site-footer-contact .contact-contents {
  max-width: 820px;
  margin: 40px auto 0;
  align-items: center;
}
.site-footer-contact .contact-contents .link {
  max-width: 495px;
  width: 60%;
  margin: auto;
}
.site-footer-contact .contact-contents .link a {
  color: #fff;
  display: block;
  line-height: 70px;
  background: #da291c;
  font-size: 2.3rem;
}
.site-footer-contact .contact-contents .link span {
  display: inline-block;
  padding-left: 36px;
  background: url(../images/common/ico-mail.png) no-repeat left center;
  background-size: 28px;
}
.site-footer-contact .contact-contents .tel-text {
  display: block;
  text-align: left;
  padding-left: 62px;
  background: url(../images/common/ico-tel02.png) no-repeat left center;
  background-size: 48px;
  margin-left: auto;
}
.site-footer-contact .contact-contents .tel-text .num {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 2.6rem;
  line-height: 1.3;
}
.site-footer-contact .contact-contents .tel-text .guide {
  font-size: 1.2rem;
}

.site-footer-guide {
  background: #f0f0f0;
  padding: 55px 0 40px;
}
.site-footer-guide .guide-nav {
  width: 50%;
}
.site-footer-guide .guide-info {
  width: 45%;
  margin-left: auto;
}
.site-footer-guide .footer-nav {
  margin-bottom: 30px;
  justify-content: space-between;
}
.site-footer-guide .navlist {
  width: 32%;
}
.site-footer-guide .navlist li {
  margin-bottom: 10px;
}
.site-footer-guide .navlist li:last-child {
  margin-bottom: 0;
}
.site-footer-guide .navlist a {
  display: block;
}
.site-footer-guide .navlist .top-link {
  font-weight: 500;
  padding-left: 18px;
  position: relative;
  pointer-events: none;
}
.site-footer-guide .navlist .top-link:before {
  width: 6px;
  height: 6px;
  position: absolute;
  left: 0;
  top: 50%;
  border-top: 1px solid #2e2e2e;
  border-right: 1px solid #2e2e2e;
  transform: rotate(45deg);
  margin-top: -2px;
}
.site-footer-guide .navlist .top-link.hvop {
  pointer-events: auto;
}
.site-footer-guide .navlist .top-link.hvop:before {
  content: "";
}
.site-footer-guide .navlist .cs {
  color: #bababa;
  pointer-events: none;
}
.site-footer-guide .navlist .cs:before {
  border-color: #bababa;
}
.site-footer-guide .navlist-child {
  font-size: 1.4rem;
  padding-left: 18px;
  padding-top: 15px;
}
.site-footer-guide .navlist-child li {
  margin-bottom: 8px;
}
.site-footer-guide .footer-link {
  max-width: 488px;
  justify-content: space-between;
}
.site-footer-guide .footer-link .link {
  width: 49%;
}
.site-footer-guide .company-info {
  margin-bottom: 40px;
}
.site-footer-guide .company-info .info-logo {
  margin-bottom: 20px;
}
.site-footer-guide .company-info .info-address {
  justify-content: space-between;
}
.site-footer-guide .company-info .info-address .address {
  width: 49%;
  font-size: 1.4rem;
  line-height: 2;
}
.site-footer-guide .footer-menu li {
  display: inline-block;
  font-size: 1.4rem;
  margin-right: 3em;
  margin-bottom: 10px;
}
.site-footer-guide .footer-menu li a {
  color: #868686;
}
.site-footer-guide .footer-copyright {
  width: 100%;
  text-align: center;
  padding-top: 50px;
  font-size: 1.2rem;
  color: #868686;
}

.btn-pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
}
.btn-pagetop a {
  display: block;
  position: relative;
  width: 60px;
  height: 60px;
  background: #2e2e2e;
}
.btn-pagetop a:before {
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  left: 50%;
  top: 50%;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  transform: rotate(45deg);
  margin-top: -2px;
  margin-left: -6px;
}

@media only screen and (max-width: 1024px) {
  .site-footer-guide .guide-nav {
    width: 100%;
    margin-bottom: 50px;
  }
  .site-footer-guide .guide-info {
    width: 100%;
  }
  .site-footer-guide .footer-link {
    max-width: 100%;
  }
  .site-footer-guide .footer-link .link {
    width: 48%;
  }
}

@media only screen and (max-width: 768px) {
  .site-footer-contact {
    padding: 30px 0;
  }
  .site-footer-contact .contact-title {
    font-size: 2.2rem;
    margin-bottom: 10px;
  }
  .site-footer-contact .contact-contents {
    margin: 25px auto 0;
  }
  .site-footer-contact .contact-contents .link {
    max-width: 100%;
    width: 100%;
    margin-bottom: 15px;
  }
  .site-footer-contact .contact-contents .link a {
    line-height: 60px;
    font-size: 1.8rem;
  }
  .site-footer-contact .contact-contents .link span {
    padding-left: 30px;
    background-size: 22px;
  }
  .site-footer-contact .contact-contents .tel-text {
    width: 100%;
    text-align: center;
    padding-left: 0;
    background: none;
    background: #fff;
    color: #0b2986;
    line-height: 1.2;
    padding: 6px 0;
  }
  .site-footer-contact .contact-contents .tel-text .num {
    padding-left: 25px;
    position: relative;
    display: inline-block;
    font-size: 1.9rem;
  }
  .site-footer-contact .contact-contents .tel-text .num:before {
    content: "";
    width: 20px;
    height: 20px;
    background: url(../images/common/ico-tel03.png) no-repeat;
    background-size: 20px;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -10px;
  }
  .site-footer-guide {
    padding: 35px 0 25px;
  }
  .site-footer-guide .guide-nav {
    margin-bottom: 35px;
  }
  .site-footer-guide .guide-info {
    padding: 0 15px;
  }
  .site-footer-guide .footer-nav {
    margin-bottom: 0;
    border-top: 1px solid #bababa;
  }
  .site-footer-guide .navlist {
    width: 100%;
  }
  .site-footer-guide .navlist > li {
    margin-bottom: 0;
    border-bottom: 1px solid #bababa;
  }
  .site-footer-guide .navlist a {
    display: block;
  }
  .site-footer-guide .navlist .top-link {
    padding: 15px;
    pointer-events: auto;
  }
  .site-footer-guide .navlist .top-link:before {
    content: "";
    left: auto;
    right: 15px;
    border-top: 1px solid #bababa;
    border-right: 1px solid #bababa;
  }
  .site-footer-guide .navlist .has-child.is-active .top-link:before {
    border-top: none;
    border-right: none;
    border-bottom: 1px solid #bababa;
    border-left: 1px solid #bababa;
  }
  .site-footer-guide .navlist .has-child .top-link:before {
    transform: rotate(135deg);
    right: 13px;
  }
  .site-footer-guide .navlist .has-child.current .top-link {
    color: #2e2e2e;
  }
  .site-footer-guide .navlist01 {
    -ms-order: 3;
        order: 3;
  }
  .site-footer-guide .navlist02 {
    -ms-order: 1;
        order: 1;
  }
  .site-footer-guide .navlist03 {
    -ms-order: 2;
        order: 2;
  }
  .site-footer-guide .navlist-child {
    border-top: 1px solid #bababa;
    font-size: 1.2rem;
    padding: 0;
    display: none;
  }
  .site-footer-guide .navlist-child li {
    margin-bottom: 0;
    border-bottom: 1px solid #bababa;
  }
  .site-footer-guide .navlist-child li:last-child {
    border-bottom: none;
  }
  .site-footer-guide .navlist-child a {
    padding: 15px;
  }
  .site-footer-guide .navlist-child a:before {
    content: "-";
    padding-right: .5em;
  }
  .site-footer-guide .footer-link {
    display: none;
  }
  .site-footer-guide .company-info {
    margin-bottom: 15px;
  }
  .site-footer-guide .company-info .info-logo img {
    width: 86px;
  }
  .site-footer-guide .company-info .info-address .address {
    width: 100%;
    font-size: 1.2rem;
    margin-bottom: 15px;
  }
  .site-footer-guide .footer-menu li {
    font-size: 1.2rem;
    margin-right: 1em;
  }
  .site-footer-guide .footer-menu li:last-child {
    margin-right: 0;
  }
  .site-footer-guide .footer-copyright {
    text-align: left;
    width: auto;
    padding-left: 30px;
    padding-top: 25px;
    font-size: .9rem;
  }
}

/*------------------------------------------
  contents
------------------------------------------*/
.page-head {
  margin-bottom: 30px;
}

.page-head-title {
  width: 100%;
  height: 280px;
  display: table;
  text-align: center;
  background: url(../images/common/bg-page-head.png) no-repeat center;
}
.page-head-title .title-inner {
  display: table-cell;
  vertical-align: middle;
}
.page-head-title .page-title {
  font-size: 4rem;
  font-weight: 500;
  padding-bottom: 25px;
  position: relative;
}
.page-head-title .page-title:after {
  content: "";
  width: 156px;
  height: 4px;
  background: #da291c;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -78px;
}

.page-head-breadcrumb {
  padding: 25px 0;
}
.page-head-breadcrumb .layout-type01 > span {
  display: inline-block;
  font-size: 1.4rem;
  margin-right: 1.4em;
}
.page-head-breadcrumb a {
  display: block;
  position: relative;
  padding-right: 1em;
}
.page-head-breadcrumb a:after {
  content: "";
  width: 5px;
  height: 5px;
  position: absolute;
  right: -5px;
  top: 50%;
  border-top: 1px solid #300;
  border-right: 1px solid #300;
  transform: rotate(45deg);
  margin-top: -3px;
}

.site-main {
  padding-bottom: 120px;
}

.site-main-column {
  align-items: flex-start;
}

.site-column-contents {
  width: calc(100% - 240px);
  box-sizing: border-box;
  padding-right: 5%;
}

.site-column-side {
  width: 240px;
}
.site-column-side .column-side-inner {
  width: 240px;
  background: #fff;
  border: 1px solid #d1d1d1;
  box-sizing: border-box;
  padding: 26px 24px;
}

.site-column-contents.site-column-contents-casestudy strong {
  font-weight: bold;
}

.site-column-contents.site-column-contents-casestudy .text-type01 {
  line-height: 1.875;
}

.site-column-contents.site-column-contents-casestudy .text-type01 p {
  text-align: justify;
}

.site-column-contents.site-column-contents-casestudy .text-type01 ul li {
  padding-left: 1em;
  margin-bottom: 1em;
  text-indent: -1em;
  line-height: 1.8;
}

.side-menubox {
  margin-bottom: 24px;
}
.side-menubox:last-child {
  margin-bottom: 0;
}
.side-menubox a {
  display: block;
}
.side-menubox .menu-text-top {
  margin-bottom: 15px;
}
.side-menubox .menu-text-top a {
  font-weight: 700;
  padding-bottom: 12px;
  border-bottom: 1px solid #d1d1d1;
  position: relative;
}
.side-menubox .menu-text-top a:after {
  content: "";
  width: 18px;
  height: 1px;
  background: #da291c;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: .4s;
}
.side-menubox .menu-text-top a:hover:after {
  width: 100%;
  transition: .4s;
}
.side-menubox .menu-text-top .no-link {
  pointer-events: none;
}
.side-menubox .menu-list {
  font-size: 1.4rem;
}
.side-menubox .menu-list li {
  margin-bottom: 6px;
}
.side-menubox .menu-list li:last-child {
  margin-bottom: 0;
}
.side-menubox .menu-list li a {
  transition: .4s;
  padding-left: 1em;
  text-indent: -1em;
}
.side-menubox .menu-list li a:hover {
  color: #da291c;
}

.page-section {
  margin-bottom: 90px;
}
.page-section:last-child {
  margin-bottom: 0;
}
.page-section .sec-contents {
  margin-bottom: 60px;
}
.page-section .sec-contents:last-child {
  margin-bottom: 0;
}
.page-section .sec-btn {
  text-align: center;
  margin-top: 40px;
}

.ac-trigger {
  cursor: pointer;
}

.ac-hide {
  display: none;
}

@media only screen and (max-width: 1024px) {
  .wrapper {
    padding-top: 60px;
  }
}

@media only screen and (max-width: 768px) {
  .page-head {
    margin-bottom: 0;
  }
  .page-head-title {
    height: 160px;
  }
  .page-head-title .page-title {
    font-size: 2.8rem;
    padding-bottom: 15px;
    line-height: 1.4;
  }
  .page-head-title .page-title:after {
    width: 90px;
    height: 3px;
    margin-left: -45px;
  }
  .page-head-breadcrumb {
    padding: 15px 0 25px;
  }
  .page-head-breadcrumb .layout-type01 > span {
    font-size: 1.1rem;
  }
  .site-main {
    padding-bottom: 50px;
  }
  .site-column-contents {
    width: 100%;
    padding-right: 0;
  }
  .site-column-side {
    display: none;
  }
  .page-section {
    margin-bottom: 60px;
  }
  .page-section .sec-contents {
    margin-bottom: 40px;
  }
  .page-section .sec-btn {
    margin-top: 25px;
  }
}

/*------------------------------------------
  home
------------------------------------------*/
.page-head__home {
  background: #ffffff;
  padding: 0px;
}
.page-head__home .page-head__inner {
  max-width: 1280px;
  position: relative;
  margin: auto;
  padding: 0 50px;
}
/*
.page-head__home .page-head__inner:before {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../images/home/mv.png) no-repeat right center;
  position: absolute;
  right: 0;
  top: 0;
  background-size: contain;
}
*/
.page-head__home .head-text {
  position: relative;
}
.page-head__home .head-text__title {
  margin-bottom: 130px;
  font-weight: 500;
  font-size: 5.6rem;
}
.page-head__home .head-text__title span {
  background: linear-gradient(transparent 60%, #fff 30%);
}
.page-head__home .head-text__link .logo {
  margin-bottom: 15px;
}
.page-head__home .head-text .link-list {
  max-width: 500px;
  justify-content: space-between;
}
.page-head__home .head-text .link-list li {
  width: 48.5%;
  margin-top: 15px;
}
.page-head__home .head-text .link-list a {
  text-align: left;
}

.home-section {
  background: #e1f1f9;
  padding: 75px 0 80px;
}
.home-section:last-child {
  padding-bottom: 0;
}
.home-section:nth-child(odd) {
  background: #fff;
}
.home-section .sec-header {
  margin-bottom: 60px;
}
.home-section .sec-lead {
  text-align: center;
}
.home-section .sec-contents {
  margin-bottom: 60px;
}
.home-section .sec-contents:last-child {
  margin-bottom: 0;
}

.home-section__link-list {
    padding: 40px 0;
}

.home-section__news {
  padding: 40px 0;
}
.home-section__news .sec-inner {
  max-width: 816px;
}
.home-section__news .sec-header {
  margin-bottom: 30px;
  justify-content: flex-start;
  align-items: center;
}
.home-section__news .sec-title {
  font-size: 2.4rem;
  margin-right: 1em;
  font-weight: 500;
}
.home-section__news .btn-more a {
  width: 160px;
  padding-right: 40px;
}

.home-section__about .sec-lead {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 2;
}

.home-section__about .about-text {
  width: 52%;
}
.home-section__about .about-text__box {
  margin-bottom: 35px;
}
.home-section__about .about-text__box:last-child {
  margin-bottom: 0;
}
.home-section__about .about-text .box-title {
  font-weight: bold;
  font-size: 2rem;
  margin-bottom: 15px;
}
.home-section__about .about-text .box-title span {
  background: linear-gradient(transparent 60%, #d5eaf4 30%);
}
.home-section__about .about-text .box-text {
  line-height: 1.8;
}

.home-section__about .about-image {
  width: 44%;
  margin-left: auto;
}

.home-section__search .sec-title {
  text-align: center;
  font-size: 3.2rem;
  font-weight: 500;
  color: #0b2986;
  margin-bottom: 15px;
}
.home-section__search .sec-title span {
  display: inline-block;
  position: relative;
  padding: 0 35px;
}
.home-section__search .sec-title span:before {
  content: "";
  width: 21px;
  height: 34px;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -17px;
  background: url(../images/common/ico-search.png) no-repeat;
  background-size: 100%;
}

.home-section__search .sec-lead {
  font-weight: 500;
}

.home-section__search .sec-contents .cont-title {
  text-align: center;
  color: #0b2986;
  font-weight: 500;
  font-size: 2.6rem;
  margin-bottom: 20px;
}

.home-section__search .list-type03 li {
  background: #fff;
}

@media only screen and (max-width: 1024px) {
  .page-head__home .page-head__inner:before {
    content: none;
  }
  .page-head__home .head-text {
    text-align: center;
  }
  .page-head__home .head-text__title {
    margin-bottom: 40px;
    font-size: 4rem;
  }
  .page-head__home .head-text .link-list {
    margin: auto;
  }
}

@media only screen and (max-width: 768px) {
  .page-head__home {
    padding: 0px;
  }
  .page-head__home .page-head__inner {
    max-width: 768;
    padding: 0px;
  }
  .page-head__home .sec-inner {
    padding: 0px;
  }
  .page-head__home .layout-type02 {
    padding: 0px;
  }
  .page-head__home .head-text {
    position: relative;
  }
  .page-head__home .head-text__title {
    margin-bottom: 15px;
    font-size: 2.3rem;
  }
  .page-head__home .head-text__title br {
    display: none;
  }
  .page-head__home .head-text__link .logo {
    margin-bottom: 25px;
  }
  .page-head__home .head-text__link .logo img {
    width: 87px;
  }
  .page-head__home .head-text__link .mv {
    margin-bottom: 20px;
  }
  .home-section {
    padding: 45px 0;
  }
  .home-section .sec-inner {
    padding-left: 30px;
    padding-right: 30px;
  }
  .home-section .sec-header {
    margin-bottom: 35px;
  }
  .home-section .sec-contents {
    margin-bottom: 35px;
  }
  .home-section__news .sec-header {
    margin-bottom: 20px;
  }
  .home-section__news .sec-title {
    font-size: 2rem;
    margin-right: 0;
  }
  .home-section__news .btn-more {
    text-align: right;
    margin-top: 30px;
  }
  .home-section__about .sec-lead {
    font-size: 1.6rem;
    text-align: left;
    line-height: 1.8;
  }
  .home-section__about .about-text {
    -ms-order: 2;
        order: 2;
    width: 100%;
  }
  .home-section__about .about-text .box-title {
    font-size: 1.6rem;
  }
  .home-section__about .about-text .box-text {
    line-height: 1.8;
  }
  .home-section__about .about-image {
    margin-bottom: 25px;
    -ms-order: 1;
        order: 1;
    width: 100%;
  }
  .home-section__search .sec-title {
    font-size: 2rem;
    margin-bottom: 15px;
  }
  .home-section__search .sec-title span {
    padding: 0 22px;
  }
  .home-section__search .sec-title span:before {
    width: 14px;
    height: 22px;
    margin-top: -11px;
  }
  .home-section__search .sec-contents .cont-title {
    font-size: 1.8rem;
  }
}
.home-center{
  max-width: 1072px;
    margin-left: auto;
    margin-right: auto;
}
@media only screen and (max-width: 1171px) {
  .home-center{
    max-width: 983px;
      margin-left: auto;
      margin-right: auto;
  }
}
@media only screen and (max-width: 1082px) {
  .home-center{
    max-width: 492px;
      margin-left: auto;
      margin-right: auto;
  }
}
@media only screen and (max-width: 551px) {
  .home-center{
    max-width: 240px;
      margin-left: auto;
      margin-right: auto;
  }
}

/*------------------------------------------
  about
------------------------------------------*/
.page-section__about01 .contents01 {
  text-align: center;
}
.page-section__about01 .contents01 .lead {
  font-size: 2.8rem;
  font-weight: 500;
  margin-bottom: 1em;
}
.page-section__about01 .contents01 .text {
  line-height: 2;
}

.page-section__about03 .sec-lead {
  text-align: center;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 35px;
}

.page-section__about03 .contents01 .title {
  position: relative;
  z-index: 1;
  display: inline-block;
  font-size: 2rem;
  color: #0b2986;
  border: 1px solid #0b2986;
  padding: .5em 1em;
}

.page-section__about03 .contents01 .image {
  text-align: center;
  position: relative;
  margin-top: -15px;
}

.page-section__about03 .contents02 .lead {
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 50px;
}
.page-section__about03 .contents02 .lead span {
  background: linear-gradient(transparent 60%, #d5eaf4 30%);
}

.page-section__about03 .contents02 .profile {
  padding: 45px 4%;
  background: #f3f3f3;
}
.page-section__about03 .contents02 .profile-image {
  width: 32%;
}
.page-section__about03 .contents02 .profile-text {
  width: 65%;
  margin-left: auto;
}
.page-section__about03 .contents02 .profile-text .logo {
  margin-bottom: 20px;
}
.page-section__about03 .contents02 .profile-text .text {
  line-height: 2;
  font-size: 1.4rem;
}
.page-section__about03 .contents02 .profile-text .link {
  text-align: right;
}

@media only screen and (max-width: 768px) {
  .page-section__about01 .contents01 {
    text-align: left;
  }
  .page-section__about01 .contents01 .lead {
    font-size: 2.2rem;
  }
  .page-section__about01 .contents01 .text {
    line-height: 2;
  }
  .page-section__about03 .sec-lead {
    text-align: left;
  }
  .page-section__about03 .contents01 .title {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
  .page-section__about03 .contents01 .image {
    margin-top: 0;
  }
  .page-section__about03 .contents02 .lead {
    text-align: left;
    font-size: 1.6rem;
    margin-bottom: 30px;
  }
  .page-section__about03 .contents02 .profile {
    padding: 15px 15px 20px;
  }
  .page-section__about03 .contents02 .profile-image {
    width: 100%;
    margin-bottom: 15px;
  }
  .page-section__about03 .contents02 .profile-text {
    width: 100%;
  }
  .page-section__about03 .contents02 .profile-text .logo {
    text-align: center;
    margin-bottom: 15px;
  }
  .page-section__about03 .contents02 .profile-text .logo img {
    width: 100px;
  }
  .page-section__about03 .contents02 .profile-text .link {
    text-align: center;
    margin-top: 15px;
  }
}

/*------------------------------------------
  casestudy
------------------------------------------*/
.profile-box {
  background: #e6f4fb;
  padding: 35px 5%;
}
.profile-box .box-title {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 1em;
}
.profile-box .box-contents {
  justify-content: space-between;
}
.profile-box .profile {
  width: 48%;
  align-items: center;
}
.profile-box .profile:nth-child(n+3) {
  margin-top: 20px;
}
.profile-box .profile-image {
  width: 40%;
}
.profile-box .profile-text {
  width: 55%;
  margin-left: auto;
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: 500;
}

@media only screen and (max-width: 1024px) {
  .profile-box {
    padding: 20px 15px;
  }
  .profile-box .box-title {
    font-size: 1.6rem;
  }
  .profile-box .profile {
    width: 100%;
    margin-bottom: 20px;
  }
  .profile-box .profile:last-child {
    margin-bottom: 0;
  }
  .profile-box .profile-image {
    width: 40%;
  }
  .profile-box .profile-text {
    width: 55%;
    margin-left: auto;
    font-size: 1.4rem;
    line-height: 1.8;
    font-weight: 500;
  }
}

/*------------------------------------------
  system
------------------------------------------*/
.page-section__system01 .cont-title {
  font-weight: 500;
  font-size: 2.2rem;
  margin-bottom: 1em;
}

.page-section__system01 .cont-lead {
  line-height: 1.8;
  margin-bottom: 30px;
}

.page-section__system02 {
  font-weight: 500;
}
.page-section__system02 .cont-title {
  font-size: 2.8rem;
  margin-bottom: .8em;
}
.page-section__system02 .cont-caution {
  font-size: 1.2rem;
  margin-top: 1.5em;
}

@media only screen and (max-width: 768px) {
  .page-section__system01 .cont-title {
    font-size: 1.8rem;
  }
  .page-section__system01 .cont-lead {
    margin-bottom: 25px;
  }
  .page-section__system02 .cont-title {
    font-size: 2rem;
  }
  .page-section__system02 .scroll-table table {
    width: 650px;
  }
}

.text-blue a{
  color: #2552c1;
  text-decoration:underline;
  font-size: 1.2rem;
}

/*------------------------------------------
  faq
------------------------------------------*/
.faq {
  font-weight: 500;
}
.faq-icon {
  display: table-cell;
  text-align: center;
  width: 60px;
  font-family: "Poppins", sans-serif;
  font-size: 2.6rem;
}
.faq-text {
  display: table-cell;
  width: calc( 100% - 60px);
  box-sizing: border-box;
}
.faq dt {
  background: #d5eaf4;
  margin-top: 15px;
  position: relative;
}
.faq dt:after {
  content: "";
  width: 11px;
  height: 11px;
  border-right: 1px solid #2e2e2e;
  border-bottom: 1px solid #2e2e2e;
  position: absolute;
  right: 25px;
  top: 50%;
  transform: rotate(45deg);
  margin-top: -6px;
}
.faq dt:first-child {
  margin-top: 0;
}
.faq dt.ac-open:after {
  transform: rotate(225deg);
  margin-top: -4px;
}
.faq dt .faq-icon {
  background: #0b2986;
  color: #fff;
}
.faq dt .faq-text {
  font-size: 2rem;
  padding: 1em 25px;
}
.faq dd {
  background: #f3f3f3;
}
.faq dd .faq-icon {
  background: #e3e3e3;
}
.faq dd .faq-text {
  font-size: 1.5rem;
  line-height: 1.8;
  padding: 25px;
}
.faq dd .faq-text a {
  text-decoration: underline;
}

@media only screen and (max-width: 768px) {
  .faq-icon {
    width: 40px;
    font-size: 2rem;
  }
  .faq-text {
    width: calc( 100% - 40px);
  }
  .faq dt:after {
    width: 7px;
    height: 7px;
    right: 15px;
  }
  .faq dt.ac-open:after {
    margin-top: -2px;
  }
  .faq dt .faq-text {
    font-size: 1.6rem;
    padding: 15px 20px;
  }
  .faq dd .faq-text {
    font-size: 1.4rem;
    padding: 20px;
  }
}

/*------------------------------------------
  news
------------------------------------------*/
.news-article .article-head {
  margin-bottom: 40px;
}
.news-article .article-head .head__title {
  margin-bottom: 15px;
}
.news-article .article-head .head__date {
  line-height: 1.1;
}
.news-article .article-head .head__date span {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
.news-article .article-head .head__date .date {
  font-family: "Poppins", sans-serif;
  font-size: 1.8rem;
}
.news-article .article-head .head__date .category {
  font-weight: 500;
  color: #fff;
  font-size: 1.2rem;
  background: #0b2986;
  padding: 2px 1.5em 4px;
}

.news-article .article-contents {
  line-height: 1.8;
  margin-bottom: 60px;
}
.news-article .article-contents:last-child {
  margin-bottom: 0;
}
.news-article .article-contents > p {
  margin-bottom: 30px;
}
.news-article .article-contents > p:last-child {
  margin-bottom: 0;
}
.news-article .article-contents > p a {
  text-decoration: underline;
}
.news-article .article-contents > p strong {
  font-weight: bold;
  background: #cbecfc;
}

@media only screen and (max-width: 768px) {
  .news-article .article-head {
    margin-bottom: 30px;
  }
  .news-article .article-head .head__date .date {
    font-size: 1.6rem;
  }
  .news-article .article-contents {
    margin-bottom: 40px;
  }
  .news-article .article-contents > p {
    margin-bottom: 20px;
  }
}

/*------------------------------------------
  materials
------------------------------------------*/
.page-section__materials01 .sec-lead {
  text-align: center;
  margin-bottom: 70px;
  font-weight: 500;
}

.dl-caution {
  align-items: center;
  justify-content: center;
}
.dl-caution > div {
  padding: 5px 15px;
}
.dl-caution .caution-text {
  font-size: 1.2rem;
}

@media only screen and (max-width: 768px) {
  .page-section__materials01 .sec-lead {
    text-align: center;
    margin-bottom: 40px;
  }
  .dl-caution .caution-text {
    padding: 5px 0;
  }
}

/*------------------------------------------
  form
------------------------------------------*/
.form-text__lead {
  text-align: center;
  line-height: 1.8;
  margin-bottom: 40px;
  font-weight: 500;
}

.form-text__caution {
  font-size: 1.2rem;
  line-height: 2;
  font-weight: 500;
  margin-bottom: 25px;
}

.form-title {
  background: #0b2986;
  color: #fff;
  padding: .8em 1em;
}

.form-table {
  width: 100%;
  border-top: 1px solid #d1d1d1;
  text-align: left;
  font-weight: 500;
}
.form-table tr {
  border-bottom: 1px solid #d1d1d1;
}
.form-table th, .form-table td {
  padding: 1.5em;
  box-sizing: border-box;
}
.form-table th {
  background: #e3f1f8;
  width: 240px;
  line-height: 1.4;
}
.form-table th p {
  position: relative;
  padding-right: 30px;
}
.form-table th span {
  font-size: 1.2rem;
}
.form-table th .mark {
  font-size: 1.1rem;
  padding: 0 .3em;
  color: #da291c;
  border: 1px solid #da291c;
  position: absolute;
  top: 3px;
  right: 0;
}
.form-table td {
  font-size: 1.4rem;
  vertical-align: middle;
  padding-right: 0;
}
.form-table .input-caution {
  font-size: 1.2rem;
  margin-top: 5px;
}
.form-table .input-sub {
  display: inline-block;
  font-size: 1.2rem;
  vertical-align: middle;
}
.form-table textarea {
  width: 100%;
  background: #f3f3f3;
  margin-top: 10px;
  padding: 1em;
}
.form-table input {
  width: 100%;
  background: #f3f3f3;
  padding: 0 1em;
  height: 40px;
}
.form-table input.w230 {
  max-width: 230px;
  margin-right: 5px;
}
.form-table ::-moz-placeholder {
  color: #cfcfcf;
}
.form-table :-ms-input-placeholder {
  color: #cfcfcf;
}
.form-table ::-ms-input-placeholder {
  color: #cfcfcf;
}
.form-table ::placeholder {
  color: #cfcfcf;
}

.form-table__conf th p {
  padding-right: 0;
}

.form-table__conf td p {
  margin-bottom: 1em;
}
.form-table__conf td p:last-child {
  margin-bottom: 0;
}

.form-foot__agreement {
  text-align: center;
  margin-top: 50px;
  font-weight: 500;
}
.form-foot__agreement span {
  display: inline-block;
  vertical-align: middle;
}
.form-foot__agreement label {
  display: inline-block;
  vertical-align: middle;
  position: relative;
}
.form-foot__agreement label:after {
  top: 50%;
  margin-top: -10px;
  width: 18px;
  height: 18px;
  border: 1px solid #da291c;
  border-radius: 0;
}
.form-foot__agreement label:before {
  width: 10px;
  height: 16px;
  border-radius: 0;
  top: 0;
  box-sizing: border-box;
  background: none;
  border-bottom: 3px solid #da291c;
  border-right: 3px solid #da291c;
  transform: rotate(45deg);
}
.form-foot__agreement .mark {
  font-size: 1.1rem;
  padding: 0 .3em;
  color: #da291c;
  border: 1px solid #da291c;
  margin-right: 50px;
}

.form-foot__submit {
  text-align: center;
  margin-top: 50px;
  font-weight: 500;
}
.form-foot__submit .submit {
  margin-bottom: 35px;
}
.form-foot__submit .submit:last-child {
  margin-bottom: 0;
}
.form-foot__submit .submit input {
  display: inline-block;
  width: 100%;
}
.form-foot__submit .submit-send input {
  background: #da291c;
  color: #fff;
  font-size: 2.2rem;
  max-width: 495px;
  height: 70px;
}
.form-foot__submit .submit-reset input {
  border: 1px solid #da291c;
  color: #da291c;
  max-width: 156px;
  height: 45px;
}

input[type=radio], input[type=checkbox] {
  display: none;
}

.radio, .checkbox {
  box-sizing: border-box;
  position: relative;
  display: block;
  padding: 5px 5px 5px 26px;
  vertical-align: middle;
  cursor: pointer;
}
.radio:after, .checkbox:after {
  transition: border-color .2s linear;
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #d1d1d1;
  border-radius: 50%;
  content: "";
}

.radio:before {
  transition: opacity .2s linear;
  position: absolute;
  top: 50%;
  left: 5px;
  margin-top: -5px;
  display: block;
  width: 10px;
  height: 10px;
  background: #da291c;
  border-radius: 50%;
  content: "";
  opacity: 0;
}
input[type=radio]:checked + .radio:before {
  opacity: 1;
}

.checkbox:before {
  transition: opacity .2s linear;
  position: absolute;
  top: 50%;
  left: 5px;
  margin-top: -5px;
  display: block;
  width: 10px;
  height: 10px;
  background: #da291c;
  border-radius: 50%;
  content: "";
  opacity: 0;
}
input[type=checkbox]:checked + .checkbox:before {
  opacity: 1;
}

.page-section__thanks {
  text-align: center;
  font-weight: 500;
}
.page-section__thanks .sec-title {
  font-size: 3.2rem;
  margin-bottom: 1em;
}
.page-section__thanks .thanks-text {
  line-height: 1.8;
  margin-bottom: 50px;
}
.page-section__thanks .thanks-info {
  margin-bottom: 65px;
  text-align: left;
  align-items: center;
  justify-content: center;
}
.page-section__thanks .thanks-info .tel-text {
  padding-left: 48px;
  margin-left: 5px;
  background: url(../images/common/ico-tel.png) no-repeat left center;
  background-size: 38px;
}
.page-section__thanks .thanks-info .tel-text .num {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.3;
}
.page-section__thanks .thanks-info .tel-text .guide {
  font-size: 1.2rem;
}

@media only screen and (max-width: 768px) {
  .form-text__lead {
    text-align: left;
    margin-bottom: 25px;
  }
  .form-table th, .form-table td {
    display: block;
    width: 100%;
  }
  .form-table th {
    width: 100%;
    padding: 1em;
  }
  .form-table td {
    padding: 1.5em 0;
  }
  .form-table input.w230 {
    margin-bottom: 5px;
  }
  .form-table textarea {
    height: 150px;
  }
  .form-foot__agreement {
    margin-top: 30px;
    text-align: left;
    position: relative;
    padding-left: 90px;
  }
  .form-foot__agreement label {
    position: absolute;
    left: 50px;
    top: 50%;
    transform: translateY(-50%);
  }
  .form-foot__agreement .mark {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .form-foot__submit {
    margin-top: 30px;
  }
  .form-foot__submit .submit {
    margin-bottom: 25px;
  }
  .form-foot__submit .submit-send input {
    font-size: 1.8rem;
    height: 56px;
  }
  .page-section__thanks .sec-title {
    font-size: 2.4rem;
  }
  .page-section__thanks .thanks-text {
    text-align: left;
    margin-bottom: 30px;
  }
  .page-section__thanks .thanks-info {
    margin-bottom: 20px;
  }
  .page-section__thanks .thanks-info .info-logo {
    margin-bottom: 10px;
  }
  .page-section__thanks .thanks-info .tel-text {
    margin-bottom: 10px;
  }
}

/*------------------------------------------
  slick-slider
------------------------------------------*/
.slider {
  display: none;
}
.slider.slick-initialized {
  display: block;
}
.slick-prev {
  width: 30px;
  height: auto;
  z-index: 1;
  left: -50px;
}
.slick-next {
  width: 34px;
  height: auto;
  right: -50px;
}
.slick-dots li button:before {
  font-size: 10px;
}
@media only screen and (max-width: 768px) {
    .slick-prev {
        left: 10px;
    }
    .slick-next {
        right: 10px;
    }
}
