/* ---共通設定-------------------------------------------------- */
*{
  font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  /* line-height: 1.3; */
  /* font-size: 17px; */
  font-size: 14px;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

body{
  line-height: 1.8;
}

a:hover {
  opacity: 0.8;
}

h2 {
  /* font-size: 32px; */
  font-size: 26px;
  text-align: center;
  letter-spacing: 3px;
}

h3 {
  font-size: 21px;
  text-align: center;
  letter-spacing: 3px;
  font-weight: normal;
}

h4{
  font-size: 20px;
  font-weight: bold;
  color: #000000;
}

select,input {
  -webkit-appearance: none;
  -moz-appearance: none; 
  appearance: none; 
  /* border: none; */
  border-radius: 0%;
  background-color: #fff;
  white-space: normal;
  outline: none;
}

::-ms-expand {
    display: none;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
  -moz-appearance:textfield;
}

.label{
  font-size: 18px;
  display: inline-block;
}

@media screen and (max-width: 425px) {
  *{
    font-size: 14px;
  }

  h2 {
    font-size: 21px;
  }
  
  h3 {
    font-size: 18px;
  }

  h4{
    font-size: 17px;
  }

}

/* ---グローバル-------------------------------------------------- */
/* ---↓logo-------------------- */
.logo {
  max-width: 215px;
  width: 100%;
}

.logo > a {
  display: -webkit-box;
  display: flex;
}

@media screen and (max-width: 889px) {
  .logo {
    max-width: 200px;
  }
}

@media screen and (max-width: 425px) {
  .logo {
    max-width: 155px;
  }
}
/* ---↑logo-------------------- */

/* ---↓mark-------------------- */
.mark {
  padding: 0 8px;
  position: relative;
  margin-right: 10px;
}

.mark::before {
  content: ">";
  background-color: #0057B8;
  color: #fff;
  width: 16px;
  height: 16px;
  border-radius: 9999px;
  position: absolute;
  display: inline-block;
  text-align: center;
  line-height: 15px;
  top: 0;
  left: 0;
  /* transform: translateY(-50%); */
}
/* ---↑mark-------------------- */

.topPagesection {
  padding: 60px 0;
}

.section {
  padding: 35px 0 60px;
  padding-bottom: 140px;
}

.headingWrap {
  position: relative;
  line-height: 1.3;
}

.heading-ja {
  color: #0057B8;
  font-size: 20px;
  text-align: center;
  font-weight: bold;
  margin-top: 5px;
}

@media screen and (max-width: 425px) {
  .heading-ja {
    font-size: 18px;
  }
}

/* ---↓sideBorder-------------------- */
.sideBorder {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
}

.sideBorder::before {
  content: "";
  -webkit-box-flex: 1;
          flex-grow: 1;
  height: 1px;
  background: #000;
  display: block;
  margin-right: 2em;
}

.sideBorder::after {
  content: "";
  -webkit-box-flex: 1;
          flex-grow: 1;
  height: 1px;
  background: #000;
  display: block;
  margin-left: 2em;
}

@media screen and (max-width: 768px) {
  .sideBorder::before {
    margin-right: 0.5em;
  }
  
  .sideBorder::after {
    margin-left: 0.5em;
  }
}
/* ---↑sideBorder-------------------- */

/* ---↓contentsWrap-------------------- */
.contentsWrap {
  width: 95%;
  margin: auto;
  margin-top: 62px;
  /* line-height: 1.3; */
  max-width: 1050px;
}

@media screen and (max-width: 1155px) {
  .contentsWrap {
    width: 95%;
  }
}

@media screen and (max-width: 500px) {
  .contentsWrap {
  margin-top: 42px;
  }
}
/* ---↑contentsWrap-------------------- */

.contentHeading {
  padding-bottom: 15px;
}

.blueline {
  position: absolute;
  border-bottom: 3px solid #0057B8;
  bottom: 0;
  width: 110px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin-top: 5px;
}

.contents {
  margin: 65px auto 0;
  max-width: 1050px;
}

/* ---↓btn-------------------- */
.btn {
  margin-top: 20px;
  color: #fff;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: end;
          justify-content: flex-end;
  font-size: 15px;
  font-weight: bold;
}

.btn > a {
  position: relative;
  padding: 15px 30px;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  background-color: #0057B8;
  border-radius: 9999px;
}

.btn > .arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.btn > a > .arrow::after {
  content: "→";
  color: #fff;
}

@media screen and (max-width: 425px) {
  .btn {
    -webkit-box-pack: center;
            justify-content: center;
  }
}
/* ---↑btn-------------------- */

/* ---↓topBtn-------------------- */
.topBtnWrap {
  position: fixed;
  width: 70px;
  height: auto;
  bottom: 10px;
  right: 2%;
  display: none;
}

.topBtnWrap > .topBtn {
  /* max-width: 70px; */
  display: block;
}

@media screen and (max-width: 768px) {
  .topBtnWrap {
    width: 50px;
    right: 15px;
  }
}
/* ---↑topBtn-------------------- */

/* ---↓breadcrumb-------------------- */
.breadcrumbArea {
  margin: 25px 0 5px;
  /* margin: 25px 0 0; */

}

.breadcrumb {
  max-width: 1180px;
  width: 95%;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin: auto;
  letter-spacing: 1px;
  font-size: 14px;
}

.breadcrumb > li + li {
  margin-left: 10px;
}

.breadcrumb > li + li::before {
  content: ">";
  display: inline-block;
  margin-right: 10px;
  color: #323333;
}

.breadcrumb > li + li{
  margin-left: 10px;
}

.breadcrumb > li:last-child{
  color: #0057B8;
}

/* .breadcrumb li,
.breadcrumb li > a{
  font-size: 12px;
} */
/* ---↑breadcrumb-------------------- */

/* ---↓suquareMark-------------------- */
.suquareMark {
  padding: 0 8px;
  position: relative;
  margin-right: 10px;
}

.suquareMark::before {
  position: absolute;
  content: "";
  background-color: #71c8d5;
  width: 16px;
  height: 16px;
  display: inline-block;
  text-align: center;
  line-height: 15px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
/* ---↑suquareMark-------------------- */

.discList {
  list-style: disc;
  padding-left: 40px;
}

/* ---↓pdfIcon-------------------- */
.pdfIcon{
  position: relative;
  width: 36px;
  min-width: 36px;
  height: 36px;
  margin-left: 60px;
}

.pdfIcon::before{
  content: "";
  background-image: url("../img/icon_pdf.svg");
  width: 36px;
  height: 36px;
  position: absolute;
  display: inline-block;
  text-align: center;
  line-height: 15px;
  top: 0;
  left: 0;
}
/* ---↑pdfIcon-------------------- */

.spVisible{
  display: none;
}

@media screen and (max-width: 425px) {
  .spVisible{
    display: block;
  }
}

/* ---↓box-------------------- */
.boxes {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
          justify-content: space-between;
}

.boxes > .box {
  width: 32%;
  background-color: gray;
  position: relative;
}

.boxes > .box:hover {
  opacity: 0.8;
}

.boxes > .box::before{
  content: "";
  display: block;
  padding-top: 54.448%;
  background-size: cover;
  background-position: center;
}

.boxes > .box .titleWrap{
  position: absolute;
  top: 25%;
  text-align: center;
  width: 98%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.boxes > .box .titleWrap h3{
  color: #fff;
  font-weight: bold;
  line-height: 1;
}

.boxes > .box .titleWrap p{
  position: relative;
  padding-top: 15px;
  margin-top: 15px;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.boxes > .box .titleWrap p::before{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 20%;
  border-top: 3px solid #fff;
}

@media screen and (max-width: 768px) {
  .boxes > .box {
    width: 48%;
  }

  .boxes > .box + .box + .box{
    margin-top: 45px;
  }

}
/* ---↑box-------------------- */

/* ---↓productSection-------------------- */

.productSection h3{
  position: relative;
  font-size: 26px;
  font-weight: bold;
  color: #0057B8;
}

.productSection h3::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 60px;
  border-top: 1px solid #4E4F51;
}

.productSection .productWrap{
  margin: 60px auto 0 auto; 
  max-width: 1050px;
  width: 95%;
}

.productSection .sectionInner{
  padding: 45px 0 60px;
}

.productSection .spVisible{
  display: none;
}

@media screen and (max-width: 500px) {
  .productSection h3{
    font-size: 21px;
    line-height: 1.5;
  }

  .productSection .productWrap{
    margin-top: 40px;
  }

  .productSection .spVisible{
    display: block;
  }
}

/* ---↑productSection-------------------- */

.checkBoxWrap{
  display: -webkit-box;
  display: flex;
}

.checkBoxWrap + .checkBoxWrap{
  margin-top: 10px;
}

.checkBox{
  position: relative;
  width: 21px;
  min-width: 21px;
  height: auto;
}

.checkBox::before{
  content: url("../img/check.png");
  position: absolute;
  line-height: 21px;
  width: 21px;
  height: 21px;
  top: -1px;
}

.checkText{
  font-size: 16px;
  margin-left: 10px;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 500px) {
  .checkText{
    font-size: 14px;
  }
}

.optionBoxes{
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
          justify-content: space-between;
}

.optionBox{
  padding: 20px;
  max-width: 325px;
  width: 32%;
  border: 1px solid #4E4F51;
}

.optionBox >p{
  font-size: 20px;
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  background-color: #0057B8;
}

.optionBox + .optionBox + .optionBox + .optionBox{
  margin-top: 25px;
}

.optionBox .optionList{
  margin-top: 34px;
}

.optionBox .optionList li{
  min-height: 43px;
  line-height: 43px;
}

.optionBox .optionList li+li{
  /* padding-top: 12px;
  margin-top: 2px; */
  border-top: 1px solid #4E4F51;
}

@media screen and (max-width: 890px) {
  .optionBoxes{
    /* flex-direction: column; */
    justify-content: space-around;
  }

  .optionBox {
    max-width: 395px;
    width: 42%;
    padding: 20px 22px;
  }

  .optionBox:nth-child(2n){
    margin-left: 20px;
  }

  .optionBox + .optionBox + .optionBox{
    margin-top: 25px;
  }
}

@media screen and (max-width: 768px) {

  .optionBox:nth-child(2n){
    margin-left: 0;
  }

  .optionBox + .optionBox {
    margin-top: 25px;
  }

  .optionBox {
    max-width: 768px;
    width: 90%;
  }
}

.bg-gray{
  background-color: #F1F1F1;
}

/* ---productKv-------------------------------------------------- */
.kv .contentsWrap{
  max-width: none;
  width: 100%;
}

.kv .productKv{
  background-position: center;
  background-size: cover;
}

.kv .productKv .headingWrap{
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
}

.kv .productKv h3{
  margin-left: 9%;
  font-size: 68px;
  text-align: left;
  line-height: 1.2;
  font-weight: bold;
}

.kv .productKv h3 span{
  font-size: 35px;
  font-weight: bold;
}

.kv .productLogo{
  position: absolute;
  right: 9%;
  top: 21%;
  width: 145px;
  height: 145px;
  background-color: #fff;
  border-radius: 9999px;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
}

.kv .productLogo span{
  /* position: absolute; */
  color: #0057B8;
  font-size: 30px;
  text-align: center;
  font-weight: bold;
}

/* ---productCommonBox-------------------------------------------------- */
.productCommonBox .productWrap{
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: unset;
          justify-content: unset;
}

.productCommonBox .head {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.7;
}

.productCommonBox .text{
  max-width: 620px;
  line-height: 1.8;
  padding-top: 20px;
  font-size: 17px;
  margin-left: 40px;
  width: 100%;

}

@media screen and (max-width: 1023px) {
  .productCommonBox .productWrap{
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row;
  }
}

@media screen and (max-width: 767px) {
  .productCommonBox .productWrap{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    -webkit-box-align: center;
            align-items: center;
  }

  .productCommonBox .text{
    margin-left: 0;
    padding-top: 0;
  }

}

@media screen and (max-width: 500px) {
  .productCommonBox .head{
    font-size: 18px;
  }
  
  .productCommonBox .text{
    font-size: 14px;
  }
}

/* ---overView-------------------------------------------------- */
.overView .sectionInner {
  padding: 55px 0 60px;
}
.overView .contentsWrap {
  margin: auto;
}

.overView h4{
  font-size: 23px;
}

.overView p{
  margin-top: 20px;
  line-height: 2;
}

@media screen and (max-width: 500px) {
  .overView h4{
    font-size: 18px;
  }
}
/* ---overView-------------------------------------------------- */

.zoom{
  width: 14px;
  height: 14px;
  margin-left: 3px;
}

.mg_t5{
  margin-top: 5px;
}

.current{
  background-color: #fff;
}

.current > a{
  color: #0057B8;
}