/* nav */

.menu_wrap {
  display: none;
}

/* mv */

.mv_sub {
  background: url(../common/cmn_img/mv.jpg) no-repeat center center;
  background-size: cover;
  width: 100%;
	height:500px;
  padding-top: 0px;
  position: relative;
}

@media screen and (max-width: 800px) {
.mv_sub {
  background: url(../common/cmn_img/mv.jpg) no-repeat center center;
  background-size: cover;
  width: 100%;
	height:200px;
  padding-top: 0px;
  position: relative;
}
}

/* ancBox */

.ancBox ul li:last-child {
  width: 42%;
}

/* section01 */

#section01 {}

#section01 .contents {
  padding: 30px;
  border: 1px solid #2f8aed;
  border-radius: 5px;
  margin-top: 20px;
}

h4.text ul.list {
  text-align: left;
  padding: 30px;
  background-color: #fffafa;
  margin-bottom: 20px;
}

.contents .flowBox .title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 15px;
  color: #2f8aed;
  letter-spacing: 0.1em;
  font-weight: bold;
}

.contents .flowBox .txt {
  font-size: 16px;
  line-height: 1.5;
  color: #000;
  letter-spacing: 0.05em;
  font-weight: 400;
}

.arrow_bottom {
  width: 50px;
  display: block;
  margin: 0 auto;
  margin-bottom: 20px;
}

.arrow_bottom img {
  width: 100%;
}

.contents .innerBox {
  padding: 20px;
  background-color: #fffafa;
  margin-top: 20px;
}

.contents .innerBox h5.title {
  color: #2f8aed;
  font-size: 20px;
  line-height: 1;
  font-weight: 600;
  margin-bottom: 15px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.contents .innerBox h5.title::before {
  content: '';
  background: linear-gradient(#2f8aed, #ef757b);
  width: 8px;
  height: 20px;
  display: inline-block;
  margin-right: 8px;
}


.contents .innerBox .txt {
  font-size: 14px;
  line-height: 1.5;
  color: #000;
  letter-spacing: 0.05em;
  font-weight: 400;
}

.contents .innerBox .list {
  margin-bottom: 15px;
}

.contents .innerBox .list ul li {
  display: flex;
  align-items: center;
  text-align: left;
  justify-content: flex-start;
}

.contents .innerBox .list ul li span {
  display: inline-block;
  color: #2f8aed;
  font-size: 10px;
  text-align: left;
  margin-right: 5px;
}

.info {
  font-size: 12px;
}

.planBox {
  margin-top: 50px;
}


.planBox .title {
  font-size: 26px;
  letter-spacing: 0.2em;
  line-height: 1;
  margin-bottom: 30px;
  font-weight: 400;
  text-align: left;
  font-style: italic;
  color: #5c5b5b;
}

.planBox .title .en {
  font-size: 16px;
  letter-spacing: 0.2em;
  line-height: 1.5;
  margin-bottom: 30px;
  font-weight: 400;
  text-align: left;
  font-style: italic;
  color: #2f8aed;
}

.planBox .text {
  font-size: 16px;
  letter-spacing: 0.2em;
  line-height: 1.5;
  margin-bottom: 30px;
  font-weight: 400;
  text-align: center;
  color: #5c5b5b;
}

.planBox .text .info {
  font-size: 12px;
  display: block;
  margin-top: 10px;
}

.planBox .subTtl {
  text-align: center;
  background: #2f8aed;
  padding: 10px;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
}

.planBox .mainTtl .small {
  font-size: 14px;
  line-height: 1.5;
  color: #000;
  letter-spacing: 0.05em;
  font-weight: 400;
  text-align: center;
}

.planBox .contents .txt.small {
  font-size: 14px;
  line-height: 1.5;
  color: #000;
  letter-spacing: 0.05em;
  font-weight: 400;
  text-align: center;
}

.planBox .contents {
  border: 1px solid #2f8aed;
  padding: 30px;
  margin-bottom: 10px;
  background: #fff;
}

.planBox .contents .Box {
  display: flex;
  justify-content: center;
  align-items: center;
}

.planBox .contents .mainTtl {
  font-size: 30px;
  line-height: 1;
  margin-bottom: 15px;
  color: #2f8aed;
  letter-spacing: 0.1em;
  font-weight: bold;
  text-align: center;
}

.planBox .contents .plan {
  font-size: 14px;
  line-height: 1;
  color: #000;
  letter-spacing: 0.1em;
  font-weight: 400;
  text-align: center;
}

.planBox .contents ul {
  display: flex;
  justify-content: center;
}

.planBox .contents ul li {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  line-height: 1;
  color: #000;
  letter-spacing: 0.1em;
  font-weight: 400;
  padding: 20px;
  background-color: #f7f7f7;
  margin-right: 30px;
}

.planBox .contents ul li:last-child {
  margin-right: 0;
}

/* table */

.tableBox table {
  width: 100%;
}

.tableBox table tr.text_center th {
  text-align: center !important;
}

.tableBox table th,
.tableBox table td {
  padding: 10px 2%;
  text-align: left !important;
}

/* price */

.ttl_wrapper {
  margin: 50px 0 0;
}

.ttl_wrapper h2.title {
  font-size: 20px;
  letter-spacing: 0.2em;
  line-height: 1.5;
  font-weight: 600;
  text-align: left;
  margin-bottom: 5px;
}

.ttl_wrapper h2.title::before {
  content: '';
  width: 35px;
  height: 1px;
  margin: 0 auto 15px;
  background-color: #e4e4e4;
  display: inline-block;
  text-align: center;
  vertical-align: bottom;
  margin-right: 5px;
}

.ttl_wrapper h4.text {
  text-align: left;
  margin-bottom: 20px !important;
}

.planBox.other {
  margin-top: 0;
  margin-bottom: 50px;
}

.contents .innerBox.blue {
  background-color: #e7f8fe;
}

.contents .innerBox.blue h5.title {
  color: #16b7f5;
}

.contents .innerBox.blue h5.title::before {
  content: '';
  background: linear-gradient(#68e3ff, #58c9f2);
  width: 8px;
  height: 20px;
  display: inline-block;
  margin-right: 8px;
}

.contents .innerBox.blue .tableBox table th {
  color: #16b7f5;
  background-color: #cbf1ff;
}

#section03 {
  padding-bottom: 90px;
}

#section03 h2::before {
  display: none;
}

#section03 h2.titleSub {
  margin-bottom: 20px;
}

#section03 .contents {
  padding: 30px;
  border: 1px solid #2f8aed;
  border-radius: 5px;
  margin-top: 20px;
}


/* support */

#support {
  padding: 50px 0 100px;
}

.support ul {
  display: flex;
  justify-content: center;
}

.support ul li {
  margin-right: 10px;
  width: 50%;
}

.support ul li:last-child {
  margin-right: 0;
}


.support ul li .img {
  width: 100%;
}

.support ul li .img img {
  width: 100%;
}

.support ul li .title {
  font-size: 18px;
  line-height: 1.5;
  margin: 5px 0;
  color: #2f8aed;
  letter-spacing: 0.1em;
  font-weight: bold;
}

.support ul li .text {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: 10px;
}

.support ul li .btn a {
  background: #2f8aed;
  color: #fff;
  font-size: 14px;
  padding: 8px 8px 8px 18px;
  text-align: center;
  border-radius: 50px;
  line-height: 1;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  border: 1px solid #2f8aed;
}

.support ul li .btn a:hover {
  background: #fff;
  color: #2f8aed;
  opacity: 1;
  border: 1px solid #2f8aed;
}

.support ul li .btn span {
  display: inline-block;
  margin-left: 10px;
  width: 22px;
}

@media screen and (max-width: 1040px) {

  .ancBox ul {
    flex-wrap: wrap;
  }

  .ancBox ul li {
    width: 48%;
    margin-bottom: 20px;
  }

  .ancBox ul li:last-child {
    display: block;
    width: 100%;
  }

}

@media screen and (max-width: 800px) {


  .ancBox ul li {
    width: 100%;
    margin-bottom: 10px;
  }

  .ancBox ul li:last-child {
    display: block;
    width: 100%;
  }

  /* よく使うパーツ */
  .planBox .title .en {
    display: block;
    margin-left: 45px;
    margin-top: 10px;
  }

  .planBox .text {
    font-size: 14px;
  }

  .planBox .subTtl {
    font-size: 14px;
  }

  .planBox .contents .Box {
    flex-wrap: wrap;
  }

  .planBox .contents .Box .mainTtl {
    display: block;
    margin-bottom: 10px;
    font-size: 23px;
  }

  .planBox .contents {
    padding: 5px;
  }

  .planBox .contents ul {
    flex-wrap: wrap;
  }

  .planBox .contents ul li {
    margin-right: 0;
    margin-bottom: 10px;
  }

  /* コンテンツ */

  .contents .flowBox .title {
    font-size: 20px;
  }

  .circleNmb.other {
    width: 41px;
    height: 24px;
    font-size: 16px;
  }

  .circleNmb {
    width: 24px;
    height: 24px;
    font-size: 16px;
  }

  .contents .flowBox .txt {
    font-size: 14px;
    margin-bottom: 10px;
  }

  #section01 .contents {
    padding: 20px;
  }

  .contents .innerBox h5.title {
    font-size: 18px;
  }

  .contents .innerBox {
    padding: 5px;
  }

  /* table */

  .tableBox table th {
    font-size: 14px;
    letter-spacing: 0.01em;
    padding: 8px 1%;
  }

}

.summary_grid{
  display: grid;
  grid-template-columns: 1fr 3fr;
	gap:10px;
	font-size:120%;
}
.summary_grid .title{
	font-weight:bold;
	color:#2f8aed;
}

@media screen and (max-width: 800px) {
.summary_grid{
  display: grid;
  grid-template-columns: 1fr;
	gap:10px;
	font-size:100%;
}
.summary_grid .txt{
	border-bottom:1px solid #2f8aed;
	padding-bottom:10px;
	margin-bottom:20px;
}
	
}
