.l-center {
  width: 1000px;
  margin: 0 auto;
}

.hover:hover {
  opacity: .8;
  text-decoration: none;
}

body {
  overflow-x: hidden;
  padding: 0 0 113px;
  color: #2d2d2d;
}

/*----------------------
	js_slider2,3 共通 start
----------------------*/
.js_slider2 .slick-arrow,
.js_slider3 .slick-arrow {
  position: absolute;
  top: calc(50% - 30px);
  z-index: 98;
  cursor: pointer;
}
.js_slider2 .slick-arrow.prev-arrow,
.js_slider3 .slick-arrow.prev-arrow {
  left: -30px;
}
.js_slider2 .slick-arrow.next-arrow,
.js_slider3 .slick-arrow.next-arrow {
  right: -30px;
  transform: scale(-1, 1);
}
.js_slider2 .slick-dots,
.js_slider3 .slick-dots {
  width: 75px;
  margin: 25px auto 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.js_slider2 .slick-dots li,
.js_slider3 .slick-dots li {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #a0b9c6;
  cursor: pointer;
  border-top: unset;
  padding: unset;
}
.js_slider2 .slick-dots li button,
.js_slider3 .slick-dots li button {
  display: none;
}
.js_slider2 .slick-dots li.slick-active,
.js_slider2 .slick-dots li.slick-active {
  background: #d78d18;
}
/* js_slider2,3 共通 end*/

/*----------------------
	info
----------------------*/
.info {
  padding: 43px 0 38px;
  background-color: #f5f5f5;
}
.info .m-sub-catch {
  margin: 0 0 13px;
  text-align: center;
}

.info .m-sub-list {
  width: 400px;
  margin: 0 auto;
 }
 
 .info .m-sub-list li{
   font-size: 20px;
   line-height: 1.5;
   letter-spacing: 0.05em;
   font-weight: bold;
   position: relative;
 }
 
 .info .m-sub-list li + li {
   margin-top: 15px;
 }
 
 .info .orange-bold {
   font-weight: bold;
   color: #ff6108;
   letter-spacing: 0.05em;
 }
 
 .info .m-sub-list li::before{
   position: absolute;
   content: '';
   background: url(../img/info_icon_check.png);
   width: 24px;
   height: 24px;
   left: -38px;
   top: 4px;
 }
 
 .info .m-document-details{
   margin: 42px 0 0 !important;
 }

.info .m-catch {
  margin: 0 0 28px;
  letter-spacing: 0.08em;
  text-align: center;
  font-size: 25px;
  font-weight: bold;
}
.info .m-catch:before, .info .m-catch:after {
  content: url(../img/info_line.png);
  display: inline-block;
  margin: 0 5px;
}
.info .m-catch:before {
  transform: translate(0, 5px);
}
.info .m-catch:after {
  transform: translate(-8px, 5px) scale(-1, 1);
}
.info .m-document-request {
  margin: 0 0 8px;
  text-align: center;
}
.info .l-info-box {
  width: 950px;
  margin: 0 auto;
}

.m-info-btn {
  width: 380px;
  border-radius: 4px;
}
.m-info-btn a {
  display: block;
  width: 100%;
  height: 103px;
  padding-top: 10px;
  color: #fff;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.06em;
  text-underline-offset: 5px;
}

.m-info-btn a span {
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.06em;
}
.m-info-btn a img {
  display: block;
  margin: 4px auto 0;
}
.m-info-btn.m-green {
  margin: 0 20px 0 0;
  background-color: #8ab4bd;
}
.m-info-btn.m-blue {
  background-color: #878cd3;
}
.m-info-btn.m-light-blue {
  background-color: #67bdcf;
}
.m-info-btn-v2 {
  width: 534px;
  margin: 0 auto !important;
}
.m-info-btn-v2 a {
  text-align: center;
  display: block;
  width: 100%;
  height: 70px;
  padding: 22px 0;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.0;
  letter-spacing: 0;
}

/*----------------------
	header
----------------------*/
header {
  position: relative;
  z-index: 1;
  background-color: #003988;
  color: #fff;
}
header .l-center {
  position: relative;
  padding: 29px 0 31px;
}
header h1 {
  position: absolute;
  top: 0;
  right: 0;
}
header p {
  letter-spacing: 0.1em;
  font-size: 20px;
}

/*----------------------
	fv
----------------------*/
#fv {
  position: relative;
}
#fv .l-bg-slider-wrap {
  height: 450px;
}
#fv h2 {
  position: absolute;
  top: 0;
  z-index: 1;
  padding: 228px 0 32px;
}
#fv .l-sub {
  padding: 30px 51px 75px;
  background-image: url(../img/fv_info_backgroundImage02.jpg);
  background-repeat: no-repeat;
}
#fv .l-sub p:first-child {
  margin: 0 0 20px;
}
#fv .l-sub p:last-child {
  text-align: center;
}
#fv .l-info {
  position: relative;
  padding: 63px 0 39px;
  background-image: url(../img/info_backgroundPattern.png);
}
#fv .l-info .m-document-request {
  position: absolute;
  top: -44px;
  left: 0;
  right: 0;
  width: 550px;
  margin: 0 auto;
}
#fv .l-info .l-info-box {
  width: 950px;
  margin: 0 auto;
}

/*----------------------
	catch
----------------------*/
#catch {
  padding: 328px 0 115px;
  background-image: url(../img/catch_backgroundImage.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
}
#catch h2 {
  margin: 0 0 18px;
  text-align: center;
}
#catch p {
  margin: 0 0 22px;
  text-align: center;
}
#catch p:last-child {
  margin-bottom: 0;
}

/*----------------------
	feature
----------------------*/
#feature {
  margin: 0 0 20px;
}
#feature .m-trouble {
  position: relative;
  margin: 0 0 90px;
}
#feature .m-trouble .m-arrow {
  position: absolute;
  bottom: -52px;
  left: 0;
  right: 0;
  width: 251px;
  margin: 0 auto;
}
#feature h2 {
  margin: 0 0 99px;
  text-align: center;
}
#feature .l-bg {
  position: relative;
  padding: 50px 0;
  background-color: #ffffe3;
}
#feature .l-comment {
  position: absolute;
  top: -81px;
  left: 0;
  right: 0;
  width: 823px;
  margin: 0 auto;
}
#feature .l-comment p:first-child {
  margin: 0 0 6px;
}
#feature .l-trouble {
  position: relative;
  width: 860px;
  margin: 0 auto 135px;
  padding: 11px 0 37px;
  background-color: #a0b9c6;
}
#feature .l-trouble:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -81px;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  margin: 0 auto;
  border-style: solid;
  border-width: 81px 430px 0 430px;
  border-color: #a0b9c6 transparent transparent transparent;
}
#feature .l-trouble h3 {
  margin: 0 0 32px;
  padding: 0 0 0 76px;
}
#feature .l-trouble p {
  margin: 0 0 20px;
  text-align: center;
}
#feature .l-trouble p:last-child {
  margin-bottom: 0;
}
#feature .l-program h3 {
  margin: 0 0 16px;
  text-align: center;
}
#feature .l-program .m-img {
  margin: 0 0 31px;
}
#feature .l-program h4 {
  margin: 0 0 41px;
  text-align: center;
}
#feature .l-program .m-program-img {
  text-align: center;
}
#feature .l-schedule {
  padding: 45px 0 48px;
  background-image: url(../img/feature_schedule_backgroundPattern.png);
}
#feature .l-schedule .m-schedule-img {
  margin: 0 0 17px;
  text-align: center;
}
#feature .l-schedule .m-catch {
  text-align: center;
}

/* precss 共通 */
.bl_title {
  margin: 0 auto;

}
.el_btn {
  width: 640px;
  margin: 0 auto;
}
.bl_list {
  width: 510px;
  margin: 0 auto;
}

/*----------------------
	document
----------------------*/
.ly_document {
  background: url(../img/info_backgroundPattern.png) repeat;
  border-top: 4px solid #003988;
  border-bottom: 4px solid #003988;
  margin: 0 auto 200px;
  padding: 20px 0 40px;
}
.el_listItem {
  color: rgb(43, 43, 43);
  font-size: 20px;
  font-weight: bold;
  letter-spacing: .09em;
  padding: 10px 0;
  position: relative;
}
.el_listItem::before {
  content: url(../img/info_icon_check.png);
  margin-right: 20px;
  display: inline;
  vertical-align: middle;
}
.el_listItem__orange {
  color: #ff6108;
  font-weight: bold;
  letter-spacing: .09em;
}
.bl_list {
  margin-bottom: 30px;
}

/*----------------------
	course
----------------------*/
#course {
  padding: 0 0 31px;
  background-color: #cfe4e8;
}
#course h2 {
  position: relative;
  margin: 0 0 194px;
  padding: 109px 0 65px;
  background-color: #5ea5b4;
  text-align: center;
}
#course h2 span {
  position: absolute;
  left: 0;
  right: 0;
  top: -106px;
  width: 353px;
  margin: 0 auto;
}
#course h2:after {
  content: url(../img/course_title_image.png);
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -144px;
  width: 453px;
  height: 209px;
  margin: 0 auto;
}
#course .m-example-ttl {
  width: 600px;
  margin: 0 auto 27px;
  padding: 0 0 19px;
  border-bottom: 2px solid #003988;
  color: #003988;
  letter-spacing: 0.12em;
  text-align: center;
  font-size: 25px;
  font-weight: bold;
}
#course .l-example {
  margin: 0 auto 34px 120px;
}
#course .l-example li {
  padding: 0 0 0 30px;
  background-image: url(../img/course_icon_check.png);
  background-repeat: no-repeat;
  background-position: left center;
  letter-spacing: 0.08em;
  line-height: 2.5;
  font-size: 20px;
  font-weight: bold;
}
#course .m-feature-ttl {
  width: 896px;
  margin: 0 auto 29px;
  padding: 18px 0;
  background-color: #5ea5b4;
  color: #fff;
  text-align: center;
  letter-spacing: 0.12em;
  font-size: 25px;
}
#course .l-feature {
  width: 896px;
  margin: 0 auto;
}
#course .l-feature li {
  margin: 0 0 20px;
  padding: 47px 0 29px 37px;
  border-top: 4px solid #003988;
  background-image: url(../img/course_point_backgroundPattern.png);
}
#course .l-feature li .l-img-wrap {
  position: relative;
  padding: 32px 20px 20px;
  width: 400px;
  background-color: #fff;
}
#course .l-feature li .m-label {
  position: absolute;
  left: -37px;
  top: -17px;
  width: 160px;
  padding: 6px 0 5px;
  background-color: #003988;
  color: #fbe659;
  text-align: center;
  letter-spacing: 0.12em;
  font-size: 23px;
}
#course .l-feature li .m-text {
  margin: 0 0 19px;
  color: #003988;
  letter-spacing: 0.1em;
  line-height: 1.4;
  font-size: 18px;
  font-weight: bold;
}
#course .l-feature li .l-text-wrap {
  padding: 0 35px 0 28px;
}
#course .l-feature li .l-text-wrap p {
  margin: 0 0 1em;
  letter-spacing: 0.06em;
  line-height: 1.4444;
  font-size: 18px;
}
#course .l-feature li .l-text-wrap p span {
  font-weight: bold;
}
#course .js_slider2 .slick-dots li {
  border-top: unset;
}
#course .js_slider2 .slick-dots li {
  padding: unset;
  background-image: unset;
}
#course .slick-slide {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

/*----------------------
	level
----------------------*/
#level {
  margin: 0 0 50px;
  padding: 78px 0 0;
  border-top: 4px solid #003988;
}
#level h2 {
  margin: 0 0 30px;
}
#level p {
  padding: 14px 0;
  background-color: #003988;
  color: #fff;
  text-align: center;
  letter-spacing: 0.06em;
  font-size: 23px;
}

/*----------------------
	support
----------------------*/
.ly_support {
  padding: 50px 0;
}
.ly_support .bl_title {
  width: 527px;
  margin: 0 auto 42px;
  text-align: center;
}
.ly_support .bl_list {
  width: 920px;
  padding: 54px 100px 0;
  background-color: #d6f5fb;
}
.ly_support .bl_listItem {
  position: relative;
  margin: 0 0 33px;
  padding: 0 0 27px;
}
.ly_support .bl_listItem:after {
  content: url(../img/livingabroad_content_line.png);
  position: absolute;
  bottom: 0;
  left: -135px;
  right: 0;
  display: block;
  width: 985px;
  height: 7px;
  margin: 0 auto;
}
.ly_support .bl_listItem:last-child:after {
  content: none;
}
.ly_support .bl_listItem:last-child {
  text-align: right;
}
/*----------------------
	problem
----------------------*/
#problem {
  margin: 0 0 49px;
}
#problem .l-main {
  position: relative;
  padding: 16px 0 459px;
  background-image: url(../img/problem_backgroundPattern.png);
}
#problem .l-main h2 {
  margin: 0 0 32px;
  text-align: center;
}
#problem .l-main .l-example {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -55pxv;
  width: 848px;
  margin: 0 auto;
  padding: 30px 0;
  background-color: rgba(139, 188, 213, 0.5);
}
#problem .l-main .l-example:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -85px;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  margin: 0 auto;
  border-style: solid;
  border-width: 85px 424px 0 424px;
  border-color: rgba(139, 188, 213, 0.5) transparent transparent transparent;
}
#problem .l-main .l-example li {
  margin: 0 0 20px;
  text-align: center;
}
#problem .l-main .l-example li:last-child {
  margin-bottom: 0;
}
#problem .l-solution {
  padding: 104px 0 49px;
  background-color: #ffffe3;
}
#problem .l-solution h2 {
  margin: 0 0 27px;
}
#problem .l-solution .l-img-box {
  margin: 0 0 40px;
}
#problem .l-solution .m-catch {
  margin: 0 0 40px;
  text-align: center;
}
#problem .l-solution .m-answer {
  text-align: center;
}
#problem .l-summarize {
  padding: 43px 40px 70px;
  background-image: url(../img/problem_solution_summarize_backgroundImage.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
#problem .l-summarize h2 {
  margin: 0 0 307px;
}
#problem .l-summarize p {
  text-align: center;
}

/*----------------------
	voice
----------------------*/
#voice {
  padding-top: 80px;
}
#voice h2 {
  margin: 0 0 43px;
  text-align: center;
}
#voice .l-voice {
  padding: 60px 90px 0px;
  background-image: url(../img/voice_backgroundPattern.png);
}
#voice .l-voice li {
  margin: 0 0 30px;
  box-shadow: 2px 2px 10px -13px #cfe0e8;
  border-radius: 15px;
}
#voice .l-voice li:last-child {
  margin-bottom: 0;
}
#voice .l-voice li h3 {
  width: 485px;
  text-align: center;
}
#voice .l-voice li .l-text-wrap {
  padding: 20px 19px 30px;
  border-radius: 0 15px 15px 0;
  background-color: #fff;
  max-height: 300px;
}
#voice .l-voice li .l-text-wrap p {
  margin: 0 0 1em;
  letter-spacing: 0.08em;
  line-height: 1.7778;
  font-size: 18px;
}
#voice .l-voice li .l-text-wrap p:last-child {
  margin-bottom: 0;
}
#voice .l-voice li .l-text-wrap p span {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, #f7de36 60%);
  font-weight: bold;
}
#voice .bl_slideCard {
  display: flex;
  width: 800px;
}
#voice .js_slider2 .slick-slide {
  box-shadow: 0 3.064px 0px 0px rgba(160, 185, 198, 0.3);
  padding: unset;
}
#voice .js_slider2 .slick-dots {
  margin: 0 auto 30px;
  width: 120px;
}
#voice .js_slider2 .slick-dots li {
  margin-bottom: inherit;
}
#voice  .js_slider2 .slick-arrow.next-arrow {
  right: 20px;
}
#voice  .js_slider2 .slick-arrow.prev-arrow {
  left: 20px;
}

/*----------------------
	point
----------------------*/
#point {
  margin: 19px 0 0;
  padding: 43px 0 50px;
  background: linear-gradient(360deg, rgba(0, 0, 0, 0) 53%, #eaeaea 64%);
}
#point h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 -20px;
  text-align: center;
}
#point .l-main {
  position: relative;
  width: 920px;
  margin: 0 auto;
  padding: 122px 0 50px;
  background-color: #e2f0f7;
}
#point .l-main:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 90px 290px 0 290px;
  border-color: #eaeaea transparent transparent transparent;
}
#point .l-main .m-catch {
  margin: 0 0 -9px;
}
#point .l-main .m-catch span {
  display: block;
  text-align: center;
}
#point .l-main .m-catch span:first-child {
  margin: 0 0 -4px;
}
#point .l-main h3 {
  margin: 0 0 27px;
}
#point .l-main .l-point-box {
  width: 540px;
  margin: 0 auto 40px;
}
#point .l-main .m-sub-catch {
  text-align: center;
}

/*----------------------
	presentation
----------------------*/
#presentation {
  margin: 0 0 51px;
}
#presentation h2 {
  margin: 0 0 39px;
}
#presentation ol {
  width: 920px;
  margin: 0 auto 42px;
  padding: 0 0 60px;
  background-image: url(../img/presentation_cycle_backgroundImage.png);
  background-repeat: no-repeat;
  background-position: bottom center;
}
#presentation .m-sub-catch {
  margin: 0 0 26px;
  text-align: center;
}
#presentation .m-catch {
  text-align: center;
}

/*----------------------
	livingabroad
----------------------*/
#livingabroad {
  position: relative;
  margin: 30px auto;
  background-repeat: no-repeat;
  background-position: center top;
}
#livingabroad .m-sub-catch {
  position: absolute;
  z-index: 1;
  top: -96px;
  left: 0;
  right: 0;
  width: 260px;
  margin: 0 auto;
}
#livingabroad .m-catch {
  margin: 0 0 55px;
  padding: 326px 0 0;
  text-align: center;
}
#livingabroad h2 {
  margin: 0 0 42px;
  text-align: center;
}
#livingabroad ul {
  width: 1000px;
  margin: 0 auto;
  padding: 54px 100px 0;
  background-color: #d6f5fb;
}
#livingabroad ul li {
  position: relative;
  margin: 0 0 33px;
  padding: 0 0 50px;
}
#livingabroad ul li:after {
  content: url(../img/livingabroad_content_line.png);
  position: absolute;
  bottom: 0;
  left: -135px;
  right: 0;
  display: block;
  width: 985px;
  height: 7px;
  margin: 0 auto;
}
#livingabroad ul li:last-child:after {
  content: none;
}
.bl_textArea {
  margin-left: auto;
  width: 708px;
  height: 492px;
  
  padding: 340px 130px 0 80px;
  font-size: 18px;
  line-height: 1.778;
}
.el_solutionImage1 {
  background: url(../img/livingabroad_content01_solve.png);
}
.el_solutionImage2{
  background: url(../img/livingabroad_content02_solve.png);
}
.el_solutionImage3{
  background: url(../img/livingabroad_content03_solve.png);
}


/*----------------------
	price
----------------------*/
#price {
  margin: 0 0 40px;
  padding: 79px 0 0;
}
#price > h2 {
  margin: 0 0 39px;
  text-align: center;
}
#price .l-feature {
  width: 900px;
  margin: 0 auto 28px;
}
#price .l-feature li {
  margin: 0 0 25px;
}
#price .l-feature li:last-child {
  margin-bottom: 0;
}
#price .m-comment {
  width: 820px;
  margin: 0 auto 70px;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-size: 18px;
}
#price .l-type {
  width: 900px;
  margin: 0 auto 50px;
}
#price .l-type-price {
  text-align: center;
  margin-bottom: 39px;
}
#price .l-type li {
  position: relative;
  margin: 0 0 50px;
  padding: 61px 0 50px;
}
#price .l-type li.m-blue {
  background-color: #d2e5ff;
  padding-bottom: 0;
}
#price .l-type li.m-green {
  background-color: #cee8ed;
  padding-bottom: 0;
}
#price .l-type li:last-child {
  margin-bottom: 0;
}
#price .l-type li h3 {
  position: absolute;
  top: -26px;
  left: 0;
  right: 0;
  width: 900px;
  margin: 0 auto;
}
#price .l-type li .l-img-box {
  margin: 0 0 20px;
}
#price .l-type li .l-img-box p {
  margin: 0 0 0 -26px;
}
#price .l-type li .m-check {
  text-align: center;
}
.bl_imageSlider {
  width: 780px;
  margin: 0 auto;
  padding-top: 30px;
}
.bl_imageSlider_info {
  position: relative;
}
.bl_imageSlider_text {
  padding-top: 40px;
  position: relative;
  z-index: +1;
}
.bl_sliderArea {
  width: 470px;
  margin-left: 365px;
  margin-top: -175px;
}
.bl_sliderArea::before {
  content: "";
  width: 413px;
  height: 247px;
  border: 2px solid #f5f5f5;
  position: absolute;
  z-index: 0;
  left: -45px;
  top: 10px;
}
.js_slider_price .slick-arrow {
  position: absolute;
  top: 200px;
  z-index: 98;
  cursor: pointer;
  left: 0;
}
.js_slider_price .slick-arrow.prev-arrow {
  left: -250px;
}
.js_slider_price .slick-arrow.next-arrow {
  left: -150px;
  transform: scale(-1, 1);
}
#price .js_slider_price .slick-slide{
  padding: 30px 0 0;
}
.bl_imageSlider .num {
  position: absolute;
  left: 170px;
  top: 208px;
  bottom: 0;
  font-size: 20px;
  font-family: "Meiryo";
  color: rgb(56, 56, 56);
}
#price .l-price-search {
  width: 787px;
  margin: 0 auto 15px;
  padding: 40px 40px;
  border: 4px solid #cacab5;
}
#price .l-price-search h2 {
  margin: 0 0 40px;
}
#price .l-price-search h2 img {
  width: 100%;
}
#price .l-price-search dl {
  width: 540px;
  margin: 0 auto 35px;
}
#price .l-price-search dl:last-of-type {
  margin-bottom: 20px;
}
#price .l-price-search dl dt {
  margin: 0 0 13px;
}
#price .l-price-search dl dt label {
  letter-spacing: 0.15em;
  font-size: 23px;
}
#price .l-price-search dl dd select, #price .l-price-search dl dd span {
  display: block;
  appearance: none;
  width: 100%;
  padding: 19px 0 19px 33px;
  border: none;
  background-color: #f6f6e4;
  letter-spacing: 0.12em;
  font-size: 22px;
}
#price .l-price-search dl dd.m-selectBox {
  position: relative;
}
#price .l-price-search dl dd.m-selectBox:after {
  content: "";
  display: block;
  position: absolute;
  right: 30px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 13px 7.5px 0 7.5px;
  border-color: #383838 transparent transparent transparent;
}
#price .l-price-search p {
  margin: 0 0 40px;
  text-align: center;
  letter-spacing: 0.04em;
  font-size: 18px;
}
#price .l-price-search .search-btn {
  display: block;
  width: 446px;
  margin: 0 auto;
  padding: 6px 0;
  border: none;
  border-radius: 20px;
  background-color: #ff6108;
  color: #fff;
  text-align: center;
  font-size: 25px;
}
#price .m-search-comment {
  width: 703px;
  margin: 0 auto 44px;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-size: 16px;
}
#price .l-result-wrap {
  padding: 40px 43px 16px;
  background-color: #e3f3f5;
}
#price .l-result-wrap li {
  margin: 0 0 17px;
  padding: 22px 15px;
  background-color: #fff;
}
#price .l-result-wrap li.num-2 {
  display: none;
}
#price .l-result-wrap li figure {
  margin: 0 0 8px;
}
#price .l-result-wrap li dt {
  margin: 0 0 17px;
  text-align: center;
  font-size: 18px;
}
#price .l-result-wrap li dt span {
  display: inline-block;
  margin: 0 0 0 1em;
  font-size: 24px;
  font-weight: bold;
}
#price .l-result-wrap li dd {
  color: #ff6108;
  text-align: center;
  font-size: 26px;
}
#price .l-result-wrap li dd .m-price {
  display: none;
}
#price .l-result-wrap li dd .m-price.is-active {
  display: block;
}
#price .l-result-wrap li dd .m-price-label {
  font-size: 21px;
}
#price .l-result-wrap li dd .m-tax-label {
  font-size: 14px;
}
#pric .el_environment {
  margin: 0 auto;
}

/*----------------------
	price
----------------------*/
#flow {
  margin: 0 0 49px;
  padding: 80px 0 0;
}
#flow h2 {
  margin: 0 0 61px;
  text-align: center;
}
#flow ol li {
  margin: 0 0 30px;
  padding: 0 0 101px;
  background-image: url(../img/flow_line.png);
  background-repeat: no-repeat;
  background-position: center bottom;
}
#flow ol li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  background: none;
}
#flow ol li .l-main {
  position: relative;
  width: 936px;
  margin: 0 auto;
  padding: 112px 0 36px;
  background-color: #e4edef;
}
#flow ol li .l-main h3 {
  position: absolute;
  top: -31px;
  left: 0;
}
#flow ol li .l-main figure {
  margin: 0 0 28px;
  text-align: center;
}
#flow ol li .l-main .l-text-wrap {
  width: 788px;
  margin: 0 auto;
}
#flow ol li .l-main .l-text-wrap p {
  margin: 0 0 1.4em;
  line-height: 1.4444;
  letter-spacing: 0.1em;
  font-size: 18px;
}
#flow ol li .l-main .l-text-wrap p:last-child {
  margin-bottom: 0;
}
#flow ol li .l-main .l-text-wrap p span {
  color: #0a418d;
  font-weight: bold;
}
#flow ol li .l-main .l-point-wrap {
  width: 804px;
  margin: 40px auto;
  padding: 30px 90px;
  background-color: #fff;
}
#flow ol li .l-main .l-point-wrap h4 {
  width: 479px;
  margin: 0 auto 40px;
  padding: 16px 0;
  border-radius: 20px;
  background-color: #ff6108;
  color: #fff;
  text-align: center;
  font-size: 23px;
  font-weight: bold;
}
#flow ol li .l-main .l-point-wrap p {
  margin: 0 0 1.4em;
  line-height: 1.4444;
  letter-spacing: 0.1em;
  font-size: 18px;
}
#flow ol li .l-main .l-point-wrap p span {
  color: #ff6108;
  font-weight: bold;
}
#flow ol li .l-main .l-list-wrap {
  width: 804px;
  margin: 0 auto;
}
#flow ol li .l-main .l-list-wrap button {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 0 20px;
  padding: 13px 0 13px 83px;
  border: none;
  background-color: #003988;
  color: #fff;
  text-align: left;
  font-size: 23px;
  font-weight: bold;
}
#flow ol li .l-main .l-list-wrap button:after {
  content: "+";
  display: block;
  position: absolute;
  right: 44px;
  top: 50%;
  transform: translateY(-50%);
}
#flow ol li .l-main .l-list-wrap button.is-active:after {
  content: "-";
}
#flow ol li .l-main .l-list-wrap .l-text-wrap {
  display: none;
  width: 100%;
  padding: 42px 82px 50px;
  background-color: #fff;
}
#flow ol li .l-main .l-list-wrap .l-text-wrap dl {
  margin: 0 0 1.444em;
}
#flow ol li .l-main .l-list-wrap .l-text-wrap dt {
  line-height: 1.444;
  font-weight: bold;
  font-size: 18px;
}
#flow ol li .l-main .l-list-wrap .l-text-wrap dd {
  line-height: 1.444;
  font-size: 18px;
}
#flow ol li .l-main .l-list-wrap .l-text-wrap .m-comment {
  margin: 100px 0 29px;
  font-size: 16px;
}
#flow ol li .l-main .l-list-wrap .l-text-wrap .m-catch {
  width: 520px;
  margin: 0 auto;
  padding: 27px 0;
  background-color: #ffdd50;
  text-align: center;
  font-weight: bold;
  font-size: 22px;
}
#flow ol li .info {
  margin-top: 30px;
  border-bottom: 4px solid #003988;
}

/*----------------------
	faq
----------------------*/
#faq {
  margin: 0 0 91px;
}
#faq h2 {
  margin: 0 0 40px;
  text-align: center;
}
#faq .l-sec {
  width: 804px;
  margin: 0 auto 40px;
  position: relative;
}
#faq .l-sec button {
  position: relative;
  width: 100%;
  margin: 0 0 30px;
  padding: 20px 0;
  border: none;
  background-color: #003988;
}
#faq .l-sec:after,
#faq .l-sec button:before,
#faq .l-sec button:after {
  content: "";
  display: block;
  position: absolute;
}
#faq .l-sec:after {
  right: 51px;
  top: 45px;
  width: 34px;
  height: 34px;
  margin: auto 0;
  border-radius: 50%;
  background-color: #f7de36;
}
#faq .l-sec button:before,
#faq .l-sec button:after {
  top: 50%;
  right: 59px;
  width: 18px;
  height: 2.5px;
  background-color: #003988;
  z-index: 1;
  margin-top: 2px;
}
#faq .l-sec button:before {
  transform: translateY(-50%)rotate(90deg);
}
#faq .l-sec button:after {
  transform: translateY(-50%);
}
#faq .l-sec button.is-active:before {
  opacity: 0;
}
#faq .l-sec button .m-icon {
  margin: 0 139px 0 0;
}
#faq .l-sec button .m-ttl {
  color: #fff;
  letter-spacing: 0.08em;
  font-size: 23px;
  font-weight: bold;
}
#faq .l-sec button + div {
  display: none;
}
#faq .l-sec dl {
  margin: 0 0 20px;
}
#faq .l-sec dl:last-child {
  margin-bottom: 0;
}
#faq .l-sec dl dt {
  padding: 20px 0 16px 22px;
  border-top: 2px solid #9dc4c1;
  background-color: #cfe3e4;
  letter-spacing: 0.08em;
  font-size: 23px;
  font-weight: bold;
}
#faq .l-sec dl dd {
  padding: 18px 41px 34px;
  border-bottom: 2px solid #9dc4c1;
  background-color: #f6f6f6;
}
#faq .l-sec dl dd p {
  margin: 0 0 1.5em;
  letter-spacing: 0.08em;
  line-height: 1.5556;
  font-size: 18px;
}
#faq .l-sec dl dd p:last-child {
  margin-bottom: 0;
}
#faq .l-catch {
  margin: 49px 0 0;
}
#faq .l-catch h3 {
  margin: 0 0 19px;
  text-align: center;
}
#faq .l-catch p {
  text-align: center;
}

#faq + .info {
  position: relative;
  padding-top: 70px;
  background-image: url(../img/info_backgroundPattern.png);
}
#faq + .info .l-sub-catch {
  position: absolute;
  top: -50px;
  left: 0;
  right: 0;
  width: 580px;
  margin: 0 auto;
}

.info .bl_contArea .bl_title {
  width: 380px;
  margin-bottom: 20px;
}
.info .bl_contArea .bl_list {
  width: 860px;
  height: 225px;
  background: url(../img/faq_info_caption_documentrequest04.png) no-repeat top center/auto;
  padding-top: 40px;
  padding-left: 140px;
}

/*----------------------
	fixed
----------------------*/
#fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  padding: 10px 0 14px;
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
}

/*----------------------
	footer
----------------------*/
footer figure {
  margin: 0 0 56px;
}
footer h2 {
  color: #003988;
  letter-spacing: 0.06em;
  font-size: 22px;
}
footer h2 span {
  margin: 0 13px 0;
}
footer small {
  display: block;
  padding: 28px 0;
  border-top: 2px solid #9ec1c8;
  text-align: center;
  letter-spacing: 0.04em;
  font-size: 18px;
}
