
.read {
  background: url(../images/common/bg-square@2x.png) 0% 0%/84px repeat;
  padding: 60px 0
}

.read .inner {
	padding: 70px 20px;
	background-image: url(../images/common/mv-08.jpg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
}

.read .box {
  max-width: 710px;
  padding: 48px;
  background: #fff;
  margin: auto
}

.read h2 {
  margin-bottom: 0.6em
}

.read h2 img {
  display: block;
  margin: auto;
  max-width: 234px
}

.read p {
  text-align: center;
  font-weight: bold;
  font-size: 20px
}

@media screen and (max-width: 767px) {
  .read .inner {
    background: url(../images/common/mv-08.jpg) 50% 50%/cover no-repeat
  }

  .read .box {
    padding: 48px 30px
  }

  .read h2 img {
    max-width: 160px
  }

  .read p {
    font-size: 15px
  }
}



.owabi {
  padding: 30px 0;
  background: url(../images/common/bg-square@2x.png) 0% 0%/84px repeat
}

.owabi h2 img {
  display: block;
  margin: auto;
  max-width: 415px
}


.owabi .blbg {
	font-weight: bold;
	color: #FFF;
	background-color: #000;
	padding: 3px;
}
.owabi .sample {
	padding: 2%;
	background-color: #E9E9E9;
	font-size: 13px;
}

.owabi .ct {
	text-align: center;
}

.sample h4 {
	font-size: 18px;
	color: #000;
	margin-bottom: 0px;
}





@media screen and (max-width: 767px) {
  .owabi h2 img {
    max-width: 314px;
    width: 100%
  }
}

.owabi ul {
  display: flex;
  justify-content: space-between;
  margin: 0
}

@media screen and (max-width: 991px) {
  .owabi ul {
    display: block;
    margin: 60px 0 0
  }
}

.owabi ul li {
  margin-top: 20px;
  width: 30.5%;
  background: #ffea00;
  position: relative;
  padding: 60px 30px 30px
}

@media screen and (max-width: 1199px) {
  .owabi ul li {
    width: 32%
  }
}

@media screen and (max-width: 991px) {
  .owabi ul li {
    width: 100%;
    max-width: 576px;
    margin-left: auto;
    margin-right: auto
  }
  .owabi ul li:not(:last-of-type) {
    margin-bottom: 45px
  }
}

@media screen and (max-width: 575px) {
  .owabi ul li {
    padding: 45px 23px 30px
  }
}

.owabi ul li h3 {
  text-align: center;
  font-size: 34px;
  margin-bottom: 0.5em
}

@media screen and (min-width: 992px) {
  .owabi ul li h3.fixheight {
    padding-top: 0.7em;
    padding-bottom: 0.8em
  }
}

@media screen and (max-width: 1199px) {
  .owabi ul li h3 {
    font-size: 26px
  }
}

.owabi ul li h3 span {
  display: block
}

.owabi ul li h3 .icon {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -20px
}

@media screen and (max-width: 575px) {
  .owabi ul li h3 .icon {
    width: 100px
  }
}

.owabi ul li h3 .icon img {
  max-width: 135px;
  width: 100%
}

.owabi ul li strong {
  color: #ff6c00
}

@media screen and (min-width: 992px) {
  .owabi ul.child-4 li {
    width: 23.8%
  }
}

.flow {
  padding: 50px 0 100px;
  background: #eef1f7
}

@media screen and (max-width: 767px) {
  .flow {
    padding: 50px 0 60px
  }
}

.flow ol li {
  display: flex;
  align-items: center;
  background-color: #fff;
  box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.2);
  position: relative;
  padding: 20px
}

@media screen and (max-width: 767px) {
  .flow ol li {
    display: block;
    padding: 30px 15px
  }
}

.flow ol li:not(:last-child) {
  margin-bottom: 40px
}

@media screen and (max-width: 767px) {
  .flow ol li:not(:last-child) {
    margin-bottom: 30px
  }
}

.flow ol li:not(:last-child)::before {
  content: '';
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top: 40px solid #002571;
  border-right: 30px solid transparent;
  border-bottom: 0px solid transparent;
  border-left: 30px solid transparent
}

@media screen and (max-width: 767px) {
  .flow ol li:not(:last-child)::before {
    border-top-width: 30px;
    border-right-width: 23px;
    border-left-width: 23px
  }
}

.flow ol li .left {
  width: 360px
}

@media screen and (max-width: 767px) {
  .flow ol li .left {
    width: 100%
  }
}

.flow ol li .right {
  flex: 1
}

.flow h3 {
  display: flex;
  align-items: center;
  margin: 0
}

@media screen and (max-width: 767px) {
  .flow h3 {
    margin-bottom: 0.8em;
    font-size: 21px
  }
}

.flow h3 .num {
  width: 80px;
  height: 80px;
  color: #fff;
  background-color: #002571;
  font-size: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 20px;
  position: relative
}

@media screen and (max-width: 767px) {
  .flow h3 .num {
    width: 60px;
    height: 60px;
    font-size: 38px
  }
}

.flow h3 .num::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-top: 40px solid #304d89;
  border-right: 40px solid transparent;
  border-bottom: 40px solid transparent;
  border-left: 40px solid #304d89
}

@media screen and (max-width: 767px) {
  .flow h3 .num::before {
    border-width: 30px
  }
}

.flow h3 .num .num-in {
  position: relative
}

.flow h3 .ttl {
  flex: 1
}

@media screen and (max-width: 767px) {
  .flow h3 .ttl br {
    display: none
  }
}

.flow ol li:nth-child(2) h3 .num {
  background-color: #1f6cd5
}

.flow ol li:nth-child(2) h3 .num::before {
  border-top-color: #4d89dc;
  border-left-color: #4d89dc
}

.flow ol li:nth-child(3) h3 .num {
  background-color: #21b1da
}

.flow ol li:nth-child(3) h3 .num::before {
  border-top-color: #44c3e8;
  border-left-color: #44c3e8
}

.flow ol li:nth-last-child(2) h3 .num {
  background-color: #ff9000
}

.flow ol li:nth-last-child(2) h3 .num::before {
  border-top-color: #ffa229;
  border-left-color: #ffa229
}

.flow ol li:last-child h3 .num {
  background-color: #ffc600
}

.flow ol li:last-child h3 .num::before {
  border-top-color: #ffd649;
  border-left-color: #ffd649
}

.flow .txt-contact {
  line-height: 1.4
}

@media screen and (max-width: 1199px) {
  .flow .txt-contact {
    text-align: center
  }
}

.flow .txt-contact .txt {
  color: #002571;
  font-weight: 900
}

.flow .txt-contact .tel {
  color: #ff6c00;
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 4px;
  font-size: 30px
}

.flow .txt-contact .tel a {
  color: #ff6c00
}

@media screen and (max-width: 1199px) {
  .flow .txt-contact .info {
    display: block;
    margin-top: 0.5em
  }
}

@media screen and (max-width: 991px) {
  .flow .txt-contact .tel {
    display: block
  }
}

.results {
  padding: 0 0 100px
}

@media screen and (max-width: 767px) {
  .results {
    padding: 0px 0 50px
  }
}

.results .block-ttl {
  background-color: #ff6c00;
  position: relative;
  padding: 36px 0
}

@media screen and (max-width: 575px) {
  .results .block-ttl {
    padding: 20px 0 36px
  }
}

.results .block-ttl::before {
  content: '';
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top: 30px solid #ff6c00;
  border-right: 28px solid transparent;
  border-bottom: 0px solid transparent;
  border-left: 28px solid transparent
}

@media screen and (max-width: 767px) {
  .results .block-ttl::before {
    border-top-width: 22px;
    border-right-width: 21px;
    border-left-width: 21px
  }
}

.results h2 {
  margin: 0
}

.results h2 img {
  display: block;
  margin: auto;
  max-width: 673px;
  width: 100%
}

@media screen and (max-width: 767px) {
  .results h2 img {
    max-width: 310px
  }
}

.results .scroll {
  padding-top: 50px;
  padding-bottom: 20px
}

@media screen and (max-width: 1199px) {
  .results .scroll {
    overflow-x: scroll
  }
}

.results .box {
  width: 1120px
}

@media screen and (max-width: 767px) {
  .results .box {
    width: 840px
  }
}

.results .box p {
  text-align: right
}

.results ._mCS_1 .mCSB_dragger .mCSB_dragger_bar, .results .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #ffea00 !important;
  height: 6px !important
}

.results .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  height: 6px !important;
  background: #f1f1f1
}

.owabi table {
  width: 100%;
  border: 2px solid #111;
    font-size: 14px;
}

.owabi table tbody tr:nth-of-type(even) {
  background-color: #f4f4f4
}

.owabi table th {
  padding: 8px;
  text-align: center;
  font-size: 28px;
  color: #fff
}

@media screen and (max-width: 767px) {
  .owabi table th {
    font-size: 21px
  }
}

.owabi table th:nth-child(1) {
  width: 20%;
  border-bottom: 1px solid #999
}

.owabi table th:nth-child(2) {
  width: 40%;
  background-color: #002571
}

.owabi table th:nth-child(3) {
  width: 40%;
  background-color: #ff6c00
}

.owabi table td {
  padding: 16px 20px;
    border-bottom: 1px solid #999
}

.owabi table td:not(:last-of-type) {
  border-right: 1px solid #999;

}

.owabi table td:nth-child(1) {
  text-align: center;
  line-height: 1.6;
  padding: 16px 0px
}

@media screen and (max-width: 767px) {
  .owabi table td:nth-child(1) {
    font-size: 15px
  }
}

.owabi table td:nth-child(1) strong {
  color: #111;
  font-size: 28px
}

@media screen and (max-width: 767px) {
  .owabi table td:nth-child(1) strong {
    font-size: 21px
  }
}

.owabi table td:nth-child(1) span {
  font-size: 16px
}

@media screen and (max-width: 767px) {
  .owabi table td:nth-child(1) span {
    font-size: 12px
  }
}

.owabi table td:nth-child(2) span, .owabi table td:nth-child(3) span {
  background: linear-gradient(transparent 50%, #ffea00 50%)
}

.type {
  padding: 50px 0 100px;
  background: url(../images/common/bg-square@2x.png) 0% 0%/84px repeat
}

@media screen and (max-width: 767px) {
  .type {
    padding: 50px 0 50px
  }
}

.type .box {
  padding-top: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between
}

@media screen and (max-width: 767px) {
  .type .box {
    display: block;
    max-width: 520px;
    margin: auto
  }
}

.type .box .left {
  width: 47%
}

@media screen and (max-width: 767px) {
  .type .box .left {
    width: 100%;
    margin-bottom: 20px
  }
}

.type .box .right {
  width: 47%
}

@media screen and (max-width: 767px) {
  .type .box .right {
    width: 100%
  }
}

.type dl {
  margin-bottom: 0
}

.type dl dt {
  background: #ffea00;
  font-weight: bold;
  padding: 0.5em 1em;
  margin-bottom: 0.5em;
  font-size: 20px;
  display: flex;
  align-items: center
}

@media screen and (max-width: 767px) {
  .type dl dt {
    font-size: 15px
  }
}

.type dl dt img {
  margin-right: 10px;
  width: 23px
}

@media screen and (max-width: 767px) {
  .type dl dt img {
    width: 20px
  }
}

.type dl dd:not(:last-of-type) {
  margin-bottom: 1.5em
}

.type .box-dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}

@media screen and (max-width: 767px) {
  .type .box-dl {
    display: block
  }
}

.type .box-dl dl {
  width: 48%
}

.type .box-dl dl:not(:last-of-type) {
  margin-bottom: 1.5em
}

@media screen and (max-width: 767px) {
  .type .box-dl dl {
    width: 100%
  }
}

.mv .slide-inner, .mv .box-img {
  height: 660px;
  margin: 0;
  position: relative
}

@media screen and (min-width: 1920px) {
  .mv .slide-inner, .mv .box-img {
    height: auto
  }
}

@media screen and (max-width: 1399px) {
  .mv .slide-inner, .mv .box-img {
    height: 560px
  }
}

@media screen and (max-width: 1199px) {
  .mv .slide-inner, .mv .box-img {
    height: 460px
  }
}

@media screen and (max-width: 991px) {
  .mv .slide-inner, .mv .box-img {
    height: 360px
  }
}

@media screen and (max-width: 767px) {
  .mv .slide-inner, .mv .box-img {
    height: auto
  }
}

.mv .slide-inner .slide-img, .mv .box-img .slide-img {
  display: block;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 100%;
  width: 100%
}

.mv .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: #949393;
  opacity: 1.0
}

.mv .swiper-pagination .swiper-pagination-bullet-active {
  background: #ff6c00
}

.mv .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 5px
}

.mv .slide a {
  max-width: 440px;
  position: absolute;
  bottom: 10%;
  display: block;
  right: calc(50% + 12px)
}

@media screen and (min-width: 1920px) {
  .mv .slide a {
    width: 22.8%;
    right: 51%
  }
}

@media screen and (max-width: 1399px) {
  .mv .slide a {
    width: 374px
  }
}

@media screen and (max-width: 1199px) {
  .mv .slide a {
    width: 304px
  }
}

@media screen and (max-width: 991px) {
  .mv .slide a {
    width: 234px;
    bottom: 11%
  }
}

.mv .slide a img {
  width: 100%
}

.mv .slide03 a, .mv .slide05 a {
  right: unset;
  left: calc(50% + 38px)
}

@media screen and (min-width: 1920px) {
  .mv .slide03 a, .mv .slide05 a {
    right: unset;
    left: 52%
  }
}

@media screen and (max-width: 991px) {
  .mv .slide03 a, .mv .slide05 a {
    left: calc(50% + 28px)
  }
}

@media screen and (max-width: 767px) {
  .mv .slide a {
    width: 86%;
    left: 50%;
    right: unset;
    transform: translateX(-50%);
    bottom: 9%
  }
}

.flow h2 img {
  max-width: 420px;
  width: 100%
}

@media screen and (max-width: 767px) {
  .flow h2 img {
    max-width: 315px
  }
}

.type h2 img {
  max-width: 416px;
  width: 100%
}

@media screen and (max-width: 767px) {
  .type h2 img {
    max-width: 312px
  }
}

@media screen and (max-width: 767px) {
  .results h2 img {
    max-width: 310px;
    width: 100%
  }
}

