@charset "utf-8";

/*--------------------------------------
　Main Contents
---------------------------------------*/
.mainWrap_home {
  position: relative;
}

.contents_top_wrap {
  width: 100%;
	min-width: 1000px;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.contents_top {
	width: 100%;
	margin: auto;
	box-sizing: border-box;
  position: relative;
  z-index: 0;
}

.sec {
	width: 100%;
	min-width: 1000px;
	margin: auto;
	box-sizing: border-box;
	position: relative;
}

.sec .inner {
	max-width: 1000px;
	margin: auto;
	box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .mainWrap_home {
    width: 100%;
    position: relative;
  }
/**
  .mainWrap_home::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url("img/mv_home_bg_sp.png") left top no-repeat;
    background-size: 100% auto;
    width: 100%;
    height: 0;
    padding-top: calc(100%*1160/750);
  }
 **/ 
  .mainWrap_home .sitename {
    width: 100%;
  }

  .contents_top_wrap {
    min-width: 100%;
  }
  
	.sec {
		min-width: 100%;
	}
  
	.sec .inner {
		max-width: 100%;
	}
}



/*--------------------------------------
　MV
---------------------------------------*/
.mv_home {
  background: url("img/bg01.png") left center repeat;
  background-size: 18px auto;
  width: 100%;
  padding: 16rem 0 12rem;
  position: relative;
  z-index: 1;
}
.mv_home::before {
  content: "";
  position: absolute;
  top: 0;
  right: 68%;
  background: url("/wp/wp-content/uploads/mv_home_bg01.png") left top no-repeat;
  background-size: 660px auto;
  width: 660px;
  height: 1070px;
  z-index: -1;
}
.mv_home::after {
  content: "";
  position: absolute;
  top: 0;
  left: 20%;
  background: url("/wp/wp-content/uploads/mv_home_bg02.png") left top no-repeat;
  background-size: 1200px auto;
  width: 100%;
  height: 845px;
  z-index: -1;
}

.mv_home .mv_inner {
	max-width: 1400px;
	margin: auto;
}

.mv_home .mv_block {
	max-width: 56%;
}

.mv_home .mv_ttl {
  font-size: 5rem;
  line-height: 1.1;
}
.mv_home .mv_ttl .sub {
  display: inline-block;
  background: linear-gradient(90deg, #00C0FA, #007CEE);
  padding: 5px 1rem;
  font-size: 4.2rem;
  border-radius: 6px;
}
.mv_home .mv_ttl .large01 {
  font-size: 7.8rem;
	color: #005eea;
}
.mv_home .mv_ttl .large02 {
  font-size: 5rem;
}
.mv_home .mv_txt {
    width: 76%;
}
.mv_home .pagelink a {
    display: block;
    background: linear-gradient(270deg, #F06A43, #F09A43);
    box-shadow: 3px 3px 5px 0 rgba(165, 76, 51, 0.3);
    max-width: 400px;
    margin: 3rem 0 0;
    padding: 3.5rem 6rem;
    box-sizing: border-box;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 900;
    text-align: center;
    line-height: 1.5;
    border-radius: 100px;
    position: relative;
}
.mv_home .pagelink a::before {
	content: "";
	position: absolute;
	top: 50%;
  left: 25px;
  transform: translate(0,-50%);
  background: url("img/icon_search01.png") left top no-repeat;
  background-size: contain;
	width: 33px;
	height: 33px;
  box-sizing: border-box;
}
.mv_home .pagelink a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 25px;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

@media screen and (max-width: 1820px) {
  .mv_home::after {
    left: 15%;
  }
}
@media screen and (max-width: 1720px) {
  .mv_home .mv_inner {
    max-width: 1200px;
    margin: auto;
}
}
@media screen and (max-width: 1620px) {
  .mv_home .mv_inner {
    max-width: 1040px;
    margin: auto;
}
	.mv_home .mv_ttl {
    font-size: 4rem;
}
	.mv_home .mv_ttl .large01 {
    font-size: 7rem;
}
	.mv_home .mv_ttl .large02 {
    font-size: 4rem;
}
	.mv_home .mv_ttl .sub {
    font-size: 3.6rem;
}
}
@media screen and (max-width: 1366px) {
	.mv_home .mv_inner {
    max-width: 970px;
    margin: auto;
}
  .mv_home::after {
    left: 20%;
        background-size: 950px auto;
        height: 685px;
  }
  .mv_home .mv_block {
    max-width: 60%;
}
}
@media screen and (max-width: 768px) {
  .mv_home {
    background: url("img/bg01.png") left center repeat;
    background-size: 9px auto;
    width: 100%;
    padding: 65% 2rem 3rem;
  }
  .mv_home::before {
    display: none;
  }
      .mv_home::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        background: url(/wp/wp-content/uploads/mv_home_bg_sp.png) left top no-repeat;
        background-size: 100% auto;
        width: 100%;
        height: 0;
        padding-top: calc(100%* 1160 / 710);
    }
  .mv_home .mv_inner {
    max-width: 100%;
  }

  .mv_home .logoWrap {
    position: absolute;
        top: 4%;
        left: 14px;
        width: 32%;
  }
  .mv_home .logo {
    width: 100%;
  }
  .mv_home .sponsored {
    margin: 5px 0 0;
    font-size: 1rem;
    text-align: right;
  }

  .mv_home .mv_block {
    max-width: 100%;
  }
.mv_home .mv_txt {
    width: 100%;
}
  .mv_home .mv_ttl {
    font-size: 3rem;
  }
  .mv_home .mv_ttl .sub {
    padding: 3px 8px;
    font-size: 2.4rem;
    border-radius: 3px;
  }
  .mv_home .mv_ttl .large01 {
    font-size: 3.8rem;
  }
  .mv_home .mv_ttl .large02 {
    font-size: 3rem;
  }
  
  .mv_home .pagelink a {
    max-width: 85%;
    margin: 3rem auto 0;
    padding: 1.8rem 6rem;
    font-size: 1.5rem;
  }
  .mv_home .pagelink a::before {
    left: 20px;
    width: 26px;
    height: 26px;
  }
  .mv_home .pagelink a::after {
    right: 20px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
  }
}



/*--------------------------------------
　テキスト
---------------------------------------*/
.contents_top p {
	margin: 3rem 0 3rem;
	font-size: 1.6rem;
	line-height: 2;
}

.txt {
	margin: 3rem 0 3rem;
	font-size: 1.6rem;
	text-align: justify;
	line-height: 2;
}

.lead {
	margin: 3rem 0 0!important;
	font-size: 1.6rem;
	line-height: 2;
}

p.caption {
	margin: 1rem 0 0 0!important;
	padding: 0 0 0.5rem 0;
	font-size: 1rem;
	line-height: 1.3;
}

.sec p {
	margin: 0 0 0;
}

@media screen and (max-width: 768px) {
	.contents_top p {
		margin: 2rem 0 2rem;
    font-size: 1.5rem;
		line-height: 1.8;
	}

	.txt {
		margin: 2rem 0 2rem;
    font-size: 1.5rem;
		line-height: 1.8;
	}

	.lead {
		margin: 2rem 0 0!important;
    font-size: 1.5rem;
		line-height: 1.8;
	}
  
  p.caption {
    margin: 1rem 0 0 0!important;
    padding: 0 0 0.5rem 0;
    font-size: 1rem;
    line-height: 1.3;
  }
  
  .sec p {
    margin: 0 0 0;
  }
}



/*--------------------------------------
　sec01
---------------------------------------*/
.sec01 {
  padding: 3rem 0 0;
  position: relative;
  z-index: 0;
}
.sec01::after {
  content: "";
  position: absolute;
  top: -300px;
  right: 0;
  background: url("img/sec01_bg.png") right top no-repeat;
  background-size: 100% auto;
  width: 2363px;
  height: 2164px;
  min-width: 1000px;
  margin: auto;
  z-index: -1;
}

.sec01 .m_ttl {
  font-size: 3.4rem;
}
.sec01 .m_ttl .bb {
  display: inline-block;
  border-bottom: 2px solid #005EEA;
  position: relative;
}
.sec01 .m_ttl .bb::after {
  content: "";
  position: absolute;
  top: calc(100% + 15px);
  left: 50%;
  background: url("img/line_dot01.png") left top no-repeat;
  background-size: contain;
  width: 235px;
  height: 55px;
}

.sec01 .checkList {
  margin: 5rem 0 0 350px;
}
.sec01 .checkList li {
  margin: 0 0 3rem;
  padding: 0 0 0 4rem;
  font-size: 2.2rem;
  font-weight: 900;
  position: relative;
}
.sec01 .checkList li::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 0;
  background: url("img/icon_check02.png") left top no-repeat;
  background-size: contain;
  width: 49px;
  height: 52px;
}
.sec01 .checkList li:last-child {
  margin: 0 0 0;
}

.sec01 .lead {
  margin: 8rem 0 0!important;
  text-align: center;
}

.sec01_block {
  background: #fff;
  margin: 14rem 0 0;
  border: 1px solid #005EEA;
  border-radius: 30px;
  position: relative;
}
.sec01_block::before {
  content: "";
  position: absolute;
  bottom: calc(100% + 40px);
  left: 0;
  right: 0;
  background: url("img/line_dot02.png") left top no-repeat;
  background-size: contain;
  width: 6px;
  height: 55px;
  margin: auto;
}
.sec01_block .sec01_block_inner {
  padding: 8rem 5rem 8rem;
  position: relative;
}
.sec01_block .sec01_block_inner::before,
.sec01_block .sec01_block_inner::after {
  content: "";
  position: absolute;
}
.sec01_block .sec01_block_inner::before {
  bottom: calc(100% - 94px);
  right: 30px;
  background: url("img/deco02.png") left top no-repeat;
  background-size: contain;
  width: 178px;
  height: 187px;
}
.sec01_block .sec01_block_inner::after {
  top: calc(100% - 50px);
  left: 30px;
  background: url("img/deco03.png") left top no-repeat;
  background-size: contain;
  width: 151px;
  height: 99px;
}
.sec01_block .ttl01Wrap {
  position: absolute;
  left: 0;
  right: 0;
  top: -30px;
  text-align: center;
}
.sec01_block .ttl01 {
  display: inline-block;
  background: #005EEA;
  padding: 1.2rem 3rem;
  font-size: 2.8rem;
  border-radius: 10px;
}
.sec01_block .txt {
  font-size: 1.8rem;
  text-align: center;
  line-height: 2.6;
}
.sec01_block .txt .large {
  font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
  .sec01 {
    padding: 6rem 2rem 0;
  }
  .sec01::after {
    top: -50px;
    width: 200%;
    height: 0;
    min-width: 100%;
    padding-top: calc(200%*2164/2363);
  }

  .sec01 .m_ttl {
    font-size: 2rem;
  }
  .sec01 .m_ttl .bb {
    border-bottom: 1px solid #005EEA;
  }
  .sec01 .m_ttl .bb::after {
    top: calc(100% + 10px);
    transform: translate(-50%,0);
    background: url("img/line_dot02.png") left top no-repeat;
    background-size: contain;
    width: 3px;
    height: 28px;
  }

  .sec01 .checkList {
    margin: 5rem 0 0 0;
  }
  .sec01 .checkList li {
    margin: 0 0 2rem;
    padding: 0 0 0 3.5rem;
    font-size: 1.7rem;
  }
  .sec01 .checkList li::before {
    top: -3px;
    width: 39px;
    height: 42px;
  }

  .sec01 .lead {
    margin: 3rem 0 0!important;
    text-align: justify;
  }

  .sec01_block {
    margin: 8rem 0 0;
    border-radius: 15px;
  }
  .sec01_block::before {
    bottom: calc(100% + 40px);
    width: 3px;
    height: 28px;
  }
  .sec01_block .sec01_block_inner {
    padding: 4rem 2rem 4rem;
  }
  .sec01_block .sec01_block_inner::before {
    bottom: calc(100% - 35px);
    right: -20px;
    width: 20%;
    height: 0;
    padding-top: calc(20%*187/178);
  }
  .sec01_block .sec01_block_inner::after {
    top: calc(100% - 20px);
    left: 0;
    width: 20%;
    height: 0;
    padding-top: calc(20%*99/151);
  }
  .sec01_block .ttl01Wrap {
    top: -20px;
  }
  .sec01_block .ttl01 {
    padding: 5px 1.5rem;
    font-size: 1.7rem;
    border-radius: 5px;
  }
  .sec01_block .txt {
    font-size: 1.6rem;
    text-align: justify;
    line-height: 2;
  }
  .sec01_block .txt .large {
    font-size: 1.7rem;
  }
}


/*--------------------------------------
　sec02
---------------------------------------*/
.sec02 {
  padding: 12rem 0 0;
}

.sec02 .main_ttl {
  background: linear-gradient(90deg, #00C0FA, #007CEE);
  margin: 0 0 7rem;
  padding: 4.5rem 3rem 4.5rem;
  border-radius: 30px;
  text-align: center;
  position: relative;
}
.sec02 .main_ttl::after {
  content: "";
  position: absolute;
  top: calc(100% + 30px);
  left: 0;
  right: 0;
  background: url("img/line_dot03.png") left top no-repeat;
  background-size: contain;
  width: 6px;
  height: 39px;
  margin: auto;
}
.sec02 .m_ttl {
  font-size: 3.4rem;
  line-height: 2.3;
}
.sec02 .m_ttl .large {
  font-size: 4rem;
}
.sec02 .m_ttl .dot {
  background-image: radial-gradient(circle at center, #F8D660 15%, transparent 15%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em 0.5em;
  padding-top: 15px;
}

.sec02 .lead {
  max-width: 55%;
  margin: 10rem auto 0!important;
}

.sec02 .bg {
  margin: 8rem 0 0;
  padding: 8rem 0 8rem;
  position: relative;
  z-index: 0;
}
.sec02 .bg::before {
  content: "";
  position: absolute;
  top: -100px;
  right: -100px;
  background: url("img/deco04.png") left top no-repeat;
  background-size: contain;
  width: 230px;
  height: 246px;
  z-index: -1;
}
.sec02 .bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 180px;
  background: #DBF5FE;
  width: 100vw;
  height: 100%;
  border-radius: 30px 0 0 30px;
  z-index: -2;
}

.sec02_block01 .sec02_block01_inner {
  display: flex;
  justify-content: space-between;
}
.sec02_block01 .boxL {
  width: 50%;
  position: relative;
}
.sec02_block01 .boxL::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 40px);
  background: url("img/deco_arrow01.png") left top no-repeat;
  background-size: contain;
  width: 28px;
  height: 52px;
  margin-top: -26px;
}
.sec02_block01 .ttl01Wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 2rem;
  border-bottom: 1px solid #005EEA;
}
.sec02_block01 .icon {
  width: 104px;
}
.sec02_block01 .ttl01 {
  width: calc(100% - 124px);
  font-size: 3rem;
}
.sec02_block01 .txt {
  margin: 3rem 0 0;
}
.sec02_block01 .boxR {
  width: 50%;
  padding: 3rem 0 0;
}
.sec02_block01 .imgBox {
  width: 400px;
  margin: 0 0 0 auto;
}

.sec02_block02 {
  background: #fff;
  margin: 12rem 0 0;
  padding: 6rem 12rem 6rem;
  border-radius: 30px;
  border: 2px solid #005EEA;
}
.sec02_block02 .sec02_block02_inner {
  position: relative;
}
.sec02_block02 .sb {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: calc(100% - 20px);
  left: 10%;
  background: #005EEA;
  width: 140px;
  height: 140px;
  font-size: 1.6rem;
  border-radius: 50%;
  box-shadow: 0 3px 6px 0 rgba(0,0,0,0.16);
}
.sec02_block02 .sb::after {
	content: "";
	position: absolute;
	top: 80%;
	left: 100%;
	margin-left: -20px;
	border: 10px solid transparent;
	border-top: 15px solid #005EEA;
  transform: rotate(-45deg);
}
.sec02_block02 .ttl01Wrap {
  text-align: center;
}
.sec02_block02 .ttl01 {
  font-size: 2.4rem;
  position: relative;
}
.sec02_block02 .ttl01::after {
  content: "";
  display: block;
  background: url("img/line_dot04.png") left top no-repeat;
  background-size: contain;
  width: 39px;
  height: 6px;
  margin: 1.5rem auto 0;
}
.sec02_block02 .checkList {
  margin: 4rem 0 0;
}
.sec02_block02 .checkList li {
  margin: 0 0 2rem;
  padding: 0 0 0 4rem;
  font-size: 1.8rem;
  position: relative;
}
.sec02_block02 .checkList li::before {
  content: "";
  position: absolute;
  top: -7px;
  left: 0;
  background: url("img/icon_check03.png") left top no-repeat;
  background-size: contain;
  width: 49px;
  height: 52px;
}
.sec02_block02 .checkList li:last-child {
  margin: 0 0 0;
}

@media screen and (max-width: 768px) {
  .sec02 {
    padding: 6rem 2rem 0;
  }

  .sec02 .main_ttl {
    margin: 0 0 5rem;
    padding: 2rem 2rem 2rem;
    border-radius: 15px;
  }
  .sec02 .main_ttl::after {
    top: calc(100% + 15px);
    width: 3px;
    height: 20px;
  }
  .sec02 .m_ttl {
    font-size: 1.6rem;
    line-height: 2;
  }
  .sec02 .m_ttl .large {
    font-size: 2rem;
  }
  .sec02 .m_ttl .dot {
    padding-top: 5px;
  }

  .sec02 .lead {
    max-width: 100%;
    margin: 5rem auto 0!important;
  }

  .sec02 .bg {
    margin: 5rem 0 0;
    padding: 3rem 0 5rem;
  }
  .sec02 .bg::before {
    top: -50px;
    right: -30px;
    width: 30%;
    height: 0;
    padding-top: calc(30%*246/230);
  }
  .sec02 .bg::after {
    left: inherit;
    right: -20px;
    width: 100%;
    height: 100%;
    border-radius: 15px 0 0 15px;
  }

  .sec02_block01 .sec02_block01_inner {
    display: block;
  }
  .sec02_block01 .boxL {
    width: 100%;
  }
  .sec02_block01 .boxL::after {
    top: 100%;
    left: 0;
    right: 0;
    transform: rotate(90deg);
    width: 20px;
    height: 46px;
    margin-top: 0;
    margin: auto;
  }
  .sec02_block01 .ttl01Wrap {
    padding: 0 0 1.5rem;
  }
  .sec02_block01 .icon {
    width: 70px;
  }
  .sec02_block01 .ttl01 {
    width: calc(100% - 80px);
    font-size: 1.9rem;
  }
  .sec02_block01 .txt {
    margin: 1.5rem 0 0;
  }
  .sec02_block01 .boxR {
    width: 100%;
    margin: 5.5rem 0 0;
    padding: 0 0 0;
  }
  .sec02_block01 .imgBox {
    width: 100%;
    margin: 0 0 0 0;
  }

  .sec02_block02 {
    margin: 8rem 0 0;
    padding: 4rem 2rem 3rem;
    border-radius: 15px;
    border: 1px solid #005EEA;
  }
  .sec02_block02 .sb {
    display: inline-block;
    bottom: calc(100% + 15px);
    left: 0;
    width: inherit;
    height: auto;
    padding: 1.2rem 1.5rem;
    font-size: 1.2rem;
    text-align: left;
    border-radius: 10px;
  }
  .sec02_block02 .sb::after {
    margin-left: 0;
    top: 100%;
    left: 25px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 14px 10px 0;
    border-color: transparent #005EEA transparent transparent;
    transform: rotate(0deg);
  }
  .sec02_block02 .ttl01 {
    font-size: 1.6rem;
  }
  .sec02_block02 .ttl01::after {
    width: 20px;
    height: 3px;
    margin: 1rem auto 0;
  }
  .sec02_block02 .checkList {
    margin: 2rem 0 0;
  }
  .sec02_block02 .checkList li {
    margin: 0 0 1.2rem;
    padding: 0 0 0 3.5rem;
    font-size: 1.6rem;
  }
  .sec02_block02 .checkList li::before {
    top: -3px;
    width: 39px;
    height: 42px;
  }
}



/*--------------------------------------
　sec03
---------------------------------------*/
.sec03 {
  padding: 20rem 0 0;
  position: relative;
}

.sec03_upper {
  position: relative;
}
.sec03_upper .caption {
    color: #fff;
}
.sec03_upper .caption a {
    color: #fff;
}
.sec03_upper .imgBox {
  position: absolute;
  top: -180px;
  left: 48%;
  width: 1100px;
  z-index: 1;
}
.sec03_upper .boxL {
  width: 55%;
  padding: 10rem 8rem 25rem 0;
  position: relative;
  z-index: 0;
}
.sec03_upper .boxL::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  background: linear-gradient(90deg, #00C0FA 0%, #00C0FA 60%, #007CEE 100%);
  width: 100vw;
  height: 100%;
  min-width: 1000px;
  border-radius: 0 80px 0 0;
  z-index: -1;
}
.sec03_upper .sub {
  position: absolute;
  top: -30px;
  left: 0;
  background: #fff;
  padding: 1rem 2rem 1rem 6rem;
  font-size: 2.8rem;
  border-radius: 10px;
}
.sec03_upper .sub::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translate(0,-50%);
  background: url("img/icon_search02.png") left top no-repeat;
  background-size: contain;
  width: 38px;
  height: 36px;
}

.sec03 .m_ttl {
  font-size: 3.4rem;
  line-height: 2.5;
}
.sec03 .m_ttl .large01 {
  font-size: 5rem;
}
.sec03 .m_ttl .large02 {
  font-size: 4.3rem;
}
.sec03 .m_ttl .dot {
  background-image: radial-gradient(circle at center, #F8D660 20%, transparent 20%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em 0.5em;
  padding-top: 15px;
}


.sec03_bg01 {
  position: relative;
}
.sec03_bg01::after {
  content: "";
  position: absolute;
  top: -300px;
  left: 0;
  background: #F5F5F5;
  width: 100%;
  height: calc(100% + 300px);
  z-index: -2;
}

.sec03_bg02 {
  background: url("img/sec03_bg.png") center top repeat-y;
  background-size: 100% auto;
  padding: 0 0 20rem;
}


.search_parts {
  background: #fff;
  margin: -15rem 0 0;
  padding: 6rem 6rem 6rem;
  border-radius: 30px;
  position: relative;
  z-index: 1;
}
.search_parts .search_box {
  margin: 0 0 5rem;
}
.search_parts .search_box:last-child {
  margin: 0 0 0;
}
.search_parts .box_ttlWrap {
  padding: 0 0 2rem;
  border-bottom: 1px solid #EBEEF1;
}
.search_parts .box_ttl {
  display: inline-block;
  vertical-align: middle;
  margin: 0 2rem 0 0;
  font-size: 2rem;
}
.search_parts .sub_txt {
  display: inline-block;
  vertical-align: middle;
  background: #FFE2D9;
  padding: 5px 1.5rem;
  color: #F06A43;
  font-size: 1.4rem;
  border-radius: 100px;
}

.search_parts .checkBox {
	margin: 3rem 0 0;
}
.search_parts .checkBox li {
	margin: 0 3rem 2rem 0;
}

.search_parts .reset_btn {
  width: 250px;
  margin: 2rem auto 0;
}
.search_parts .reset_btn button {
  width: 100%;
  padding: 2rem 2rem;
  font-size: 1.6rem;
}
.search_parts .submit_btn {
  width: 350px;
  margin: 2rem auto 0;
}
.search_parts .submit_btn button {
  width: 100%;
  padding: 3rem 2rem;
  font-size: 2rem;
}


.resultWrap {
  margin: 5rem 0 0;
  position: relative;
}
.resultWrap::before {
  content: "";
  display: block;
  background: url("img/deco_arrow02.png") left top no-repeat;
  background-size: contain;
  width: 77px;
  height: 33px;
  margin: auto;
}
.resultWrap .sr_txt01 {
  margin: 2rem 0 0;
  font-size: 2.4rem;
  text-align: center;
}
.resultWrap .sr_txt02 {
  margin: 1rem 0 0;
  font-size: 3rem;
  text-align: center;
}
.resultWrap .sr_txt02 .large {
  font-size: 3.8rem;
}
.resultWrap .sr_txt02 .bb {
  margin: 0 5px;
  border-bottom: 2px solid #005EEA;
}

/* .noresult {
  display: none;
} */

.resultWrap .result_parts {
  margin: 8rem 0 0;
}

@media screen and (max-width: 768px) {
  .sec03 {
    padding: 10rem 2rem 0;
  }

  .sec03_upper .imgBox {
    top: -20%;
    left: inherit;
    right: -125px;
    width: 85%;
  }
  .sec03_upper .boxL {
    width: 100%;
    padding: 4rem 4rem 8rem 0;
  }
  .sec03_upper .boxL::after {
    left: -20px;
    background: linear-gradient(90deg, #00C0FA, #007CEE);
    width: 100%;
    min-width: 100%;
    border-radius: 0 40px 0 0;
  }
  .sec03_upper .sub {
    top: -20px;
    padding: 1rem 2rem 1rem 4rem;
    font-size: 1.5rem;
    border-radius: 5px;
  }
  .sec03_upper .sub::before {
    left: 10px;
    width: 23px;
    height: 22px;
  }

  .sec03 .m_ttl {
    font-size: 1.7rem;
    line-height: 2.3;
  }
  .sec03 .m_ttl .large01 {
    font-size: 2.5rem;
  }
  .sec03 .m_ttl .large02 {
    font-size: 2rem;
  }
  .sec03 .m_ttl .dot {
    padding-top: 8px;
  }


  .sec03_bg01::after {
    top: -100px;
    left: -20px;
    width: calc(100% + 40px);
    height: calc(100% + 100px);
  }

  .sec03_bg02 {
    background: url("img/sec03_bg.png") center top repeat-y;
    background-size: 100% auto;
    padding: 0 2rem 8rem;
    width: calc(100% + 40px);
    margin: 0 2rem 0 -2rem;
  }


  .search_parts {
    margin: -5rem 0 0;
    padding: 3rem 2rem 3rem;
    border-radius: 15px;
  }
  .search_parts .search_box {
    margin: 0 0 3rem;
  }
  .search_parts .box_ttlWrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 1rem;
  }
  .search_parts .box_ttl {
    width: 65%;
    margin: 0 0 0 0;
    font-size: 1.6rem;
  }
  .search_parts .sub_txt {
    width: 30%;
    padding: 3px 8px;
    font-size: 1.1rem;
    text-align: center;
  }

  .search_parts .checkBox {
    margin: 1.5rem 0 0;
  }
  .search_parts .checkBox li {
    margin: 0 1.5rem 1.5rem 0;
  }

  .search_parts .reset_btn {
    width: 80%;
    margin: 1.5rem auto 0;
  }
  .search_parts .reset_btn button {
    padding: 1.5rem 2rem;
    font-size: 1.5rem;
  }
  .search_parts .submit_btn {
    width: 90%;
    margin: 1.5rem auto 0;
  }
  .search_parts .submit_btn button {
    padding: 2rem 2rem;
    font-size: 1.6rem;
  }


  .resultWrap {
    margin: 3rem 0 0;
  }
  .resultWrap::before {
    width: 38px;
    height: 16px;
  }
  .resultWrap .sr_txt01 {
    margin: 1.5rem 0 0;
    font-size: 1.7rem;
  }
  .resultWrap .sr_txt02 {
    margin: 5px 0 0;
    font-size: 2rem;
  }
  .resultWrap .sr_txt02 .large {
    font-size: 2.6rem;
  }
  .resultWrap .sr_txt02 .bb {
    margin: 0 3px;
    border-bottom: 1px solid #005EEA;
  }

  .resultWrap .result_parts {
    margin: 5rem 0 0;
  }
}



/*--------------------------------------
　sec04
---------------------------------------*/
.sec04 {
  background: url("img/bg01.png") left center repeat;
  background-size: 18px auto;
  padding: 15rem 0 15rem;
}

.sec04 .main_ttl {
  text-align: center;
  position: relative;
}
.sec04 .main_ttl::after {
  content: "";
  display: block;
  background: url("img/line_dot03.png") left top no-repeat;
  background-size: contain;
  width: 6px;
  height: 39px;
  margin: 2rem auto 0;
}
.sec04 .m_ttl {
  font-size: 3.4rem;
}
.sec04 .m_ttl .bb {
  display: inline;
  border-bottom: 4px solid #005EEA;
}


.sec04_block {
  margin: 12rem 0 0;
}
.sec04_block .item {
  margin: 0 0 8rem;
  padding: 4.5rem 6rem;
  border-radius: 25px;
  position: relative;
  z-index: 0;
}
.sec04_block .item:last-child {
  margin: 0 0 0;
}
.sec04_block .item:nth-child(1) {
  background: url("img/sec04_itembg01.jpg") center center no-repeat;
  background-size: cover;
}
.sec04_block .item:nth-child(2) {
  background: url("img/sec04_itembg02.jpg") center center no-repeat;
  background-size: cover;
}
.sec04_block .item:nth-child(3) {
  background: url("img/sec04_itembg03.jpg") center center no-repeat;
  background-size: cover;
}
.sec04_block .boxL {
  width: calc(100% - 580px);
}
.sec04_block .item:nth-child(even) .boxL {
  margin: 0 0 0 auto;
}
.sec04_block .ttl01 {
  font-size: 3.2rem;
}
.sec04_block .txt {
  margin: 2rem 0 0;
}
.sec04_block .btn-internal a {
  max-width: 330px;
  margin: 4rem 0 0;
}
.sec04_block .boxR {
  position: absolute;
}
.sec04_block .item:nth-child(odd) .boxR {
  right: 60px;
}
.sec04_block .item:nth-child(even) .boxR {
  left: 60px;
}
.sec04_block .item:nth-child(1) .boxR {
  top: -40px;
}
.sec04_block .item:nth-child(2) .boxR {
  top: 30px;
}
.sec04_block .item:nth-child(3) .boxR {
  top: 50px;
}
.sec04_block .imgBox img {
  display: block;
  width: auto;
}

@media screen and (max-width: 768px) {
  .sec04 {
    background: url("img/bg01.png") left center repeat;
    background-size: 9px auto;
    padding: 6rem 2rem 6rem;
  }

  .sec04 .main_ttl::after {
    width: 3px;
    height: 20px;
    margin: 1rem auto 0;
  }
  .sec04 .m_ttl {
    font-size: 2rem;
  }
  .sec04 .m_ttl .bb {
    border-bottom: 2px solid #005EEA;
  }

  .sec04_block {
    margin: 4rem 0 0;
  }
  .sec04_block .item {
    margin: 0 0 6rem;
    padding: 3rem 2rem 4rem;
    border-radius: 12px;
  }
  .sec04_block .boxL {
    width: 100%;
  }
  .sec04_block .item:nth-child(even) .boxL {
    margin: 0 0 0 0;
  }
  .sec04_block .ttl01 {
    width: calc(55% + 1.5rem);
    font-size: 2rem;
  }
  .sec04_block .item:nth-child(even) .ttl01 {
    margin: 0 0 0 auto;
  }
  .sec04_block .txt {
    margin: 1.5rem 0 0;
  }
  .sec04_block .btn-internal a {
    max-width: 90%;
    margin: 2rem auto 0;
  }
  .sec04_block .boxR {
    width: 45%;
  }
  .sec04_block .item:nth-child(odd) .boxR {
    right: 0;
    margin: -4rem -2.5rem 0 auto;
  }
  .sec04_block .item:nth-child(even) .boxR {
    left: 0;
    margin: -4rem 0 0 -2.5rem;
  }
  .sec04_block .item:nth-child(1) .boxR {
    top: -40px;
    top: 0;
  }
  .sec04_block .item:nth-child(2) .boxR {
    top: 0;
  }
  .sec04_block .item:nth-child(3) .boxR {
    top: 0;
  }
  .sec04_block .imgBox img {
    width: 100%;
  }
}



/*--------------------------------------
　sec05
---------------------------------------*/
.sec05 {
  margin: 0 0 20rem;
  padding: 10rem 0 0;
}


.sec05_block {
  display: flex;
  justify-content: space-between;
  background: #F5F5F5;
  padding: 8rem 8rem 8rem;
  border-radius: 30px 0 0 30px;
  position: relative;
  z-index: 0;
}
.sec05_block::after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  background: #F5F5F5;
  width: 100vw;
  height: 100%;
  z-index: -1;
}
.sec05_block .boxL {
  width: 180px;
}
.sec05_block .main_ttl {
  text-align: center;
}
.sec05_block .m_ttl {
  font-size: 1.6rem;
}
.sec05_block .logo_txt {
  margin: 1rem 0 0;
  font-size: 2rem;
  text-align: center;
  letter-spacing: 0.08em;
}
.sec05_block .logo {
  width: 75px;
  margin: 1.5rem auto 0;
}
.sec05_block .boxR {
  width: calc(100% - 260px);
}
.sec05_block .btn-link a {
  margin: 4rem 0 0;
}

@media screen and (max-width: 768px) {
  .sec05 {
    margin: 0 0 8rem;
    padding: 6rem 2rem 0;
  }


  .sec05_block {
    display: block;
    padding: 4rem 0 4rem 2rem;
    border-radius: 15px 0 0 15px;
  }
  .sec05_block .boxL {
    width: 100%;
    position: relative;
  }
  .sec05_block .main_ttl {
    text-align: left;
  }
  .sec05_block .m_ttl {
    padding: 0 0 0 6.5rem;
    font-size: 1.4rem;
  }
  .sec05_block .logoWrap {
    padding: 0 0 1.5rem;
    border-bottom: 1px solid #fff;
  }
  .sec05_block .logo_txt {
    margin: 0 0 0;
    padding: 0 0 0 6.5rem;
    font-size: 1.6rem;
    text-align: left;
  }
  .sec05_block .logo {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
    width: 50px;
    margin: -7px auto 0;
  }
  .sec05_block .boxR {
    width: 100%;
  }
  .sec05_block .btn-link a {
    margin: 2rem 0 0;
  }
}


