/* フレックスボックスレイアウト */
.oneArea {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;

	line-height: 1.5em;
}
.oneArea .twoBox {
  width: 49%;
  box-sizing: border-box;
  padding: 5px;
  margin-right: 0.5%;
  margin-left: 0.5%;
}

.oneArea .threeBox {
  width: 32%;
  box-sizing: border-box;
  padding: 5px;
  margin-right: 0.5%;
  margin-left: 0.5%;
}

 /*  Detail */

#detail {
  margin-bottom: 100px;
}
#detail .content {
  display: flex;
  align-items: flex-start;
  margin-top: 50px;
}
#detail .content .title {
  font-size: 1.125rem;
  font-weight: bold;
}
#detail .content .img {
  width: 270px;
  margin-right: 60px;
}
#detail .content .text p {
  margin-bottom: 20px;
}
#detail .content dl {
  display: flex;      /* dt、ddを横並びにする */
  flex-wrap: wrap;    /* dtとddが100%になったら、横並びを折り返す */
  padding: 16px 0;
  margin-bottom: 25px;
  border-top: solid 1px #dedede;
  border-bottom: solid 1px #dedede;
}
#detail .content dt {
  width: 25%;
}
#detail .content dd {
  width: 75%;
}
#detail .content .link {
  color: #333;
}
#detail .content .link:hover {
  opacity: 0.8;
}
.inner .uchiwa-partner p {
	width: 30%;
}
.topimage {
	padding-top: 100px;
	padding-bottom: 100px;
}
h2 {
	padding-top: 100px;
}
.uchiwa {
	background-color: #060606;
	color: #FFFFFF;
	border-radius: 4px;
	font-weight: normal;
}


.specialBox h2 {
	font-size: 36px;
	font-weight: bold;
	color: #889FCC;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #999;
}


    
    @media screen and (max-width: 767px) {
  
  
.specialBox h2 {
	font-size: 22px;
	font-weight: bold;
	color: #889FCC;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #999;
}


      
 /* フレックスボックスレイアウト */

.oneArea .twoBox {
  width: 99%;
  box-sizing: border-box;

  padding: 5px;
  margin-right: 0.5%;
  margin-left: 0.5%;
  margin-bottom: 10px;
}
 /*  Detail */
  #detail .content {
    flex-direction: column;  /* 縦並びにする */
  }
  #detail .content .img {
    width: 100%;
    margin: 0 0 25px 0;
  }
.inner .uchiwa-partner p {
	width: 100%;
}

}






.read {

  padding: 60px 0
}

.read .inner {
	padding: 70px 20px;
	background-image: url(../images/contents/citylogetop.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
}
.box ul li {
	list-style-type: disc;
	margin-left: 30px;
}


@media screen and (max-width: 767px) {
 
 h2 {
     font-size: 24px
  }


 .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
  }
}



.cont {

}

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


.cont .blbg {
	font-weight: bold;
	color: #FFF;
	background-color: #000;
	padding: 3px;
}

 .waku {
	padding: 2%;
	border: 2px dashed #0700B5;
}
 .sample {
	padding: 2%;
	background-color: #E9E9E9;
	font-size: 13px;
}

 .ct {
	text-align: center;
}

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





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








.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 p {
	max-width: 500px;
	position: absolute;
	top: 20px;
	display: block;
	right: calc(50% + 12px);
	left: 70px;
	height: 400px;
}

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

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

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

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

.mv .slide p 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 p {
    width: 86%;
    left: 50%;
    right: unset;
    transform: translateX(-50%);
    top: 8%
  }
}

.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%
  }
}
.stop {
	padding: 10px;
	border: 1px solid #F00;
	color: #F00;
	margin-top: 100px;
	text-align: center;
}
